diff options
author | Adnan Begovic <adnan@cyngn.com> | 2015-04-23 23:16:27 -0700 |
---|---|---|
committer | Adnan Begovic <adnan@cyngn.com> | 2015-04-26 16:55:08 -0700 |
commit | aa8614e39b90c0d9cc2d86777d28c691773d9dae (patch) | |
tree | a6b998d9637dfc722c1dc16dfe66560673d675fb /Android.mk | |
parent | 42e54529ed9eec71d40c1bc6b8c2409766a95f64 (diff) | |
download | vendor_cmsdk-aa8614e39b90c0d9cc2d86777d28c691773d9dae.tar.gz vendor_cmsdk-aa8614e39b90c0d9cc2d86777d28c691773d9dae.tar.bz2 vendor_cmsdk-aa8614e39b90c0d9cc2d86777d28c691773d9dae.zip |
CMSDK: Create Quick Settings Tile API.
Create a simple CustomTile object with builder which lets a 3rd party
application publish a quick settings tile to the status bar panel.
An example CustomTile build:
CustomTile customTile = new CustomTile.Builder(mContext)
.setLabel("custom label")
.setContentDescription("custom description")
.setOnClickIntent(pendingIntent)
.setOnClickUri(Uri.parse("custom uri"))
.setIcon(R.drawable.ic_launcher)
.build();
Which can be published to the status bar panel via CMStatusBarManager#publishTile.
The CustomTile contains a click intent and click uri which can be
sent or broadcasted when the CustomQSTile's handleClick is fired.
This implementation closely mirrors that of NotificationManager#notify for
notifications. In that each CMStatusBarManager#publishTile can have an appended
id which can be kept by the 3rd party application to either update the tile with,
or to remove the tile via CMStatusBarManager#removeTile.
Change-Id: I4b8a50e4e53ef2ececc9c7fc9c8d0ec6acfd0c0e
Diffstat (limited to 'Android.mk')
-rw-r--r-- | Android.mk | 131 |
1 files changed, 131 insertions, 0 deletions
diff --git a/Android.mk b/Android.mk new file mode 100644 index 0000000..fd47e87 --- /dev/null +++ b/Android.mk @@ -0,0 +1,131 @@ +# Copyright (C) 2015 The CyanogenMod Project +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +LOCAL_PATH := $(call my-dir) + +# The CyanogenMod Platform Framework Library +# ============================================================ +include $(CLEAR_VARS) + +cyanogenmod_app_src := src/java/ +library_src := cm/lib/java/org/cyanogenmod/platform/internal + +LOCAL_MODULE := org.cyanogenmod.platform +LOCAL_MODULE_TAGS := optional +LOCAL_JAVA_LIBRARIES := services +LOCAL_REQUIRED_MODULES := services + +LOCAL_SRC_FILES := \ + $(call all-java-files-under, $(cyanogenmod_app_src)) \ + $(call all-java-files-under, $(library_src)) + +## READ ME: ######################################################## +## +## When updating this list of aidl files, consider if that aidl is +## part of the SDK API. If it is, also add it to the list below that +## is preprocessed and distributed with the SDK. This list should +## not contain any aidl files for parcelables, but the one below should +## if you intend for 3rd parties to be able to send those objects +## across process boundaries. +## +## READ ME: ######################################################## +LOCAL_SRC_FILES += \ + $(call all-Iaidl-files-under, $(cyanogemod_app_src)) + +# Include aidl files from cyanogenmod.app namespace as well as internal src aidl files +LOCAL_AIDL_INCLUDES := $(LOCAL_PATH)/src/java + +include $(BUILD_JAVA_LIBRARY) +framework_module := $(LOCAL_INSTALLED_MODULE) + +cm_framework_built := $(call java-lib-deps, org.cyanogenmod.platform) + +# ==== org.cyanogenmod.platform.xml lib def ======================== +include $(CLEAR_VARS) + +LOCAL_MODULE := org.cyanogenmod.platform.xml +LOCAL_MODULE_TAGS := optional + +LOCAL_MODULE_CLASS := ETC + +# This will install the file in /system/etc/permissions +LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/permissions + +LOCAL_SRC_FILES := $(LOCAL_MODULE) + +include $(BUILD_PREBUILT) + +# the sdk +# ============================================================ +include $(CLEAR_VARS) + +LOCAL_MODULE:= org.cyanogenmod.platform.sdk +LOCAL_MODULE_TAGS := optional +LOCAL_REQUIRED_MODULES := services + +LOCAL_SRC_FILES := \ + $(call all-java-files-under, $(cyanogenmod_app_src)) \ + $(call all-Iaidl-files-under, $(cyanogenmod_app_src)) + +# Included aidl files from cyanogenmod.app namespace +LOCAL_AIDL_INCLUDES := $(LOCAL_PATH)/src/java + +$(full_target): $(cm_framework_built) $(gen) +include $(BUILD_STATIC_JAVA_LIBRARY) + +# =========================================================== +# Common Droiddoc vars +cmplat.docs.src_files := \ + $(call all-java-files-under, $(cyanogenmod_app_src)) \ + $(call all-html-files-under, $(cyanogenmod_app_src)) +cmplat.docs.java_libraries := \ + org.cyanogenmod.platform.sdk + +# Documentation +# =========================================================== +include $(CLEAR_VARS) + +LOCAL_MODULE := org.cyanogenmod.platform.sdk +LOCAL_MODULE_CLASS := JAVA_LIBRARIES +LOCAL_MODULE_TAGS := optional + +intermediates.COMMON := $(call intermediates-dir-for,$(LOCAL_MODULE_CLASS), org.cyanogenmod.platform.sdk,,COMMON) + +LOCAL_SRC_FILES := $(cmplat.docs.src_files) +LOCAL_ADDITONAL_JAVA_DIR := $(intermediates.COMMON)/src + +LOCAL_SDK_VERSION := 21 +LOCAL_IS_HOST_MODULE := false +LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR := build/tools/droiddoc/templates-sdk +LOCAL_ADDITIONAL_DEPENDENCIES := \ + services + +LOCAL_JAVA_LIBRARIES := $(cmplat.docs.java_libraries) + +LOCAL_DROIDDOC_OPTIONS := \ + -offlinemode \ + -hdf android.whichdoc offline \ + -federate Android http://developer.android.com \ + -federationapi Android prebuilts/sdk/api/21.txt + +$(full_target): $(cm_framework_built) $(gen) +include $(BUILD_DROIDDOC) + +# Cleanup temp vars +# =========================================================== +cmplat.docs.src_files := +cmplat.docs.java_libraries := +intermediates.COMMON := + +include $(call all-makefiles-under, $(LOCAL_PATH)) |