This CL provides the initial, skeleton implementation of the Auto-Fill Framework classes: - Defines the system service and app-based AIDL (IAutoFillManagerService.aidl and IAutoFillService.aidl respectively). - Defines the 'adb shell cmd' interface. - Defines the permission required to access the service. - Registers the service on SystemServer. - Adds the code to bind the app-specified service to system_server. - Defines the service class (AutoFillService) required by providers. - Implements the initial startSession() method. This is still a very early, "work-in-progress" change: - It has many TODOs. - It does not have unit or CTS tests yet. - It does not provide a callback method to auto-fill the fields. - In fact, it has a lot of TODOs. Despite these adversities, it can be tested by following the steps below: 1.Create an app with a service extending AutoFillService 2.Implement the onNewSession() method 3.In the manifest: - Listen to android.service.autofill.AutoFillService intents. - Require the android.permission.BIND_AUTO_FILL permission. 4.Explicitly set the app as an autofill-service by running: adb shell settings put secure auto_fill_service MY_APP/.MY_SERVICE 5.Start a session against the top activity: adb shell cmd autofill start session BUG: 31001899 Test: manually built and ran it Change-Id: I00f4822159b31ddddba8f513e57c4474bc74eb89
72 lines
1.8 KiB
Makefile
72 lines
1.8 KiB
Makefile
LOCAL_PATH:= $(call my-dir)
|
|
|
|
# merge all required services into one jar
|
|
# ============================================================
|
|
include $(CLEAR_VARS)
|
|
|
|
LOCAL_MODULE := services
|
|
|
|
LOCAL_SRC_FILES := $(call all-java-files-under,java)
|
|
|
|
# EventLogTags files.
|
|
LOCAL_SRC_FILES += \
|
|
core/java/com/android/server/EventLogTags.logtags
|
|
|
|
# Uncomment to enable output of certain warnings (deprecated, unchecked)
|
|
# LOCAL_JAVACFLAGS := -Xlint
|
|
|
|
# Services that will be built as part of services.jar
|
|
# These should map to directory names relative to this
|
|
# Android.mk.
|
|
services := \
|
|
core \
|
|
accessibility \
|
|
appwidget \
|
|
autofill \
|
|
backup \
|
|
devicepolicy \
|
|
midi \
|
|
net \
|
|
print \
|
|
restrictions \
|
|
retaildemo \
|
|
usage \
|
|
usb \
|
|
voiceinteraction
|
|
|
|
# The convention is to name each service module 'services.$(module_name)'
|
|
LOCAL_STATIC_JAVA_LIBRARIES := $(addprefix services.,$(services))
|
|
|
|
include $(BUILD_JAVA_LIBRARY)
|
|
|
|
# native library
|
|
# =============================================================
|
|
|
|
include $(CLEAR_VARS)
|
|
|
|
LOCAL_SRC_FILES :=
|
|
LOCAL_SHARED_LIBRARIES :=
|
|
|
|
# include all the jni subdirs to collect their sources
|
|
include $(wildcard $(LOCAL_PATH)/*/jni/Android.mk)
|
|
|
|
LOCAL_CFLAGS += -DEGL_EGLEXT_PROTOTYPES -DGL_GLEXT_PROTOTYPES
|
|
|
|
LOCAL_MODULE:= libandroid_servers
|
|
|
|
include $(BUILD_SHARED_LIBRARY)
|
|
|
|
# =============================================================
|
|
|
|
ifeq (,$(ONE_SHOT_MAKEFILE))
|
|
# A full make is happening, so make everything.
|
|
include $(call all-makefiles-under,$(LOCAL_PATH))
|
|
else
|
|
# If we ran an mm[m] command, we still want to build the individual
|
|
# services that we depend on. This differs from the above condition
|
|
# by only including service makefiles and not any tests or other
|
|
# modules.
|
|
include $(patsubst %,$(LOCAL_PATH)/%/Android.mk,$(services))
|
|
endif
|
|
|