DO NOT MERGE - Merge pie-platform-release (PPRL.181205.001) into master
Bug: 120502534
Change-Id: Ia67bedf5ff0b2e0aedaa38439dc7215a47d6833e
diff --git a/Android.mk b/Android.mk
index 04f8004..8b1efbf 100644
--- a/Android.mk
+++ b/Android.mk
@@ -12,21 +12,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
-#
-
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
-CAR_API_CHECK := $(LOCAL_PATH)/apicheck.mk
-api_check_current_msg_file := $(LOCAL_PATH)/apicheck_msg_current.txt
-api_check_last_msg_file := $(LOCAL_PATH)/apicheck_msg_last.txt
-
-.PHONY: update-car-api
-
# Include the sub-makefiles
include $(call all-makefiles-under,$(LOCAL_PATH))
-
-# Clear out variables
-CAR_API_CHECK :=
-api_check_current_msg_file :=
-api_check_last_msg_file :=
diff --git a/apicheck.mk b/apicheck.mk
deleted file mode 100644
index b87c7d2..0000000
--- a/apicheck.mk
+++ /dev/null
@@ -1,286 +0,0 @@
-# Copyright (C) 2016 The Android Open Source 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.
-
-#
-# Input variables
-#
-# $(car_module) - name of the car library module
-# $(car_module_api_dir) - dir to store API files
-# $(car_module_include_systemapi) - if systemApi file should be generated
-# $(car_module_proguard_file) - where to output the proguard file, if empty no file will be produced
-# $(car_module_java_libraries) - dependent libraries
-# $(car_module_java_packages) - list of package names containing public classes
-# $(car_module_src_files) - list of source files
-# $(api_check_current_msg_file) - file containing error message for current API check
-# $(api_check_last_msg_file) - file containing error message for last SDK API check
-# ---------------------------------------------
-
-ifeq ($(BOARD_IS_AUTOMOTIVE), true)
-ifneq ($(TARGET_BUILD_PDK), true)
-#
-# Generate the public stub source files
-# ---------------------------------------------
-include $(CLEAR_VARS)
-
-car_module_api_file := \
- $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/$(car_module)_api.txt
-car_module_removed_file := \
- $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/$(car_module)_removed.txt
-
-LOCAL_MODULE := $(car_module)-stubs
-LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_SRC_FILES := $(car_module_src_files)
-LOCAL_JAVA_LIBRARIES := $(car_module_java_libraries) $(car_module)
-LOCAL_ADDITIONAL_JAVA_DIR := \
- $(call intermediates-dir-for,$(LOCAL_MODULE_CLASS),$(car_module),,COMMON)/src
-LOCAL_SDK_VERSION := $(CAR_CURRENT_SDK_VERSION)
-
-LOCAL_DROIDDOC_STUB_OUT_DIR := $(TARGET_OUT_COMMON_INTERMEDIATES)/$(LOCAL_MODULE_CLASS)/$(LOCAL_MODULE)_intermediates/src
-
-LOCAL_DROIDDOC_OPTIONS:= \
- -stubpackages "$(subst $(space),:,$(car_module_java_packages))" \
- -api $(car_module_api_file) \
- -removedApi $(car_module_removed_file) \
- -nodocs \
- -hide 113 \
- -hide 110
-LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR := external/doclava/res/assets/templates-sdk
-LOCAL_UNINSTALLABLE_MODULE := true
-
-include $(BUILD_DROIDDOC)
-car_stub_stamp := $(full_target)
-$(car_module_api_file) : $(full_target)
-
-ifeq ($(car_module_include_systemapi), true)
-#
-# Generate the system stub source files
-# ---------------------------------------------
-include $(CLEAR_VARS)
-
-car_module_system_api_file := \
- $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/$(car_module)_system_api.txt
-car_module_system_removed_file := \
- $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/$(car_module)_system_removed.txt
-
-LOCAL_MODULE := $(car_module)-system-stubs
-LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_SRC_FILES := $(car_module_src_files)
-LOCAL_JAVA_LIBRARIES := $(car_module_java_libraries) $(car_module)
-LOCAL_ADDITIONAL_JAVA_DIR := \
- $(call intermediates-dir-for,$(LOCAL_MODULE_CLASS),$(car_module),,COMMON)/src
-LOCAL_SDK_VERSION := $(CAR_CURRENT_SDK_VERSION)
-
-LOCAL_DROIDDOC_STUB_OUT_DIR := $(TARGET_OUT_COMMON_INTERMEDIATES)/$(LOCAL_MODULE_CLASS)/$(LOCAL_MODULE)_intermediates/src
-
-LOCAL_DROIDDOC_OPTIONS:= \
- -stubpackages "$(subst $(space),:,$(car_module_java_packages))" \
- -showAnnotation android.annotation.SystemApi \
- -api $(car_module_system_api_file) \
- -removedApi $(car_module_system_removed_file) \
- -nodocs \
- -hide 113 \
- -hide 110
-LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR := external/doclava/res/assets/templates-sdk
-LOCAL_UNINSTALLABLE_MODULE := true
-
-include $(BUILD_DROIDDOC)
-car_system_stub_stamp := $(full_target)
-$(car_module_system_api_file) : $(full_target)
-
-#($(car_module_include_systemapi), true)
-endif
-
-
-ifneq ($(strip $(car_module_proguard_file)),)
-#
-# Generate a proguard files
-# ---------------------------------------------
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := $(car_module)-proguard
-LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_SRC_FILES := $(car_module_src_files)
-LOCAL_JAVA_LIBRARIES := $(car_module_java_libraries) $(car_module)
-LOCAL_ADDITIONAL_JAVA_DIR := \
- $(call intermediates-dir-for,$(LOCAL_MODULE_CLASS),$(car_module),,COMMON)/src
-LOCAL_SDK_VERSION := $(CAR_CURRENT_SDK_VERSION)
-
-docs_proguard_intermediates_output := $(call intermediates-dir-for,$(LOCAL_MODULE_CLASS),$(LOCAL_MODULE),,COMMON)/keep_list.proguard
-LOCAL_DROIDDOC_OPTIONS := -proguard $(docs_proguard_intermediates_output)
-
-include $(BUILD_DROIDDOC)
-
-update-car-api: PRIVATE_PROGUARD_INTERMEDIATES_OUTPUT := $(docs_proguard_intermediates_output)
-update-car-api: PRIVATE_PROGUARD_OUTPUT_FILE := $(car_module_proguard_file)
-update-car-api: PRIVATE_CAR_MODULE := $(car_module)
-update-car-api: $(car_module)-proguard-docs | $(ACP)
- @echo $(PRIVATE_CAR_MODULE) copying $(PRIVATE_PROGUARD_INTERMEDIATES_OUTPUT) to $(PRIVATE_PROGUARD_OUTPUT_FILE)
- $(hide) $(ACP) $(PRIVATE_PROGUARD_INTERMEDIATES_OUTPUT) $(PRIVATE_PROGUARD_OUTPUT_FILE)
-
-# cleanup vars
-docs_proguard_output :=
-# ($(strip $(car_module_proguard_file)),)
-endif
-
-
-#
-# Check public API
-# ---------------------------------------------
-.PHONY: $(car_module)-check-public-api
-checkapi: $(car_module)-check-public-api
-$(car_module): $(car_module)-check-public-api
-
-last_released_sdk_$(car_module) := $(lastword $(call numerically_sort, \
- $(filter-out current, \
- $(patsubst $(car_module_api_dir)/%.txt,%, $(wildcard $(car_module_api_dir)/*.txt)) \
- )))
-
-# Check that the API we're building hasn't broken the last-released SDK version
-# if it exists
-ifneq ($(last_released_sdk_$(car_module)),)
-$(eval $(call check-api, \
- $(car_module)-checkapi-last, \
- $(car_module_api_dir)/$(last_released_sdk_$(car_module)).txt, \
- $(car_module_api_file), \
- $(car_module_api_dir)/removed.txt, \
- $(car_module_removed_file), \
- -hide 2 -hide 3 -hide 4 -hide 5 -hide 6 -hide 24 -hide 25 -hide 26 -hide 27 \
- -warning 7 -warning 8 -warning 9 -warning 10 -warning 11 -warning 12 \
- -warning 13 -warning 14 -warning 15 -warning 16 -warning 17 -warning 18 -hide 113, \
- cat $(api_check_last_msg_file), \
- $(car_module)-check-public-api, \
- $(car_stub_stamp)))
-endif
-
-# Check that the API we're building hasn't changed from the not-yet-released
-# SDK version.
-$(eval $(call check-api, \
- $(car_module)-checkapi-current, \
- $(car_module_api_dir)/current.txt, \
- $(car_module_api_file), \
- $(car_module_api_dir)/removed.txt, \
- $(car_module_removed_file), \
- -error 2 -error 3 -error 4 -error 5 -error 6 -error 7 -error 8 -error 9 -error 10 -error 11 \
- -error 12 -error 13 -error 14 -error 15 -error 16 -error 17 -error 18 -error 19 -error 20 \
- -error 21 -error 23 -error 24 -error 25 -hide 113, \
- cat $(api_check_current_msg_file), \
- $(car_module)-check-public-api, \
- $(car_stub_stamp)))
-
-.PHONY: update-$(car_module)-api
-update-$(car_module)-api: PRIVATE_API_DIR := $(car_module_api_dir)
-update-$(car_module)-api: PRIVATE_MODULE := $(car_module)
-update-$(car_module)-api: PRIVATE_REMOVED_API_FILE := $(car_module_removed_file)
-update-$(car_module)-api: PRIVATE_PROGUARD_FILE := $(car_module_proguard_file)
-update-$(car_module)-api: $(car_module_api_file) | $(ACP)
- @echo Copying $(PRIVATE_MODULE) current.txt
- $(hide) $(ACP) $< $(PRIVATE_API_DIR)/current.txt
- @echo Copying $(PRIVATE_MODULE) removed.txt
- $(hide) $(ACP) $(PRIVATE_REMOVED_API_FILE) $(PRIVATE_API_DIR)/removed.txt
-
-# Run this update API task on the update-car-api task
-update-car-api: update-$(car_module)-api
-
-ifeq ($(car_module_include_systemapi), true)
-
-#
-# Check system API
-# ---------------------------------------------
-.PHONY: $(car_module)-check-system-api
-checkapi: $(car_module)-check-system-api
-$(car_module): $(car_module)-check-system-api
-
-last_released_system_sdk_$(car_module) := $(lastword $(call numerically_sort, \
- $(filter-out system-current, \
- $(patsubst $(car_module_api_dir)/%.txt,%, $(wildcard $(car_module_api_dir)/system-*.txt)) \
- )))
-
-# Check that the API we're building hasn't broken the last-released SDK version
-# if it exists
-ifneq ($(last_released_system_sdk_$(car_module)),)
-$(eval $(call check-api, \
- $(car_module)-checksystemapi-last, \
- $(car_module_api_dir)/$(last_released_system_sdk_$(car_module)).txt, \
- $(car_module_system_api_file), \
- $(car_module_api_dir)/system-removed.txt, \
- $(car_module_system_removed_file), \
- -hide 2 -hide 3 -hide 4 -hide 5 -hide 6 -hide 24 -hide 25 -hide 26 -hide 27 \
- -warning 7 -warning 8 -warning 9 -warning 10 -warning 11 -warning 12 \
- -warning 13 -warning 14 -warning 15 -warning 16 -warning 17 -warning 18 -hide 113, \
- cat $(api_check_last_msg_file), \
- $(car_module)-check-system-api, \
- $(car_system_stub_stamp)))
-endif
-
-# Check that the API we're building hasn't changed from the not-yet-released
-# SDK version.
-$(eval $(call check-api, \
- $(car_module)-checksystemapi-current, \
- $(car_module_api_dir)/system-current.txt, \
- $(car_module_system_api_file), \
- $(car_module_api_dir)/system-removed.txt, \
- $(car_module_system_removed_file), \
- -error 2 -error 3 -error 4 -error 5 -error 6 -error 7 -error 8 -error 9 -error 10 -error 11 \
- -error 12 -error 13 -error 14 -error 15 -error 16 -error 17 -error 18 -error 19 -error 20 \
- -error 21 -error 23 -error 24 -error 25 -hide 113, \
- cat $(api_check_current_msg_file), \
- $(car_module)-check-system-api, \
- $(car_stub_stamp)))
-
-.PHONY: update-$(car_module)-system-api
-update-$(car_module)-system-api: PRIVATE_API_DIR := $(car_module_api_dir)
-update-$(car_module)-system-api: PRIVATE_MODULE := $(car_module)
-update-$(car_module)-system-api: PRIVATE_REMOVED_API_FILE := $(car_module_system_removed_file)
-update-$(car_module)-system-api: PRIVATE_PROGUARD_FILE := $(car_module_proguard_file)
-update-$(car_module)-system-api: $(car_module_system_api_file) | $(ACP)
- @echo Copying $(PRIVATE_MODULE) system-current.txt
- $(hide) $(ACP) $< $(PRIVATE_API_DIR)/system-current.txt
- @echo Copying $(PRIVATE_MODULE) system-removed.txt
- $(hide) $(ACP) $(PRIVATE_REMOVED_API_FILE) $(PRIVATE_API_DIR)/system-removed.txt
-
-# Run this update API task on the update-car-api task
-update-car-api: update-$(car_module)-system-api
-
-
-
-#($(car_module_include_systemapi), true)
-endif
-
-#($(TARGET_BUILD_PDK),true)
-endif
-
-#($(BOARD_IS_AUTOMOTIVE), true)
-endif
-#
-# Clear variables
-# ---------------------------------------------
-car_module :=
-car_module_api_dir :=
-car_module_src_files :=
-car_module_java_libraries :=
-car_module_java_packages :=
-car_module_api_file :=
-car_module_removed_file :=
-car_module_system_api_file :=
-car_module_system_removed__file :=
-car_stub_stamp :=
-car_system_stub_stamp :=
-car_module_include_systemapi :=
-car_module_proguard_file :=
diff --git a/apicheck_msg_current.txt b/apicheck_msg_current.txt
deleted file mode 100644
index fa3598f..0000000
--- a/apicheck_msg_current.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-
-******************************
-You have tried to change a car library API from what has been previously approved.
-
-To make these errors go away, you have two choices:
- 1) You can add "@hide" javadoc comments to the methods, etc. listed in the
- errors above.
-
- 2) You can update current.txt by executing the following command:
- make update-car-api
-
- To submit the revised current.txt to the main Android repository,
- you will need approval.
-******************************
diff --git a/apicheck_msg_last.txt b/apicheck_msg_last.txt
deleted file mode 100644
index 5f54821..0000000
--- a/apicheck_msg_last.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-
-******************************
-You have tried to change a car library API from what has
-been previously released in an SDK. Please fix the errors listed above.
-******************************
diff --git a/car-lib/Android.bp b/car-lib/Android.bp
index 5c719e9..287949e 100644
--- a/car-lib/Android.bp
+++ b/car-lib/Android.bp
@@ -47,3 +47,170 @@
],
}
+java_library {
+ name: "android.car",
+ srcs: [
+ "src/**/*.java",
+ "src_feature_future/**/*.java",
+ "src/**/I*.aidl",
+ ],
+ aidl: {
+ include_dirs: [
+ "system/bt/binder",
+ ],
+ },
+ exclude_srcs: [
+ "src/android/car/storagemonitoring/IoStats.aidl",
+ "src/android/car/storagemonitoring/IoStatsEntry.aidl",
+ ],
+ product_variables: {
+ pdk: {
+ enabled: false,
+ },
+ },
+ installable: true,
+}
+
+doc_defaults {
+ name: "android.car-docs-default",
+ srcs: [
+ "src/**/*.java",
+ "src_feature_future/**/*.java",
+ ],
+ libs: [
+ "android.car",
+ ],
+ custom_template: "droiddoc-templates-sdk",
+ product_variables: {
+ pdk: {
+ enabled: false,
+ },
+ },
+}
+
+genrule {
+ name: "android-car-last-released-api",
+ srcs: [
+ "api/released/*.txt",
+ ],
+ cmd: "cp -f $$(echo $(in) | tr \" \" \"\\n\" | sort -n | tail -1) $(genDir)/last-released-api.txt",
+ out: [
+ "last-released-api.txt",
+ ],
+}
+
+genrule {
+ name: "android-car-last-released-system-api",
+ srcs: [
+ "api/system-released/*.txt",
+ ],
+ cmd: "cp -f $$(echo $(in) | tr \" \" \"\\n\" | sort -n | tail -1) $(genDir)/last-released-system-api.txt",
+ out: [
+ "last-released-system-api.txt",
+ ],
+}
+
+droiddoc {
+ name: "android.car-stubs-docs",
+ defaults: ["android.car-docs-default"],
+ api_tag_name: "ANDROID_CAR",
+ api_filename: "api.txt",
+ removed_api_filename: "removed.txt",
+ args: "-hide 113 -hide 110 -nodocs -stubpackages android.car* ",
+ installable: false,
+ check_api: {
+ last_released: {
+ api_file: ":android-car-last-released-api",
+ removed_api_file: "api/removed.txt",
+ args: " -hide 2 -hide 3 -hide 4 -hide 5 -hide 6 -hide 24 -hide 25 -hide 26 -hide 27 " +
+ " -warning 7 -warning 8 -warning 9 -warning 10 -warning 11 -warning 12 " +
+ " -warning 13 -warning 14 -warning 15 -warning 16 -warning 17 -warning 18 -hide 113 ",
+ },
+ current: {
+ api_file: "api/current.txt",
+ removed_api_file: "api/removed.txt",
+ args: " -error 2 -error 3 -error 4 -error 5 -error 6 -error 7 -error 8 -error 9 -error 10 -error 11 " +
+ " -error 12 -error 13 -error 14 -error 15 -error 16 -error 17 -error 18 -error 19 -error 20 " +
+ " -error 21 -error 23 -error 24 -error 25 -hide 113 ",
+ },
+ },
+}
+
+droiddoc {
+ name: "android.car-system-stubs-docs",
+ defaults: ["android.car-docs-default"],
+ api_tag_name: "ANDROID_CAR_SYSTEM",
+ api_filename: "api.txt",
+ removed_api_filename: "removed.txt",
+ args: "-hide 113 -hide 110 -nodocs -stubpackages android.car* " +
+ "-showAnnotation android.annotation.SystemApi ",
+ installable: false,
+ check_api: {
+ last_released: {
+ api_file: ":android-car-last-released-system-api",
+ removed_api_file: "api/system-removed.txt",
+ args: " -hide 2 -hide 3 -hide 4 -hide 5 -hide 6 -hide 24 -hide 25 -hide 26 -hide 27 " +
+ " -warning 7 -warning 8 -warning 9 -warning 10 -warning 11 -warning 12 " +
+ " -warning 13 -warning 14 -warning 15 -warning 16 -warning 17 -warning 18 -hide 113 ",
+ },
+ current: {
+ api_file: "api/system-current.txt",
+ removed_api_file: "api/system-removed.txt",
+ args: " -error 2 -error 3 -error 4 -error 5 -error 6 -error 7 -error 8 -error 9 -error 10 -error 11 " +
+ " -error 12 -error 13 -error 14 -error 15 -error 16 -error 17 -error 18 -error 19 -error 20 " +
+ " -error 21 -error 23 -error 24 -error 25 -hide 113 ",
+ },
+ },
+}
+
+droiddoc {
+ name: "android.car-stub-docs",
+ srcs: [
+ "src/**/*.java",
+ ],
+ libs: [
+ "android.car",
+ ],
+ api_tag_name: "ANDROID_CAR_STUB",
+ api_filename: "api.txt",
+ custom_template: "droiddoc-templates-sdk",
+ args: "-nodocs -stubpackages android.car* ",
+ installable: false,
+ product_variables: {
+ pdk: {
+ enabled: false,
+ },
+ },
+}
+
+java_library_static {
+ name: "android.car-stubs",
+ srcs: [
+ ":android.car-stub-docs",
+ ],
+ libs: [
+ "android.car",
+ ],
+ product_variables: {
+ pdk: {
+ enabled: false,
+ },
+ },
+ compile_dex: true,
+}
+
+java_library_static {
+ name: "android.car-system-stubs",
+ srcs: [
+ ":android.car-system-stubs-docs",
+ ],
+ libs: [
+ "android.car",
+ ],
+ product_variables: {
+ pdk: {
+ enabled: false,
+ },
+ },
+ compile_dex: true,
+}
diff --git a/car-lib/Android.mk b/car-lib/Android.mk
index 3cb7d82..41c6d86 100644
--- a/car-lib/Android.mk
+++ b/car-lib/Android.mk
@@ -21,113 +21,9 @@
include $(CLEAR_VARS)
-LOCAL_MODULE := android.car
-LOCAL_MODULE_TAGS := optional
-
-ifneq ($(TARGET_USES_CAR_FUTURE_FEATURES),true)
-#TODO need a tool to generate proguard rule to drop all items under @FutureFeature
-#LOCAL_PROGUARD_ENABLED := custom
-#LOCAL_PROGUARD_FLAG_FILES := proguard_drop_future.flags
-endif
-
-car_lib_sources := $(call all-java-files-under, src)
-ifeq ($(TARGET_USES_CAR_FUTURE_FEATURES),true)
-car_lib_sources += $(call all-java-files-under, src_feature_future)
-else
-car_lib_sources += $(call all-java-files-under, src_feature_current)
-endif
-
-car_lib_sources += $(call all-Iaidl-files-under, src)
-
-# IoStats* are parcelable types (vs. interface types), but the build system uses an initial
-# I as a magic marker to mean "interface", and due to this ends up refusing to compile
-# these files as part of the build process.
-# A clean solution to this is actively being worked on by the build team, but is not yet
-# available, so for now we just filter the files out by hand.
-car_lib_sources := $(filter-out src/android/car/storagemonitoring/IoStats.aidl,$(car_lib_sources))
-car_lib_sources := $(filter-out src/android/car/storagemonitoring/IoStatsEntry.aidl,$(car_lib_sources))
-
-LOCAL_AIDL_INCLUDES += system/bt/binder
-
-LOCAL_SRC_FILES := $(car_lib_sources)
-
-ifeq ($(EMMA_INSTRUMENT_FRAMEWORK),true)
-LOCAL_EMMA_INSTRUMENT := true
-endif
-
-include $(BUILD_JAVA_LIBRARY)
-
ifeq ($(BOARD_IS_AUTOMOTIVE), true)
-$(call dist-for-goals,dist_files,$(full_classes_jar):$(LOCAL_MODULE).jar)
+full_classes_jar := $(call intermediates-dir-for,JAVA_LIBRARIES,android.car,,COMMON)/classes.jar
+$(call dist-for-goals,dist_files,$(full_classes_jar):android.car.jar)
endif
-# API Check
-# ---------------------------------------------
-car_module := $(LOCAL_MODULE)
-car_module_src_files := $(LOCAL_SRC_FILES)
-car_module_api_dir := $(LOCAL_PATH)/api
-car_module_java_libraries := framework
-car_module_include_systemapi := true
-car_module_java_packages := android.car*
-include $(CAR_API_CHECK)
-
-# Build stubs jar for target android-support-car
-# ---------------------------------------------
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-
-LOCAL_JAVA_LIBRARIES := android.car
-
-LOCAL_ADDITIONAL_JAVA_DIR := $(call intermediates-dir-for,JAVA_LIBRARIES,android.car,,COMMON)/src
-
-android_car_stub_packages := \
- android.car*
-
-android_car_api := \
- $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/android.car_api.txt
-
-# Note: The make target is android.car-stub-docs
-LOCAL_MODULE := android.car-stub
-LOCAL_DROIDDOC_OPTIONS := \
- -stubs $(call intermediates-dir-for,JAVA_LIBRARIES,android.car-stubs,,COMMON)/src \
- -stubpackages $(subst $(space),:,$(android_car_stub_packages)) \
- -api $(android_car_api) \
- -nodocs
-
-LOCAL_DROIDDOC_SOURCE_PATH := $(LOCAL_PATH)/java/
-LOCAL_DROIDDOC_HTML_DIR :=
-
-LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-
-LOCAL_UNINSTALLABLE_MODULE := true
-
-include $(BUILD_DROIDDOC)
-
-$(android_car_api): $(full_target)
-
-android.car-stubs_stamp := $(full_target)
-
-###############################################
-# Build the stubs java files into a jar. This build rule relies on the
-# stubs_stamp make variable being set from the droiddoc rule.
-
-include $(CLEAR_VARS)
-
-# CAR_API_CHECK uses the same name to generate a module, but BUILD_DROIDDOC
-# appends "-docs" to module name.
-LOCAL_MODULE := android.car-stubs
-LOCAL_SOURCE_FILES_ALL_GENERATED := true
-
-# Make sure to run droiddoc first to generate the stub source files.
-LOCAL_ADDITIONAL_DEPENDENCIES := $(android.car-stubs_stamp)
-
-include $(BUILD_STATIC_JAVA_LIBRARY)
-
-android.car-stubs_stamp :=
-android_car_stub_packages :=
-android_car_api :=
-
-include $(call all-makefiles-under,$(LOCAL_PATH))
-
endif #TARGET_BUILD_PDK
diff --git a/car-lib/api/1.txt b/car-lib/api/released/1.txt
similarity index 100%
rename from car-lib/api/1.txt
rename to car-lib/api/released/1.txt
diff --git a/car-lib/api/2.txt b/car-lib/api/released/2.txt
similarity index 100%
rename from car-lib/api/2.txt
rename to car-lib/api/released/2.txt
diff --git a/car-lib/api/system-1.txt b/car-lib/api/system-released/system-1.txt
similarity index 100%
rename from car-lib/api/system-1.txt
rename to car-lib/api/system-released/system-1.txt
diff --git a/car-lib/api/system-2.txt b/car-lib/api/system-released/system-2.txt
similarity index 100%
rename from car-lib/api/system-2.txt
rename to car-lib/api/system-released/system-2.txt
diff --git a/car-lib/src/android/car/vms/VmsSubscriberManager.java b/car-lib/src/android/car/vms/VmsSubscriberManager.java
index fe9e8c3..1416b41 100644
--- a/car-lib/src/android/car/vms/VmsSubscriberManager.java
+++ b/car-lib/src/android/car/vms/VmsSubscriberManager.java
@@ -155,11 +155,11 @@
} catch (RemoteException e) {
Log.e(TAG, "Could not connect: ", e);
throw new CarNotConnectedException(e);
- }
-
- synchronized (mClientCallbackLock) {
- mClientCallback = null;
- mExecutor = null;
+ } finally {
+ synchronized (mClientCallbackLock) {
+ mClientCallback = null;
+ mExecutor = null;
+ }
}
}
diff --git a/car-lib/src_feature_current/com/android/car/internal/FeatureConfiguration.java b/car-lib/src_feature_current/com/android/car/internal/FeatureConfiguration.java
deleted file mode 100644
index 462f320..0000000
--- a/car-lib/src_feature_current/com/android/car/internal/FeatureConfiguration.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source 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.
- */
-package com.android.car.internal;
-
-/**
- * Class to hold static boolean flag for enabling / disabling features.
- *
- * @hide
- */
-public class FeatureConfiguration {
- /** Disable future feature by default. */
- public static final boolean DEFAULT = false;
- /** product configuration in CarInfoManager */
- public static final boolean ENABLE_PRODUCT_CONFIGURATION_INFO = DEFAULT;
-}
diff --git a/car-support-lib/Android.bp b/car-support-lib/Android.bp
new file mode 100644
index 0000000..2d4269e
--- /dev/null
+++ b/car-support-lib/Android.bp
@@ -0,0 +1,103 @@
+// Copyright (C) 2018 The Android Open Source 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.
+
+java_library_static {
+ name: "android.support.car",
+ srcs: [
+ "src/**/*.java",
+ "src/**/I*.aidl",
+ ],
+ aidl: {
+ include_dirs: [
+ "system/bt/binder",
+ ],
+ },
+ libs: [
+ "android.car",
+ ],
+ static_libs: [
+ "androidx.annotation_annotation",
+ ],
+ platform_apis: true,
+ product_variables: {
+ pdk: {
+ enabled: false,
+ },
+ },
+ installable: true,
+}
+
+doc_defaults {
+ name: "android.support.car-docs-default",
+ srcs: [
+ "src/**/*.java",
+ ],
+ libs: [
+ "android.car",
+ "android.support.car",
+ "androidx.annotation_annotation",
+ ],
+ custom_template: "droiddoc-templates-sdk",
+ product_variables: {
+ pdk: {
+ enabled: false,
+ },
+ },
+}
+
+droiddoc {
+ name: "android.support.car-stubs-docs",
+ defaults: ["android.support.car-docs-default"],
+ api_tag_name: "ANDROID_SUPPORT_CAR",
+ api_filename: "api.txt",
+ removed_api_filename: "removed.txt",
+ args: "-hide 113 -hide 110 -nodocs -stubpackages android.support.car* ",
+ installable: false,
+ check_api: {
+ current: {
+ api_file: "api/current.txt",
+ removed_api_file: "api/removed.txt",
+ args: " -error 2 -error 3 -error 4 -error 5 -error 6 -error 7 -error 8 -error 9 -error 10 -error 11 " +
+ " -error 12 -error 13 -error 14 -error 15 -error 16 -error 17 -error 18 -error 19 -error 20 " +
+ " -error 21 -error 23 -error 24 -error 25 -hide 113 ",
+ },
+ },
+}
+
+droiddoc {
+ name: "android.support.car-proguard-docs",
+ defaults: ["android.support.car-docs-default"],
+ api_tag_name: "ANDROID_SUPPORT_CAR_PROGUARD",
+ proguard_filename: "keep_list.proguard",
+ create_stubs: false,
+}
+
+// TODO(deanh) support lib should be able to be using public APIs only
+droiddoc {
+ name: "android.support.car-docs",
+ srcs: [
+ "src/**/*.java",
+ ],
+ libs: [
+ "android.car",
+ "androidx.annotation_annotation",
+ ],
+ custom_template: "droiddoc-templates-sdk",
+ create_stubs: false,
+ product_variables: {
+ pdk: {
+ enabled: false,
+ },
+ },
+}
diff --git a/car-support-lib/Android.mk b/car-support-lib/Android.mk
index 6201f21..cfa40be 100644
--- a/car-support-lib/Android.mk
+++ b/car-support-lib/Android.mk
@@ -76,59 +76,9 @@
$(call dist-for-goals, dist_files, $(built_aar):android.support.car-1p.aar)
endif
-# Build support library.
-# ---------------------------------------------
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := android.support.car
-
-#TODO(b/72620511) support lib should be able to be using public APIs only
-#LOCAL_SDK_VERSION := current
-LOCAL_PRIVATE_PLATFORM_APIS := true
-
-LOCAL_SRC_FILES := $(call all-java-files-under, src) $(call all-Iaidl-files-under, src)
-
-LOCAL_STATIC_JAVA_LIBRARIES += androidx.annotation_annotation
-
-LOCAL_JAVA_LIBRARIES += android.car
-
-include $(BUILD_STATIC_JAVA_LIBRARY)
-
-# API Check
-# ---------------------------------------------
-car_module := $(LOCAL_MODULE)
-car_module_src_files := $(LOCAL_SRC_FILES)
-car_module_proguard_file := $(LOCAL_PATH)/proguard-release.flags
-car_module_api_dir := $(LOCAL_PATH)/api
-car_module_java_libraries := $(LOCAL_JAVA_LIBRARIES) $(LOCAL_STATIC_JAVA_LIBRARIES) framework
-car_module_java_packages := android.support.car*
-car_module_include_proguard := true
-include $(CAR_API_CHECK)
-
-
-# Generate offline docs
-#---------------------------------------------
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(call all-java-files-under, src) $(call all-Iaidl-files-under, src)
-
-LOCAL_DROIDDOC_SOURCE_PATH := $(LOCAL_PATH)/src
-
-LOCAL_JAVA_LIBRARIES := \
- android.car \
- androidx.annotation_annotation
-
-LOCAL_MODULE := android.support.car
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_MODULE_CLASS := JAVA_LIBRARIES
-LOCAL_IS_HOST_MODULE := false
-
-LOCAL_ADDITIONAL_JAVA_DIR := $(call intermediates-dir-for,$(LOCAL_MODULE_CLASS),android.support.car,,COMMON)
-
-LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR := external/doclava/res/assets/templates-sdk
-
-include $(BUILD_DROIDDOC)
-
+.PHONY: update-support-car-proguard-api
+update-support-car-proguard-api: $(INTERNAL_PLATFORM_ANDROID_SUPPORT_CAR_PROGUARD_PROGUARD_FILE) | $(ACP)
+ @echo $(PRIVATE_CAR_MODULE) copying $(INTERNAL_PLATFORM_ANDROID_SUPPORT_CAR_PROGUARD_PROGUARD_FILE) to $(LOCAL_PATH)/proguard-release.flags
+ $(hide) $(ACP) $(INTERNAL_PLATFORM_ANDROID_SUPPORT_CAR_PROGUARD_PROGUARD_FILE) $(LOCAL_PATH)/proguard-release.flags
endif #TARGET_BUILD_PDK
diff --git a/car_product/build/car.mk b/car_product/build/car.mk
index 669e828..0250813 100644
--- a/car_product/build/car.mk
+++ b/car_product/build/car.mk
@@ -126,5 +126,11 @@
PRODUCT_BOOT_JARS += \
android.car
+PRODUCT_HIDDENAPI_STUBS := \
+ android.car-stubs
+
+PRODUCT_HIDDENAPI_STUBS_SYSTEM := \
+ android.car-system-stubs
+
INCLUDED_ANDROID_CAR_TO_PRODUCT_BOOT_JARS := yes
endif
diff --git a/car_product/build/car_base.mk b/car_product/build/car_base.mk
index 9138090..bd5f9cd 100644
--- a/car_product/build/car_base.mk
+++ b/car_product/build/car_base.mk
@@ -20,8 +20,6 @@
PRODUCT_PACKAGE_OVERLAYS += packages/services/Car/car_product/overlay
PRODUCT_PACKAGES += \
- ContactsProvider \
- DefaultContainerService \
Home \
BasicDreams \
CaptivePortalLogin \
@@ -36,7 +34,6 @@
Launcher2 \
ManagedProvisioning \
PacProcessor \
- libpac \
PrintSpooler \
ProxyHandler \
Settings \
@@ -46,39 +43,13 @@
ExternalStorageProvider \
atrace \
libandroidfw \
- libaudiopreprocessing \
libaudioutils \
- libfilterpack_imageproc \
- libgabi++ \
libmdnssd \
libnfc_ndef \
libpowermanager \
libspeexresampler \
- libstagefright_soft_aacdec \
- libstagefright_soft_aacenc \
- libstagefright_soft_amrdec \
- libstagefright_soft_amrnbenc \
- libstagefright_soft_amrwbenc \
- libstagefright_soft_avcdec \
- libstagefright_soft_avcenc \
- libstagefright_soft_flacdec \
- libstagefright_soft_flacenc \
- libstagefright_soft_g711dec \
- libstagefright_soft_gsmdec \
- libstagefright_soft_hevcdec \
- libstagefright_soft_mp3dec \
- libstagefright_soft_mpeg2dec \
- libstagefright_soft_mpeg4dec \
- libstagefright_soft_mpeg4enc \
- libstagefright_soft_opusdec \
- libstagefright_soft_rawdec \
- libstagefright_soft_vorbisdec \
- libstagefright_soft_vpxdec \
- libstagefright_soft_vpxenc \
libvariablespeed \
libwebrtc_audio_preprocessing \
- mdnsd \
- requestsync \
wifi-service \
A2dpSinkService \
diff --git a/car_product/overlay/frameworks/base/packages/SettingsLib/res/values/dimens.xml b/car_product/overlay/frameworks/base/packages/SettingsLib/res/values/dimens.xml
index f295e6c..70d19e0 100644
--- a/car_product/overlay/frameworks/base/packages/SettingsLib/res/values/dimens.xml
+++ b/car_product/overlay/frameworks/base/packages/SettingsLib/res/values/dimens.xml
@@ -15,12 +15,8 @@
~ limitations under the License
-->
<resources>
+ <add-resource type="dimen" name="small_text_size" />
<dimen name="small_text_size">24sp</dimen>
+ <add-resource type="dimen" name="medium_text_size" />
<dimen name="medium_text_size">28sp</dimen>
- <dimen name="drawer_icon_size">54dp</dimen>
- <dimen name="normal_icon_size">54dp</dimen>
- <dimen name="drawer_icon_margin">44dp</dimen>
- <dimen name="drawer_width">600dp</dimen>
- <dimen name="drawer_item_top_bottom_margin">8dp</dimen>
- <dimen name="drawer_spacer_height">70dp</dimen>
</resources>
diff --git a/car_product/sepolicy/private/procfsinspector.te b/car_product/sepolicy/private/procfsinspector.te
index 9bee707..e2aa062 100644
--- a/car_product/sepolicy/private/procfsinspector.te
+++ b/car_product/sepolicy/private/procfsinspector.te
@@ -1,5 +1,5 @@
type procfsinspector, domain, coredomain;
-type procfsinspector_exec, exec_type, file_type;
+type procfsinspector_exec, exec_type, file_type, system_file_type;
init_daemon_domain(procfsinspector)
diff --git a/car_product/sepolicy/test/powertestservice.te b/car_product/sepolicy/test/powertestservice.te
index 2e2ace7..2d7d48e 100644
--- a/car_product/sepolicy/test/powertestservice.te
+++ b/car_product/sepolicy/test/powertestservice.te
@@ -1,5 +1,5 @@
type powertestservice, domain, coredomain;
-type powertestservice_exec, exec_type, file_type;
+type powertestservice_exec, exec_type, file_type, system_file_type;
init_daemon_domain(powertestservice)
diff --git a/evs/app/RenderDirectView.cpp b/evs/app/RenderDirectView.cpp
index f0d26e4..d7267cf 100644
--- a/evs/app/RenderDirectView.cpp
+++ b/evs/app/RenderDirectView.cpp
@@ -138,6 +138,6 @@
// Wait for the rendering to finish
glFinish();
-
+ detachRenderTarget();
return true;
}
diff --git a/evs/app/RenderTopView.cpp b/evs/app/RenderTopView.cpp
index 80ccb11..f09e76f 100644
--- a/evs/app/RenderTopView.cpp
+++ b/evs/app/RenderTopView.cpp
@@ -217,7 +217,7 @@
// Wait for the rendering to finish
glFinish();
-
+ detachRenderTarget();
return true;
}
diff --git a/evs/manager/HalCamera.cpp b/evs/manager/HalCamera.cpp
index 41cff24..ba2e9c6 100644
--- a/evs/manager/HalCamera.cpp
+++ b/evs/manager/HalCamera.cpp
@@ -130,6 +130,7 @@
Return<EvsResult> result = EvsResult::OK;
if (mStreamState == STOPPED) {
+ mStreamState = RUNNING;
result = mHwCamera->startVideoStream(this);
}
@@ -149,6 +150,7 @@
// If not, then stop the hardware stream
if (!stillRunning) {
+ mStreamState = STOPPED;
mHwCamera->stopVideoStream();
}
}
diff --git a/service/Android.mk b/service/Android.mk
index d9ae9ec..e961fbb 100644
--- a/service/Android.mk
+++ b/service/Android.mk
@@ -49,7 +49,7 @@
car-systemtest \
com.android.car.procfsinspector-client \
-include frameworks/base/packages/SettingsLib/common.mk
+LOCAL_STATIC_ANDROID_LIBRARIES := SettingsLib androidx.preference_preference
include $(BUILD_PACKAGE)
@@ -76,7 +76,9 @@
car-systemtest \
com.android.car.procfsinspector-client \
-include frameworks/base/packages/SettingsLib/common.mk
+LOCAL_MIN_SDK_VERSION := 25
+
+LOCAL_STATIC_ANDROID_LIBRARIES := SettingsLib androidx.preference_preference
include $(BUILD_STATIC_JAVA_LIBRARY)
diff --git a/service/AndroidManifest.xml b/service/AndroidManifest.xml
index 870ed10..24c9cd7 100644
--- a/service/AndroidManifest.xml
+++ b/service/AndroidManifest.xml
@@ -231,7 +231,7 @@
<uses-permission android:name="android.permission.LOCATION_HARDWARE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
- <application android:label="Car service"
+ <application android:label="@string/app_title"
android:directBootAware="true"
android:allowBackup="false"
android:persistent="true">
diff --git a/service/res/values/strings.xml b/service/res/values/strings.xml
index 9423e85..1947e43 100644
--- a/service/res/values/strings.xml
+++ b/service/res/values/strings.xml
@@ -14,6 +14,8 @@
limitations under the License.
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <string name="app_title">Car service</string>
+
<!-- For permissions -->
<!-- Permission text: can access your car's information [CHAR LIMIT=NONE] -->
<string name="car_permission_label">Car information</string>
diff --git a/tests/EmbeddedKitchenSinkApp/Android.mk b/tests/EmbeddedKitchenSinkApp/Android.mk
index 7a8c145..71adf6b 100644
--- a/tests/EmbeddedKitchenSinkApp/Android.mk
+++ b/tests/EmbeddedKitchenSinkApp/Android.mk
@@ -41,7 +41,7 @@
LOCAL_DEX_PREOPT := false
LOCAL_STATIC_ANDROID_LIBRARIES += \
- android-support-car \
+ androidx.car_car \
car-service-lib-for-test
LOCAL_STATIC_JAVA_LIBRARIES += \
diff --git a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/KitchenSinkActivity.java b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/KitchenSinkActivity.java
index caca03a..9453bf7 100644
--- a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/KitchenSinkActivity.java
+++ b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/KitchenSinkActivity.java
@@ -30,12 +30,12 @@
import android.support.car.CarAppFocusManager;
import android.support.car.CarConnectionCallback;
import android.support.car.CarNotConnectedException;
-import android.support.v4.app.Fragment;
import android.util.Log;
import androidx.car.drawer.CarDrawerActivity;
import androidx.car.drawer.CarDrawerAdapter;
import androidx.car.drawer.DrawerItemViewHolder;
+import androidx.fragment.app.Fragment;
import com.google.android.car.kitchensink.activityview.ActivityViewTestFragment;
import com.google.android.car.kitchensink.alertdialog.AlertDialogTestFragment;
diff --git a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/activityview/ActivityViewTestFragment.java b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/activityview/ActivityViewTestFragment.java
index 2df0b07..a41427d 100644
--- a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/activityview/ActivityViewTestFragment.java
+++ b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/activityview/ActivityViewTestFragment.java
@@ -21,12 +21,13 @@
import android.content.Intent;
import android.os.Bundle;
import android.os.SystemClock;
-import android.support.annotation.Nullable;
-import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import androidx.annotation.Nullable;
+import androidx.fragment.app.Fragment;
+
import com.google.android.car.kitchensink.R;
import java.util.Random;
diff --git a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/alertdialog/AlertDialogTestFragment.java b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/alertdialog/AlertDialogTestFragment.java
index f2f5712..324df02 100644
--- a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/alertdialog/AlertDialogTestFragment.java
+++ b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/alertdialog/AlertDialogTestFragment.java
@@ -19,12 +19,13 @@
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
-import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
+import androidx.fragment.app.Fragment;
+
import com.google.android.car.kitchensink.R;
/**
diff --git a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/assistant/CarAssistantFragment.java b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/assistant/CarAssistantFragment.java
index 4bee453..9f3ab1a 100644
--- a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/assistant/CarAssistantFragment.java
+++ b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/assistant/CarAssistantFragment.java
@@ -18,8 +18,6 @@
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
-import android.support.annotation.Nullable;
-import android.support.v4.app.Fragment;
import android.view.HapticFeedbackConstants;
import android.view.LayoutInflater;
import android.view.View;
@@ -27,6 +25,9 @@
import android.widget.ImageView;
import android.widget.Toast;
+import androidx.annotation.Nullable;
+import androidx.fragment.app.Fragment;
+
import com.google.android.car.kitchensink.R;
public class CarAssistantFragment extends Fragment {
diff --git a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/audio/AudioTestFragment.java b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/audio/AudioTestFragment.java
index 626dc2a..6325512 100644
--- a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/audio/AudioTestFragment.java
+++ b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/audio/AudioTestFragment.java
@@ -31,7 +31,6 @@
import android.os.Handler;
import android.os.IBinder;
import android.os.Looper;
-import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
@@ -42,6 +41,8 @@
import android.widget.Toast;
import android.widget.ToggleButton;
+import androidx.fragment.app.Fragment;
+
import com.google.android.car.kitchensink.CarEmulator;
import com.google.android.car.kitchensink.R;
diff --git a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/bluetooth/BluetoothHeadsetFragment.java b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/bluetooth/BluetoothHeadsetFragment.java
index a98d49e..2d57d28 100644
--- a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/bluetooth/BluetoothHeadsetFragment.java
+++ b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/bluetooth/BluetoothHeadsetFragment.java
@@ -26,8 +26,6 @@
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
-import android.support.annotation.Nullable;
-import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
@@ -35,6 +33,9 @@
import android.widget.Button;
import android.widget.TextView;
+import androidx.annotation.Nullable;
+import androidx.fragment.app.Fragment;
+
import com.google.android.car.kitchensink.R;
public class BluetoothHeadsetFragment extends Fragment {
diff --git a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/bluetooth/MapMceTestFragment.java b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/bluetooth/MapMceTestFragment.java
index 6a72428..2d9df69 100644
--- a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/bluetooth/MapMceTestFragment.java
+++ b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/bluetooth/MapMceTestFragment.java
@@ -32,8 +32,6 @@
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
-import android.support.annotation.Nullable;
-import android.support.v4.app.Fragment;
import android.telecom.PhoneAccount;
import android.util.Log;
import android.view.LayoutInflater;
@@ -45,6 +43,9 @@
import android.widget.TextView;
import android.widget.Toast;
+import androidx.annotation.Nullable;
+import androidx.fragment.app.Fragment;
+
import com.google.android.car.kitchensink.KitchenSinkActivity;
import com.google.android.car.kitchensink.R;
diff --git a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/cluster/InstrumentClusterFragment.java b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/cluster/InstrumentClusterFragment.java
index 748ea68..8e4483e 100644
--- a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/cluster/InstrumentClusterFragment.java
+++ b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/cluster/InstrumentClusterFragment.java
@@ -20,19 +20,20 @@
import android.content.Intent;
import android.content.pm.PackageManager;
import android.os.Bundle;
-import android.support.annotation.Nullable;
import android.support.car.Car;
import android.support.car.CarAppFocusManager;
import android.support.car.CarConnectionCallback;
import android.support.car.CarNotConnectedException;
import android.support.car.navigation.CarNavigationStatusManager;
-import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Toast;
+import androidx.annotation.Nullable;
+import androidx.fragment.app.Fragment;
+
import com.google.android.car.kitchensink.R;
/**
diff --git a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/connectivity/ConnectivityFragment.java b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/connectivity/ConnectivityFragment.java
index 0ffa6bf..3c04bcb 100644
--- a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/connectivity/ConnectivityFragment.java
+++ b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/connectivity/ConnectivityFragment.java
@@ -26,7 +26,6 @@
import android.net.NetworkRequest;
import android.os.Bundle;
import android.os.Handler;
-import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
@@ -35,6 +34,8 @@
import android.widget.ListView;
import android.widget.Toast;
+import androidx.fragment.app.Fragment;
+
import com.google.android.car.kitchensink.R;
import java.util.ArrayList;
diff --git a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/cube/CubesTestFragment.java b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/cube/CubesTestFragment.java
index b149df5..209d98d 100644
--- a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/cube/CubesTestFragment.java
+++ b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/cube/CubesTestFragment.java
@@ -18,12 +18,13 @@
import android.opengl.GLSurfaceView;
import android.os.Bundle;
-import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
+import androidx.fragment.app.Fragment;
+
import com.google.android.car.kitchensink.R;
public class CubesTestFragment extends Fragment {
diff --git a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/diagnostic/DiagnosticTestFragment.java b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/diagnostic/DiagnosticTestFragment.java
index e2b452c..5569848 100644
--- a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/diagnostic/DiagnosticTestFragment.java
+++ b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/diagnostic/DiagnosticTestFragment.java
@@ -24,13 +24,14 @@
import android.graphics.Color;
import android.os.Bundle;
import android.support.car.hardware.CarSensorManager;
-import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
+import androidx.fragment.app.Fragment;
+
import com.google.android.car.kitchensink.KitchenSinkActivity;
import com.google.android.car.kitchensink.R;
diff --git a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/displayinfo/DisplayInfoFragment.java b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/displayinfo/DisplayInfoFragment.java
index bae2253..ac0bdae 100644
--- a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/displayinfo/DisplayInfoFragment.java
+++ b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/displayinfo/DisplayInfoFragment.java
@@ -20,7 +20,6 @@
import android.content.res.Resources;
import android.graphics.Point;
import android.os.Bundle;
-import android.support.v4.app.Fragment;
import android.util.DisplayMetrics;
import android.view.LayoutInflater;
import android.view.View;
@@ -28,6 +27,8 @@
import android.widget.LinearLayout;
import android.widget.TextView;
+import androidx.fragment.app.Fragment;
+
import com.google.android.car.kitchensink.R;
/**
diff --git a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/hvac/HvacTestFragment.java b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/hvac/HvacTestFragment.java
index c7b80e8..f56b487 100644
--- a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/hvac/HvacTestFragment.java
+++ b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/hvac/HvacTestFragment.java
@@ -26,7 +26,6 @@
import android.hardware.automotive.vehicle.V2_0.VehicleAreaWindow;
import android.os.Bundle;
import android.os.Handler;
-import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
@@ -37,6 +36,8 @@
import android.widget.TextView;
import android.widget.ToggleButton;
+import androidx.fragment.app.Fragment;
+
import com.google.android.car.kitchensink.KitchenSinkActivity;
import com.google.android.car.kitchensink.R;
diff --git a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/input/InputTestFragment.java b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/input/InputTestFragment.java
index 19ad094..34ea1cf 100644
--- a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/input/InputTestFragment.java
+++ b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/input/InputTestFragment.java
@@ -30,13 +30,11 @@
import android.hardware.automotive.vehicle.V2_0.VehicleArea;
import android.hardware.automotive.vehicle.V2_0.VehicleDisplay;
import android.hardware.automotive.vehicle.V2_0.VehiclePropValue;
-import android.hardware.automotive.vehicle.V2_0.VehicleProperty;
import android.hardware.automotive.vehicle.V2_0.VehiclePropertyGroup;
import android.hardware.automotive.vehicle.V2_0.VehiclePropertyStatus;
import android.hardware.automotive.vehicle.V2_0.VehiclePropertyType;
import android.os.Bundle;
import android.os.RemoteException;
-import android.support.v4.app.Fragment;
import android.text.method.ScrollingMovementMethod;
import android.util.Log;
import android.view.KeyEvent;
@@ -48,6 +46,8 @@
import android.widget.TextView;
import android.widget.Toast;
+import androidx.fragment.app.Fragment;
+
import com.android.car.keventreader.EventReaderService;
import com.android.car.keventreader.IEventCallback;
import com.android.car.keventreader.KeypressEvent;
diff --git a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/job/JobSchedulerFragment.java b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/job/JobSchedulerFragment.java
index 3cf96e4..b82818f 100644
--- a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/job/JobSchedulerFragment.java
+++ b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/job/JobSchedulerFragment.java
@@ -22,8 +22,6 @@
import android.content.SharedPreferences;
import android.os.Bundle;
import android.os.PersistableBundle;
-import android.support.annotation.Nullable;
-import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
@@ -35,6 +33,9 @@
import android.widget.TextView;
import android.widget.Toast;
+import androidx.annotation.Nullable;
+import androidx.fragment.app.Fragment;
+
import com.google.android.car.kitchensink.R;
import java.util.List;
diff --git a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/notification/NotificationFragment.java b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/notification/NotificationFragment.java
index 5f88259..7a26f93 100644
--- a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/notification/NotificationFragment.java
+++ b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/notification/NotificationFragment.java
@@ -12,12 +12,13 @@
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
-import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
+import androidx.fragment.app.Fragment;
+
import com.google.android.car.kitchensink.KitchenSinkActivity;
import com.google.android.car.kitchensink.R;
diff --git a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/orientation/OrientationTestFragment.java b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/orientation/OrientationTestFragment.java
index ef49ae4..b81104b 100644
--- a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/orientation/OrientationTestFragment.java
+++ b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/orientation/OrientationTestFragment.java
@@ -18,13 +18,14 @@
import android.content.Intent;
import android.os.Bundle;
-import android.support.annotation.Nullable;
-import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
+import androidx.annotation.Nullable;
+import androidx.fragment.app.Fragment;
+
import com.google.android.car.kitchensink.R;
public class OrientationTestFragment extends Fragment {
diff --git a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/power/PowerTestFragment.java b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/power/PowerTestFragment.java
index 9a6c2b9..d24148d 100644
--- a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/power/PowerTestFragment.java
+++ b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/power/PowerTestFragment.java
@@ -23,7 +23,6 @@
import android.os.Handler;
import android.os.PowerManager;
import android.os.SystemClock;
-import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
@@ -31,6 +30,8 @@
import android.widget.Button;
import android.widget.TextView;
+import androidx.fragment.app.Fragment;
+
import com.google.android.car.kitchensink.KitchenSinkActivity;
import com.google.android.car.kitchensink.R;
diff --git a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/property/PropertyTestFragment.java b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/property/PropertyTestFragment.java
index ff1c402..83bbfa9 100644
--- a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/property/PropertyTestFragment.java
+++ b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/property/PropertyTestFragment.java
@@ -27,7 +27,6 @@
import android.hardware.automotive.vehicle.V2_0.VehiclePropertyType;
import android.os.Bundle;
import android.os.Handler;
-import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
@@ -43,6 +42,8 @@
import android.widget.TextView;
import android.widget.Toast;
+import androidx.fragment.app.Fragment;
+
import com.google.android.car.kitchensink.KitchenSinkActivity;
import com.google.android.car.kitchensink.R;
diff --git a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/sensor/SensorsTestFragment.java b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/sensor/SensorsTestFragment.java
index 1440ff0..39392b9 100644
--- a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/sensor/SensorsTestFragment.java
+++ b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/sensor/SensorsTestFragment.java
@@ -28,7 +28,6 @@
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.os.Handler;
-import android.support.v4.app.Fragment;
import android.text.TextUtils;
import android.util.Log;
import android.view.LayoutInflater;
@@ -36,6 +35,8 @@
import android.view.ViewGroup;
import android.widget.TextView;
+import androidx.fragment.app.Fragment;
+
import com.google.android.car.kitchensink.KitchenSinkActivity;
import com.google.android.car.kitchensink.R;
diff --git a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/storagelifetime/StorageLifetimeFragment.java b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/storagelifetime/StorageLifetimeFragment.java
index fc4052e..b134139 100644
--- a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/storagelifetime/StorageLifetimeFragment.java
+++ b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/storagelifetime/StorageLifetimeFragment.java
@@ -27,8 +27,8 @@
import android.car.storagemonitoring.IoStatsEntry;
import android.os.Bundle;
import android.os.StatFs;
-import android.support.v4.app.Fragment;
import android.system.ErrnoException;
+import android.system.Os;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
@@ -37,11 +37,11 @@
import android.widget.ListView;
import android.widget.TextView;
+import androidx.fragment.app.Fragment;
+
import com.google.android.car.kitchensink.KitchenSinkActivity;
import com.google.android.car.kitchensink.R;
-import libcore.io.Libcore;
-
import java.io.File;
import java.io.FileDescriptor;
import java.io.IOException;
@@ -147,16 +147,16 @@
private void fsyncFile() {
try {
final Path filePath = getFilePath();
- FileDescriptor fd = Libcore.os.open(filePath.toString(), O_APPEND | O_RDWR, 0);
+ FileDescriptor fd = Os.open(filePath.toString(), O_APPEND | O_RDWR, 0);
if (!fd.valid()) {
Log.w(TAG, "file descriptor is invalid");
return;
}
// fill byteBuffer with arbitrary data in order to make an fsync() meaningful
ByteBuffer byteBuffer = ByteBuffer.wrap(new byte[] {101, 110, 114, 105, 99, 111});
- Libcore.os.write(fd, byteBuffer);
- Libcore.os.fsync(fd);
- Libcore.os.close(fd);
+ Os.write(fd, byteBuffer);
+ Os.fsync(fd);
+ Os.close(fd);
} catch (ErrnoException | IOException e) {
Log.w(TAG, "could not fsync data", e);
}
diff --git a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/touch/TouchTestFragment.java b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/touch/TouchTestFragment.java
index fe2c385..2cb0a64 100644
--- a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/touch/TouchTestFragment.java
+++ b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/touch/TouchTestFragment.java
@@ -17,11 +17,12 @@
package com.google.android.car.kitchensink.touch;
import android.os.Bundle;
-import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import androidx.fragment.app.Fragment;
+
import com.google.android.car.kitchensink.R;
public class TouchTestFragment extends Fragment {
diff --git a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/vhal/VehicleHalFragment.java b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/vhal/VehicleHalFragment.java
index ac62505..df5f0fc 100644
--- a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/vhal/VehicleHalFragment.java
+++ b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/vhal/VehicleHalFragment.java
@@ -24,7 +24,6 @@
import android.hardware.automotive.vehicle.V2_0.VehicleProperty;
import android.os.Bundle;
import android.os.RemoteException;
-import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
@@ -34,6 +33,8 @@
import android.widget.ArrayAdapter;
import android.widget.ListView;
+import androidx.fragment.app.Fragment;
+
import com.google.android.car.kitchensink.KitchenSinkActivity;
import com.google.android.car.kitchensink.R;
diff --git a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/volume/VolumeTestFragment.java b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/volume/VolumeTestFragment.java
index 800d650..066f46a 100644
--- a/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/volume/VolumeTestFragment.java
+++ b/tests/EmbeddedKitchenSinkApp/src/com/google/android/car/kitchensink/volume/VolumeTestFragment.java
@@ -26,8 +26,6 @@
import android.os.Handler;
import android.os.IBinder;
import android.os.Message;
-import android.support.annotation.Nullable;
-import android.support.v4.app.Fragment;
import android.util.Log;
import android.util.SparseIntArray;
import android.view.LayoutInflater;
@@ -36,6 +34,9 @@
import android.widget.ListView;
import android.widget.SeekBar;
+import androidx.annotation.Nullable;
+import androidx.fragment.app.Fragment;
+
import com.google.android.car.kitchensink.R;
public class VolumeTestFragment extends Fragment {
diff --git a/tests/VmsSubscriberClientSample/src/com/google/android/car/vms/subscriber/VmsSubscriberClientSampleActivity.java b/tests/VmsSubscriberClientSample/src/com/google/android/car/vms/subscriber/VmsSubscriberClientSampleActivity.java
index a82350b..d1b92dc 100644
--- a/tests/VmsSubscriberClientSample/src/com/google/android/car/vms/subscriber/VmsSubscriberClientSampleActivity.java
+++ b/tests/VmsSubscriberClientSample/src/com/google/android/car/vms/subscriber/VmsSubscriberClientSampleActivity.java
@@ -84,6 +84,14 @@
@Override
public void onDisconnected(Car car) {
Log.d(TAG, "Disconnect from Car Service");
+ if (mVmsSubscriberManager != null) {
+ try {
+ mVmsSubscriberManager.clearVmsSubscriberClientCallback();
+ mVmsSubscriberManager.unsubscribe(TEST_LAYER);
+ } catch (android.car.CarNotConnectedException e) {
+ Log.e(TAG, "Car is not connected!", e);
+ }
+ }
}
private VmsSubscriberManager getVmsSubscriberManager() {
diff --git a/tools/keventreader/server/Android.mk b/tools/keventreader/server/Android.mk
index 726e2fc..3dd6bba 100644
--- a/tools/keventreader/server/Android.mk
+++ b/tools/keventreader/server/Android.mk
@@ -42,6 +42,5 @@
LOCAL_MODULE_TAGS := optional
LOCAL_CFLAGS += -Wall -Werror
-LOCAL_CPPFLAGS += -std=c++17
include $(BUILD_EXECUTABLE)