summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVitalii Tomkiv2016-03-17 18:17:21 -0500
committerVitalii Tomkiv2016-03-18 19:26:06 -0500
commit280b5721254e5ac974404e02e7589f17f560d1f9 (patch)
tree6dd99f540c99509b1cb2e2b79af884988a83d850
parent04d8835b498ae007e77b3d8c64863b487ef7b68a (diff)
downloadplatform-packages-services-car-280b5721254e5ac974404e02e7589f17f560d1f9.tar.gz
platform-packages-services-car-280b5721254e5ac974404e02e7589f17f560d1f9.tar.xz
platform-packages-services-car-280b5721254e5ac974404e02e7589f17f560d1f9.zip
Add car API checks.
Bug: 27705308 Change-Id: I9826211e2ae3287eb19cf96d57dbff150b208eb2
-rw-r--r--Android.mk14
-rw-r--r--CleanSpec.mk55
-rw-r--r--apicheck.mk244
-rw-r--r--apicheck_msg_current.txt14
-rw-r--r--apicheck_msg_last.txt5
-rw-r--r--car-lib/Android.mk10
-rw-r--r--car-lib/api/current.txt345
-rw-r--r--car-lib/api/removed.txt0
-rw-r--r--car-lib/api/system-current.txt781
-rw-r--r--car-lib/api/system-removed.txt0
-rw-r--r--car-lib/src/android/car/Car.java45
-rw-r--r--car-lib/src/android/car/CarProjectionManager.java4
-rw-r--r--car-lib/src/android/car/content/pm/AppBlockingPackageInfo.java1
-rw-r--r--car-lib/src/android/car/content/pm/CarAppBlockingPolicy.java1
-rw-r--r--car-lib/src/android/car/content/pm/CarAppBlockingPolicyService.java1
-rw-r--r--car-lib/src/android/car/content/pm/CarPackageManager.java4
-rw-r--r--car-lib/src/android/car/hardware/camera/CarCamera.java2
-rw-r--r--car-lib/src/android/car/hardware/camera/CarCameraManager.java2
-rw-r--r--car-lib/src/android/car/hardware/hvac/CarHvacEvent.java2
-rw-r--r--car-lib/src/android/car/hardware/hvac/CarHvacManager.java2
-rw-r--r--car-lib/src/android/car/hardware/hvac/CarHvacProperty.java1
-rw-r--r--car-lib/src/android/car/hardware/radio/CarRadioEvent.java1
-rw-r--r--car-lib/src/android/car/hardware/radio/CarRadioManager.java1
-rw-r--r--car-lib/src/android/car/hardware/radio/CarRadioPreset.java1
-rw-r--r--car-lib/src/android/car/navigation/CarNavigationInstrumentCluster.java2
-rw-r--r--car-support-lib/Android.mk34
-rw-r--r--car-support-lib/api/current.txt978
-rw-r--r--car-support-lib/api/removed.txt0
-rw-r--r--car-support-lib/src/android/support/car/app/menu/CarMenuCallbacks.java8
29 files changed, 2539 insertions, 19 deletions
diff --git a/Android.mk b/Android.mk
index d1148317..981a8739 100644
--- a/Android.mk
+++ b/Android.mk
@@ -16,5 +16,19 @@
16 16
17LOCAL_PATH := $(call my-dir) 17LOCAL_PATH := $(call my-dir)
18include $(CLEAR_VARS) 18include $(CLEAR_VARS)
19
20CAR_CURRENT_SDK_VERSION := current
21CAR_API_CHECK := $(LOCAL_PATH)/apicheck.mk
22api_check_current_msg_file := $(LOCAL_PATH)/apicheck_msg_current.txt
23api_check_last_msg_file := $(LOCAL_PATH)/apicheck_msg_last.txt
24
25.PHONY: update-car-api
26
19# Include the sub-makefiles 27# Include the sub-makefiles
20include $(call all-makefiles-under,$(LOCAL_PATH)) 28include $(call all-makefiles-under,$(LOCAL_PATH))
29
30# Clear out variables
31CAR_CURRENT_SDK_VERSION :=
32CAR_API_CHECK :=
33api_check_current_msg_file :=
34api_check_last_msg_file :=
diff --git a/CleanSpec.mk b/CleanSpec.mk
new file mode 100644
index 00000000..cf17fee6
--- /dev/null
+++ b/CleanSpec.mk
@@ -0,0 +1,55 @@
1# Copyright (C) 2016 The Android Open-Source Project
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14#
15
16#
17# If you don't need to do a full clean build but would like to touch
18# a file or delete some intermediate files, add a clean step to the end
19# of the list. These steps will only be run once, if they haven't been
20# run before.
21#
22# E.g.:
23# $(call add-clean-step, touch -c external/sqlite/sqlite3.h)
24# $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libz_intermediates)
25#
26# Always use "touch -c" and "rm -f" or "rm -rf" to gracefully deal with
27# files that are missing or have been moved.
28#
29# Use $(PRODUCT_OUT) to get to the "out/target/product/blah/" directory.
30# Use $(OUT_DIR) to refer to the "out" directory.
31#
32# If you need to re-do something that's already mentioned, just copy
33# the command and add it to the bottom of the list. E.g., if a change
34# that you made last week required touching a file and a change you
35# made today requires touching the same file, just copy the old
36# touch step and add it to the end of the list.
37#
38# ************************************************
39# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
40# ************************************************
41
42# For example:
43#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/AndroidTests_intermediates)
44#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/core_intermediates)
45#$(call add-clean-step, find $(OUT_DIR) -type f -name "IGTalkSession*" -print0 | xargs -0 rm -f)
46#$(call add-clean-step, rm -rf $(PRODUCT_OUT)/data/*)
47
48$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/android.car*)
49$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/PACKAGING/android.car*)
50$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/android.support.car*)
51$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/PACKAGING/android.support.car*)
52
53# ************************************************
54# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
55# ************************************************
diff --git a/apicheck.mk b/apicheck.mk
new file mode 100644
index 00000000..df9af7ca
--- /dev/null
+++ b/apicheck.mk
@@ -0,0 +1,244 @@
1# Copyright (C) 2016 The Android Open Source Project
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
15#
16# Input variables
17#
18# $(car_module) - name of the car library module
19# $(car_module_api_dir) - dir to store API files
20# $(car_module_include_systemapi) - if systemApi file should be generated
21# $(car_module_java_libraries) - dependent libraries
22# $(car_module_java_packages) - list of package names containing public classes
23# $(car_module_src_files) - list of source files
24# $(api_check_current_msg_file) - file containing error message for current API check
25# $(api_check_last_msg_file) - file containing error message for last SDK API check
26# ---------------------------------------------
27
28ifeq ($(BOARD_IS_AUTOMOTIVE), true)
29ifneq ($(TARGET_BUILD_PDK), true)
30#
31# Generate the public stub source files
32# ---------------------------------------------
33include $(CLEAR_VARS)
34
35car_module_api_file := \
36 $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/$(car_module)_api.txt
37car_module_removed_file := \
38 $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/$(car_module)_removed.txt
39
40LOCAL_MODULE := $(car_module)-stubs
41LOCAL_MODULE_CLASS := JAVA_LIBRARIES
42LOCAL_MODULE_TAGS := optional
43
44LOCAL_SRC_FILES := $(car_module_src_files)
45LOCAL_JAVA_LIBRARIES := $(car_module_java_libraries) $(car_module)
46LOCAL_ADDITIONAL_JAVA_DIR := \
47 $(call intermediates-dir-for,$(LOCAL_MODULE_CLASS),$(car_module),,COMMON)/src
48LOCAL_SDK_VERSION := $(CAR_CURRENT_SDK_VERSION)
49
50LOCAL_DROIDDOC_STUB_OUT_DIR := $(TARGET_OUT_COMMON_INTERMEDIATES)/$(LOCAL_MODULE_CLASS)/$(LOCAL_MODULE)_intermediates/src
51
52LOCAL_DROIDDOC_OPTIONS:= \
53 -stubpackages "$(subst $(space),:,$(car_module_java_packages))" \
54 -api $(car_module_api_file) \
55 -removedApi $(car_module_removed_file) \
56 -nodocs \
57 -hide 113 \
58 -hide 110
59LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR := build/tools/droiddoc/templates-sdk
60LOCAL_UNINSTALLABLE_MODULE := true
61
62include $(BUILD_DROIDDOC)
63car_stub_stamp := $(full_target)
64$(car_module_api_file) : $(full_target)
65
66ifeq ($(car_module_include_systemapi), true)
67#
68# Generate the system stub source files
69# ---------------------------------------------
70include $(CLEAR_VARS)
71
72car_module_system_api_file := \
73 $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/$(car_module)_system_api.txt
74car_module_system_removed_file := \
75 $(TARGET_OUT_COMMON_INTERMEDIATES)/PACKAGING/$(car_module)_system_removed.txt
76
77LOCAL_MODULE := $(car_module)-system-stubs
78LOCAL_MODULE_CLASS := JAVA_LIBRARIES
79LOCAL_MODULE_TAGS := optional
80
81LOCAL_SRC_FILES := $(car_module_src_files)
82LOCAL_JAVA_LIBRARIES := $(car_module_java_libraries) $(car_module)
83LOCAL_ADDITIONAL_JAVA_DIR := \
84 $(call intermediates-dir-for,$(LOCAL_MODULE_CLASS),$(car_module),,COMMON)/src
85LOCAL_SDK_VERSION := $(CAR_CURRENT_SDK_VERSION)
86
87LOCAL_DROIDDOC_STUB_OUT_DIR := $(TARGET_OUT_COMMON_INTERMEDIATES)/$(LOCAL_MODULE_CLASS)/$(LOCAL_MODULE)_intermediates/src
88
89LOCAL_DROIDDOC_OPTIONS:= \
90 -stubpackages "$(subst $(space),:,$(car_module_java_packages))" \
91 -showAnnotation android.annotation.SystemApi \
92 -api $(car_module_system_api_file) \
93 -removedApi $(car_module_system_removed_file) \
94 -nodocs \
95 -hide 113 \
96 -hide 110
97LOCAL_DROIDDOC_CUSTOM_TEMPLATE_DIR := build/tools/droiddoc/templates-sdk
98LOCAL_UNINSTALLABLE_MODULE := true
99
100include $(BUILD_DROIDDOC)
101car_system_stub_stamp := $(full_target)
102$(car_module_system_api_file) : $(full_target)
103
104#($(car_module_include_systemapi), true)
105endif
106#
107# Check public API
108# ---------------------------------------------
109.PHONY: $(car_module)-check-public-api
110checkapi: $(car_module)-check-public-api
111$(car_module): $(car_module)-check-public-api
112
113last_released_sdk_$(car_module) := $(lastword $(call numerically_sort, \
114 $(filter-out current, \
115 $(patsubst $(car_module_api_dir)/%.txt,%, $(wildcard $(car_module_api_dir)/*.txt)) \
116 )))
117
118# Check that the API we're building hasn't broken the last-released SDK version
119# if it exists
120ifneq ($(last_released_sdk_$(car_module)),)
121$(eval $(call check-api, \
122 $(car_module)-checkapi-last, \
123 $(car_module_api_dir)/$(last_released_sdk_$(car_module)).txt, \
124 $(car_module_api_file), \
125 $(car_module_api_dir)/removed.txt, \
126 $(car_module_removed_file), \
127 -hide 2 -hide 3 -hide 4 -hide 5 -hide 6 -hide 24 -hide 25 -hide 26 -hide 27 \
128 -warning 7 -warning 8 -warning 9 -warning 10 -warning 11 -warning 12 \
129 -warning 13 -warning 14 -warning 15 -warning 16 -warning 17 -warning 18 -hide 113, \
130 cat $(api_check_last_msg_file), \
131 $(car_module)-check-public-api, \
132 $(car_stub_stamp)))
133endif
134
135# Check that the API we're building hasn't changed from the not-yet-released
136# SDK version.
137$(eval $(call check-api, \
138 $(car_module)-checkapi-current, \
139 $(car_module_api_dir)/current.txt, \
140 $(car_module_api_file), \
141 $(car_module_api_dir)/removed.txt, \
142 $(car_module_removed_file), \
143 -error 2 -error 3 -error 4 -error 5 -error 6 -error 7 -error 8 -error 9 -error 10 -error 11 \
144 -error 12 -error 13 -error 14 -error 15 -error 16 -error 17 -error 18 -error 19 -error 20 \
145 -error 21 -error 23 -error 24 -error 25 -hide 113, \
146 cat $(api_check_current_msg_file), \
147 $(car_module)-check-public-api, \
148 $(car_stub_stamp)))
149
150.PHONY: update-$(car_module)-api
151update-$(car_module)-api: PRIVATE_API_DIR := $(car_module_api_dir)
152update-$(car_module)-api: PRIVATE_MODULE := $(car_module)
153update-$(car_module)-api: PRIVATE_REMOVED_API_FILE := $(car_module_removed_file)
154update-$(car_module)-api: $(car_module_api_file) | $(ACP)
155 @echo Copying $(PRIVATE_MODULE) current.txt
156 $(hide) $(ACP) $< $(PRIVATE_API_DIR)/current.txt
157 @echo Copying $(PRIVATE_MODULE) removed.txt
158 $(hide) $(ACP) $(PRIVATE_REMOVED_API_FILE) $(PRIVATE_API_DIR)/removed.txt
159
160# Run this update API task on the update-car-api task
161update-car-api: update-$(car_module)-api
162
163ifeq ($(car_module_include_systemapi), true)
164
165#
166# Check system API
167# ---------------------------------------------
168.PHONY: $(car_module)-check-system-api
169checkapi: $(car_module)-check-system-api
170$(car_module): $(car_module)-check-system-api
171
172last_released_system_sdk_$(car_module) := $(lastword $(call numerically_sort, \
173 $(filter-out system-current, \
174 $(patsubst $(car_module_api_dir)/%.txt,%, $(wildcard $(car_module_api_dir)/system-*.txt)) \
175 )))
176
177# Check that the API we're building hasn't broken the last-released SDK version
178# if it exists
179ifneq ($(last_released_system_sdk_$(car_module)),)
180$(eval $(call check-api, \
181 $(car_module)-checksystemapi-last, \
182 $(car_module_api_dir)/$(last_released_system_sdk_$(car_module)).txt, \
183 $(car_module_system_api_file), \
184 $(car_module_api_dir)/system-removed.txt, \
185 $(car_module_system_removed_file), \
186 -hide 2 -hide 3 -hide 4 -hide 5 -hide 6 -hide 24 -hide 25 -hide 26 -hide 27 \
187 -warning 7 -warning 8 -warning 9 -warning 10 -warning 11 -warning 12 \
188 -warning 13 -warning 14 -warning 15 -warning 16 -warning 17 -warning 18 -hide 113, \
189 cat $(api_check_last_msg_file), \
190 $(car_module)-check-system-api, \
191 $(car_system_stub_stamp)))
192endif
193
194# Check that the API we're building hasn't changed from the not-yet-released
195# SDK version.
196$(eval $(call check-api, \
197 $(car_module)-checksystemapi-current, \
198 $(car_module_api_dir)/system-current.txt, \
199 $(car_module_system_api_file), \
200 $(car_module_api_dir)/system-removed.txt, \
201 $(car_module_system_removed_file), \
202 -error 2 -error 3 -error 4 -error 5 -error 6 -error 7 -error 8 -error 9 -error 10 -error 11 \
203 -error 12 -error 13 -error 14 -error 15 -error 16 -error 17 -error 18 -error 19 -error 20 \
204 -error 21 -error 23 -error 24 -error 25 -hide 113, \
205 cat $(api_check_current_msg_file), \
206 $(car_module)-check-system-api, \
207 $(car_stub_stamp)))
208
209.PHONY: update-$(car_module)-system-api
210update-$(car_module)-system-api: PRIVATE_API_DIR := $(car_module_api_dir)
211update-$(car_module)-system-api: PRIVATE_MODULE := $(car_module)
212update-$(car_module)-system-api: PRIVATE_REMOVED_API_FILE := $(car_module_system_removed_file)
213update-$(car_module)-system-api: $(car_module_system_api_file) | $(ACP)
214 @echo Copying $(PRIVATE_MODULE) system-current.txt
215 $(hide) $(ACP) $< $(PRIVATE_API_DIR)/system-current.txt
216 @echo Copying $(PRIVATE_MODULE) system-removed.txt
217 $(hide) $(ACP) $(PRIVATE_REMOVED_API_FILE) $(PRIVATE_API_DIR)/system-removed.txt
218
219# Run this update API task on the update-car-api task
220update-car-api: update-$(car_module)-system-api
221
222#($(car_module_include_systemapi), true)
223endif
224
225#($(TARGET_BUILD_PDK),true)
226endif
227
228#($(BOARD_IS_AUTOMOTIVE), true)
229endif
230#
231# Clear variables
232# ---------------------------------------------
233car_module :=
234car_module_api_dir :=
235car_module_src_files :=
236car_module_java_libraries :=
237car_module_java_packages :=
238car_module_api_file :=
239car_module_removed_file :=
240car_module_system_api_file :=
241car_module_system_removed__file :=
242car_stub_stamp :=
243car_system_stub_stamp :=
244car_module_include_systemapi :=
diff --git a/apicheck_msg_current.txt b/apicheck_msg_current.txt
new file mode 100644
index 00000000..fa3598fb
--- /dev/null
+++ b/apicheck_msg_current.txt
@@ -0,0 +1,14 @@
1
2******************************
3You have tried to change a car library API from what has been previously approved.
4
5To make these errors go away, you have two choices:
6 1) You can add "@hide" javadoc comments to the methods, etc. listed in the
7 errors above.
8
9 2) You can update current.txt by executing the following command:
10 make update-car-api
11
12 To submit the revised current.txt to the main Android repository,
13 you will need approval.
14******************************
diff --git a/apicheck_msg_last.txt b/apicheck_msg_last.txt
new file mode 100644
index 00000000..5f548217
--- /dev/null
+++ b/apicheck_msg_last.txt
@@ -0,0 +1,5 @@
1
2******************************
3You have tried to change a car library API from what has
4been previously released in an SDK. Please fix the errors listed above.
5******************************
diff --git a/car-lib/Android.mk b/car-lib/Android.mk
index 4ab6af6e..e413a900 100644
--- a/car-lib/Android.mk
+++ b/car-lib/Android.mk
@@ -28,4 +28,14 @@ LOCAL_SRC_FILES := $(call all-java-files-under, src) $(call all-Iaidl-files-unde
28 28
29include $(BUILD_JAVA_LIBRARY) 29include $(BUILD_JAVA_LIBRARY)
30 30
31# API Check
32# ---------------------------------------------
33car_module := $(LOCAL_MODULE)
34car_module_src_files := $(LOCAL_SRC_FILES)
35car_module_api_dir := $(LOCAL_PATH)/api
36car_module_java_libraries := framework
37car_module_include_systemapi := true
38car_module_java_packages := android.car*
39include $(CAR_API_CHECK)
40
31endif #TARGET_BUILD_PDK 41endif #TARGET_BUILD_PDK
diff --git a/car-lib/api/current.txt b/car-lib/api/current.txt
new file mode 100644
index 00000000..77959c5f
--- /dev/null
+++ b/car-lib/api/current.txt
@@ -0,0 +1,345 @@
1package android.car {
2
3 public class Car {
4 method public void connect() throws java.lang.IllegalStateException;
5 method public static android.car.Car createCar(android.content.Context, android.content.ServiceConnection, android.os.Looper);
6 method public static android.car.Car createCar(android.content.Context, android.content.ServiceConnection);
7 method public void disconnect();
8 method public int getCarConnectionType();
9 method public java.lang.Object getCarManager(java.lang.String);
10 method public boolean isConnected();
11 method public boolean isConnecting();
12 field public static final java.lang.String APP_CONTEXT_SERVICE = "app_context";
13 field public static final java.lang.String AUDIO_SERVICE = "audio";
14 field public static final int CONNECTION_TYPE_EMBEDDED = 5; // 0x5
15 field public static final java.lang.String INFO_SERVICE = "info";
16 field public static final java.lang.String PACKAGE_SERVICE = "package";
17 field public static final java.lang.String PERMISSION_FUEL = "android.car.permission.CAR_FUEL";
18 field public static final java.lang.String PERMISSION_MILEAGE = "android.car.permission.CAR_MILEAGE";
19 field public static final java.lang.String PERMISSION_SPEED = "android.car.permission.CAR_SPEED";
20 field public static final java.lang.String SENSOR_SERVICE = "sensor";
21 }
22
23 public class CarAppContextManager {
24 method public int getActiveAppContexts();
25 method public boolean isOwningContext(int);
26 method public void onCarDisconnected();
27 method public void registerContextListener(android.car.CarAppContextManager.AppContextChangeListener, int);
28 method public void resetActiveContexts(int);
29 method public void setActiveContexts(int) throws java.lang.IllegalStateException, java.lang.SecurityException;
30 method public void unregisterContextListener();
31 field public static final int APP_CONTEXT_NAVIGATION = 1; // 0x1
32 field public static final int APP_CONTEXT_VOICE_COMMAND = 2; // 0x2
33 }
34
35 public static abstract interface CarAppContextManager.AppContextChangeListener {
36 method public abstract void onAppContextChange(int);
37 method public abstract void onAppContextOwnershipLoss(int);
38 }
39
40 public class CarInfoManager {
41 method public java.lang.Float getFloat(java.lang.String) throws android.car.CarNotConnectedException, java.lang.IllegalArgumentException;
42 method public java.lang.Integer getInt(java.lang.String) throws android.car.CarNotConnectedException, java.lang.IllegalArgumentException;
43 method public java.lang.Long getLong(java.lang.String) throws android.car.CarNotConnectedException, java.lang.IllegalArgumentException;
44 method public java.lang.String getString(java.lang.String) throws android.car.CarNotConnectedException, java.lang.IllegalArgumentException;
45 field public static final java.lang.String KEY_MANUFACTURER = "manufacturer";
46 field public static final java.lang.String KEY_MODEL = "model";
47 field public static final java.lang.String KEY_MODEL_YEAR = "model-year";
48 field public static final java.lang.String KEY_VEHICLE_ID = "vehicle-id";
49 }
50
51 public class CarNotConnectedException extends java.lang.Exception {
52 ctor public CarNotConnectedException();
53 ctor public CarNotConnectedException(java.lang.String);
54 ctor public CarNotConnectedException(java.lang.String, java.lang.Throwable);
55 ctor public CarNotConnectedException(java.lang.Exception);
56 }
57
58 public class CarNotSupportedException extends java.lang.Exception {
59 ctor public CarNotSupportedException();
60 ctor public CarNotSupportedException(java.lang.String);
61 ctor public CarNotSupportedException(java.lang.String, java.lang.Throwable);
62 ctor public CarNotSupportedException(java.lang.Exception);
63 }
64
65}
66
67package android.car.annotation {
68
69 public abstract class ValueTypeDef implements java.lang.annotation.Annotation {
70 }
71
72}
73
74package android.car.app.menu {
75
76 public abstract class CarMenuCallbacks {
77 ctor public CarMenuCallbacks();
78 method public abstract android.car.app.menu.RootMenu getRootMenu(android.os.Bundle);
79 method public abstract void onCarMenuClosed();
80 method public abstract void onCarMenuClosing();
81 method public abstract void onCarMenuOpened();
82 method public abstract void onCarMenuOpening();
83 method public abstract void onItemClicked(java.lang.String);
84 method public abstract boolean onItemLongClicked(java.lang.String);
85 method public abstract boolean onMenuClicked();
86 method public abstract void subscribe(java.lang.String, android.car.app.menu.SubscriptionCallbacks);
87 method public abstract void unsubscribe(java.lang.String, android.car.app.menu.SubscriptionCallbacks);
88 }
89
90 public class CarMenuConstants {
91 ctor public CarMenuConstants();
92 }
93
94 public static class CarMenuConstants.MenuItemConstants {
95 ctor public CarMenuConstants.MenuItemConstants();
96 field public static final int FLAG_BROWSABLE = 1; // 0x1
97 field public static final int FLAG_FIRSTITEM = 2; // 0x2
98 field public static final java.lang.String KEY_EMPTY_PLACEHOLDER = "android.car.app.menu.empty_placeholder";
99 field public static final java.lang.String KEY_FLAGS = "android.car.app.menu.flags";
100 field public static final java.lang.String KEY_ID = "android.car.app.menu.id";
101 field public static final java.lang.String KEY_LEFTICON = "android.car.app.menu.leftIcon";
102 field public static final java.lang.String KEY_REMOTEVIEWS = "android.car.app.menu.remoteViews";
103 field public static final java.lang.String KEY_RIGHTICON = "android.car.app.menu.rightIcon";
104 field public static final java.lang.String KEY_RIGHTTEXT = "android.car.app.menu.rightText";
105 field public static final java.lang.String KEY_TEXT = "android.car.app.menu.text";
106 field public static final java.lang.String KEY_TITLE = "android.car.app.menu.title";
107 field public static final java.lang.String KEY_WIDGET = "android.car.app.menu.widget";
108 field public static final java.lang.String KEY_WIDGET_STATE = "android.car.app.menu.widget_state";
109 field public static final int WIDGET_CHECKBOX = 1; // 0x1
110 field public static final int WIDGET_TEXT_VIEW = 2; // 0x2
111 }
112
113 public static abstract class CarMenuConstants.MenuItemConstants.MenuItemFlags implements java.lang.annotation.Annotation {
114 }
115
116 public static abstract class CarMenuConstants.MenuItemConstants.WidgetTypes implements java.lang.annotation.Annotation {
117 }
118
119 public abstract class CarUiEntry {
120 ctor public CarUiEntry(android.content.Context, android.content.Context);
121 method public abstract void closeDrawer();
122 method public abstract android.view.View getContentView();
123 method public abstract int getFragmentContainerId();
124 method public abstract java.lang.CharSequence getSearchBoxText();
125 method public abstract void hideMenuButton();
126 method public abstract void hideTitle();
127 method public abstract void onPause();
128 method public abstract void onRestoreInstanceState(android.os.Bundle);
129 method public abstract void onResume();
130 method public abstract void onSaveInstanceState(android.os.Bundle);
131 method public abstract void onStart();
132 method public abstract void onStop();
133 method public abstract void openDrawer();
134 method public abstract void restoreMenuDrawable();
135 method public abstract void setAutoLightDarkMode();
136 method public abstract void setBackground(android.graphics.Bitmap);
137 method public abstract void setBackgroundResource(int);
138 method public abstract void setCarMenuCallbacks(android.car.app.menu.CarMenuCallbacks);
139 method public abstract void setDarkMode();
140 method public abstract void setLightMode();
141 method public abstract void setMenuButtonBitmap(android.graphics.Bitmap);
142 method public abstract void setMenuButtonColor(int);
143 method public abstract void setScrimColor(int);
144 method public abstract void setSearchBoxColors(int, int, int, int);
145 method public abstract void setSearchBoxEditListener(android.car.app.menu.SearchBoxEditListener);
146 method public abstract void setSearchBoxEndView(android.view.View);
147 method public abstract void setTitle(java.lang.CharSequence);
148 method public abstract void showMenu(java.lang.String, java.lang.String);
149 method public abstract void showSearchBox(android.view.View.OnClickListener);
150 method public abstract void showTitle();
151 method public abstract void showToast(java.lang.String, long);
152 method public abstract android.widget.EditText startInput(java.lang.String, android.view.View.OnClickListener);
153 method public abstract void stopInput();
154 field protected final android.content.Context mAppContext;
155 field protected final android.content.Context mUiLibContext;
156 }
157
158 public class RootMenu {
159 ctor public RootMenu(java.lang.String);
160 ctor public RootMenu(java.lang.String, android.os.Bundle);
161 method public android.os.Bundle getBundle();
162 method public java.lang.String getId();
163 }
164
165 public abstract class SearchBoxEditListener {
166 ctor public SearchBoxEditListener();
167 method public abstract void onEdit(java.lang.String);
168 method public abstract void onSearch(java.lang.String);
169 }
170
171 public abstract class SubscriptionCallbacks {
172 ctor public SubscriptionCallbacks();
173 method public abstract void onChildChanged(java.lang.String, android.os.Bundle);
174 method public abstract void onChildrenLoaded(java.lang.String, java.util.List<android.os.Bundle>);
175 method public abstract void onError(java.lang.String);
176 }
177
178}
179
180package android.car.content.pm {
181
182 public class CarPackageManager {
183 method public boolean isActivityAllowedWhileDriving(java.lang.String, java.lang.String) throws android.car.CarNotConnectedException;
184 method public boolean isServiceAllowedWhileDriving(java.lang.String, java.lang.String) throws android.car.CarNotConnectedException;
185 }
186
187}
188
189package android.car.hardware {
190
191 public class CarSensorEvent implements android.os.Parcelable {
192 ctor public CarSensorEvent(android.os.Parcel);
193 ctor public CarSensorEvent(int, long, int, int);
194 method public int describeContents();
195 method public android.car.hardware.CarSensorEvent.CarSpeedData getCarSpeedData(android.car.hardware.CarSensorEvent.CarSpeedData);
196 method public android.car.hardware.CarSensorEvent.DrivingStatusData getDrivingStatusData(android.car.hardware.CarSensorEvent.DrivingStatusData);
197 method public android.car.hardware.CarSensorEvent.EnvironmentData getEnvironmentData(android.car.hardware.CarSensorEvent.EnvironmentData);
198 method public android.car.hardware.CarSensorEvent.FuelLevelData getFuelLevelData(android.car.hardware.CarSensorEvent.FuelLevelData);
199 method public android.car.hardware.CarSensorEvent.GearData getGearData(android.car.hardware.CarSensorEvent.GearData);
200 method public android.car.hardware.CarSensorEvent.NightData getNightData(android.car.hardware.CarSensorEvent.NightData);
201 method public android.car.hardware.CarSensorEvent.OdometerData getOdometerData(android.car.hardware.CarSensorEvent.OdometerData);
202 method public android.car.hardware.CarSensorEvent.ParkingBrakeData getParkingBrakeData(android.car.hardware.CarSensorEvent.ParkingBrakeData);
203 method public android.car.hardware.CarSensorEvent.RpmData getRpmData(android.car.hardware.CarSensorEvent.RpmData);
204 method public void writeToParcel(android.os.Parcel, int);
205 field public static final android.os.Parcelable.Creator<android.car.hardware.CarSensorEvent> CREATOR;
206 field public static final int DRIVE_STATUS_FULLY_RESTRICTED = 31; // 0x1f
207 field public static final int DRIVE_STATUS_LIMIT_MESSAGE_LEN = 16; // 0x10
208 field public static final int DRIVE_STATUS_NO_CONFIG = 8; // 0x8
209 field public static final int DRIVE_STATUS_NO_KEYBOARD_INPUT = 2; // 0x2
210 field public static final int DRIVE_STATUS_NO_VIDEO = 1; // 0x1
211 field public static final int DRIVE_STATUS_NO_VOICE_INPUT = 4; // 0x4
212 field public static final int DRIVE_STATUS_UNRESTRICTED = 0; // 0x0
213 field public static final int GEAR_DRIVE = 100; // 0x64
214 field public static final int GEAR_EIGHTH = 8; // 0x8
215 field public static final int GEAR_FIFTH = 5; // 0x5
216 field public static final int GEAR_FIRST = 1; // 0x1
217 field public static final int GEAR_FOURTH = 4; // 0x4
218 field public static final int GEAR_NEUTRAL = 0; // 0x0
219 field public static final int GEAR_NINTH = 9; // 0x9
220 field public static final int GEAR_PARK = 101; // 0x65
221 field public static final int GEAR_REVERSE = 102; // 0x66
222 field public static final int GEAR_SECOND = 2; // 0x2
223 field public static final int GEAR_SEVENTH = 7; // 0x7
224 field public static final int GEAR_SIXTH = 6; // 0x6
225 field public static final int GEAR_TENTH = 10; // 0xa
226 field public static final int GEAR_THIRD = 3; // 0x3
227 field public static final int INDEX_ENVIRONMENT_PRESSURE = 1; // 0x1
228 field public static final int INDEX_ENVIRONMENT_TEMPERATURE = 0; // 0x0
229 field public static final int INDEX_FUEL_LEVEL_IN_DISTANCE = 1; // 0x1
230 field public static final int INDEX_FUEL_LEVEL_IN_PERCENTILE = 0; // 0x0
231 field public static final int INDEX_FUEL_LOW_WARNING = 0; // 0x0
232 field public final float[] floatValues;
233 field public final int[] intValues;
234 field public int sensorType;
235 field public long timeStampNs;
236 }
237
238 public static class CarSensorEvent.CarSpeedData {
239 ctor public CarSensorEvent.CarSpeedData();
240 field public float carSpeed;
241 field public long timeStampNs;
242 }
243
244 public static class CarSensorEvent.DrivingStatusData {
245 ctor public CarSensorEvent.DrivingStatusData();
246 field public int status;
247 field public long timeStampNs;
248 }
249
250 public static class CarSensorEvent.EnvironmentData {
251 ctor public CarSensorEvent.EnvironmentData();
252 field public float pressure;
253 field public float temperature;
254 field public long timeStampNs;
255 }
256
257 public static class CarSensorEvent.FuelLevelData {
258 ctor public CarSensorEvent.FuelLevelData();
259 field public int level;
260 field public boolean lowFuelWarning;
261 field public float range;
262 field public long timeStampNs;
263 }
264
265 public static class CarSensorEvent.GearData {
266 ctor public CarSensorEvent.GearData();
267 field public int gear;
268 field public long timeStampNs;
269 }
270
271 public static class CarSensorEvent.NightData {
272 ctor public CarSensorEvent.NightData();
273 field public boolean isNightMode;
274 field public long timeStampNs;
275 }
276
277 public static class CarSensorEvent.OdometerData {
278 ctor public CarSensorEvent.OdometerData();
279 field public float kms;
280 field public long timeStampNs;
281 }
282
283 public static class CarSensorEvent.ParkingBrakeData {
284 ctor public CarSensorEvent.ParkingBrakeData();
285 field public boolean isEngaged;
286 field public long timeStampNs;
287 }
288
289 public static class CarSensorEvent.RpmData {
290 ctor public CarSensorEvent.RpmData();
291 field public float rpm;
292 field public long timeStampNs;
293 }
294
295 public class CarSensorManager {
296 method public android.car.hardware.CarSensorEvent getLatestSensorEvent(int) throws android.car.CarNotConnectedException;
297 method public int[] getSupportedSensors() throws android.car.CarNotConnectedException;
298 method public boolean isSensorSupported(int) throws android.car.CarNotConnectedException;
299 method public static boolean isSensorSupported(int[], int);
300 method public boolean registerListener(android.car.hardware.CarSensorManager.CarSensorEventListener, int, int) throws android.car.CarNotConnectedException, java.lang.IllegalArgumentException;
301 method public void unregisterListener(android.car.hardware.CarSensorManager.CarSensorEventListener);
302 method public void unregisterListener(android.car.hardware.CarSensorManager.CarSensorEventListener, int);
303 field public static final int SENSOR_RATE_FAST = 1; // 0x1
304 field public static final int SENSOR_RATE_FASTEST = 0; // 0x0
305 field public static final int SENSOR_RATE_NORMAL = 3; // 0x3
306 field public static final int SENSOR_RATE_UI = 2; // 0x2
307 field public static final int SENSOR_TYPE_CAR_SPEED = 2; // 0x2
308 field public static final int SENSOR_TYPE_DRIVING_STATUS = 10; // 0xa
309 field public static final int SENSOR_TYPE_ENVIRONMENT = 11; // 0xb
310 field public static final int SENSOR_TYPE_FUEL_LEVEL = 5; // 0x5
311 field public static final int SENSOR_TYPE_GEAR = 7; // 0x7
312 field public static final int SENSOR_TYPE_NIGHT = 8; // 0x8
313 field public static final int SENSOR_TYPE_ODOMETER = 4; // 0x4
314 field public static final int SENSOR_TYPE_PARKING_BRAKE = 6; // 0x6
315 field public static final int SENSOR_TYPE_RPM = 3; // 0x3
316 field public static final int SENSOR_TYPE_VENDOR_EXTENSION_END = 1879048191; // 0x6fffffff
317 }
318
319 public static abstract interface CarSensorManager.CarSensorEventListener {
320 method public abstract void onSensorChanged(android.car.hardware.CarSensorEvent);
321 }
322
323}
324
325package android.car.media {
326
327 public class CarAudioManager {
328 method public int abandonAudioFocus(android.media.AudioManager.OnAudioFocusChangeListener, android.media.AudioAttributes);
329 method public android.media.AudioAttributes getAudioAttributesForCarUsage(int);
330 method public void onCarDisconnected();
331 method public int requestAudioFocus(android.media.AudioManager.OnAudioFocusChangeListener, android.media.AudioAttributes, int, int) throws java.lang.IllegalArgumentException;
332 field public static final int CAR_AUDIO_USAGE_ALARM = 6; // 0x6
333 field public static final int CAR_AUDIO_USAGE_DEFAULT = 0; // 0x0
334 field public static final int CAR_AUDIO_USAGE_MUSIC = 1; // 0x1
335 field public static final int CAR_AUDIO_USAGE_NAVIGATION_GUIDANCE = 3; // 0x3
336 field public static final int CAR_AUDIO_USAGE_NOTIFICATION = 7; // 0x7
337 field public static final int CAR_AUDIO_USAGE_RADIO = 2; // 0x2
338 field public static final int CAR_AUDIO_USAGE_SYSTEM_SAFETY_ALERT = 9; // 0x9
339 field public static final int CAR_AUDIO_USAGE_SYSTEM_SOUND = 8; // 0x8
340 field public static final int CAR_AUDIO_USAGE_VOICE_CALL = 4; // 0x4
341 field public static final int CAR_AUDIO_USAGE_VOICE_COMMAND = 5; // 0x5
342 }
343
344}
345
diff --git a/car-lib/api/removed.txt b/car-lib/api/removed.txt
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/car-lib/api/removed.txt
diff --git a/car-lib/api/system-current.txt b/car-lib/api/system-current.txt
new file mode 100644
index 00000000..577cbc21
--- /dev/null
+++ b/car-lib/api/system-current.txt
@@ -0,0 +1,781 @@
1package android.car {
2
3 public class Car {
4 method public void connect() throws java.lang.IllegalStateException;
5 method public static android.car.Car createCar(android.content.Context, android.content.ServiceConnection, android.os.Looper);
6 method public static android.car.Car createCar(android.content.Context, android.content.ServiceConnection);
7 method public void disconnect();
8 method public int getCarConnectionType();
9 method public java.lang.Object getCarManager(java.lang.String);
10 method public boolean isConnected();
11 method public boolean isConnecting();
12 field public static final java.lang.String APP_CONTEXT_SERVICE = "app_context";
13 field public static final java.lang.String AUDIO_SERVICE = "audio";
14 field public static final java.lang.String CAMERA_SERVICE = "camera";
15 field public static final int CONNECTION_TYPE_EMBEDDED = 5; // 0x5
16 field public static final java.lang.String HVAC_SERVICE = "hvac";
17 field public static final java.lang.String INFO_SERVICE = "info";
18 field public static final java.lang.String PACKAGE_SERVICE = "package";
19 field public static final java.lang.String PERMISSION_CAR_CAMERA = "android.car.permission.CAR_CAMERA";
20 field public static final java.lang.String PERMISSION_CAR_HVAC = "android.car.permission.CAR_HVAC";
21 field public static final java.lang.String PERMISSION_CAR_PROJECTION = "android.car.permission.CAR_PROJECTION";
22 field public static final java.lang.String PERMISSION_CAR_RADIO = "android.car.permission.CAR_RADIO";
23 field public static final java.lang.String PERMISSION_CONTROL_APP_BLOCKING = "android.car.permission.CONTROL_APP_BLOCKING";
24 field public static final java.lang.String PERMISSION_FUEL = "android.car.permission.CAR_FUEL";
25 field public static final java.lang.String PERMISSION_MILEAGE = "android.car.permission.CAR_MILEAGE";
26 field public static final java.lang.String PERMISSION_MOCK_VEHICLE_HAL = "android.car.permission.CAR_MOCK_VEHICLE_HAL";
27 field public static final java.lang.String PERMISSION_SPEED = "android.car.permission.CAR_SPEED";
28 field public static final java.lang.String PERMISSION_VENDOR_EXTENSION = "android.car.permission.CAR_VENDOR_EXTENSION";
29 field public static final java.lang.String PROJECTION_SERVICE = "projection";
30 field public static final java.lang.String RADIO_SERVICE = "radio";
31 field public static final java.lang.String SENSOR_SERVICE = "sensor";
32 field public static final java.lang.String TEST_SERVICE = "car-service-test";
33 }
34
35 public class CarAppContextManager {
36 method public int getActiveAppContexts();
37 method public boolean isOwningContext(int);
38 method public void onCarDisconnected();
39 method public void registerContextListener(android.car.CarAppContextManager.AppContextChangeListener, int);
40 method public void resetActiveContexts(int);
41 method public void setActiveContexts(int) throws java.lang.IllegalStateException, java.lang.SecurityException;
42 method public void unregisterContextListener();
43 field public static final int APP_CONTEXT_NAVIGATION = 1; // 0x1
44 field public static final int APP_CONTEXT_VOICE_COMMAND = 2; // 0x2
45 }
46
47 public static abstract interface CarAppContextManager.AppContextChangeListener {
48 method public abstract void onAppContextChange(int);
49 method public abstract void onAppContextOwnershipLoss(int);
50 }
51
52 public class CarInfoManager {
53 method public java.lang.Float getFloat(java.lang.String) throws android.car.CarNotConnectedException, java.lang.IllegalArgumentException;
54 method public java.lang.Integer getInt(java.lang.String) throws android.car.CarNotConnectedException, java.lang.IllegalArgumentException;
55 method public java.lang.Long getLong(java.lang.String) throws android.car.CarNotConnectedException, java.lang.IllegalArgumentException;
56 method public java.lang.String getString(java.lang.String) throws android.car.CarNotConnectedException, java.lang.IllegalArgumentException;
57 field public static final java.lang.String KEY_MANUFACTURER = "manufacturer";
58 field public static final java.lang.String KEY_MODEL = "model";
59 field public static final java.lang.String KEY_MODEL_YEAR = "model-year";
60 field public static final java.lang.String KEY_VEHICLE_ID = "vehicle-id";
61 }
62
63 public class CarNotConnectedException extends java.lang.Exception {
64 ctor public CarNotConnectedException();
65 ctor public CarNotConnectedException(java.lang.String);
66 ctor public CarNotConnectedException(java.lang.String, java.lang.Throwable);
67 ctor public CarNotConnectedException(java.lang.Exception);
68 }
69
70 public class CarNotSupportedException extends java.lang.Exception {
71 ctor public CarNotSupportedException();
72 ctor public CarNotSupportedException(java.lang.String);
73 ctor public CarNotSupportedException(java.lang.String, java.lang.Throwable);
74 ctor public CarNotSupportedException(java.lang.Exception);
75 }
76
77 public class CarProjectionManager {
78 method public void onCarDisconnected();
79 method public void registerProjectionRunner(android.content.Intent);
80 method public void regsiterProjectionListener(android.car.CarProjectionManager.CarProjectionListener, int);
81 method public void unregisterProjectionRunner(android.content.Intent);
82 method public void unregsiterProjectionListener();
83 field public static final int PROJECTION_LONG_PRESS_VOICE_SEARCH = 2; // 0x2
84 field public static final int PROJECTION_VOICE_SEARCH = 1; // 0x1
85 }
86
87 public static abstract interface CarProjectionManager.CarProjectionListener {
88 method public abstract void onVoiceAssistantRequest(boolean);
89 }
90
91 public class VehicleDoor {
92 ctor public VehicleDoor();
93 field public static final int DOOR_HOOD = 268435456; // 0x10000000
94 field public static final int DOOR_REAR = 536870912; // 0x20000000
95 field public static final int DOOR_ROW_1_LEFT = 1; // 0x1
96 field public static final int DOOR_ROW_1_RIGHT = 4; // 0x4
97 field public static final int DOOR_ROW_2_LEFT = 16; // 0x10
98 field public static final int DOOR_ROW_2_RIGHT = 64; // 0x40
99 field public static final int DOOR_ROW_3_LEFT = 256; // 0x100
100 field public static final int DOOR_ROW_3_RIGHT = 1024; // 0x400
101 }
102
103 public class VehicleSeat {
104 ctor public VehicleSeat();
105 field public static final int SEAT_DRIVER_LHD = 1; // 0x1
106 field public static final int SEAT_DRIVER_RHD = 2; // 0x2
107 field public static final int SEAT_ROW_1_PASSENGER_CENTER = 32; // 0x20
108 field public static final int SEAT_ROW_1_PASSENGER_LEFT = 16; // 0x10
109 field public static final int SEAT_ROW_1_PASSENGER_RIGHT = 64; // 0x40
110 field public static final int SEAT_ROW_2_PASSENGER_CENTER = 512; // 0x200
111 field public static final int SEAT_ROW_2_PASSENGER_LEFT = 256; // 0x100
112 field public static final int SEAT_ROW_2_PASSENGER_RIGHT = 1024; // 0x400
113 field public static final int SEAT_ROW_3_PASSENGER_CENTER = 8192; // 0x2000
114 field public static final int SEAT_ROW_3_PASSENGER_LEFT = 4096; // 0x1000
115 field public static final int SEAT_ROW_3_PASSENGER_RIGHT = 16384; // 0x4000
116 }
117
118 public class VehicleWindow {
119 ctor public VehicleWindow();
120 field public static final int WINDOW_FRONT_WINDSHIELD = 1; // 0x1
121 field public static final int WINDOW_REAR_WINDSHIELD = 2; // 0x2
122 field public static final int WINDOW_ROOF_TOP = 4; // 0x4
123 field public static final int WINDOW_ROW_1_LEFT = 16; // 0x10
124 field public static final int WINDOW_ROW_1_RIGHT = 32; // 0x20
125 field public static final int WINDOW_ROW_2_LEFT = 256; // 0x100
126 field public static final int WINDOW_ROW_2_RIGHT = 512; // 0x200
127 field public static final int WINDOW_ROW_3_LEFT = 4096; // 0x1000
128 field public static final int WINDOW_ROW_3_RIGHT = 8192; // 0x2000
129 }
130
131 public class VehicleZone {
132 ctor public VehicleZone();
133 field public static final int ZONE_ALL = -2147483648; // 0x80000000
134 field public static final int ZONE_ROW_1_ALL = 8; // 0x8
135 field public static final int ZONE_ROW_1_CENTER = 2; // 0x2
136 field public static final int ZONE_ROW_1_LEFT = 1; // 0x1
137 field public static final int ZONE_ROW_1_RIGHT = 4; // 0x4
138 field public static final int ZONE_ROW_2_ALL = 128; // 0x80
139 field public static final int ZONE_ROW_2_CENTER = 32; // 0x20
140 field public static final int ZONE_ROW_2_LEFT = 16; // 0x10
141 field public static final int ZONE_ROW_2_RIGHT = 64; // 0x40
142 field public static final int ZONE_ROW_3_ALL = 2048; // 0x800
143 field public static final int ZONE_ROW_3_CENTER = 512; // 0x200
144 field public static final int ZONE_ROW_3_LEFT = 256; // 0x100
145 field public static final int ZONE_ROW_3_RIGHT = 1024; // 0x400
146 field public static final int ZONE_ROW_4_ALL = 32768; // 0x8000
147 field public static final int ZONE_ROW_4_CENTER = 8192; // 0x2000
148 field public static final int ZONE_ROW_4_LEFT = 4096; // 0x1000
149 field public static final int ZONE_ROW_4_RIGHT = 16384; // 0x4000
150 }
151
152 public class VehicleZoneUtil {
153 ctor public VehicleZoneUtil();
154 method public static int getFirstZone(int);
155 method public static int getNextZone(int, int);
156 method public static int getNumBerOfZones(int);
157 method public static int[] listAllZones(int);
158 method public static int zoneToIndex(int, int);
159 }
160
161}
162
163package android.car.annotation {
164
165 public abstract class ValueTypeDef implements java.lang.annotation.Annotation {
166 }
167
168}
169
170package android.car.app.menu {
171
172 public abstract class CarMenuCallbacks {
173 ctor public CarMenuCallbacks();
174 method public abstract android.car.app.menu.RootMenu getRootMenu(android.os.Bundle);
175 method public abstract void onCarMenuClosed();
176 method public abstract void onCarMenuClosing();
177 method public abstract void onCarMenuOpened();
178 method public abstract void onCarMenuOpening();
179 method public abstract void onItemClicked(java.lang.String);
180 method public abstract boolean onItemLongClicked(java.lang.String);
181 method public abstract boolean onMenuClicked();
182 method public abstract void subscribe(java.lang.String, android.car.app.menu.SubscriptionCallbacks);
183 method public abstract void unsubscribe(java.lang.String, android.car.app.menu.SubscriptionCallbacks);
184 }
185
186 public class CarMenuConstants {
187 ctor public CarMenuConstants();
188 }
189
190 public static class CarMenuConstants.MenuItemConstants {
191 ctor public CarMenuConstants.MenuItemConstants();
192 field public static final int FLAG_BROWSABLE = 1; // 0x1
193 field public static final int FLAG_FIRSTITEM = 2; // 0x2
194 field public static final java.lang.String KEY_EMPTY_PLACEHOLDER = "android.car.app.menu.empty_placeholder";
195 field public static final java.lang.String KEY_FLAGS = "android.car.app.menu.flags";
196 field public static final java.lang.String KEY_ID = "android.car.app.menu.id";
197 field public static final java.lang.String KEY_LEFTICON = "android.car.app.menu.leftIcon";
198 field public static final java.lang.String KEY_REMOTEVIEWS = "android.car.app.menu.remoteViews";
199 field public static final java.lang.String KEY_RIGHTICON = "android.car.app.menu.rightIcon";
200 field public static final java.lang.String KEY_RIGHTTEXT = "android.car.app.menu.rightText";
201 field public static final java.lang.String KEY_TEXT = "android.car.app.menu.text";
202 field public static final java.lang.String KEY_TITLE = "android.car.app.menu.title";
203 field public static final java.lang.String KEY_WIDGET = "android.car.app.menu.widget";
204 field public static final java.lang.String KEY_WIDGET_STATE = "android.car.app.menu.widget_state";
205 field public static final int WIDGET_CHECKBOX = 1; // 0x1
206 field public static final int WIDGET_TEXT_VIEW = 2; // 0x2
207 }
208
209 public static abstract class CarMenuConstants.MenuItemConstants.MenuItemFlags implements java.lang.annotation.Annotation {
210 }
211
212 public static abstract class CarMenuConstants.MenuItemConstants.WidgetTypes implements java.lang.annotation.Annotation {
213 }
214
215 public abstract class CarUiEntry {
216 ctor public CarUiEntry(android.content.Context, android.content.Context);
217 method public abstract void closeDrawer();
218 method public abstract android.view.View getContentView();
219 method public abstract int getFragmentContainerId();
220 method public abstract java.lang.CharSequence getSearchBoxText();
221 method public abstract void hideMenuButton();
222 method public abstract void hideTitle();
223 method public abstract void onPause();
224 method public abstract void onRestoreInstanceState(android.os.Bundle);
225 method public abstract void onResume();
226 method public abstract void onSaveInstanceState(android.os.Bundle);
227 method public abstract void onStart();
228 method public abstract void onStop();
229 method public abstract void openDrawer();
230 method public abstract void restoreMenuDrawable();
231 method public abstract void setAutoLightDarkMode();
232 method public abstract void setBackground(android.graphics.Bitmap);
233 method public abstract void setBackgroundResource(int);
234 method public abstract void setCarMenuCallbacks(android.car.app.menu.CarMenuCallbacks);
235 method public abstract void setDarkMode();
236 method public abstract void setLightMode();
237 method public abstract void setMenuButtonBitmap(android.graphics.Bitmap);
238 method public abstract void setMenuButtonColor(int);
239 method public abstract void setScrimColor(int);
240 method public abstract void setSearchBoxColors(int, int, int, int);
241 method public abstract void setSearchBoxEditListener(android.car.app.menu.SearchBoxEditListener);
242 method public abstract void setSearchBoxEndView(android.view.View);
243 method public abstract void setTitle(java.lang.CharSequence);
244 method public abstract void showMenu(java.lang.String, java.lang.String);
245 method public abstract void showSearchBox(android.view.View.OnClickListener);
246 method public abstract void showTitle();
247 method public abstract void showToast(java.lang.String, long);
248 method public abstract android.widget.EditText startInput(java.lang.String, android.view.View.OnClickListener);
249 method public abstract void stopInput();
250 field protected final android.content.Context mAppContext;
251 field protected final android.content.Context mUiLibContext;
252 }
253
254 public class RootMenu {
255 ctor public RootMenu(java.lang.String);
256 ctor public RootMenu(java.lang.String, android.os.Bundle);
257 method public android.os.Bundle getBundle();
258 method public java.lang.String getId();
259 }
260
261 public abstract class SearchBoxEditListener {
262 ctor public SearchBoxEditListener();
263 method public abstract void onEdit(java.lang.String);
264 method public abstract void onSearch(java.lang.String);
265 }
266
267 public abstract class SubscriptionCallbacks {
268 ctor public SubscriptionCallbacks();
269 method public abstract void onChildChanged(java.lang.String, android.os.Bundle);
270 method public abstract void onChildrenLoaded(java.lang.String, java.util.List<android.os.Bundle>);
271 method public abstract void onError(java.lang.String);
272 }
273
274}
275
276package android.car.cluster.renderer {
277
278 public class DisplayConfiguration implements android.os.Parcelable {
279 ctor public DisplayConfiguration(android.os.Parcel);
280 ctor public DisplayConfiguration(android.graphics.Rect);
281 ctor public DisplayConfiguration(android.graphics.Rect, android.graphics.Rect);
282 method public int describeContents();
283 method public android.graphics.Rect getPrimaryRegion();
284 method public android.graphics.Rect getSecondaryRegion();
285 method public boolean hasSecondaryRegion();
286 method public void writeToParcel(android.os.Parcel, int);
287 field public static final android.os.Parcelable.Creator<android.car.cluster.renderer.DisplayConfiguration> CREATOR;
288 }
289
290 public abstract class InstrumentClusterRenderer {
291 ctor public InstrumentClusterRenderer();
292 method protected abstract android.car.cluster.renderer.NavigationRenderer createNavigationRenderer();
293 method public abstract android.car.navigation.CarNavigationInstrumentCluster getNavigationProperties();
294 method public synchronized android.car.cluster.renderer.NavigationRenderer getNavigationRenderer();
295 method public final synchronized void initialize();
296 method public abstract void onCreate(android.content.Context);
297 method public abstract android.view.View onCreateView(android.car.cluster.renderer.DisplayConfiguration);
298 method public abstract void onStart();
299 method public abstract void onStop();
300 }
301
302 public abstract class NavigationRenderer {
303 ctor public NavigationRenderer();
304 method public abstract void onNextTurnChanged(int, java.lang.String, int, int, android.graphics.Bitmap, int);
305 method public abstract void onNextTurnDistanceChanged(int, int);
306 method public abstract void onStartNavigation();
307 method public abstract void onStopNavigation();
308 }
309
310}
311
312package android.car.content.pm {
313
314 public class AppBlockingPackageInfo implements android.os.Parcelable {
315 ctor public AppBlockingPackageInfo(java.lang.String, int, int, int, android.content.pm.Signature[], java.lang.String[]);
316 ctor public AppBlockingPackageInfo(android.os.Parcel);
317 method public int describeContents();
318 method public void writeToParcel(android.os.Parcel, int);
319 field public static final android.os.Parcelable.Creator<android.car.content.pm.AppBlockingPackageInfo> CREATOR;
320 field public static final int FLAG_SYSTEM_APP = 1; // 0x1
321 field public static final int FLAG_WHOLE_ACTIVITY = 2; // 0x2
322 field public final java.lang.String[] activities;
323 field public final int flags;
324 field public final int maxRevisionCode;
325 field public final int minRevisionCode;
326 field public final java.lang.String packageName;
327 field public final android.content.pm.Signature[] signatures;
328 }
329
330 public class CarAppBlockingPolicy implements android.os.Parcelable {
331 ctor public CarAppBlockingPolicy(android.car.content.pm.AppBlockingPackageInfo[], android.car.content.pm.AppBlockingPackageInfo[]);
332 ctor public CarAppBlockingPolicy(android.os.Parcel);
333 method public int describeContents();
334 method public void writeToParcel(android.os.Parcel, int);
335 field public static final android.os.Parcelable.Creator<android.car.content.pm.CarAppBlockingPolicy> CREATOR;
336 field public final android.car.content.pm.AppBlockingPackageInfo[] blacklists;
337 field public final android.car.content.pm.AppBlockingPackageInfo[] whitelists;
338 }
339
340 public abstract class CarAppBlockingPolicyService extends android.app.Service {
341 ctor public CarAppBlockingPolicyService();
342 method protected abstract android.car.content.pm.CarAppBlockingPolicy getAppBlockingPolicy();
343 method public android.os.IBinder onBind(android.content.Intent);
344 field public static final java.lang.String SERVICE_INTERFACE = "android.car.content.pm.CarAppBlockingPolicyService";
345 }
346
347 public class CarPackageManager {
348 method public boolean isActivityAllowedWhileDriving(java.lang.String, java.lang.String) throws android.car.CarNotConnectedException;
349 method public boolean isServiceAllowedWhileDriving(java.lang.String, java.lang.String) throws android.car.CarNotConnectedException;
350 method public void setAppBlockingPolicy(java.lang.String, android.car.content.pm.CarAppBlockingPolicy, int) throws android.car.CarNotConnectedException, java.lang.IllegalArgumentException, java.lang.SecurityException;
351 field public static final int FLAG_SET_POLICY_ADD = 2; // 0x2
352 field public static final int FLAG_SET_POLICY_REMOVE = 4; // 0x4
353 field public static final int FLAG_SET_POLICY_WAIT_FOR_CHANGE = 1; // 0x1
354 }
355
356}
357
358package android.car.hardware {
359
360 public class CarSensorEvent implements android.os.Parcelable {
361 ctor public CarSensorEvent(android.os.Parcel);
362 ctor public CarSensorEvent(int, long, int, int);
363 method public int describeContents();
364 method public android.car.hardware.CarSensorEvent.CarSpeedData getCarSpeedData(android.car.hardware.CarSensorEvent.CarSpeedData);
365 method public android.car.hardware.CarSensorEvent.DrivingStatusData getDrivingStatusData(android.car.hardware.CarSensorEvent.DrivingStatusData);
366 method public android.car.hardware.CarSensorEvent.EnvironmentData getEnvironmentData(android.car.hardware.CarSensorEvent.EnvironmentData);
367 method public android.car.hardware.CarSensorEvent.FuelLevelData getFuelLevelData(android.car.hardware.CarSensorEvent.FuelLevelData);
368 method public android.car.hardware.CarSensorEvent.GearData getGearData(android.car.hardware.CarSensorEvent.GearData);
369 method public android.car.hardware.CarSensorEvent.NightData getNightData(android.car.hardware.CarSensorEvent.NightData);
370 method public android.car.hardware.CarSensorEvent.OdometerData getOdometerData(android.car.hardware.CarSensorEvent.OdometerData);
371 method public android.car.hardware.CarSensorEvent.ParkingBrakeData getParkingBrakeData(android.car.hardware.CarSensorEvent.ParkingBrakeData);
372 method public android.car.hardware.CarSensorEvent.RpmData getRpmData(android.car.hardware.CarSensorEvent.RpmData);
373 method public void writeToParcel(android.os.Parcel, int);
374 field public static final android.os.Parcelable.Creator<android.car.hardware.CarSensorEvent> CREATOR;
375 field public static final int DRIVE_STATUS_FULLY_RESTRICTED = 31; // 0x1f
376 field public static final int DRIVE_STATUS_LIMIT_MESSAGE_LEN = 16; // 0x10
377 field public static final int DRIVE_STATUS_NO_CONFIG = 8; // 0x8
378 field public static final int DRIVE_STATUS_NO_KEYBOARD_INPUT = 2; // 0x2
379 field public static final int DRIVE_STATUS_NO_VIDEO = 1; // 0x1
380 field public static final int DRIVE_STATUS_NO_VOICE_INPUT = 4; // 0x4
381 field public static final int DRIVE_STATUS_UNRESTRICTED = 0; // 0x0
382 field public static final int GEAR_DRIVE = 100; // 0x64
383 field public static final int GEAR_EIGHTH = 8; // 0x8
384 field public static final int GEAR_FIFTH = 5; // 0x5
385 field public static final int GEAR_FIRST = 1; // 0x1
386 field public static final int GEAR_FOURTH = 4; // 0x4
387 field public static final int GEAR_NEUTRAL = 0; // 0x0
388 field public static final int GEAR_NINTH = 9; // 0x9
389 field public static final int GEAR_PARK = 101; // 0x65
390 field public static final int GEAR_REVERSE = 102; // 0x66
391 field public static final int GEAR_SECOND = 2; // 0x2
392 field public static final int GEAR_SEVENTH = 7; // 0x7
393 field public static final int GEAR_SIXTH = 6; // 0x6
394 field public static final int GEAR_TENTH = 10; // 0xa
395 field public static final int GEAR_THIRD = 3; // 0x3
396 field public static final int INDEX_ENVIRONMENT_PRESSURE = 1; // 0x1
397 field public static final int INDEX_ENVIRONMENT_TEMPERATURE = 0; // 0x0
398 field public static final int INDEX_FUEL_LEVEL_IN_DISTANCE = 1; // 0x1
399 field public static final int INDEX_FUEL_LEVEL_IN_PERCENTILE = 0; // 0x0
400 field public static final int INDEX_FUEL_LOW_WARNING = 0; // 0x0
401 field public final float[] floatValues;
402 field public final int[] intValues;
403 field public int sensorType;
404 field public long timeStampNs;
405 }
406
407 public static class CarSensorEvent.CarSpeedData {
408 ctor public CarSensorEvent.CarSpeedData();
409 field public float carSpeed;
410 field public long timeStampNs;
411 }
412
413 public static class CarSensorEvent.DrivingStatusData {
414 ctor public CarSensorEvent.DrivingStatusData();
415 field public int status;
416 field public long timeStampNs;
417 }
418
419 public static class CarSensorEvent.EnvironmentData {
420 ctor public CarSensorEvent.EnvironmentData();
421 field public float pressure;
422 field public float temperature;
423 field public long timeStampNs;
424 }
425
426 public static class CarSensorEvent.FuelLevelData {
427 ctor public CarSensorEvent.FuelLevelData();
428 field public int level;
429 field public boolean lowFuelWarning;
430 field public float range;
431 field public long timeStampNs;
432 }
433
434 public static class CarSensorEvent.GearData {
435 ctor public CarSensorEvent.GearData();
436 field public int gear;
437 field public long timeStampNs;
438 }
439
440 public static class CarSensorEvent.NightData {
441 ctor public CarSensorEvent.NightData();
442 field public boolean isNightMode;
443 field public long timeStampNs;
444 }
445
446 public static class CarSensorEvent.OdometerData {
447 ctor public CarSensorEvent.OdometerData();
448 field public float kms;
449 field public long timeStampNs;
450 }
451
452 public static class CarSensorEvent.ParkingBrakeData {
453 ctor public CarSensorEvent.ParkingBrakeData();
454 field public boolean isEngaged;
455 field public long timeStampNs;
456 }
457
458 public static class CarSensorEvent.RpmData {
459 ctor public CarSensorEvent.RpmData();
460 field public float rpm;
461 field public long timeStampNs;
462 }
463
464 public class CarSensorManager {
465 method public android.car.hardware.CarSensorEvent getLatestSensorEvent(int) throws android.car.CarNotConnectedException;
466 method public int[] getSupportedSensors() throws android.car.CarNotConnectedException;
467 method public boolean isSensorSupported(int) throws android.car.CarNotConnectedException;
468 method public static boolean isSensorSupported(int[], int);
469 method public boolean registerListener(android.car.hardware.CarSensorManager.CarSensorEventListener, int, int) throws android.car.CarNotConnectedException, java.lang.IllegalArgumentException;
470 method public void unregisterListener(android.car.hardware.CarSensorManager.CarSensorEventListener);
471 method public void unregisterListener(android.car.hardware.CarSensorManager.CarSensorEventListener, int);
472 field public static final int SENSOR_RATE_FAST = 1; // 0x1
473 field public static final int SENSOR_RATE_FASTEST = 0; // 0x0
474 field public static final int SENSOR_RATE_NORMAL = 3; // 0x3
475 field public static final int SENSOR_RATE_UI = 2; // 0x2
476 field public static final int SENSOR_TYPE_CAR_SPEED = 2; // 0x2
477 field public static final int SENSOR_TYPE_DRIVING_STATUS = 10; // 0xa
478 field public static final int SENSOR_TYPE_ENVIRONMENT = 11; // 0xb
479 field public static final int SENSOR_TYPE_FUEL_LEVEL = 5; // 0x5
480 field public static final int SENSOR_TYPE_GEAR = 7; // 0x7
481 field public static final int SENSOR_TYPE_NIGHT = 8; // 0x8
482 field public static final int SENSOR_TYPE_ODOMETER = 4; // 0x4
483 field public static final int SENSOR_TYPE_PARKING_BRAKE = 6; // 0x6
484 field public static final int SENSOR_TYPE_RPM = 3; // 0x3
485 field public static final int SENSOR_TYPE_VENDOR_EXTENSION_END = 1879048191; // 0x6fffffff
486 }
487
488 public static abstract interface CarSensorManager.CarSensorEventListener {
489 method public abstract void onSensorChanged(android.car.hardware.CarSensorEvent);
490 }
491
492}
493
494package android.car.hardware.camera {
495
496 public class CarCamera {
497 ctor public CarCamera(android.car.hardware.camera.ICarCamera, int);
498 method public android.graphics.Rect getCameraCrop();
499 method public android.graphics.Rect getCameraPosition();
500 method public android.car.hardware.camera.CarCameraState getCameraState();
501 method public int getCapabilities();
502 method public void setCameraCrop(android.graphics.Rect);
503 method public void setCameraPosition(android.graphics.Rect);
504 method public void setCameraState(android.car.hardware.camera.CarCameraState);
505 field public static final java.lang.String TAG;
506 field public final int mCameraType;
507 }
508
509 public class CarCameraManager {
510 method public void closeCamera(android.car.hardware.camera.CarCamera);
511 method public int getCameraCapabilities(int);
512 method public int[] getCameraList();
513 method public android.car.hardware.camera.CarCamera openCamera(int);
514 field public static final int ANDROID_OVERLAY_SUPPORT_FLAG = 1; // 0x1
515 field public static final int CAMERA_CROP_SUPPORT_FLAG = 2; // 0x2
516 field public static final int CAMERA_POSITIONING_SUPPORT_FLAG = 4; // 0x4
517 field public static final int CAR_CAMERA_TYPE_NONE = 0; // 0x0
518 field public static final int CAR_CAMERA_TYPE_RVC = 1; // 0x1
519 field public static final boolean DBG = true;
520 field public static final java.lang.String TAG;
521 }
522
523 public class CarCameraState implements android.os.Parcelable {
524 ctor public CarCameraState(android.car.hardware.camera.CarCameraState);
525 ctor public CarCameraState(boolean, boolean);
526 method public int describeContents();
527 method public boolean getCameraIsOn();
528 method public boolean getOverlayIsOn();
529 method public void setCameraIsOn(boolean);
530 method public void setOverlayIsOn(boolean);
531 method public void writeToParcel(android.os.Parcel, int);
532 field public static final android.os.Parcelable.Creator<android.car.hardware.camera.CarCameraState> CREATOR;
533 }
534
535 public abstract interface ICarCamera implements android.os.IInterface {
536 method public abstract android.graphics.Rect getCameraCrop(int) throws android.os.RemoteException;
537 method public abstract int[] getCameraList() throws android.os.RemoteException;
538 method public abstract android.graphics.Rect getCameraPosition(int) throws android.os.RemoteException;
539 method public abstract android.car.hardware.camera.CarCameraState getCameraState(int) throws android.os.RemoteException;
540 method public abstract int getCapabilities(int) throws android.os.RemoteException;
541 method public abstract void setCameraCrop(int, android.graphics.Rect) throws android.os.RemoteException;
542 method public abstract void setCameraPosition(int, android.graphics.Rect) throws android.os.RemoteException;
543 method public abstract void setCameraState(int, android.car.hardware.camera.CarCameraState) throws android.os.RemoteException;
544 }
545
546}
547
548package android.car.hardware.hvac {
549
550 public class CarHvacEvent implements android.os.Parcelable {
551 ctor public CarHvacEvent(int, int, int, boolean);
552 ctor public CarHvacEvent(int, int, int, float);
553 ctor public CarHvacEvent(int, int, int, int);
554 method public int describeContents();
555 method public int getEventType();
556 method public float getFloatValue();
557 method public int getIntValue();
558 method public int getPropertyId();
559 method public int getPropertyType();
560 method public int getZone();
561 method public void writeToParcel(android.os.Parcel, int);
562 field public static final android.os.Parcelable.Creator<android.car.hardware.hvac.CarHvacEvent> CREATOR;
563 field public static final int HVAC_EVENT_ERROR = 1; // 0x1
564 field public static final int HVAC_EVENT_PROPERTY_CHANGE = 0; // 0x0
565 }
566
567 public class CarHvacManager {
568 method public boolean getBooleanProperty(int, int);
569 method public float getFloatProperty(int, int);
570 method public int getIntProperty(int, int);
571 method public java.util.List<android.car.hardware.hvac.CarHvacManager.CarHvacBaseProperty> getPropertyList();
572 method public static boolean isZonedProperty(int);
573 method public synchronized void registerListener(android.car.hardware.hvac.CarHvacManager.CarHvacEventListener) throws android.car.CarNotConnectedException;
574 method public void setBooleanProperty(int, int, boolean);
575 method public void setFloatProperty(int, int, float);
576 method public void setIntProperty(int, int, int);
577 method public synchronized void unregisterListener();
578 field public static final boolean DBG = true;
579 field public static final int HVAC_AIR_RECIRCULATION_ON = 4; // 0x4
580 field public static final int HVAC_AUTOMATIC_MODE_ON = 3; // 0x3
581 field public static final int HVAC_MIRROR_DEFROSTER_ON = 1; // 0x1
582 field public static final int HVAC_STEERING_WHEEL_TEMP = 5; // 0x5
583 field public static final int HVAC_WINDOW_DEFROSTER_ON = 20481; // 0x5001
584 field public static final int HVAC_ZONED_AC_ON = 16393; // 0x4009
585 field public static final int HVAC_ZONED_FAN_POSITION = 16391; // 0x4007
586 field public static final int HVAC_ZONED_FAN_POSITION_AVAILABLE = 16390; // 0x4006
587 field public static final int HVAC_ZONED_FAN_SPEED_RPM = 16389; // 0x4005
588 field public static final int HVAC_ZONED_FAN_SPEED_SETPOINT = 16388; // 0x4004
589 field public static final int HVAC_ZONED_SEAT_TEMP = 16392; // 0x4008
590 field public static final int HVAC_ZONED_TEMP_ACTUAL = 16386; // 0x4002
591 field public static final int HVAC_ZONED_TEMP_IS_FARENHEIT = 16387; // 0x4003
592 field public static final int HVAC_ZONED_TEMP_SETPOINT = 16385; // 0x4001
593 field public static final int MAX_GLOBAL_PROPETY_ID = 16383; // 0x3fff
594 field public static final int PROPERTY_TYPE_BOOLEAN = 0; // 0x0
595 field public static final int PROPERTY_TYPE_FLOAT = 1; // 0x1
596 field public static final int PROPERTY_TYPE_FLOAT_VECTOR = 4; // 0x4
597 field public static final int PROPERTY_TYPE_INT = 2; // 0x2
598 field public static final int PROPERTY_TYPE_INT_VECTOR = 3; // 0x3
599 field public static final java.lang.String TAG = "CarHvacManager";
600 }
601
602 public static class CarHvacManager.CarHvacBaseProperty {
603 ctor public CarHvacManager.CarHvacBaseProperty(int, int, int);
604 method protected void assertNonZonedProperty();
605 method protected void assertZonedProperty();
606 method public int getPropertyId();
607 method public int getType();
608 method public int getZone();
609 method public int getZones();
610 method public boolean isZonedProperty();
611 field protected final int mPropertyId;
612 field protected final int mType;
613 field protected final int mZones;
614 }
615
616 public static final class CarHvacManager.CarHvacBooleanProperty extends android.car.hardware.hvac.CarHvacManager.CarHvacBaseProperty {
617 ctor public CarHvacManager.CarHvacBooleanProperty(int, int);
618 }
619
620 public static final class CarHvacManager.CarHvacBooleanValue extends android.car.hardware.hvac.CarHvacManager.CarHvacBaseProperty {
621 ctor public CarHvacManager.CarHvacBooleanValue(int, int, boolean);
622 method public boolean getValue();
623 }
624
625 public static abstract interface CarHvacManager.CarHvacEventListener {
626 method public abstract void onChangeEvent(android.car.hardware.hvac.CarHvacManager.CarHvacBaseProperty);
627 method public abstract void onErrorEvent(int, int);
628 }
629
630 public static final class CarHvacManager.CarHvacFloatProperty extends android.car.hardware.hvac.CarHvacManager.CarHvacBaseProperty {
631 ctor public CarHvacManager.CarHvacFloatProperty(int, int, float[], float[]);
632 method public float getMaxValue();
633 method public float getMaxValue(int);
634 method public float getMinValue();
635 method public float getMinValue(int);
636 }
637
638 public static final class CarHvacManager.CarHvacFloatValue extends android.car.hardware.hvac.CarHvacManager.CarHvacBaseProperty {
639 ctor public CarHvacManager.CarHvacFloatValue(int, int, float);
640 method public float getValue();
641 }
642
643 public static final class CarHvacManager.CarHvacIntProperty extends android.car.hardware.hvac.CarHvacManager.CarHvacBaseProperty {
644 ctor public CarHvacManager.CarHvacIntProperty(int, int, int[], int[]);
645 method public int getMaxValue();
646 method public int getMaxValue(int);
647 method public int getMinValue();
648 method public int getMinValue(int);
649 }
650
651 public static final class CarHvacManager.CarHvacIntValue extends android.car.hardware.hvac.CarHvacManager.CarHvacBaseProperty {
652 ctor public CarHvacManager.CarHvacIntValue(int, int, int);
653 method public int getValue();
654 }
655
656 public class CarHvacProperty implements android.os.Parcelable {
657 ctor public CarHvacProperty(android.car.hardware.hvac.CarHvacProperty);
658 ctor public CarHvacProperty(int, int, boolean);
659 ctor public CarHvacProperty(int, int, float[], float[], float);
660 ctor public CarHvacProperty(int, int, int[], int[], int);
661 ctor public CarHvacProperty(int, int, int[], int[], int[]);
662 ctor public CarHvacProperty(int, int, float[], float[], float[]);
663 method public int describeContents();
664 method public boolean getBooleanValue();
665 method public float[] getFloatMaxs();
666 method public float[] getFloatMins();
667 method public float getFloatValue();
668 method public float[] getFloatValues();
669 method public int[] getIntMaxs();
670 method public int[] getIntMins();
671 method public int getIntValue();
672 method public int[] getIntValues();
673 method public int getPropertyId();
674 method public int getType();
675 method public int getZones();
676 method public void setBooleanValue(boolean);
677 method public void setFloatValue(float);
678 method public void setFloatValues(float[]);
679 method public void setIntValue(int);
680 method public void setIntValues(int[]);
681 method public void setZones(int);
682 method public void writeToParcel(android.os.Parcel, int);
683 field public static final android.os.Parcelable.Creator<android.car.hardware.hvac.CarHvacProperty> CREATOR;
684 }
685
686}
687
688package android.car.hardware.radio {
689
690 public class CarRadioEvent implements android.os.Parcelable {
691 ctor public CarRadioEvent(int, android.car.hardware.radio.CarRadioPreset);
692 method public int describeContents();
693 method public int getEventType();
694 method public android.car.hardware.radio.CarRadioPreset getPreset();
695 method public void writeToParcel(android.os.Parcel, int);
696 field public static final android.os.Parcelable.Creator<android.car.hardware.radio.CarRadioEvent> CREATOR;
697 field public static final int RADIO_PRESET = 0; // 0x0
698 }
699
700 public class CarRadioManager {
701 method public android.car.hardware.radio.CarRadioPreset getPreset(int);
702 method public int getPresetCount();
703 method public synchronized void registerListener(android.car.hardware.radio.CarRadioManager.CarRadioEventListener) throws android.car.CarNotConnectedException;
704 method public boolean setPreset(android.car.hardware.radio.CarRadioPreset) throws java.lang.IllegalArgumentException;
705 method public synchronized void unregisterListner();
706 field public static final boolean DBG = true;
707 field public static final java.lang.String TAG = "CarRadioManager";
708 }
709
710 public static abstract interface CarRadioManager.CarRadioEventListener {
711 method public abstract void onEvent(android.car.hardware.radio.CarRadioEvent);
712 }
713
714 public class CarRadioPreset implements android.os.Parcelable {
715 ctor public CarRadioPreset(int, int, int, int);
716 method public int describeContents();
717 method public int getBand();
718 method public int getChannel();
719 method public int getPresetNumber();
720 method public int getSubChannel();
721 method public void writeToParcel(android.os.Parcel, int);
722 field public static final android.os.Parcelable.Creator<android.car.hardware.radio.CarRadioPreset> CREATOR;
723 }
724
725}
726
727package android.car.media {
728
729 public class CarAudioManager {
730 method public int abandonAudioFocus(android.media.AudioManager.OnAudioFocusChangeListener, android.media.AudioAttributes);
731 method public android.media.AudioAttributes getAudioAttributesForCarUsage(int);
732 method public void onCarDisconnected();
733 method public int requestAudioFocus(android.media.AudioManager.OnAudioFocusChangeListener, android.media.AudioAttributes, int, int) throws java.lang.IllegalArgumentException;
734 field public static final int CAR_AUDIO_USAGE_ALARM = 6; // 0x6
735 field public static final int CAR_AUDIO_USAGE_DEFAULT = 0; // 0x0
736 field public static final int CAR_AUDIO_USAGE_MUSIC = 1; // 0x1
737 field public static final int CAR_AUDIO_USAGE_NAVIGATION_GUIDANCE = 3; // 0x3
738 field public static final int CAR_AUDIO_USAGE_NOTIFICATION = 7; // 0x7
739 field public static final int CAR_AUDIO_USAGE_RADIO = 2; // 0x2
740 field public static final int CAR_AUDIO_USAGE_SYSTEM_SAFETY_ALERT = 9; // 0x9
741 field public static final int CAR_AUDIO_USAGE_SYSTEM_SOUND = 8; // 0x8
742 field public static final int CAR_AUDIO_USAGE_VOICE_CALL = 4; // 0x4
743 field public static final int CAR_AUDIO_USAGE_VOICE_COMMAND = 5; // 0x5
744 }
745
746}
747
748package android.car.navigation {
749
750 public class CarNavigationInstrumentCluster implements android.os.Parcelable {
751 ctor public CarNavigationInstrumentCluster(android.car.navigation.CarNavigationInstrumentCluster);
752 method public static android.car.navigation.CarNavigationInstrumentCluster createCluster(int);
753 method public static android.car.navigation.CarNavigationInstrumentCluster createCustomImageCluster(int, int, int, int);
754 method public int describeContents();
755 method public int getImageColorDepthBits();
756 method public int getImageHeight();
757 method public int getImageWidth();
758 method public int getMinIntervalMs();
759 method public int getType();
760 method public boolean supportsCustomImages();
761 method public void writeToParcel(android.os.Parcel, int);
762 field public static final android.os.Parcelable.Creator<android.car.navigation.CarNavigationInstrumentCluster> CREATOR;
763 }
764
765 public static abstract class CarNavigationInstrumentCluster.ClusterType implements java.lang.annotation.Annotation {
766 field public static final int CUSTOM_IMAGES_SUPPORTED = 1; // 0x1
767 field public static final int IMAGE_CODES_ONLY = 2; // 0x2
768 }
769
770}
771
772package android.car.test {
773
774 public class CarTestManagerBinderWrapper {
775 ctor public CarTestManagerBinderWrapper(android.os.IBinder);
776 method public void onCarDisconnected();
777 field public final android.os.IBinder binder;
778 }
779
780}
781
diff --git a/car-lib/api/system-removed.txt b/car-lib/api/system-removed.txt
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/car-lib/api/system-removed.txt
diff --git a/car-lib/src/android/car/Car.java b/car-lib/src/android/car/Car.java
index 444634d6..fbe455b8 100644
--- a/car-lib/src/android/car/Car.java
+++ b/car-lib/src/android/car/Car.java
@@ -71,15 +71,27 @@ public class Car {
71 */ 71 */
72 public static final String CAR_NAVIGATION_SERVICE = "car_navigation_service"; 72 public static final String CAR_NAVIGATION_SERVICE = "car_navigation_service";
73 73
74 /**
75 * @hide
76 */
74 @SystemApi 77 @SystemApi
75 public static final String CAMERA_SERVICE = "camera"; 78 public static final String CAMERA_SERVICE = "camera";
76 79
80 /**
81 * @hide
82 */
77 @SystemApi 83 @SystemApi
78 public static final String RADIO_SERVICE = "radio"; 84 public static final String RADIO_SERVICE = "radio";
79 85
86 /**
87 * @hide
88 */
80 @SystemApi 89 @SystemApi
81 public static final String HVAC_SERVICE = "hvac"; 90 public static final String HVAC_SERVICE = "hvac";
82 91
92 /**
93 * @hide
94 */
83 @SystemApi 95 @SystemApi
84 public static final String PROJECTION_SERVICE = "projection"; 96 public static final String PROJECTION_SERVICE = "projection";
85 97
@@ -107,32 +119,53 @@ public class Car {
107 public static final String PERMISSION_CAR_NAVIGATION_MANAGER = 119 public static final String PERMISSION_CAR_NAVIGATION_MANAGER =
108 "android.car.permission.CAR_NAVIGATION_MANAGER"; 120 "android.car.permission.CAR_NAVIGATION_MANAGER";
109 121
110 /** Permission necessary to access car specific communication channel. */ 122 /**
123 * Permission necessary to access car specific communication channel.
124 * @hide
125 */
111 @SystemApi 126 @SystemApi
112 public static final String PERMISSION_VENDOR_EXTENSION = 127 public static final String PERMISSION_VENDOR_EXTENSION =
113 "android.car.permission.CAR_VENDOR_EXTENSION"; 128 "android.car.permission.CAR_VENDOR_EXTENSION";
114 129
130 /**
131 * @hide
132 */
115 @SystemApi 133 @SystemApi
116 public static final String PERMISSION_CONTROL_APP_BLOCKING = 134 public static final String PERMISSION_CONTROL_APP_BLOCKING =
117 "android.car.permission.CONTROL_APP_BLOCKING"; 135 "android.car.permission.CONTROL_APP_BLOCKING";
118 136
119 /** Permission necessary to access Car Camera APIs. */ 137 /**
138 * Permission necessary to access Car Camera APIs.
139 * @hide
140 */
120 @SystemApi 141 @SystemApi
121 public static final String PERMISSION_CAR_CAMERA = "android.car.permission.CAR_CAMERA"; 142 public static final String PERMISSION_CAR_CAMERA = "android.car.permission.CAR_CAMERA";
122 143
123 /** Permission necessary to access Car HVAC APIs. */ 144 /**
145 * Permission necessary to access Car HVAC APIs.
146 * @hide
147 */
124 @SystemApi 148 @SystemApi
125 public static final String PERMISSION_CAR_HVAC = "android.car.permission.CAR_HVAC"; 149 public static final String PERMISSION_CAR_HVAC = "android.car.permission.CAR_HVAC";
126 150
127 /** Permission necessary to access Car RADIO system APIs. */ 151 /**
152 * Permission necessary to access Car RADIO system APIs.
153 * @hide
154 */
128 @SystemApi 155 @SystemApi
129 public static final String PERMISSION_CAR_RADIO = "android.car.permission.CAR_RADIO"; 156 public static final String PERMISSION_CAR_RADIO = "android.car.permission.CAR_RADIO";
130 157
131 /** Permission necesary to access Car PRJECTION system APIs. */ 158 /**
159 * Permission necesary to access Car PRJECTION system APIs.
160 * @hide
161 */
132 @SystemApi 162 @SystemApi
133 public static final String PERMISSION_CAR_PROJECTION = "android.car.permission.CAR_PROJECTION"; 163 public static final String PERMISSION_CAR_PROJECTION = "android.car.permission.CAR_PROJECTION";
134 164
135 /** Permission necessary to mock vehicle hal for testing. */ 165 /**
166 * Permission necessary to mock vehicle hal for testing.
167 * @hide
168 */
136 @SystemApi 169 @SystemApi
137 public static final String PERMISSION_MOCK_VEHICLE_HAL = 170 public static final String PERMISSION_MOCK_VEHICLE_HAL =
138 "android.car.permission.CAR_MOCK_VEHICLE_HAL"; 171 "android.car.permission.CAR_MOCK_VEHICLE_HAL";
diff --git a/car-lib/src/android/car/CarProjectionManager.java b/car-lib/src/android/car/CarProjectionManager.java
index 7329efcb..45c2c8ab 100644
--- a/car-lib/src/android/car/CarProjectionManager.java
+++ b/car-lib/src/android/car/CarProjectionManager.java
@@ -16,6 +16,7 @@
16 16
17package android.car; 17package android.car;
18 18
19import android.annotation.SystemApi;
19import android.content.Intent; 20import android.content.Intent;
20import android.os.Handler; 21import android.os.Handler;
21import android.os.IBinder; 22import android.os.IBinder;
@@ -27,8 +28,9 @@ import java.lang.ref.WeakReference;
27/** 28/**
28 * CarProjectionManager allows applications implementing projection to register/unregister itself 29 * CarProjectionManager allows applications implementing projection to register/unregister itself
29 * with projection manager, listen for voice notification. 30 * with projection manager, listen for voice notification.
30 * @SystemApi 31 * @hide
31 */ 32 */
33@SystemApi
32public class CarProjectionManager implements CarManagerBase { 34public class CarProjectionManager implements CarManagerBase {
33 /** 35 /**
34 * Listener to get projected notifications. 36 * Listener to get projected notifications.
diff --git a/car-lib/src/android/car/content/pm/AppBlockingPackageInfo.java b/car-lib/src/android/car/content/pm/AppBlockingPackageInfo.java
index d637c7d1..8e915375 100644
--- a/car-lib/src/android/car/content/pm/AppBlockingPackageInfo.java
+++ b/car-lib/src/android/car/content/pm/AppBlockingPackageInfo.java
@@ -28,6 +28,7 @@ import java.util.Arrays;
28 28
29/** 29/**
30 * Parcelable to hold information on app blocking whitelist or blacklist for a package. 30 * Parcelable to hold information on app blocking whitelist or blacklist for a package.
31 * @hide
31 */ 32 */
32@SystemApi 33@SystemApi
33public class AppBlockingPackageInfo implements Parcelable { 34public class AppBlockingPackageInfo implements Parcelable {
diff --git a/car-lib/src/android/car/content/pm/CarAppBlockingPolicy.java b/car-lib/src/android/car/content/pm/CarAppBlockingPolicy.java
index fd600340..803451af 100644
--- a/car-lib/src/android/car/content/pm/CarAppBlockingPolicy.java
+++ b/car-lib/src/android/car/content/pm/CarAppBlockingPolicy.java
@@ -27,6 +27,7 @@ import java.util.Arrays;
27 27
28/** 28/**
29 * Contains application blocking policy 29 * Contains application blocking policy
30 * @hide
30 */ 31 */
31@SystemApi 32@SystemApi
32public class CarAppBlockingPolicy implements Parcelable { 33public class CarAppBlockingPolicy implements Parcelable {
diff --git a/car-lib/src/android/car/content/pm/CarAppBlockingPolicyService.java b/car-lib/src/android/car/content/pm/CarAppBlockingPolicyService.java
index 1682a8f2..a8671bbd 100644
--- a/car-lib/src/android/car/content/pm/CarAppBlockingPolicyService.java
+++ b/car-lib/src/android/car/content/pm/CarAppBlockingPolicyService.java
@@ -30,6 +30,7 @@ import android.util.Log;
30 * implementation. Additionally the APK should have the permission to be launched by Car Service. 30 * implementation. Additionally the APK should have the permission to be launched by Car Service.
31 * The implementing service should declare {@link #SERVICE_INTERFACE} in its intent filter as 31 * The implementing service should declare {@link #SERVICE_INTERFACE} in its intent filter as
32 * action. 32 * action.
33 * @hide
33 */ 34 */
34@SystemApi 35@SystemApi
35public abstract class CarAppBlockingPolicyService extends Service { 36public abstract class CarAppBlockingPolicyService extends Service {
diff --git a/car-lib/src/android/car/content/pm/CarPackageManager.java b/car-lib/src/android/car/content/pm/CarPackageManager.java
index 625f999f..1cdbfc7a 100644
--- a/car-lib/src/android/car/content/pm/CarPackageManager.java
+++ b/car-lib/src/android/car/content/pm/CarPackageManager.java
@@ -38,6 +38,7 @@ public class CarPackageManager implements CarManagerBase {
38 * Flag for {@link #setAppBlockingPolicy(String, CarAppBlockingPolicy, int)}. When this 38 * Flag for {@link #setAppBlockingPolicy(String, CarAppBlockingPolicy, int)}. When this
39 * flag is set, the call will be blocked until policy is set to system. This can take time 39 * flag is set, the call will be blocked until policy is set to system. This can take time
40 * and the flag cannot be used in main thread. 40 * and the flag cannot be used in main thread.
41 * @hide
41 */ 42 */
42 @SystemApi 43 @SystemApi
43 public static final int FLAG_SET_POLICY_WAIT_FOR_CHANGE = 0x1; 44 public static final int FLAG_SET_POLICY_WAIT_FOR_CHANGE = 0x1;
@@ -47,6 +48,7 @@ public class CarPackageManager implements CarManagerBase {
47 * If none of {@link #FLAG_SET_POLICY_ADD} or {@link #FLAG_SET_POLICY_REMOVE} is set, existing 48 * If none of {@link #FLAG_SET_POLICY_ADD} or {@link #FLAG_SET_POLICY_REMOVE} is set, existing
48 * policy is replaced. Note that policy per each package is always replaced and will not be 49 * policy is replaced. Note that policy per each package is always replaced and will not be
49 * added. 50 * added.
51 * @hide
50 */ 52 */
51 @SystemApi 53 @SystemApi
52 public static final int FLAG_SET_POLICY_ADD = 0x2; 54 public static final int FLAG_SET_POLICY_ADD = 0x2;
@@ -55,6 +57,7 @@ public class CarPackageManager implements CarManagerBase {
55 * flag is set, passed policy is removed from existing policy set from the current package. 57 * flag is set, passed policy is removed from existing policy set from the current package.
56 * If none of {@link #FLAG_SET_POLICY_ADD} or {@link #FLAG_SET_POLICY_REMOVE} is set, existing 58 * If none of {@link #FLAG_SET_POLICY_ADD} or {@link #FLAG_SET_POLICY_REMOVE} is set, existing
57 * policy is replaced. 59 * policy is replaced.
60 * @hide
58 */ 61 */
59 @SystemApi 62 @SystemApi
60 public static final int FLAG_SET_POLICY_REMOVE = 0x4; 63 public static final int FLAG_SET_POLICY_REMOVE = 0x4;
@@ -98,6 +101,7 @@ public class CarPackageManager implements CarManagerBase {
98 * @throws IllegalArgumentException For wrong or invalid arguments. 101 * @throws IllegalArgumentException For wrong or invalid arguments.
99 * @throws IllegalStateException If {@link #FLAG_SET_POLICY_WAIT_FOR_CHANGE} is set while 102 * @throws IllegalStateException If {@link #FLAG_SET_POLICY_WAIT_FOR_CHANGE} is set while
100 * called from main thread. 103 * called from main thread.
104 * @hide
101 */ 105 */
102 @SystemApi 106 @SystemApi
103 public void setAppBlockingPolicy(String packageName, CarAppBlockingPolicy policy, 107 public void setAppBlockingPolicy(String packageName, CarAppBlockingPolicy policy,
diff --git a/car-lib/src/android/car/hardware/camera/CarCamera.java b/car-lib/src/android/car/hardware/camera/CarCamera.java
index 02be070a..3c49b4c7 100644
--- a/car-lib/src/android/car/hardware/camera/CarCamera.java
+++ b/car-lib/src/android/car/hardware/camera/CarCamera.java
@@ -23,6 +23,7 @@ import android.util.Log;
23 23
24/** 24/**
25 * API for controlling camera system in cars 25 * API for controlling camera system in cars
26 * @hide
26 */ 27 */
27@SystemApi 28@SystemApi
28public class CarCamera { 29public class CarCamera {
@@ -103,4 +104,3 @@ public class CarCamera {
103 } 104 }
104 } 105 }
105} 106}
106
diff --git a/car-lib/src/android/car/hardware/camera/CarCameraManager.java b/car-lib/src/android/car/hardware/camera/CarCameraManager.java
index d531c951..5e3554d2 100644
--- a/car-lib/src/android/car/hardware/camera/CarCameraManager.java
+++ b/car-lib/src/android/car/hardware/camera/CarCameraManager.java
@@ -26,6 +26,7 @@ import android.util.Log;
26 26
27/** 27/**
28 * API for controlling camera system in cars 28 * API for controlling camera system in cars
29 * @hide
29 */ 30 */
30@SystemApi 31@SystemApi
31public class CarCameraManager implements CarManagerBase { 32public class CarCameraManager implements CarManagerBase {
@@ -106,4 +107,3 @@ public class CarCameraManager implements CarManagerBase {
106 public void onCarDisconnected() { 107 public void onCarDisconnected() {
107 } 108 }
108} 109}
109
diff --git a/car-lib/src/android/car/hardware/hvac/CarHvacEvent.java b/car-lib/src/android/car/hardware/hvac/CarHvacEvent.java
index f000a4ec..d1b790e3 100644
--- a/car-lib/src/android/car/hardware/hvac/CarHvacEvent.java
+++ b/car-lib/src/android/car/hardware/hvac/CarHvacEvent.java
@@ -20,6 +20,7 @@ import android.annotation.SystemApi;
20import android.os.Parcel; 20import android.os.Parcel;
21import android.os.Parcelable; 21import android.os.Parcelable;
22 22
23/** @hide */
23@SystemApi 24@SystemApi
24public class CarHvacEvent implements Parcelable { 25public class CarHvacEvent implements Parcelable {
25 public static final int HVAC_EVENT_PROPERTY_CHANGE = 0; 26 public static final int HVAC_EVENT_PROPERTY_CHANGE = 0;
@@ -178,4 +179,3 @@ public class CarHvacEvent implements Parcelable {
178 "mZone: " + mZone + "\n"; 179 "mZone: " + mZone + "\n";
179 } 180 }
180} 181}
181
diff --git a/car-lib/src/android/car/hardware/hvac/CarHvacManager.java b/car-lib/src/android/car/hardware/hvac/CarHvacManager.java
index 4337d4e4..78c8d13b 100644
--- a/car-lib/src/android/car/hardware/hvac/CarHvacManager.java
+++ b/car-lib/src/android/car/hardware/hvac/CarHvacManager.java
@@ -36,6 +36,7 @@ import java.util.List;
36 36
37/** 37/**
38 * API for controlling HVAC system in cars 38 * API for controlling HVAC system in cars
39 * @hide
39 */ 40 */
40@SystemApi 41@SystemApi
41public class CarHvacManager implements CarManagerBase { 42public class CarHvacManager implements CarManagerBase {
@@ -698,4 +699,3 @@ public class CarHvacManager implements CarManagerBase {
698 } 699 }
699 } 700 }
700} 701}
701
diff --git a/car-lib/src/android/car/hardware/hvac/CarHvacProperty.java b/car-lib/src/android/car/hardware/hvac/CarHvacProperty.java
index e94b2a69..a305e082 100644
--- a/car-lib/src/android/car/hardware/hvac/CarHvacProperty.java
+++ b/car-lib/src/android/car/hardware/hvac/CarHvacProperty.java
@@ -25,6 +25,7 @@ import java.util.Objects;
25 25
26/** 26/**
27 * CarHvacProperty object corresponds to a property of the car's HVAC system 27 * CarHvacProperty object corresponds to a property of the car's HVAC system
28 * @hide
28 */ 29 */
29@SystemApi 30@SystemApi
30public class CarHvacProperty implements Parcelable { 31public class CarHvacProperty implements Parcelable {
diff --git a/car-lib/src/android/car/hardware/radio/CarRadioEvent.java b/car-lib/src/android/car/hardware/radio/CarRadioEvent.java
index 4187edb2..332cb564 100644
--- a/car-lib/src/android/car/hardware/radio/CarRadioEvent.java
+++ b/car-lib/src/android/car/hardware/radio/CarRadioEvent.java
@@ -24,6 +24,7 @@ import android.os.Parcelable;
24 * A CarRadioEvent object corresponds to a single radio event coming from the car. 24 * A CarRadioEvent object corresponds to a single radio event coming from the car.
25 * 25 *
26 * This works in conjunction with the callbacks already defined in {@link RadioCallback.Callback}. 26 * This works in conjunction with the callbacks already defined in {@link RadioCallback.Callback}.
27 * @hide
27 */ 28 */
28@SystemApi 29@SystemApi
29public class CarRadioEvent implements Parcelable { 30public class CarRadioEvent implements Parcelable {
diff --git a/car-lib/src/android/car/hardware/radio/CarRadioManager.java b/car-lib/src/android/car/hardware/radio/CarRadioManager.java
index ca394b43..246dc708 100644
--- a/car-lib/src/android/car/hardware/radio/CarRadioManager.java
+++ b/car-lib/src/android/car/hardware/radio/CarRadioManager.java
@@ -40,6 +40,7 @@ import java.lang.ref.WeakReference;
40 * features additional to the ones provided in there. It supports: 40 * features additional to the ones provided in there. It supports:
41 * 41 *
42 * 1. Capability to control presets. 42 * 1. Capability to control presets.
43 * @hide
43 */ 44 */
44@SystemApi 45@SystemApi
45public class CarRadioManager implements CarManagerBase { 46public class CarRadioManager implements CarManagerBase {
diff --git a/car-lib/src/android/car/hardware/radio/CarRadioPreset.java b/car-lib/src/android/car/hardware/radio/CarRadioPreset.java
index cdbb99b9..38713ad1 100644
--- a/car-lib/src/android/car/hardware/radio/CarRadioPreset.java
+++ b/car-lib/src/android/car/hardware/radio/CarRadioPreset.java
@@ -22,6 +22,7 @@ import android.os.Parcelable;
22 22
23/** 23/**
24 * CarPreset object corresponds to a preset that is stored on the car's Radio unit. 24 * CarPreset object corresponds to a preset that is stored on the car's Radio unit.
25 * @hide
25 */ 26 */
26@SystemApi 27@SystemApi
27public class CarRadioPreset implements Parcelable { 28public class CarRadioPreset implements Parcelable {
diff --git a/car-lib/src/android/car/navigation/CarNavigationInstrumentCluster.java b/car-lib/src/android/car/navigation/CarNavigationInstrumentCluster.java
index 4ea88e03..32781f2f 100644
--- a/car-lib/src/android/car/navigation/CarNavigationInstrumentCluster.java
+++ b/car-lib/src/android/car/navigation/CarNavigationInstrumentCluster.java
@@ -16,6 +16,7 @@
16package android.car.navigation; 16package android.car.navigation;
17 17
18import android.annotation.IntDef; 18import android.annotation.IntDef;
19import android.annotation.SystemApi;
19import android.os.Parcel; 20import android.os.Parcel;
20import android.os.Parcelable; 21import android.os.Parcelable;
21 22
@@ -26,6 +27,7 @@ import java.lang.annotation.RetentionPolicy;
26 * Holds options related to navigation for the car's instrument cluster. 27 * Holds options related to navigation for the car's instrument cluster.
27 * @hide 28 * @hide
28 */ 29 */
30@SystemApi
29public class CarNavigationInstrumentCluster implements Parcelable { 31public class CarNavigationInstrumentCluster implements Parcelable {
30 32
31 @Retention(RetentionPolicy.SOURCE) 33 @Retention(RetentionPolicy.SOURCE)
diff --git a/car-support-lib/Android.mk b/car-support-lib/Android.mk
index b3f6c896..c5243ced 100644
--- a/car-support-lib/Android.mk
+++ b/car-support-lib/Android.mk
@@ -18,23 +18,34 @@
18ifneq ($(TARGET_BUILD_PDK),true) 18ifneq ($(TARGET_BUILD_PDK),true)
19 19
20LOCAL_PATH:= $(call my-dir) 20LOCAL_PATH:= $(call my-dir)
21
22# Build the resources.
21include $(CLEAR_VARS) 23include $(CLEAR_VARS)
24LOCAL_MODULE := android.support.car-res
25LOCAL_SDK_VERSION := current
26LOCAL_SRC_FILES := $(call all-java-files-under, dummy)
27LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
28LOCAL_RESOURCE_DIR += frameworks/support/v7/appcompat/res
29LOCAL_RESOURCE_DIR += frameworks/support/v7/recyclerview/res
30LOCAL_RESOURCE_DIR += frameworks/support/v7/cardview/res
22 31
23LOCAL_AAPT_FLAGS := --auto-add-overlay \ 32LOCAL_AAPT_FLAGS := --auto-add-overlay \
24 --extra-packages android.support.v7.appcompat \ 33 --extra-packages android.support.v7.appcompat \
25 --extra-packages android.support.v7.recyclerview \ 34 --extra-packages android.support.v7.recyclerview \
26 --extra-packages android.support.v7.cardview 35 --extra-packages android.support.v7.cardview
27 36
37LOCAL_JAR_EXCLUDE_FILES := none
38LOCAL_MANIFEST_FILE := AndroidManifest.xml
39
40include $(BUILD_STATIC_JAVA_LIBRARY)
41
42# Build support library.
43include $(CLEAR_VARS)
44
28LOCAL_MODULE := android.support.car 45LOCAL_MODULE := android.support.car
29 46
30LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
31LOCAL_RESOURCE_DIR += frameworks/support/v7/appcompat/res
32LOCAL_RESOURCE_DIR += frameworks/support/v7/recyclerview/res
33LOCAL_RESOURCE_DIR += frameworks/support/v7/cardview/res
34LOCAL_SDK_VERSION := current 47LOCAL_SDK_VERSION := current
35 48
36LOCAL_MANIFEST_FILE := AndroidManifest.xml
37
38LOCAL_SRC_FILES := $(call all-java-files-under, src) $(call all-Iaidl-files-under, src) 49LOCAL_SRC_FILES := $(call all-java-files-under, src) $(call all-Iaidl-files-under, src)
39 50
40LOCAL_STATIC_JAVA_LIBRARIES += android-support-v4 \ 51LOCAL_STATIC_JAVA_LIBRARIES += android-support-v4 \
@@ -43,9 +54,18 @@ LOCAL_STATIC_JAVA_LIBRARIES += android-support-v4 \
43 android-support-v7-cardview \ 54 android-support-v7-cardview \
44 jsr305 55 jsr305
45 56
46LOCAL_JAVA_LIBRARIES += android.car 57LOCAL_JAVA_LIBRARIES += android.car \
58 android.support.car-res
47 59
48include $(BUILD_STATIC_JAVA_LIBRARY) 60include $(BUILD_STATIC_JAVA_LIBRARY)
49 61
62# API Check
63# ---------------------------------------------
64car_module := $(LOCAL_MODULE)
65car_module_src_files := $(LOCAL_SRC_FILES)
66car_module_api_dir := $(LOCAL_PATH)/api
67car_module_java_libraries := $(LOCAL_JAVA_LIBRARIES) $(LOCAL_STATIC_JAVA_LIBRARIES) framework
68car_module_java_packages := android.support.car.*
69include $(CAR_API_CHECK)
50 70
51endif #TARGET_BUILD_PDK 71endif #TARGET_BUILD_PDK
diff --git a/car-support-lib/api/current.txt b/car-support-lib/api/current.txt
new file mode 100644
index 00000000..0e740a86
--- /dev/null
+++ b/car-support-lib/api/current.txt
@@ -0,0 +1,978 @@
1package android.support.car.annotation {
2
3 public abstract class ValueTypeDef implements java.lang.annotation.Annotation {
4 }
5
6 public abstract class VersionDef implements java.lang.annotation.Annotation {
7 }
8
9}
10
11package android.support.car.app {
12
13 public abstract class CarActivity {
14 ctor public CarActivity(android.support.car.app.CarActivity.Proxy, android.content.Context, android.support.car.Car);
15 method public android.view.View findViewById(int);
16 method public void finish();
17 method public void finishAfterTransition();
18 method public android.support.car.Car getCar();
19 method public android.content.Context getContext();
20 method public android.support.car.input.CarInputManager getInputManager();
21 method public android.content.Intent getIntent();
22 method public java.lang.Object getLastNonConfigurationInstance();
23 method public android.view.LayoutInflater getLayoutInflater();
24 method public android.view.MenuInflater getMenuInflater();
25 method public android.content.res.Resources getResources();
26 method public android.view.Window getWindow();
27 method public boolean isFinishing();
28 method protected void onActivityResult(int, int, android.content.Intent);
29 method protected void onBackPressed();
30 method protected void onConfigurationChanged(android.content.res.Configuration);
31 method protected void onCreate(android.os.Bundle);
32 method public boolean onCreatePanelMenu(int, android.view.Menu);
33 method public android.view.View onCreateView(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet);
34 method protected void onDestroy();
35 method public void onLowMemory();
36 method protected void onNewIntent(android.content.Intent);
37 method protected void onPause();
38 method protected void onPostResume();
39 method public void onRequestPermissionsResult(int, java.lang.String[], int[]);
40 method protected void onRestart();
41 method protected void onRestoreInstanceState(android.os.Bundle);
42 method protected void onResume();
43 method public java.lang.Object onRetainNonConfigurationInstance();
44 method protected void onSaveInstanceState(android.os.Bundle);
45 method protected void onStart();
46 method protected void onStop();
47 method public void requestPermissions(java.lang.String[], int);
48 method public void runOnUiThread(java.lang.Runnable);
49 method public void setContentView(android.view.View);
50 method public void setContentView(int);
51 method public void setIntent(android.content.Intent);
52 method public void setResult(int);
53 method public void setResult(int, android.content.Intent);
54 method public boolean shouldShowRequestPermissionRationale(java.lang.String);
55 method public void startActivityForResult(android.content.Intent, int);
56 }
57
58 public static abstract class CarActivity.Proxy {
59 ctor public CarActivity.Proxy();
60 method public abstract android.view.View findViewById(int);
61 method public abstract void finish();
62 method public abstract void finishAfterTransition();
63 method public abstract android.support.car.input.CarInputManager getCarInputManager();
64 method public abstract android.content.Intent getIntent();
65 method public abstract android.view.LayoutInflater getLayoutInflater();
66 method public abstract android.view.MenuInflater getMenuInflater();
67 method public abstract android.content.res.Resources getResources();
68 method public abstract android.view.Window getWindow();
69 method public abstract boolean isFinishing();
70 method public void requestPermissions(java.lang.String[], int);
71 method public abstract void setContentView(android.view.View);
72 method public abstract void setContentView(int);
73 method public abstract void setIntent(android.content.Intent);
74 method public abstract void setResult(int);
75 method public abstract void setResult(int, android.content.Intent);
76 method public boolean shouldShowRequestPermissionRationale(java.lang.String);
77 method public void startActivityForResult(android.content.Intent, int);
78 }
79
80 public static abstract interface CarActivity.RequestPermissionsRequestCodeValidator {
81 method public abstract void validateRequestPermissionsRequestCode(int);
82 }
83
84 public class CarFragmentActivity extends android.support.car.app.CarActivity implements android.support.car.app.CarActivity.RequestPermissionsRequestCodeValidator {
85 ctor public CarFragmentActivity(android.support.car.app.CarActivity.Proxy, android.content.Context, android.support.car.Car);
86 method public void dump(java.lang.String, java.io.FileDescriptor, java.io.PrintWriter, java.lang.String[]);
87 method public java.lang.Object getLastCustomNonConfigurationInstance();
88 method public android.support.v4.app.FragmentManager getSupportFragmentManager();
89 method public void onBackPressed();
90 method public void onConfigurationChanged(android.content.res.Configuration);
91 method protected void onResumeFragments();
92 method public java.lang.Object onRetainCustomNonConfigurationInstance();
93 method public final java.lang.Object onRetainNonConfigurationInstance();
94 method public void onStateNotSaved();
95 method public void setContentFragment(android.support.v4.app.Fragment, int);
96 method public void startActivityFromFragment(android.support.v4.app.Fragment, android.content.Intent, int);
97 method public void supportFinishAfterTransition();
98 method public final void validateRequestPermissionsRequestCode(int);
99 }
100
101 public class CarProxyActivity extends android.app.Activity {
102 ctor public CarProxyActivity(java.lang.Class);
103 ctor public CarProxyActivity(java.lang.Class, boolean);
104 }
105
106}
107
108package android.support.car.app.menu {
109
110 public abstract class CarDrawerActivity extends android.support.car.app.CarFragmentActivity {
111 ctor public CarDrawerActivity(android.support.car.app.CarActivity.Proxy, android.content.Context, android.support.car.Car);
112 method public void closeDrawer();
113 method protected android.support.car.app.menu.CarUiController createCarUiController();
114 method public int getFragmentContainerId();
115 method public void hideSearchBox();
116 method public boolean isDrawerShowing();
117 method public boolean isSearchBoxEnabled();
118 method public boolean isShowingSearchBox();
119 method public boolean onMenuClicked();
120 method public void openDrawer();
121 method public void restoreMenuButtonDrawable();
122 method public void restoreSearchBox();
123 method public void setAutoLightDarkMode();
124 method public void setBackground(android.graphics.Bitmap);
125 method public void setBackgroundResource(int);
126 method public void setCarMenuCallbacks(android.support.car.app.menu.CarMenuCallbacks);
127 method public void setContentFragment(android.support.v4.app.Fragment);
128 method public void setDarkMode();
129 method public void setDrawerShowing(boolean);
130 method public void setLightMode();
131 method public void setMenuButtonBitmap(android.graphics.Bitmap);
132 method public void setOnMenuClickedListener(android.support.car.app.menu.CarDrawerActivity.OnMenuClickListener);
133 method public void setScrimColor(int);
134 method public void setSearchBoxColors(int, int, int, int);
135 method public void setSearchBoxEditListener(android.support.car.app.menu.SearchBoxEditListener);
136 method public void setSearchBoxEndView(android.view.View);
137 method public void setTitle(java.lang.CharSequence);
138 method public void showMenu(java.lang.String, java.lang.String);
139 method public void showSearchBox(android.view.View.OnClickListener);
140 method public void showSearchBox();
141 method public void showToast(java.lang.String, int);
142 method public void startInput(java.lang.String);
143 method public void startInput(java.lang.String, android.view.View.OnClickListener);
144 method public void stopInput();
145 }
146
147 public static abstract interface CarDrawerActivity.OnMenuClickListener {
148 method public abstract boolean onClicked();
149 }
150
151 public class CarMenu {
152 ctor public CarMenu(android.util.DisplayMetrics);
153 method public void detach();
154 method public void sendResult(java.util.List<android.support.car.app.menu.CarMenu.Item>);
155 }
156
157 public static class CarMenu.Builder {
158 ctor public CarMenu.Builder(java.lang.String);
159 method public android.support.car.app.menu.CarMenu.Item build();
160 method public android.support.car.app.menu.CarMenu.Builder setFlags(int);
161 method public android.support.car.app.menu.CarMenu.Builder setIcon(android.graphics.Bitmap);
162 method public android.support.car.app.menu.CarMenu.Builder setIconFromSnapshot(android.graphics.drawable.Drawable);
163 method public android.support.car.app.menu.CarMenu.Builder setIsEmptyPlaceHolder(boolean);
164 method public android.support.car.app.menu.CarMenu.Builder setRemoteViews(android.widget.RemoteViews);
165 method public android.support.car.app.menu.CarMenu.Builder setRightIcon(android.graphics.Bitmap);
166 method public android.support.car.app.menu.CarMenu.Builder setRightIconFromSnapshot(android.graphics.drawable.Drawable);
167 method public android.support.car.app.menu.CarMenu.Builder setRightText(java.lang.String);
168 method public android.support.car.app.menu.CarMenu.Builder setText(java.lang.String);
169 method public android.support.car.app.menu.CarMenu.Builder setTitle(java.lang.String);
170 method public android.support.car.app.menu.CarMenu.Builder setWidget(int);
171 method public android.support.car.app.menu.CarMenu.Builder setWidgetState(boolean);
172 }
173
174 public static abstract interface CarMenu.Item {
175 method public abstract int getFlags();
176 method public abstract java.lang.String getId();
177 method public abstract java.lang.String getText();
178 method public abstract java.lang.String getTitle();
179 method public abstract int getWidget();
180 method public abstract boolean getWidgetState();
181 }
182
183 public abstract class CarMenuCallbacks {
184 ctor public CarMenuCallbacks();
185 method public void notifyChildChanged(java.lang.String, android.support.car.app.menu.CarMenu.Item);
186 method public void notifyChildrenChanged(java.lang.String);
187 method public void onCarMenuClosed();
188 method public void onCarMenuClosing();
189 method public void onCarMenuOpened();
190 method public void onCarMenuOpening();
191 method public abstract android.support.car.app.menu.RootMenu onGetRoot(android.os.Bundle);
192 method public void onItemClicked(java.lang.String);
193 method public boolean onItemLongClicked(java.lang.String);
194 method public abstract void onLoadChildren(java.lang.String, android.support.car.app.menu.CarMenu);
195 method public void onStateChanged(int);
196 }
197
198 public abstract class CarUiController {
199 ctor public CarUiController(android.support.car.app.menu.CarDrawerActivity);
200 method public abstract void closeDrawer();
201 method public static android.support.car.app.menu.CarUiController createCarUiController(android.support.car.app.menu.CarDrawerActivity);
202 method public abstract android.view.View getContentView();
203 method public abstract int getFragmentContainerId();
204 method public abstract java.lang.CharSequence getText();
205 method public abstract void onChildChanged(java.lang.String, android.os.Bundle);
206 method public abstract void onChildrenChanged(java.lang.String);
207 method public abstract void onPause();
208 method public abstract void onRestoreInstanceState(android.os.Bundle);
209 method public abstract void onResume();
210 method public abstract void onSaveInstanceState(android.os.Bundle);
211 method public abstract void onStart();
212 method public abstract void onStop();
213 method public abstract void openDrawer();
214 method public abstract void registerCarMenuCallbacks(android.support.car.app.menu.CarMenuCallbacks);
215 method public abstract void restoreMenuButtonDrawable();
216 method public abstract void setAutoLightDarkMode();
217 method public abstract void setBackground(android.graphics.Bitmap);
218 method public abstract void setBackgroundResource(int);
219 method public abstract void setDarkMode();
220 method public abstract void setLightMode();
221 method public abstract void setMenuButtonBitmap(android.graphics.Bitmap);
222 method public abstract void setScrimColor(int);
223 method public abstract void setSearchBoxColors(int, int, int, int);
224 method public abstract void setSearchBoxEditListener(android.support.car.app.menu.SearchBoxEditListener);
225 method public abstract void setSearchBoxEndView(android.view.View);
226 method public abstract void setTitle(java.lang.CharSequence);
227 method public abstract void showMenu(java.lang.String, java.lang.String);
228 method public abstract void showSearchBox(android.view.View.OnClickListener);
229 method public abstract void showToast(java.lang.String, int);
230 method public abstract android.widget.EditText startInput(java.lang.String, android.view.View.OnClickListener);
231 method public abstract void stopInput();
232 method public abstract void validateCarUiPackage();
233 field protected final android.support.car.app.menu.CarDrawerActivity mActivity;
234 }
235
236 public class RootMenu {
237 ctor public RootMenu(java.lang.String);
238 ctor public RootMenu(java.lang.String, android.os.Bundle);
239 method public android.os.Bundle getBundle();
240 method public java.lang.String getId();
241 }
242
243 public abstract class SearchBoxEditListener {
244 ctor public SearchBoxEditListener();
245 method public abstract void onEdit(java.lang.String);
246 method public abstract void onSearch(java.lang.String);
247 }
248
249 public class Utils {
250 ctor public Utils();
251 method public static android.graphics.Bitmap snapshot(android.util.DisplayMetrics, android.graphics.drawable.Drawable);
252 }
253
254}
255
256package android.support.car.app.menu.compat {
257
258 public class CarMenuConstantsComapt {
259 ctor public CarMenuConstantsComapt();
260 }
261
262 public static class CarMenuConstantsComapt.MenuItemConstants {
263 ctor public CarMenuConstantsComapt.MenuItemConstants();
264 field public static final int FLAG_BROWSABLE = 1; // 0x1
265 field public static final int FLAG_FIRSTITEM = 2; // 0x2
266 field public static final java.lang.String KEY_EMPTY_PLACEHOLDER = "android.car.app.menu.empty_placeholder";
267 field public static final java.lang.String KEY_FLAGS = "android.car.app.menu.flags";
268 field public static final java.lang.String KEY_ID = "android.car.app.menu.id";
269 field public static final java.lang.String KEY_LEFTICON = "android.car.app.menu.leftIcon";
270 field public static final java.lang.String KEY_REMOTEVIEWS = "android.car.app.menu.remoteViews";
271 field public static final java.lang.String KEY_RIGHTICON = "android.car.app.menu.rightIcon";
272 field public static final java.lang.String KEY_RIGHTTEXT = "android.car.app.menu.rightText";
273 field public static final java.lang.String KEY_TEXT = "android.car.app.menu.text";
274 field public static final java.lang.String KEY_TITLE = "android.car.app.menu.title";
275 field public static final java.lang.String KEY_WIDGET = "android.car.app.menu.widget";
276 field public static final java.lang.String KEY_WIDGET_STATE = "android.car.app.menu.widget_state";
277 field public static final int WIDGET_CHECKBOX = 1; // 0x1
278 field public static final int WIDGET_TEXT_VIEW = 2; // 0x2
279 }
280
281 public static abstract class CarMenuConstantsComapt.MenuItemConstants.MenuItemFlags implements java.lang.annotation.Annotation {
282 }
283
284 public static abstract class CarMenuConstantsComapt.MenuItemConstants.WidgetTypes implements java.lang.annotation.Annotation {
285 }
286
287 public class EmbeddedCarMenuCallbacksCompat extends android.car.app.menu.CarMenuCallbacks {
288 ctor public EmbeddedCarMenuCallbacksCompat(android.support.car.app.menu.CarDrawerActivity, android.support.car.app.menu.CarMenuCallbacks);
289 method public android.car.app.menu.RootMenu getRootMenu(android.os.Bundle);
290 method public void onCarMenuClosed();
291 method public void onCarMenuClosing();
292 method public void onCarMenuOpened();
293 method public void onCarMenuOpening();
294 method public void onChildChanged(java.lang.String, android.os.Bundle);
295 method public void onChildrenChanged(java.lang.String);
296 method public void onItemClicked(java.lang.String);
297 method public boolean onItemLongClicked(java.lang.String);
298 method public boolean onMenuClicked();
299 method public void subscribe(java.lang.String, android.car.app.menu.SubscriptionCallbacks);
300 method public void unsubscribe(java.lang.String, android.car.app.menu.SubscriptionCallbacks);
301 }
302
303 public class EmbeddedSearchBoxEditListenerCompat extends android.car.app.menu.SearchBoxEditListener {
304 ctor public EmbeddedSearchBoxEditListenerCompat(android.support.car.app.menu.SearchBoxEditListener);
305 method public void onEdit(java.lang.String);
306 method public void onSearch(java.lang.String);
307 }
308
309}
310
311package android.support.car.content.pm {
312
313 public abstract class CarPackageManager {
314 ctor public CarPackageManager();
315 method public abstract boolean isActivityAllowedWhileDriving(java.lang.String, java.lang.String) throws android.support.car.CarNotConnectedException;
316 method public abstract boolean isServiceAllowedWhileDriving(java.lang.String, java.lang.String) throws android.support.car.CarNotConnectedException;
317 }
318
319}
320
321package android.support.car.hardware {
322
323 public class CarSensorEvent extends android.support.car.os.ExtendableParcelable {
324 ctor public CarSensorEvent(android.os.Parcel);
325 ctor public CarSensorEvent(int, long, int, int);
326 method public int describeContents();
327 method public android.support.car.hardware.CarSensorEvent.AccelerometerData getAccelerometerData(android.support.car.hardware.CarSensorEvent.AccelerometerData);
328 method public android.support.car.hardware.CarSensorEvent.CarSpeedData getCarSpeedData(android.support.car.hardware.CarSensorEvent.CarSpeedData);
329 method public android.support.car.hardware.CarSensorEvent.CompassData getCompassData(android.support.car.hardware.CarSensorEvent.CompassData);
330 method public android.support.car.hardware.CarSensorEvent.DrivingStatusData getDrivingStatusData(android.support.car.hardware.CarSensorEvent.DrivingStatusData);
331 method public android.support.car.hardware.CarSensorEvent.EnvironmentData getEnvironmentData(android.support.car.hardware.CarSensorEvent.EnvironmentData);
332 method public android.support.car.hardware.CarSensorEvent.FuelLevelData getFuelLevelData(android.support.car.hardware.CarSensorEvent.FuelLevelData);
333 method public android.support.car.hardware.CarSensorEvent.GearData getGearData(android.support.car.hardware.CarSensorEvent.GearData);
334 method public android.support.car.hardware.CarSensorEvent.GpsSatelliteData getGpsSatelliteData(android.support.car.hardware.CarSensorEvent.GpsSatelliteData, boolean);
335 method public android.support.car.hardware.CarSensorEvent.GyroscopeData getGyroscopeData(android.support.car.hardware.CarSensorEvent.GyroscopeData);
336 method public android.location.Location getLocation(android.location.Location);
337 method public android.support.car.hardware.CarSensorEvent.NightData getNightData(android.support.car.hardware.CarSensorEvent.NightData);
338 method public android.support.car.hardware.CarSensorEvent.OdometerData getOdometerData(android.support.car.hardware.CarSensorEvent.OdometerData);
339 method public android.support.car.hardware.CarSensorEvent.ParkingBrakeData getParkingBrakeData(android.support.car.hardware.CarSensorEvent.ParkingBrakeData);
340 method public android.support.car.hardware.CarSensorEvent.RpmData getRpmData(android.support.car.hardware.CarSensorEvent.RpmData);
341 method public void writeToParcel(android.os.Parcel, int);
342 field public static final android.os.Parcelable.Creator<android.support.car.hardware.CarSensorEvent> CREATOR;
343 field public static final int DRIVE_STATUS_FULLY_RESTRICTED = 31; // 0x1f
344 field public static final int DRIVE_STATUS_LIMIT_MESSAGE_LEN = 16; // 0x10
345 field public static final int DRIVE_STATUS_NO_CONFIG = 8; // 0x8
346 field public static final int DRIVE_STATUS_NO_KEYBOARD_INPUT = 2; // 0x2
347 field public static final int DRIVE_STATUS_NO_VIDEO = 1; // 0x1
348 field public static final int DRIVE_STATUS_NO_VOICE_INPUT = 4; // 0x4
349 field public static final int DRIVE_STATUS_UNRESTRICTED = 0; // 0x0
350 field public static final int GEAR_DRIVE = 100; // 0x64
351 field public static final int GEAR_EIGHTH = 8; // 0x8
352 field public static final int GEAR_FIFTH = 5; // 0x5
353 field public static final int GEAR_FIRST = 1; // 0x1
354 field public static final int GEAR_FOURTH = 4; // 0x4
355 field public static final int GEAR_NEUTRAL = 0; // 0x0
356 field public static final int GEAR_NINTH = 9; // 0x9
357 field public static final int GEAR_PARK = 101; // 0x65
358 field public static final int GEAR_REVERSE = 102; // 0x66
359 field public static final int GEAR_SECOND = 2; // 0x2
360 field public static final int GEAR_SEVENTH = 7; // 0x7
361 field public static final int GEAR_SIXTH = 6; // 0x6
362 field public static final int GEAR_TENTH = 10; // 0xa
363 field public static final int GEAR_THIRD = 3; // 0x3
364 field public static final int INDEX_ACCELEROMETER_X = 0; // 0x0
365 field public static final int INDEX_ACCELEROMETER_Y = 1; // 0x1
366 field public static final int INDEX_ACCELEROMETER_Z = 2; // 0x2
367 field public static final int INDEX_COMPASS_BEARING = 0; // 0x0
368 field public static final int INDEX_COMPASS_PITCH = 1; // 0x1
369 field public static final int INDEX_COMPASS_ROLL = 2; // 0x2
370 field public static final int INDEX_ENVIRONMENT_PRESSURE = 1; // 0x1
371 field public static final int INDEX_ENVIRONMENT_TEMPERATURE = 0; // 0x0
372 field public static final int INDEX_FUEL_LEVEL_IN_DISTANCE = 1; // 0x1
373 field public static final int INDEX_FUEL_LEVEL_IN_PERCENTILE = 0; // 0x0
374 field public static final int INDEX_FUEL_LOW_WARNING = 0; // 0x0
375 field public static final int INDEX_GPS_SATELLITE_ARRAY_FLOAT_INTERVAL = 4; // 0x4
376 field public static final int INDEX_GPS_SATELLITE_ARRAY_FLOAT_OFFSET = 0; // 0x0
377 field public static final int INDEX_GPS_SATELLITE_ARRAY_INT_INTERVAL = 1; // 0x1
378 field public static final int INDEX_GPS_SATELLITE_ARRAY_INT_OFFSET = 2; // 0x2
379 field public static final int INDEX_GPS_SATELLITE_AZIMUTH_OFFSET = 2; // 0x2
380 field public static final int INDEX_GPS_SATELLITE_ELEVATION_OFFSET = 3; // 0x3
381 field public static final int INDEX_GPS_SATELLITE_NUMBER_IN_USE = 0; // 0x0
382 field public static final int INDEX_GPS_SATELLITE_NUMBER_IN_VIEW = 1; // 0x1
383 field public static final int INDEX_GPS_SATELLITE_PRN_OFFSET = 0; // 0x0
384 field public static final int INDEX_GPS_SATELLITE_SNR_OFFSET = 1; // 0x1
385 field public static final int INDEX_GYROSCOPE_X = 0; // 0x0
386 field public static final int INDEX_GYROSCOPE_Y = 1; // 0x1
387 field public static final int INDEX_GYROSCOPE_Z = 2; // 0x2
388 field public static final int INDEX_LOCATION_ACCURACY = 2; // 0x2
389 field public static final int INDEX_LOCATION_ALTITUDE = 3; // 0x3
390 field public static final int INDEX_LOCATION_BEARING = 5; // 0x5
391 field public static final int INDEX_LOCATION_LATITUDE = 0; // 0x0
392 field public static final int INDEX_LOCATION_LATITUDE_INTS = 1; // 0x1
393 field public static final int INDEX_LOCATION_LONGITUDE = 1; // 0x1
394 field public static final int INDEX_LOCATION_LONGITUDE_INTS = 2; // 0x2
395 field public static final int INDEX_LOCATION_MAX = 5; // 0x5
396 field public static final int INDEX_LOCATION_SPEED = 4; // 0x4
397 field public final float[] floatValues;
398 field public final int[] intValues;
399 field public int sensorType;
400 field public long timeStampNs;
401 }
402
403 public static class CarSensorEvent.AccelerometerData {
404 ctor public CarSensorEvent.AccelerometerData();
405 field public long timeStampNs;
406 field public float x;
407 field public float y;
408 field public float z;
409 }
410
411 public static class CarSensorEvent.CarSpeedData {
412 ctor public CarSensorEvent.CarSpeedData();
413 field public float carSpeed;
414 field public long timeStampNs;
415 }
416
417 public static class CarSensorEvent.CompassData {
418 ctor public CarSensorEvent.CompassData();
419 field public float bearing;
420 field public float pitch;
421 field public float roll;
422 field public long timeStampNs;
423 }
424
425 public static class CarSensorEvent.DrivingStatusData {
426 ctor public CarSensorEvent.DrivingStatusData();
427 field public int status;
428 field public long timeStampNs;
429 }
430
431 public static class CarSensorEvent.EnvironmentData {
432 ctor public CarSensorEvent.EnvironmentData();
433 field public float pressure;
434 field public float temperature;
435 field public long timeStampNs;
436 }
437
438 public static class CarSensorEvent.FuelLevelData {
439 ctor public CarSensorEvent.FuelLevelData();
440 field public int level;
441 field public boolean lowFuelWarning;
442 field public float range;
443 field public long timeStampNs;
444 }
445
446 public static class CarSensorEvent.GearData {
447 ctor public CarSensorEvent.GearData();
448 field public int gear;
449 field public long timeStampNs;
450 }
451
452 public static class CarSensorEvent.GpsSatelliteData {
453 ctor public CarSensorEvent.GpsSatelliteData();
454 field public float[] azimuth;
455 field public float[] elevation;
456 field public int numberInUse;
457 field public int numberInView;
458 field public int[] prn;
459 field public float[] snr;
460 field public long timeStampNs;
461 field public boolean[] usedInFix;
462 }
463
464 public static class CarSensorEvent.GyroscopeData {
465 ctor public CarSensorEvent.GyroscopeData();
466 field public long timeStampNs;
467 field public float x;
468 field public float y;
469 field public float z;
470 }
471
472 public static class CarSensorEvent.NightData {
473 ctor public CarSensorEvent.NightData();
474 field public boolean isNightMode;
475 field public long timeStampNs;
476 }
477
478 public static class CarSensorEvent.OdometerData {
479 ctor public CarSensorEvent.OdometerData();
480 field public float kms;
481 field public long timeStampNs;
482 }
483
484 public static class CarSensorEvent.ParkingBrakeData {
485 ctor public CarSensorEvent.ParkingBrakeData();
486 field public boolean isEngaged;
487 field public long timeStampNs;
488 }
489
490 public static class CarSensorEvent.RpmData {
491 ctor public CarSensorEvent.RpmData();
492 field public float rpm;
493 field public long timeStampNs;
494 }
495
496 public abstract class CarSensorManager {
497 ctor public CarSensorManager();
498 method public abstract android.support.car.hardware.CarSensorEvent getLatestSensorEvent(int) throws android.support.car.CarNotConnectedException;
499 method public abstract int[] getSupportedSensors() throws android.support.car.CarNotConnectedException;
500 method public abstract boolean isSensorSupported(int) throws android.support.car.CarNotConnectedException;
501 method public static boolean isSensorSupported(int[], int);
502 method public abstract boolean registerListener(android.support.car.hardware.CarSensorManager.CarSensorEventListener, int, int) throws android.support.car.CarNotConnectedException, java.lang.IllegalArgumentException;
503 method public abstract void unregisterListener(android.support.car.hardware.CarSensorManager.CarSensorEventListener);
504 method public abstract void unregisterListener(android.support.car.hardware.CarSensorManager.CarSensorEventListener, int);
505 field public static final int SENSOR_RATE_FAST = 1; // 0x1
506 field public static final int SENSOR_RATE_FASTEST = 0; // 0x0
507 field public static final int SENSOR_RATE_NORMAL = 3; // 0x3
508 field public static final int SENSOR_RATE_UI = 2; // 0x2
509 field public static final int SENSOR_TYPE_CAR_SPEED = 2; // 0x2
510 field public static final int SENSOR_TYPE_COMPASS = 1; // 0x1
511 field public static final int SENSOR_TYPE_DRIVING_STATUS = 10; // 0xa
512 field public static final int SENSOR_TYPE_ENVIRONMENT = 11; // 0xb
513 field public static final int SENSOR_TYPE_FUEL_LEVEL = 5; // 0x5
514 field public static final int SENSOR_TYPE_GEAR = 7; // 0x7
515 field public static final int SENSOR_TYPE_LOCATION = 9; // 0x9
516 field public static final int SENSOR_TYPE_NIGHT = 8; // 0x8
517 field public static final int SENSOR_TYPE_ODOMETER = 4; // 0x4
518 field public static final int SENSOR_TYPE_PARKING_BRAKE = 6; // 0x6
519 field public static final int SENSOR_TYPE_RPM = 3; // 0x3
520 field public static final int SENSOR_TYPE_VENDOR_EXTENSION_END = 1879048191; // 0x6fffffff
521 }
522
523 public static abstract interface CarSensorManager.CarSensorEventListener {
524 method public abstract void onSensorChanged(android.support.car.hardware.CarSensorEvent);
525 }
526
527}
528
529package android.support.car.input {
530
531 public abstract interface CarEditable {
532 method public abstract android.view.inputmethod.InputConnection onCreateInputConnection(android.view.inputmethod.EditorInfo);
533 method public abstract void setCarEditableListener(android.support.car.input.CarEditableListener);
534 method public abstract void setInputEnabled(boolean);
535 }
536
537 public abstract interface CarEditableListener {
538 method public abstract void onUpdateSelection(int, int, int, int);
539 }
540
541 public abstract class CarInputManager {
542 ctor public CarInputManager();
543 method public abstract boolean isCurrentCarEditable(android.widget.EditText);
544 method public abstract boolean isInputActive();
545 method public abstract boolean isValid();
546 method public abstract void startInput(android.widget.EditText);
547 method public abstract void stopInput();
548 }
549
550 public class CarRestrictedEditText extends android.widget.EditText implements android.support.car.input.CarEditable {
551 ctor public CarRestrictedEditText(android.content.Context, android.util.AttributeSet);
552 method public void setCarEditableListener(android.support.car.input.CarEditableListener);
553 method public void setInputEnabled(boolean);
554 method public void setKeyListener(android.support.car.input.CarRestrictedEditText.KeyListener);
555 }
556
557 public static abstract interface CarRestrictedEditText.KeyListener {
558 method public abstract void onCloseKeyboard();
559 method public abstract void onCommitText(java.lang.String);
560 method public abstract void onDelete();
561 method public abstract void onKeyDown(int);
562 method public abstract void onKeyUp(int);
563 }
564
565}
566
567package android.support.car.media {
568
569 public abstract class CarAudioManager {
570 ctor public CarAudioManager();
571 method public abstract int abandonAudioFocus(android.media.AudioManager.OnAudioFocusChangeListener, android.media.AudioAttributes);
572 method public abstract android.media.AudioAttributes getAudioAttributesForCarUsage(int);
573 method public abstract int requestAudioFocus(android.media.AudioManager.OnAudioFocusChangeListener, android.media.AudioAttributes, int, int) throws java.lang.IllegalArgumentException;
574 field public static final int CAR_AUDIO_USAGE_ALARM = 6; // 0x6
575 field public static final int CAR_AUDIO_USAGE_DEFAULT = 0; // 0x0
576 field public static final int CAR_AUDIO_USAGE_MUSIC = 1; // 0x1
577 field public static final int CAR_AUDIO_USAGE_NAVIGATION_GUIDANCE = 3; // 0x3
578 field public static final int CAR_AUDIO_USAGE_NOTIFICATION = 7; // 0x7
579 field public static final int CAR_AUDIO_USAGE_RADIO = 2; // 0x2
580 field public static final int CAR_AUDIO_USAGE_SYSTEM_SAFETY_ALERT = 9; // 0x9
581 field public static final int CAR_AUDIO_USAGE_SYSTEM_SOUND = 8; // 0x8
582 field public static final int CAR_AUDIO_USAGE_VOICE_CALL = 4; // 0x4
583 field public static final int CAR_AUDIO_USAGE_VOICE_COMMAND = 5; // 0x5
584 }
585
586}
587
588package android.support.car.os {
589
590 public abstract class ExtendableParcelable implements android.os.Parcelable {
591 ctor protected ExtendableParcelable(android.os.Parcel, int);
592 ctor protected ExtendableParcelable(int);
593 method protected void completeReading(android.os.Parcel, int);
594 method protected void completeWriting(android.os.Parcel, int);
595 method protected int readHeader(android.os.Parcel);
596 method protected int writeHeader(android.os.Parcel);
597 field public final int version;
598 }
599
600}
601
602package android.support.car.ui {
603
604 public class AnimationListenerAdapter implements android.view.animation.Animation.AnimationListener {
605 ctor public AnimationListenerAdapter();
606 method public void onAnimationEnd(android.view.animation.Animation);
607 method public void onAnimationRepeat(android.view.animation.Animation);
608 method public void onAnimationStart(android.view.animation.Animation);
609 }
610
611 public class CarActionExtender implements android.support.v4.app.NotificationCompat.Action.Extender {
612 ctor public CarActionExtender();
613 ctor public CarActionExtender(android.support.v4.app.NotificationCompat.Action);
614 method public android.support.v4.app.NotificationCompat.Action.Builder extend(android.support.v4.app.NotificationCompat.Action.Builder);
615 method public android.content.Intent getIntent();
616 method public void setIntent(android.content.Intent);
617 }
618
619 public class CarItemAnimator extends android.support.v7.widget.DefaultItemAnimator {
620 ctor public CarItemAnimator(android.support.car.ui.CarLayoutManager);
621 }
622
623 public class CarLayoutManager extends android.support.v7.widget.RecyclerView.LayoutManager {
624 ctor public CarLayoutManager(android.content.Context);
625 method public android.support.v7.widget.RecyclerView.LayoutParams generateDefaultLayoutParams();
626 method public android.view.View getFirstFullyVisibleChild();
627 method public int getFirstFullyVisibleChildIndex();
628 method public int getLastFullyVisibleChildIndex();
629 method public int getPageDownPosition();
630 method public int getPageUpPosition();
631 method public boolean isAtBottom();
632 method public boolean isAtTop();
633 method public void offsetRows();
634 method public void setItemsChangedListener(android.support.car.ui.CarLayoutManager.OnItemsChangedListener);
635 method public void setOffsetRows(boolean);
636 method public void setRowOffsetMode(int);
637 method public boolean settleScrollForFling(android.support.v7.widget.RecyclerView, int);
638 field public static final int ROW_OFFSET_MODE_INDIVIDUAL = 0; // 0x0
639 field public static final int ROW_OFFSET_MODE_PAGE = 1; // 0x1
640 }
641
642 public static abstract interface CarLayoutManager.OnItemsChangedListener {
643 method public abstract void onItemsChanged();
644 }
645
646 public static abstract class CarLayoutManager.RowOffsetMode implements java.lang.annotation.Annotation {
647 }
648
649 public class CarListItemViewHolder extends android.support.v7.widget.RecyclerView.ViewHolder {
650 ctor public CarListItemViewHolder(android.view.View, int);
651 field public final android.widget.ImageView icon;
652 field public final android.widget.FrameLayout iconContainer;
653 field public final android.widget.FrameLayout remoteViewsContainer;
654 field public final android.widget.CheckBox rightCheckbox;
655 field public final android.widget.ImageView rightImage;
656 field public final android.widget.TextView rightText;
657 field public final android.widget.TextView text;
658 field public final android.widget.TextView title;
659 }
660
661 public class CarNavExtender implements android.support.v4.app.NotificationCompat.Extender {
662 ctor public CarNavExtender();
663 ctor public CarNavExtender(android.app.Notification);
664 method public android.support.v4.app.NotificationCompat.Builder extend(android.support.v4.app.NotificationCompat.Builder);
665 method public int getActionIcon();
666 method public int getColor();
667 method public java.lang.Long getContentId();
668 method public android.content.Intent getContentIntent();
669 method public java.lang.CharSequence getContentText();
670 method public java.lang.CharSequence getContentTitle();
671 method public boolean getIgnoreInStream();
672 method public android.graphics.Bitmap getLargeIcon();
673 method public int getNightColor();
674 method public boolean getShowAsHeadsUp();
675 method public boolean getShowInStream();
676 method public java.lang.CharSequence getSubText();
677 method public int getType();
678 method public static int getType(android.app.Notification);
679 method public boolean isExtended();
680 method public static boolean isExtended(android.app.Notification);
681 method public android.support.car.ui.CarNavExtender setActionIcon(int);
682 method public android.support.car.ui.CarNavExtender setColor(int);
683 method public android.support.car.ui.CarNavExtender setContentId(long);
684 method public android.support.car.ui.CarNavExtender setContentIntent(android.content.Intent);
685 method public android.support.car.ui.CarNavExtender setContentText(java.lang.CharSequence);
686 method public android.support.car.ui.CarNavExtender setContentTitle(java.lang.CharSequence);
687 method public android.support.car.ui.CarNavExtender setIgnoreInStream(boolean);
688 method public android.support.car.ui.CarNavExtender setLargeIcon(android.graphics.Bitmap);
689 method public android.support.car.ui.CarNavExtender setNightColor(int);
690 method public android.support.car.ui.CarNavExtender setShowAsHeadsUp(boolean);
691 method public android.support.car.ui.CarNavExtender setShowInStream(boolean);
692 method public android.support.car.ui.CarNavExtender setSubText(java.lang.CharSequence);
693 method public android.support.car.ui.CarNavExtender setType(int);
694 field public static final int TYPE_HERO = 0; // 0x0
695 field public static final int TYPE_NORMAL = 1; // 0x1
696 }
697
698 public class CarRecyclerView extends android.support.v7.widget.RecyclerView {
699 ctor public CarRecyclerView(android.content.Context);
700 ctor public CarRecyclerView(android.content.Context, android.util.AttributeSet);
701 ctor public CarRecyclerView(android.content.Context, android.util.AttributeSet, int);
702 method public void pageDown();
703 method public void pageUp();
704 method public void setFadeLastItem(boolean);
705 }
706
707 public class CarUiResourceLoader {
708 ctor public CarUiResourceLoader();
709 method public static synchronized boolean getBoolean(android.content.Context, java.lang.String, boolean);
710 method public static synchronized float getDimen(android.content.Context, java.lang.String, float);
711 method public static synchronized android.graphics.drawable.Drawable getDrawable(android.content.Context, java.lang.String);
712 method public static synchronized android.graphics.drawable.Drawable getDrawable(android.content.Context, java.lang.String, android.util.DisplayMetrics);
713 }
714
715 public class CheckboxWrapperView extends android.widget.CheckBox {
716 ctor public CheckboxWrapperView(android.content.Context);
717 ctor public CheckboxWrapperView(android.content.Context, android.util.AttributeSet);
718 ctor public CheckboxWrapperView(android.content.Context, android.util.AttributeSet, int);
719 }
720
721 public class CircleBitmapDrawable extends android.graphics.drawable.Drawable {
722 ctor public CircleBitmapDrawable(android.content.res.Resources, android.graphics.Bitmap);
723 method public void draw(android.graphics.Canvas);
724 method public int getOpacity();
725 method public void onBoundsChange(android.graphics.Rect);
726 method public void setAlpha(int);
727 method public void setColorFilter(android.graphics.ColorFilter);
728 method public android.graphics.Bitmap toBitmap(int);
729 }
730
731 public class CircularClipAnimation implements android.animation.Animator.AnimatorListener android.animation.ValueAnimator.AnimatorUpdateListener {
732 ctor public CircularClipAnimation(android.view.ViewGroup);
733 method public void addListener(android.animation.Animator.AnimatorListener);
734 method public void addView(android.support.car.ui.PathClippingView, android.view.View);
735 method public void onAnimationCancel(android.animation.Animator);
736 method public void onAnimationEnd(android.animation.Animator);
737 method public void onAnimationRepeat(android.animation.Animator);
738 method public void onAnimationStart(android.animation.Animator);
739 method public void onAnimationUpdate(android.animation.ValueAnimator);
740 method public void removeView(android.support.car.ui.PathClippingView);
741 method public void setupCenter(int, int);
742 method public void start(boolean, int, int, int, int, android.view.View);
743 field public static final int DURATION_MS = 300; // 0x12c
744 }
745
746 public class ClippableFrameLayout extends android.widget.FrameLayout implements android.support.car.ui.PathClippingView {
747 ctor public ClippableFrameLayout(android.content.Context, android.util.AttributeSet);
748 method public void setClipPath(android.graphics.Path);
749 }
750
751 public class ColorChecker {
752 ctor public ColorChecker();
753 method public static double getContrastRatio(int, int);
754 method public static double getContrastRatio(double, double);
755 method public static double getLuminance(int);
756 method public static int getNonCriticalTintColor(android.content.Context, int);
757 method public static int getNonCriticalTintColor(int, int...);
758 method public static int getTintColor(android.content.Context, int);
759 method public static int getTintColor(int, int...);
760 method public static int getTintColor(double, int, int...);
761 }
762
763 public abstract class CursorRecyclerViewAdapter extends android.support.v7.widget.RecyclerView.Adapter {
764 ctor public CursorRecyclerViewAdapter(android.content.Context, android.database.Cursor);
765 method public void changeCursor(android.database.Cursor);
766 method public android.database.Cursor getCursor();
767 method public int getItemCount();
768 method protected int getRowIdColumnIndex(android.database.Cursor);
769 method public void onBindViewHolder(VH, android.database.Cursor);
770 method public void onBindViewHolder(VH, int);
771 method public android.database.Cursor swapCursor(android.database.Cursor);
772 field protected android.content.Context mContext;
773 field protected android.database.Cursor mCursor;
774 field protected android.database.DataSetObserver mDataSetObserver;
775 field protected int mRowIdColumn;
776 }
777
778 public class DrawerArrowDrawable extends android.graphics.drawable.Drawable {
779 ctor public DrawerArrowDrawable(android.content.Context);
780 method public void draw(android.graphics.Canvas);
781 method public int getOpacity();
782 method public float getProgress();
783 method public boolean isLayoutRtl();
784 method public void setAlpha(int);
785 method public void setColorFilter(android.graphics.ColorFilter);
786 method public void setProgress(float);
787 method protected void setVerticalMirror(boolean);
788 }
789
790 public class FabDrawable extends android.graphics.drawable.Drawable {
791 ctor public FabDrawable(android.content.Context);
792 ctor public FabDrawable(int, int, int);
793 method public void draw(android.graphics.Canvas);
794 method public int getOpacity();
795 method public void setAlpha(int);
796 method public void setColorFilter(android.graphics.ColorFilter);
797 method public void setFabAndStrokeColor(int);
798 method public void setFabAndStrokeColor(int, float);
799 method public void setFabColor(int);
800 method public void setStrokeColor(int);
801 }
802
803 public abstract class GroupingCursorRecyclerViewAdapter extends android.support.car.ui.CursorRecyclerViewAdapter {
804 ctor public GroupingCursorRecyclerViewAdapter(android.content.Context, android.database.Cursor);
805 method protected void addGroup(int, int, boolean);
806 method protected abstract void buildGroups(android.database.Cursor);
807 method public android.database.Cursor getItem(int);
808 method protected abstract void onBindChildViewHolder(VH, android.content.Context, android.database.Cursor);
809 method protected abstract void onBindGroupViewHolder(VH, android.content.Context, android.database.Cursor, int, boolean);
810 method protected abstract void onBindStandAloneViewHolder(VH, android.content.Context, android.database.Cursor);
811 method protected abstract VH onCreateChildViewHolder(android.content.Context, android.view.ViewGroup);
812 method protected abstract VH onCreateGroupViewHolder(android.content.Context, android.view.ViewGroup);
813 method protected abstract VH onCreateStandAloneViewHolder(android.content.Context, android.view.ViewGroup);
814 method public VH onCreateViewHolder(android.view.ViewGroup, int);
815 method public boolean toggleGroup(int);
816 field public static final int VIEW_TYPE_GROUP_HEADER = 1; // 0x1
817 field public static final int VIEW_TYPE_IN_GROUP = 2; // 0x2
818 field public static final int VIEW_TYPE_STANDALONE = 0; // 0x0
819 }
820
821 protected static class GroupingCursorRecyclerViewAdapter.GroupMetadata {
822 ctor protected GroupingCursorRecyclerViewAdapter.GroupMetadata();
823 method public int getActualSize();
824 method public boolean isExpanded();
825 method public boolean isStandAlone();
826 }
827
828 protected static class GroupingCursorRecyclerViewAdapter.PositionMetadata {
829 ctor public GroupingCursorRecyclerViewAdapter.PositionMetadata(int, int, android.support.car.ui.GroupingCursorRecyclerViewAdapter.GroupMetadata);
830 }
831
832 public abstract class GroupingRecyclerViewAdapter extends android.support.v7.widget.RecyclerView.Adapter {
833 ctor public GroupingRecyclerViewAdapter(android.content.Context);
834 method protected void addGroup(int, int, boolean);
835 method protected abstract void buildGroups(java.util.List<E>);
836 method public E getItem(int);
837 method public int getItemCount();
838 method public boolean isGroupExpanded(int);
839 method protected abstract void onBindChildViewHolder(VH, android.content.Context, int);
840 method protected abstract void onBindGroupViewHolder(VH, android.content.Context, int, int, boolean);
841 method protected abstract void onBindStandAloneViewHolder(VH, android.content.Context, int);
842 method public void onBindViewHolder(VH, int);
843 method protected abstract VH onCreateChildViewHolder(android.content.Context, android.view.ViewGroup);
844 method protected abstract VH onCreateGroupViewHolder(android.content.Context, android.view.ViewGroup);
845 method protected abstract VH onCreateStandAloneViewHolder(android.content.Context, android.view.ViewGroup);
846 method public VH onCreateViewHolder(android.view.ViewGroup, int);
847 method public void setData(java.util.List<E>);
848 method public boolean toggleGroup(int, int);
849 field public static final int VIEW_TYPE_GROUP_HEADER = 1; // 0x1
850 field public static final int VIEW_TYPE_IN_GROUP = 2; // 0x2
851 field public static final int VIEW_TYPE_STANDALONE = 0; // 0x0
852 field protected android.content.Context mContext;
853 field protected java.util.List<E> mData;
854 }
855
856 protected static class GroupingRecyclerViewAdapter.GroupMetadata {
857 ctor protected GroupingRecyclerViewAdapter.GroupMetadata();
858 method public int getActualSize();
859 method public boolean isExpanded();
860 method public boolean isStandAlone();
861 }
862
863 protected static class GroupingRecyclerViewAdapter.PositionMetadata {
864 ctor public GroupingRecyclerViewAdapter.PositionMetadata(int, int, android.support.car.ui.GroupingRecyclerViewAdapter.GroupMetadata);
865 }
866
867 public class LogDecelerateInterpolator implements android.view.animation.Interpolator {
868 ctor public LogDecelerateInterpolator(int, int);
869 method public float getInterpolation(float);
870 }
871
872 public class MaxWidthLayout extends android.widget.FrameLayout {
873 ctor public MaxWidthLayout(android.content.Context);
874 ctor public MaxWidthLayout(android.content.Context, android.util.AttributeSet);
875 ctor public MaxWidthLayout(android.content.Context, android.util.AttributeSet, int);
876 }
877
878 public class PagedLayoutManager extends android.support.v7.widget.LinearLayoutManager {
879 ctor public PagedLayoutManager(android.content.Context);
880 method public int getLastScrollPosition();
881 method public boolean isAtBottom();
882 method public boolean isAtTop();
883 method public void setItemsChangedListener(java.lang.Runnable);
884 method public void setScrollingEnabled(boolean);
885 field public java.lang.Runnable mItemsChangedRunnable;
886 }
887
888 public class PagedListView extends android.widget.FrameLayout {
889 ctor public PagedListView(android.content.Context, android.util.AttributeSet);
890 ctor public PagedListView(android.content.Context, android.util.AttributeSet, int);
891 ctor public PagedListView(android.content.Context, android.util.AttributeSet, int, int);
892 method public void addItemDecoration(android.support.v7.widget.RecyclerView.ItemDecoration);
893 method public android.view.View findViewByPosition(int);
894 method public android.support.v7.widget.RecyclerView.Adapter<? extends android.support.v7.widget.RecyclerView.ViewHolder> getAdapter();
895 method protected int getDefaultMaxPages();
896 method public android.support.car.ui.CarLayoutManager getLayoutManager();
897 method public int getMaxPages();
898 method public int getPage(int);
899 method public android.support.car.ui.CarRecyclerView getRecyclerView();
900 method public void onLayout(boolean, int, int, int, int);
901 method public int positionOf(android.view.View);
902 method public void removeDefaultItemDecoration();
903 method public void removeItemDecoration(android.support.v7.widget.RecyclerView.ItemDecoration);
904 method public void resetMaxPages();
905 method public void scrollToPosition(int);
906 method public void setAdapter(android.support.v7.widget.RecyclerView.Adapter<? extends android.support.v7.widget.RecyclerView.ViewHolder>);
907 method public void setAutoDayNightMode();
908 method public void setDarkMode();
909 method public void setDefaultItemDecoration(android.support.car.ui.PagedListView.Decoration);
910 method public void setLightMode();
911 method public void setMaxPages(int);
912 method public void setOnScrollBarListener(android.support.car.ui.PagedListView.OnScrollBarListener);
913 }
914
915 public static class PagedListView.Decoration extends android.support.v7.widget.RecyclerView.ItemDecoration {
916 ctor public PagedListView.Decoration(android.content.Context);
917 method public void updateDividerColor();
918 field protected final android.content.Context mContext;
919 field protected final int mDividerHeight;
920 field protected final android.graphics.Paint mPaint;
921 }
922
923 public static abstract interface PagedListView.ItemCap {
924 method public abstract void setMaxItems(int);
925 }
926
927 public static abstract class PagedListView.OnScrollBarListener {
928 ctor public PagedListView.OnScrollBarListener();
929 method public void onLeaveBottom();
930 method public void onReachBottom();
931 }
932
933 public class PagedScrollBarView extends android.widget.FrameLayout implements android.view.View.OnClickListener android.view.View.OnLongClickListener {
934 ctor public PagedScrollBarView(android.content.Context, android.util.AttributeSet);
935 ctor public PagedScrollBarView(android.content.Context, android.util.AttributeSet, int);
936 ctor public PagedScrollBarView(android.content.Context, android.util.AttributeSet, int, int);
937 method protected boolean isDownEnabled();
938 method public boolean isDownPressed();
939 method public boolean isUpPressed();
940 method public void onClick(android.view.View);
941 method public boolean onLongClick(android.view.View);
942 method protected void setAutoDayNightMode();
943 method protected void setDarkMode();
944 method protected void setDownEnabled(boolean);
945 method protected void setLightMode();
946 method public void setPaginationListener(android.support.car.ui.PagedScrollBarView.PaginationListener);
947 method protected void setParameters(int, int, int, boolean);
948 method protected void setUpEnabled(boolean);
949 }
950
951 public static abstract interface PagedScrollBarView.PaginationListener {
952 method public abstract void onPaginate(int);
953 field public static final int PAGE_DOWN = 1; // 0x1
954 field public static final int PAGE_UP = 0; // 0x0
955 }
956
957 public abstract interface PathClippingView {
958 method public abstract void setClipPath(android.graphics.Path);
959 }
960
961 public class QuantumInterpolator implements android.animation.TimeInterpolator {
962 ctor public QuantumInterpolator(float[], float, float, float);
963 method public float getInterpolation(float);
964 method public float getInterpolation(float, float, float);
965 method public float getReverseInterpolation(float);
966 field public static final float[] FAST_OUT_LINEAR_IN;
967 field public static final float[] FAST_OUT_SLOW_IN;
968 field public static final float[] LINEAR_OUT_SLOW_IN;
969 }
970
971 public class ReversibleInterpolator {
972 ctor public ReversibleInterpolator(android.animation.TimeInterpolator, android.animation.TimeInterpolator);
973 method public float getForwardInterpolation(float);
974 method public float getReverseInterpolation(float);
975 }
976
977}
978
diff --git a/car-support-lib/api/removed.txt b/car-support-lib/api/removed.txt
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/car-support-lib/api/removed.txt
diff --git a/car-support-lib/src/android/support/car/app/menu/CarMenuCallbacks.java b/car-support-lib/src/android/support/car/app/menu/CarMenuCallbacks.java
index 5b921961..f1eb91e6 100644
--- a/car-support-lib/src/android/support/car/app/menu/CarMenuCallbacks.java
+++ b/car-support-lib/src/android/support/car/app/menu/CarMenuCallbacks.java
@@ -82,6 +82,12 @@ public abstract class CarMenuCallbacks {
82 mListener = listener; 82 mListener = listener;
83 } 83 }
84 84
85 /**
86 * Unregister an OnChildrenChangedListener to detect when a menu has changed.
87 *
88 * @param listener listener to unregister
89 * @hide
90 */
85 public void unregisterOnChildrenChangedListener(OnChildrenChangedListener listener) { 91 public void unregisterOnChildrenChangedListener(OnChildrenChangedListener listener) {
86 if (listener != mListener) { 92 if (listener != mListener) {
87 throw new IllegalStateException( 93 throw new IllegalStateException(
@@ -154,4 +160,4 @@ public abstract class CarMenuCallbacks {
154 realItem.mRightIcon); 160 realItem.mRightIcon);
155 } 161 }
156 } 162 }
157} \ No newline at end of file 163}