1// Signature format: 2.0
2package android {
3
4  public static final class Manifest.permission {
5    field public static final String ACCESS_AMBIENT_LIGHT_STATS = "android.permission.ACCESS_AMBIENT_LIGHT_STATS";
6    field public static final String ACCESS_BROADCAST_RADIO = "android.permission.ACCESS_BROADCAST_RADIO";
7    field public static final String ACCESS_CACHE_FILESYSTEM = "android.permission.ACCESS_CACHE_FILESYSTEM";
8    field public static final String ACCESS_CONTEXT_HUB = "android.permission.ACCESS_CONTEXT_HUB";
9    field public static final String ACCESS_DRM_CERTIFICATES = "android.permission.ACCESS_DRM_CERTIFICATES";
10    field @Deprecated public static final String ACCESS_FM_RADIO = "android.permission.ACCESS_FM_RADIO";
11    field public static final String ACCESS_INSTANT_APPS = "android.permission.ACCESS_INSTANT_APPS";
12    field public static final String ACCESS_LOCUS_ID_USAGE_STATS = "android.permission.ACCESS_LOCUS_ID_USAGE_STATS";
13    field public static final String ACCESS_MOCK_LOCATION = "android.permission.ACCESS_MOCK_LOCATION";
14    field public static final String ACCESS_MTP = "android.permission.ACCESS_MTP";
15    field public static final String ACCESS_NETWORK_CONDITIONS = "android.permission.ACCESS_NETWORK_CONDITIONS";
16    field public static final String ACCESS_NOTIFICATIONS = "android.permission.ACCESS_NOTIFICATIONS";
17    field public static final String ACCESS_RCS_USER_CAPABILITY_EXCHANGE = "android.permission.ACCESS_RCS_USER_CAPABILITY_EXCHANGE";
18    field public static final String ACCESS_SHARED_LIBRARIES = "android.permission.ACCESS_SHARED_LIBRARIES";
19    field public static final String ACCESS_SHORTCUTS = "android.permission.ACCESS_SHORTCUTS";
20    field public static final String ACCESS_SURFACE_FLINGER = "android.permission.ACCESS_SURFACE_FLINGER";
21    field public static final String ACCESS_TUNED_INFO = "android.permission.ACCESS_TUNED_INFO";
22    field public static final String ACCESS_TV_DESCRAMBLER = "android.permission.ACCESS_TV_DESCRAMBLER";
23    field public static final String ACCESS_TV_TUNER = "android.permission.ACCESS_TV_TUNER";
24    field public static final String ACCESS_VIBRATOR_STATE = "android.permission.ACCESS_VIBRATOR_STATE";
25    field public static final String ACTIVITY_EMBEDDING = "android.permission.ACTIVITY_EMBEDDING";
26    field public static final String ADJUST_RUNTIME_PERMISSIONS_POLICY = "android.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY";
27    field public static final String ALLOCATE_AGGRESSIVE = "android.permission.ALLOCATE_AGGRESSIVE";
28    field public static final String ALLOW_ANY_CODEC_FOR_PLAYBACK = "android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK";
29    field public static final String ALLOW_PLACE_IN_MULTI_PANE_SETTINGS = "android.permission.ALLOW_PLACE_IN_MULTI_PANE_SETTINGS";
30    field public static final String AMBIENT_WALLPAPER = "android.permission.AMBIENT_WALLPAPER";
31    field public static final String APPROVE_INCIDENT_REPORTS = "android.permission.APPROVE_INCIDENT_REPORTS";
32    field public static final String ASSOCIATE_COMPANION_DEVICES = "android.permission.ASSOCIATE_COMPANION_DEVICES";
33    field public static final String BACKGROUND_CAMERA = "android.permission.BACKGROUND_CAMERA";
34    field public static final String BACKUP = "android.permission.BACKUP";
35    field public static final String BATTERY_PREDICTION = "android.permission.BATTERY_PREDICTION";
36    field public static final String BIND_ATTENTION_SERVICE = "android.permission.BIND_ATTENTION_SERVICE";
37    field public static final String BIND_AUGMENTED_AUTOFILL_SERVICE = "android.permission.BIND_AUGMENTED_AUTOFILL_SERVICE";
38    field public static final String BIND_CALL_DIAGNOSTIC_SERVICE = "android.permission.BIND_CALL_DIAGNOSTIC_SERVICE";
39    field public static final String BIND_CELL_BROADCAST_SERVICE = "android.permission.BIND_CELL_BROADCAST_SERVICE";
40    field @Deprecated public static final String BIND_CONNECTION_SERVICE = "android.permission.BIND_CONNECTION_SERVICE";
41    field public static final String BIND_CONTENT_CAPTURE_SERVICE = "android.permission.BIND_CONTENT_CAPTURE_SERVICE";
42    field public static final String BIND_CONTENT_SUGGESTIONS_SERVICE = "android.permission.BIND_CONTENT_SUGGESTIONS_SERVICE";
43    field public static final String BIND_DIRECTORY_SEARCH = "android.permission.BIND_DIRECTORY_SEARCH";
44    field public static final String BIND_DISPLAY_HASHING_SERVICE = "android.permission.BIND_DISPLAY_HASHING_SERVICE";
45    field public static final String BIND_DOMAIN_VERIFICATION_AGENT = "android.permission.BIND_DOMAIN_VERIFICATION_AGENT";
46    field public static final String BIND_EUICC_SERVICE = "android.permission.BIND_EUICC_SERVICE";
47    field public static final String BIND_EXTERNAL_STORAGE_SERVICE = "android.permission.BIND_EXTERNAL_STORAGE_SERVICE";
48    field public static final String BIND_GBA_SERVICE = "android.permission.BIND_GBA_SERVICE";
49    field public static final String BIND_HOTWORD_DETECTION_SERVICE = "android.permission.BIND_HOTWORD_DETECTION_SERVICE";
50    field public static final String BIND_IMS_SERVICE = "android.permission.BIND_IMS_SERVICE";
51    field public static final String BIND_KEYGUARD_APPWIDGET = "android.permission.BIND_KEYGUARD_APPWIDGET";
52    field public static final String BIND_MUSIC_RECOGNITION_SERVICE = "android.permission.BIND_MUSIC_RECOGNITION_SERVICE";
53    field public static final String BIND_NETWORK_RECOMMENDATION_SERVICE = "android.permission.BIND_NETWORK_RECOMMENDATION_SERVICE";
54    field public static final String BIND_NOTIFICATION_ASSISTANT_SERVICE = "android.permission.BIND_NOTIFICATION_ASSISTANT_SERVICE";
55    field public static final String BIND_PHONE_ACCOUNT_SUGGESTION_SERVICE = "android.permission.BIND_PHONE_ACCOUNT_SUGGESTION_SERVICE";
56    field public static final String BIND_PRINT_RECOMMENDATION_SERVICE = "android.permission.BIND_PRINT_RECOMMENDATION_SERVICE";
57    field public static final String BIND_RESOLVER_RANKER_SERVICE = "android.permission.BIND_RESOLVER_RANKER_SERVICE";
58    field public static final String BIND_RESUME_ON_REBOOT_SERVICE = "android.permission.BIND_RESUME_ON_REBOOT_SERVICE";
59    field public static final String BIND_ROTATION_RESOLVER_SERVICE = "android.permission.BIND_ROTATION_RESOLVER_SERVICE";
60    field public static final String BIND_RUNTIME_PERMISSION_PRESENTER_SERVICE = "android.permission.BIND_RUNTIME_PERMISSION_PRESENTER_SERVICE";
61    field public static final String BIND_SETTINGS_SUGGESTIONS_SERVICE = "android.permission.BIND_SETTINGS_SUGGESTIONS_SERVICE";
62    field public static final String BIND_SOUND_TRIGGER_DETECTION_SERVICE = "android.permission.BIND_SOUND_TRIGGER_DETECTION_SERVICE";
63    field public static final String BIND_TELEPHONY_DATA_SERVICE = "android.permission.BIND_TELEPHONY_DATA_SERVICE";
64    field public static final String BIND_TELEPHONY_NETWORK_SERVICE = "android.permission.BIND_TELEPHONY_NETWORK_SERVICE";
65    field public static final String BIND_TEXTCLASSIFIER_SERVICE = "android.permission.BIND_TEXTCLASSIFIER_SERVICE";
66    field public static final String BIND_TIME_ZONE_PROVIDER_SERVICE = "android.permission.BIND_TIME_ZONE_PROVIDER_SERVICE";
67    field public static final String BIND_TRANSLATION_SERVICE = "android.permission.BIND_TRANSLATION_SERVICE";
68    field public static final String BIND_TRUST_AGENT = "android.permission.BIND_TRUST_AGENT";
69    field public static final String BIND_TV_REMOTE_SERVICE = "android.permission.BIND_TV_REMOTE_SERVICE";
70    field public static final String BRICK = "android.permission.BRICK";
71    field public static final String BRIGHTNESS_SLIDER_USAGE = "android.permission.BRIGHTNESS_SLIDER_USAGE";
72    field public static final String BROADCAST_CLOSE_SYSTEM_DIALOGS = "android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS";
73    field @Deprecated public static final String BROADCAST_NETWORK_PRIVILEGED = "android.permission.BROADCAST_NETWORK_PRIVILEGED";
74    field public static final String BYPASS_ROLE_QUALIFICATION = "android.permission.BYPASS_ROLE_QUALIFICATION";
75    field public static final String CAMERA_DISABLE_TRANSMIT_LED = "android.permission.CAMERA_DISABLE_TRANSMIT_LED";
76    field public static final String CAMERA_OPEN_CLOSE_LISTENER = "android.permission.CAMERA_OPEN_CLOSE_LISTENER";
77    field public static final String CAPTURE_AUDIO_HOTWORD = "android.permission.CAPTURE_AUDIO_HOTWORD";
78    field public static final String CAPTURE_MEDIA_OUTPUT = "android.permission.CAPTURE_MEDIA_OUTPUT";
79    field public static final String CAPTURE_TUNER_AUDIO_INPUT = "android.permission.CAPTURE_TUNER_AUDIO_INPUT";
80    field public static final String CAPTURE_TV_INPUT = "android.permission.CAPTURE_TV_INPUT";
81    field public static final String CAPTURE_VOICE_COMMUNICATION_OUTPUT = "android.permission.CAPTURE_VOICE_COMMUNICATION_OUTPUT";
82    field public static final String CHANGE_APP_IDLE_STATE = "android.permission.CHANGE_APP_IDLE_STATE";
83    field public static final String CHANGE_DEVICE_IDLE_TEMP_WHITELIST = "android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST";
84    field public static final String CLEAR_APP_USER_DATA = "android.permission.CLEAR_APP_USER_DATA";
85    field public static final String COMPANION_APPROVE_WIFI_CONNECTIONS = "android.permission.COMPANION_APPROVE_WIFI_CONNECTIONS";
86    field public static final String CONFIGURE_DISPLAY_BRIGHTNESS = "android.permission.CONFIGURE_DISPLAY_BRIGHTNESS";
87    field public static final String CONFIGURE_WIFI_DISPLAY = "android.permission.CONFIGURE_WIFI_DISPLAY";
88    field @Deprecated public static final String CONNECTIVITY_INTERNAL = "android.permission.CONNECTIVITY_INTERNAL";
89    field public static final String CONNECTIVITY_USE_RESTRICTED_NETWORKS = "android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS";
90    field public static final String CONTROL_DEVICE_LIGHTS = "android.permission.CONTROL_DEVICE_LIGHTS";
91    field public static final String CONTROL_DISPLAY_COLOR_TRANSFORMS = "android.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS";
92    field public static final String CONTROL_DISPLAY_SATURATION = "android.permission.CONTROL_DISPLAY_SATURATION";
93    field public static final String CONTROL_INCALL_EXPERIENCE = "android.permission.CONTROL_INCALL_EXPERIENCE";
94    field public static final String CONTROL_KEYGUARD_SECURE_NOTIFICATIONS = "android.permission.CONTROL_KEYGUARD_SECURE_NOTIFICATIONS";
95    field public static final String CONTROL_OEM_PAID_NETWORK_PREFERENCE = "android.permission.CONTROL_OEM_PAID_NETWORK_PREFERENCE";
96    field public static final String CONTROL_VPN = "android.permission.CONTROL_VPN";
97    field public static final String CREATE_USERS = "android.permission.CREATE_USERS";
98    field public static final String CRYPT_KEEPER = "android.permission.CRYPT_KEEPER";
99    field public static final String DEVICE_POWER = "android.permission.DEVICE_POWER";
100    field public static final String DISABLE_SYSTEM_SOUND_EFFECTS = "android.permission.DISABLE_SYSTEM_SOUND_EFFECTS";
101    field public static final String DISPATCH_PROVISIONING_MESSAGE = "android.permission.DISPATCH_PROVISIONING_MESSAGE";
102    field public static final String DOMAIN_VERIFICATION_AGENT = "android.permission.DOMAIN_VERIFICATION_AGENT";
103    field public static final String ENTER_CAR_MODE_PRIORITIZED = "android.permission.ENTER_CAR_MODE_PRIORITIZED";
104    field public static final String EXEMPT_FROM_AUDIO_RECORD_RESTRICTIONS = "android.permission.EXEMPT_FROM_AUDIO_RECORD_RESTRICTIONS";
105    field public static final String FORCE_BACK = "android.permission.FORCE_BACK";
106    field public static final String FORCE_STOP_PACKAGES = "android.permission.FORCE_STOP_PACKAGES";
107    field public static final String GET_APP_OPS_STATS = "android.permission.GET_APP_OPS_STATS";
108    field public static final String GET_PROCESS_STATE_AND_OOM_SCORE = "android.permission.GET_PROCESS_STATE_AND_OOM_SCORE";
109    field public static final String GET_RUNTIME_PERMISSIONS = "android.permission.GET_RUNTIME_PERMISSIONS";
110    field public static final String GET_TOP_ACTIVITY_INFO = "android.permission.GET_TOP_ACTIVITY_INFO";
111    field @Deprecated public static final String GRANT_PROFILE_OWNER_DEVICE_IDS_ACCESS = "android.permission.GRANT_PROFILE_OWNER_DEVICE_IDS_ACCESS";
112    field public static final String GRANT_RUNTIME_PERMISSIONS = "android.permission.GRANT_RUNTIME_PERMISSIONS";
113    field public static final String GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS = "android.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS";
114    field public static final String HANDLE_CAR_MODE_CHANGES = "android.permission.HANDLE_CAR_MODE_CHANGES";
115    field public static final String HARDWARE_TEST = "android.permission.HARDWARE_TEST";
116    field public static final String HDMI_CEC = "android.permission.HDMI_CEC";
117    field @Deprecated public static final String HIDE_NON_SYSTEM_OVERLAY_WINDOWS = "android.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS";
118    field public static final String INJECT_EVENTS = "android.permission.INJECT_EVENTS";
119    field public static final String INSTALL_DYNAMIC_SYSTEM = "android.permission.INSTALL_DYNAMIC_SYSTEM";
120    field public static final String INSTALL_GRANT_RUNTIME_PERMISSIONS = "android.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS";
121    field public static final String INSTALL_LOCATION_TIME_ZONE_PROVIDER_SERVICE = "android.permission.INSTALL_LOCATION_TIME_ZONE_PROVIDER_SERVICE";
122    field public static final String INSTALL_PACKAGE_UPDATES = "android.permission.INSTALL_PACKAGE_UPDATES";
123    field public static final String INSTALL_SELF_UPDATES = "android.permission.INSTALL_SELF_UPDATES";
124    field public static final String INTENT_FILTER_VERIFICATION_AGENT = "android.permission.INTENT_FILTER_VERIFICATION_AGENT";
125    field public static final String INTERACT_ACROSS_USERS = "android.permission.INTERACT_ACROSS_USERS";
126    field public static final String INTERACT_ACROSS_USERS_FULL = "android.permission.INTERACT_ACROSS_USERS_FULL";
127    field public static final String INTERNAL_SYSTEM_WINDOW = "android.permission.INTERNAL_SYSTEM_WINDOW";
128    field public static final String INVOKE_CARRIER_SETUP = "android.permission.INVOKE_CARRIER_SETUP";
129    field public static final String KILL_UID = "android.permission.KILL_UID";
130    field public static final String LOCAL_MAC_ADDRESS = "android.permission.LOCAL_MAC_ADDRESS";
131    field public static final String LOCK_DEVICE = "android.permission.LOCK_DEVICE";
132    field public static final String LOOP_RADIO = "android.permission.LOOP_RADIO";
133    field public static final String MANAGE_ACCESSIBILITY = "android.permission.MANAGE_ACCESSIBILITY";
134    field @Deprecated public static final String MANAGE_ACTIVITY_STACKS = "android.permission.MANAGE_ACTIVITY_STACKS";
135    field public static final String MANAGE_ACTIVITY_TASKS = "android.permission.MANAGE_ACTIVITY_TASKS";
136    field public static final String MANAGE_APP_HIBERNATION = "android.permission.MANAGE_APP_HIBERNATION";
137    field public static final String MANAGE_APP_OPS_RESTRICTIONS = "android.permission.MANAGE_APP_OPS_RESTRICTIONS";
138    field public static final String MANAGE_APP_PREDICTIONS = "android.permission.MANAGE_APP_PREDICTIONS";
139    field public static final String MANAGE_APP_TOKENS = "android.permission.MANAGE_APP_TOKENS";
140    field public static final String MANAGE_AUTO_FILL = "android.permission.MANAGE_AUTO_FILL";
141    field public static final String MANAGE_CARRIER_OEM_UNLOCK_STATE = "android.permission.MANAGE_CARRIER_OEM_UNLOCK_STATE";
142    field public static final String MANAGE_CA_CERTIFICATES = "android.permission.MANAGE_CA_CERTIFICATES";
143    field public static final String MANAGE_CONTENT_CAPTURE = "android.permission.MANAGE_CONTENT_CAPTURE";
144    field public static final String MANAGE_CONTENT_SUGGESTIONS = "android.permission.MANAGE_CONTENT_SUGGESTIONS";
145    field public static final String MANAGE_DEBUGGING = "android.permission.MANAGE_DEBUGGING";
146    field public static final String MANAGE_FACTORY_RESET_PROTECTION = "android.permission.MANAGE_FACTORY_RESET_PROTECTION";
147    field public static final String MANAGE_HOTWORD_DETECTION = "android.permission.MANAGE_HOTWORD_DETECTION";
148    field public static final String MANAGE_IPSEC_TUNNELS = "android.permission.MANAGE_IPSEC_TUNNELS";
149    field public static final String MANAGE_MUSIC_RECOGNITION = "android.permission.MANAGE_MUSIC_RECOGNITION";
150    field public static final String MANAGE_NOTIFICATION_LISTENERS = "android.permission.MANAGE_NOTIFICATION_LISTENERS";
151    field public static final String MANAGE_ONE_TIME_PERMISSION_SESSIONS = "android.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS";
152    field public static final String MANAGE_ROLE_HOLDERS = "android.permission.MANAGE_ROLE_HOLDERS";
153    field public static final String MANAGE_ROLLBACKS = "android.permission.MANAGE_ROLLBACKS";
154    field public static final String MANAGE_ROTATION_RESOLVER = "android.permission.MANAGE_ROTATION_RESOLVER";
155    field public static final String MANAGE_SEARCH_UI = "android.permission.MANAGE_SEARCH_UI";
156    field public static final String MANAGE_SENSOR_PRIVACY = "android.permission.MANAGE_SENSOR_PRIVACY";
157    field public static final String MANAGE_SMARTSPACE = "android.permission.MANAGE_SMARTSPACE";
158    field public static final String MANAGE_SOUND_TRIGGER = "android.permission.MANAGE_SOUND_TRIGGER";
159    field public static final String MANAGE_SPEECH_RECOGNITION = "android.permission.MANAGE_SPEECH_RECOGNITION";
160    field public static final String MANAGE_SUBSCRIPTION_PLANS = "android.permission.MANAGE_SUBSCRIPTION_PLANS";
161    field public static final String MANAGE_TEST_NETWORKS = "android.permission.MANAGE_TEST_NETWORKS";
162    field public static final String MANAGE_TIME_AND_ZONE_DETECTION = "android.permission.MANAGE_TIME_AND_ZONE_DETECTION";
163    field public static final String MANAGE_UI_TRANSLATION = "android.permission.MANAGE_UI_TRANSLATION";
164    field public static final String MANAGE_USB = "android.permission.MANAGE_USB";
165    field public static final String MANAGE_USERS = "android.permission.MANAGE_USERS";
166    field public static final String MANAGE_USER_OEM_UNLOCK_STATE = "android.permission.MANAGE_USER_OEM_UNLOCK_STATE";
167    field public static final String MANAGE_WIFI_COUNTRY_CODE = "android.permission.MANAGE_WIFI_COUNTRY_CODE";
168    field public static final String MODIFY_APPWIDGET_BIND_PERMISSIONS = "android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS";
169    field public static final String MODIFY_AUDIO_ROUTING = "android.permission.MODIFY_AUDIO_ROUTING";
170    field public static final String MODIFY_CELL_BROADCASTS = "android.permission.MODIFY_CELL_BROADCASTS";
171    field public static final String MODIFY_DAY_NIGHT_MODE = "android.permission.MODIFY_DAY_NIGHT_MODE";
172    field @Deprecated public static final String MODIFY_NETWORK_ACCOUNTING = "android.permission.MODIFY_NETWORK_ACCOUNTING";
173    field public static final String MODIFY_PARENTAL_CONTROLS = "android.permission.MODIFY_PARENTAL_CONTROLS";
174    field public static final String MODIFY_QUIET_MODE = "android.permission.MODIFY_QUIET_MODE";
175    field public static final String MODIFY_SETTINGS_OVERRIDEABLE_BY_RESTORE = "android.permission.MODIFY_SETTINGS_OVERRIDEABLE_BY_RESTORE";
176    field public static final String MOVE_PACKAGE = "android.permission.MOVE_PACKAGE";
177    field public static final String NETWORK_AIRPLANE_MODE = "android.permission.NETWORK_AIRPLANE_MODE";
178    field public static final String NETWORK_CARRIER_PROVISIONING = "android.permission.NETWORK_CARRIER_PROVISIONING";
179    field public static final String NETWORK_FACTORY = "android.permission.NETWORK_FACTORY";
180    field public static final String NETWORK_MANAGED_PROVISIONING = "android.permission.NETWORK_MANAGED_PROVISIONING";
181    field public static final String NETWORK_SCAN = "android.permission.NETWORK_SCAN";
182    field public static final String NETWORK_SETTINGS = "android.permission.NETWORK_SETTINGS";
183    field public static final String NETWORK_SETUP_WIZARD = "android.permission.NETWORK_SETUP_WIZARD";
184    field public static final String NETWORK_SIGNAL_STRENGTH_WAKEUP = "android.permission.NETWORK_SIGNAL_STRENGTH_WAKEUP";
185    field public static final String NETWORK_STACK = "android.permission.NETWORK_STACK";
186    field public static final String NETWORK_STATS_PROVIDER = "android.permission.NETWORK_STATS_PROVIDER";
187    field public static final String NFC_SET_CONTROLLER_ALWAYS_ON = "android.permission.NFC_SET_CONTROLLER_ALWAYS_ON";
188    field public static final String NOTIFICATION_DURING_SETUP = "android.permission.NOTIFICATION_DURING_SETUP";
189    field public static final String NOTIFY_TV_INPUTS = "android.permission.NOTIFY_TV_INPUTS";
190    field public static final String OBSERVE_APP_USAGE = "android.permission.OBSERVE_APP_USAGE";
191    field public static final String OBSERVE_NETWORK_POLICY = "android.permission.OBSERVE_NETWORK_POLICY";
192    field public static final String OBSERVE_ROLE_HOLDERS = "android.permission.OBSERVE_ROLE_HOLDERS";
193    field public static final String OBSERVE_SENSOR_PRIVACY = "android.permission.OBSERVE_SENSOR_PRIVACY";
194    field public static final String OPEN_ACCESSIBILITY_DETAILS_SETTINGS = "android.permission.OPEN_ACCESSIBILITY_DETAILS_SETTINGS";
195    field public static final String OVERRIDE_COMPAT_CHANGE_CONFIG_ON_RELEASE_BUILD = "android.permission.OVERRIDE_COMPAT_CHANGE_CONFIG_ON_RELEASE_BUILD";
196    field public static final String OVERRIDE_WIFI_CONFIG = "android.permission.OVERRIDE_WIFI_CONFIG";
197    field public static final String PACKAGE_VERIFICATION_AGENT = "android.permission.PACKAGE_VERIFICATION_AGENT";
198    field public static final String PACKET_KEEPALIVE_OFFLOAD = "android.permission.PACKET_KEEPALIVE_OFFLOAD";
199    field public static final String PEERS_MAC_ADDRESS = "android.permission.PEERS_MAC_ADDRESS";
200    field public static final String PERFORM_CDMA_PROVISIONING = "android.permission.PERFORM_CDMA_PROVISIONING";
201    field public static final String PERFORM_IMS_SINGLE_REGISTRATION = "android.permission.PERFORM_IMS_SINGLE_REGISTRATION";
202    field public static final String PERFORM_SIM_ACTIVATION = "android.permission.PERFORM_SIM_ACTIVATION";
203    field public static final String POWER_SAVER = "android.permission.POWER_SAVER";
204    field public static final String PROVIDE_RESOLVER_RANKER_SERVICE = "android.permission.PROVIDE_RESOLVER_RANKER_SERVICE";
205    field public static final String PROVIDE_TRUST_AGENT = "android.permission.PROVIDE_TRUST_AGENT";
206    field public static final String QUERY_TIME_ZONE_RULES = "android.permission.QUERY_TIME_ZONE_RULES";
207    field public static final String RADIO_SCAN_WITHOUT_LOCATION = "android.permission.RADIO_SCAN_WITHOUT_LOCATION";
208    field public static final String READ_ACTIVE_EMERGENCY_SESSION = "android.permission.READ_ACTIVE_EMERGENCY_SESSION";
209    field public static final String READ_CARRIER_APP_INFO = "android.permission.READ_CARRIER_APP_INFO";
210    field public static final String READ_CELL_BROADCASTS = "android.permission.READ_CELL_BROADCASTS";
211    field public static final String READ_CONTENT_RATING_SYSTEMS = "android.permission.READ_CONTENT_RATING_SYSTEMS";
212    field public static final String READ_DEVICE_CONFIG = "android.permission.READ_DEVICE_CONFIG";
213    field public static final String READ_DREAM_STATE = "android.permission.READ_DREAM_STATE";
214    field public static final String READ_GLOBAL_APP_SEARCH_DATA = "android.permission.READ_GLOBAL_APP_SEARCH_DATA";
215    field public static final String READ_INSTALL_SESSIONS = "android.permission.READ_INSTALL_SESSIONS";
216    field public static final String READ_NETWORK_USAGE_HISTORY = "android.permission.READ_NETWORK_USAGE_HISTORY";
217    field public static final String READ_OEM_UNLOCK_STATE = "android.permission.READ_OEM_UNLOCK_STATE";
218    field public static final String READ_PEOPLE_DATA = "android.permission.READ_PEOPLE_DATA";
219    field public static final String READ_PRINT_SERVICES = "android.permission.READ_PRINT_SERVICES";
220    field public static final String READ_PRINT_SERVICE_RECOMMENDATIONS = "android.permission.READ_PRINT_SERVICE_RECOMMENDATIONS";
221    field public static final String READ_PRIVILEGED_PHONE_STATE = "android.permission.READ_PRIVILEGED_PHONE_STATE";
222    field public static final String READ_PROJECTION_STATE = "android.permission.READ_PROJECTION_STATE";
223    field public static final String READ_RUNTIME_PROFILES = "android.permission.READ_RUNTIME_PROFILES";
224    field public static final String READ_SEARCH_INDEXABLES = "android.permission.READ_SEARCH_INDEXABLES";
225    field public static final String READ_SYSTEM_UPDATE_INFO = "android.permission.READ_SYSTEM_UPDATE_INFO";
226    field public static final String READ_WALLPAPER_INTERNAL = "android.permission.READ_WALLPAPER_INTERNAL";
227    field public static final String READ_WIFI_CREDENTIAL = "android.permission.READ_WIFI_CREDENTIAL";
228    field public static final String REAL_GET_TASKS = "android.permission.REAL_GET_TASKS";
229    field public static final String RECEIVE_DATA_ACTIVITY_CHANGE = "android.permission.RECEIVE_DATA_ACTIVITY_CHANGE";
230    field public static final String RECEIVE_DEVICE_CUSTOMIZATION_READY = "android.permission.RECEIVE_DEVICE_CUSTOMIZATION_READY";
231    field public static final String RECEIVE_EMERGENCY_BROADCAST = "android.permission.RECEIVE_EMERGENCY_BROADCAST";
232    field public static final String RECEIVE_WIFI_CREDENTIAL_CHANGE = "android.permission.RECEIVE_WIFI_CREDENTIAL_CHANGE";
233    field public static final String RECORD_BACKGROUND_AUDIO = "android.permission.RECORD_BACKGROUND_AUDIO";
234    field public static final String RECOVERY = "android.permission.RECOVERY";
235    field public static final String RECOVER_KEYSTORE = "android.permission.RECOVER_KEYSTORE";
236    field public static final String REGISTER_CALL_PROVIDER = "android.permission.REGISTER_CALL_PROVIDER";
237    field public static final String REGISTER_CONNECTION_MANAGER = "android.permission.REGISTER_CONNECTION_MANAGER";
238    field public static final String REGISTER_SIM_SUBSCRIPTION = "android.permission.REGISTER_SIM_SUBSCRIPTION";
239    field public static final String REGISTER_STATS_PULL_ATOM = "android.permission.REGISTER_STATS_PULL_ATOM";
240    field public static final String REMOTE_DISPLAY_PROVIDER = "android.permission.REMOTE_DISPLAY_PROVIDER";
241    field public static final String REMOVE_DRM_CERTIFICATES = "android.permission.REMOVE_DRM_CERTIFICATES";
242    field public static final String REMOVE_TASKS = "android.permission.REMOVE_TASKS";
243    field public static final String RENOUNCE_PERMISSIONS = "android.permission.RENOUNCE_PERMISSIONS";
244    field public static final String REQUEST_NETWORK_SCORES = "android.permission.REQUEST_NETWORK_SCORES";
245    field public static final String REQUEST_NOTIFICATION_ASSISTANT_SERVICE = "android.permission.REQUEST_NOTIFICATION_ASSISTANT_SERVICE";
246    field public static final String RESET_PASSWORD = "android.permission.RESET_PASSWORD";
247    field public static final String RESTART_WIFI_SUBSYSTEM = "android.permission.RESTART_WIFI_SUBSYSTEM";
248    field public static final String RESTORE_RUNTIME_PERMISSIONS = "android.permission.RESTORE_RUNTIME_PERMISSIONS";
249    field public static final String RESTRICTED_VR_ACCESS = "android.permission.RESTRICTED_VR_ACCESS";
250    field public static final String RETRIEVE_WINDOW_CONTENT = "android.permission.RETRIEVE_WINDOW_CONTENT";
251    field public static final String REVIEW_ACCESSIBILITY_SERVICES = "android.permission.REVIEW_ACCESSIBILITY_SERVICES";
252    field public static final String REVOKE_RUNTIME_PERMISSIONS = "android.permission.REVOKE_RUNTIME_PERMISSIONS";
253    field public static final String ROTATE_SURFACE_FLINGER = "android.permission.ROTATE_SURFACE_FLINGER";
254    field public static final String SCHEDULE_PRIORITIZED_ALARM = "android.permission.SCHEDULE_PRIORITIZED_ALARM";
255    field public static final String SCORE_NETWORKS = "android.permission.SCORE_NETWORKS";
256    field public static final String SECURE_ELEMENT_PRIVILEGED_OPERATION = "android.permission.SECURE_ELEMENT_PRIVILEGED_OPERATION";
257    field public static final String SEND_CATEGORY_CAR_NOTIFICATIONS = "android.permission.SEND_CATEGORY_CAR_NOTIFICATIONS";
258    field public static final String SEND_DEVICE_CUSTOMIZATION_READY = "android.permission.SEND_DEVICE_CUSTOMIZATION_READY";
259    field public static final String SEND_SHOW_SUSPENDED_APP_DETAILS = "android.permission.SEND_SHOW_SUSPENDED_APP_DETAILS";
260    field public static final String SEND_SMS_NO_CONFIRMATION = "android.permission.SEND_SMS_NO_CONFIRMATION";
261    field public static final String SERIAL_PORT = "android.permission.SERIAL_PORT";
262    field public static final String SET_ACTIVITY_WATCHER = "android.permission.SET_ACTIVITY_WATCHER";
263    field public static final String SET_CLIP_SOURCE = "android.permission.SET_CLIP_SOURCE";
264    field public static final String SET_HARMFUL_APP_WARNINGS = "android.permission.SET_HARMFUL_APP_WARNINGS";
265    field public static final String SET_MEDIA_KEY_LISTENER = "android.permission.SET_MEDIA_KEY_LISTENER";
266    field public static final String SET_ORIENTATION = "android.permission.SET_ORIENTATION";
267    field public static final String SET_POINTER_SPEED = "android.permission.SET_POINTER_SPEED";
268    field public static final String SET_SCREEN_COMPATIBILITY = "android.permission.SET_SCREEN_COMPATIBILITY";
269    field public static final String SET_VOLUME_KEY_LONG_PRESS_LISTENER = "android.permission.SET_VOLUME_KEY_LONG_PRESS_LISTENER";
270    field public static final String SET_WALLPAPER_COMPONENT = "android.permission.SET_WALLPAPER_COMPONENT";
271    field public static final String SHOW_KEYGUARD_MESSAGE = "android.permission.SHOW_KEYGUARD_MESSAGE";
272    field public static final String SHUTDOWN = "android.permission.SHUTDOWN";
273    field public static final String SIGNAL_REBOOT_READINESS = "android.permission.SIGNAL_REBOOT_READINESS";
274    field public static final String SOUND_TRIGGER_RUN_IN_BATTERY_SAVER = "android.permission.SOUND_TRIGGER_RUN_IN_BATTERY_SAVER";
275    field public static final String START_ACTIVITIES_FROM_BACKGROUND = "android.permission.START_ACTIVITIES_FROM_BACKGROUND";
276    field public static final String STATUS_BAR_SERVICE = "android.permission.STATUS_BAR_SERVICE";
277    field public static final String STOP_APP_SWITCHES = "android.permission.STOP_APP_SWITCHES";
278    field public static final String SUBSTITUTE_NOTIFICATION_APP_NAME = "android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME";
279    field public static final String SUBSTITUTE_SHARE_TARGET_APP_NAME_AND_ICON = "android.permission.SUBSTITUTE_SHARE_TARGET_APP_NAME_AND_ICON";
280    field public static final String SUGGEST_EXTERNAL_TIME = "android.permission.SUGGEST_EXTERNAL_TIME";
281    field public static final String SUSPEND_APPS = "android.permission.SUSPEND_APPS";
282    field public static final String SYSTEM_APPLICATION_OVERLAY = "android.permission.SYSTEM_APPLICATION_OVERLAY";
283    field public static final String SYSTEM_CAMERA = "android.permission.SYSTEM_CAMERA";
284    field public static final String TETHER_PRIVILEGED = "android.permission.TETHER_PRIVILEGED";
285    field public static final String TOGGLE_AUTOMOTIVE_PROJECTION = "android.permission.TOGGLE_AUTOMOTIVE_PROJECTION";
286    field public static final String TV_INPUT_HARDWARE = "android.permission.TV_INPUT_HARDWARE";
287    field public static final String TV_VIRTUAL_REMOTE_CONTROLLER = "android.permission.TV_VIRTUAL_REMOTE_CONTROLLER";
288    field public static final String UNLIMITED_SHORTCUTS_API_CALLS = "android.permission.UNLIMITED_SHORTCUTS_API_CALLS";
289    field public static final String UPDATE_APP_OPS_STATS = "android.permission.UPDATE_APP_OPS_STATS";
290    field public static final String UPDATE_DOMAIN_VERIFICATION_USER_SELECTION = "android.permission.UPDATE_DOMAIN_VERIFICATION_USER_SELECTION";
291    field public static final String UPDATE_FONTS = "android.permission.UPDATE_FONTS";
292    field public static final String UPDATE_LOCK = "android.permission.UPDATE_LOCK";
293    field public static final String UPDATE_TIME_ZONE_RULES = "android.permission.UPDATE_TIME_ZONE_RULES";
294    field public static final String UPGRADE_RUNTIME_PERMISSIONS = "android.permission.UPGRADE_RUNTIME_PERMISSIONS";
295    field public static final String USER_ACTIVITY = "android.permission.USER_ACTIVITY";
296    field public static final String USE_RESERVED_DISK = "android.permission.USE_RESERVED_DISK";
297    field public static final String UWB_PRIVILEGED = "android.permission.UWB_PRIVILEGED";
298    field public static final String WHITELIST_AUTO_REVOKE_PERMISSIONS = "android.permission.WHITELIST_AUTO_REVOKE_PERMISSIONS";
299    field public static final String WHITELIST_RESTRICTED_PERMISSIONS = "android.permission.WHITELIST_RESTRICTED_PERMISSIONS";
300    field public static final String WIFI_ACCESS_COEX_UNSAFE_CHANNELS = "android.permission.WIFI_ACCESS_COEX_UNSAFE_CHANNELS";
301    field public static final String WIFI_SET_DEVICE_MOBILITY_STATE = "android.permission.WIFI_SET_DEVICE_MOBILITY_STATE";
302    field public static final String WIFI_UPDATE_COEX_UNSAFE_CHANNELS = "android.permission.WIFI_UPDATE_COEX_UNSAFE_CHANNELS";
303    field public static final String WIFI_UPDATE_USABILITY_STATS_SCORE = "android.permission.WIFI_UPDATE_USABILITY_STATS_SCORE";
304    field public static final String WRITE_DEVICE_CONFIG = "android.permission.WRITE_DEVICE_CONFIG";
305    field public static final String WRITE_DREAM_STATE = "android.permission.WRITE_DREAM_STATE";
306    field public static final String WRITE_EMBEDDED_SUBSCRIPTIONS = "android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS";
307    field @Deprecated public static final String WRITE_MEDIA_STORAGE = "android.permission.WRITE_MEDIA_STORAGE";
308    field public static final String WRITE_OBB = "android.permission.WRITE_OBB";
309  }
310
311  public static final class Manifest.permission_group {
312    field public static final String UNDEFINED = "android.permission-group.UNDEFINED";
313  }
314
315  public static final class R.array {
316    field public static final int config_keySystemUuidMapping = 17235973; // 0x1070005
317  }
318
319  public static final class R.attr {
320    field public static final int allowClearUserDataOnFailedRestore = 16844288; // 0x1010600
321    field public static final int hotwordDetectionService = 16844326; // 0x1010626
322    field public static final int isVrOnly = 16844152; // 0x1010578
323    field public static final int minExtensionVersion = 16844305; // 0x1010611
324    field public static final int playHomeTransitionSound = 16844358; // 0x1010646
325    field public static final int requiredSystemPropertyName = 16844133; // 0x1010565
326    field public static final int requiredSystemPropertyValue = 16844134; // 0x1010566
327    field public static final int sdkVersion = 16844304; // 0x1010610
328    field public static final int supportsAmbientMode = 16844173; // 0x101058d
329    field public static final int userRestriction = 16844164; // 0x1010584
330  }
331
332  public static final class R.bool {
333    field public static final int config_sendPackageName = 17891328; // 0x1110000
334    field public static final int config_showDefaultAssistant = 17891329; // 0x1110001
335    field public static final int config_showDefaultEmergency = 17891330; // 0x1110002
336    field public static final int config_showDefaultHome = 17891331; // 0x1110003
337  }
338
339  public static final class R.color {
340    field public static final int system_notification_accent_color = 17170460; // 0x106001c
341  }
342
343  public static final class R.dimen {
344    field public static final int config_restrictedIconSize = 17104903; // 0x1050007
345  }
346
347  public static final class R.drawable {
348    field public static final int ic_info = 17301684; // 0x10800b4
349  }
350
351  public static final class R.raw {
352    field public static final int loaderror = 17825792; // 0x1100000
353    field public static final int nodomain = 17825793; // 0x1100001
354  }
355
356  public static final class R.string {
357    field public static final int config_customMediaKeyDispatcher = 17039404; // 0x104002c
358    field public static final int config_customMediaSessionPolicyProvider = 17039405; // 0x104002d
359    field public static final int config_defaultAssistant = 17039393; // 0x1040021
360    field public static final int config_defaultBrowser = 17039394; // 0x1040022
361    field public static final int config_defaultCallRedirection = 17039397; // 0x1040025
362    field public static final int config_defaultCallScreening = 17039398; // 0x1040026
363    field public static final int config_defaultDialer = 17039395; // 0x1040023
364    field public static final int config_defaultSms = 17039396; // 0x1040024
365    field public static final int config_feedbackIntentExtraKey = 17039391; // 0x104001f
366    field public static final int config_feedbackIntentNameKey = 17039392; // 0x1040020
367    field public static final int config_helpIntentExtraKey = 17039389; // 0x104001d
368    field public static final int config_helpIntentNameKey = 17039390; // 0x104001e
369    field public static final int config_helpPackageNameKey = 17039387; // 0x104001b
370    field public static final int config_helpPackageNameValue = 17039388; // 0x104001c
371    field public static final int config_systemActivityRecognizer = 17039416; // 0x1040038
372    field public static final int config_systemAmbientAudioIntelligence = 17039411; // 0x1040033
373    field public static final int config_systemAudioIntelligence = 17039412; // 0x1040034
374    field public static final int config_systemAutomotiveCluster = 17039400; // 0x1040028
375    field public static final int config_systemAutomotiveProjection = 17039401; // 0x1040029
376    field public static final int config_systemCompanionDeviceProvider = 17039417; // 0x1040039
377    field public static final int config_systemContacts = 17039403; // 0x104002b
378    field public static final int config_systemGallery = 17039399; // 0x1040027
379    field public static final int config_systemNotificationIntelligence = 17039413; // 0x1040035
380    field public static final int config_systemShell = 17039402; // 0x104002a
381    field public static final int config_systemSpeechRecognizer = 17039406; // 0x104002e
382    field public static final int config_systemTelevisionNotificationHandler = 17039409; // 0x1040031
383    field public static final int config_systemTextIntelligence = 17039414; // 0x1040036
384    field public static final int config_systemUi = 17039418; // 0x104003a
385    field public static final int config_systemUiIntelligence = 17039410; // 0x1040032
386    field public static final int config_systemVisualIntelligence = 17039415; // 0x1040037
387    field public static final int config_systemWellbeing = 17039408; // 0x1040030
388    field public static final int config_systemWifiCoexManager = 17039407; // 0x104002f
389  }
390
391  public static final class R.style {
392    field public static final int Theme_DeviceDefault_DocumentsUI = 16974562; // 0x10302e2
393    field public static final int Theme_Leanback_FormWizard = 16974544; // 0x10302d0
394  }
395
396}
397
398package android.accounts {
399
400  public class AccountManager {
401    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public android.accounts.AccountManagerFuture<android.os.Bundle> finishSessionAsUser(android.os.Bundle, android.app.Activity, android.os.UserHandle, android.accounts.AccountManagerCallback<android.os.Bundle>, android.os.Handler);
402  }
403
404}
405
406package android.app {
407
408  @UiContext public class Activity extends android.view.ContextThemeWrapper implements android.content.ComponentCallbacks2 android.view.KeyEvent.Callback android.view.LayoutInflater.Factory2 android.view.View.OnCreateContextMenuListener android.view.Window.Callback {
409    method public void convertFromTranslucent();
410    method public boolean convertToTranslucent(android.app.Activity.TranslucentConversionListener, android.app.ActivityOptions);
411    method @Deprecated public boolean isBackgroundVisibleBehind();
412    method @Deprecated public void onBackgroundVisibleBehindChanged(boolean);
413  }
414
415  public static interface Activity.TranslucentConversionListener {
416    method public void onTranslucentConversionComplete(boolean);
417  }
418
419  public class ActivityManager {
420    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public void addOnUidImportanceListener(android.app.ActivityManager.OnUidImportanceListener, int);
421    method @RequiresPermission(android.Manifest.permission.FORCE_STOP_PACKAGES) public void forceStopPackage(String);
422    method @RequiresPermission(anyOf={"android.permission.INTERACT_ACROSS_USERS", "android.permission.INTERACT_ACROSS_USERS_FULL"}) public static int getCurrentUser();
423    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public int getPackageImportance(String);
424    method @NonNull public java.util.Collection<java.util.Locale> getSupportedLocales();
425    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public int getUidImportance(int);
426    method @RequiresPermission(android.Manifest.permission.FORCE_STOP_PACKAGES) public void killProcessesWhenImperceptible(@NonNull int[], @NonNull String);
427    method @RequiresPermission(android.Manifest.permission.KILL_UID) public void killUid(int, String);
428    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public void removeOnUidImportanceListener(android.app.ActivityManager.OnUidImportanceListener);
429    method public void setDeviceLocales(@NonNull android.os.LocaleList);
430    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public static void setPersistentVrThread(int);
431    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS_FULL}) public boolean startProfile(@NonNull android.os.UserHandle);
432    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS_FULL}) public boolean stopProfile(@NonNull android.os.UserHandle);
433    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean switchUser(@NonNull android.os.UserHandle);
434  }
435
436  public static interface ActivityManager.OnUidImportanceListener {
437    method public void onUidImportance(int, int);
438  }
439
440  public class ActivityOptions {
441    method public int getLaunchTaskId();
442    method @RequiresPermission("android.permission.START_TASKS_FROM_RECENTS") public void setLaunchTaskId(int);
443  }
444
445  public class AlarmManager {
446    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void set(int, long, long, long, android.app.PendingIntent, android.os.WorkSource);
447    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void set(int, long, long, long, android.app.AlarmManager.OnAlarmListener, android.os.Handler, android.os.WorkSource);
448    method @RequiresPermission(allOf={android.Manifest.permission.UPDATE_DEVICE_STATS, android.Manifest.permission.SCHEDULE_EXACT_ALARM}, conditional=true) public void setExact(int, long, @Nullable String, @NonNull java.util.concurrent.Executor, @NonNull android.os.WorkSource, @NonNull android.app.AlarmManager.OnAlarmListener);
449    method @RequiresPermission(android.Manifest.permission.SCHEDULE_PRIORITIZED_ALARM) public void setPrioritized(int, long, long, @Nullable String, @NonNull java.util.concurrent.Executor, @NonNull android.app.AlarmManager.OnAlarmListener);
450  }
451
452  public class AppOpsManager {
453    method @Nullable @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public android.app.RuntimeAppOpAccessMessage collectRuntimeAppOpAccessMessage();
454    method @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public void getHistoricalOps(@NonNull android.app.AppOpsManager.HistoricalOpsRequest, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.AppOpsManager.HistoricalOps>);
455    method public static String[] getOpStrs();
456    method @NonNull @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public java.util.List<android.app.AppOpsManager.PackageOps> getOpsForPackage(int, @NonNull String, @Nullable java.lang.String...);
457    method @NonNull @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public java.util.List<android.app.AppOpsManager.PackageOps> getPackagesForOps(@Nullable String[]);
458    method public static int opToDefaultMode(@NonNull String);
459    method @Nullable public static String opToPermission(@NonNull String);
460    method @RequiresPermission("android.permission.MANAGE_APP_OPS_MODES") public void setMode(@NonNull String, int, @Nullable String, int);
461    method @RequiresPermission("android.permission.MANAGE_APP_OPS_MODES") public void setUidMode(@NonNull String, int, int);
462    field public static final int HISTORY_FLAGS_ALL = 3; // 0x3
463    field public static final int HISTORY_FLAG_AGGREGATE = 1; // 0x1
464    field public static final int HISTORY_FLAG_DISCRETE = 2; // 0x2
465    field public static final String OPSTR_ACCEPT_HANDOVER = "android:accept_handover";
466    field public static final String OPSTR_ACCESS_ACCESSIBILITY = "android:access_accessibility";
467    field public static final String OPSTR_ACCESS_NOTIFICATIONS = "android:access_notifications";
468    field public static final String OPSTR_ACTIVATE_PLATFORM_VPN = "android:activate_platform_vpn";
469    field public static final String OPSTR_ACTIVATE_VPN = "android:activate_vpn";
470    field public static final String OPSTR_ASSIST_SCREENSHOT = "android:assist_screenshot";
471    field public static final String OPSTR_ASSIST_STRUCTURE = "android:assist_structure";
472    field public static final String OPSTR_AUDIO_ACCESSIBILITY_VOLUME = "android:audio_accessibility_volume";
473    field public static final String OPSTR_AUDIO_ALARM_VOLUME = "android:audio_alarm_volume";
474    field public static final String OPSTR_AUDIO_BLUETOOTH_VOLUME = "android:audio_bluetooth_volume";
475    field public static final String OPSTR_AUDIO_MASTER_VOLUME = "android:audio_master_volume";
476    field public static final String OPSTR_AUDIO_MEDIA_VOLUME = "android:audio_media_volume";
477    field public static final String OPSTR_AUDIO_NOTIFICATION_VOLUME = "android:audio_notification_volume";
478    field public static final String OPSTR_AUDIO_RING_VOLUME = "android:audio_ring_volume";
479    field public static final String OPSTR_AUDIO_VOICE_VOLUME = "android:audio_voice_volume";
480    field public static final String OPSTR_AUTO_REVOKE_MANAGED_BY_INSTALLER = "android:auto_revoke_managed_by_installer";
481    field public static final String OPSTR_AUTO_REVOKE_PERMISSIONS_IF_UNUSED = "android:auto_revoke_permissions_if_unused";
482    field public static final String OPSTR_BIND_ACCESSIBILITY_SERVICE = "android:bind_accessibility_service";
483    field public static final String OPSTR_CHANGE_WIFI_STATE = "android:change_wifi_state";
484    field public static final String OPSTR_GET_ACCOUNTS = "android:get_accounts";
485    field public static final String OPSTR_GPS = "android:gps";
486    field public static final String OPSTR_INSTANT_APP_START_FOREGROUND = "android:instant_app_start_foreground";
487    field public static final String OPSTR_INTERACT_ACROSS_PROFILES = "android:interact_across_profiles";
488    field public static final String OPSTR_LEGACY_STORAGE = "android:legacy_storage";
489    field public static final String OPSTR_LOADER_USAGE_STATS = "android:loader_usage_stats";
490    field public static final String OPSTR_MANAGE_EXTERNAL_STORAGE = "android:manage_external_storage";
491    field public static final String OPSTR_MANAGE_IPSEC_TUNNELS = "android:manage_ipsec_tunnels";
492    field public static final String OPSTR_MANAGE_ONGOING_CALLS = "android:manage_ongoing_calls";
493    field public static final String OPSTR_MUTE_MICROPHONE = "android:mute_microphone";
494    field public static final String OPSTR_NEIGHBORING_CELLS = "android:neighboring_cells";
495    field public static final String OPSTR_PHONE_CALL_CAMERA = "android:phone_call_camera";
496    field public static final String OPSTR_PHONE_CALL_MICROPHONE = "android:phone_call_microphone";
497    field public static final String OPSTR_PLAY_AUDIO = "android:play_audio";
498    field public static final String OPSTR_POST_NOTIFICATION = "android:post_notification";
499    field public static final String OPSTR_PROJECT_MEDIA = "android:project_media";
500    field public static final String OPSTR_READ_CLIPBOARD = "android:read_clipboard";
501    field public static final String OPSTR_READ_ICC_SMS = "android:read_icc_sms";
502    field public static final String OPSTR_READ_MEDIA_AUDIO = "android:read_media_audio";
503    field public static final String OPSTR_READ_MEDIA_IMAGES = "android:read_media_images";
504    field public static final String OPSTR_READ_MEDIA_VIDEO = "android:read_media_video";
505    field public static final String OPSTR_RECEIVE_EMERGENCY_BROADCAST = "android:receive_emergency_broadcast";
506    field public static final String OPSTR_REQUEST_DELETE_PACKAGES = "android:request_delete_packages";
507    field public static final String OPSTR_REQUEST_INSTALL_PACKAGES = "android:request_install_packages";
508    field public static final String OPSTR_RUN_ANY_IN_BACKGROUND = "android:run_any_in_background";
509    field public static final String OPSTR_RUN_IN_BACKGROUND = "android:run_in_background";
510    field public static final String OPSTR_START_FOREGROUND = "android:start_foreground";
511    field public static final String OPSTR_TAKE_AUDIO_FOCUS = "android:take_audio_focus";
512    field public static final String OPSTR_TAKE_MEDIA_BUTTONS = "android:take_media_buttons";
513    field public static final String OPSTR_TOAST_WINDOW = "android:toast_window";
514    field public static final String OPSTR_TURN_SCREEN_ON = "android:turn_screen_on";
515    field public static final String OPSTR_VIBRATE = "android:vibrate";
516    field public static final String OPSTR_WAKE_LOCK = "android:wake_lock";
517    field public static final String OPSTR_WIFI_SCAN = "android:wifi_scan";
518    field public static final String OPSTR_WRITE_CLIPBOARD = "android:write_clipboard";
519    field public static final String OPSTR_WRITE_ICC_SMS = "android:write_icc_sms";
520    field public static final String OPSTR_WRITE_MEDIA_AUDIO = "android:write_media_audio";
521    field public static final String OPSTR_WRITE_MEDIA_IMAGES = "android:write_media_images";
522    field public static final String OPSTR_WRITE_MEDIA_VIDEO = "android:write_media_video";
523    field public static final String OPSTR_WRITE_SMS = "android:write_sms";
524    field public static final String OPSTR_WRITE_WALLPAPER = "android:write_wallpaper";
525    field public static final int OP_FLAGS_ALL = 31; // 0x1f
526    field public static final int OP_FLAGS_ALL_TRUSTED = 13; // 0xd
527    field public static final int OP_FLAG_SELF = 1; // 0x1
528    field public static final int OP_FLAG_TRUSTED_PROXIED = 8; // 0x8
529    field public static final int OP_FLAG_TRUSTED_PROXY = 2; // 0x2
530    field public static final int OP_FLAG_UNTRUSTED_PROXIED = 16; // 0x10
531    field public static final int OP_FLAG_UNTRUSTED_PROXY = 4; // 0x4
532    field public static final int UID_STATE_BACKGROUND = 600; // 0x258
533    field public static final int UID_STATE_CACHED = 700; // 0x2bc
534    field public static final int UID_STATE_FOREGROUND = 500; // 0x1f4
535    field public static final int UID_STATE_FOREGROUND_SERVICE = 400; // 0x190
536    field @Deprecated public static final int UID_STATE_FOREGROUND_SERVICE_LOCATION = 300; // 0x12c
537    field public static final int UID_STATE_PERSISTENT = 100; // 0x64
538    field public static final int UID_STATE_TOP = 200; // 0xc8
539  }
540
541  public static final class AppOpsManager.AttributedHistoricalOps implements android.os.Parcelable {
542    method public int describeContents();
543    method @Nullable public android.app.AppOpsManager.HistoricalOp getOp(@NonNull String);
544    method @NonNull public android.app.AppOpsManager.HistoricalOp getOpAt(@IntRange(from=0) int);
545    method @IntRange(from=0) public int getOpCount();
546    method @Nullable public String getTag();
547    method public void writeToParcel(@NonNull android.os.Parcel, int);
548    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.AttributedHistoricalOps> CREATOR;
549  }
550
551  public static final class AppOpsManager.AttributedOpEntry implements android.os.Parcelable {
552    method public int describeContents();
553    method public long getLastAccessBackgroundTime(int);
554    method public long getLastAccessForegroundTime(int);
555    method public long getLastAccessTime(int);
556    method public long getLastAccessTime(int, int, int);
557    method public long getLastBackgroundDuration(int);
558    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastBackgroundProxyInfo(int);
559    method public long getLastDuration(int);
560    method public long getLastDuration(int, int, int);
561    method public long getLastForegroundDuration(int);
562    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastForegroundProxyInfo(int);
563    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastProxyInfo(int);
564    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastProxyInfo(int, int, int);
565    method public long getLastRejectBackgroundTime(int);
566    method public long getLastRejectForegroundTime(int);
567    method public long getLastRejectTime(int);
568    method public long getLastRejectTime(int, int, int);
569    method public boolean isRunning();
570    method public void writeToParcel(@NonNull android.os.Parcel, int);
571    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.AttributedOpEntry> CREATOR;
572  }
573
574  public static final class AppOpsManager.HistoricalOp implements android.os.Parcelable {
575    method public int describeContents();
576    method public long getAccessCount(int, int, int);
577    method public long getAccessDuration(int, int, int);
578    method public long getBackgroundAccessCount(int);
579    method public long getBackgroundAccessDuration(int);
580    method @NonNull public java.util.List<android.app.AppOpsManager.AttributedOpEntry> getBackgroundDiscreteAccesses(int);
581    method public long getBackgroundRejectCount(int);
582    method @NonNull public android.app.AppOpsManager.AttributedOpEntry getDiscreteAccessAt(@IntRange(from=0) int);
583    method @IntRange(from=0) public int getDiscreteAccessCount();
584    method @NonNull public java.util.List<android.app.AppOpsManager.AttributedOpEntry> getDiscreteAccesses(int, int, int);
585    method public long getForegroundAccessCount(int);
586    method public long getForegroundAccessDuration(int);
587    method @NonNull public java.util.List<android.app.AppOpsManager.AttributedOpEntry> getForegroundDiscreteAccesses(int);
588    method public long getForegroundRejectCount(int);
589    method @NonNull public String getOpName();
590    method public long getRejectCount(int, int, int);
591    method public void writeToParcel(android.os.Parcel, int);
592    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalOp> CREATOR;
593  }
594
595  public static final class AppOpsManager.HistoricalOps implements android.os.Parcelable {
596    method public int describeContents();
597    method public long getBeginTimeMillis();
598    method public long getEndTimeMillis();
599    method @IntRange(from=0) public int getUidCount();
600    method @Nullable public android.app.AppOpsManager.HistoricalUidOps getUidOps(int);
601    method @NonNull public android.app.AppOpsManager.HistoricalUidOps getUidOpsAt(@IntRange(from=0) int);
602    method public void writeToParcel(android.os.Parcel, int);
603    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalOps> CREATOR;
604  }
605
606  public static final class AppOpsManager.HistoricalOpsRequest {
607  }
608
609  public static final class AppOpsManager.HistoricalOpsRequest.Builder {
610    ctor public AppOpsManager.HistoricalOpsRequest.Builder(long, long);
611    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest build();
612    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setAttributionTag(@Nullable String);
613    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setFlags(int);
614    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setHistoryFlags(int);
615    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setOpNames(@Nullable java.util.List<java.lang.String>);
616    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setPackageName(@Nullable String);
617    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setUid(int);
618  }
619
620  public static final class AppOpsManager.HistoricalPackageOps implements android.os.Parcelable {
621    method public int describeContents();
622    method @Nullable public android.app.AppOpsManager.AttributedHistoricalOps getAttributedOps(@Nullable String);
623    method @NonNull public android.app.AppOpsManager.AttributedHistoricalOps getAttributedOpsAt(@IntRange(from=0) int);
624    method @IntRange(from=0) public int getAttributedOpsCount();
625    method @Nullable public android.app.AppOpsManager.HistoricalOp getOp(@NonNull String);
626    method @NonNull public android.app.AppOpsManager.HistoricalOp getOpAt(@IntRange(from=0) int);
627    method @IntRange(from=0) public int getOpCount();
628    method @NonNull public String getPackageName();
629    method public void writeToParcel(@NonNull android.os.Parcel, int);
630    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalPackageOps> CREATOR;
631  }
632
633  public static final class AppOpsManager.HistoricalUidOps implements android.os.Parcelable {
634    method public int describeContents();
635    method @IntRange(from=0) public int getPackageCount();
636    method @Nullable public android.app.AppOpsManager.HistoricalPackageOps getPackageOps(@NonNull String);
637    method @NonNull public android.app.AppOpsManager.HistoricalPackageOps getPackageOpsAt(@IntRange(from=0) int);
638    method public int getUid();
639    method public void writeToParcel(android.os.Parcel, int);
640    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalUidOps> CREATOR;
641  }
642
643  public static final class AppOpsManager.OpEntry implements android.os.Parcelable {
644    method public int describeContents();
645    method @NonNull public java.util.Map<java.lang.String,android.app.AppOpsManager.AttributedOpEntry> getAttributedOpEntries();
646    method @Deprecated public long getDuration();
647    method public long getLastAccessBackgroundTime(int);
648    method public long getLastAccessForegroundTime(int);
649    method public long getLastAccessTime(int);
650    method public long getLastAccessTime(int, int, int);
651    method public long getLastBackgroundDuration(int);
652    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastBackgroundProxyInfo(int);
653    method public long getLastDuration(int);
654    method public long getLastDuration(int, int, int);
655    method public long getLastForegroundDuration(int);
656    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastForegroundProxyInfo(int);
657    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastProxyInfo(int);
658    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastProxyInfo(int, int, int);
659    method public long getLastRejectBackgroundTime(int);
660    method public long getLastRejectForegroundTime(int);
661    method public long getLastRejectTime(int);
662    method public long getLastRejectTime(int, int, int);
663    method public int getMode();
664    method @NonNull public String getOpStr();
665    method @Deprecated @Nullable public String getProxyPackageName();
666    method @Deprecated @Nullable public String getProxyPackageName(int, int);
667    method @Deprecated public int getProxyUid();
668    method @Deprecated public int getProxyUid(int, int);
669    method public boolean isRunning();
670    method public void writeToParcel(android.os.Parcel, int);
671    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.OpEntry> CREATOR;
672  }
673
674  public static final class AppOpsManager.OpEventProxyInfo implements android.os.Parcelable {
675    method public int describeContents();
676    method @Nullable public String getAttributionTag();
677    method @Nullable public String getPackageName();
678    method @IntRange(from=0) public int getUid();
679    method public void writeToParcel(@NonNull android.os.Parcel, int);
680    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.OpEventProxyInfo> CREATOR;
681  }
682
683  public static final class AppOpsManager.PackageOps implements android.os.Parcelable {
684    method public int describeContents();
685    method @NonNull public java.util.List<android.app.AppOpsManager.OpEntry> getOps();
686    method @NonNull public String getPackageName();
687    method public int getUid();
688    method public void writeToParcel(@NonNull android.os.Parcel, int);
689    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.PackageOps> CREATOR;
690  }
691
692  public class BroadcastOptions {
693    method public static android.app.BroadcastOptions makeBasic();
694    method @RequiresPermission(android.Manifest.permission.START_ACTIVITIES_FROM_BACKGROUND) public void setBackgroundActivityStartsAllowed(boolean);
695    method public void setDontSendToRestrictedApps(boolean);
696    method @RequiresPermission(anyOf={android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST, android.Manifest.permission.START_ACTIVITIES_FROM_BACKGROUND, android.Manifest.permission.START_FOREGROUND_SERVICES_FROM_BACKGROUND}) public void setTemporaryAppAllowlist(long, int, int, @Nullable String);
697    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST, android.Manifest.permission.START_ACTIVITIES_FROM_BACKGROUND, android.Manifest.permission.START_FOREGROUND_SERVICES_FROM_BACKGROUND}) public void setTemporaryAppWhitelistDuration(long);
698    method public android.os.Bundle toBundle();
699  }
700
701  public class DownloadManager {
702    method @RequiresPermission(android.Manifest.permission.WRITE_MEDIA_STORAGE) public void onMediaStoreDownloadsDeleted(@NonNull android.util.LongSparseArray<java.lang.String>);
703    field public static final String ACTION_DOWNLOAD_COMPLETED = "android.intent.action.DOWNLOAD_COMPLETED";
704  }
705
706  public abstract class InstantAppResolverService extends android.app.Service {
707    ctor public InstantAppResolverService();
708    method public final void attachBaseContext(android.content.Context);
709    method public final android.os.IBinder onBind(android.content.Intent);
710    method @Deprecated public void onGetInstantAppIntentFilter(@Nullable int[], @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
711    method @Deprecated public void onGetInstantAppIntentFilter(@NonNull android.content.Intent, @Nullable int[], @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
712    method @Deprecated public void onGetInstantAppIntentFilter(@NonNull android.content.Intent, @Nullable int[], @NonNull android.os.UserHandle, @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
713    method @MainThread public void onGetInstantAppIntentFilter(@NonNull android.content.pm.InstantAppRequestInfo, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
714    method @Deprecated public void onGetInstantAppResolveInfo(@Nullable int[], @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
715    method @Deprecated public void onGetInstantAppResolveInfo(@NonNull android.content.Intent, @Nullable int[], @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
716    method @Deprecated public void onGetInstantAppResolveInfo(@NonNull android.content.Intent, @Nullable int[], @NonNull android.os.UserHandle, @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
717    method @MainThread public void onGetInstantAppResolveInfo(@NonNull android.content.pm.InstantAppRequestInfo, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
718  }
719
720  public static final class InstantAppResolverService.InstantAppResolutionCallback {
721    method public void onInstantAppResolveInfo(java.util.List<android.content.pm.InstantAppResolveInfo>);
722  }
723
724  public class KeyguardManager {
725    method public android.content.Intent createConfirmFactoryResetCredentialIntent(CharSequence, CharSequence, CharSequence);
726    method @RequiresPermission("android.permission.SET_INITIAL_LOCK") public int getMinLockLength(boolean, int);
727    method @RequiresPermission(android.Manifest.permission.CONTROL_KEYGUARD_SECURE_NOTIFICATIONS) public boolean getPrivateNotificationsAllowed();
728    method @RequiresPermission("android.permission.SET_INITIAL_LOCK") public boolean isValidLockPasswordComplexity(int, @NonNull byte[], int);
729    method @RequiresPermission(android.Manifest.permission.SHOW_KEYGUARD_MESSAGE) public void requestDismissKeyguard(@NonNull android.app.Activity, @Nullable CharSequence, @Nullable android.app.KeyguardManager.KeyguardDismissCallback);
730    method @RequiresPermission("android.permission.SET_INITIAL_LOCK") public boolean setLock(int, @NonNull byte[], int);
731    method @RequiresPermission(android.Manifest.permission.CONTROL_KEYGUARD_SECURE_NOTIFICATIONS) public void setPrivateNotificationsAllowed(boolean);
732    field public static final int PASSWORD = 0; // 0x0
733    field public static final int PATTERN = 2; // 0x2
734    field public static final int PIN = 1; // 0x1
735  }
736
737  public class Notification implements android.os.Parcelable {
738    field public static final String CATEGORY_CAR_EMERGENCY = "car_emergency";
739    field public static final String CATEGORY_CAR_INFORMATION = "car_information";
740    field public static final String CATEGORY_CAR_WARNING = "car_warning";
741    field @RequiresPermission(android.Manifest.permission.NOTIFICATION_DURING_SETUP) public static final String EXTRA_ALLOW_DURING_SETUP = "android.allowDuringSetup";
742    field @RequiresPermission(android.Manifest.permission.SUBSTITUTE_NOTIFICATION_APP_NAME) public static final String EXTRA_SUBSTITUTE_APP_NAME = "android.substName";
743    field public static final int FLAG_AUTOGROUP_SUMMARY = 1024; // 0x400
744  }
745
746  public static class Notification.Action implements android.os.Parcelable {
747    field public static final int SEMANTIC_ACTION_CONVERSATION_IS_PHISHING = 12; // 0xc
748    field public static final int SEMANTIC_ACTION_MARK_CONVERSATION_AS_PRIORITY = 11; // 0xb
749  }
750
751  public static final class Notification.TvExtender implements android.app.Notification.Extender {
752    ctor public Notification.TvExtender();
753    ctor public Notification.TvExtender(android.app.Notification);
754    method public android.app.Notification.Builder extend(android.app.Notification.Builder);
755    method public String getChannelId();
756    method public android.app.PendingIntent getContentIntent();
757    method public android.app.PendingIntent getDeleteIntent();
758    method public boolean getSuppressShowOverApps();
759    method public boolean isAvailableOnTv();
760    method public android.app.Notification.TvExtender setChannel(String);
761    method public android.app.Notification.TvExtender setChannelId(String);
762    method public android.app.Notification.TvExtender setContentIntent(android.app.PendingIntent);
763    method public android.app.Notification.TvExtender setDeleteIntent(android.app.PendingIntent);
764    method public android.app.Notification.TvExtender setSuppressShowOverApps(boolean);
765  }
766
767  public final class NotificationChannel implements android.os.Parcelable {
768    method public int getUserLockedFields();
769    method public boolean isDeleted();
770    method public void populateFromXml(org.xmlpull.v1.XmlPullParser);
771    method public void setBlockable(boolean);
772    method public org.json.JSONObject toJson() throws org.json.JSONException;
773    method public void writeXml(org.xmlpull.v1.XmlSerializer) throws java.io.IOException;
774    field public static final int USER_LOCKED_SOUND = 32; // 0x20
775  }
776
777  public final class NotificationChannelGroup implements android.os.Parcelable {
778    method public org.json.JSONObject toJson() throws org.json.JSONException;
779  }
780
781  public class NotificationManager {
782    method @NonNull public java.util.List<java.lang.String> getAllowedAssistantAdjustments();
783    method @Nullable public android.content.ComponentName getAllowedNotificationAssistant();
784    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_NOTIFICATION_LISTENERS) public java.util.List<android.content.ComponentName> getEnabledNotificationListeners();
785    method public boolean isNotificationAssistantAccessGranted(@NonNull android.content.ComponentName);
786    method public void setNotificationAssistantAccessGranted(@Nullable android.content.ComponentName, boolean);
787    method @RequiresPermission(android.Manifest.permission.MANAGE_NOTIFICATION_LISTENERS) public void setNotificationListenerAccessGranted(@NonNull android.content.ComponentName, boolean, boolean);
788    field @RequiresPermission(android.Manifest.permission.STATUS_BAR_SERVICE) public static final String ACTION_CLOSE_NOTIFICATION_HANDLER_PANEL = "android.app.action.CLOSE_NOTIFICATION_HANDLER_PANEL";
789    field @RequiresPermission(android.Manifest.permission.STATUS_BAR_SERVICE) public static final String ACTION_OPEN_NOTIFICATION_HANDLER_PANEL = "android.app.action.OPEN_NOTIFICATION_HANDLER_PANEL";
790    field @RequiresPermission(android.Manifest.permission.STATUS_BAR_SERVICE) public static final String ACTION_TOGGLE_NOTIFICATION_HANDLER_PANEL = "android.app.action.TOGGLE_NOTIFICATION_HANDLER_PANEL";
791  }
792
793  public final class RuntimeAppOpAccessMessage implements android.os.Parcelable {
794    ctor public RuntimeAppOpAccessMessage(@IntRange(from=0L) int, @IntRange(from=0L) int, @NonNull String, @Nullable String, @NonNull String, int);
795    method public int describeContents();
796    method @Nullable public String getAttributionTag();
797    method @NonNull public String getMessage();
798    method @NonNull public String getOp();
799    method @NonNull public String getPackageName();
800    method public int getSamplingStrategy();
801    method @IntRange(from=0L) public int getUid();
802    method public void writeToParcel(@NonNull android.os.Parcel, int);
803    field @NonNull public static final android.os.Parcelable.Creator<android.app.RuntimeAppOpAccessMessage> CREATOR;
804  }
805
806  public class SearchManager implements android.content.DialogInterface.OnCancelListener android.content.DialogInterface.OnDismissListener {
807    method public void launchAssist(@Nullable android.os.Bundle);
808  }
809
810  public class StatusBarManager {
811    method @NonNull @RequiresPermission(android.Manifest.permission.STATUS_BAR) public android.app.StatusBarManager.DisableInfo getDisableInfo();
812    method @RequiresPermission(android.Manifest.permission.STATUS_BAR) public void setDisabledForSetup(boolean);
813  }
814
815  public static final class StatusBarManager.DisableInfo {
816    method public boolean areAllComponentsEnabled();
817    method public boolean isNavigateToHomeDisabled();
818    method public boolean isNotificationPeekingDisabled();
819    method public boolean isRecentsDisabled();
820    method public boolean isSearchDisabled();
821    method public boolean isStatusBarExpansionDisabled();
822  }
823
824  public final class SystemServiceRegistry {
825    method public static <TServiceClass> void registerContextAwareService(@NonNull String, @NonNull Class<TServiceClass>, @NonNull android.app.SystemServiceRegistry.ContextAwareServiceProducerWithBinder<TServiceClass>);
826    method public static <TServiceClass> void registerContextAwareService(@NonNull String, @NonNull Class<TServiceClass>, @NonNull android.app.SystemServiceRegistry.ContextAwareServiceProducerWithoutBinder<TServiceClass>);
827    method public static <TServiceClass> void registerStaticService(@NonNull String, @NonNull Class<TServiceClass>, @NonNull android.app.SystemServiceRegistry.StaticServiceProducerWithBinder<TServiceClass>);
828    method public static <TServiceClass> void registerStaticService(@NonNull String, @NonNull Class<TServiceClass>, @NonNull android.app.SystemServiceRegistry.StaticServiceProducerWithoutBinder<TServiceClass>);
829  }
830
831  public static interface SystemServiceRegistry.ContextAwareServiceProducerWithBinder<TServiceClass> {
832    method @NonNull public TServiceClass createService(@NonNull android.content.Context, @NonNull android.os.IBinder);
833  }
834
835  public static interface SystemServiceRegistry.ContextAwareServiceProducerWithoutBinder<TServiceClass> {
836    method @NonNull public TServiceClass createService(@NonNull android.content.Context);
837  }
838
839  public static interface SystemServiceRegistry.StaticServiceProducerWithBinder<TServiceClass> {
840    method @NonNull public TServiceClass createService(@NonNull android.os.IBinder);
841  }
842
843  public static interface SystemServiceRegistry.StaticServiceProducerWithoutBinder<TServiceClass> {
844    method @NonNull public TServiceClass createService();
845  }
846
847  public class UiModeManager {
848    method @RequiresPermission(android.Manifest.permission.READ_PROJECTION_STATE) public void addOnProjectionStateChangedListener(int, @NonNull java.util.concurrent.Executor, @NonNull android.app.UiModeManager.OnProjectionStateChangedListener);
849    method @RequiresPermission(android.Manifest.permission.ENTER_CAR_MODE_PRIORITIZED) public void enableCarMode(@IntRange(from=0) int, int);
850    method @RequiresPermission(android.Manifest.permission.READ_PROJECTION_STATE) public int getActiveProjectionTypes();
851    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PROJECTION_STATE) public java.util.Set<java.lang.String> getProjectingPackages(int);
852    method @RequiresPermission(value=android.Manifest.permission.TOGGLE_AUTOMOTIVE_PROJECTION, conditional=true) public boolean releaseProjection(int);
853    method @RequiresPermission(android.Manifest.permission.READ_PROJECTION_STATE) public void removeOnProjectionStateChangedListener(@NonNull android.app.UiModeManager.OnProjectionStateChangedListener);
854    method @RequiresPermission(value=android.Manifest.permission.TOGGLE_AUTOMOTIVE_PROJECTION, conditional=true) public boolean requestProjection(int);
855    field public static final String ACTION_ENTER_CAR_MODE_PRIORITIZED = "android.app.action.ENTER_CAR_MODE_PRIORITIZED";
856    field public static final String ACTION_EXIT_CAR_MODE_PRIORITIZED = "android.app.action.EXIT_CAR_MODE_PRIORITIZED";
857    field public static final int DEFAULT_PRIORITY = 0; // 0x0
858    field public static final String EXTRA_CALLING_PACKAGE = "android.app.extra.CALLING_PACKAGE";
859    field public static final String EXTRA_PRIORITY = "android.app.extra.PRIORITY";
860    field public static final int PROJECTION_TYPE_ALL = -1; // 0xffffffff
861    field public static final int PROJECTION_TYPE_AUTOMOTIVE = 1; // 0x1
862    field public static final int PROJECTION_TYPE_NONE = 0; // 0x0
863  }
864
865  public static interface UiModeManager.OnProjectionStateChangedListener {
866    method public void onProjectionStateChanged(int, @NonNull java.util.Set<java.lang.String>);
867  }
868
869  public final class Vr2dDisplayProperties implements android.os.Parcelable {
870    ctor public Vr2dDisplayProperties(int, int, int);
871    method public int describeContents();
872    method public void dump(@NonNull java.io.PrintWriter, @NonNull String);
873    method public int getAddedFlags();
874    method public int getDpi();
875    method public int getHeight();
876    method public int getRemovedFlags();
877    method public int getWidth();
878    method public void writeToParcel(android.os.Parcel, int);
879    field @NonNull public static final android.os.Parcelable.Creator<android.app.Vr2dDisplayProperties> CREATOR;
880    field public static final int FLAG_VIRTUAL_DISPLAY_ENABLED = 1; // 0x1
881  }
882
883  public static final class Vr2dDisplayProperties.Builder {
884    ctor public Vr2dDisplayProperties.Builder();
885    method @NonNull public android.app.Vr2dDisplayProperties.Builder addFlags(int);
886    method @NonNull public android.app.Vr2dDisplayProperties build();
887    method @NonNull public android.app.Vr2dDisplayProperties.Builder removeFlags(int);
888    method @NonNull public android.app.Vr2dDisplayProperties.Builder setDimensions(int, int, int);
889    method @NonNull public android.app.Vr2dDisplayProperties.Builder setEnabled(boolean);
890  }
891
892  public class VrManager {
893    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public int getVr2dDisplayId();
894    method @RequiresPermission(anyOf={android.Manifest.permission.RESTRICTED_VR_ACCESS, "android.permission.ACCESS_VR_STATE"}) public boolean isPersistentVrModeEnabled();
895    method @RequiresPermission(anyOf={android.Manifest.permission.RESTRICTED_VR_ACCESS, "android.permission.ACCESS_VR_STATE"}) public boolean isVrModeEnabled();
896    method @RequiresPermission(anyOf={android.Manifest.permission.RESTRICTED_VR_ACCESS, "android.permission.ACCESS_VR_STATE"}) public void registerVrStateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.app.VrStateCallback);
897    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public void setAndBindVrCompositor(android.content.ComponentName);
898    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public void setPersistentVrModeEnabled(boolean);
899    method @RequiresPermission("android.permission.ACCESS_VR_MANAGER") public void setStandbyEnabled(boolean);
900    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public void setVr2dDisplayProperties(@NonNull android.app.Vr2dDisplayProperties);
901    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public void setVrInputMethod(@Nullable android.content.ComponentName);
902    method @RequiresPermission(anyOf={android.Manifest.permission.RESTRICTED_VR_ACCESS, "android.permission.ACCESS_VR_STATE"}) public void unregisterVrStateCallback(@NonNull android.app.VrStateCallback);
903  }
904
905  public abstract class VrStateCallback {
906    ctor public VrStateCallback();
907    method public void onPersistentVrStateChanged(boolean);
908    method public void onVrStateChanged(boolean);
909  }
910
911  public final class WallpaperInfo implements android.os.Parcelable {
912    method public boolean supportsAmbientMode();
913  }
914
915  public class WallpaperManager {
916    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public void clearWallpaper(int, int);
917    method public void setDisplayOffset(android.os.IBinder, int, int);
918    method @RequiresPermission(android.Manifest.permission.SET_WALLPAPER_COMPONENT) public boolean setWallpaperComponent(android.content.ComponentName);
919  }
920
921}
922
923package android.app.admin {
924
925  public class DevicePolicyKeyguardService extends android.app.Service {
926    ctor public DevicePolicyKeyguardService();
927    method @Nullable public void dismiss();
928    method @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent);
929    method @Nullable public android.view.SurfaceControlViewHost.SurfacePackage onCreateKeyguardSurface(@NonNull android.os.IBinder);
930  }
931
932  public class DevicePolicyManager {
933    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public boolean getBluetoothContactSharingDisabled(@NonNull android.os.UserHandle);
934    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public String getDeviceOwner();
935    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, "android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS"}) public android.content.ComponentName getDeviceOwnerComponentOnAnyUser();
936    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public String getDeviceOwnerNameOnAnyUser();
937    method @Nullable public CharSequence getDeviceOwnerOrganizationName();
938    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public android.os.UserHandle getDeviceOwnerUser();
939    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public java.util.List<java.lang.String> getPermittedAccessibilityServices(int);
940    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public java.util.List<java.lang.String> getPermittedInputMethodsForCurrentUser();
941    method @Nullable public android.content.ComponentName getProfileOwner() throws java.lang.IllegalArgumentException;
942    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public String getProfileOwnerNameAsUser(int) throws java.lang.IllegalArgumentException;
943    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public int getUserProvisioningState();
944    method public boolean isDeviceManaged();
945    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isDeviceProvisioned();
946    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isDeviceProvisioningConfigApplied();
947    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isManagedKiosk();
948    method public boolean isSecondaryLockscreenEnabled(@NonNull android.os.UserHandle);
949    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isUnattendedManagedKiosk();
950    method @RequiresPermission("android.permission.NOTIFY_PENDING_SYSTEM_UPDATE") public void notifyPendingSystemUpdate(long);
951    method @RequiresPermission("android.permission.NOTIFY_PENDING_SYSTEM_UPDATE") public void notifyPendingSystemUpdate(long, boolean);
952    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public boolean packageHasActiveAdmins(String);
953    method @Deprecated @RequiresPermission("android.permission.MANAGE_DEVICE_ADMINS") public boolean setActiveProfileOwner(@NonNull android.content.ComponentName, String) throws java.lang.IllegalArgumentException;
954    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void setDeviceProvisioningConfigApplied();
955    method @Deprecated @RequiresPermission(value=android.Manifest.permission.GRANT_PROFILE_OWNER_DEVICE_IDS_ACCESS, conditional=true) public void setProfileOwnerCanAccessDeviceIds(@NonNull android.content.ComponentName);
956    method public void setSecondaryLockscreenEnabled(@NonNull android.content.ComponentName, boolean);
957    field public static final String ACCOUNT_FEATURE_DEVICE_OR_PROFILE_OWNER_ALLOWED = "android.account.DEVICE_OR_PROFILE_OWNER_ALLOWED";
958    field public static final String ACCOUNT_FEATURE_DEVICE_OR_PROFILE_OWNER_DISALLOWED = "android.account.DEVICE_OR_PROFILE_OWNER_DISALLOWED";
959    field public static final String ACTION_BIND_SECONDARY_LOCKSCREEN_SERVICE = "android.app.action.BIND_SECONDARY_LOCKSCREEN_SERVICE";
960    field public static final String ACTION_PROVISION_FINALIZATION = "android.app.action.PROVISION_FINALIZATION";
961    field public static final String ACTION_PROVISION_FINANCED_DEVICE = "android.app.action.PROVISION_FINANCED_DEVICE";
962    field public static final String ACTION_PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE = "android.app.action.PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE";
963    field @RequiresPermission(android.Manifest.permission.MANAGE_FACTORY_RESET_PROTECTION) public static final String ACTION_RESET_PROTECTION_POLICY_CHANGED = "android.app.action.RESET_PROTECTION_POLICY_CHANGED";
964    field public static final String ACTION_SET_PROFILE_OWNER = "android.app.action.SET_PROFILE_OWNER";
965    field public static final String ACTION_STATE_USER_SETUP_COMPLETE = "android.app.action.STATE_USER_SETUP_COMPLETE";
966    field public static final String EXTRA_PROFILE_OWNER_NAME = "android.app.extra.PROFILE_OWNER_NAME";
967    field @Deprecated public static final String EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_ICON_URI = "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_ICON_URI";
968    field @Deprecated public static final String EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_LABEL = "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_LABEL";
969    field public static final String EXTRA_PROVISIONING_ORGANIZATION_NAME = "android.app.extra.PROVISIONING_ORGANIZATION_NAME";
970    field public static final String EXTRA_PROVISIONING_RETURN_BEFORE_POLICY_COMPLIANCE = "android.app.extra.PROVISIONING_RETURN_BEFORE_POLICY_COMPLIANCE";
971    field public static final String EXTRA_PROVISIONING_SKIP_OWNERSHIP_DISCLAIMER = "android.app.extra.PROVISIONING_SKIP_OWNERSHIP_DISCLAIMER";
972    field public static final String EXTRA_PROVISIONING_SUPPORTED_MODES = "android.app.extra.PROVISIONING_SUPPORTED_MODES";
973    field public static final String EXTRA_PROVISIONING_SUPPORT_URL = "android.app.extra.PROVISIONING_SUPPORT_URL";
974    field public static final String EXTRA_PROVISIONING_TRIGGER = "android.app.extra.PROVISIONING_TRIGGER";
975    field public static final String EXTRA_RESTRICTION = "android.app.extra.RESTRICTION";
976    field public static final int FLAG_SUPPORTED_MODES_DEVICE_OWNER = 4; // 0x4
977    field public static final int FLAG_SUPPORTED_MODES_ORGANIZATION_OWNED = 1; // 0x1
978    field public static final int FLAG_SUPPORTED_MODES_PERSONALLY_OWNED = 2; // 0x2
979    field public static final int PROVISIONING_TRIGGER_CLOUD_ENROLLMENT = 1; // 0x1
980    field public static final int PROVISIONING_TRIGGER_MANAGED_ACCOUNT = 4; // 0x4
981    field @Deprecated public static final int PROVISIONING_TRIGGER_PERSISTENT_DEVICE_OWNER = 3; // 0x3
982    field public static final int PROVISIONING_TRIGGER_QR_CODE = 2; // 0x2
983    field public static final int PROVISIONING_TRIGGER_UNSPECIFIED = 0; // 0x0
984    field public static final String REQUIRED_APP_MANAGED_DEVICE = "android.app.REQUIRED_APP_MANAGED_DEVICE";
985    field public static final String REQUIRED_APP_MANAGED_PROFILE = "android.app.REQUIRED_APP_MANAGED_PROFILE";
986    field public static final String REQUIRED_APP_MANAGED_USER = "android.app.REQUIRED_APP_MANAGED_USER";
987    field public static final int STATE_USER_PROFILE_COMPLETE = 4; // 0x4
988    field public static final int STATE_USER_PROFILE_FINALIZED = 5; // 0x5
989    field public static final int STATE_USER_SETUP_COMPLETE = 2; // 0x2
990    field public static final int STATE_USER_SETUP_FINALIZED = 3; // 0x3
991    field public static final int STATE_USER_SETUP_INCOMPLETE = 1; // 0x1
992    field public static final int STATE_USER_UNMANAGED = 0; // 0x0
993  }
994
995  public final class SystemUpdatePolicy implements android.os.Parcelable {
996    method public android.app.admin.SystemUpdatePolicy.InstallationOption getInstallationOptionAt(long);
997    field public static final int TYPE_PAUSE = 4; // 0x4
998  }
999
1000  public static class SystemUpdatePolicy.InstallationOption {
1001    method public long getEffectiveTime();
1002    method public int getType();
1003  }
1004
1005}
1006
1007package android.app.assist {
1008
1009  public class ActivityId {
1010  }
1011
1012  public static class AssistStructure.ViewNode {
1013    ctor public AssistStructure.ViewNode();
1014  }
1015
1016}
1017
1018package android.app.backup {
1019
1020  public class BackupDataInput {
1021    ctor public BackupDataInput(java.io.FileDescriptor);
1022  }
1023
1024  public class BackupDataOutput {
1025    ctor public BackupDataOutput(java.io.FileDescriptor);
1026    ctor public BackupDataOutput(java.io.FileDescriptor, long);
1027  }
1028
1029  public class BackupManager {
1030    method @RequiresPermission(android.Manifest.permission.BACKUP) public void backupNow();
1031    method @RequiresPermission(android.Manifest.permission.BACKUP) public android.app.backup.RestoreSession beginRestoreSession();
1032    method @RequiresPermission(android.Manifest.permission.BACKUP) public void cancelBackups();
1033    method @RequiresPermission(android.Manifest.permission.BACKUP) public void excludeKeysFromRestore(@NonNull String, @NonNull java.util.List<java.lang.String>);
1034    method @RequiresPermission(android.Manifest.permission.BACKUP) public long getAvailableRestoreToken(String);
1035    method @RequiresPermission(android.Manifest.permission.BACKUP) public android.content.Intent getConfigurationIntent(String);
1036    method @RequiresPermission(android.Manifest.permission.BACKUP) public String getCurrentTransport();
1037    method @Nullable @RequiresPermission(android.Manifest.permission.BACKUP) public android.content.ComponentName getCurrentTransportComponent();
1038    method @RequiresPermission(android.Manifest.permission.BACKUP) public android.content.Intent getDataManagementIntent(String);
1039    method @Nullable @RequiresPermission(android.Manifest.permission.BACKUP) public CharSequence getDataManagementIntentLabel(@NonNull String);
1040    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.BACKUP) public String getDataManagementLabel(@NonNull String);
1041    method @RequiresPermission(android.Manifest.permission.BACKUP) public String getDestinationString(String);
1042    method @RequiresPermission(android.Manifest.permission.BACKUP) public boolean isAppEligibleForBackup(String);
1043    method @RequiresPermission(android.Manifest.permission.BACKUP) public boolean isBackupEnabled();
1044    method @RequiresPermission(android.Manifest.permission.BACKUP) public boolean isBackupServiceActive(android.os.UserHandle);
1045    method @RequiresPermission(android.Manifest.permission.BACKUP) public String[] listAllTransports();
1046    method @RequiresPermission(android.Manifest.permission.BACKUP) public int requestBackup(String[], android.app.backup.BackupObserver);
1047    method @RequiresPermission(android.Manifest.permission.BACKUP) public int requestBackup(String[], android.app.backup.BackupObserver, android.app.backup.BackupManagerMonitor, int);
1048    method @Deprecated public int requestRestore(android.app.backup.RestoreObserver, android.app.backup.BackupManagerMonitor);
1049    method @Deprecated @RequiresPermission(android.Manifest.permission.BACKUP) public String selectBackupTransport(String);
1050    method @RequiresPermission(android.Manifest.permission.BACKUP) public void selectBackupTransport(android.content.ComponentName, android.app.backup.SelectBackupTransportCallback);
1051    method @RequiresPermission(android.Manifest.permission.BACKUP) public void setAncestralSerialNumber(long);
1052    method @RequiresPermission(android.Manifest.permission.BACKUP) public void setAutoRestore(boolean);
1053    method @RequiresPermission(android.Manifest.permission.BACKUP) public void setBackupEnabled(boolean);
1054    method @Deprecated @RequiresPermission(android.Manifest.permission.BACKUP) public void updateTransportAttributes(@NonNull android.content.ComponentName, @NonNull String, @Nullable android.content.Intent, @NonNull String, @Nullable android.content.Intent, @Nullable String);
1055    method @RequiresPermission(android.Manifest.permission.BACKUP) public void updateTransportAttributes(@NonNull android.content.ComponentName, @NonNull String, @Nullable android.content.Intent, @NonNull String, @Nullable android.content.Intent, @Nullable CharSequence);
1056    field public static final int ERROR_AGENT_FAILURE = -1003; // 0xfffffc15
1057    field public static final int ERROR_BACKUP_CANCELLED = -2003; // 0xfffff82d
1058    field public static final int ERROR_BACKUP_NOT_ALLOWED = -2001; // 0xfffff82f
1059    field public static final int ERROR_PACKAGE_NOT_FOUND = -2002; // 0xfffff82e
1060    field public static final int ERROR_TRANSPORT_ABORTED = -1000; // 0xfffffc18
1061    field public static final int ERROR_TRANSPORT_INVALID = -2; // 0xfffffffe
1062    field public static final int ERROR_TRANSPORT_PACKAGE_REJECTED = -1002; // 0xfffffc16
1063    field public static final int ERROR_TRANSPORT_QUOTA_EXCEEDED = -1005; // 0xfffffc13
1064    field public static final int ERROR_TRANSPORT_UNAVAILABLE = -1; // 0xffffffff
1065    field public static final int FLAG_NON_INCREMENTAL_BACKUP = 1; // 0x1
1066    field public static final String PACKAGE_MANAGER_SENTINEL = "@pm@";
1067    field public static final int SUCCESS = 0; // 0x0
1068  }
1069
1070  public class BackupManagerMonitor {
1071    ctor public BackupManagerMonitor();
1072    method public void onEvent(android.os.Bundle);
1073    field public static final String EXTRA_LOG_CANCEL_ALL = "android.app.backup.extra.LOG_CANCEL_ALL";
1074    field public static final String EXTRA_LOG_EVENT_CATEGORY = "android.app.backup.extra.LOG_EVENT_CATEGORY";
1075    field public static final String EXTRA_LOG_EVENT_ID = "android.app.backup.extra.LOG_EVENT_ID";
1076    field public static final String EXTRA_LOG_EVENT_PACKAGE_LONG_VERSION = "android.app.backup.extra.LOG_EVENT_PACKAGE_FULL_VERSION";
1077    field public static final String EXTRA_LOG_EVENT_PACKAGE_NAME = "android.app.backup.extra.LOG_EVENT_PACKAGE_NAME";
1078    field @Deprecated public static final String EXTRA_LOG_EVENT_PACKAGE_VERSION = "android.app.backup.extra.LOG_EVENT_PACKAGE_VERSION";
1079    field public static final String EXTRA_LOG_EXCEPTION_FULL_BACKUP = "android.app.backup.extra.LOG_EXCEPTION_FULL_BACKUP";
1080    field public static final String EXTRA_LOG_ILLEGAL_KEY = "android.app.backup.extra.LOG_ILLEGAL_KEY";
1081    field public static final String EXTRA_LOG_MANIFEST_PACKAGE_NAME = "android.app.backup.extra.LOG_MANIFEST_PACKAGE_NAME";
1082    field public static final String EXTRA_LOG_OLD_VERSION = "android.app.backup.extra.LOG_OLD_VERSION";
1083    field public static final String EXTRA_LOG_POLICY_ALLOW_APKS = "android.app.backup.extra.LOG_POLICY_ALLOW_APKS";
1084    field public static final String EXTRA_LOG_PREFLIGHT_ERROR = "android.app.backup.extra.LOG_PREFLIGHT_ERROR";
1085    field public static final String EXTRA_LOG_RESTORE_ANYWAY = "android.app.backup.extra.LOG_RESTORE_ANYWAY";
1086    field public static final String EXTRA_LOG_RESTORE_VERSION = "android.app.backup.extra.LOG_RESTORE_VERSION";
1087    field public static final String EXTRA_LOG_WIDGET_PACKAGE_NAME = "android.app.backup.extra.LOG_WIDGET_PACKAGE_NAME";
1088    field public static final int LOG_EVENT_CATEGORY_AGENT = 2; // 0x2
1089    field public static final int LOG_EVENT_CATEGORY_BACKUP_MANAGER_POLICY = 3; // 0x3
1090    field public static final int LOG_EVENT_CATEGORY_TRANSPORT = 1; // 0x1
1091    field public static final int LOG_EVENT_ID_APK_NOT_INSTALLED = 40; // 0x28
1092    field public static final int LOG_EVENT_ID_APP_HAS_NO_AGENT = 28; // 0x1c
1093    field public static final int LOG_EVENT_ID_BACKUP_DISABLED = 13; // 0xd
1094    field public static final int LOG_EVENT_ID_CANNOT_RESTORE_WITHOUT_APK = 41; // 0x29
1095    field public static final int LOG_EVENT_ID_CANT_FIND_AGENT = 30; // 0x1e
1096    field public static final int LOG_EVENT_ID_CORRUPT_MANIFEST = 46; // 0x2e
1097    field public static final int LOG_EVENT_ID_DEVICE_NOT_PROVISIONED = 14; // 0xe
1098    field public static final int LOG_EVENT_ID_ERROR_PREFLIGHT = 16; // 0x10
1099    field public static final int LOG_EVENT_ID_EXCEPTION_FULL_BACKUP = 19; // 0x13
1100    field public static final int LOG_EVENT_ID_EXPECTED_DIFFERENT_PACKAGE = 43; // 0x2b
1101    field public static final int LOG_EVENT_ID_FULL_BACKUP_CANCEL = 4; // 0x4
1102    field public static final int LOG_EVENT_ID_FULL_RESTORE_ALLOW_BACKUP_FALSE = 39; // 0x27
1103    field public static final int LOG_EVENT_ID_FULL_RESTORE_SIGNATURE_MISMATCH = 37; // 0x25
1104    field public static final int LOG_EVENT_ID_FULL_RESTORE_TIMEOUT = 45; // 0x2d
1105    field public static final int LOG_EVENT_ID_ILLEGAL_KEY = 5; // 0x5
1106    field public static final int LOG_EVENT_ID_KEY_VALUE_BACKUP_CANCEL = 21; // 0x15
1107    field public static final int LOG_EVENT_ID_KEY_VALUE_RESTORE_TIMEOUT = 31; // 0x1f
1108    field public static final int LOG_EVENT_ID_LOST_TRANSPORT = 25; // 0x19
1109    field public static final int LOG_EVENT_ID_MISSING_SIGNATURE = 42; // 0x2a
1110    field public static final int LOG_EVENT_ID_NO_DATA_TO_SEND = 7; // 0x7
1111    field public static final int LOG_EVENT_ID_NO_PACKAGES = 49; // 0x31
1112    field public static final int LOG_EVENT_ID_NO_PM_METADATA_RECEIVED = 23; // 0x17
1113    field public static final int LOG_EVENT_ID_NO_RESTORE_METADATA_AVAILABLE = 22; // 0x16
1114    field public static final int LOG_EVENT_ID_PACKAGE_INELIGIBLE = 9; // 0x9
1115    field public static final int LOG_EVENT_ID_PACKAGE_KEY_VALUE_PARTICIPANT = 10; // 0xa
1116    field public static final int LOG_EVENT_ID_PACKAGE_NOT_FOUND = 12; // 0xc
1117    field public static final int LOG_EVENT_ID_PACKAGE_NOT_PRESENT = 26; // 0x1a
1118    field public static final int LOG_EVENT_ID_PACKAGE_STOPPED = 11; // 0xb
1119    field public static final int LOG_EVENT_ID_PACKAGE_TRANSPORT_NOT_PRESENT = 15; // 0xf
1120    field public static final int LOG_EVENT_ID_PM_AGENT_HAS_NO_METADATA = 24; // 0x18
1121    field public static final int LOG_EVENT_ID_QUOTA_HIT_PREFLIGHT = 18; // 0x12
1122    field public static final int LOG_EVENT_ID_RESTORE_ANY_VERSION = 34; // 0x22
1123    field public static final int LOG_EVENT_ID_RESTORE_VERSION_HIGHER = 27; // 0x1b
1124    field public static final int LOG_EVENT_ID_SIGNATURE_MISMATCH = 29; // 0x1d
1125    field public static final int LOG_EVENT_ID_SYSTEM_APP_NO_AGENT = 38; // 0x26
1126    field public static final int LOG_EVENT_ID_TRANSPORT_IS_NULL = 50; // 0x32
1127    field public static final int LOG_EVENT_ID_TRANSPORT_NON_INCREMENTAL_BACKUP_REQUIRED = 51; // 0x33
1128    field public static final int LOG_EVENT_ID_UNKNOWN_VERSION = 44; // 0x2c
1129    field public static final int LOG_EVENT_ID_VERSIONS_MATCH = 35; // 0x23
1130    field public static final int LOG_EVENT_ID_VERSION_OF_BACKUP_OLDER = 36; // 0x24
1131    field public static final int LOG_EVENT_ID_WIDGET_METADATA_MISMATCH = 47; // 0x2f
1132    field public static final int LOG_EVENT_ID_WIDGET_UNKNOWN_VERSION = 48; // 0x30
1133  }
1134
1135  public abstract class BackupObserver {
1136    ctor public BackupObserver();
1137    method public void backupFinished(int);
1138    method public void onResult(String, int);
1139    method public void onUpdate(String, android.app.backup.BackupProgress);
1140  }
1141
1142  public class BackupProgress implements android.os.Parcelable {
1143    ctor public BackupProgress(long, long);
1144    method public int describeContents();
1145    method public void writeToParcel(android.os.Parcel, int);
1146    field @NonNull public static final android.os.Parcelable.Creator<android.app.backup.BackupProgress> CREATOR;
1147    field public final long bytesExpected;
1148    field public final long bytesTransferred;
1149  }
1150
1151  public class BackupTransport {
1152    ctor public BackupTransport();
1153    method public int abortFullRestore();
1154    method public void cancelFullBackup();
1155    method public int checkFullBackupSize(long);
1156    method public int clearBackupData(android.content.pm.PackageInfo);
1157    method public android.content.Intent configurationIntent();
1158    method public String currentDestinationString();
1159    method public android.content.Intent dataManagementIntent();
1160    method @Nullable public CharSequence dataManagementIntentLabel();
1161    method @Deprecated @Nullable public String dataManagementLabel();
1162    method public int finishBackup();
1163    method public void finishRestore();
1164    method public android.app.backup.RestoreSet[] getAvailableRestoreSets();
1165    method public long getBackupQuota(String, boolean);
1166    method public android.os.IBinder getBinder();
1167    method public long getCurrentRestoreSet();
1168    method public int getNextFullRestoreDataChunk(android.os.ParcelFileDescriptor);
1169    method public int getRestoreData(android.os.ParcelFileDescriptor);
1170    method public int getTransportFlags();
1171    method public int initializeDevice();
1172    method public boolean isAppEligibleForBackup(android.content.pm.PackageInfo, boolean);
1173    method public String name();
1174    method public android.app.backup.RestoreDescription nextRestorePackage();
1175    method public int performBackup(android.content.pm.PackageInfo, android.os.ParcelFileDescriptor, int);
1176    method public int performBackup(android.content.pm.PackageInfo, android.os.ParcelFileDescriptor);
1177    method public int performFullBackup(android.content.pm.PackageInfo, android.os.ParcelFileDescriptor, int);
1178    method public int performFullBackup(android.content.pm.PackageInfo, android.os.ParcelFileDescriptor);
1179    method public long requestBackupTime();
1180    method public long requestFullBackupTime();
1181    method public int sendBackupData(int);
1182    method public int startRestore(long, android.content.pm.PackageInfo[]);
1183    method public String transportDirName();
1184    field public static final int AGENT_ERROR = -1003; // 0xfffffc15
1185    field public static final int AGENT_UNKNOWN = -1004; // 0xfffffc14
1186    field public static final String EXTRA_TRANSPORT_REGISTRATION = "android.app.backup.extra.TRANSPORT_REGISTRATION";
1187    field public static final int FLAG_DATA_NOT_CHANGED = 8; // 0x8
1188    field public static final int FLAG_INCREMENTAL = 2; // 0x2
1189    field public static final int FLAG_NON_INCREMENTAL = 4; // 0x4
1190    field public static final int FLAG_USER_INITIATED = 1; // 0x1
1191    field public static final int NO_MORE_DATA = -1; // 0xffffffff
1192    field public static final int TRANSPORT_ERROR = -1000; // 0xfffffc18
1193    field public static final int TRANSPORT_NON_INCREMENTAL_BACKUP_REQUIRED = -1006; // 0xfffffc12
1194    field public static final int TRANSPORT_NOT_INITIALIZED = -1001; // 0xfffffc17
1195    field public static final int TRANSPORT_OK = 0; // 0x0
1196    field public static final int TRANSPORT_PACKAGE_REJECTED = -1002; // 0xfffffc16
1197    field public static final int TRANSPORT_QUOTA_EXCEEDED = -1005; // 0xfffffc13
1198  }
1199
1200  public class RestoreDescription implements android.os.Parcelable {
1201    ctor public RestoreDescription(String, int);
1202    method public int describeContents();
1203    method public int getDataType();
1204    method public String getPackageName();
1205    method public void writeToParcel(android.os.Parcel, int);
1206    field @NonNull public static final android.os.Parcelable.Creator<android.app.backup.RestoreDescription> CREATOR;
1207    field public static final android.app.backup.RestoreDescription NO_MORE_PACKAGES;
1208    field public static final int TYPE_FULL_STREAM = 2; // 0x2
1209    field public static final int TYPE_KEY_VALUE = 1; // 0x1
1210  }
1211
1212  public abstract class RestoreObserver {
1213    method public void restoreSetsAvailable(android.app.backup.RestoreSet[]);
1214  }
1215
1216  public class RestoreSession {
1217    method public void endRestoreSession();
1218    method public int getAvailableRestoreSets(android.app.backup.RestoreObserver, android.app.backup.BackupManagerMonitor);
1219    method public int getAvailableRestoreSets(android.app.backup.RestoreObserver);
1220    method public int restoreAll(long, android.app.backup.RestoreObserver, android.app.backup.BackupManagerMonitor);
1221    method public int restoreAll(long, android.app.backup.RestoreObserver);
1222    method public int restorePackage(String, android.app.backup.RestoreObserver, android.app.backup.BackupManagerMonitor);
1223    method public int restorePackage(String, android.app.backup.RestoreObserver);
1224    method public int restorePackages(long, @Nullable android.app.backup.RestoreObserver, @NonNull java.util.Set<java.lang.String>, @Nullable android.app.backup.BackupManagerMonitor);
1225    method public int restorePackages(long, @Nullable android.app.backup.RestoreObserver, @NonNull java.util.Set<java.lang.String>);
1226  }
1227
1228  public class RestoreSet implements android.os.Parcelable {
1229    ctor public RestoreSet();
1230    ctor public RestoreSet(@Nullable String, @Nullable String, long);
1231    ctor public RestoreSet(@Nullable String, @Nullable String, long, int);
1232    method public int describeContents();
1233    method public void writeToParcel(android.os.Parcel, int);
1234    field @NonNull public static final android.os.Parcelable.Creator<android.app.backup.RestoreSet> CREATOR;
1235    field public final int backupTransportFlags;
1236    field @Nullable public String device;
1237    field @Nullable public String name;
1238    field public long token;
1239  }
1240
1241  public abstract class SelectBackupTransportCallback {
1242    ctor public SelectBackupTransportCallback();
1243    method public void onFailure(int);
1244    method public void onSuccess(String);
1245  }
1246
1247}
1248
1249package android.app.compat {
1250
1251  public final class CompatChanges {
1252    method public static boolean isChangeEnabled(long);
1253    method @RequiresPermission(allOf={"android.permission.READ_COMPAT_CHANGE_CONFIG", "android.permission.LOG_COMPAT_CHANGE"}) public static boolean isChangeEnabled(long, @NonNull String, @NonNull android.os.UserHandle);
1254    method @RequiresPermission(allOf={"android.permission.READ_COMPAT_CHANGE_CONFIG", "android.permission.LOG_COMPAT_CHANGE"}) public static boolean isChangeEnabled(long, int);
1255    method @RequiresPermission(android.Manifest.permission.OVERRIDE_COMPAT_CHANGE_CONFIG_ON_RELEASE_BUILD) public static void putPackageOverrides(@NonNull String, @NonNull java.util.Map<java.lang.Long,android.app.compat.PackageOverride>);
1256    method @RequiresPermission(android.Manifest.permission.OVERRIDE_COMPAT_CHANGE_CONFIG_ON_RELEASE_BUILD) public static void removePackageOverrides(@NonNull String, @NonNull java.util.Set<java.lang.Long>);
1257  }
1258
1259  public final class PackageOverride {
1260    method public long getMaxVersionCode();
1261    method public long getMinVersionCode();
1262    method public boolean isEnabled();
1263  }
1264
1265  public static final class PackageOverride.Builder {
1266    ctor public PackageOverride.Builder();
1267    method @NonNull public android.app.compat.PackageOverride build();
1268    method @NonNull public android.app.compat.PackageOverride.Builder setEnabled(boolean);
1269    method @NonNull public android.app.compat.PackageOverride.Builder setMaxVersionCode(long);
1270    method @NonNull public android.app.compat.PackageOverride.Builder setMinVersionCode(long);
1271  }
1272
1273}
1274
1275package android.app.contentsuggestions {
1276
1277  public final class ClassificationsRequest implements android.os.Parcelable {
1278    method public int describeContents();
1279    method @NonNull public android.os.Bundle getExtras();
1280    method @NonNull public java.util.List<android.app.contentsuggestions.ContentSelection> getSelections();
1281    method public void writeToParcel(android.os.Parcel, int);
1282    field @NonNull public static final android.os.Parcelable.Creator<android.app.contentsuggestions.ClassificationsRequest> CREATOR;
1283  }
1284
1285  public static final class ClassificationsRequest.Builder {
1286    ctor public ClassificationsRequest.Builder(@NonNull java.util.List<android.app.contentsuggestions.ContentSelection>);
1287    method @NonNull public android.app.contentsuggestions.ClassificationsRequest build();
1288    method @NonNull public android.app.contentsuggestions.ClassificationsRequest.Builder setExtras(@NonNull android.os.Bundle);
1289  }
1290
1291  public final class ContentClassification implements android.os.Parcelable {
1292    ctor public ContentClassification(@NonNull String, @NonNull android.os.Bundle);
1293    method public int describeContents();
1294    method @NonNull public android.os.Bundle getExtras();
1295    method @NonNull public String getId();
1296    method public void writeToParcel(android.os.Parcel, int);
1297    field @NonNull public static final android.os.Parcelable.Creator<android.app.contentsuggestions.ContentClassification> CREATOR;
1298  }
1299
1300  public final class ContentSelection implements android.os.Parcelable {
1301    ctor public ContentSelection(@NonNull String, @NonNull android.os.Bundle);
1302    method public int describeContents();
1303    method @NonNull public android.os.Bundle getExtras();
1304    method @NonNull public String getId();
1305    method public void writeToParcel(android.os.Parcel, int);
1306    field @NonNull public static final android.os.Parcelable.Creator<android.app.contentsuggestions.ContentSelection> CREATOR;
1307  }
1308
1309  public final class ContentSuggestionsManager {
1310    method public void classifyContentSelections(@NonNull android.app.contentsuggestions.ClassificationsRequest, @NonNull java.util.concurrent.Executor, @NonNull android.app.contentsuggestions.ContentSuggestionsManager.ClassificationsCallback);
1311    method public boolean isEnabled();
1312    method public void notifyInteraction(@NonNull String, @NonNull android.os.Bundle);
1313    method public void provideContextImage(@NonNull android.graphics.Bitmap, @NonNull android.os.Bundle);
1314    method public void provideContextImage(int, @NonNull android.os.Bundle);
1315    method public void suggestContentSelections(@NonNull android.app.contentsuggestions.SelectionsRequest, @NonNull java.util.concurrent.Executor, @NonNull android.app.contentsuggestions.ContentSuggestionsManager.SelectionsCallback);
1316  }
1317
1318  public static interface ContentSuggestionsManager.ClassificationsCallback {
1319    method public void onContentClassificationsAvailable(int, @NonNull java.util.List<android.app.contentsuggestions.ContentClassification>);
1320  }
1321
1322  public static interface ContentSuggestionsManager.SelectionsCallback {
1323    method public void onContentSelectionsAvailable(int, @NonNull java.util.List<android.app.contentsuggestions.ContentSelection>);
1324  }
1325
1326  public final class SelectionsRequest implements android.os.Parcelable {
1327    method public int describeContents();
1328    method @NonNull public android.os.Bundle getExtras();
1329    method @Nullable public android.graphics.Point getInterestPoint();
1330    method public int getTaskId();
1331    method public void writeToParcel(android.os.Parcel, int);
1332    field @NonNull public static final android.os.Parcelable.Creator<android.app.contentsuggestions.SelectionsRequest> CREATOR;
1333  }
1334
1335  public static final class SelectionsRequest.Builder {
1336    ctor public SelectionsRequest.Builder(int);
1337    method @NonNull public android.app.contentsuggestions.SelectionsRequest build();
1338    method @NonNull public android.app.contentsuggestions.SelectionsRequest.Builder setExtras(@NonNull android.os.Bundle);
1339    method @NonNull public android.app.contentsuggestions.SelectionsRequest.Builder setInterestPoint(@NonNull android.graphics.Point);
1340  }
1341
1342}
1343
1344package android.app.job {
1345
1346  public abstract class JobScheduler {
1347    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public abstract int scheduleAsPackage(@NonNull android.app.job.JobInfo, @NonNull String, int, String);
1348  }
1349
1350  public class JobSchedulerFrameworkInitializer {
1351    method public static void registerServiceWrappers();
1352  }
1353
1354}
1355
1356package android.app.people {
1357
1358  public final class PeopleManager {
1359    method @RequiresPermission(android.Manifest.permission.READ_PEOPLE_DATA) public boolean isConversation(@NonNull String, @NonNull String);
1360  }
1361
1362}
1363
1364package android.app.prediction {
1365
1366  public final class AppPredictionContext implements android.os.Parcelable {
1367    method public int describeContents();
1368    method @Nullable public android.os.Bundle getExtras();
1369    method @NonNull public String getPackageName();
1370    method @IntRange(from=0) public int getPredictedTargetCount();
1371    method @NonNull public String getUiSurface();
1372    method public void writeToParcel(@NonNull android.os.Parcel, int);
1373    field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppPredictionContext> CREATOR;
1374  }
1375
1376  public static final class AppPredictionContext.Builder {
1377    ctor public AppPredictionContext.Builder(@NonNull android.content.Context);
1378    method @NonNull public android.app.prediction.AppPredictionContext build();
1379    method @NonNull public android.app.prediction.AppPredictionContext.Builder setExtras(@Nullable android.os.Bundle);
1380    method @NonNull public android.app.prediction.AppPredictionContext.Builder setPredictedTargetCount(@IntRange(from=0) int);
1381    method @NonNull public android.app.prediction.AppPredictionContext.Builder setUiSurface(@NonNull String);
1382  }
1383
1384  public final class AppPredictionManager {
1385    method @NonNull public android.app.prediction.AppPredictor createAppPredictionSession(@NonNull android.app.prediction.AppPredictionContext);
1386  }
1387
1388  public final class AppPredictionSessionId implements android.os.Parcelable {
1389    method public int describeContents();
1390    method public void writeToParcel(android.os.Parcel, int);
1391    field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppPredictionSessionId> CREATOR;
1392  }
1393
1394  public final class AppPredictor {
1395    method public void destroy();
1396    method public void notifyAppTargetEvent(@NonNull android.app.prediction.AppTargetEvent);
1397    method public void notifyLaunchLocationShown(@NonNull String, @NonNull java.util.List<android.app.prediction.AppTargetId>);
1398    method public void registerPredictionUpdates(@NonNull java.util.concurrent.Executor, @NonNull android.app.prediction.AppPredictor.Callback);
1399    method public void requestPredictionUpdate();
1400    method @Nullable public void sortTargets(@NonNull java.util.List<android.app.prediction.AppTarget>, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.util.List<android.app.prediction.AppTarget>>);
1401    method public void unregisterPredictionUpdates(@NonNull android.app.prediction.AppPredictor.Callback);
1402  }
1403
1404  public static interface AppPredictor.Callback {
1405    method public void onTargetsAvailable(@NonNull java.util.List<android.app.prediction.AppTarget>);
1406  }
1407
1408  public final class AppTarget implements android.os.Parcelable {
1409    method public int describeContents();
1410    method @Nullable public String getClassName();
1411    method @NonNull public android.app.prediction.AppTargetId getId();
1412    method @NonNull public String getPackageName();
1413    method @IntRange(from=0) public int getRank();
1414    method @Nullable public android.content.pm.ShortcutInfo getShortcutInfo();
1415    method @NonNull public android.os.UserHandle getUser();
1416    method public void writeToParcel(android.os.Parcel, int);
1417    field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppTarget> CREATOR;
1418  }
1419
1420  public static final class AppTarget.Builder {
1421    ctor public AppTarget.Builder(@NonNull android.app.prediction.AppTargetId, @NonNull String, @NonNull android.os.UserHandle);
1422    ctor public AppTarget.Builder(@NonNull android.app.prediction.AppTargetId, @NonNull android.content.pm.ShortcutInfo);
1423    method @NonNull public android.app.prediction.AppTarget build();
1424    method @NonNull public android.app.prediction.AppTarget.Builder setClassName(@NonNull String);
1425    method @NonNull public android.app.prediction.AppTarget.Builder setRank(@IntRange(from=0) int);
1426  }
1427
1428  public final class AppTargetEvent implements android.os.Parcelable {
1429    method public int describeContents();
1430    method public int getAction();
1431    method @Nullable public String getLaunchLocation();
1432    method @Nullable public android.app.prediction.AppTarget getTarget();
1433    method public void writeToParcel(android.os.Parcel, int);
1434    field public static final int ACTION_DISMISS = 2; // 0x2
1435    field public static final int ACTION_LAUNCH = 1; // 0x1
1436    field public static final int ACTION_PIN = 3; // 0x3
1437    field public static final int ACTION_UNPIN = 4; // 0x4
1438    field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppTargetEvent> CREATOR;
1439  }
1440
1441  public static final class AppTargetEvent.Builder {
1442    ctor public AppTargetEvent.Builder(@Nullable android.app.prediction.AppTarget, int);
1443    method @NonNull public android.app.prediction.AppTargetEvent build();
1444    method @NonNull public android.app.prediction.AppTargetEvent.Builder setLaunchLocation(@Nullable String);
1445  }
1446
1447  public final class AppTargetId implements android.os.Parcelable {
1448    ctor public AppTargetId(@NonNull String);
1449    method public int describeContents();
1450    method public void writeToParcel(android.os.Parcel, int);
1451    field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppTargetId> CREATOR;
1452  }
1453
1454}
1455
1456package android.app.search {
1457
1458  public final class Query implements android.os.Parcelable {
1459    ctor public Query(@NonNull String, long, @NonNull android.os.Bundle);
1460    ctor public Query(@NonNull String, long);
1461    method public int describeContents();
1462    method @NonNull public android.os.Bundle getExtras();
1463    method @NonNull public String getInput();
1464    method public long getTimestampMillis();
1465    method public void writeToParcel(@NonNull android.os.Parcel, int);
1466    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.Query> CREATOR;
1467    field public static final String EXTRA_IME_HEIGHT = "android.app.search.extra.IME_HEIGHT";
1468  }
1469
1470  public final class SearchAction implements android.os.Parcelable {
1471    method public int describeContents();
1472    method @Nullable public CharSequence getContentDescription();
1473    method @Nullable public android.os.Bundle getExtras();
1474    method @Nullable public android.graphics.drawable.Icon getIcon();
1475    method @NonNull public String getId();
1476    method @Nullable public android.content.Intent getIntent();
1477    method @Nullable public android.app.PendingIntent getPendingIntent();
1478    method @Nullable public CharSequence getSubtitle();
1479    method @NonNull public CharSequence getTitle();
1480    method @Nullable public android.os.UserHandle getUserHandle();
1481    method public void writeToParcel(@NonNull android.os.Parcel, int);
1482    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.SearchAction> CREATOR;
1483  }
1484
1485  public static final class SearchAction.Builder {
1486    ctor public SearchAction.Builder(@NonNull String, @NonNull String);
1487    method @NonNull public android.app.search.SearchAction build();
1488    method @NonNull public android.app.search.SearchAction.Builder setContentDescription(@Nullable CharSequence);
1489    method @NonNull public android.app.search.SearchAction.Builder setExtras(@Nullable android.os.Bundle);
1490    method @NonNull public android.app.search.SearchAction.Builder setIcon(@Nullable android.graphics.drawable.Icon);
1491    method @NonNull public android.app.search.SearchAction.Builder setIntent(@Nullable android.content.Intent);
1492    method @NonNull public android.app.search.SearchAction.Builder setPendingIntent(@Nullable android.app.PendingIntent);
1493    method @NonNull public android.app.search.SearchAction.Builder setSubtitle(@Nullable CharSequence);
1494    method @NonNull public android.app.search.SearchAction.Builder setUserHandle(@Nullable android.os.UserHandle);
1495  }
1496
1497  public final class SearchContext implements android.os.Parcelable {
1498    ctor public SearchContext(int, int);
1499    ctor public SearchContext(int, int, @NonNull android.os.Bundle);
1500    method public int describeContents();
1501    method @NonNull public android.os.Bundle getExtras();
1502    method @Nullable public String getPackageName();
1503    method @NonNull public int getResultTypes();
1504    method @NonNull public int getTimeoutMillis();
1505    method public void writeToParcel(@NonNull android.os.Parcel, int);
1506    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.SearchContext> CREATOR;
1507  }
1508
1509  public final class SearchSession implements java.lang.AutoCloseable {
1510    method public void close();
1511    method protected void finalize();
1512    method public void notifyEvent(@NonNull android.app.search.Query, @NonNull android.app.search.SearchTargetEvent);
1513    method @Nullable public void query(@NonNull android.app.search.Query, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.util.List<android.app.search.SearchTarget>>);
1514  }
1515
1516  public final class SearchSessionId implements android.os.Parcelable {
1517    method public int describeContents();
1518    method public void writeToParcel(@NonNull android.os.Parcel, int);
1519    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.SearchSessionId> CREATOR;
1520  }
1521
1522  public final class SearchTarget implements android.os.Parcelable {
1523    method public int describeContents();
1524    method @Nullable public android.appwidget.AppWidgetProviderInfo getAppWidgetProviderInfo();
1525    method @NonNull public android.os.Bundle getExtras();
1526    method @NonNull public String getId();
1527    method @NonNull public String getLayoutType();
1528    method @NonNull public String getPackageName();
1529    method @NonNull public String getParentId();
1530    method public int getResultType();
1531    method public float getScore();
1532    method @Nullable public android.app.search.SearchAction getSearchAction();
1533    method @Nullable public android.content.pm.ShortcutInfo getShortcutInfo();
1534    method @Nullable public android.net.Uri getSliceUri();
1535    method @NonNull public android.os.UserHandle getUserHandle();
1536    method public boolean isHidden();
1537    method public void writeToParcel(@NonNull android.os.Parcel, int);
1538    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.SearchTarget> CREATOR;
1539    field public static final String LAYOUT_TYPE_ICON = "icon";
1540    field public static final String LAYOUT_TYPE_ICON_ROW = "icon_row";
1541    field public static final String LAYOUT_TYPE_SHORT_ICON_ROW = "short_icon_row";
1542    field public static final int RESULT_TYPE_APPLICATION = 1; // 0x1
1543    field public static final int RESULT_TYPE_SHORTCUT = 2; // 0x2
1544    field public static final int RESULT_TYPE_SLICE = 4; // 0x4
1545    field public static final int RESULT_TYPE_WIDGETS = 8; // 0x8
1546  }
1547
1548  public static final class SearchTarget.Builder {
1549    ctor public SearchTarget.Builder(int, @NonNull String, @NonNull String);
1550    method @NonNull public android.app.search.SearchTarget build();
1551    method @NonNull public android.app.search.SearchTarget.Builder setAppWidgetProviderInfo(@NonNull android.appwidget.AppWidgetProviderInfo);
1552    method @NonNull public android.app.search.SearchTarget.Builder setExtras(@NonNull android.os.Bundle);
1553    method @NonNull public android.app.search.SearchTarget.Builder setHidden(boolean);
1554    method @NonNull public android.app.search.SearchTarget.Builder setPackageName(@NonNull String);
1555    method @NonNull public android.app.search.SearchTarget.Builder setParentId(@NonNull String);
1556    method @NonNull public android.app.search.SearchTarget.Builder setScore(@FloatRange(from=0.0f, to=1.0f) float);
1557    method @NonNull public android.app.search.SearchTarget.Builder setSearchAction(@Nullable android.app.search.SearchAction);
1558    method @NonNull public android.app.search.SearchTarget.Builder setShortcutInfo(@NonNull android.content.pm.ShortcutInfo);
1559    method @NonNull public android.app.search.SearchTarget.Builder setSliceUri(@NonNull android.net.Uri);
1560    method @NonNull public android.app.search.SearchTarget.Builder setUserHandle(@NonNull android.os.UserHandle);
1561  }
1562
1563  public final class SearchTargetEvent implements android.os.Parcelable {
1564    method public int describeContents();
1565    method public int getAction();
1566    method public int getFlags();
1567    method @Nullable public String getLaunchLocation();
1568    method @NonNull public String getTargetId();
1569    method @NonNull public java.util.List<java.lang.String> getTargetIds();
1570    method public void writeToParcel(@NonNull android.os.Parcel, int);
1571    field public static final int ACTION_DRAGNDROP = 7; // 0x7
1572    field public static final int ACTION_LAUNCH_KEYBOARD_FOCUS = 6; // 0x6
1573    field public static final int ACTION_LAUNCH_TOUCH = 5; // 0x5
1574    field public static final int ACTION_LONGPRESS = 4; // 0x4
1575    field public static final int ACTION_SURFACE_INVISIBLE = 8; // 0x8
1576    field public static final int ACTION_SURFACE_VISIBLE = 1; // 0x1
1577    field public static final int ACTION_TAP = 3; // 0x3
1578    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.SearchTargetEvent> CREATOR;
1579    field public static final int FLAG_IME_SHOWN = 1; // 0x1
1580  }
1581
1582  public static final class SearchTargetEvent.Builder {
1583    ctor public SearchTargetEvent.Builder(@NonNull String, int);
1584    ctor public SearchTargetEvent.Builder(@NonNull java.util.List<java.lang.String>, int);
1585    method @NonNull public android.app.search.SearchTargetEvent build();
1586    method @NonNull public android.app.search.SearchTargetEvent.Builder setFlags(int);
1587    method @NonNull public android.app.search.SearchTargetEvent.Builder setLaunchLocation(@Nullable String);
1588  }
1589
1590  public final class SearchUiManager {
1591    method @NonNull public android.app.search.SearchSession createSearchSession(@NonNull android.app.search.SearchContext);
1592  }
1593
1594}
1595
1596package android.app.smartspace {
1597
1598  public final class SmartspaceAction implements android.os.Parcelable {
1599    method public int describeContents();
1600    method @Nullable public CharSequence getContentDescription();
1601    method @Nullable public android.os.Bundle getExtras();
1602    method @Nullable public android.graphics.drawable.Icon getIcon();
1603    method @NonNull public String getId();
1604    method @Nullable public android.content.Intent getIntent();
1605    method @Nullable public android.app.PendingIntent getPendingIntent();
1606    method @Nullable public CharSequence getSubtitle();
1607    method @NonNull public CharSequence getTitle();
1608    method @Nullable public android.os.UserHandle getUserHandle();
1609    method public void writeToParcel(@NonNull android.os.Parcel, int);
1610    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.SmartspaceAction> CREATOR;
1611  }
1612
1613  public static final class SmartspaceAction.Builder {
1614    ctor public SmartspaceAction.Builder(@NonNull String, @NonNull String);
1615    method @NonNull public android.app.smartspace.SmartspaceAction build();
1616    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setContentDescription(@Nullable CharSequence);
1617    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setExtras(@Nullable android.os.Bundle);
1618    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setIcon(@Nullable android.graphics.drawable.Icon);
1619    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setIntent(@Nullable android.content.Intent);
1620    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setPendingIntent(@Nullable android.app.PendingIntent);
1621    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setSubtitle(@Nullable CharSequence);
1622    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setUserHandle(@Nullable android.os.UserHandle);
1623  }
1624
1625  public final class SmartspaceConfig implements android.os.Parcelable {
1626    method public int describeContents();
1627    method @Nullable public android.os.Bundle getExtras();
1628    method @NonNull public String getPackageName();
1629    method @NonNull public int getSmartspaceTargetCount();
1630    method @NonNull public String getUiSurface();
1631    method public void writeToParcel(@NonNull android.os.Parcel, int);
1632    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.SmartspaceConfig> CREATOR;
1633  }
1634
1635  public static final class SmartspaceConfig.Builder {
1636    ctor public SmartspaceConfig.Builder(@NonNull android.content.Context, @NonNull String);
1637    method @NonNull public android.app.smartspace.SmartspaceConfig build();
1638    method @NonNull public android.app.smartspace.SmartspaceConfig.Builder setExtras(@NonNull android.os.Bundle);
1639    method @NonNull public android.app.smartspace.SmartspaceConfig.Builder setSmartspaceTargetCount(@IntRange(from=0, to=50) int);
1640  }
1641
1642  public final class SmartspaceManager {
1643    method @NonNull public android.app.smartspace.SmartspaceSession createSmartspaceSession(@NonNull android.app.smartspace.SmartspaceConfig);
1644  }
1645
1646  public final class SmartspaceSession implements java.lang.AutoCloseable {
1647    method public void addOnTargetsAvailableListener(@NonNull java.util.concurrent.Executor, @NonNull android.app.smartspace.SmartspaceSession.OnTargetsAvailableListener);
1648    method public void close();
1649    method protected void finalize();
1650    method public void notifySmartspaceEvent(@NonNull android.app.smartspace.SmartspaceTargetEvent);
1651    method public void removeOnTargetsAvailableListener(@NonNull android.app.smartspace.SmartspaceSession.OnTargetsAvailableListener);
1652    method public void requestSmartspaceUpdate();
1653  }
1654
1655  public static interface SmartspaceSession.OnTargetsAvailableListener {
1656    method public void onTargetsAvailable(@NonNull java.util.List<android.app.smartspace.SmartspaceTarget>);
1657  }
1658
1659  public final class SmartspaceSessionId implements android.os.Parcelable {
1660    method public int describeContents();
1661    method @Nullable public String getId();
1662    method @NonNull public android.os.UserHandle getUserHandle();
1663    method public void writeToParcel(@NonNull android.os.Parcel, int);
1664    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.SmartspaceSessionId> CREATOR;
1665  }
1666
1667  public final class SmartspaceTarget implements android.os.Parcelable {
1668    method public int describeContents();
1669    method @NonNull public java.util.List<android.app.smartspace.SmartspaceAction> getActionChips();
1670    method @Nullable public String getAssociatedSmartspaceTargetId();
1671    method @Nullable public android.app.smartspace.SmartspaceAction getBaseAction();
1672    method @NonNull public android.content.ComponentName getComponentName();
1673    method public long getCreationTimeMillis();
1674    method public long getExpiryTimeMillis();
1675    method public int getFeatureType();
1676    method @Nullable public android.app.smartspace.SmartspaceAction getHeaderAction();
1677    method @NonNull public java.util.List<android.app.smartspace.SmartspaceAction> getIconGrid();
1678    method public float getScore();
1679    method @Nullable public android.net.Uri getSliceUri();
1680    method @NonNull public String getSmartspaceTargetId();
1681    method @Nullable public String getSourceNotificationKey();
1682    method @NonNull public android.os.UserHandle getUserHandle();
1683    method @Nullable public android.appwidget.AppWidgetProviderInfo getWidget();
1684    method public boolean isSensitive();
1685    method public boolean shouldShowExpanded();
1686    method public void writeToParcel(@NonNull android.os.Parcel, int);
1687    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.SmartspaceTarget> CREATOR;
1688    field public static final int FEATURE_ALARM = 7; // 0x7
1689    field public static final int FEATURE_BEDTIME_ROUTINE = 16; // 0x10
1690    field public static final int FEATURE_CALENDAR = 2; // 0x2
1691    field public static final int FEATURE_COMMUTE_TIME = 3; // 0x3
1692    field public static final int FEATURE_CONSENT = 11; // 0xb
1693    field public static final int FEATURE_ETA_MONITORING = 18; // 0x12
1694    field public static final int FEATURE_FITNESS_TRACKING = 17; // 0x11
1695    field public static final int FEATURE_FLIGHT = 4; // 0x4
1696    field public static final int FEATURE_LOYALTY_CARD = 14; // 0xe
1697    field public static final int FEATURE_MEDIA = 15; // 0xf
1698    field public static final int FEATURE_MISSED_CALL = 19; // 0x13
1699    field public static final int FEATURE_ONBOARDING = 8; // 0x8
1700    field public static final int FEATURE_PACKAGE_TRACKING = 20; // 0x14
1701    field public static final int FEATURE_REMINDER = 6; // 0x6
1702    field public static final int FEATURE_SHOPPING_LIST = 13; // 0xd
1703    field public static final int FEATURE_SPORTS = 9; // 0x9
1704    field public static final int FEATURE_STOCK_PRICE_CHANGE = 12; // 0xc
1705    field public static final int FEATURE_STOPWATCH = 22; // 0x16
1706    field public static final int FEATURE_TIMER = 21; // 0x15
1707    field public static final int FEATURE_TIPS = 5; // 0x5
1708    field public static final int FEATURE_UNDEFINED = 0; // 0x0
1709    field public static final int FEATURE_UPCOMING_ALARM = 23; // 0x17
1710    field public static final int FEATURE_WEATHER = 1; // 0x1
1711    field public static final int FEATURE_WEATHER_ALERT = 10; // 0xa
1712  }
1713
1714  public static final class SmartspaceTarget.Builder {
1715    ctor public SmartspaceTarget.Builder(@NonNull String, @NonNull android.content.ComponentName, @NonNull android.os.UserHandle);
1716    method @NonNull public android.app.smartspace.SmartspaceTarget build();
1717    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setActionChips(@NonNull java.util.List<android.app.smartspace.SmartspaceAction>);
1718    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setAssociatedSmartspaceTargetId(@NonNull String);
1719    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setBaseAction(@NonNull android.app.smartspace.SmartspaceAction);
1720    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setCreationTimeMillis(long);
1721    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setExpiryTimeMillis(long);
1722    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setFeatureType(int);
1723    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setHeaderAction(@NonNull android.app.smartspace.SmartspaceAction);
1724    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setIconGrid(@NonNull java.util.List<android.app.smartspace.SmartspaceAction>);
1725    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setScore(float);
1726    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setSensitive(boolean);
1727    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setShouldShowExpanded(boolean);
1728    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setSliceUri(@NonNull android.net.Uri);
1729    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setSourceNotificationKey(@NonNull String);
1730    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setWidget(@NonNull android.appwidget.AppWidgetProviderInfo);
1731  }
1732
1733  public final class SmartspaceTargetEvent implements android.os.Parcelable {
1734    method public int describeContents();
1735    method @NonNull public int getEventType();
1736    method @Nullable public String getSmartspaceActionId();
1737    method @Nullable public android.app.smartspace.SmartspaceTarget getSmartspaceTarget();
1738    method public void writeToParcel(@NonNull android.os.Parcel, int);
1739    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.SmartspaceTargetEvent> CREATOR;
1740    field public static final int EVENT_TARGET_BLOCK = 5; // 0x5
1741    field public static final int EVENT_TARGET_DISMISS = 4; // 0x4
1742    field public static final int EVENT_TARGET_HIDDEN = 3; // 0x3
1743    field public static final int EVENT_TARGET_INTERACTION = 1; // 0x1
1744    field public static final int EVENT_TARGET_SHOWN = 2; // 0x2
1745    field public static final int EVENT_UI_SURFACE_HIDDEN = 7; // 0x7
1746    field public static final int EVENT_UI_SURFACE_SHOWN = 6; // 0x6
1747  }
1748
1749  public static final class SmartspaceTargetEvent.Builder {
1750    ctor public SmartspaceTargetEvent.Builder(int);
1751    method @NonNull public android.app.smartspace.SmartspaceTargetEvent build();
1752    method @NonNull public android.app.smartspace.SmartspaceTargetEvent.Builder setSmartspaceActionId(@NonNull String);
1753    method @NonNull public android.app.smartspace.SmartspaceTargetEvent.Builder setSmartspaceTarget(@NonNull android.app.smartspace.SmartspaceTarget);
1754  }
1755
1756}
1757
1758package android.app.time {
1759
1760  public final class Capabilities {
1761    field public static final int CAPABILITY_NOT_ALLOWED = 20; // 0x14
1762    field public static final int CAPABILITY_NOT_APPLICABLE = 30; // 0x1e
1763    field public static final int CAPABILITY_NOT_SUPPORTED = 10; // 0xa
1764    field public static final int CAPABILITY_POSSESSED = 40; // 0x28
1765  }
1766
1767  public final class ExternalTimeSuggestion implements android.os.Parcelable {
1768    ctor public ExternalTimeSuggestion(long, long);
1769    method public void addDebugInfo(@NonNull java.lang.String...);
1770    method public int describeContents();
1771    method @NonNull public java.util.List<java.lang.String> getDebugInfo();
1772    method public void writeToParcel(@NonNull android.os.Parcel, int);
1773    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.ExternalTimeSuggestion> CREATOR;
1774  }
1775
1776  public final class TimeManager {
1777    method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public void addTimeZoneDetectorListener(@NonNull java.util.concurrent.Executor, @NonNull android.app.time.TimeManager.TimeZoneDetectorListener);
1778    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public android.app.time.TimeZoneCapabilitiesAndConfig getTimeZoneCapabilitiesAndConfig();
1779    method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public void removeTimeZoneDetectorListener(@NonNull android.app.time.TimeManager.TimeZoneDetectorListener);
1780    method @RequiresPermission(android.Manifest.permission.SUGGEST_EXTERNAL_TIME) public void suggestExternalTime(@NonNull android.app.time.ExternalTimeSuggestion);
1781    method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public boolean updateTimeZoneConfiguration(@NonNull android.app.time.TimeZoneConfiguration);
1782  }
1783
1784  @java.lang.FunctionalInterface public static interface TimeManager.TimeZoneDetectorListener {
1785    method public void onChange();
1786  }
1787
1788  public final class TimeZoneCapabilities implements android.os.Parcelable {
1789    method public int describeContents();
1790    method public int getConfigureAutoDetectionEnabledCapability();
1791    method public int getConfigureGeoDetectionEnabledCapability();
1792    method public void writeToParcel(@NonNull android.os.Parcel, int);
1793    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.TimeZoneCapabilities> CREATOR;
1794  }
1795
1796  public final class TimeZoneCapabilitiesAndConfig implements android.os.Parcelable {
1797    method public int describeContents();
1798    method @NonNull public android.app.time.TimeZoneCapabilities getCapabilities();
1799    method @NonNull public android.app.time.TimeZoneConfiguration getConfiguration();
1800    method public void writeToParcel(@NonNull android.os.Parcel, int);
1801    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.TimeZoneCapabilitiesAndConfig> CREATOR;
1802  }
1803
1804  public final class TimeZoneConfiguration implements android.os.Parcelable {
1805    method public int describeContents();
1806    method public boolean isAutoDetectionEnabled();
1807    method public boolean isGeoDetectionEnabled();
1808    method public void writeToParcel(@NonNull android.os.Parcel, int);
1809    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.TimeZoneConfiguration> CREATOR;
1810  }
1811
1812  public static final class TimeZoneConfiguration.Builder {
1813    ctor public TimeZoneConfiguration.Builder();
1814    ctor public TimeZoneConfiguration.Builder(@NonNull android.app.time.TimeZoneConfiguration);
1815    method @NonNull public android.app.time.TimeZoneConfiguration build();
1816    method @NonNull public android.app.time.TimeZoneConfiguration.Builder setAutoDetectionEnabled(boolean);
1817    method @NonNull public android.app.time.TimeZoneConfiguration.Builder setGeoDetectionEnabled(boolean);
1818  }
1819
1820}
1821
1822package android.app.usage {
1823
1824  public final class CacheQuotaHint implements android.os.Parcelable {
1825    ctor public CacheQuotaHint(@NonNull android.app.usage.CacheQuotaHint.Builder);
1826    method public int describeContents();
1827    method public long getQuota();
1828    method public int getUid();
1829    method @Nullable public android.app.usage.UsageStats getUsageStats();
1830    method @Nullable public String getVolumeUuid();
1831    method public void writeToParcel(@NonNull android.os.Parcel, int);
1832    field @NonNull public static final android.os.Parcelable.Creator<android.app.usage.CacheQuotaHint> CREATOR;
1833    field public static final long QUOTA_NOT_SET = -1L; // 0xffffffffffffffffL
1834  }
1835
1836  public static final class CacheQuotaHint.Builder {
1837    ctor public CacheQuotaHint.Builder();
1838    ctor public CacheQuotaHint.Builder(@NonNull android.app.usage.CacheQuotaHint);
1839    method @NonNull public android.app.usage.CacheQuotaHint build();
1840    method @NonNull public android.app.usage.CacheQuotaHint.Builder setQuota(long);
1841    method @NonNull public android.app.usage.CacheQuotaHint.Builder setUid(int);
1842    method @NonNull public android.app.usage.CacheQuotaHint.Builder setUsageStats(@Nullable android.app.usage.UsageStats);
1843    method @NonNull public android.app.usage.CacheQuotaHint.Builder setVolumeUuid(@Nullable String);
1844  }
1845
1846  public abstract class CacheQuotaService extends android.app.Service {
1847    ctor public CacheQuotaService();
1848    method public android.os.IBinder onBind(android.content.Intent);
1849    method public abstract java.util.List<android.app.usage.CacheQuotaHint> onComputeCacheQuotaHints(java.util.List<android.app.usage.CacheQuotaHint>);
1850    field public static final String SERVICE_INTERFACE = "android.app.usage.CacheQuotaService";
1851  }
1852
1853  public class NetworkStatsManager {
1854    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STATS_PROVIDER, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void registerNetworkStatsProvider(@NonNull String, @NonNull android.net.netstats.provider.NetworkStatsProvider);
1855    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STATS_PROVIDER, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void unregisterNetworkStatsProvider(@NonNull android.net.netstats.provider.NetworkStatsProvider);
1856  }
1857
1858  public static final class UsageEvents.Event {
1859    method public int getInstanceId();
1860    method @Nullable public String getNotificationChannelId();
1861    method @Nullable public String getTaskRootClassName();
1862    method @Nullable public String getTaskRootPackageName();
1863    method public boolean isInstantApp();
1864    field public static final int NOTIFICATION_INTERRUPTION = 12; // 0xc
1865    field public static final int NOTIFICATION_SEEN = 10; // 0xa
1866    field public static final int SLICE_PINNED = 14; // 0xe
1867    field public static final int SLICE_PINNED_PRIV = 13; // 0xd
1868    field public static final int SYSTEM_INTERACTION = 6; // 0x6
1869  }
1870
1871  public final class UsageStats implements android.os.Parcelable {
1872    method public int getAppLaunchCount();
1873    method public long getLastTimeAnyComponentUsed();
1874  }
1875
1876  public final class UsageStatsManager {
1877    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public int getAppStandbyBucket(String);
1878    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public java.util.Map<java.lang.String,java.lang.Integer> getAppStandbyBuckets();
1879    method @RequiresPermission(allOf={android.Manifest.permission.INTERACT_ACROSS_USERS, android.Manifest.permission.PACKAGE_USAGE_STATS}) public long getLastTimeAnyComponentUsed(@NonNull String);
1880    method public int getUsageSource();
1881    method @RequiresPermission(android.Manifest.permission.BIND_CARRIER_SERVICES) public void onCarrierPrivilegedAppsChanged();
1882    method @RequiresPermission(allOf={android.Manifest.permission.SUSPEND_APPS, android.Manifest.permission.OBSERVE_APP_USAGE}) public void registerAppUsageLimitObserver(int, @NonNull String[], @NonNull java.time.Duration, @NonNull java.time.Duration, @Nullable android.app.PendingIntent);
1883    method @RequiresPermission(android.Manifest.permission.OBSERVE_APP_USAGE) public void registerAppUsageObserver(int, @NonNull String[], long, @NonNull java.util.concurrent.TimeUnit, @NonNull android.app.PendingIntent);
1884    method @RequiresPermission(android.Manifest.permission.OBSERVE_APP_USAGE) public void registerUsageSessionObserver(int, @NonNull String[], @NonNull java.time.Duration, @NonNull java.time.Duration, @NonNull android.app.PendingIntent, @Nullable android.app.PendingIntent);
1885    method public void reportUsageStart(@NonNull android.app.Activity, @NonNull String);
1886    method public void reportUsageStart(@NonNull android.app.Activity, @NonNull String, long);
1887    method public void reportUsageStop(@NonNull android.app.Activity, @NonNull String);
1888    method @RequiresPermission(android.Manifest.permission.CHANGE_APP_IDLE_STATE) public void setAppStandbyBucket(String, int);
1889    method @RequiresPermission(android.Manifest.permission.CHANGE_APP_IDLE_STATE) public void setAppStandbyBuckets(java.util.Map<java.lang.String,java.lang.Integer>);
1890    method @RequiresPermission(allOf={android.Manifest.permission.SUSPEND_APPS, android.Manifest.permission.OBSERVE_APP_USAGE}) public void unregisterAppUsageLimitObserver(int);
1891    method @RequiresPermission(android.Manifest.permission.OBSERVE_APP_USAGE) public void unregisterAppUsageObserver(int);
1892    method @RequiresPermission(android.Manifest.permission.OBSERVE_APP_USAGE) public void unregisterUsageSessionObserver(int);
1893    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public void whitelistAppTemporarily(String, long, android.os.UserHandle);
1894    field public static final String EXTRA_OBSERVER_ID = "android.app.usage.extra.OBSERVER_ID";
1895    field public static final String EXTRA_TIME_LIMIT = "android.app.usage.extra.TIME_LIMIT";
1896    field public static final String EXTRA_TIME_USED = "android.app.usage.extra.TIME_USED";
1897    field public static final int STANDBY_BUCKET_EXEMPTED = 5; // 0x5
1898    field public static final int STANDBY_BUCKET_NEVER = 50; // 0x32
1899    field public static final int USAGE_SOURCE_CURRENT_ACTIVITY = 2; // 0x2
1900    field public static final int USAGE_SOURCE_TASK_ROOT_ACTIVITY = 1; // 0x1
1901  }
1902
1903}
1904
1905package android.apphibernation {
1906
1907  public class AppHibernationManager {
1908    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public java.util.List<java.lang.String> getHibernatingPackagesForUser();
1909    method @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public boolean isHibernatingForUser(@NonNull String);
1910    method @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public boolean isHibernatingGlobally(@NonNull String);
1911    method @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public void setHibernatingForUser(@NonNull String, boolean);
1912    method @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public void setHibernatingGlobally(@NonNull String, boolean);
1913  }
1914
1915}
1916
1917package android.bluetooth {
1918
1919  public final class BluetoothA2dp implements android.bluetooth.BluetoothProfile {
1920    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BufferConstraints getBufferConstraints();
1921    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
1922    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getDynamicBufferSupport();
1923    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setBufferLengthMillis(int, int);
1924    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
1925    field public static final int DYNAMIC_BUFFER_SUPPORT_A2DP_OFFLOAD = 1; // 0x1
1926    field public static final int DYNAMIC_BUFFER_SUPPORT_A2DP_SOFTWARE_ENCODING = 2; // 0x2
1927    field public static final int DYNAMIC_BUFFER_SUPPORT_NONE = 0; // 0x0
1928    field public static final int OPTIONAL_CODECS_NOT_SUPPORTED = 0; // 0x0
1929    field public static final int OPTIONAL_CODECS_PREF_DISABLED = 0; // 0x0
1930    field public static final int OPTIONAL_CODECS_PREF_ENABLED = 1; // 0x1
1931    field public static final int OPTIONAL_CODECS_PREF_UNKNOWN = -1; // 0xffffffff
1932    field public static final int OPTIONAL_CODECS_SUPPORTED = 1; // 0x1
1933    field public static final int OPTIONAL_CODECS_SUPPORT_UNKNOWN = -1; // 0xffffffff
1934  }
1935
1936  public final class BluetoothA2dpSink implements android.bluetooth.BluetoothProfile {
1937    method public void finalize();
1938    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
1939    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isAudioPlaying(@NonNull android.bluetooth.BluetoothDevice);
1940    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
1941    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.a2dp-sink.profile.action.CONNECTION_STATE_CHANGED";
1942  }
1943
1944  public final class BluetoothAdapter {
1945    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean addOnMetadataChangedListener(@NonNull android.bluetooth.BluetoothDevice, @NonNull java.util.concurrent.Executor, @NonNull android.bluetooth.BluetoothAdapter.OnMetadataChangedListener);
1946    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean disableBLE();
1947    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean enableBLE();
1948    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean enableNoAutoConnect();
1949    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void generateLocalOobData(int, @NonNull java.util.concurrent.Executor, @NonNull android.bluetooth.BluetoothAdapter.OobDataCallback);
1950    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public long getDiscoveryEndMillis();
1951    method public boolean isBleScanAlwaysAvailable();
1952    method public boolean isLeEnabled();
1953    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED, android.Manifest.permission.MODIFY_PHONE_STATE}) public boolean removeActiveDevice(int);
1954    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean removeOnMetadataChangedListener(@NonNull android.bluetooth.BluetoothDevice, @NonNull android.bluetooth.BluetoothAdapter.OnMetadataChangedListener);
1955    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED, android.Manifest.permission.MODIFY_PHONE_STATE}) public boolean setActiveDevice(@NonNull android.bluetooth.BluetoothDevice, int);
1956    field public static final String ACTION_BLE_STATE_CHANGED = "android.bluetooth.adapter.action.BLE_STATE_CHANGED";
1957    field public static final String ACTION_REQUEST_BLE_SCAN_ALWAYS_AVAILABLE = "android.bluetooth.adapter.action.REQUEST_BLE_SCAN_ALWAYS_AVAILABLE";
1958    field public static final int ACTIVE_DEVICE_ALL = 2; // 0x2
1959    field public static final int ACTIVE_DEVICE_AUDIO = 0; // 0x0
1960    field public static final int ACTIVE_DEVICE_PHONE_CALL = 1; // 0x1
1961  }
1962
1963  public static interface BluetoothAdapter.OnMetadataChangedListener {
1964    method public void onMetadataChanged(@NonNull android.bluetooth.BluetoothDevice, int, @Nullable byte[]);
1965  }
1966
1967  public static interface BluetoothAdapter.OobDataCallback {
1968    method public void onError(int);
1969    method public void onOobData(int, @NonNull android.bluetooth.OobData);
1970  }
1971
1972  public final class BluetoothDevice implements android.os.Parcelable {
1973    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean canBondWithoutDialog();
1974    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean cancelBondProcess();
1975    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean createBondOutOfBand(int, @Nullable android.bluetooth.OobData, @Nullable android.bluetooth.OobData);
1976    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public byte[] getMetadata(int);
1977    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getSimAccessPermission();
1978    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isConnected();
1979    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isEncrypted();
1980    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isInSilenceMode();
1981    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean removeBond();
1982    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setMessageAccessPermission(int);
1983    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setMetadata(int, @NonNull byte[]);
1984    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setPhonebookAccessPermission(int);
1985    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setSilenceMode(boolean);
1986    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setSimAccessPermission(int);
1987    field public static final int ACCESS_ALLOWED = 1; // 0x1
1988    field public static final int ACCESS_REJECTED = 2; // 0x2
1989    field public static final int ACCESS_UNKNOWN = 0; // 0x0
1990    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_SILENCE_MODE_CHANGED = "android.bluetooth.device.action.SILENCE_MODE_CHANGED";
1991    field public static final String DEVICE_TYPE_DEFAULT = "Default";
1992    field public static final String DEVICE_TYPE_UNTETHERED_HEADSET = "Untethered Headset";
1993    field public static final String DEVICE_TYPE_WATCH = "Watch";
1994    field public static final int METADATA_COMPANION_APP = 4; // 0x4
1995    field public static final int METADATA_DEVICE_TYPE = 17; // 0x11
1996    field public static final int METADATA_ENHANCED_SETTINGS_UI_URI = 16; // 0x10
1997    field public static final int METADATA_HARDWARE_VERSION = 3; // 0x3
1998    field public static final int METADATA_IS_UNTETHERED_HEADSET = 6; // 0x6
1999    field public static final int METADATA_MAIN_BATTERY = 18; // 0x12
2000    field public static final int METADATA_MAIN_CHARGING = 19; // 0x13
2001    field public static final int METADATA_MAIN_ICON = 5; // 0x5
2002    field public static final int METADATA_MAIN_LOW_BATTERY_THRESHOLD = 20; // 0x14
2003    field public static final int METADATA_MANUFACTURER_NAME = 0; // 0x0
2004    field public static final int METADATA_MAX_LENGTH = 2048; // 0x800
2005    field public static final int METADATA_MODEL_NAME = 1; // 0x1
2006    field public static final int METADATA_SOFTWARE_VERSION = 2; // 0x2
2007    field public static final int METADATA_UNTETHERED_CASE_BATTERY = 12; // 0xc
2008    field public static final int METADATA_UNTETHERED_CASE_CHARGING = 15; // 0xf
2009    field public static final int METADATA_UNTETHERED_CASE_ICON = 9; // 0x9
2010    field public static final int METADATA_UNTETHERED_CASE_LOW_BATTERY_THRESHOLD = 23; // 0x17
2011    field public static final int METADATA_UNTETHERED_LEFT_BATTERY = 10; // 0xa
2012    field public static final int METADATA_UNTETHERED_LEFT_CHARGING = 13; // 0xd
2013    field public static final int METADATA_UNTETHERED_LEFT_ICON = 7; // 0x7
2014    field public static final int METADATA_UNTETHERED_LEFT_LOW_BATTERY_THRESHOLD = 21; // 0x15
2015    field public static final int METADATA_UNTETHERED_RIGHT_BATTERY = 11; // 0xb
2016    field public static final int METADATA_UNTETHERED_RIGHT_CHARGING = 14; // 0xe
2017    field public static final int METADATA_UNTETHERED_RIGHT_ICON = 8; // 0x8
2018    field public static final int METADATA_UNTETHERED_RIGHT_LOW_BATTERY_THRESHOLD = 22; // 0x16
2019  }
2020
2021  public final class BluetoothHeadset implements android.bluetooth.BluetoothProfile {
2022    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.MODIFY_PHONE_STATE}) public boolean connect(android.bluetooth.BluetoothDevice);
2023    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean disconnect(android.bluetooth.BluetoothDevice);
2024    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
2025    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED, android.Manifest.permission.MODIFY_PHONE_STATE}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
2026  }
2027
2028  public final class BluetoothHearingAid implements android.bluetooth.BluetoothProfile {
2029    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
2030    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public long getHiSyncId(@NonNull android.bluetooth.BluetoothDevice);
2031    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
2032  }
2033
2034  public final class BluetoothHidDevice implements android.bluetooth.BluetoothProfile {
2035    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
2036  }
2037
2038  public final class BluetoothHidHost implements android.bluetooth.BluetoothProfile {
2039    method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
2040    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
2041    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
2042    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
2043    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.input.profile.action.CONNECTION_STATE_CHANGED";
2044  }
2045
2046  public final class BluetoothMap implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
2047    method public void close();
2048    method protected void finalize();
2049    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
2050    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
2051    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
2052    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.map.profile.action.CONNECTION_STATE_CHANGED";
2053  }
2054
2055  public final class BluetoothMapClient implements android.bluetooth.BluetoothProfile {
2056    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.SEND_SMS}) public boolean sendMessage(@NonNull android.bluetooth.BluetoothDevice, @NonNull java.util.Collection<android.net.Uri>, @NonNull String, @Nullable android.app.PendingIntent, @Nullable android.app.PendingIntent);
2057  }
2058
2059  public final class BluetoothPan implements android.bluetooth.BluetoothProfile {
2060    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
2061    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
2062    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isTetheringOn();
2063    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED, android.Manifest.permission.TETHER_PRIVILEGED}) public void setBluetoothTethering(boolean);
2064    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
2065    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.pan.profile.action.CONNECTION_STATE_CHANGED";
2066    field public static final String ACTION_TETHERING_STATE_CHANGED = "android.bluetooth.action.TETHERING_STATE_CHANGED";
2067    field public static final String EXTRA_LOCAL_ROLE = "android.bluetooth.pan.extra.LOCAL_ROLE";
2068    field public static final String EXTRA_TETHERING_STATE = "android.bluetooth.extra.TETHERING_STATE";
2069    field public static final int LOCAL_NAP_ROLE = 1; // 0x1
2070    field public static final int LOCAL_PANU_ROLE = 2; // 0x2
2071    field public static final int PAN_ROLE_NONE = 0; // 0x0
2072    field public static final int REMOTE_NAP_ROLE = 1; // 0x1
2073    field public static final int REMOTE_PANU_ROLE = 2; // 0x2
2074    field public static final int TETHERING_STATE_OFF = 1; // 0x1
2075    field public static final int TETHERING_STATE_ON = 2; // 0x2
2076  }
2077
2078  public class BluetoothPbap implements android.bluetooth.BluetoothProfile {
2079    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
2080    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
2081    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.pbap.profile.action.CONNECTION_STATE_CHANGED";
2082  }
2083
2084  public interface BluetoothProfile {
2085    field public static final int A2DP_SINK = 11; // 0xb
2086    field public static final int AVRCP_CONTROLLER = 12; // 0xc
2087    field public static final int CONNECTION_POLICY_ALLOWED = 100; // 0x64
2088    field public static final int CONNECTION_POLICY_FORBIDDEN = 0; // 0x0
2089    field public static final int CONNECTION_POLICY_UNKNOWN = -1; // 0xffffffff
2090    field public static final int HEADSET_CLIENT = 16; // 0x10
2091    field public static final int MAP_CLIENT = 18; // 0x12
2092    field public static final int PAN = 5; // 0x5
2093    field public static final int PBAP_CLIENT = 17; // 0x11
2094    field @Deprecated public static final int PRIORITY_OFF = 0; // 0x0
2095    field @Deprecated public static final int PRIORITY_ON = 100; // 0x64
2096  }
2097
2098  public final class BluetoothStatusCodes {
2099    field public static final int ERROR_ANOTHER_ACTIVE_OOB_REQUEST = 1000; // 0x3e8
2100  }
2101
2102  public final class BluetoothUuid {
2103    method public static boolean containsAnyUuid(@Nullable android.os.ParcelUuid[], @Nullable android.os.ParcelUuid[]);
2104    method @NonNull public static android.os.ParcelUuid parseUuidFrom(@Nullable byte[]);
2105    field @NonNull public static final android.os.ParcelUuid A2DP_SINK;
2106    field @NonNull public static final android.os.ParcelUuid A2DP_SOURCE;
2107    field @NonNull public static final android.os.ParcelUuid ADV_AUDIO_DIST;
2108    field @NonNull public static final android.os.ParcelUuid AVRCP_CONTROLLER;
2109    field @NonNull public static final android.os.ParcelUuid AVRCP_TARGET;
2110    field @NonNull public static final android.os.ParcelUuid BASE_UUID;
2111    field @NonNull public static final android.os.ParcelUuid BNEP;
2112    field @NonNull public static final android.os.ParcelUuid DIP;
2113    field @NonNull public static final android.os.ParcelUuid HEARING_AID;
2114    field @NonNull public static final android.os.ParcelUuid HFP;
2115    field @NonNull public static final android.os.ParcelUuid HFP_AG;
2116    field @NonNull public static final android.os.ParcelUuid HID;
2117    field @NonNull public static final android.os.ParcelUuid HOGP;
2118    field @NonNull public static final android.os.ParcelUuid HSP;
2119    field @NonNull public static final android.os.ParcelUuid HSP_AG;
2120    field @NonNull public static final android.os.ParcelUuid LE_AUDIO;
2121    field @NonNull public static final android.os.ParcelUuid MAP;
2122    field @NonNull public static final android.os.ParcelUuid MAS;
2123    field @NonNull public static final android.os.ParcelUuid MNS;
2124    field @NonNull public static final android.os.ParcelUuid NAP;
2125    field @NonNull public static final android.os.ParcelUuid OBEX_OBJECT_PUSH;
2126    field @NonNull public static final android.os.ParcelUuid PANU;
2127    field @NonNull public static final android.os.ParcelUuid PBAP_PCE;
2128    field @NonNull public static final android.os.ParcelUuid PBAP_PSE;
2129    field @NonNull public static final android.os.ParcelUuid SAP;
2130    field public static final int UUID_BYTES_128_BIT = 16; // 0x10
2131    field public static final int UUID_BYTES_16_BIT = 2; // 0x2
2132    field public static final int UUID_BYTES_32_BIT = 4; // 0x4
2133    field @NonNull public static final android.os.ParcelUuid VOLUME_CONTROL;
2134  }
2135
2136  public final class BufferConstraint implements android.os.Parcelable {
2137    ctor public BufferConstraint(int, int, int);
2138    method public int describeContents();
2139    method public int getDefaultMillis();
2140    method public int getMaxMillis();
2141    method public int getMinMillis();
2142    method public void writeToParcel(@NonNull android.os.Parcel, int);
2143    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BufferConstraint> CREATOR;
2144  }
2145
2146  public final class BufferConstraints implements android.os.Parcelable {
2147    ctor public BufferConstraints(@NonNull java.util.List<android.bluetooth.BufferConstraint>);
2148    method public int describeContents();
2149    method @Nullable public android.bluetooth.BufferConstraint forCodec(int);
2150    method public void writeToParcel(@NonNull android.os.Parcel, int);
2151    field public static final int BUFFER_CODEC_MAX_NUM = 32; // 0x20
2152    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BufferConstraints> CREATOR;
2153  }
2154
2155  public final class OobData implements android.os.Parcelable {
2156    method @NonNull public byte[] getClassOfDevice();
2157    method @NonNull public byte[] getClassicLength();
2158    method @NonNull public byte[] getConfirmationHash();
2159    method @NonNull public byte[] getDeviceAddressWithType();
2160    method @Nullable public byte[] getDeviceName();
2161    method @Nullable public byte[] getLeAppearance();
2162    method @NonNull public int getLeDeviceRole();
2163    method @NonNull public int getLeFlags();
2164    method @Nullable public byte[] getLeTemporaryKey();
2165    method @NonNull public byte[] getRandomizerHash();
2166    field public static final int CLASS_OF_DEVICE_OCTETS = 3; // 0x3
2167    field public static final int CONFIRMATION_OCTETS = 16; // 0x10
2168    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.OobData> CREATOR;
2169    field public static final int DEVICE_ADDRESS_OCTETS = 7; // 0x7
2170    field public static final int LE_APPEARANCE_OCTETS = 2; // 0x2
2171    field public static final int LE_DEVICE_FLAG_OCTETS = 1; // 0x1
2172    field public static final int LE_DEVICE_ROLE_BOTH_PREFER_CENTRAL = 3; // 0x3
2173    field public static final int LE_DEVICE_ROLE_BOTH_PREFER_PERIPHERAL = 2; // 0x2
2174    field public static final int LE_DEVICE_ROLE_CENTRAL_ONLY = 1; // 0x1
2175    field public static final int LE_DEVICE_ROLE_OCTETS = 1; // 0x1
2176    field public static final int LE_DEVICE_ROLE_PERIPHERAL_ONLY = 0; // 0x0
2177    field public static final int LE_FLAG_BREDR_NOT_SUPPORTED = 2; // 0x2
2178    field public static final int LE_FLAG_GENERAL_DISCOVERY_MODE = 1; // 0x1
2179    field public static final int LE_FLAG_LIMITED_DISCOVERY_MODE = 0; // 0x0
2180    field public static final int LE_FLAG_SIMULTANEOUS_CONTROLLER = 3; // 0x3
2181    field public static final int LE_FLAG_SIMULTANEOUS_HOST = 4; // 0x4
2182    field public static final int LE_TK_OCTETS = 16; // 0x10
2183    field public static final int OOB_LENGTH_OCTETS = 2; // 0x2
2184    field public static final int RANDOMIZER_OCTETS = 16; // 0x10
2185  }
2186
2187  public static final class OobData.ClassicBuilder {
2188    ctor public OobData.ClassicBuilder(@NonNull byte[], @NonNull byte[], @NonNull byte[]);
2189    method @NonNull public android.bluetooth.OobData build();
2190    method @NonNull public android.bluetooth.OobData.ClassicBuilder setClassOfDevice(@NonNull byte[]);
2191    method @NonNull public android.bluetooth.OobData.ClassicBuilder setDeviceName(@NonNull byte[]);
2192    method @NonNull public android.bluetooth.OobData.ClassicBuilder setRandomizerHash(@NonNull byte[]);
2193  }
2194
2195  public static final class OobData.LeBuilder {
2196    ctor public OobData.LeBuilder(@NonNull byte[], @NonNull byte[], int);
2197    method @NonNull public android.bluetooth.OobData build();
2198    method @NonNull public android.bluetooth.OobData.LeBuilder setDeviceName(@NonNull byte[]);
2199    method @NonNull public android.bluetooth.OobData.LeBuilder setLeFlags(int);
2200    method @NonNull public android.bluetooth.OobData.LeBuilder setLeTemporaryKey(@NonNull byte[]);
2201    method @NonNull public android.bluetooth.OobData.LeBuilder setRandomizerHash(@NonNull byte[]);
2202  }
2203
2204}
2205
2206package android.bluetooth.le {
2207
2208  public final class BluetoothLeScanner {
2209    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.UPDATE_DEVICE_STATS}) public void startScanFromSource(android.os.WorkSource, android.bluetooth.le.ScanCallback);
2210    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.UPDATE_DEVICE_STATS}) public void startScanFromSource(java.util.List<android.bluetooth.le.ScanFilter>, android.bluetooth.le.ScanSettings, android.os.WorkSource, android.bluetooth.le.ScanCallback);
2211    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public void startTruncatedScan(java.util.List<android.bluetooth.le.TruncatedFilter>, android.bluetooth.le.ScanSettings, android.bluetooth.le.ScanCallback);
2212  }
2213
2214  public final class ResultStorageDescriptor implements android.os.Parcelable {
2215    ctor public ResultStorageDescriptor(int, int, int);
2216    method public int describeContents();
2217    method public int getLength();
2218    method public int getOffset();
2219    method public int getType();
2220    method public void writeToParcel(android.os.Parcel, int);
2221    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.ResultStorageDescriptor> CREATOR;
2222  }
2223
2224  public final class ScanFilter implements android.os.Parcelable {
2225    method public int getAddressType();
2226    method @Nullable public byte[] getIrk();
2227  }
2228
2229  public static final class ScanFilter.Builder {
2230    method @NonNull public android.bluetooth.le.ScanFilter.Builder setDeviceAddress(@NonNull String, int);
2231    method @NonNull public android.bluetooth.le.ScanFilter.Builder setDeviceAddress(@NonNull String, int, @NonNull byte[]);
2232    field public static final int LEN_IRK_OCTETS = 16; // 0x10
2233  }
2234
2235  public final class ScanSettings implements android.os.Parcelable {
2236    field public static final int SCAN_MODE_AMBIENT_DISCOVERY = 3; // 0x3
2237    field public static final int SCAN_RESULT_TYPE_ABBREVIATED = 1; // 0x1
2238    field public static final int SCAN_RESULT_TYPE_FULL = 0; // 0x0
2239  }
2240
2241  public static final class ScanSettings.Builder {
2242    method public android.bluetooth.le.ScanSettings.Builder setScanResultType(int);
2243  }
2244
2245  public final class TruncatedFilter {
2246    ctor public TruncatedFilter(android.bluetooth.le.ScanFilter, java.util.List<android.bluetooth.le.ResultStorageDescriptor>);
2247    method public android.bluetooth.le.ScanFilter getFilter();
2248    method public java.util.List<android.bluetooth.le.ResultStorageDescriptor> getStorageDescriptors();
2249  }
2250
2251}
2252
2253package android.companion {
2254
2255  public final class CompanionDeviceManager {
2256    method @RequiresPermission(android.Manifest.permission.ASSOCIATE_COMPANION_DEVICES) public void associate(@NonNull String, @NonNull android.net.MacAddress, @NonNull byte[]);
2257    method @RequiresPermission("android.permission.MANAGE_COMPANION_DEVICES") public boolean canPairWithoutPrompt(@NonNull String, @NonNull String, @NonNull android.os.UserHandle);
2258    method @RequiresPermission("android.permission.MANAGE_COMPANION_DEVICES") public boolean isDeviceAssociatedForWifiConnection(@NonNull String, @NonNull android.net.MacAddress, @NonNull android.os.UserHandle);
2259  }
2260
2261}
2262
2263package android.content {
2264
2265  public class ApexEnvironment {
2266    method @NonNull public static android.content.ApexEnvironment getApexEnvironment(@NonNull String);
2267    method @NonNull public java.io.File getCredentialProtectedDataDirForUser(@NonNull android.os.UserHandle);
2268    method @NonNull public java.io.File getDeviceProtectedDataDir();
2269    method @NonNull public java.io.File getDeviceProtectedDataDirForUser(@NonNull android.os.UserHandle);
2270  }
2271
2272  public final class AttributionSource implements android.os.Parcelable {
2273    method @NonNull @RequiresPermission(android.Manifest.permission.RENOUNCE_PERMISSIONS) public java.util.Set<java.lang.String> getRenouncedPermissions();
2274  }
2275
2276  public static final class AttributionSource.Builder {
2277    method @NonNull @RequiresPermission(android.Manifest.permission.RENOUNCE_PERMISSIONS) public android.content.AttributionSource.Builder setRenouncedPermissions(@Nullable java.util.Set<java.lang.String>);
2278  }
2279
2280  public abstract class BroadcastReceiver {
2281    method @NonNull public final android.os.UserHandle getSendingUser();
2282  }
2283
2284  public class ClipboardManager extends android.text.ClipboardManager {
2285    method @RequiresPermission(android.Manifest.permission.SET_CLIP_SOURCE) public void setPrimaryClipAsPackage(@NonNull android.content.ClipData, @NonNull String);
2286  }
2287
2288  public abstract class ContentProvider implements android.content.ComponentCallbacks2 {
2289    method public int checkUriPermission(@NonNull android.net.Uri, int, int);
2290  }
2291
2292  public class ContentProviderClient implements java.lang.AutoCloseable {
2293    method @RequiresPermission(android.Manifest.permission.REMOVE_TASKS) public void setDetectNotResponding(long);
2294  }
2295
2296  public abstract class ContentResolver {
2297    method public int checkUriPermission(@NonNull android.net.Uri, int, int);
2298    method @NonNull public static android.net.Uri decodeFromFile(@NonNull java.io.File);
2299    method @NonNull public static java.io.File encodeToFile(@NonNull android.net.Uri);
2300    method @Nullable @RequiresPermission("android.permission.CACHE_CONTENT") public android.os.Bundle getCache(@NonNull android.net.Uri);
2301    method @RequiresPermission("android.permission.CACHE_CONTENT") public void putCache(@NonNull android.net.Uri, @Nullable android.os.Bundle);
2302  }
2303
2304  public abstract class Context {
2305    method @NonNull public android.content.Context createContextAsUser(@NonNull android.os.UserHandle, int);
2306    method public abstract android.content.Context createCredentialProtectedStorageContext();
2307    method @NonNull public android.content.Context createPackageContextAsUser(@NonNull String, int, @NonNull android.os.UserHandle) throws android.content.pm.PackageManager.NameNotFoundException;
2308    method @Nullable public abstract java.io.File getPreloadsFileCache();
2309    method public abstract boolean isCredentialProtectedStorage();
2310    method @Nullable @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public android.content.Intent registerReceiverForAllUsers(@Nullable android.content.BroadcastReceiver, @NonNull android.content.IntentFilter, @Nullable String, @Nullable android.os.Handler);
2311    method public abstract void sendBroadcast(android.content.Intent, @Nullable String, @Nullable android.os.Bundle);
2312    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public abstract void sendBroadcastAsUser(@RequiresPermission android.content.Intent, android.os.UserHandle, @Nullable String, @Nullable android.os.Bundle);
2313    method public abstract void sendOrderedBroadcast(@NonNull android.content.Intent, @Nullable String, @Nullable android.os.Bundle, @Nullable android.content.BroadcastReceiver, @Nullable android.os.Handler, int, @Nullable String, @Nullable android.os.Bundle);
2314    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public void startActivityAsUser(@NonNull @RequiresPermission android.content.Intent, @NonNull android.os.UserHandle);
2315    field public static final String APP_HIBERNATION_SERVICE = "app_hibernation";
2316    field public static final String APP_INTEGRITY_SERVICE = "app_integrity";
2317    field public static final String APP_PREDICTION_SERVICE = "app_prediction";
2318    field public static final String BACKUP_SERVICE = "backup";
2319    field public static final String BATTERY_STATS_SERVICE = "batterystats";
2320    field public static final int BIND_ALLOW_BACKGROUND_ACTIVITY_STARTS = 1048576; // 0x100000
2321    field public static final int BIND_ALLOW_FOREGROUND_SERVICE_STARTS_FROM_BACKGROUND = 262144; // 0x40000
2322    field public static final String CONTENT_SUGGESTIONS_SERVICE = "content_suggestions";
2323    field public static final String CONTEXTHUB_SERVICE = "contexthub";
2324    field public static final String ETHERNET_SERVICE = "ethernet";
2325    field public static final String EUICC_CARD_SERVICE = "euicc_card";
2326    field public static final String FONT_SERVICE = "font";
2327    field public static final String HDMI_CONTROL_SERVICE = "hdmi_control";
2328    field public static final String MEDIA_TRANSCODING_SERVICE = "media_transcoding";
2329    field public static final String MUSIC_RECOGNITION_SERVICE = "music_recognition";
2330    field public static final String NETD_SERVICE = "netd";
2331    field public static final String NETWORK_SCORE_SERVICE = "network_score";
2332    field public static final String OEM_LOCK_SERVICE = "oem_lock";
2333    field public static final String PERMISSION_CONTROLLER_SERVICE = "permission_controller";
2334    field public static final String PERMISSION_SERVICE = "permission";
2335    field public static final String PERSISTENT_DATA_BLOCK_SERVICE = "persistent_data_block";
2336    field public static final String REBOOT_READINESS_SERVICE = "reboot_readiness";
2337    field public static final String ROLLBACK_SERVICE = "rollback";
2338    field public static final String SEARCH_UI_SERVICE = "search_ui";
2339    field public static final String SECURE_ELEMENT_SERVICE = "secure_element";
2340    field public static final String SMARTSPACE_SERVICE = "smartspace";
2341    field public static final String STATS_MANAGER = "stats";
2342    field public static final String STATUS_BAR_SERVICE = "statusbar";
2343    field public static final String SYSTEM_CONFIG_SERVICE = "system_config";
2344    field public static final String SYSTEM_UPDATE_SERVICE = "system_update";
2345    field public static final String TETHERING_SERVICE = "tethering";
2346    field public static final String TRANSLATION_MANAGER_SERVICE = "translation";
2347    field public static final String UI_TRANSLATION_SERVICE = "ui_translation";
2348    field public static final String VR_SERVICE = "vrmanager";
2349    field public static final String WIFI_NL80211_SERVICE = "wifinl80211";
2350    field @Deprecated public static final String WIFI_RTT_SERVICE = "rttmanager";
2351    field public static final String WIFI_SCANNING_SERVICE = "wifiscanner";
2352  }
2353
2354  public final class ContextParams {
2355    method @NonNull @RequiresPermission(android.Manifest.permission.RENOUNCE_PERMISSIONS) public java.util.Set<java.lang.String> getRenouncedPermissions();
2356  }
2357
2358  public static final class ContextParams.Builder {
2359    method @NonNull @RequiresPermission(android.Manifest.permission.RENOUNCE_PERMISSIONS) public android.content.ContextParams.Builder setRenouncedPermissions(@Nullable java.util.Set<java.lang.String>);
2360  }
2361
2362  public class ContextWrapper extends android.content.Context {
2363    method public android.content.Context createCredentialProtectedStorageContext();
2364    method @Nullable public java.io.File getPreloadsFileCache();
2365    method public boolean isCredentialProtectedStorage();
2366    method public void sendBroadcast(android.content.Intent, @Nullable String, @Nullable android.os.Bundle);
2367    method public void sendBroadcastAsUser(android.content.Intent, android.os.UserHandle, @Nullable String, @Nullable android.os.Bundle);
2368    method public void sendOrderedBroadcast(android.content.Intent, @Nullable String, @Nullable android.os.Bundle, @Nullable android.content.BroadcastReceiver, @Nullable android.os.Handler, int, @Nullable String, @Nullable android.os.Bundle);
2369  }
2370
2371  public class Intent implements java.lang.Cloneable android.os.Parcelable {
2372    field public static final String ACTION_ACTIVITY_RECOGNIZER = "android.intent.action.ACTIVITY_RECOGNIZER";
2373    field public static final String ACTION_BATTERY_LEVEL_CHANGED = "android.intent.action.BATTERY_LEVEL_CHANGED";
2374    field public static final String ACTION_CALL_EMERGENCY = "android.intent.action.CALL_EMERGENCY";
2375    field public static final String ACTION_CALL_PRIVILEGED = "android.intent.action.CALL_PRIVILEGED";
2376    field public static final String ACTION_DEVICE_CUSTOMIZATION_READY = "android.intent.action.DEVICE_CUSTOMIZATION_READY";
2377    field public static final String ACTION_DIAL_EMERGENCY = "android.intent.action.DIAL_EMERGENCY";
2378    field public static final String ACTION_DOMAINS_NEED_VERIFICATION = "android.intent.action.DOMAINS_NEED_VERIFICATION";
2379    field public static final String ACTION_FACTORY_RESET = "android.intent.action.FACTORY_RESET";
2380    field public static final String ACTION_GLOBAL_BUTTON = "android.intent.action.GLOBAL_BUTTON";
2381    field public static final String ACTION_INCIDENT_REPORT_READY = "android.intent.action.INCIDENT_REPORT_READY";
2382    field public static final String ACTION_INSTALL_INSTANT_APP_PACKAGE = "android.intent.action.INSTALL_INSTANT_APP_PACKAGE";
2383    field public static final String ACTION_INSTANT_APP_RESOLVER_SETTINGS = "android.intent.action.INSTANT_APP_RESOLVER_SETTINGS";
2384    field @Deprecated public static final String ACTION_INTENT_FILTER_NEEDS_VERIFICATION = "android.intent.action.INTENT_FILTER_NEEDS_VERIFICATION";
2385    field public static final String ACTION_LOAD_DATA = "android.intent.action.LOAD_DATA";
2386    field @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public static final String ACTION_MANAGE_APP_PERMISSION = "android.intent.action.MANAGE_APP_PERMISSION";
2387    field public static final String ACTION_MANAGE_APP_PERMISSIONS = "android.intent.action.MANAGE_APP_PERMISSIONS";
2388    field @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public static final String ACTION_MANAGE_DEFAULT_APP = "android.intent.action.MANAGE_DEFAULT_APP";
2389    field public static final String ACTION_MANAGE_PERMISSIONS = "android.intent.action.MANAGE_PERMISSIONS";
2390    field public static final String ACTION_MANAGE_PERMISSION_APPS = "android.intent.action.MANAGE_PERMISSION_APPS";
2391    field @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public static final String ACTION_MANAGE_SPECIAL_APP_ACCESSES = "android.intent.action.MANAGE_SPECIAL_APP_ACCESSES";
2392    field public static final String ACTION_MASTER_CLEAR_NOTIFICATION = "android.intent.action.MASTER_CLEAR_NOTIFICATION";
2393    field public static final String ACTION_PACKAGE_NEEDS_INTEGRITY_VERIFICATION = "android.intent.action.PACKAGE_NEEDS_INTEGRITY_VERIFICATION";
2394    field public static final String ACTION_PACKAGE_UNSUSPENDED_MANUALLY = "android.intent.action.PACKAGE_UNSUSPENDED_MANUALLY";
2395    field public static final String ACTION_PENDING_INCIDENT_REPORTS_CHANGED = "android.intent.action.PENDING_INCIDENT_REPORTS_CHANGED";
2396    field public static final String ACTION_PRE_BOOT_COMPLETED = "android.intent.action.PRE_BOOT_COMPLETED";
2397    field public static final String ACTION_QUERY_PACKAGE_RESTART = "android.intent.action.QUERY_PACKAGE_RESTART";
2398    field public static final String ACTION_RESOLVE_INSTANT_APP_PACKAGE = "android.intent.action.RESOLVE_INSTANT_APP_PACKAGE";
2399    field @RequiresPermission(android.Manifest.permission.REVIEW_ACCESSIBILITY_SERVICES) public static final String ACTION_REVIEW_ACCESSIBILITY_SERVICES = "android.intent.action.REVIEW_ACCESSIBILITY_SERVICES";
2400    field @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public static final String ACTION_REVIEW_ONGOING_PERMISSION_USAGE = "android.intent.action.REVIEW_ONGOING_PERMISSION_USAGE";
2401    field public static final String ACTION_REVIEW_PERMISSIONS = "android.intent.action.REVIEW_PERMISSIONS";
2402    field @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public static final String ACTION_REVIEW_PERMISSION_HISTORY = "android.intent.action.REVIEW_PERMISSION_HISTORY";
2403    field @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public static final String ACTION_REVIEW_PERMISSION_USAGE = "android.intent.action.REVIEW_PERMISSION_USAGE";
2404    field public static final String ACTION_ROLLBACK_COMMITTED = "android.intent.action.ROLLBACK_COMMITTED";
2405    field public static final String ACTION_SHOW_SUSPENDED_APP_DETAILS = "android.intent.action.SHOW_SUSPENDED_APP_DETAILS";
2406    field @Deprecated public static final String ACTION_SIM_STATE_CHANGED = "android.intent.action.SIM_STATE_CHANGED";
2407    field public static final String ACTION_SPLIT_CONFIGURATION_CHANGED = "android.intent.action.SPLIT_CONFIGURATION_CHANGED";
2408    field public static final String ACTION_UPGRADE_SETUP = "android.intent.action.UPGRADE_SETUP";
2409    field public static final String ACTION_USER_ADDED = "android.intent.action.USER_ADDED";
2410    field public static final String ACTION_USER_REMOVED = "android.intent.action.USER_REMOVED";
2411    field public static final String ACTION_VOICE_ASSIST = "android.intent.action.VOICE_ASSIST";
2412    field public static final String CATEGORY_LEANBACK_SETTINGS = "android.intent.category.LEANBACK_SETTINGS";
2413    field public static final String EXTRA_CALLING_PACKAGE = "android.intent.extra.CALLING_PACKAGE";
2414    field public static final String EXTRA_FORCE_FACTORY_RESET = "android.intent.extra.FORCE_FACTORY_RESET";
2415    field public static final String EXTRA_INSTANT_APP_ACTION = "android.intent.extra.INSTANT_APP_ACTION";
2416    field public static final String EXTRA_INSTANT_APP_BUNDLES = "android.intent.extra.INSTANT_APP_BUNDLES";
2417    field public static final String EXTRA_INSTANT_APP_EXTRAS = "android.intent.extra.INSTANT_APP_EXTRAS";
2418    field public static final String EXTRA_INSTANT_APP_FAILURE = "android.intent.extra.INSTANT_APP_FAILURE";
2419    field public static final String EXTRA_INSTANT_APP_HOSTNAME = "android.intent.extra.INSTANT_APP_HOSTNAME";
2420    field public static final String EXTRA_INSTANT_APP_SUCCESS = "android.intent.extra.INSTANT_APP_SUCCESS";
2421    field public static final String EXTRA_INSTANT_APP_TOKEN = "android.intent.extra.INSTANT_APP_TOKEN";
2422    field public static final String EXTRA_LONG_VERSION_CODE = "android.intent.extra.LONG_VERSION_CODE";
2423    field public static final String EXTRA_ORIGINATING_UID = "android.intent.extra.ORIGINATING_UID";
2424    field public static final String EXTRA_PACKAGES = "android.intent.extra.PACKAGES";
2425    field public static final String EXTRA_PERMISSION_NAME = "android.intent.extra.PERMISSION_NAME";
2426    field public static final String EXTRA_REASON = "android.intent.extra.REASON";
2427    field public static final String EXTRA_REMOTE_CALLBACK = "android.intent.extra.REMOTE_CALLBACK";
2428    field public static final String EXTRA_RESULT_NEEDED = "android.intent.extra.RESULT_NEEDED";
2429    field public static final String EXTRA_ROLE_NAME = "android.intent.extra.ROLE_NAME";
2430    field public static final String EXTRA_UNKNOWN_INSTANT_APP = "android.intent.extra.UNKNOWN_INSTANT_APP";
2431    field public static final String EXTRA_VERIFICATION_BUNDLE = "android.intent.extra.VERIFICATION_BUNDLE";
2432    field public static final int FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT = 67108864; // 0x4000000
2433    field public static final String METADATA_SETUP_VERSION = "android.SETUP_VERSION";
2434  }
2435
2436  public class IntentFilter implements android.os.Parcelable {
2437    method public final int getOrder();
2438    method public final void setOrder(int);
2439  }
2440
2441}
2442
2443package android.content.integrity {
2444
2445  public class AppIntegrityManager {
2446    method @NonNull public String getCurrentRuleSetProvider();
2447    method @NonNull public String getCurrentRuleSetVersion();
2448    method public void updateRuleSet(@NonNull android.content.integrity.RuleSet, @NonNull android.content.IntentSender);
2449    field public static final String EXTRA_STATUS = "android.content.integrity.extra.STATUS";
2450    field public static final int STATUS_FAILURE = 1; // 0x1
2451    field public static final int STATUS_SUCCESS = 0; // 0x0
2452  }
2453
2454  public abstract class IntegrityFormula {
2455    method @NonNull public static android.content.integrity.IntegrityFormula all(@NonNull android.content.integrity.IntegrityFormula...);
2456    method @NonNull public static android.content.integrity.IntegrityFormula any(@NonNull android.content.integrity.IntegrityFormula...);
2457    method @NonNull public static android.content.integrity.IntegrityFormula not(@NonNull android.content.integrity.IntegrityFormula);
2458  }
2459
2460  public static final class IntegrityFormula.Application {
2461    method @NonNull public static android.content.integrity.IntegrityFormula certificatesContain(@NonNull String);
2462    method @NonNull public static android.content.integrity.IntegrityFormula isPreInstalled();
2463    method @NonNull public static android.content.integrity.IntegrityFormula packageNameEquals(@NonNull String);
2464    method @NonNull public static android.content.integrity.IntegrityFormula versionCodeEquals(@NonNull long);
2465    method @NonNull public static android.content.integrity.IntegrityFormula versionCodeGreaterThan(@NonNull long);
2466    method @NonNull public static android.content.integrity.IntegrityFormula versionCodeGreaterThanOrEqualTo(@NonNull long);
2467  }
2468
2469  public static final class IntegrityFormula.Installer {
2470    method @NonNull public static android.content.integrity.IntegrityFormula certificatesContain(@NonNull String);
2471    method @NonNull public static android.content.integrity.IntegrityFormula notAllowedByManifest();
2472    method @NonNull public static android.content.integrity.IntegrityFormula packageNameEquals(@NonNull String);
2473  }
2474
2475  public static final class IntegrityFormula.SourceStamp {
2476    method @NonNull public static android.content.integrity.IntegrityFormula notTrusted();
2477    method @NonNull public static android.content.integrity.IntegrityFormula stampCertificateHashEquals(@NonNull String);
2478  }
2479
2480  public final class Rule implements android.os.Parcelable {
2481    ctor public Rule(@NonNull android.content.integrity.IntegrityFormula, int);
2482    method public int describeContents();
2483    method public int getEffect();
2484    method @NonNull public android.content.integrity.IntegrityFormula getFormula();
2485    method public void writeToParcel(@NonNull android.os.Parcel, int);
2486    field @NonNull public static final android.os.Parcelable.Creator<android.content.integrity.Rule> CREATOR;
2487    field public static final int DENY = 0; // 0x0
2488    field public static final int FORCE_ALLOW = 1; // 0x1
2489  }
2490
2491  public class RuleSet {
2492    method @NonNull public java.util.List<android.content.integrity.Rule> getRules();
2493    method @NonNull public String getVersion();
2494  }
2495
2496  public static class RuleSet.Builder {
2497    ctor public RuleSet.Builder();
2498    method @NonNull public android.content.integrity.RuleSet.Builder addRules(@NonNull java.util.List<android.content.integrity.Rule>);
2499    method @NonNull public android.content.integrity.RuleSet build();
2500    method @NonNull public android.content.integrity.RuleSet.Builder setVersion(@NonNull String);
2501  }
2502
2503}
2504
2505package android.content.om {
2506
2507  public final class OverlayInfo implements android.os.Parcelable {
2508    method public int describeContents();
2509    method @Nullable public String getCategory();
2510    method @NonNull public String getPackageName();
2511    method @Nullable public String getTargetOverlayableName();
2512    method @NonNull public String getTargetPackageName();
2513    method public int getUserId();
2514    method public boolean isEnabled();
2515    method public void writeToParcel(android.os.Parcel, int);
2516    field @NonNull public static final android.os.Parcelable.Creator<android.content.om.OverlayInfo> CREATOR;
2517  }
2518
2519  public class OverlayManager {
2520    method @Nullable public android.content.om.OverlayInfo getOverlayInfo(@NonNull String, @NonNull android.os.UserHandle);
2521    method @NonNull @RequiresPermission(anyOf={"android.permission.INTERACT_ACROSS_USERS", "android.permission.INTERACT_ACROSS_USERS_FULL"}) public java.util.List<android.content.om.OverlayInfo> getOverlayInfosForTarget(@NonNull String, @NonNull android.os.UserHandle);
2522    method @RequiresPermission(anyOf={"android.permission.INTERACT_ACROSS_USERS", "android.permission.INTERACT_ACROSS_USERS_FULL"}) public void setEnabled(@NonNull String, boolean, @NonNull android.os.UserHandle) throws java.lang.IllegalStateException, java.lang.SecurityException;
2523    method @RequiresPermission(anyOf={"android.permission.INTERACT_ACROSS_USERS", "android.permission.INTERACT_ACROSS_USERS_FULL"}) public void setEnabledExclusiveInCategory(@NonNull String, @NonNull android.os.UserHandle) throws java.lang.IllegalStateException, java.lang.SecurityException;
2524  }
2525
2526}
2527
2528package android.content.pm {
2529
2530  public class ApplicationInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
2531    method public boolean isEncryptionAware();
2532    method public boolean isInstantApp();
2533    method public boolean isOem();
2534    method public boolean isProduct();
2535    method public boolean isVendor();
2536    field public String credentialProtectedDataDir;
2537    field public int targetSandboxVersion;
2538  }
2539
2540  public class CrossProfileApps {
2541    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_PROFILES) public void startActivity(@NonNull android.content.ComponentName, @NonNull android.os.UserHandle);
2542  }
2543
2544  public class DataLoaderParams {
2545    method @NonNull public static final android.content.pm.DataLoaderParams forIncremental(@NonNull android.content.ComponentName, @NonNull String);
2546    method @NonNull public static final android.content.pm.DataLoaderParams forStreaming(@NonNull android.content.ComponentName, @NonNull String);
2547    method @NonNull public final String getArguments();
2548    method @NonNull public final android.content.ComponentName getComponentName();
2549    method @NonNull public final int getType();
2550  }
2551
2552  public final class InstallationFile {
2553    method public long getLengthBytes();
2554    method public int getLocation();
2555    method @Nullable public byte[] getMetadata();
2556    method @NonNull public String getName();
2557    method @Nullable public byte[] getSignature();
2558  }
2559
2560  public final class InstantAppInfo implements android.os.Parcelable {
2561    ctor public InstantAppInfo(android.content.pm.ApplicationInfo, String[], String[]);
2562    ctor public InstantAppInfo(String, CharSequence, String[], String[]);
2563    method public int describeContents();
2564    method @Nullable public android.content.pm.ApplicationInfo getApplicationInfo();
2565    method @Nullable public String[] getGrantedPermissions();
2566    method @NonNull public String getPackageName();
2567    method @Nullable public String[] getRequestedPermissions();
2568    method @NonNull public android.graphics.drawable.Drawable loadIcon(@NonNull android.content.pm.PackageManager);
2569    method @NonNull public CharSequence loadLabel(@NonNull android.content.pm.PackageManager);
2570    method public void writeToParcel(android.os.Parcel, int);
2571    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppInfo> CREATOR;
2572  }
2573
2574  public final class InstantAppIntentFilter implements android.os.Parcelable {
2575    ctor public InstantAppIntentFilter(@Nullable String, @NonNull java.util.List<android.content.IntentFilter>);
2576    method public int describeContents();
2577    method public java.util.List<android.content.IntentFilter> getFilters();
2578    method public String getSplitName();
2579    method public void writeToParcel(android.os.Parcel, int);
2580    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppIntentFilter> CREATOR;
2581  }
2582
2583  public final class InstantAppRequestInfo implements android.os.Parcelable {
2584    ctor public InstantAppRequestInfo(@NonNull android.content.Intent, @Nullable int[], @NonNull android.os.UserHandle, boolean, @NonNull String);
2585    method public int describeContents();
2586    method @Nullable public int[] getHostDigestPrefix();
2587    method @NonNull public android.content.Intent getIntent();
2588    method @NonNull public String getToken();
2589    method @NonNull public android.os.UserHandle getUserHandle();
2590    method public boolean isRequesterInstantApp();
2591    method public void writeToParcel(@NonNull android.os.Parcel, int);
2592    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppRequestInfo> CREATOR;
2593  }
2594
2595  public final class InstantAppResolveInfo implements android.os.Parcelable {
2596    ctor public InstantAppResolveInfo(@NonNull android.content.pm.InstantAppResolveInfo.InstantAppDigest, @Nullable String, @Nullable java.util.List<android.content.pm.InstantAppIntentFilter>, int);
2597    ctor public InstantAppResolveInfo(@NonNull android.content.pm.InstantAppResolveInfo.InstantAppDigest, @Nullable String, @Nullable java.util.List<android.content.pm.InstantAppIntentFilter>, long, @Nullable android.os.Bundle);
2598    ctor public InstantAppResolveInfo(@NonNull String, @Nullable String, @Nullable java.util.List<android.content.pm.InstantAppIntentFilter>);
2599    ctor public InstantAppResolveInfo(@Nullable android.os.Bundle);
2600    method public int describeContents();
2601    method public byte[] getDigestBytes();
2602    method public int getDigestPrefix();
2603    method @Nullable public android.os.Bundle getExtras();
2604    method public java.util.List<android.content.pm.InstantAppIntentFilter> getIntentFilters();
2605    method public long getLongVersionCode();
2606    method public String getPackageName();
2607    method @Deprecated public int getVersionCode();
2608    method public boolean shouldLetInstallerDecide();
2609    method public void writeToParcel(android.os.Parcel, int);
2610    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppResolveInfo> CREATOR;
2611  }
2612
2613  public static final class InstantAppResolveInfo.InstantAppDigest implements android.os.Parcelable {
2614    ctor public InstantAppResolveInfo.InstantAppDigest(@NonNull String);
2615    method public int describeContents();
2616    method public byte[][] getDigestBytes();
2617    method public int[] getDigestPrefix();
2618    method public void writeToParcel(android.os.Parcel, int);
2619    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppResolveInfo.InstantAppDigest> CREATOR;
2620    field public static final android.content.pm.InstantAppResolveInfo.InstantAppDigest UNDEFINED;
2621  }
2622
2623  public final class IntentFilterVerificationInfo implements android.os.Parcelable {
2624    method public int describeContents();
2625    method public java.util.Set<java.lang.String> getDomains();
2626    method public String getPackageName();
2627    method public int getStatus();
2628    method public void writeToParcel(android.os.Parcel, int);
2629    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.IntentFilterVerificationInfo> CREATOR;
2630  }
2631
2632  public class LauncherApps {
2633    method @Nullable public android.content.pm.LauncherApps.AppUsageLimit getAppUsageLimit(@NonNull String, @NonNull android.os.UserHandle);
2634  }
2635
2636  public static final class LauncherApps.AppUsageLimit implements android.os.Parcelable {
2637    method public int describeContents();
2638    method public long getTotalUsageLimit();
2639    method public long getUsageRemaining();
2640    method public void writeToParcel(android.os.Parcel, int);
2641    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.LauncherApps.AppUsageLimit> CREATOR;
2642  }
2643
2644  public static class LauncherApps.ShortcutQuery {
2645    field @RequiresPermission(android.Manifest.permission.ACCESS_SHORTCUTS) public static final int FLAG_GET_PERSONS_DATA = 2048; // 0x800
2646  }
2647
2648  public class PackageInstaller {
2649    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void setPermissionsResult(int, boolean);
2650    field public static final int DATA_LOADER_TYPE_INCREMENTAL = 2; // 0x2
2651    field public static final int DATA_LOADER_TYPE_NONE = 0; // 0x0
2652    field public static final int DATA_LOADER_TYPE_STREAMING = 1; // 0x1
2653    field public static final String EXTRA_DATA_LOADER_TYPE = "android.content.pm.extra.DATA_LOADER_TYPE";
2654    field public static final int LOCATION_DATA_APP = 0; // 0x0
2655    field public static final int LOCATION_MEDIA_DATA = 2; // 0x2
2656    field public static final int LOCATION_MEDIA_OBB = 1; // 0x1
2657  }
2658
2659  public static class PackageInstaller.Session implements java.io.Closeable {
2660    method @RequiresPermission("com.android.permission.USE_INSTALLER_V2") public void addFile(int, @NonNull String, long, @NonNull byte[], @Nullable byte[]);
2661    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void commitTransferred(@NonNull android.content.IntentSender);
2662    method @Nullable @RequiresPermission("com.android.permission.USE_INSTALLER_V2") public android.content.pm.DataLoaderParams getDataLoaderParams();
2663    method @RequiresPermission("com.android.permission.USE_INSTALLER_V2") public void removeFile(int, @NonNull String);
2664  }
2665
2666  public static class PackageInstaller.SessionInfo implements android.os.Parcelable {
2667    method public boolean getAllocateAggressive();
2668    method @Deprecated public boolean getAllowDowngrade();
2669    method public int getAutoRevokePermissionsMode();
2670    method public boolean getDontKillApp();
2671    method public boolean getEnableRollback();
2672    method @Nullable public String[] getGrantedRuntimePermissions();
2673    method public boolean getInstallAsFullApp(boolean);
2674    method public boolean getInstallAsInstantApp(boolean);
2675    method public boolean getInstallAsVirtualPreload();
2676    method public boolean getRequestDowngrade();
2677    method public int getRollbackDataPolicy();
2678    method @NonNull public java.util.Set<java.lang.String> getWhitelistedRestrictedPermissions();
2679  }
2680
2681  public static class PackageInstaller.SessionParams implements android.os.Parcelable {
2682    method @RequiresPermission(android.Manifest.permission.ALLOCATE_AGGRESSIVE) public void setAllocateAggressive(boolean);
2683    method @Deprecated public void setAllowDowngrade(boolean);
2684    method @RequiresPermission(allOf={android.Manifest.permission.INSTALL_PACKAGES, "com.android.permission.USE_INSTALLER_V2"}) public void setDataLoaderParams(@NonNull android.content.pm.DataLoaderParams);
2685    method public void setDontKillApp(boolean);
2686    method public void setEnableRollback(boolean);
2687    method public void setEnableRollback(boolean, int);
2688    method @RequiresPermission(android.Manifest.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS) public void setGrantedRuntimePermissions(String[]);
2689    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void setInstallAsApex();
2690    method public void setInstallAsInstantApp(boolean);
2691    method public void setInstallAsVirtualPreload();
2692    method public void setRequestDowngrade(boolean);
2693    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void setStaged();
2694  }
2695
2696  public class PackageItemInfo {
2697    method public static void forceSafeLabels();
2698    method @Deprecated @NonNull public CharSequence loadSafeLabel(@NonNull android.content.pm.PackageManager);
2699    method @NonNull public CharSequence loadSafeLabel(@NonNull android.content.pm.PackageManager, @FloatRange(from=0) float, int);
2700  }
2701
2702  public abstract class PackageManager {
2703    method @RequiresPermission("android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS") public abstract void addOnPermissionsChangeListener(@NonNull android.content.pm.PackageManager.OnPermissionsChangedListener);
2704    method public abstract boolean arePermissionsIndividuallyControlled();
2705    method @NonNull public abstract java.util.List<android.content.IntentFilter> getAllIntentFilters(@NonNull String);
2706    method @NonNull @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public android.content.pm.ApplicationInfo getApplicationInfoAsUser(@NonNull String, int, @NonNull android.os.UserHandle) throws android.content.pm.PackageManager.NameNotFoundException;
2707    method @NonNull public android.content.pm.dex.ArtManager getArtManager();
2708    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_SHARED_LIBRARIES) public java.util.List<android.content.pm.SharedLibraryInfo> getDeclaredSharedLibraries(@NonNull String, int);
2709    method @Nullable @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public abstract String getDefaultBrowserPackageNameAsUser(int);
2710    method @Nullable @RequiresPermission(android.Manifest.permission.SET_HARMFUL_APP_WARNINGS) public CharSequence getHarmfulAppWarning(@NonNull String);
2711    method @Nullable public String getIncidentReportApproverPackageName();
2712    method @NonNull @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public abstract java.util.List<android.content.pm.PackageInfo> getInstalledPackagesAsUser(int, int);
2713    method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_INSTANT_APPS) public abstract android.graphics.drawable.Drawable getInstantAppIcon(String);
2714    method @Nullable public abstract android.content.ComponentName getInstantAppInstallerComponent();
2715    method @Nullable public abstract android.content.ComponentName getInstantAppResolverSettingsComponent();
2716    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_INSTANT_APPS) public abstract java.util.List<android.content.pm.InstantAppInfo> getInstantApps();
2717    method @Deprecated @NonNull public abstract java.util.List<android.content.pm.IntentFilterVerificationInfo> getIntentFilterVerifications(@NonNull String);
2718    method @Deprecated @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public abstract int getIntentVerificationStatusAsUser(@NonNull String, int);
2719    method @android.content.pm.PackageManager.PermissionFlags @RequiresPermission(anyOf={android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS, android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS, android.Manifest.permission.GET_RUNTIME_PERMISSIONS}) public abstract int getPermissionFlags(@NonNull String, @NonNull String, @NonNull android.os.UserHandle);
2720    method @NonNull @RequiresPermission(android.Manifest.permission.SUSPEND_APPS) public String[] getUnsuspendablePackages(@NonNull String[]);
2721    method @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public abstract void grantRuntimePermission(@NonNull String, @NonNull String, @NonNull android.os.UserHandle);
2722    method @Deprecated public abstract int installExistingPackage(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
2723    method @Deprecated public abstract int installExistingPackage(@NonNull String, int) throws android.content.pm.PackageManager.NameNotFoundException;
2724    method @NonNull @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public java.util.List<android.content.pm.ResolveInfo> queryBroadcastReceiversAsUser(@NonNull android.content.Intent, int, android.os.UserHandle);
2725    method @NonNull @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public java.util.List<android.content.pm.ResolveInfo> queryIntentActivitiesAsUser(@NonNull android.content.Intent, int, @NonNull android.os.UserHandle);
2726    method @NonNull @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public java.util.List<android.content.pm.ResolveInfo> queryIntentContentProvidersAsUser(@NonNull android.content.Intent, int, @NonNull android.os.UserHandle);
2727    method @NonNull @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public java.util.List<android.content.pm.ResolveInfo> queryIntentServicesAsUser(@NonNull android.content.Intent, int, @NonNull android.os.UserHandle);
2728    method public abstract void registerDexModule(@NonNull String, @Nullable android.content.pm.PackageManager.DexModuleRegisterCallback);
2729    method @RequiresPermission("android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS") public abstract void removeOnPermissionsChangeListener(@NonNull android.content.pm.PackageManager.OnPermissionsChangedListener);
2730    method public void replacePreferredActivity(@NonNull android.content.IntentFilter, int, @NonNull java.util.List<android.content.ComponentName>, @NonNull android.content.ComponentName);
2731    method @RequiresPermission(android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS) public abstract void revokeRuntimePermission(@NonNull String, @NonNull String, @NonNull android.os.UserHandle);
2732    method @RequiresPermission(android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS) public void revokeRuntimePermission(@NonNull String, @NonNull String, @NonNull android.os.UserHandle, @NonNull String);
2733    method public void sendDeviceCustomizationReadyBroadcast();
2734    method @RequiresPermission(allOf={android.Manifest.permission.SET_PREFERRED_APPLICATIONS, android.Manifest.permission.INTERACT_ACROSS_USERS_FULL}) public abstract boolean setDefaultBrowserPackageNameAsUser(@Nullable String, int);
2735    method @NonNull @RequiresPermission(android.Manifest.permission.SUSPEND_APPS) public String[] setDistractingPackageRestrictions(@NonNull String[], int);
2736    method @RequiresPermission(android.Manifest.permission.SET_HARMFUL_APP_WARNINGS) public void setHarmfulAppWarning(@NonNull String, @Nullable CharSequence);
2737    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.SUSPEND_APPS) public String[] setPackagesSuspended(@Nullable String[], boolean, @Nullable android.os.PersistableBundle, @Nullable android.os.PersistableBundle, @Nullable String);
2738    method @Nullable @RequiresPermission(android.Manifest.permission.SUSPEND_APPS) public String[] setPackagesSuspended(@Nullable String[], boolean, @Nullable android.os.PersistableBundle, @Nullable android.os.PersistableBundle, @Nullable android.content.pm.SuspendDialogInfo);
2739    method @RequiresPermission(value=android.Manifest.permission.CHANGE_COMPONENT_ENABLED_STATE, conditional=true) public void setSyntheticAppDetailsActivityEnabled(@NonNull String, boolean);
2740    method public void setSystemAppState(@NonNull String, int);
2741    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public abstract void setUpdateAvailable(@NonNull String, boolean);
2742    method @Deprecated @RequiresPermission(android.Manifest.permission.SET_PREFERRED_APPLICATIONS) public abstract boolean updateIntentVerificationStatusAsUser(@NonNull String, int, int);
2743    method @RequiresPermission(anyOf={android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS, android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS}) public abstract void updatePermissionFlags(@NonNull String, @NonNull String, @android.content.pm.PackageManager.PermissionFlags int, @android.content.pm.PackageManager.PermissionFlags int, @NonNull android.os.UserHandle);
2744    method @Deprecated @RequiresPermission(android.Manifest.permission.INTENT_FILTER_VERIFICATION_AGENT) public abstract void verifyIntentFilter(int, int, @NonNull java.util.List<java.lang.String>);
2745    field public static final String ACTION_REQUEST_PERMISSIONS = "android.content.pm.action.REQUEST_PERMISSIONS";
2746    field public static final String EXTRA_REQUEST_PERMISSIONS_NAMES = "android.content.pm.extra.REQUEST_PERMISSIONS_NAMES";
2747    field public static final String EXTRA_REQUEST_PERMISSIONS_RESULTS = "android.content.pm.extra.REQUEST_PERMISSIONS_RESULTS";
2748    field public static final String FEATURE_BROADCAST_RADIO = "android.hardware.broadcastradio";
2749    field public static final String FEATURE_CONTEXT_HUB = "android.hardware.context_hub";
2750    field public static final String FEATURE_INCREMENTAL_DELIVERY = "android.software.incremental_delivery";
2751    field public static final String FEATURE_REBOOT_ESCROW = "android.hardware.reboot_escrow";
2752    field public static final String FEATURE_TELEPHONY_CARRIERLOCK = "android.hardware.telephony.carrierlock";
2753    field public static final String FEATURE_TELEPHONY_IMS_SINGLE_REGISTRATION = "android.hardware.telephony.ims.singlereg";
2754    field public static final int FLAGS_PERMISSION_RESERVED_PERMISSION_CONTROLLER = -268435456; // 0xf0000000
2755    field public static final int FLAG_PERMISSION_APPLY_RESTRICTION = 16384; // 0x4000
2756    field public static final int FLAG_PERMISSION_AUTO_REVOKED = 131072; // 0x20000
2757    field public static final int FLAG_PERMISSION_GRANTED_BY_DEFAULT = 32; // 0x20
2758    field public static final int FLAG_PERMISSION_GRANTED_BY_ROLE = 32768; // 0x8000
2759    field public static final int FLAG_PERMISSION_ONE_TIME = 65536; // 0x10000
2760    field public static final int FLAG_PERMISSION_POLICY_FIXED = 4; // 0x4
2761    field public static final int FLAG_PERMISSION_RESTRICTION_INSTALLER_EXEMPT = 2048; // 0x800
2762    field public static final int FLAG_PERMISSION_RESTRICTION_SYSTEM_EXEMPT = 4096; // 0x1000
2763    field public static final int FLAG_PERMISSION_RESTRICTION_UPGRADE_EXEMPT = 8192; // 0x2000
2764    field public static final int FLAG_PERMISSION_REVIEW_REQUIRED = 64; // 0x40
2765    field public static final int FLAG_PERMISSION_REVOKED_COMPAT = 8; // 0x8
2766    field @Deprecated public static final int FLAG_PERMISSION_REVOKE_ON_UPGRADE = 8; // 0x8
2767    field public static final int FLAG_PERMISSION_REVOKE_WHEN_REQUESTED = 128; // 0x80
2768    field public static final int FLAG_PERMISSION_SELECTED_LOCATION_ACCURACY = 524288; // 0x80000
2769    field public static final int FLAG_PERMISSION_SYSTEM_FIXED = 16; // 0x10
2770    field public static final int FLAG_PERMISSION_USER_FIXED = 2; // 0x2
2771    field public static final int FLAG_PERMISSION_USER_SENSITIVE_WHEN_DENIED = 512; // 0x200
2772    field public static final int FLAG_PERMISSION_USER_SENSITIVE_WHEN_GRANTED = 256; // 0x100
2773    field public static final int FLAG_PERMISSION_USER_SET = 1; // 0x1
2774    field public static final int INSTALL_FAILED_ALREADY_EXISTS = -1; // 0xffffffff
2775    field public static final int INSTALL_FAILED_CONFLICTING_PROVIDER = -13; // 0xfffffff3
2776    field public static final int INSTALL_FAILED_CONTAINER_ERROR = -18; // 0xffffffee
2777    field public static final int INSTALL_FAILED_CPU_ABI_INCOMPATIBLE = -16; // 0xfffffff0
2778    field public static final int INSTALL_FAILED_DEXOPT = -11; // 0xfffffff5
2779    field public static final int INSTALL_FAILED_DUPLICATE_PACKAGE = -5; // 0xfffffffb
2780    field public static final int INSTALL_FAILED_INSUFFICIENT_STORAGE = -4; // 0xfffffffc
2781    field public static final int INSTALL_FAILED_INTERNAL_ERROR = -110; // 0xffffff92
2782    field public static final int INSTALL_FAILED_INVALID_APK = -2; // 0xfffffffe
2783    field public static final int INSTALL_FAILED_INVALID_INSTALL_LOCATION = -19; // 0xffffffed
2784    field public static final int INSTALL_FAILED_INVALID_URI = -3; // 0xfffffffd
2785    field public static final int INSTALL_FAILED_MEDIA_UNAVAILABLE = -20; // 0xffffffec
2786    field public static final int INSTALL_FAILED_MISSING_FEATURE = -17; // 0xffffffef
2787    field public static final int INSTALL_FAILED_MISSING_SHARED_LIBRARY = -9; // 0xfffffff7
2788    field public static final int INSTALL_FAILED_NEWER_SDK = -14; // 0xfffffff2
2789    field public static final int INSTALL_FAILED_NO_SHARED_USER = -6; // 0xfffffffa
2790    field public static final int INSTALL_FAILED_OLDER_SDK = -12; // 0xfffffff4
2791    field public static final int INSTALL_FAILED_PACKAGE_CHANGED = -23; // 0xffffffe9
2792    field public static final int INSTALL_FAILED_PERMISSION_MODEL_DOWNGRADE = -26; // 0xffffffe6
2793    field public static final int INSTALL_FAILED_REPLACE_COULDNT_DELETE = -10; // 0xfffffff6
2794    field public static final int INSTALL_FAILED_SANDBOX_VERSION_DOWNGRADE = -27; // 0xffffffe5
2795    field public static final int INSTALL_FAILED_SHARED_USER_INCOMPATIBLE = -8; // 0xfffffff8
2796    field public static final int INSTALL_FAILED_TEST_ONLY = -15; // 0xfffffff1
2797    field public static final int INSTALL_FAILED_UPDATE_INCOMPATIBLE = -7; // 0xfffffff9
2798    field public static final int INSTALL_FAILED_VERIFICATION_FAILURE = -22; // 0xffffffea
2799    field public static final int INSTALL_FAILED_VERIFICATION_TIMEOUT = -21; // 0xffffffeb
2800    field public static final int INSTALL_PARSE_FAILED_BAD_MANIFEST = -101; // 0xffffff9b
2801    field public static final int INSTALL_PARSE_FAILED_BAD_PACKAGE_NAME = -106; // 0xffffff96
2802    field public static final int INSTALL_PARSE_FAILED_BAD_SHARED_USER_ID = -107; // 0xffffff95
2803    field public static final int INSTALL_PARSE_FAILED_CERTIFICATE_ENCODING = -105; // 0xffffff97
2804    field public static final int INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES = -104; // 0xffffff98
2805    field public static final int INSTALL_PARSE_FAILED_MANIFEST_EMPTY = -109; // 0xffffff93
2806    field public static final int INSTALL_PARSE_FAILED_MANIFEST_MALFORMED = -108; // 0xffffff94
2807    field public static final int INSTALL_PARSE_FAILED_NOT_APK = -100; // 0xffffff9c
2808    field public static final int INSTALL_PARSE_FAILED_NO_CERTIFICATES = -103; // 0xffffff99
2809    field public static final int INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION = -102; // 0xffffff9a
2810    field public static final int INSTALL_SUCCEEDED = 1; // 0x1
2811    field @Deprecated public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ALWAYS = 2; // 0x2
2812    field @Deprecated public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ALWAYS_ASK = 4; // 0x4
2813    field @Deprecated public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ASK = 1; // 0x1
2814    field @Deprecated public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_NEVER = 3; // 0x3
2815    field @Deprecated public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_UNDEFINED = 0; // 0x0
2816    field @Deprecated public static final int INTENT_FILTER_VERIFICATION_FAILURE = -1; // 0xffffffff
2817    field @Deprecated public static final int INTENT_FILTER_VERIFICATION_SUCCESS = 1; // 0x1
2818    field @Deprecated public static final int MASK_PERMISSION_FLAGS = 255; // 0xff
2819    field public static final int MATCH_ANY_USER = 4194304; // 0x400000
2820    field public static final int MATCH_FACTORY_ONLY = 2097152; // 0x200000
2821    field public static final int MATCH_HIDDEN_UNTIL_INSTALLED_COMPONENTS = 536870912; // 0x20000000
2822    field public static final int MATCH_INSTANT = 8388608; // 0x800000
2823    field public static final int MODULE_APEX_NAME = 1; // 0x1
2824    field public static final int RESTRICTION_HIDE_FROM_SUGGESTIONS = 1; // 0x1
2825    field public static final int RESTRICTION_HIDE_NOTIFICATIONS = 2; // 0x2
2826    field public static final int RESTRICTION_NONE = 0; // 0x0
2827    field public static final int SYSTEM_APP_STATE_HIDDEN_UNTIL_INSTALLED_HIDDEN = 0; // 0x0
2828    field public static final int SYSTEM_APP_STATE_HIDDEN_UNTIL_INSTALLED_VISIBLE = 1; // 0x1
2829    field public static final int SYSTEM_APP_STATE_INSTALLED = 2; // 0x2
2830    field public static final int SYSTEM_APP_STATE_UNINSTALLED = 3; // 0x3
2831  }
2832
2833  public abstract static class PackageManager.DexModuleRegisterCallback {
2834    ctor public PackageManager.DexModuleRegisterCallback();
2835    method public abstract void onDexModuleRegistered(String, boolean, String);
2836  }
2837
2838  public static interface PackageManager.OnPermissionsChangedListener {
2839    method public void onPermissionsChanged(int);
2840  }
2841
2842  @IntDef(prefix={"FLAG_PERMISSION_"}, value={android.content.pm.PackageManager.FLAG_PERMISSION_USER_SET, android.content.pm.PackageManager.FLAG_PERMISSION_USER_FIXED, android.content.pm.PackageManager.FLAG_PERMISSION_POLICY_FIXED, android.content.pm.PackageManager.FLAG_PERMISSION_REVOKE_ON_UPGRADE, android.content.pm.PackageManager.FLAG_PERMISSION_SYSTEM_FIXED, android.content.pm.PackageManager.FLAG_PERMISSION_GRANTED_BY_DEFAULT, android.content.pm.PackageManager.FLAG_PERMISSION_USER_SENSITIVE_WHEN_GRANTED, android.content.pm.PackageManager.FLAG_PERMISSION_USER_SENSITIVE_WHEN_DENIED, android.content.pm.PackageManager.FLAG_PERMISSION_RESTRICTION_UPGRADE_EXEMPT, android.content.pm.PackageManager.FLAG_PERMISSION_RESTRICTION_SYSTEM_EXEMPT, android.content.pm.PackageManager.FLAG_PERMISSION_RESTRICTION_INSTALLER_EXEMPT, android.content.pm.PackageManager.FLAG_PERMISSION_APPLY_RESTRICTION, android.content.pm.PackageManager.FLAG_PERMISSION_GRANTED_BY_ROLE, android.content.pm.PackageManager.FLAG_PERMISSION_REVOKED_COMPAT, android.content.pm.PackageManager.FLAG_PERMISSION_ONE_TIME, android.content.pm.PackageManager.FLAG_PERMISSION_AUTO_REVOKED}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface PackageManager.PermissionFlags {
2843  }
2844
2845  public class PermissionGroupInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
2846    field @StringRes public final int backgroundRequestDetailResourceId;
2847    field @StringRes public final int backgroundRequestResourceId;
2848    field @StringRes public final int requestDetailResourceId;
2849    field @StringRes public int requestRes;
2850  }
2851
2852  public class PermissionInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
2853    field public static final int FLAG_REMOVED = 2; // 0x2
2854    field public static final int PROTECTION_FLAG_APP_PREDICTOR = 2097152; // 0x200000
2855    field public static final int PROTECTION_FLAG_COMPANION = 8388608; // 0x800000
2856    field public static final int PROTECTION_FLAG_CONFIGURATOR = 524288; // 0x80000
2857    field public static final int PROTECTION_FLAG_DOCUMENTER = 262144; // 0x40000
2858    field public static final int PROTECTION_FLAG_INCIDENT_REPORT_APPROVER = 1048576; // 0x100000
2859    field public static final int PROTECTION_FLAG_KNOWN_SIGNER = 134217728; // 0x8000000
2860    field public static final int PROTECTION_FLAG_OEM = 16384; // 0x4000
2861    field public static final int PROTECTION_FLAG_RECENTS = 33554432; // 0x2000000
2862    field public static final int PROTECTION_FLAG_RETAIL_DEMO = 16777216; // 0x1000000
2863    field public static final int PROTECTION_FLAG_ROLE = 67108864; // 0x4000000
2864    field public static final int PROTECTION_FLAG_SYSTEM_TEXT_CLASSIFIER = 65536; // 0x10000
2865    field @Deprecated public static final int PROTECTION_FLAG_WELLBEING = 131072; // 0x20000
2866    field @Nullable public final String backgroundPermission;
2867    field @StringRes public int requestRes;
2868  }
2869
2870  public class ResolveInfo implements android.os.Parcelable {
2871    field public boolean handleAllWebDataURI;
2872  }
2873
2874  public final class ShortcutInfo implements android.os.Parcelable {
2875    method @Nullable public android.app.Person[] getPersons();
2876  }
2877
2878  public class ShortcutManager {
2879    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_APP_PREDICTIONS) @WorkerThread public java.util.List<android.content.pm.ShortcutManager.ShareShortcutInfo> getShareTargets(@NonNull android.content.IntentFilter);
2880    method public boolean hasShareTargets(@NonNull String);
2881  }
2882
2883  public static final class ShortcutManager.ShareShortcutInfo implements android.os.Parcelable {
2884    method public int describeContents();
2885    method @NonNull public android.content.pm.ShortcutInfo getShortcutInfo();
2886    method @NonNull public android.content.ComponentName getTargetComponent();
2887    method public void writeToParcel(@NonNull android.os.Parcel, int);
2888    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.ShortcutManager.ShareShortcutInfo> CREATOR;
2889  }
2890
2891  public final class SuspendDialogInfo implements android.os.Parcelable {
2892    method public int describeContents();
2893    method public void writeToParcel(android.os.Parcel, int);
2894    field public static final int BUTTON_ACTION_MORE_DETAILS = 0; // 0x0
2895    field public static final int BUTTON_ACTION_UNSUSPEND = 1; // 0x1
2896    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.SuspendDialogInfo> CREATOR;
2897  }
2898
2899  public static final class SuspendDialogInfo.Builder {
2900    ctor public SuspendDialogInfo.Builder();
2901    method @NonNull public android.content.pm.SuspendDialogInfo build();
2902    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setIcon(@DrawableRes int);
2903    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setMessage(@NonNull String);
2904    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setMessage(@StringRes int);
2905    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setNeutralButtonAction(int);
2906    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setNeutralButtonText(@StringRes int);
2907    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setNeutralButtonText(@NonNull String);
2908    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setTitle(@StringRes int);
2909    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setTitle(@NonNull String);
2910  }
2911
2912}
2913
2914package android.content.pm.dex {
2915
2916  public class ArtManager {
2917    method @RequiresPermission(allOf={android.Manifest.permission.READ_RUNTIME_PROFILES, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean isRuntimeProfilingEnabled(int);
2918    method @RequiresPermission(allOf={android.Manifest.permission.READ_RUNTIME_PROFILES, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void snapshotRuntimeProfile(int, @Nullable String, @Nullable String, @NonNull java.util.concurrent.Executor, @NonNull android.content.pm.dex.ArtManager.SnapshotRuntimeProfileCallback);
2919    field public static final int PROFILE_APPS = 0; // 0x0
2920    field public static final int PROFILE_BOOT_IMAGE = 1; // 0x1
2921    field public static final int SNAPSHOT_FAILED_CODE_PATH_NOT_FOUND = 1; // 0x1
2922    field public static final int SNAPSHOT_FAILED_INTERNAL_ERROR = 2; // 0x2
2923    field public static final int SNAPSHOT_FAILED_PACKAGE_NOT_FOUND = 0; // 0x0
2924  }
2925
2926  public abstract static class ArtManager.SnapshotRuntimeProfileCallback {
2927    ctor public ArtManager.SnapshotRuntimeProfileCallback();
2928    method public abstract void onError(int);
2929    method public abstract void onSuccess(android.os.ParcelFileDescriptor);
2930  }
2931
2932}
2933
2934package android.content.pm.permission {
2935
2936  @Deprecated public final class RuntimePermissionPresentationInfo implements android.os.Parcelable {
2937    ctor @Deprecated public RuntimePermissionPresentationInfo(CharSequence, boolean, boolean);
2938    method @Deprecated public int describeContents();
2939    method @Deprecated @NonNull public CharSequence getLabel();
2940    method @Deprecated public boolean isGranted();
2941    method @Deprecated public boolean isStandard();
2942    method @Deprecated public void writeToParcel(android.os.Parcel, int);
2943    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.content.pm.permission.RuntimePermissionPresentationInfo> CREATOR;
2944  }
2945
2946}
2947
2948package android.content.pm.verify.domain {
2949
2950  public final class DomainOwner implements android.os.Parcelable {
2951    ctor public DomainOwner(@NonNull String, boolean);
2952    method public int describeContents();
2953    method @NonNull public String getPackageName();
2954    method public boolean isOverrideable();
2955    method public void writeToParcel(@NonNull android.os.Parcel, int);
2956    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.verify.domain.DomainOwner> CREATOR;
2957  }
2958
2959  public final class DomainVerificationInfo implements android.os.Parcelable {
2960    method public int describeContents();
2961    method @NonNull public java.util.Map<java.lang.String,java.lang.Integer> getHostToStateMap();
2962    method @NonNull public java.util.UUID getIdentifier();
2963    method @NonNull public String getPackageName();
2964    method public void writeToParcel(@NonNull android.os.Parcel, int);
2965    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.verify.domain.DomainVerificationInfo> CREATOR;
2966    field public static final int STATE_FIRST_VERIFIER_DEFINED = 1024; // 0x400
2967    field public static final int STATE_MODIFIABLE_UNVERIFIED = 3; // 0x3
2968    field public static final int STATE_MODIFIABLE_VERIFIED = 4; // 0x4
2969    field public static final int STATE_NO_RESPONSE = 0; // 0x0
2970    field public static final int STATE_SUCCESS = 1; // 0x1
2971    field public static final int STATE_UNMODIFIABLE = 2; // 0x2
2972  }
2973
2974  public final class DomainVerificationManager {
2975    method @Nullable @RequiresPermission(android.Manifest.permission.DOMAIN_VERIFICATION_AGENT) public android.content.pm.verify.domain.DomainVerificationInfo getDomainVerificationInfo(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
2976    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DOMAIN_VERIFICATION_USER_SELECTION) public java.util.SortedSet<android.content.pm.verify.domain.DomainOwner> getOwnersForDomain(@NonNull String);
2977    method @NonNull @RequiresPermission(android.Manifest.permission.DOMAIN_VERIFICATION_AGENT) public java.util.List<java.lang.String> queryValidVerificationPackageNames();
2978    method @RequiresPermission(android.Manifest.permission.UPDATE_DOMAIN_VERIFICATION_USER_SELECTION) public void setDomainVerificationLinkHandlingAllowed(@NonNull String, boolean) throws android.content.pm.PackageManager.NameNotFoundException;
2979    method @CheckResult @RequiresPermission(android.Manifest.permission.DOMAIN_VERIFICATION_AGENT) public int setDomainVerificationStatus(@NonNull java.util.UUID, @NonNull java.util.Set<java.lang.String>, int) throws android.content.pm.PackageManager.NameNotFoundException;
2980    method @CheckResult @RequiresPermission(android.Manifest.permission.UPDATE_DOMAIN_VERIFICATION_USER_SELECTION) public int setDomainVerificationUserSelection(@NonNull java.util.UUID, @NonNull java.util.Set<java.lang.String>, boolean) throws android.content.pm.PackageManager.NameNotFoundException;
2981    field public static final int ERROR_DOMAIN_SET_ID_INVALID = 1; // 0x1
2982    field public static final int ERROR_UNABLE_TO_APPROVE = 3; // 0x3
2983    field public static final int ERROR_UNKNOWN_DOMAIN = 2; // 0x2
2984    field public static final String EXTRA_VERIFICATION_REQUEST = "android.content.pm.verify.domain.extra.VERIFICATION_REQUEST";
2985    field public static final int STATUS_OK = 0; // 0x0
2986  }
2987
2988  public final class DomainVerificationRequest implements android.os.Parcelable {
2989    method public int describeContents();
2990    method @NonNull public java.util.Set<java.lang.String> getPackageNames();
2991    method public void writeToParcel(@NonNull android.os.Parcel, int);
2992    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.verify.domain.DomainVerificationRequest> CREATOR;
2993  }
2994
2995  public final class DomainVerificationUserState implements android.os.Parcelable {
2996    method @NonNull public java.util.UUID getIdentifier();
2997  }
2998
2999}
3000
3001package android.content.rollback {
3002
3003  public final class PackageRollbackInfo implements android.os.Parcelable {
3004    method public int describeContents();
3005    method @NonNull public String getPackageName();
3006    method @NonNull public android.content.pm.VersionedPackage getVersionRolledBackFrom();
3007    method @NonNull public android.content.pm.VersionedPackage getVersionRolledBackTo();
3008    method public void writeToParcel(android.os.Parcel, int);
3009    field @NonNull public static final android.os.Parcelable.Creator<android.content.rollback.PackageRollbackInfo> CREATOR;
3010  }
3011
3012  public final class RollbackInfo implements android.os.Parcelable {
3013    method public int describeContents();
3014    method @NonNull public java.util.List<android.content.pm.VersionedPackage> getCausePackages();
3015    method public int getCommittedSessionId();
3016    method @NonNull public java.util.List<android.content.rollback.PackageRollbackInfo> getPackages();
3017    method public int getRollbackId();
3018    method public boolean isStaged();
3019    method public void writeToParcel(android.os.Parcel, int);
3020    field @NonNull public static final android.os.Parcelable.Creator<android.content.rollback.RollbackInfo> CREATOR;
3021  }
3022
3023  public final class RollbackManager {
3024    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_ROLLBACKS, "android.permission.TEST_MANAGE_ROLLBACKS"}) public void commitRollback(int, @NonNull java.util.List<android.content.pm.VersionedPackage>, @NonNull android.content.IntentSender);
3025    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_ROLLBACKS, "android.permission.TEST_MANAGE_ROLLBACKS"}) public java.util.List<android.content.rollback.RollbackInfo> getAvailableRollbacks();
3026    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_ROLLBACKS, "android.permission.TEST_MANAGE_ROLLBACKS"}) public java.util.List<android.content.rollback.RollbackInfo> getRecentlyCommittedRollbacks();
3027    field public static final String EXTRA_STATUS = "android.content.rollback.extra.STATUS";
3028    field public static final String EXTRA_STATUS_MESSAGE = "android.content.rollback.extra.STATUS_MESSAGE";
3029    field public static final int STATUS_FAILURE = 1; // 0x1
3030    field public static final int STATUS_FAILURE_INSTALL = 3; // 0x3
3031    field public static final int STATUS_FAILURE_ROLLBACK_UNAVAILABLE = 2; // 0x2
3032    field public static final int STATUS_SUCCESS = 0; // 0x0
3033  }
3034
3035}
3036
3037package android.debug {
3038
3039  public class AdbManager {
3040    method @RequiresPermission(android.Manifest.permission.MANAGE_DEBUGGING) public boolean isAdbWifiQrSupported();
3041    method @RequiresPermission(android.Manifest.permission.MANAGE_DEBUGGING) public boolean isAdbWifiSupported();
3042  }
3043
3044}
3045
3046package android.graphics.fonts {
3047
3048  public final class FontFamilyUpdateRequest {
3049    method @NonNull public java.util.List<android.graphics.fonts.FontFamilyUpdateRequest.FontFamily> getFontFamilies();
3050    method @NonNull public java.util.List<android.graphics.fonts.FontFileUpdateRequest> getFontFileUpdateRequests();
3051  }
3052
3053  public static final class FontFamilyUpdateRequest.Builder {
3054    ctor public FontFamilyUpdateRequest.Builder();
3055    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.Builder addFontFamily(@NonNull android.graphics.fonts.FontFamilyUpdateRequest.FontFamily);
3056    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.Builder addFontFileUpdateRequest(@NonNull android.graphics.fonts.FontFileUpdateRequest);
3057    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest build();
3058  }
3059
3060  public static final class FontFamilyUpdateRequest.Font {
3061    method @NonNull public java.util.List<android.graphics.fonts.FontVariationAxis> getAxes();
3062    method @IntRange(from=0) public int getIndex();
3063    method @NonNull public String getPostScriptName();
3064    method @NonNull public android.graphics.fonts.FontStyle getStyle();
3065  }
3066
3067  public static final class FontFamilyUpdateRequest.Font.Builder {
3068    ctor public FontFamilyUpdateRequest.Font.Builder(@NonNull String, @NonNull android.graphics.fonts.FontStyle);
3069    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.Font build();
3070    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.Font.Builder setAxes(@NonNull java.util.List<android.graphics.fonts.FontVariationAxis>);
3071    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.Font.Builder setIndex(@IntRange(from=0) int);
3072  }
3073
3074  public static final class FontFamilyUpdateRequest.FontFamily {
3075    method @NonNull public java.util.List<android.graphics.fonts.FontFamilyUpdateRequest.Font> getFonts();
3076    method @NonNull public String getName();
3077  }
3078
3079  public static final class FontFamilyUpdateRequest.FontFamily.Builder {
3080    ctor public FontFamilyUpdateRequest.FontFamily.Builder(@NonNull String, @NonNull java.util.List<android.graphics.fonts.FontFamilyUpdateRequest.Font>);
3081    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.FontFamily.Builder addFont(@NonNull android.graphics.fonts.FontFamilyUpdateRequest.Font);
3082    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.FontFamily build();
3083  }
3084
3085  public final class FontFileUpdateRequest {
3086    ctor public FontFileUpdateRequest(@NonNull android.os.ParcelFileDescriptor, @NonNull byte[]);
3087    method @NonNull public android.os.ParcelFileDescriptor getParcelFileDescriptor();
3088    method @NonNull public byte[] getSignature();
3089  }
3090
3091  public class FontManager {
3092    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_FONTS) public android.text.FontConfig getFontConfig();
3093    method @RequiresPermission(android.Manifest.permission.UPDATE_FONTS) public int updateFontFamily(@NonNull android.graphics.fonts.FontFamilyUpdateRequest, @IntRange(from=0) int);
3094    field public static final int RESULT_ERROR_DOWNGRADING = -5; // 0xfffffffb
3095    field public static final int RESULT_ERROR_FAILED_TO_WRITE_FONT_FILE = -1; // 0xffffffff
3096    field public static final int RESULT_ERROR_FAILED_UPDATE_CONFIG = -6; // 0xfffffffa
3097    field public static final int RESULT_ERROR_FONT_NOT_FOUND = -9; // 0xfffffff7
3098    field public static final int RESULT_ERROR_FONT_UPDATER_DISABLED = -7; // 0xfffffff9
3099    field public static final int RESULT_ERROR_INVALID_FONT_FILE = -3; // 0xfffffffd
3100    field public static final int RESULT_ERROR_INVALID_FONT_NAME = -4; // 0xfffffffc
3101    field public static final int RESULT_ERROR_VERIFICATION_FAILURE = -2; // 0xfffffffe
3102    field public static final int RESULT_ERROR_VERSION_MISMATCH = -8; // 0xfffffff8
3103    field public static final int RESULT_SUCCESS = 0; // 0x0
3104  }
3105
3106}
3107
3108package android.hardware {
3109
3110  public final class Sensor {
3111    method public java.util.UUID getUuid();
3112    method public boolean isDataInjectionSupported();
3113    field public static final String STRING_TYPE_DYNAMIC_SENSOR_META = "android.sensor.dynamic_sensor_meta";
3114    field public static final String STRING_TYPE_WRIST_TILT_GESTURE = "android.sensor.wrist_tilt_gesture";
3115    field public static final int TYPE_DYNAMIC_SENSOR_META = 32; // 0x20
3116    field public static final int TYPE_WRIST_TILT_GESTURE = 26; // 0x1a
3117  }
3118
3119  public abstract class SensorManager {
3120    method public boolean initDataInjection(boolean);
3121    method public boolean injectSensorData(android.hardware.Sensor, float[], int, long);
3122  }
3123
3124  public final class SensorPrivacyManager {
3125    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public void addSensorPrivacyListener(int, @NonNull android.hardware.SensorPrivacyManager.OnSensorPrivacyChangedListener);
3126    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public void addSensorPrivacyListener(int, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.SensorPrivacyManager.OnSensorPrivacyChangedListener);
3127    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public boolean isSensorPrivacyEnabled(int);
3128    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public void removeSensorPrivacyListener(int, @NonNull android.hardware.SensorPrivacyManager.OnSensorPrivacyChangedListener);
3129  }
3130
3131  public static interface SensorPrivacyManager.OnSensorPrivacyChangedListener {
3132    method public void onSensorPrivacyChanged(int, boolean);
3133  }
3134
3135}
3136
3137package android.hardware.biometrics {
3138
3139  public static interface BiometricManager.Authenticators {
3140    field @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static final int BIOMETRIC_CONVENIENCE = 4095; // 0xfff
3141    field @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static final int EMPTY_SET = 0; // 0x0
3142  }
3143
3144}
3145
3146package android.hardware.camera2 {
3147
3148  public abstract class CameraDevice implements java.lang.AutoCloseable {
3149    method @Deprecated public abstract void createCustomCaptureSession(android.hardware.camera2.params.InputConfiguration, @NonNull java.util.List<android.hardware.camera2.params.OutputConfiguration>, int, @NonNull android.hardware.camera2.CameraCaptureSession.StateCallback, @Nullable android.os.Handler) throws android.hardware.camera2.CameraAccessException;
3150    field public static final int SESSION_OPERATION_MODE_CONSTRAINED_HIGH_SPEED = 1; // 0x1
3151    field public static final int SESSION_OPERATION_MODE_NORMAL = 0; // 0x0
3152    field public static final int SESSION_OPERATION_MODE_VENDOR_START = 32768; // 0x8000
3153  }
3154
3155  public final class CameraManager {
3156    method @RequiresPermission(allOf={android.Manifest.permission.SYSTEM_CAMERA, android.Manifest.permission.CAMERA}) public void openCamera(@NonNull String, int, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.camera2.CameraDevice.StateCallback) throws android.hardware.camera2.CameraAccessException;
3157  }
3158
3159  public abstract static class CameraManager.AvailabilityCallback {
3160    method @RequiresPermission(android.Manifest.permission.CAMERA_OPEN_CLOSE_LISTENER) public void onCameraClosed(@NonNull String);
3161    method @RequiresPermission(android.Manifest.permission.CAMERA_OPEN_CLOSE_LISTENER) public void onCameraOpened(@NonNull String, @NonNull String);
3162  }
3163
3164}
3165
3166package android.hardware.camera2.params {
3167
3168  public final class OutputConfiguration implements android.os.Parcelable {
3169    ctor public OutputConfiguration(@NonNull android.view.Surface, int);
3170    ctor public OutputConfiguration(int, @NonNull android.view.Surface, int);
3171    method public int getRotation();
3172    field public static final int ROTATION_0 = 0; // 0x0
3173    field public static final int ROTATION_180 = 2; // 0x2
3174    field public static final int ROTATION_270 = 3; // 0x3
3175    field public static final int ROTATION_90 = 1; // 0x1
3176  }
3177
3178}
3179
3180package android.hardware.display {
3181
3182  public final class AmbientBrightnessDayStats implements android.os.Parcelable {
3183    method public int describeContents();
3184    method public float[] getBucketBoundaries();
3185    method public java.time.LocalDate getLocalDate();
3186    method public float[] getStats();
3187    method public void writeToParcel(android.os.Parcel, int);
3188    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.display.AmbientBrightnessDayStats> CREATOR;
3189  }
3190
3191  public final class BrightnessChangeEvent implements android.os.Parcelable {
3192    method public int describeContents();
3193    method public void writeToParcel(android.os.Parcel, int);
3194    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.display.BrightnessChangeEvent> CREATOR;
3195    field public final float batteryLevel;
3196    field public final float brightness;
3197    field public final long colorSampleDuration;
3198    field public final int colorTemperature;
3199    field @Nullable public final long[] colorValueBuckets;
3200    field public final boolean isDefaultBrightnessConfig;
3201    field public final boolean isUserSetBrightness;
3202    field public final float lastBrightness;
3203    field public final long[] luxTimestamps;
3204    field public final float[] luxValues;
3205    field public final boolean nightMode;
3206    field public final String packageName;
3207    field public final float powerBrightnessFactor;
3208    field public final boolean reduceBrightColors;
3209    field public final float reduceBrightColorsOffset;
3210    field public final int reduceBrightColorsStrength;
3211    field public final long timeStamp;
3212    field @NonNull public final String uniqueDisplayId;
3213  }
3214
3215  public final class BrightnessConfiguration implements android.os.Parcelable {
3216    method public int describeContents();
3217    method @Nullable public android.hardware.display.BrightnessCorrection getCorrectionByCategory(int);
3218    method @Nullable public android.hardware.display.BrightnessCorrection getCorrectionByPackageName(@NonNull String);
3219    method public android.util.Pair<float[],float[]> getCurve();
3220    method public float getShortTermModelLowerLuxMultiplier();
3221    method public long getShortTermModelTimeoutMillis();
3222    method public float getShortTermModelUpperLuxMultiplier();
3223    method public boolean shouldCollectColorSamples();
3224    method public void writeToParcel(android.os.Parcel, int);
3225    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.display.BrightnessConfiguration> CREATOR;
3226    field public static final long SHORT_TERM_TIMEOUT_UNSET = -1L; // 0xffffffffffffffffL
3227  }
3228
3229  public static class BrightnessConfiguration.Builder {
3230    ctor public BrightnessConfiguration.Builder(float[], float[]);
3231    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder addCorrectionByCategory(int, @NonNull android.hardware.display.BrightnessCorrection);
3232    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder addCorrectionByPackageName(@NonNull String, @NonNull android.hardware.display.BrightnessCorrection);
3233    method @NonNull public android.hardware.display.BrightnessConfiguration build();
3234    method public int getMaxCorrectionsByCategory();
3235    method public int getMaxCorrectionsByPackageName();
3236    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setDescription(@Nullable String);
3237    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setShortTermModelLowerLuxMultiplier(@FloatRange(from=0.0f) float);
3238    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setShortTermModelTimeoutMillis(long);
3239    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setShortTermModelUpperLuxMultiplier(@FloatRange(from=0.0f) float);
3240    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setShouldCollectColorSamples(boolean);
3241  }
3242
3243  public final class BrightnessCorrection implements android.os.Parcelable {
3244    method @FloatRange(from=0.0) public float apply(@FloatRange(from=0.0) float);
3245    method @NonNull public static android.hardware.display.BrightnessCorrection createScaleAndTranslateLog(float, float);
3246    method public int describeContents();
3247    method public void writeToParcel(android.os.Parcel, int);
3248    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.display.BrightnessCorrection> CREATOR;
3249  }
3250
3251  public final class ColorDisplayManager {
3252    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public int getNightDisplayAutoMode();
3253    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public int getTransformCapabilities();
3254    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public boolean setAppSaturationLevel(@NonNull String, @IntRange(from=0, to=100) int);
3255    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public boolean setNightDisplayAutoMode(int);
3256    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public boolean setNightDisplayCustomEndTime(@NonNull java.time.LocalTime);
3257    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public boolean setNightDisplayCustomStartTime(@NonNull java.time.LocalTime);
3258    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public boolean setSaturationLevel(@IntRange(from=0, to=100) int);
3259    field public static final int AUTO_MODE_CUSTOM_TIME = 1; // 0x1
3260    field public static final int AUTO_MODE_DISABLED = 0; // 0x0
3261    field public static final int AUTO_MODE_TWILIGHT = 2; // 0x2
3262    field public static final int CAPABILITY_HARDWARE_ACCELERATION_GLOBAL = 2; // 0x2
3263    field public static final int CAPABILITY_HARDWARE_ACCELERATION_PER_APP = 4; // 0x4
3264    field public static final int CAPABILITY_NONE = 0; // 0x0
3265    field public static final int CAPABILITY_PROTECTED_CONTENT = 1; // 0x1
3266  }
3267
3268  public final class DisplayManager {
3269    method @RequiresPermission(android.Manifest.permission.ACCESS_AMBIENT_LIGHT_STATS) public java.util.List<android.hardware.display.AmbientBrightnessDayStats> getAmbientBrightnessStats();
3270    method @RequiresPermission(android.Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS) public android.hardware.display.BrightnessConfiguration getBrightnessConfiguration();
3271    method @Nullable @RequiresPermission(android.Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS) public android.hardware.display.BrightnessConfiguration getBrightnessConfigurationForDisplay(@NonNull String);
3272    method @RequiresPermission(android.Manifest.permission.BRIGHTNESS_SLIDER_USAGE) public java.util.List<android.hardware.display.BrightnessChangeEvent> getBrightnessEvents();
3273    method @Nullable @RequiresPermission(android.Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS) public android.hardware.display.BrightnessConfiguration getDefaultBrightnessConfiguration();
3274    method public android.util.Pair<float[],float[]> getMinimumBrightnessCurve();
3275    method public android.graphics.Point getStableDisplaySize();
3276    method @RequiresPermission(android.Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS) public void setBrightnessConfiguration(android.hardware.display.BrightnessConfiguration);
3277    method @RequiresPermission(android.Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS) public void setBrightnessConfigurationForDisplay(@NonNull android.hardware.display.BrightnessConfiguration, @NonNull String);
3278    method @Deprecated @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_SATURATION) public void setSaturationLevel(float);
3279  }
3280
3281}
3282
3283package android.hardware.hdmi {
3284
3285  public abstract class HdmiClient {
3286    method public android.hardware.hdmi.HdmiDeviceInfo getActiveSource();
3287    method public void sendKeyEvent(int, boolean);
3288    method public void sendVendorCommand(int, byte[], boolean);
3289    method public void setVendorCommandListener(@NonNull android.hardware.hdmi.HdmiControlManager.VendorCommandListener);
3290  }
3291
3292  public final class HdmiControlManager {
3293    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void addHdmiCecEnabledChangeListener(@NonNull android.hardware.hdmi.HdmiControlManager.CecSettingChangeListener);
3294    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void addHdmiCecEnabledChangeListener(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.hdmi.HdmiControlManager.CecSettingChangeListener);
3295    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void addHotplugEventListener(android.hardware.hdmi.HdmiControlManager.HotplugEventListener);
3296    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void addHotplugEventListener(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.hdmi.HdmiControlManager.HotplugEventListener);
3297    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public java.util.List<java.lang.Integer> getAllowedCecSettingIntValues(@NonNull String);
3298    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public java.util.List<java.lang.String> getAllowedCecSettingStringValues(@NonNull String);
3299    method @Nullable public android.hardware.hdmi.HdmiClient getClient(int);
3300    method @NonNull public java.util.List<android.hardware.hdmi.HdmiDeviceInfo> getConnectedDevices();
3301    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getHdmiCecEnabled();
3302    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getHdmiCecVersion();
3303    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getHdmiCecVolumeControlEnabled();
3304    method public int getPhysicalAddress();
3305    method @Nullable public android.hardware.hdmi.HdmiPlaybackClient getPlaybackClient();
3306    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public String getPowerControlMode();
3307    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public String getPowerStateChangeOnActiveSourceLost();
3308    method @Nullable public android.hardware.hdmi.HdmiSwitchClient getSwitchClient();
3309    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getSystemAudioModeMuting();
3310    method @Nullable public android.hardware.hdmi.HdmiTvClient getTvClient();
3311    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getTvSendStandbyOnSleep();
3312    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getTvWakeOnOneTouchPlay();
3313    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public java.util.List<java.lang.String> getUserCecSettings();
3314    method public boolean isDeviceConnected(@NonNull android.hardware.hdmi.HdmiDeviceInfo);
3315    method public void powerOffDevice(@NonNull android.hardware.hdmi.HdmiDeviceInfo);
3316    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void removeHdmiCecEnabledChangeListener(@NonNull android.hardware.hdmi.HdmiControlManager.CecSettingChangeListener);
3317    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void removeHotplugEventListener(android.hardware.hdmi.HdmiControlManager.HotplugEventListener);
3318    method public void setActiveSource(@NonNull android.hardware.hdmi.HdmiDeviceInfo);
3319    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setHdmiCecEnabled(@NonNull int);
3320    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setHdmiCecVersion(@NonNull int);
3321    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setHdmiCecVolumeControlEnabled(int);
3322    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setPowerControlMode(@NonNull String);
3323    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setPowerStateChangeOnActiveSourceLost(@NonNull String);
3324    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setStandbyMode(boolean);
3325    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setSystemAudioModeMuting(@NonNull int);
3326    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setTvSendStandbyOnSleep(@NonNull int);
3327    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setTvWakeOnOneTouchPlay(@NonNull int);
3328    field public static final String ACTION_OSD_MESSAGE = "android.hardware.hdmi.action.OSD_MESSAGE";
3329    field public static final int AVR_VOLUME_MUTED = 101; // 0x65
3330    field public static final String CEC_SETTING_NAME_HDMI_CEC_ENABLED = "hdmi_cec_enabled";
3331    field public static final String CEC_SETTING_NAME_HDMI_CEC_VERSION = "hdmi_cec_version";
3332    field public static final String CEC_SETTING_NAME_POWER_CONTROL_MODE = "power_control_mode";
3333    field public static final String CEC_SETTING_NAME_POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST = "power_state_change_on_active_source_lost";
3334    field public static final String CEC_SETTING_NAME_SYSTEM_AUDIO_MODE_MUTING = "system_audio_mode_muting";
3335    field public static final String CEC_SETTING_NAME_TV_SEND_STANDBY_ON_SLEEP = "tv_send_standby_on_sleep";
3336    field public static final String CEC_SETTING_NAME_TV_WAKE_ON_ONE_TOUCH_PLAY = "tv_wake_on_one_touch_play";
3337    field public static final String CEC_SETTING_NAME_VOLUME_CONTROL_MODE = "volume_control_enabled";
3338    field public static final int CLEAR_TIMER_STATUS_CEC_DISABLE = 162; // 0xa2
3339    field public static final int CLEAR_TIMER_STATUS_CHECK_RECORDER_CONNECTION = 160; // 0xa0
3340    field public static final int CLEAR_TIMER_STATUS_FAIL_TO_CLEAR_SELECTED_SOURCE = 161; // 0xa1
3341    field public static final int CLEAR_TIMER_STATUS_TIMER_CLEARED = 128; // 0x80
3342    field public static final int CLEAR_TIMER_STATUS_TIMER_NOT_CLEARED_NO_INFO_AVAILABLE = 2; // 0x2
3343    field public static final int CLEAR_TIMER_STATUS_TIMER_NOT_CLEARED_NO_MATCHING = 1; // 0x1
3344    field public static final int CLEAR_TIMER_STATUS_TIMER_NOT_CLEARED_RECORDING = 0; // 0x0
3345    field public static final int CONTROL_STATE_CHANGED_REASON_SETTING = 1; // 0x1
3346    field public static final int CONTROL_STATE_CHANGED_REASON_STANDBY = 3; // 0x3
3347    field public static final int CONTROL_STATE_CHANGED_REASON_START = 0; // 0x0
3348    field public static final int CONTROL_STATE_CHANGED_REASON_WAKEUP = 2; // 0x2
3349    field public static final int DEVICE_EVENT_ADD_DEVICE = 1; // 0x1
3350    field public static final int DEVICE_EVENT_REMOVE_DEVICE = 2; // 0x2
3351    field public static final int DEVICE_EVENT_UPDATE_DEVICE = 3; // 0x3
3352    field public static final String EXTRA_MESSAGE_EXTRA_PARAM1 = "android.hardware.hdmi.extra.MESSAGE_EXTRA_PARAM1";
3353    field public static final String EXTRA_MESSAGE_ID = "android.hardware.hdmi.extra.MESSAGE_ID";
3354    field public static final int HDMI_CEC_CONTROL_DISABLED = 0; // 0x0
3355    field public static final int HDMI_CEC_CONTROL_ENABLED = 1; // 0x1
3356    field public static final int HDMI_CEC_VERSION_1_4_B = 5; // 0x5
3357    field public static final int HDMI_CEC_VERSION_2_0 = 6; // 0x6
3358    field public static final int ONE_TOUCH_RECORD_ALREADY_RECORDING = 18; // 0x12
3359    field public static final int ONE_TOUCH_RECORD_CEC_DISABLED = 51; // 0x33
3360    field public static final int ONE_TOUCH_RECORD_CHECK_RECORDER_CONNECTION = 49; // 0x31
3361    field public static final int ONE_TOUCH_RECORD_DISALLOW_TO_COPY = 13; // 0xd
3362    field public static final int ONE_TOUCH_RECORD_DISALLOW_TO_FUTHER_COPIES = 14; // 0xe
3363    field public static final int ONE_TOUCH_RECORD_FAIL_TO_RECORD_DISPLAYED_SCREEN = 50; // 0x32
3364    field public static final int ONE_TOUCH_RECORD_INVALID_EXTERNAL_PHYSICAL_ADDRESS = 10; // 0xa
3365    field public static final int ONE_TOUCH_RECORD_INVALID_EXTERNAL_PLUG_NUMBER = 9; // 0x9
3366    field public static final int ONE_TOUCH_RECORD_MEDIA_PROBLEM = 21; // 0x15
3367    field public static final int ONE_TOUCH_RECORD_MEDIA_PROTECTED = 19; // 0x13
3368    field public static final int ONE_TOUCH_RECORD_NOT_ENOUGH_SPACE = 22; // 0x16
3369    field public static final int ONE_TOUCH_RECORD_NO_MEDIA = 16; // 0x10
3370    field public static final int ONE_TOUCH_RECORD_NO_OR_INSUFFICIENT_CA_ENTITLEMENTS = 12; // 0xc
3371    field public static final int ONE_TOUCH_RECORD_NO_SOURCE_SIGNAL = 20; // 0x14
3372    field public static final int ONE_TOUCH_RECORD_OTHER_REASON = 31; // 0x1f
3373    field public static final int ONE_TOUCH_RECORD_PARENT_LOCK_ON = 23; // 0x17
3374    field public static final int ONE_TOUCH_RECORD_PLAYING = 17; // 0x11
3375    field public static final int ONE_TOUCH_RECORD_PREVIOUS_RECORDING_IN_PROGRESS = 48; // 0x30
3376    field public static final int ONE_TOUCH_RECORD_RECORDING_ALREADY_TERMINATED = 27; // 0x1b
3377    field public static final int ONE_TOUCH_RECORD_RECORDING_ANALOGUE_SERVICE = 3; // 0x3
3378    field public static final int ONE_TOUCH_RECORD_RECORDING_CURRENTLY_SELECTED_SOURCE = 1; // 0x1
3379    field public static final int ONE_TOUCH_RECORD_RECORDING_DIGITAL_SERVICE = 2; // 0x2
3380    field public static final int ONE_TOUCH_RECORD_RECORDING_EXTERNAL_INPUT = 4; // 0x4
3381    field public static final int ONE_TOUCH_RECORD_RECORDING_TERMINATED_NORMALLY = 26; // 0x1a
3382    field public static final int ONE_TOUCH_RECORD_UNABLE_ANALOGUE_SERVICE = 6; // 0x6
3383    field public static final int ONE_TOUCH_RECORD_UNABLE_DIGITAL_SERVICE = 5; // 0x5
3384    field public static final int ONE_TOUCH_RECORD_UNABLE_SELECTED_SERVICE = 7; // 0x7
3385    field public static final int ONE_TOUCH_RECORD_UNSUPPORTED_CA = 11; // 0xb
3386    field public static final int OSD_MESSAGE_ARC_CONNECTED_INVALID_PORT = 1; // 0x1
3387    field public static final int OSD_MESSAGE_AVR_VOLUME_CHANGED = 2; // 0x2
3388    field public static final String POWER_CONTROL_MODE_BROADCAST = "broadcast";
3389    field public static final String POWER_CONTROL_MODE_NONE = "none";
3390    field public static final String POWER_CONTROL_MODE_TV = "to_tv";
3391    field public static final String POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST_NONE = "none";
3392    field public static final String POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST_STANDBY_NOW = "standby_now";
3393    field public static final int POWER_STATUS_ON = 0; // 0x0
3394    field public static final int POWER_STATUS_STANDBY = 1; // 0x1
3395    field public static final int POWER_STATUS_TRANSIENT_TO_ON = 2; // 0x2
3396    field public static final int POWER_STATUS_TRANSIENT_TO_STANDBY = 3; // 0x3
3397    field public static final int POWER_STATUS_UNKNOWN = -1; // 0xffffffff
3398    field @Deprecated public static final int RESULT_ALREADY_IN_PROGRESS = 4; // 0x4
3399    field public static final int RESULT_COMMUNICATION_FAILED = 7; // 0x7
3400    field public static final int RESULT_EXCEPTION = 5; // 0x5
3401    field public static final int RESULT_INCORRECT_MODE = 6; // 0x6
3402    field public static final int RESULT_SOURCE_NOT_AVAILABLE = 2; // 0x2
3403    field public static final int RESULT_SUCCESS = 0; // 0x0
3404    field public static final int RESULT_TARGET_NOT_AVAILABLE = 3; // 0x3
3405    field public static final int RESULT_TIMEOUT = 1; // 0x1
3406    field public static final int SYSTEM_AUDIO_MODE_MUTING_DISABLED = 0; // 0x0
3407    field public static final int SYSTEM_AUDIO_MODE_MUTING_ENABLED = 1; // 0x1
3408    field public static final int TIMER_RECORDING_RESULT_EXTRA_CEC_DISABLED = 3; // 0x3
3409    field public static final int TIMER_RECORDING_RESULT_EXTRA_CHECK_RECORDER_CONNECTION = 1; // 0x1
3410    field public static final int TIMER_RECORDING_RESULT_EXTRA_FAIL_TO_RECORD_SELECTED_SOURCE = 2; // 0x2
3411    field public static final int TIMER_RECORDING_RESULT_EXTRA_NO_ERROR = 0; // 0x0
3412    field public static final int TIMER_RECORDING_TYPE_ANALOGUE = 2; // 0x2
3413    field public static final int TIMER_RECORDING_TYPE_DIGITAL = 1; // 0x1
3414    field public static final int TIMER_RECORDING_TYPE_EXTERNAL = 3; // 0x3
3415    field public static final int TIMER_STATUS_MEDIA_INFO_NOT_PRESENT = 2; // 0x2
3416    field public static final int TIMER_STATUS_MEDIA_INFO_PRESENT_NOT_PROTECTED = 0; // 0x0
3417    field public static final int TIMER_STATUS_MEDIA_INFO_PRESENT_PROTECTED = 1; // 0x1
3418    field public static final int TIMER_STATUS_NOT_PROGRAMMED_CA_NOT_SUPPORTED = 6; // 0x6
3419    field public static final int TIMER_STATUS_NOT_PROGRAMMED_CLOCK_FAILURE = 10; // 0xa
3420    field public static final int TIMER_STATUS_NOT_PROGRAMMED_DATE_OUT_OF_RANGE = 2; // 0x2
3421    field public static final int TIMER_STATUS_NOT_PROGRAMMED_DUPLICATED = 14; // 0xe
3422    field public static final int TIMER_STATUS_NOT_PROGRAMMED_INVALID_EXTERNAL_PHYSICAL_NUMBER = 5; // 0x5
3423    field public static final int TIMER_STATUS_NOT_PROGRAMMED_INVALID_EXTERNAL_PLUG_NUMBER = 4; // 0x4
3424    field public static final int TIMER_STATUS_NOT_PROGRAMMED_INVALID_SEQUENCE = 3; // 0x3
3425    field public static final int TIMER_STATUS_NOT_PROGRAMMED_NO_CA_ENTITLEMENTS = 7; // 0x7
3426    field public static final int TIMER_STATUS_NOT_PROGRAMMED_NO_FREE_TIME = 1; // 0x1
3427    field public static final int TIMER_STATUS_NOT_PROGRAMMED_PARENTAL_LOCK_ON = 9; // 0x9
3428    field public static final int TIMER_STATUS_NOT_PROGRAMMED_UNSUPPORTED_RESOLUTION = 8; // 0x8
3429    field public static final int TIMER_STATUS_PROGRAMMED_INFO_ENOUGH_SPACE = 8; // 0x8
3430    field public static final int TIMER_STATUS_PROGRAMMED_INFO_MIGHT_NOT_ENOUGH_SPACE = 11; // 0xb
3431    field public static final int TIMER_STATUS_PROGRAMMED_INFO_NOT_ENOUGH_SPACE = 9; // 0x9
3432    field public static final int TIMER_STATUS_PROGRAMMED_INFO_NO_MEDIA_INFO = 10; // 0xa
3433    field public static final int TV_SEND_STANDBY_ON_SLEEP_DISABLED = 0; // 0x0
3434    field public static final int TV_SEND_STANDBY_ON_SLEEP_ENABLED = 1; // 0x1
3435    field public static final int TV_WAKE_ON_ONE_TOUCH_PLAY_DISABLED = 0; // 0x0
3436    field public static final int TV_WAKE_ON_ONE_TOUCH_PLAY_ENABLED = 1; // 0x1
3437    field public static final int VOLUME_CONTROL_DISABLED = 0; // 0x0
3438    field public static final int VOLUME_CONTROL_ENABLED = 1; // 0x1
3439  }
3440
3441  public static interface HdmiControlManager.CecSettingChangeListener {
3442    method public void onChange(@NonNull String);
3443  }
3444
3445  @IntDef({android.hardware.hdmi.HdmiControlManager.RESULT_SUCCESS, android.hardware.hdmi.HdmiControlManager.RESULT_TIMEOUT, android.hardware.hdmi.HdmiControlManager.RESULT_SOURCE_NOT_AVAILABLE, android.hardware.hdmi.HdmiControlManager.RESULT_TARGET_NOT_AVAILABLE, android.hardware.hdmi.HdmiControlManager.RESULT_ALREADY_IN_PROGRESS, android.hardware.hdmi.HdmiControlManager.RESULT_EXCEPTION, android.hardware.hdmi.HdmiControlManager.RESULT_INCORRECT_MODE, android.hardware.hdmi.HdmiControlManager.RESULT_COMMUNICATION_FAILED}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.CLASS) public static @interface HdmiControlManager.ControlCallbackResult {
3446  }
3447
3448  public static interface HdmiControlManager.HotplugEventListener {
3449    method public void onReceived(android.hardware.hdmi.HdmiHotplugEvent);
3450  }
3451
3452  public static interface HdmiControlManager.VendorCommandListener {
3453    method public void onControlStateChanged(boolean, int);
3454    method public void onReceived(int, int, byte[], boolean);
3455  }
3456
3457  public class HdmiDeviceInfo implements android.os.Parcelable {
3458    ctor public HdmiDeviceInfo();
3459    method public int describeContents();
3460    method public int getAdopterId();
3461    method public int getDeviceId();
3462    method public int getDevicePowerStatus();
3463    method public int getDeviceType();
3464    method public String getDisplayName();
3465    method public int getId();
3466    method public int getLogicalAddress();
3467    method public int getPhysicalAddress();
3468    method public int getPortId();
3469    method public int getVendorId();
3470    method public static int idForCecDevice(int);
3471    method public static int idForHardware(int);
3472    method public static int idForMhlDevice(int);
3473    method public boolean isCecDevice();
3474    method public boolean isInactivated();
3475    method public boolean isMhlDevice();
3476    method public boolean isSourceType();
3477    method public void writeToParcel(android.os.Parcel, int);
3478    field public static final int ADDR_INTERNAL = 0; // 0x0
3479    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.hdmi.HdmiDeviceInfo> CREATOR;
3480    field public static final int DEVICE_AUDIO_SYSTEM = 5; // 0x5
3481    field public static final int DEVICE_INACTIVE = -1; // 0xffffffff
3482    field public static final int DEVICE_PLAYBACK = 4; // 0x4
3483    field public static final int DEVICE_RECORDER = 1; // 0x1
3484    field public static final int DEVICE_RESERVED = 2; // 0x2
3485    field public static final int DEVICE_TUNER = 3; // 0x3
3486    field public static final int DEVICE_TV = 0; // 0x0
3487    field public static final int ID_INVALID = 65535; // 0xffff
3488    field public static final android.hardware.hdmi.HdmiDeviceInfo INACTIVE_DEVICE;
3489    field public static final int PATH_INTERNAL = 0; // 0x0
3490    field public static final int PATH_INVALID = 65535; // 0xffff
3491    field public static final int PORT_INVALID = -1; // 0xffffffff
3492  }
3493
3494  public final class HdmiHotplugEvent implements android.os.Parcelable {
3495    method public int describeContents();
3496    method public int getPort();
3497    method public boolean isConnected();
3498    method public void writeToParcel(android.os.Parcel, int);
3499    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.hdmi.HdmiHotplugEvent> CREATOR;
3500  }
3501
3502  public final class HdmiPlaybackClient extends android.hardware.hdmi.HdmiClient {
3503    method public int getDeviceType();
3504    method public void oneTouchPlay(android.hardware.hdmi.HdmiPlaybackClient.OneTouchPlayCallback);
3505    method public void queryDisplayStatus(android.hardware.hdmi.HdmiPlaybackClient.DisplayStatusCallback);
3506    method public void sendStandby();
3507  }
3508
3509  public static interface HdmiPlaybackClient.DisplayStatusCallback {
3510    method public void onComplete(int);
3511  }
3512
3513  public static interface HdmiPlaybackClient.OneTouchPlayCallback {
3514    method public void onComplete(int);
3515  }
3516
3517  public final class HdmiPortInfo implements android.os.Parcelable {
3518    ctor public HdmiPortInfo(int, int, int, boolean, boolean, boolean);
3519    method public int describeContents();
3520    method public int getAddress();
3521    method public int getId();
3522    method public int getType();
3523    method public boolean isArcSupported();
3524    method public boolean isCecSupported();
3525    method public boolean isMhlSupported();
3526    method public void writeToParcel(android.os.Parcel, int);
3527    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.hdmi.HdmiPortInfo> CREATOR;
3528    field public static final int PORT_INPUT = 0; // 0x0
3529    field public static final int PORT_OUTPUT = 1; // 0x1
3530  }
3531
3532  public abstract class HdmiRecordListener {
3533    ctor public HdmiRecordListener();
3534    method public void onClearTimerRecordingResult(int, int);
3535    method public void onOneTouchRecordResult(int, int);
3536    method public abstract android.hardware.hdmi.HdmiRecordSources.RecordSource onOneTouchRecordSourceRequested(int);
3537    method public void onTimerRecordingResult(int, android.hardware.hdmi.HdmiRecordListener.TimerStatusData);
3538  }
3539
3540  public static class HdmiRecordListener.TimerStatusData {
3541    method public int getDurationHour();
3542    method public int getDurationMinute();
3543    method public int getExtraError();
3544    method public int getMediaInfo();
3545    method public int getNotProgammedError();
3546    method public int getProgrammedInfo();
3547    method public boolean isOverlapped();
3548    method public boolean isProgrammed();
3549  }
3550
3551  public final class HdmiRecordSources {
3552    method public static boolean checkRecordSource(byte[]);
3553    method public static android.hardware.hdmi.HdmiRecordSources.OwnSource ofOwnSource();
3554  }
3555
3556  public static final class HdmiRecordSources.AnalogueServiceSource extends android.hardware.hdmi.HdmiRecordSources.RecordSource {
3557  }
3558
3559  public static final class HdmiRecordSources.DigitalServiceSource extends android.hardware.hdmi.HdmiRecordSources.RecordSource {
3560  }
3561
3562  public static final class HdmiRecordSources.ExternalPhysicalAddress extends android.hardware.hdmi.HdmiRecordSources.RecordSource {
3563  }
3564
3565  public static final class HdmiRecordSources.ExternalPlugData extends android.hardware.hdmi.HdmiRecordSources.RecordSource {
3566  }
3567
3568  public static final class HdmiRecordSources.OwnSource extends android.hardware.hdmi.HdmiRecordSources.RecordSource {
3569  }
3570
3571  public abstract static class HdmiRecordSources.RecordSource {
3572  }
3573
3574  public class HdmiSwitchClient extends android.hardware.hdmi.HdmiClient {
3575    method public int getDeviceType();
3576    method @NonNull public java.util.List<android.hardware.hdmi.HdmiPortInfo> getPortInfo();
3577    method public void selectPort(int, @NonNull android.hardware.hdmi.HdmiSwitchClient.OnSelectListener);
3578    method public void selectPort(int, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.hdmi.HdmiSwitchClient.OnSelectListener);
3579  }
3580
3581  public static interface HdmiSwitchClient.OnSelectListener {
3582    method public void onSelect(@android.hardware.hdmi.HdmiControlManager.ControlCallbackResult int);
3583  }
3584
3585  public class HdmiTimerRecordSources {
3586    method public static boolean checkTimerRecordSource(int, byte[]);
3587    method public static android.hardware.hdmi.HdmiTimerRecordSources.Duration durationOf(int, int);
3588    method public static android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource ofAnalogueSource(android.hardware.hdmi.HdmiTimerRecordSources.TimerInfo, android.hardware.hdmi.HdmiRecordSources.AnalogueServiceSource);
3589    method public static android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource ofDigitalSource(android.hardware.hdmi.HdmiTimerRecordSources.TimerInfo, android.hardware.hdmi.HdmiRecordSources.DigitalServiceSource);
3590    method public static android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource ofExternalPhysicalAddress(android.hardware.hdmi.HdmiTimerRecordSources.TimerInfo, android.hardware.hdmi.HdmiRecordSources.ExternalPhysicalAddress);
3591    method public static android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource ofExternalPlug(android.hardware.hdmi.HdmiTimerRecordSources.TimerInfo, android.hardware.hdmi.HdmiRecordSources.ExternalPlugData);
3592    method public static android.hardware.hdmi.HdmiTimerRecordSources.Time timeOf(int, int);
3593    method public static android.hardware.hdmi.HdmiTimerRecordSources.TimerInfo timerInfoOf(int, int, android.hardware.hdmi.HdmiTimerRecordSources.Time, android.hardware.hdmi.HdmiTimerRecordSources.Duration, int);
3594    field public static final int RECORDING_SEQUENCE_REPEAT_FRIDAY = 32; // 0x20
3595    field public static final int RECORDING_SEQUENCE_REPEAT_MONDAY = 2; // 0x2
3596    field public static final int RECORDING_SEQUENCE_REPEAT_ONCE_ONLY = 0; // 0x0
3597    field public static final int RECORDING_SEQUENCE_REPEAT_SATUREDAY = 64; // 0x40
3598    field public static final int RECORDING_SEQUENCE_REPEAT_SUNDAY = 1; // 0x1
3599    field public static final int RECORDING_SEQUENCE_REPEAT_THURSDAY = 16; // 0x10
3600    field public static final int RECORDING_SEQUENCE_REPEAT_TUESDAY = 4; // 0x4
3601    field public static final int RECORDING_SEQUENCE_REPEAT_WEDNESDAY = 8; // 0x8
3602  }
3603
3604  public static final class HdmiTimerRecordSources.Duration {
3605  }
3606
3607  public static final class HdmiTimerRecordSources.Time {
3608  }
3609
3610  public static final class HdmiTimerRecordSources.TimerInfo {
3611  }
3612
3613  public static final class HdmiTimerRecordSources.TimerRecordSource {
3614  }
3615
3616  public final class HdmiTvClient extends android.hardware.hdmi.HdmiClient {
3617    method public void clearTimerRecording(int, int, android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource);
3618    method public void deviceSelect(int, @NonNull android.hardware.hdmi.HdmiTvClient.SelectCallback);
3619    method public java.util.List<android.hardware.hdmi.HdmiDeviceInfo> getDeviceList();
3620    method public int getDeviceType();
3621    method public void portSelect(int, @NonNull android.hardware.hdmi.HdmiTvClient.SelectCallback);
3622    method public void sendMhlVendorCommand(int, int, int, byte[]);
3623    method public void sendStandby(int);
3624    method public void setHdmiMhlVendorCommandListener(android.hardware.hdmi.HdmiTvClient.HdmiMhlVendorCommandListener);
3625    method public void setInputChangeListener(android.hardware.hdmi.HdmiTvClient.InputChangeListener);
3626    method public void setRecordListener(@NonNull android.hardware.hdmi.HdmiRecordListener);
3627    method public void setSystemAudioMode(boolean, android.hardware.hdmi.HdmiTvClient.SelectCallback);
3628    method public void setSystemAudioMute(boolean);
3629    method public void setSystemAudioVolume(int, int, int);
3630    method public void startOneTouchRecord(int, @NonNull android.hardware.hdmi.HdmiRecordSources.RecordSource);
3631    method public void startTimerRecording(int, int, android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource);
3632    method public void stopOneTouchRecord(int);
3633    field public static final int VENDOR_DATA_SIZE = 16; // 0x10
3634  }
3635
3636  public static interface HdmiTvClient.HdmiMhlVendorCommandListener {
3637    method public void onReceived(int, int, int, byte[]);
3638  }
3639
3640  public static interface HdmiTvClient.InputChangeListener {
3641    method public void onChanged(android.hardware.hdmi.HdmiDeviceInfo);
3642  }
3643
3644  public static interface HdmiTvClient.SelectCallback {
3645    method public void onComplete(int);
3646  }
3647
3648}
3649
3650package android.hardware.lights {
3651
3652  public final class LightState implements android.os.Parcelable {
3653    ctor @Deprecated public LightState(@ColorInt int);
3654  }
3655
3656  public abstract class LightsManager {
3657    field @Deprecated public static final int LIGHT_TYPE_MICROPHONE = 8; // 0x8
3658  }
3659
3660  public static final class LightsRequest.Builder {
3661    method @Deprecated @NonNull public android.hardware.lights.LightsRequest.Builder setLight(@NonNull android.hardware.lights.Light, @NonNull android.hardware.lights.LightState);
3662  }
3663
3664}
3665
3666package android.hardware.location {
3667
3668  public class ContextHubClient implements java.io.Closeable {
3669    method public void close();
3670    method @NonNull public android.hardware.location.ContextHubInfo getAttachedHub();
3671    method @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public int sendMessageToNanoApp(@NonNull android.hardware.location.NanoAppMessage);
3672  }
3673
3674  public class ContextHubClientCallback {
3675    ctor public ContextHubClientCallback();
3676    method public void onClientAuthorizationChanged(@NonNull android.hardware.location.ContextHubClient, long, int);
3677    method public void onHubReset(android.hardware.location.ContextHubClient);
3678    method public void onMessageFromNanoApp(android.hardware.location.ContextHubClient, android.hardware.location.NanoAppMessage);
3679    method public void onNanoAppAborted(android.hardware.location.ContextHubClient, long, int);
3680    method public void onNanoAppDisabled(android.hardware.location.ContextHubClient, long);
3681    method public void onNanoAppEnabled(android.hardware.location.ContextHubClient, long);
3682    method public void onNanoAppLoaded(android.hardware.location.ContextHubClient, long);
3683    method public void onNanoAppUnloaded(android.hardware.location.ContextHubClient, long);
3684  }
3685
3686  public class ContextHubInfo implements android.os.Parcelable {
3687    ctor public ContextHubInfo();
3688    method public int describeContents();
3689    method public byte getChreApiMajorVersion();
3690    method public byte getChreApiMinorVersion();
3691    method public short getChrePatchVersion();
3692    method public long getChrePlatformId();
3693    method public int getId();
3694    method public int getMaxPacketLengthBytes();
3695    method public android.hardware.location.MemoryRegion[] getMemoryRegions();
3696    method public String getName();
3697    method public float getPeakMips();
3698    method public float getPeakPowerDrawMw();
3699    method public int getPlatformVersion();
3700    method public float getSleepPowerDrawMw();
3701    method public int getStaticSwVersion();
3702    method public float getStoppedPowerDrawMw();
3703    method public int[] getSupportedSensors();
3704    method public String getToolchain();
3705    method public int getToolchainVersion();
3706    method public String getVendor();
3707    method public void writeToParcel(android.os.Parcel, int);
3708    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.ContextHubInfo> CREATOR;
3709  }
3710
3711  public class ContextHubIntentEvent {
3712    method @NonNull public static android.hardware.location.ContextHubIntentEvent fromIntent(@NonNull android.content.Intent);
3713    method public int getClientAuthorizationState();
3714    method @NonNull public android.hardware.location.ContextHubInfo getContextHubInfo();
3715    method public int getEventType();
3716    method public int getNanoAppAbortCode();
3717    method public long getNanoAppId();
3718    method @NonNull public android.hardware.location.NanoAppMessage getNanoAppMessage();
3719  }
3720
3721  public final class ContextHubManager {
3722    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public android.hardware.location.ContextHubClient createClient(@Nullable android.content.Context, @NonNull android.hardware.location.ContextHubInfo, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.location.ContextHubClientCallback);
3723    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public android.hardware.location.ContextHubClient createClient(@NonNull android.hardware.location.ContextHubInfo, @NonNull android.hardware.location.ContextHubClientCallback, @NonNull java.util.concurrent.Executor);
3724    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public android.hardware.location.ContextHubClient createClient(@NonNull android.hardware.location.ContextHubInfo, @NonNull android.hardware.location.ContextHubClientCallback);
3725    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public android.hardware.location.ContextHubClient createClient(@Nullable android.content.Context, @NonNull android.hardware.location.ContextHubInfo, @NonNull android.app.PendingIntent, long);
3726    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public android.hardware.location.ContextHubClient createClient(@NonNull android.hardware.location.ContextHubInfo, @NonNull android.app.PendingIntent, long);
3727    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public android.hardware.location.ContextHubTransaction<java.lang.Void> disableNanoApp(@NonNull android.hardware.location.ContextHubInfo, long);
3728    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public android.hardware.location.ContextHubTransaction<java.lang.Void> enableNanoApp(@NonNull android.hardware.location.ContextHubInfo, long);
3729    method @Deprecated @NonNull @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public int[] findNanoAppOnHub(int, @NonNull android.hardware.location.NanoAppFilter);
3730    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public int[] getContextHubHandles();
3731    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public android.hardware.location.ContextHubInfo getContextHubInfo(int);
3732    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public java.util.List<android.hardware.location.ContextHubInfo> getContextHubs();
3733    method @Deprecated @Nullable @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public android.hardware.location.NanoAppInstanceInfo getNanoAppInstanceInfo(int);
3734    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public int loadNanoApp(int, @NonNull android.hardware.location.NanoApp);
3735    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public android.hardware.location.ContextHubTransaction<java.lang.Void> loadNanoApp(@NonNull android.hardware.location.ContextHubInfo, @NonNull android.hardware.location.NanoAppBinary);
3736    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public android.hardware.location.ContextHubTransaction<java.util.List<android.hardware.location.NanoAppState>> queryNanoApps(@NonNull android.hardware.location.ContextHubInfo);
3737    method @Deprecated public int registerCallback(@NonNull android.hardware.location.ContextHubManager.Callback);
3738    method @Deprecated public int registerCallback(android.hardware.location.ContextHubManager.Callback, android.os.Handler);
3739    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public int sendMessage(int, int, @NonNull android.hardware.location.ContextHubMessage);
3740    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public int unloadNanoApp(int);
3741    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_CONTEXT_HUB}) public android.hardware.location.ContextHubTransaction<java.lang.Void> unloadNanoApp(@NonNull android.hardware.location.ContextHubInfo, long);
3742    method @Deprecated public int unregisterCallback(@NonNull android.hardware.location.ContextHubManager.Callback);
3743    field public static final int AUTHORIZATION_DENIED = 0; // 0x0
3744    field public static final int AUTHORIZATION_DENIED_GRACE_PERIOD = 1; // 0x1
3745    field public static final int AUTHORIZATION_GRANTED = 2; // 0x2
3746    field public static final int EVENT_CLIENT_AUTHORIZATION = 7; // 0x7
3747    field public static final int EVENT_HUB_RESET = 6; // 0x6
3748    field public static final int EVENT_NANOAPP_ABORTED = 4; // 0x4
3749    field public static final int EVENT_NANOAPP_DISABLED = 3; // 0x3
3750    field public static final int EVENT_NANOAPP_ENABLED = 2; // 0x2
3751    field public static final int EVENT_NANOAPP_LOADED = 0; // 0x0
3752    field public static final int EVENT_NANOAPP_MESSAGE = 5; // 0x5
3753    field public static final int EVENT_NANOAPP_UNLOADED = 1; // 0x1
3754    field public static final String EXTRA_CLIENT_AUTHORIZATION_STATE = "android.hardware.location.extra.CLIENT_AUTHORIZATION_STATE";
3755    field public static final String EXTRA_CONTEXT_HUB_INFO = "android.hardware.location.extra.CONTEXT_HUB_INFO";
3756    field public static final String EXTRA_EVENT_TYPE = "android.hardware.location.extra.EVENT_TYPE";
3757    field public static final String EXTRA_MESSAGE = "android.hardware.location.extra.MESSAGE";
3758    field public static final String EXTRA_NANOAPP_ABORT_CODE = "android.hardware.location.extra.NANOAPP_ABORT_CODE";
3759    field public static final String EXTRA_NANOAPP_ID = "android.hardware.location.extra.NANOAPP_ID";
3760  }
3761
3762  @Deprecated public abstract static class ContextHubManager.Callback {
3763    ctor @Deprecated protected ContextHubManager.Callback();
3764    method @Deprecated public abstract void onMessageReceipt(int, int, @NonNull android.hardware.location.ContextHubMessage);
3765  }
3766
3767  @Deprecated public class ContextHubMessage implements android.os.Parcelable {
3768    ctor @Deprecated public ContextHubMessage(int, int, byte[]);
3769    method @Deprecated public int describeContents();
3770    method @Deprecated public byte[] getData();
3771    method @Deprecated public int getMsgType();
3772    method @Deprecated public int getVersion();
3773    method @Deprecated public void setMsgData(byte[]);
3774    method @Deprecated public void setMsgType(int);
3775    method @Deprecated public void setVersion(int);
3776    method @Deprecated public void writeToParcel(android.os.Parcel, int);
3777    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.ContextHubMessage> CREATOR;
3778  }
3779
3780  public class ContextHubTransaction<T> {
3781    method public int getType();
3782    method public void setOnCompleteListener(@NonNull android.hardware.location.ContextHubTransaction.OnCompleteListener<T>, @NonNull java.util.concurrent.Executor);
3783    method public void setOnCompleteListener(@NonNull android.hardware.location.ContextHubTransaction.OnCompleteListener<T>);
3784    method public static String typeToString(int, boolean);
3785    method public android.hardware.location.ContextHubTransaction.Response<T> waitForResponse(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException, java.util.concurrent.TimeoutException;
3786    field public static final int RESULT_FAILED_AT_HUB = 5; // 0x5
3787    field public static final int RESULT_FAILED_BAD_PARAMS = 2; // 0x2
3788    field public static final int RESULT_FAILED_BUSY = 4; // 0x4
3789    field public static final int RESULT_FAILED_HAL_UNAVAILABLE = 8; // 0x8
3790    field public static final int RESULT_FAILED_SERVICE_INTERNAL_FAILURE = 7; // 0x7
3791    field public static final int RESULT_FAILED_TIMEOUT = 6; // 0x6
3792    field public static final int RESULT_FAILED_UNINITIALIZED = 3; // 0x3
3793    field public static final int RESULT_FAILED_UNKNOWN = 1; // 0x1
3794    field public static final int RESULT_SUCCESS = 0; // 0x0
3795    field public static final int TYPE_DISABLE_NANOAPP = 3; // 0x3
3796    field public static final int TYPE_ENABLE_NANOAPP = 2; // 0x2
3797    field public static final int TYPE_LOAD_NANOAPP = 0; // 0x0
3798    field public static final int TYPE_QUERY_NANOAPPS = 4; // 0x4
3799    field public static final int TYPE_UNLOAD_NANOAPP = 1; // 0x1
3800  }
3801
3802  @java.lang.FunctionalInterface public static interface ContextHubTransaction.OnCompleteListener<L> {
3803    method public void onComplete(android.hardware.location.ContextHubTransaction<L>, android.hardware.location.ContextHubTransaction.Response<L>);
3804  }
3805
3806  public static class ContextHubTransaction.Response<R> {
3807    method public R getContents();
3808    method public int getResult();
3809  }
3810
3811  public final class GeofenceHardware {
3812    method public boolean addGeofence(int, int, android.hardware.location.GeofenceHardwareRequest, android.hardware.location.GeofenceHardwareCallback);
3813    method public int[] getMonitoringTypes();
3814    method public int getStatusOfMonitoringType(int);
3815    method public boolean pauseGeofence(int, int);
3816    method public boolean registerForMonitorStateChangeCallback(int, android.hardware.location.GeofenceHardwareMonitorCallback);
3817    method public boolean removeGeofence(int, int);
3818    method public boolean resumeGeofence(int, int, int);
3819    method public boolean unregisterForMonitorStateChangeCallback(int, android.hardware.location.GeofenceHardwareMonitorCallback);
3820    field public static final int GEOFENCE_ENTERED = 1; // 0x1
3821    field public static final int GEOFENCE_ERROR_ID_EXISTS = 2; // 0x2
3822    field public static final int GEOFENCE_ERROR_ID_UNKNOWN = 3; // 0x3
3823    field public static final int GEOFENCE_ERROR_INSUFFICIENT_MEMORY = 6; // 0x6
3824    field public static final int GEOFENCE_ERROR_INVALID_TRANSITION = 4; // 0x4
3825    field public static final int GEOFENCE_ERROR_TOO_MANY_GEOFENCES = 1; // 0x1
3826    field public static final int GEOFENCE_EXITED = 2; // 0x2
3827    field public static final int GEOFENCE_FAILURE = 5; // 0x5
3828    field public static final int GEOFENCE_SUCCESS = 0; // 0x0
3829    field public static final int GEOFENCE_UNCERTAIN = 4; // 0x4
3830    field public static final int MONITORING_TYPE_FUSED_HARDWARE = 1; // 0x1
3831    field public static final int MONITORING_TYPE_GPS_HARDWARE = 0; // 0x0
3832    field public static final int MONITOR_CURRENTLY_AVAILABLE = 0; // 0x0
3833    field public static final int MONITOR_CURRENTLY_UNAVAILABLE = 1; // 0x1
3834    field public static final int MONITOR_UNSUPPORTED = 2; // 0x2
3835    field public static final int SOURCE_TECHNOLOGY_BLUETOOTH = 16; // 0x10
3836    field public static final int SOURCE_TECHNOLOGY_CELL = 8; // 0x8
3837    field public static final int SOURCE_TECHNOLOGY_GNSS = 1; // 0x1
3838    field public static final int SOURCE_TECHNOLOGY_SENSORS = 4; // 0x4
3839    field public static final int SOURCE_TECHNOLOGY_WIFI = 2; // 0x2
3840  }
3841
3842  public abstract class GeofenceHardwareCallback {
3843    ctor public GeofenceHardwareCallback();
3844    method public void onGeofenceAdd(int, int);
3845    method public void onGeofencePause(int, int);
3846    method public void onGeofenceRemove(int, int);
3847    method public void onGeofenceResume(int, int);
3848    method public void onGeofenceTransition(int, int, android.location.Location, long, int);
3849  }
3850
3851  public abstract class GeofenceHardwareMonitorCallback {
3852    ctor public GeofenceHardwareMonitorCallback();
3853    method @Deprecated public void onMonitoringSystemChange(int, boolean, android.location.Location);
3854    method public void onMonitoringSystemChange(android.hardware.location.GeofenceHardwareMonitorEvent);
3855  }
3856
3857  public class GeofenceHardwareMonitorEvent implements android.os.Parcelable {
3858    ctor public GeofenceHardwareMonitorEvent(int, int, int, android.location.Location);
3859    method public int describeContents();
3860    method public android.location.Location getLocation();
3861    method public int getMonitoringStatus();
3862    method public int getMonitoringType();
3863    method public int getSourceTechnologies();
3864    method public void writeToParcel(android.os.Parcel, int);
3865    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.GeofenceHardwareMonitorEvent> CREATOR;
3866  }
3867
3868  public final class GeofenceHardwareRequest {
3869    ctor public GeofenceHardwareRequest();
3870    method public static android.hardware.location.GeofenceHardwareRequest createCircularGeofence(double, double, double);
3871    method public int getLastTransition();
3872    method public double getLatitude();
3873    method public double getLongitude();
3874    method public int getMonitorTransitions();
3875    method public int getNotificationResponsiveness();
3876    method public double getRadius();
3877    method public int getSourceTechnologies();
3878    method public int getUnknownTimer();
3879    method public void setLastTransition(int);
3880    method public void setMonitorTransitions(int);
3881    method public void setNotificationResponsiveness(int);
3882    method public void setSourceTechnologies(int);
3883    method public void setUnknownTimer(int);
3884  }
3885
3886  public class MemoryRegion implements android.os.Parcelable {
3887    ctor public MemoryRegion(android.os.Parcel);
3888    method public int describeContents();
3889    method public int getCapacityBytes();
3890    method public int getFreeCapacityBytes();
3891    method public boolean isExecutable();
3892    method public boolean isReadable();
3893    method public boolean isWritable();
3894    method public void writeToParcel(android.os.Parcel, int);
3895    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.MemoryRegion> CREATOR;
3896  }
3897
3898  @Deprecated public class NanoApp implements android.os.Parcelable {
3899    ctor @Deprecated public NanoApp();
3900    ctor @Deprecated public NanoApp(int, byte[]);
3901    ctor @Deprecated public NanoApp(long, byte[]);
3902    method @Deprecated public int describeContents();
3903    method @Deprecated public byte[] getAppBinary();
3904    method @Deprecated public long getAppId();
3905    method @Deprecated public int getAppVersion();
3906    method @Deprecated public String getName();
3907    method @Deprecated public int getNeededExecMemBytes();
3908    method @Deprecated public int getNeededReadMemBytes();
3909    method @Deprecated public int[] getNeededSensors();
3910    method @Deprecated public int getNeededWriteMemBytes();
3911    method @Deprecated public int[] getOutputEvents();
3912    method @Deprecated public String getPublisher();
3913    method @Deprecated public void setAppBinary(byte[]);
3914    method @Deprecated public void setAppId(long);
3915    method @Deprecated public void setAppVersion(int);
3916    method @Deprecated public void setName(String);
3917    method @Deprecated public void setNeededExecMemBytes(int);
3918    method @Deprecated public void setNeededReadMemBytes(int);
3919    method @Deprecated public void setNeededSensors(int[]);
3920    method @Deprecated public void setNeededWriteMemBytes(int);
3921    method @Deprecated public void setOutputEvents(int[]);
3922    method @Deprecated public void setPublisher(String);
3923    method @Deprecated public void writeToParcel(android.os.Parcel, int);
3924    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoApp> CREATOR;
3925  }
3926
3927  public final class NanoAppBinary implements android.os.Parcelable {
3928    ctor public NanoAppBinary(byte[]);
3929    method public int describeContents();
3930    method public byte[] getBinary();
3931    method public byte[] getBinaryNoHeader();
3932    method public int getFlags();
3933    method public int getHeaderVersion();
3934    method public long getHwHubType();
3935    method public long getNanoAppId();
3936    method public int getNanoAppVersion();
3937    method public byte getTargetChreApiMajorVersion();
3938    method public byte getTargetChreApiMinorVersion();
3939    method public boolean hasValidHeader();
3940    method public boolean isEncrypted();
3941    method public boolean isSigned();
3942    method public void writeToParcel(android.os.Parcel, int);
3943    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppBinary> CREATOR;
3944  }
3945
3946  @Deprecated public class NanoAppFilter implements android.os.Parcelable {
3947    ctor @Deprecated public NanoAppFilter(long, int, int, long);
3948    method @Deprecated public int describeContents();
3949    method @Deprecated public boolean testMatch(android.hardware.location.NanoAppInstanceInfo);
3950    method @Deprecated public void writeToParcel(android.os.Parcel, int);
3951    field @Deprecated public static final int APP_ANY = -1; // 0xffffffff
3952    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppFilter> CREATOR;
3953    field @Deprecated public static final int FLAGS_VERSION_ANY = -1; // 0xffffffff
3954    field @Deprecated public static final int FLAGS_VERSION_GREAT_THAN = 2; // 0x2
3955    field @Deprecated public static final int FLAGS_VERSION_LESS_THAN = 4; // 0x4
3956    field @Deprecated public static final int FLAGS_VERSION_STRICTLY_EQUAL = 8; // 0x8
3957    field @Deprecated public static final int HUB_ANY = -1; // 0xffffffff
3958    field @Deprecated public static final int VENDOR_ANY = -1; // 0xffffffff
3959  }
3960
3961  @Deprecated public class NanoAppInstanceInfo implements android.os.Parcelable {
3962    ctor @Deprecated public NanoAppInstanceInfo();
3963    method @Deprecated public int describeContents();
3964    method @Deprecated public long getAppId();
3965    method @Deprecated public int getAppVersion();
3966    method @Deprecated public int getContexthubId();
3967    method @Deprecated public int getHandle();
3968    method @Deprecated public String getName();
3969    method @Deprecated public int getNeededExecMemBytes();
3970    method @Deprecated public int getNeededReadMemBytes();
3971    method @Deprecated @NonNull public int[] getNeededSensors();
3972    method @Deprecated public int getNeededWriteMemBytes();
3973    method @Deprecated @NonNull public int[] getOutputEvents();
3974    method @Deprecated public String getPublisher();
3975    method @Deprecated public void writeToParcel(android.os.Parcel, int);
3976    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppInstanceInfo> CREATOR;
3977  }
3978
3979  public final class NanoAppMessage implements android.os.Parcelable {
3980    method public static android.hardware.location.NanoAppMessage createMessageFromNanoApp(long, int, byte[], boolean);
3981    method public static android.hardware.location.NanoAppMessage createMessageToNanoApp(long, int, byte[]);
3982    method public int describeContents();
3983    method public byte[] getMessageBody();
3984    method public int getMessageType();
3985    method public long getNanoAppId();
3986    method public boolean isBroadcastMessage();
3987    method public void writeToParcel(android.os.Parcel, int);
3988    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppMessage> CREATOR;
3989  }
3990
3991  public final class NanoAppState implements android.os.Parcelable {
3992    ctor public NanoAppState(long, int, boolean);
3993    ctor public NanoAppState(long, int, boolean, @NonNull java.util.List<java.lang.String>);
3994    method public int describeContents();
3995    method public long getNanoAppId();
3996    method @NonNull public java.util.List<java.lang.String> getNanoAppPermissions();
3997    method public long getNanoAppVersion();
3998    method public boolean isEnabled();
3999    method public void writeToParcel(android.os.Parcel, int);
4000    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppState> CREATOR;
4001  }
4002
4003}
4004
4005package android.hardware.radio {
4006
4007  public final class Announcement implements android.os.Parcelable {
4008    method public int describeContents();
4009    method @NonNull public android.hardware.radio.ProgramSelector getSelector();
4010    method public int getType();
4011    method @NonNull public java.util.Map<java.lang.String,java.lang.String> getVendorInfo();
4012    method public void writeToParcel(android.os.Parcel, int);
4013    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.Announcement> CREATOR;
4014    field public static final int TYPE_EMERGENCY = 1; // 0x1
4015    field public static final int TYPE_EVENT = 6; // 0x6
4016    field public static final int TYPE_MISC = 8; // 0x8
4017    field public static final int TYPE_NEWS = 5; // 0x5
4018    field public static final int TYPE_SPORT = 7; // 0x7
4019    field public static final int TYPE_TRAFFIC = 3; // 0x3
4020    field public static final int TYPE_WARNING = 2; // 0x2
4021    field public static final int TYPE_WEATHER = 4; // 0x4
4022  }
4023
4024  public static interface Announcement.OnListUpdatedListener {
4025    method public void onListUpdated(java.util.Collection<android.hardware.radio.Announcement>);
4026  }
4027
4028  public final class ProgramList implements java.lang.AutoCloseable {
4029    method public void addOnCompleteListener(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.radio.ProgramList.OnCompleteListener);
4030    method public void addOnCompleteListener(@NonNull android.hardware.radio.ProgramList.OnCompleteListener);
4031    method public void close();
4032    method @Nullable public android.hardware.radio.RadioManager.ProgramInfo get(@NonNull android.hardware.radio.ProgramSelector.Identifier);
4033    method public void registerListCallback(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.radio.ProgramList.ListCallback);
4034    method public void registerListCallback(@NonNull android.hardware.radio.ProgramList.ListCallback);
4035    method public void removeOnCompleteListener(@NonNull android.hardware.radio.ProgramList.OnCompleteListener);
4036    method @NonNull public java.util.List<android.hardware.radio.RadioManager.ProgramInfo> toList();
4037    method public void unregisterListCallback(@NonNull android.hardware.radio.ProgramList.ListCallback);
4038  }
4039
4040  public static final class ProgramList.Filter implements android.os.Parcelable {
4041    ctor public ProgramList.Filter(@NonNull java.util.Set<java.lang.Integer>, @NonNull java.util.Set<android.hardware.radio.ProgramSelector.Identifier>, boolean, boolean);
4042    method public boolean areCategoriesIncluded();
4043    method public boolean areModificationsExcluded();
4044    method public int describeContents();
4045    method @NonNull public java.util.Set<java.lang.Integer> getIdentifierTypes();
4046    method @NonNull public java.util.Set<android.hardware.radio.ProgramSelector.Identifier> getIdentifiers();
4047    method public void writeToParcel(android.os.Parcel, int);
4048    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.ProgramList.Filter> CREATOR;
4049  }
4050
4051  public abstract static class ProgramList.ListCallback {
4052    ctor public ProgramList.ListCallback();
4053    method public void onItemChanged(@NonNull android.hardware.radio.ProgramSelector.Identifier);
4054    method public void onItemRemoved(@NonNull android.hardware.radio.ProgramSelector.Identifier);
4055  }
4056
4057  public static interface ProgramList.OnCompleteListener {
4058    method public void onComplete();
4059  }
4060
4061  public final class ProgramSelector implements android.os.Parcelable {
4062    ctor public ProgramSelector(@android.hardware.radio.ProgramSelector.ProgramType int, @NonNull android.hardware.radio.ProgramSelector.Identifier, @Nullable android.hardware.radio.ProgramSelector.Identifier[], @Nullable long[]);
4063    method @NonNull public static android.hardware.radio.ProgramSelector createAmFmSelector(@android.hardware.radio.RadioManager.Band int, int);
4064    method @NonNull public static android.hardware.radio.ProgramSelector createAmFmSelector(@android.hardware.radio.RadioManager.Band int, int, int);
4065    method public int describeContents();
4066    method @NonNull public android.hardware.radio.ProgramSelector.Identifier[] getAllIds(@android.hardware.radio.ProgramSelector.IdentifierType int);
4067    method public long getFirstId(@android.hardware.radio.ProgramSelector.IdentifierType int);
4068    method @NonNull public android.hardware.radio.ProgramSelector.Identifier getPrimaryId();
4069    method @Deprecated @android.hardware.radio.ProgramSelector.ProgramType public int getProgramType();
4070    method @NonNull public android.hardware.radio.ProgramSelector.Identifier[] getSecondaryIds();
4071    method @Deprecated @NonNull public long[] getVendorIds();
4072    method @NonNull public android.hardware.radio.ProgramSelector withSecondaryPreferred(@NonNull android.hardware.radio.ProgramSelector.Identifier);
4073    method public void writeToParcel(android.os.Parcel, int);
4074    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.ProgramSelector> CREATOR;
4075    field public static final int IDENTIFIER_TYPE_AMFM_FREQUENCY = 1; // 0x1
4076    field public static final int IDENTIFIER_TYPE_DAB_ENSEMBLE = 6; // 0x6
4077    field public static final int IDENTIFIER_TYPE_DAB_FREQUENCY = 8; // 0x8
4078    field public static final int IDENTIFIER_TYPE_DAB_SCID = 7; // 0x7
4079    field public static final int IDENTIFIER_TYPE_DAB_SIDECC = 5; // 0x5
4080    field public static final int IDENTIFIER_TYPE_DAB_SID_EXT = 5; // 0x5
4081    field public static final int IDENTIFIER_TYPE_DRMO_FREQUENCY = 10; // 0xa
4082    field @Deprecated public static final int IDENTIFIER_TYPE_DRMO_MODULATION = 11; // 0xb
4083    field public static final int IDENTIFIER_TYPE_DRMO_SERVICE_ID = 9; // 0x9
4084    field public static final int IDENTIFIER_TYPE_HD_STATION_ID_EXT = 3; // 0x3
4085    field public static final int IDENTIFIER_TYPE_HD_STATION_NAME = 10004; // 0x2714
4086    field @Deprecated public static final int IDENTIFIER_TYPE_HD_SUBCHANNEL = 4; // 0x4
4087    field public static final int IDENTIFIER_TYPE_INVALID = 0; // 0x0
4088    field public static final int IDENTIFIER_TYPE_RDS_PI = 2; // 0x2
4089    field public static final int IDENTIFIER_TYPE_SXM_CHANNEL = 13; // 0xd
4090    field public static final int IDENTIFIER_TYPE_SXM_SERVICE_ID = 12; // 0xc
4091    field public static final int IDENTIFIER_TYPE_VENDOR_END = 1999; // 0x7cf
4092    field @Deprecated public static final int IDENTIFIER_TYPE_VENDOR_PRIMARY_END = 1999; // 0x7cf
4093    field @Deprecated public static final int IDENTIFIER_TYPE_VENDOR_PRIMARY_START = 1000; // 0x3e8
4094    field public static final int IDENTIFIER_TYPE_VENDOR_START = 1000; // 0x3e8
4095    field @Deprecated public static final int PROGRAM_TYPE_AM = 1; // 0x1
4096    field @Deprecated public static final int PROGRAM_TYPE_AM_HD = 3; // 0x3
4097    field @Deprecated public static final int PROGRAM_TYPE_DAB = 5; // 0x5
4098    field @Deprecated public static final int PROGRAM_TYPE_DRMO = 6; // 0x6
4099    field @Deprecated public static final int PROGRAM_TYPE_FM = 2; // 0x2
4100    field @Deprecated public static final int PROGRAM_TYPE_FM_HD = 4; // 0x4
4101    field @Deprecated public static final int PROGRAM_TYPE_INVALID = 0; // 0x0
4102    field @Deprecated public static final int PROGRAM_TYPE_SXM = 7; // 0x7
4103    field @Deprecated public static final int PROGRAM_TYPE_VENDOR_END = 1999; // 0x7cf
4104    field @Deprecated public static final int PROGRAM_TYPE_VENDOR_START = 1000; // 0x3e8
4105  }
4106
4107  public static final class ProgramSelector.Identifier implements android.os.Parcelable {
4108    ctor public ProgramSelector.Identifier(@android.hardware.radio.ProgramSelector.IdentifierType int, long);
4109    method public int describeContents();
4110    method @android.hardware.radio.ProgramSelector.IdentifierType public int getType();
4111    method public long getValue();
4112    method public boolean isCategoryType();
4113    method public void writeToParcel(android.os.Parcel, int);
4114    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.ProgramSelector.Identifier> CREATOR;
4115  }
4116
4117  @IntDef(prefix={"IDENTIFIER_TYPE_"}, value={android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_INVALID, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_AMFM_FREQUENCY, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_RDS_PI, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_HD_STATION_ID_EXT, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_HD_SUBCHANNEL, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_HD_STATION_NAME, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_DAB_SID_EXT, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_DAB_SIDECC, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_DAB_ENSEMBLE, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_DAB_SCID, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_DAB_FREQUENCY, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_DRMO_SERVICE_ID, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_DRMO_FREQUENCY, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_DRMO_MODULATION, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_SXM_SERVICE_ID, android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_SXM_CHANNEL}) @IntRange(from=android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_VENDOR_START, to=android.hardware.radio.ProgramSelector.IDENTIFIER_TYPE_VENDOR_END) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface ProgramSelector.IdentifierType {
4118  }
4119
4120  @Deprecated @IntDef(prefix={"PROGRAM_TYPE_"}, value={android.hardware.radio.ProgramSelector.PROGRAM_TYPE_INVALID, android.hardware.radio.ProgramSelector.PROGRAM_TYPE_AM, android.hardware.radio.ProgramSelector.PROGRAM_TYPE_FM, android.hardware.radio.ProgramSelector.PROGRAM_TYPE_AM_HD, android.hardware.radio.ProgramSelector.PROGRAM_TYPE_FM_HD, android.hardware.radio.ProgramSelector.PROGRAM_TYPE_DAB, android.hardware.radio.ProgramSelector.PROGRAM_TYPE_DRMO, android.hardware.radio.ProgramSelector.PROGRAM_TYPE_SXM}) @IntRange(from=android.hardware.radio.ProgramSelector.PROGRAM_TYPE_VENDOR_START, to=android.hardware.radio.ProgramSelector.PROGRAM_TYPE_VENDOR_END) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface ProgramSelector.ProgramType {
4121  }
4122
4123  public class RadioManager {
4124    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public void addAnnouncementListener(@NonNull java.util.Set<java.lang.Integer>, @NonNull android.hardware.radio.Announcement.OnListUpdatedListener);
4125    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public void addAnnouncementListener(@NonNull java.util.concurrent.Executor, @NonNull java.util.Set<java.lang.Integer>, @NonNull android.hardware.radio.Announcement.OnListUpdatedListener);
4126    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public int listModules(java.util.List<android.hardware.radio.RadioManager.ModuleProperties>);
4127    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public android.hardware.radio.RadioTuner openTuner(int, android.hardware.radio.RadioManager.BandConfig, boolean, android.hardware.radio.RadioTuner.Callback, android.os.Handler);
4128    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public void removeAnnouncementListener(@NonNull android.hardware.radio.Announcement.OnListUpdatedListener);
4129    field public static final int BAND_AM = 0; // 0x0
4130    field public static final int BAND_AM_HD = 3; // 0x3
4131    field public static final int BAND_FM = 1; // 0x1
4132    field public static final int BAND_FM_HD = 2; // 0x2
4133    field public static final int BAND_INVALID = -1; // 0xffffffff
4134    field public static final int CLASS_AM_FM = 0; // 0x0
4135    field public static final int CLASS_DT = 2; // 0x2
4136    field public static final int CLASS_SAT = 1; // 0x1
4137    field public static final int CONFIG_DAB_DAB_LINKING = 6; // 0x6
4138    field public static final int CONFIG_DAB_DAB_SOFT_LINKING = 8; // 0x8
4139    field public static final int CONFIG_DAB_FM_LINKING = 7; // 0x7
4140    field public static final int CONFIG_DAB_FM_SOFT_LINKING = 9; // 0x9
4141    field public static final int CONFIG_FORCE_ANALOG = 2; // 0x2
4142    field public static final int CONFIG_FORCE_DIGITAL = 3; // 0x3
4143    field public static final int CONFIG_FORCE_MONO = 1; // 0x1
4144    field public static final int CONFIG_RDS_AF = 4; // 0x4
4145    field public static final int CONFIG_RDS_REG = 5; // 0x5
4146    field public static final int REGION_ITU_1 = 0; // 0x0
4147    field public static final int REGION_ITU_2 = 1; // 0x1
4148    field public static final int REGION_JAPAN = 3; // 0x3
4149    field public static final int REGION_KOREA = 4; // 0x4
4150    field public static final int REGION_OIRT = 2; // 0x2
4151    field public static final int STATUS_BAD_VALUE = -22; // 0xffffffea
4152    field public static final int STATUS_DEAD_OBJECT = -32; // 0xffffffe0
4153    field public static final int STATUS_ERROR = -2147483648; // 0x80000000
4154    field public static final int STATUS_INVALID_OPERATION = -38; // 0xffffffda
4155    field public static final int STATUS_NO_INIT = -19; // 0xffffffed
4156    field public static final int STATUS_OK = 0; // 0x0
4157    field public static final int STATUS_PERMISSION_DENIED = -1; // 0xffffffff
4158    field public static final int STATUS_TIMED_OUT = -110; // 0xffffff92
4159  }
4160
4161  public static class RadioManager.AmBandConfig extends android.hardware.radio.RadioManager.BandConfig {
4162    method public boolean getStereo();
4163    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.AmBandConfig> CREATOR;
4164  }
4165
4166  public static class RadioManager.AmBandConfig.Builder {
4167    ctor public RadioManager.AmBandConfig.Builder(android.hardware.radio.RadioManager.AmBandDescriptor);
4168    ctor public RadioManager.AmBandConfig.Builder(android.hardware.radio.RadioManager.AmBandConfig);
4169    method public android.hardware.radio.RadioManager.AmBandConfig build();
4170    method public android.hardware.radio.RadioManager.AmBandConfig.Builder setStereo(boolean);
4171  }
4172
4173  public static class RadioManager.AmBandDescriptor extends android.hardware.radio.RadioManager.BandDescriptor {
4174    method public boolean isStereoSupported();
4175    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.AmBandDescriptor> CREATOR;
4176  }
4177
4178  @IntDef(prefix={"BAND_"}, value={android.hardware.radio.RadioManager.BAND_INVALID, android.hardware.radio.RadioManager.BAND_AM, android.hardware.radio.RadioManager.BAND_FM, android.hardware.radio.RadioManager.BAND_AM_HD, android.hardware.radio.RadioManager.BAND_FM_HD}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface RadioManager.Band {
4179  }
4180
4181  public static class RadioManager.BandConfig implements android.os.Parcelable {
4182    method public int describeContents();
4183    method public int getLowerLimit();
4184    method public int getRegion();
4185    method public int getSpacing();
4186    method public int getType();
4187    method public int getUpperLimit();
4188    method public void writeToParcel(android.os.Parcel, int);
4189    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.BandConfig> CREATOR;
4190  }
4191
4192  public static class RadioManager.BandDescriptor implements android.os.Parcelable {
4193    method public int describeContents();
4194    method public int getLowerLimit();
4195    method public int getRegion();
4196    method public int getSpacing();
4197    method public int getType();
4198    method public int getUpperLimit();
4199    method public boolean isAmBand();
4200    method public boolean isFmBand();
4201    method public void writeToParcel(android.os.Parcel, int);
4202    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.BandDescriptor> CREATOR;
4203  }
4204
4205  public static class RadioManager.FmBandConfig extends android.hardware.radio.RadioManager.BandConfig {
4206    method public boolean getAf();
4207    method public boolean getEa();
4208    method public boolean getRds();
4209    method public boolean getStereo();
4210    method public boolean getTa();
4211    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.FmBandConfig> CREATOR;
4212  }
4213
4214  public static class RadioManager.FmBandConfig.Builder {
4215    ctor public RadioManager.FmBandConfig.Builder(android.hardware.radio.RadioManager.FmBandDescriptor);
4216    ctor public RadioManager.FmBandConfig.Builder(android.hardware.radio.RadioManager.FmBandConfig);
4217    method public android.hardware.radio.RadioManager.FmBandConfig build();
4218    method public android.hardware.radio.RadioManager.FmBandConfig.Builder setAf(boolean);
4219    method public android.hardware.radio.RadioManager.FmBandConfig.Builder setEa(boolean);
4220    method public android.hardware.radio.RadioManager.FmBandConfig.Builder setRds(boolean);
4221    method public android.hardware.radio.RadioManager.FmBandConfig.Builder setStereo(boolean);
4222    method public android.hardware.radio.RadioManager.FmBandConfig.Builder setTa(boolean);
4223  }
4224
4225  public static class RadioManager.FmBandDescriptor extends android.hardware.radio.RadioManager.BandDescriptor {
4226    method public boolean isAfSupported();
4227    method public boolean isEaSupported();
4228    method public boolean isRdsSupported();
4229    method public boolean isStereoSupported();
4230    method public boolean isTaSupported();
4231    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.FmBandDescriptor> CREATOR;
4232  }
4233
4234  public static class RadioManager.ModuleProperties implements android.os.Parcelable {
4235    method public int describeContents();
4236    method public android.hardware.radio.RadioManager.BandDescriptor[] getBands();
4237    method public int getClassId();
4238    method @Nullable public java.util.Map<java.lang.String,java.lang.Integer> getDabFrequencyTable();
4239    method public int getId();
4240    method public String getImplementor();
4241    method public int getNumAudioSources();
4242    method public int getNumTuners();
4243    method public String getProduct();
4244    method public String getSerial();
4245    method @NonNull public String getServiceName();
4246    method @NonNull public java.util.Map<java.lang.String,java.lang.String> getVendorInfo();
4247    method public String getVersion();
4248    method public boolean isBackgroundScanningSupported();
4249    method public boolean isCaptureSupported();
4250    method public boolean isInitializationRequired();
4251    method public boolean isProgramIdentifierSupported(@android.hardware.radio.ProgramSelector.IdentifierType int);
4252    method public boolean isProgramTypeSupported(@android.hardware.radio.ProgramSelector.ProgramType int);
4253    method public void writeToParcel(android.os.Parcel, int);
4254    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.ModuleProperties> CREATOR;
4255  }
4256
4257  public static class RadioManager.ProgramInfo implements android.os.Parcelable {
4258    method public int describeContents();
4259    method @Deprecated public int getChannel();
4260    method @Nullable public android.hardware.radio.ProgramSelector.Identifier getLogicallyTunedTo();
4261    method public android.hardware.radio.RadioMetadata getMetadata();
4262    method @Nullable public android.hardware.radio.ProgramSelector.Identifier getPhysicallyTunedTo();
4263    method @Nullable public java.util.Collection<android.hardware.radio.ProgramSelector.Identifier> getRelatedContent();
4264    method @NonNull public android.hardware.radio.ProgramSelector getSelector();
4265    method public int getSignalStrength();
4266    method @Deprecated public int getSubChannel();
4267    method @NonNull public java.util.Map<java.lang.String,java.lang.String> getVendorInfo();
4268    method @Deprecated public boolean isDigital();
4269    method public boolean isLive();
4270    method public boolean isMuted();
4271    method public boolean isStereo();
4272    method public boolean isTrafficAnnouncementActive();
4273    method public boolean isTrafficProgram();
4274    method public boolean isTuned();
4275    method public void writeToParcel(android.os.Parcel, int);
4276    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.ProgramInfo> CREATOR;
4277  }
4278
4279  public final class RadioMetadata implements android.os.Parcelable {
4280    method public boolean containsKey(String);
4281    method public int describeContents();
4282    method @Deprecated public android.graphics.Bitmap getBitmap(String);
4283    method public android.hardware.radio.RadioMetadata.Clock getClock(String);
4284    method public int getInt(String);
4285    method public String getString(String);
4286    method public java.util.Set<java.lang.String> keySet();
4287    method public int size();
4288    method public void writeToParcel(android.os.Parcel, int);
4289    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioMetadata> CREATOR;
4290    field public static final String METADATA_KEY_ALBUM = "android.hardware.radio.metadata.ALBUM";
4291    field public static final String METADATA_KEY_ART = "android.hardware.radio.metadata.ART";
4292    field public static final String METADATA_KEY_ARTIST = "android.hardware.radio.metadata.ARTIST";
4293    field public static final String METADATA_KEY_CLOCK = "android.hardware.radio.metadata.CLOCK";
4294    field public static final String METADATA_KEY_DAB_COMPONENT_NAME = "android.hardware.radio.metadata.DAB_COMPONENT_NAME";
4295    field public static final String METADATA_KEY_DAB_COMPONENT_NAME_SHORT = "android.hardware.radio.metadata.DAB_COMPONENT_NAME_SHORT";
4296    field public static final String METADATA_KEY_DAB_ENSEMBLE_NAME = "android.hardware.radio.metadata.DAB_ENSEMBLE_NAME";
4297    field public static final String METADATA_KEY_DAB_ENSEMBLE_NAME_SHORT = "android.hardware.radio.metadata.DAB_ENSEMBLE_NAME_SHORT";
4298    field public static final String METADATA_KEY_DAB_SERVICE_NAME = "android.hardware.radio.metadata.DAB_SERVICE_NAME";
4299    field public static final String METADATA_KEY_DAB_SERVICE_NAME_SHORT = "android.hardware.radio.metadata.DAB_SERVICE_NAME_SHORT";
4300    field public static final String METADATA_KEY_GENRE = "android.hardware.radio.metadata.GENRE";
4301    field public static final String METADATA_KEY_ICON = "android.hardware.radio.metadata.ICON";
4302    field public static final String METADATA_KEY_PROGRAM_NAME = "android.hardware.radio.metadata.PROGRAM_NAME";
4303    field public static final String METADATA_KEY_RBDS_PTY = "android.hardware.radio.metadata.RBDS_PTY";
4304    field public static final String METADATA_KEY_RDS_PI = "android.hardware.radio.metadata.RDS_PI";
4305    field public static final String METADATA_KEY_RDS_PS = "android.hardware.radio.metadata.RDS_PS";
4306    field public static final String METADATA_KEY_RDS_PTY = "android.hardware.radio.metadata.RDS_PTY";
4307    field public static final String METADATA_KEY_RDS_RT = "android.hardware.radio.metadata.RDS_RT";
4308    field public static final String METADATA_KEY_TITLE = "android.hardware.radio.metadata.TITLE";
4309  }
4310
4311  public static final class RadioMetadata.Builder {
4312    ctor public RadioMetadata.Builder();
4313    ctor public RadioMetadata.Builder(android.hardware.radio.RadioMetadata);
4314    method public android.hardware.radio.RadioMetadata build();
4315    method public android.hardware.radio.RadioMetadata.Builder putBitmap(String, android.graphics.Bitmap);
4316    method public android.hardware.radio.RadioMetadata.Builder putClock(String, long, int);
4317    method public android.hardware.radio.RadioMetadata.Builder putInt(String, int);
4318    method public android.hardware.radio.RadioMetadata.Builder putString(String, String);
4319  }
4320
4321  public static final class RadioMetadata.Clock implements android.os.Parcelable {
4322    ctor public RadioMetadata.Clock(long, int);
4323    method public int describeContents();
4324    method public int getTimezoneOffsetMinutes();
4325    method public long getUtcEpochSeconds();
4326    method public void writeToParcel(android.os.Parcel, int);
4327    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioMetadata.Clock> CREATOR;
4328  }
4329
4330  public abstract class RadioTuner {
4331    ctor public RadioTuner();
4332    method public abstract int cancel();
4333    method public abstract void cancelAnnouncement();
4334    method public abstract void close();
4335    method @Deprecated public abstract int getConfiguration(android.hardware.radio.RadioManager.BandConfig[]);
4336    method @Nullable public android.hardware.radio.ProgramList getDynamicProgramList(@Nullable android.hardware.radio.ProgramList.Filter);
4337    method public abstract boolean getMute();
4338    method @NonNull public java.util.Map<java.lang.String,java.lang.String> getParameters(@NonNull java.util.List<java.lang.String>);
4339    method @Deprecated public abstract int getProgramInformation(android.hardware.radio.RadioManager.ProgramInfo[]);
4340    method @Deprecated @NonNull public abstract java.util.List<android.hardware.radio.RadioManager.ProgramInfo> getProgramList(@Nullable java.util.Map<java.lang.String,java.lang.String>);
4341    method public abstract boolean hasControl();
4342    method @Deprecated public abstract boolean isAnalogForced();
4343    method @Deprecated public abstract boolean isAntennaConnected();
4344    method public boolean isConfigFlagSet(int);
4345    method public boolean isConfigFlagSupported(int);
4346    method public abstract int scan(int, boolean);
4347    method @Deprecated public abstract void setAnalogForced(boolean);
4348    method public void setConfigFlag(int, boolean);
4349    method @Deprecated public abstract int setConfiguration(android.hardware.radio.RadioManager.BandConfig);
4350    method public abstract int setMute(boolean);
4351    method @NonNull public java.util.Map<java.lang.String,java.lang.String> setParameters(@NonNull java.util.Map<java.lang.String,java.lang.String>);
4352    method public abstract boolean startBackgroundScan();
4353    method public abstract int step(int, boolean);
4354    method @Deprecated public abstract int tune(int, int);
4355    method public abstract void tune(@NonNull android.hardware.radio.ProgramSelector);
4356    field public static final int DIRECTION_DOWN = 1; // 0x1
4357    field public static final int DIRECTION_UP = 0; // 0x0
4358    field @Deprecated public static final int ERROR_BACKGROUND_SCAN_FAILED = 6; // 0x6
4359    field @Deprecated public static final int ERROR_BACKGROUND_SCAN_UNAVAILABLE = 5; // 0x5
4360    field @Deprecated public static final int ERROR_CANCELLED = 2; // 0x2
4361    field @Deprecated public static final int ERROR_CONFIG = 4; // 0x4
4362    field @Deprecated public static final int ERROR_HARDWARE_FAILURE = 0; // 0x0
4363    field @Deprecated public static final int ERROR_SCAN_TIMEOUT = 3; // 0x3
4364    field @Deprecated public static final int ERROR_SERVER_DIED = 1; // 0x1
4365  }
4366
4367  public abstract static class RadioTuner.Callback {
4368    ctor public RadioTuner.Callback();
4369    method public void onAntennaState(boolean);
4370    method public void onBackgroundScanAvailabilityChange(boolean);
4371    method public void onBackgroundScanComplete();
4372    method @Deprecated public void onConfigurationChanged(android.hardware.radio.RadioManager.BandConfig);
4373    method public void onControlChanged(boolean);
4374    method public void onEmergencyAnnouncement(boolean);
4375    method @Deprecated public void onError(int);
4376    method @Deprecated public void onMetadataChanged(android.hardware.radio.RadioMetadata);
4377    method public void onParametersUpdated(@NonNull java.util.Map<java.lang.String,java.lang.String>);
4378    method public void onProgramInfoChanged(android.hardware.radio.RadioManager.ProgramInfo);
4379    method public void onProgramListChanged();
4380    method public void onTrafficAnnouncement(boolean);
4381    method public void onTuneFailed(int, @Nullable android.hardware.radio.ProgramSelector);
4382  }
4383
4384}
4385
4386package android.hardware.soundtrigger {
4387
4388  public class SoundTrigger {
4389    field public static final int RECOGNITION_MODE_GENERIC = 8; // 0x8
4390    field public static final int RECOGNITION_MODE_USER_AUTHENTICATION = 4; // 0x4
4391    field public static final int RECOGNITION_MODE_USER_IDENTIFICATION = 2; // 0x2
4392    field public static final int RECOGNITION_MODE_VOICE_TRIGGER = 1; // 0x1
4393    field public static final int STATUS_OK = 0; // 0x0
4394  }
4395
4396  public static final class SoundTrigger.Keyphrase implements android.os.Parcelable {
4397    ctor public SoundTrigger.Keyphrase(int, int, @NonNull java.util.Locale, @NonNull String, @Nullable int[]);
4398    method public int getId();
4399    method @NonNull public java.util.Locale getLocale();
4400    method public int getRecognitionModes();
4401    method @NonNull public String getText();
4402    method @NonNull public int[] getUsers();
4403    method @NonNull public static android.hardware.soundtrigger.SoundTrigger.Keyphrase readFromParcel(@NonNull android.os.Parcel);
4404    method public void writeToParcel(@NonNull android.os.Parcel, int);
4405    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.Keyphrase> CREATOR;
4406  }
4407
4408  public static final class SoundTrigger.KeyphraseSoundModel extends android.hardware.soundtrigger.SoundTrigger.SoundModel implements android.os.Parcelable {
4409    ctor public SoundTrigger.KeyphraseSoundModel(@NonNull java.util.UUID, @NonNull java.util.UUID, @Nullable byte[], @Nullable android.hardware.soundtrigger.SoundTrigger.Keyphrase[], int);
4410    ctor public SoundTrigger.KeyphraseSoundModel(@NonNull java.util.UUID, @NonNull java.util.UUID, @Nullable byte[], @Nullable android.hardware.soundtrigger.SoundTrigger.Keyphrase[]);
4411    method @NonNull public android.hardware.soundtrigger.SoundTrigger.Keyphrase[] getKeyphrases();
4412    method @NonNull public static android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel readFromParcel(@NonNull android.os.Parcel);
4413    method public void writeToParcel(@NonNull android.os.Parcel, int);
4414    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel> CREATOR;
4415  }
4416
4417  public static final class SoundTrigger.ModelParamRange implements android.os.Parcelable {
4418    method public int getEnd();
4419    method public int getStart();
4420    method public void writeToParcel(@NonNull android.os.Parcel, int);
4421    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.ModelParamRange> CREATOR;
4422  }
4423
4424  public static final class SoundTrigger.ModuleProperties implements android.os.Parcelable {
4425    method public int describeContents();
4426    method public int getAudioCapabilities();
4427    method @NonNull public String getDescription();
4428    method public int getId();
4429    method @NonNull public String getImplementor();
4430    method public int getMaxBufferMillis();
4431    method public int getMaxKeyphrases();
4432    method public int getMaxSoundModels();
4433    method public int getMaxUsers();
4434    method public int getPowerConsumptionMw();
4435    method public int getRecognitionModes();
4436    method @NonNull public String getSupportedModelArch();
4437    method @NonNull public java.util.UUID getUuid();
4438    method public int getVersion();
4439    method public boolean isCaptureTransitionSupported();
4440    method public boolean isConcurrentCaptureSupported();
4441    method public boolean isTriggerReturnedInEvent();
4442    method public void writeToParcel(android.os.Parcel, int);
4443    field public static final int AUDIO_CAPABILITY_ECHO_CANCELLATION = 1; // 0x1
4444    field public static final int AUDIO_CAPABILITY_NOISE_SUPPRESSION = 2; // 0x2
4445    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.ModuleProperties> CREATOR;
4446  }
4447
4448  public static class SoundTrigger.RecognitionEvent {
4449    method @Nullable public android.media.AudioFormat getCaptureFormat();
4450    method public int getCaptureSession();
4451    method public byte[] getData();
4452    method public boolean isCaptureAvailable();
4453  }
4454
4455  public static class SoundTrigger.SoundModel {
4456    method @NonNull public byte[] getData();
4457    method public int getType();
4458    method @NonNull public java.util.UUID getUuid();
4459    method @NonNull public java.util.UUID getVendorUuid();
4460    method public int getVersion();
4461    field public static final int TYPE_GENERIC_SOUND = 1; // 0x1
4462    field public static final int TYPE_KEYPHRASE = 0; // 0x0
4463  }
4464
4465}
4466
4467package android.hardware.usb {
4468
4469  public class UsbDeviceConnection {
4470    method public boolean resetDevice();
4471  }
4472
4473  public class UsbManager {
4474    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public long getCurrentFunctions();
4475    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_USB) public java.util.List<android.hardware.usb.UsbPort> getPorts();
4476    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void grantPermission(android.hardware.usb.UsbDevice, String);
4477    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void resetUsbGadget();
4478    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void setCurrentFunctions(long);
4479    field @RequiresPermission(android.Manifest.permission.MANAGE_USB) public static final String ACTION_USB_ACCESSORY_HANDSHAKE = "android.hardware.usb.action.USB_ACCESSORY_HANDSHAKE";
4480    field @RequiresPermission(android.Manifest.permission.MANAGE_USB) public static final String ACTION_USB_PORT_CHANGED = "android.hardware.usb.action.USB_PORT_CHANGED";
4481    field public static final String ACTION_USB_STATE = "android.hardware.usb.action.USB_STATE";
4482    field public static final String EXTRA_ACCESSORY_HANDSHAKE_END = "android.hardware.usb.extra.ACCESSORY_HANDSHAKE_END";
4483    field public static final String EXTRA_ACCESSORY_START = "android.hardware.usb.extra.ACCESSORY_START";
4484    field public static final String EXTRA_ACCESSORY_STRING_COUNT = "android.hardware.usb.extra.ACCESSORY_STRING_COUNT";
4485    field public static final String EXTRA_ACCESSORY_UEVENT_TIME = "android.hardware.usb.extra.ACCESSORY_UEVENT_TIME";
4486    field public static final long FUNCTION_ACCESSORY = 2L; // 0x2L
4487    field public static final long FUNCTION_ADB = 1L; // 0x1L
4488    field public static final long FUNCTION_AUDIO_SOURCE = 64L; // 0x40L
4489    field public static final long FUNCTION_MIDI = 8L; // 0x8L
4490    field public static final long FUNCTION_MTP = 4L; // 0x4L
4491    field public static final long FUNCTION_NCM = 1024L; // 0x400L
4492    field public static final long FUNCTION_NONE = 0L; // 0x0L
4493    field public static final long FUNCTION_PTP = 16L; // 0x10L
4494    field public static final long FUNCTION_RNDIS = 32L; // 0x20L
4495    field public static final String USB_CONFIGURED = "configured";
4496    field public static final String USB_CONNECTED = "connected";
4497    field public static final String USB_FUNCTION_NCM = "ncm";
4498    field public static final String USB_FUNCTION_RNDIS = "rndis";
4499  }
4500
4501  public final class UsbPort {
4502    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USB) public android.hardware.usb.UsbPortStatus getStatus();
4503    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void setRoles(int, int);
4504  }
4505
4506  public final class UsbPortStatus implements android.os.Parcelable {
4507    method public int describeContents();
4508    method public int getCurrentDataRole();
4509    method public int getCurrentMode();
4510    method public int getCurrentPowerRole();
4511    method public int getSupportedRoleCombinations();
4512    method public boolean isConnected();
4513    method public boolean isRoleCombinationSupported(int, int);
4514    method public void writeToParcel(android.os.Parcel, int);
4515    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.usb.UsbPortStatus> CREATOR;
4516    field public static final int DATA_ROLE_DEVICE = 2; // 0x2
4517    field public static final int DATA_ROLE_HOST = 1; // 0x1
4518    field public static final int DATA_ROLE_NONE = 0; // 0x0
4519    field public static final int MODE_AUDIO_ACCESSORY = 4; // 0x4
4520    field public static final int MODE_DEBUG_ACCESSORY = 8; // 0x8
4521    field public static final int MODE_DFP = 2; // 0x2
4522    field public static final int MODE_NONE = 0; // 0x0
4523    field public static final int MODE_UFP = 1; // 0x1
4524    field public static final int POWER_ROLE_NONE = 0; // 0x0
4525    field public static final int POWER_ROLE_SINK = 2; // 0x2
4526    field public static final int POWER_ROLE_SOURCE = 1; // 0x1
4527  }
4528
4529}
4530
4531package android.location {
4532
4533  public abstract class BatchedLocationCallback {
4534    ctor public BatchedLocationCallback();
4535    method public void onLocationBatch(java.util.List<android.location.Location>);
4536  }
4537
4538  public final class CorrelationVector implements android.os.Parcelable {
4539    method public int describeContents();
4540    method @FloatRange(from=0.0f) public double getFrequencyOffsetMetersPerSecond();
4541    method @NonNull public int[] getMagnitude();
4542    method @FloatRange(from=0.0f) public double getSamplingStartMeters();
4543    method @FloatRange(from=0.0f, fromInclusive=false) public double getSamplingWidthMeters();
4544    method public void writeToParcel(@NonNull android.os.Parcel, int);
4545    field @NonNull public static final android.os.Parcelable.Creator<android.location.CorrelationVector> CREATOR;
4546  }
4547
4548  public static final class CorrelationVector.Builder {
4549    ctor public CorrelationVector.Builder();
4550    method @NonNull public android.location.CorrelationVector build();
4551    method @NonNull public android.location.CorrelationVector.Builder setFrequencyOffsetMetersPerSecond(@FloatRange(from=0.0f) double);
4552    method @NonNull public android.location.CorrelationVector.Builder setMagnitude(@NonNull int[]);
4553    method @NonNull public android.location.CorrelationVector.Builder setSamplingStartMeters(@FloatRange(from=0.0f) double);
4554    method @NonNull public android.location.CorrelationVector.Builder setSamplingWidthMeters(@FloatRange(from=0.0f, fromInclusive=false) double);
4555  }
4556
4557  public final class GnssCapabilities implements android.os.Parcelable {
4558    method public boolean hasGeofencing();
4559    method public boolean hasLowPowerMode();
4560    method public boolean hasMeasurementCorrections();
4561    method public boolean hasMeasurementCorrectionsExcessPathLength();
4562    method public boolean hasMeasurementCorrectionsForDriving();
4563    method public boolean hasMeasurementCorrectionsLosSats();
4564    method @Deprecated public boolean hasMeasurementCorrectionsReflectingPane();
4565    method public boolean hasMeasurementCorrectionsReflectingPlane();
4566    method public boolean hasMeasurementCorrelationVectors();
4567    method @Deprecated public boolean hasNavMessages();
4568    method @Deprecated public boolean hasSatelliteBlacklist();
4569    method public boolean hasSatelliteBlocklist();
4570    method public boolean hasSatellitePvt();
4571  }
4572
4573  public static final class GnssCapabilities.Builder {
4574    method @NonNull public android.location.GnssCapabilities.Builder setHasGeofencing(boolean);
4575    method @NonNull public android.location.GnssCapabilities.Builder setHasLowPowerMode(boolean);
4576    method @NonNull public android.location.GnssCapabilities.Builder setHasMeasurementCorrections(boolean);
4577    method @NonNull public android.location.GnssCapabilities.Builder setHasMeasurementCorrectionsExcessPathLength(boolean);
4578    method @NonNull public android.location.GnssCapabilities.Builder setHasMeasurementCorrectionsForDriving(boolean);
4579    method @NonNull public android.location.GnssCapabilities.Builder setHasMeasurementCorrectionsLosSats(boolean);
4580    method @NonNull public android.location.GnssCapabilities.Builder setHasMeasurementCorrectionsReflectingPlane(boolean);
4581    method @NonNull public android.location.GnssCapabilities.Builder setHasMeasurementCorrelationVectors(boolean);
4582    method @NonNull public android.location.GnssCapabilities.Builder setHasSatelliteBlocklist(boolean);
4583    method @NonNull public android.location.GnssCapabilities.Builder setHasSatellitePvt(boolean);
4584  }
4585
4586  public final class GnssMeasurement implements android.os.Parcelable {
4587    method @Nullable public java.util.Collection<android.location.CorrelationVector> getCorrelationVectors();
4588    method @Nullable public android.location.SatellitePvt getSatellitePvt();
4589    method public boolean hasCorrelationVectors();
4590    method public boolean hasSatellitePvt();
4591  }
4592
4593  public final class GnssMeasurementCorrections implements android.os.Parcelable {
4594    method public int describeContents();
4595    method @FloatRange(from=-1000.0F, to=10000.0f) public double getAltitudeMeters();
4596    method @FloatRange(from=0.0f, to=360.0f) public float getEnvironmentBearingDegrees();
4597    method @FloatRange(from=0.0f, to=180.0f) public float getEnvironmentBearingUncertaintyDegrees();
4598    method @FloatRange(from=0.0f) public double getHorizontalPositionUncertaintyMeters();
4599    method @FloatRange(from=-90.0F, to=90.0f) public double getLatitudeDegrees();
4600    method @FloatRange(from=-180.0F, to=180.0f) public double getLongitudeDegrees();
4601    method @NonNull public java.util.List<android.location.GnssSingleSatCorrection> getSingleSatelliteCorrectionList();
4602    method @IntRange(from=0) public long getToaGpsNanosecondsOfWeek();
4603    method @FloatRange(from=0.0f) public double getVerticalPositionUncertaintyMeters();
4604    method public boolean hasEnvironmentBearing();
4605    method public void writeToParcel(@NonNull android.os.Parcel, int);
4606    field public static final android.os.Parcelable.Creator<android.location.GnssMeasurementCorrections> CREATOR;
4607  }
4608
4609  public static final class GnssMeasurementCorrections.Builder {
4610    ctor public GnssMeasurementCorrections.Builder();
4611    method @NonNull public android.location.GnssMeasurementCorrections build();
4612    method @NonNull public android.location.GnssMeasurementCorrections.Builder setAltitudeMeters(@FloatRange(from=-1000.0F, to=10000.0f) double);
4613    method @NonNull public android.location.GnssMeasurementCorrections.Builder setEnvironmentBearingDegrees(@FloatRange(from=0.0f, to=360.0f) float);
4614    method @NonNull public android.location.GnssMeasurementCorrections.Builder setEnvironmentBearingUncertaintyDegrees(@FloatRange(from=0.0f, to=180.0f) float);
4615    method @NonNull public android.location.GnssMeasurementCorrections.Builder setHorizontalPositionUncertaintyMeters(@FloatRange(from=0.0f) double);
4616    method @NonNull public android.location.GnssMeasurementCorrections.Builder setLatitudeDegrees(@FloatRange(from=-90.0F, to=90.0f) double);
4617    method @NonNull public android.location.GnssMeasurementCorrections.Builder setLongitudeDegrees(@FloatRange(from=-180.0F, to=180.0f) double);
4618    method @NonNull public android.location.GnssMeasurementCorrections.Builder setSingleSatelliteCorrectionList(@NonNull java.util.List<android.location.GnssSingleSatCorrection>);
4619    method @NonNull public android.location.GnssMeasurementCorrections.Builder setToaGpsNanosecondsOfWeek(@IntRange(from=0) long);
4620    method @NonNull public android.location.GnssMeasurementCorrections.Builder setVerticalPositionUncertaintyMeters(@FloatRange(from=0.0f) double);
4621  }
4622
4623  public final class GnssMeasurementRequest implements android.os.Parcelable {
4624    method public boolean isCorrelationVectorOutputsEnabled();
4625  }
4626
4627  public static final class GnssMeasurementRequest.Builder {
4628    method @NonNull public android.location.GnssMeasurementRequest.Builder setCorrelationVectorOutputsEnabled(boolean);
4629  }
4630
4631  public final class GnssReflectingPlane implements android.os.Parcelable {
4632    method public int describeContents();
4633    method @FloatRange(from=-1000.0F, to=10000.0f) public double getAltitudeMeters();
4634    method @FloatRange(from=0.0f, to=360.0f) public double getAzimuthDegrees();
4635    method @FloatRange(from=-90.0F, to=90.0f) public double getLatitudeDegrees();
4636    method @FloatRange(from=-180.0F, to=180.0f) public double getLongitudeDegrees();
4637    method public void writeToParcel(@NonNull android.os.Parcel, int);
4638    field public static final android.os.Parcelable.Creator<android.location.GnssReflectingPlane> CREATOR;
4639  }
4640
4641  public static final class GnssReflectingPlane.Builder {
4642    ctor public GnssReflectingPlane.Builder();
4643    method @NonNull public android.location.GnssReflectingPlane build();
4644    method @NonNull public android.location.GnssReflectingPlane.Builder setAltitudeMeters(@FloatRange(from=-1000.0F, to=10000.0f) double);
4645    method @NonNull public android.location.GnssReflectingPlane.Builder setAzimuthDegrees(@FloatRange(from=0.0f, to=360.0f) double);
4646    method @NonNull public android.location.GnssReflectingPlane.Builder setLatitudeDegrees(@FloatRange(from=-90.0F, to=90.0f) double);
4647    method @NonNull public android.location.GnssReflectingPlane.Builder setLongitudeDegrees(@FloatRange(from=-180.0F, to=180.0f) double);
4648  }
4649
4650  public final class GnssRequest implements android.os.Parcelable {
4651    method public int describeContents();
4652    method public boolean isFullTracking();
4653    method public void writeToParcel(@NonNull android.os.Parcel, int);
4654    field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssRequest> CREATOR;
4655  }
4656
4657  public static final class GnssRequest.Builder {
4658    ctor public GnssRequest.Builder();
4659    ctor public GnssRequest.Builder(@NonNull android.location.GnssRequest);
4660    method @NonNull public android.location.GnssRequest build();
4661    method @NonNull public android.location.GnssRequest.Builder setFullTracking(boolean);
4662  }
4663
4664  public final class GnssSingleSatCorrection implements android.os.Parcelable {
4665    method public int describeContents();
4666    method @FloatRange(from=0.0f, fromInclusive=false) public float getCarrierFrequencyHz();
4667    method public int getConstellationType();
4668    method @FloatRange(from=0.0f) public float getExcessPathLengthMeters();
4669    method @FloatRange(from=0.0f) public float getExcessPathLengthUncertaintyMeters();
4670    method @FloatRange(from=0.0f, to=1.0f) public float getProbabilityLineOfSight();
4671    method @Nullable public android.location.GnssReflectingPlane getReflectingPlane();
4672    method @IntRange(from=0) public int getSatelliteId();
4673    method public boolean hasExcessPathLength();
4674    method public boolean hasExcessPathLengthUncertainty();
4675    method public boolean hasReflectingPlane();
4676    method public boolean hasValidSatelliteLineOfSight();
4677    method public void writeToParcel(@NonNull android.os.Parcel, int);
4678    field public static final android.os.Parcelable.Creator<android.location.GnssSingleSatCorrection> CREATOR;
4679  }
4680
4681  public static final class GnssSingleSatCorrection.Builder {
4682    ctor public GnssSingleSatCorrection.Builder();
4683    method @NonNull public android.location.GnssSingleSatCorrection build();
4684    method @NonNull public android.location.GnssSingleSatCorrection.Builder setCarrierFrequencyHz(@FloatRange(from=0.0f, fromInclusive=false) float);
4685    method @NonNull public android.location.GnssSingleSatCorrection.Builder setConstellationType(int);
4686    method @NonNull public android.location.GnssSingleSatCorrection.Builder setExcessPathLengthMeters(@FloatRange(from=0.0f) float);
4687    method @NonNull public android.location.GnssSingleSatCorrection.Builder setExcessPathLengthUncertaintyMeters(@FloatRange(from=0.0f) float);
4688    method @NonNull public android.location.GnssSingleSatCorrection.Builder setProbabilityLineOfSight(@FloatRange(from=0.0f, to=1.0f) float);
4689    method @NonNull public android.location.GnssSingleSatCorrection.Builder setReflectingPlane(@Nullable android.location.GnssReflectingPlane);
4690    method @NonNull public android.location.GnssSingleSatCorrection.Builder setSatelliteId(@IntRange(from=0) int);
4691  }
4692
4693  @Deprecated public class GpsClock implements android.os.Parcelable {
4694    method @Deprecated public int describeContents();
4695    method @Deprecated public double getBiasInNs();
4696    method @Deprecated public double getBiasUncertaintyInNs();
4697    method @Deprecated public double getDriftInNsPerSec();
4698    method @Deprecated public double getDriftUncertaintyInNsPerSec();
4699    method @Deprecated public long getFullBiasInNs();
4700    method @Deprecated public short getLeapSecond();
4701    method @Deprecated public long getTimeInNs();
4702    method @Deprecated public double getTimeUncertaintyInNs();
4703    method @Deprecated public byte getType();
4704    method @Deprecated public boolean hasBiasInNs();
4705    method @Deprecated public boolean hasBiasUncertaintyInNs();
4706    method @Deprecated public boolean hasDriftInNsPerSec();
4707    method @Deprecated public boolean hasDriftUncertaintyInNsPerSec();
4708    method @Deprecated public boolean hasFullBiasInNs();
4709    method @Deprecated public boolean hasLeapSecond();
4710    method @Deprecated public boolean hasTimeUncertaintyInNs();
4711    method @Deprecated public void reset();
4712    method @Deprecated public void resetBiasInNs();
4713    method @Deprecated public void resetBiasUncertaintyInNs();
4714    method @Deprecated public void resetDriftInNsPerSec();
4715    method @Deprecated public void resetDriftUncertaintyInNsPerSec();
4716    method @Deprecated public void resetFullBiasInNs();
4717    method @Deprecated public void resetLeapSecond();
4718    method @Deprecated public void resetTimeUncertaintyInNs();
4719    method @Deprecated public void set(android.location.GpsClock);
4720    method @Deprecated public void setBiasInNs(double);
4721    method @Deprecated public void setBiasUncertaintyInNs(double);
4722    method @Deprecated public void setDriftInNsPerSec(double);
4723    method @Deprecated public void setDriftUncertaintyInNsPerSec(double);
4724    method @Deprecated public void setFullBiasInNs(long);
4725    method @Deprecated public void setLeapSecond(short);
4726    method @Deprecated public void setTimeInNs(long);
4727    method @Deprecated public void setTimeUncertaintyInNs(double);
4728    method @Deprecated public void setType(byte);
4729    method @Deprecated public void writeToParcel(android.os.Parcel, int);
4730    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsClock> CREATOR;
4731    field @Deprecated public static final byte TYPE_GPS_TIME = 2; // 0x2
4732    field @Deprecated public static final byte TYPE_LOCAL_HW_TIME = 1; // 0x1
4733    field @Deprecated public static final byte TYPE_UNKNOWN = 0; // 0x0
4734  }
4735
4736  @Deprecated public class GpsMeasurement implements android.os.Parcelable {
4737    method @Deprecated public int describeContents();
4738    method @Deprecated public double getAccumulatedDeltaRangeInMeters();
4739    method @Deprecated public short getAccumulatedDeltaRangeState();
4740    method @Deprecated public double getAccumulatedDeltaRangeUncertaintyInMeters();
4741    method @Deprecated public double getAzimuthInDeg();
4742    method @Deprecated public double getAzimuthUncertaintyInDeg();
4743    method @Deprecated public int getBitNumber();
4744    method @Deprecated public long getCarrierCycles();
4745    method @Deprecated public float getCarrierFrequencyInHz();
4746    method @Deprecated public double getCarrierPhase();
4747    method @Deprecated public double getCarrierPhaseUncertainty();
4748    method @Deprecated public double getCn0InDbHz();
4749    method @Deprecated public double getCodePhaseInChips();
4750    method @Deprecated public double getCodePhaseUncertaintyInChips();
4751    method @Deprecated public double getDopplerShiftInHz();
4752    method @Deprecated public double getDopplerShiftUncertaintyInHz();
4753    method @Deprecated public double getElevationInDeg();
4754    method @Deprecated public double getElevationUncertaintyInDeg();
4755    method @Deprecated public byte getLossOfLock();
4756    method @Deprecated public byte getMultipathIndicator();
4757    method @Deprecated public byte getPrn();
4758    method @Deprecated public double getPseudorangeInMeters();
4759    method @Deprecated public double getPseudorangeRateInMetersPerSec();
4760    method @Deprecated public double getPseudorangeRateUncertaintyInMetersPerSec();
4761    method @Deprecated public double getPseudorangeUncertaintyInMeters();
4762    method @Deprecated public long getReceivedGpsTowInNs();
4763    method @Deprecated public long getReceivedGpsTowUncertaintyInNs();
4764    method @Deprecated public double getSnrInDb();
4765    method @Deprecated public short getState();
4766    method @Deprecated public short getTimeFromLastBitInMs();
4767    method @Deprecated public double getTimeOffsetInNs();
4768    method @Deprecated public boolean hasAzimuthInDeg();
4769    method @Deprecated public boolean hasAzimuthUncertaintyInDeg();
4770    method @Deprecated public boolean hasBitNumber();
4771    method @Deprecated public boolean hasCarrierCycles();
4772    method @Deprecated public boolean hasCarrierFrequencyInHz();
4773    method @Deprecated public boolean hasCarrierPhase();
4774    method @Deprecated public boolean hasCarrierPhaseUncertainty();
4775    method @Deprecated public boolean hasCodePhaseInChips();
4776    method @Deprecated public boolean hasCodePhaseUncertaintyInChips();
4777    method @Deprecated public boolean hasDopplerShiftInHz();
4778    method @Deprecated public boolean hasDopplerShiftUncertaintyInHz();
4779    method @Deprecated public boolean hasElevationInDeg();
4780    method @Deprecated public boolean hasElevationUncertaintyInDeg();
4781    method @Deprecated public boolean hasPseudorangeInMeters();
4782    method @Deprecated public boolean hasPseudorangeUncertaintyInMeters();
4783    method @Deprecated public boolean hasSnrInDb();
4784    method @Deprecated public boolean hasTimeFromLastBitInMs();
4785    method @Deprecated public boolean isPseudorangeRateCorrected();
4786    method @Deprecated public boolean isUsedInFix();
4787    method @Deprecated public void reset();
4788    method @Deprecated public void resetAzimuthInDeg();
4789    method @Deprecated public void resetAzimuthUncertaintyInDeg();
4790    method @Deprecated public void resetBitNumber();
4791    method @Deprecated public void resetCarrierCycles();
4792    method @Deprecated public void resetCarrierFrequencyInHz();
4793    method @Deprecated public void resetCarrierPhase();
4794    method @Deprecated public void resetCarrierPhaseUncertainty();
4795    method @Deprecated public void resetCodePhaseInChips();
4796    method @Deprecated public void resetCodePhaseUncertaintyInChips();
4797    method @Deprecated public void resetDopplerShiftInHz();
4798    method @Deprecated public void resetDopplerShiftUncertaintyInHz();
4799    method @Deprecated public void resetElevationInDeg();
4800    method @Deprecated public void resetElevationUncertaintyInDeg();
4801    method @Deprecated public void resetPseudorangeInMeters();
4802    method @Deprecated public void resetPseudorangeUncertaintyInMeters();
4803    method @Deprecated public void resetSnrInDb();
4804    method @Deprecated public void resetTimeFromLastBitInMs();
4805    method @Deprecated public void set(android.location.GpsMeasurement);
4806    method @Deprecated public void setAccumulatedDeltaRangeInMeters(double);
4807    method @Deprecated public void setAccumulatedDeltaRangeState(short);
4808    method @Deprecated public void setAccumulatedDeltaRangeUncertaintyInMeters(double);
4809    method @Deprecated public void setAzimuthInDeg(double);
4810    method @Deprecated public void setAzimuthUncertaintyInDeg(double);
4811    method @Deprecated public void setBitNumber(int);
4812    method @Deprecated public void setCarrierCycles(long);
4813    method @Deprecated public void setCarrierFrequencyInHz(float);
4814    method @Deprecated public void setCarrierPhase(double);
4815    method @Deprecated public void setCarrierPhaseUncertainty(double);
4816    method @Deprecated public void setCn0InDbHz(double);
4817    method @Deprecated public void setCodePhaseInChips(double);
4818    method @Deprecated public void setCodePhaseUncertaintyInChips(double);
4819    method @Deprecated public void setDopplerShiftInHz(double);
4820    method @Deprecated public void setDopplerShiftUncertaintyInHz(double);
4821    method @Deprecated public void setElevationInDeg(double);
4822    method @Deprecated public void setElevationUncertaintyInDeg(double);
4823    method @Deprecated public void setLossOfLock(byte);
4824    method @Deprecated public void setMultipathIndicator(byte);
4825    method @Deprecated public void setPrn(byte);
4826    method @Deprecated public void setPseudorangeInMeters(double);
4827    method @Deprecated public void setPseudorangeRateInMetersPerSec(double);
4828    method @Deprecated public void setPseudorangeRateUncertaintyInMetersPerSec(double);
4829    method @Deprecated public void setPseudorangeUncertaintyInMeters(double);
4830    method @Deprecated public void setReceivedGpsTowInNs(long);
4831    method @Deprecated public void setReceivedGpsTowUncertaintyInNs(long);
4832    method @Deprecated public void setSnrInDb(double);
4833    method @Deprecated public void setState(short);
4834    method @Deprecated public void setTimeFromLastBitInMs(short);
4835    method @Deprecated public void setTimeOffsetInNs(double);
4836    method @Deprecated public void setUsedInFix(boolean);
4837    method @Deprecated public void writeToParcel(android.os.Parcel, int);
4838    field @Deprecated public static final short ADR_STATE_CYCLE_SLIP = 4; // 0x4
4839    field @Deprecated public static final short ADR_STATE_RESET = 2; // 0x2
4840    field @Deprecated public static final short ADR_STATE_UNKNOWN = 0; // 0x0
4841    field @Deprecated public static final short ADR_STATE_VALID = 1; // 0x1
4842    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsMeasurement> CREATOR;
4843    field @Deprecated public static final byte LOSS_OF_LOCK_CYCLE_SLIP = 2; // 0x2
4844    field @Deprecated public static final byte LOSS_OF_LOCK_OK = 1; // 0x1
4845    field @Deprecated public static final byte LOSS_OF_LOCK_UNKNOWN = 0; // 0x0
4846    field @Deprecated public static final byte MULTIPATH_INDICATOR_DETECTED = 1; // 0x1
4847    field @Deprecated public static final byte MULTIPATH_INDICATOR_NOT_USED = 2; // 0x2
4848    field @Deprecated public static final byte MULTIPATH_INDICATOR_UNKNOWN = 0; // 0x0
4849    field @Deprecated public static final short STATE_BIT_SYNC = 2; // 0x2
4850    field @Deprecated public static final short STATE_CODE_LOCK = 1; // 0x1
4851    field @Deprecated public static final short STATE_MSEC_AMBIGUOUS = 16; // 0x10
4852    field @Deprecated public static final short STATE_SUBFRAME_SYNC = 4; // 0x4
4853    field @Deprecated public static final short STATE_TOW_DECODED = 8; // 0x8
4854    field @Deprecated public static final short STATE_UNKNOWN = 0; // 0x0
4855  }
4856
4857  @Deprecated public class GpsMeasurementsEvent implements android.os.Parcelable {
4858    ctor @Deprecated public GpsMeasurementsEvent(android.location.GpsClock, android.location.GpsMeasurement[]);
4859    method @Deprecated public int describeContents();
4860    method @Deprecated @NonNull public android.location.GpsClock getClock();
4861    method @Deprecated @NonNull public java.util.Collection<android.location.GpsMeasurement> getMeasurements();
4862    method @Deprecated public void writeToParcel(android.os.Parcel, int);
4863    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsMeasurementsEvent> CREATOR;
4864    field @Deprecated public static final int STATUS_GPS_LOCATION_DISABLED = 2; // 0x2
4865    field @Deprecated public static final int STATUS_NOT_SUPPORTED = 0; // 0x0
4866    field @Deprecated public static final int STATUS_READY = 1; // 0x1
4867  }
4868
4869  @Deprecated public static interface GpsMeasurementsEvent.Listener {
4870    method @Deprecated public void onGpsMeasurementsReceived(android.location.GpsMeasurementsEvent);
4871    method @Deprecated public void onStatusChanged(int);
4872  }
4873
4874  @Deprecated public class GpsNavigationMessage implements android.os.Parcelable {
4875    method @Deprecated public int describeContents();
4876    method @Deprecated @NonNull public byte[] getData();
4877    method @Deprecated public short getMessageId();
4878    method @Deprecated public byte getPrn();
4879    method @Deprecated public short getStatus();
4880    method @Deprecated public short getSubmessageId();
4881    method @Deprecated public byte getType();
4882    method @Deprecated public void reset();
4883    method @Deprecated public void set(android.location.GpsNavigationMessage);
4884    method @Deprecated public void setData(byte[]);
4885    method @Deprecated public void setMessageId(short);
4886    method @Deprecated public void setPrn(byte);
4887    method @Deprecated public void setStatus(short);
4888    method @Deprecated public void setSubmessageId(short);
4889    method @Deprecated public void setType(byte);
4890    method @Deprecated public void writeToParcel(android.os.Parcel, int);
4891    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsNavigationMessage> CREATOR;
4892    field @Deprecated public static final short STATUS_PARITY_PASSED = 1; // 0x1
4893    field @Deprecated public static final short STATUS_PARITY_REBUILT = 2; // 0x2
4894    field @Deprecated public static final short STATUS_UNKNOWN = 0; // 0x0
4895    field @Deprecated public static final byte TYPE_CNAV2 = 4; // 0x4
4896    field @Deprecated public static final byte TYPE_L1CA = 1; // 0x1
4897    field @Deprecated public static final byte TYPE_L2CNAV = 2; // 0x2
4898    field @Deprecated public static final byte TYPE_L5CNAV = 3; // 0x3
4899    field @Deprecated public static final byte TYPE_UNKNOWN = 0; // 0x0
4900  }
4901
4902  @Deprecated public class GpsNavigationMessageEvent implements android.os.Parcelable {
4903    ctor @Deprecated public GpsNavigationMessageEvent(android.location.GpsNavigationMessage);
4904    method @Deprecated public int describeContents();
4905    method @Deprecated @NonNull public android.location.GpsNavigationMessage getNavigationMessage();
4906    method @Deprecated public void writeToParcel(android.os.Parcel, int);
4907    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsNavigationMessageEvent> CREATOR;
4908    field @Deprecated public static int STATUS_GPS_LOCATION_DISABLED;
4909    field @Deprecated public static int STATUS_NOT_SUPPORTED;
4910    field @Deprecated public static int STATUS_READY;
4911  }
4912
4913  @Deprecated public static interface GpsNavigationMessageEvent.Listener {
4914    method @Deprecated public void onGpsNavigationMessageReceived(android.location.GpsNavigationMessageEvent);
4915    method @Deprecated public void onStatusChanged(int);
4916  }
4917
4918  public final class LastLocationRequest implements android.os.Parcelable {
4919    method public int describeContents();
4920    method public boolean isHiddenFromAppOps();
4921    method public boolean isLocationSettingsIgnored();
4922    method public void writeToParcel(@NonNull android.os.Parcel, int);
4923    field @NonNull public static final android.os.Parcelable.Creator<android.location.LastLocationRequest> CREATOR;
4924  }
4925
4926  public static final class LastLocationRequest.Builder {
4927    ctor public LastLocationRequest.Builder();
4928    ctor public LastLocationRequest.Builder(@NonNull android.location.LastLocationRequest);
4929    method @NonNull public android.location.LastLocationRequest build();
4930    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_APP_OPS_STATS) public android.location.LastLocationRequest.Builder setHiddenFromAppOps(boolean);
4931    method @NonNull @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public android.location.LastLocationRequest.Builder setLocationSettingsIgnored(boolean);
4932  }
4933
4934  public class Location implements android.os.Parcelable {
4935    method public boolean isComplete();
4936    method public void makeComplete();
4937    method @Deprecated public void setIsFromMockProvider(boolean);
4938    field @Deprecated public static final String EXTRA_NO_GPS_LOCATION = "noGPSLocation";
4939  }
4940
4941  public class LocationManager {
4942    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void addProviderRequestChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.location.provider.ProviderRequest.ChangedListener);
4943    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void flushGnssBatch();
4944    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void getCurrentLocation(@NonNull android.location.LocationRequest, @Nullable android.os.CancellationSignal, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.location.Location>);
4945    method @Nullable public String getExtraLocationControllerPackage();
4946    method @Deprecated public int getGnssBatchSize();
4947    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public android.location.Location getLastKnownLocation(@NonNull String, @NonNull android.location.LastLocationRequest);
4948    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public void injectGnssMeasurementCorrections(@NonNull android.location.GnssMeasurementCorrections);
4949    method public boolean isExtraLocationControllerPackageEnabled();
4950    method public boolean isLocationEnabledForUser(@NonNull android.os.UserHandle);
4951    method public boolean isProviderEnabledForUser(@NonNull String, @NonNull android.os.UserHandle);
4952    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public boolean isProviderPackage(@NonNull String);
4953    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public boolean isProviderPackage(@Nullable String, @NonNull String, @Nullable String);
4954    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.UPDATE_APP_OPS_STATS}) public boolean registerGnssBatchedLocationCallback(long, boolean, @NonNull android.location.BatchedLocationCallback, @Nullable android.os.Handler);
4955    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerGnssMeasurementsCallback(@NonNull android.location.GnssRequest, @NonNull java.util.concurrent.Executor, @NonNull android.location.GnssMeasurementsEvent.Callback);
4956    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void removeProviderRequestChangedListener(@NonNull android.location.provider.ProviderRequest.ChangedListener);
4957    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(@Nullable android.location.LocationRequest, @NonNull android.location.LocationListener, @Nullable android.os.Looper);
4958    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(@Nullable android.location.LocationRequest, @NonNull java.util.concurrent.Executor, @NonNull android.location.LocationListener);
4959    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(@Nullable android.location.LocationRequest, @NonNull android.app.PendingIntent);
4960    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void setExtraLocationControllerPackage(@Nullable String);
4961    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void setExtraLocationControllerPackageEnabled(boolean);
4962    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void setLocationEnabledForUser(boolean, @NonNull android.os.UserHandle);
4963    method @Deprecated @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean setProviderEnabledForUser(@NonNull String, boolean, @NonNull android.os.UserHandle);
4964    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public boolean unregisterGnssBatchedLocationCallback(@NonNull android.location.BatchedLocationCallback);
4965  }
4966
4967  public final class LocationRequest implements android.os.Parcelable {
4968    method @Deprecated @NonNull public static android.location.LocationRequest create();
4969    method @Deprecated @NonNull public static android.location.LocationRequest createFromDeprecatedCriteria(@NonNull android.location.Criteria, long, float, boolean);
4970    method @Deprecated @NonNull public static android.location.LocationRequest createFromDeprecatedProvider(@NonNull String, long, float, boolean);
4971    method @Deprecated public long getExpireAt();
4972    method @Deprecated public long getExpireIn();
4973    method @Deprecated public long getFastestInterval();
4974    method @Deprecated public boolean getHideFromAppOps();
4975    method @Deprecated public long getInterval();
4976    method @Deprecated public int getNumUpdates();
4977    method @Deprecated @NonNull public String getProvider();
4978    method @Deprecated public float getSmallestDisplacement();
4979    method @NonNull public android.os.WorkSource getWorkSource();
4980    method public boolean isHiddenFromAppOps();
4981    method public boolean isLocationSettingsIgnored();
4982    method public boolean isLowPower();
4983    method @Deprecated public boolean isLowPowerMode();
4984    method @Deprecated @NonNull public android.location.LocationRequest setExpireAt(long);
4985    method @Deprecated @NonNull public android.location.LocationRequest setExpireIn(long);
4986    method @Deprecated @NonNull public android.location.LocationRequest setFastestInterval(long);
4987    method @Deprecated public void setHideFromAppOps(boolean);
4988    method @Deprecated @NonNull public android.location.LocationRequest setInterval(long);
4989    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public android.location.LocationRequest setLocationSettingsIgnored(boolean);
4990    method @Deprecated @NonNull public android.location.LocationRequest setLowPowerMode(boolean);
4991    method @Deprecated @NonNull public android.location.LocationRequest setNumUpdates(int);
4992    method @Deprecated @NonNull public android.location.LocationRequest setProvider(@NonNull String);
4993    method @Deprecated @NonNull public android.location.LocationRequest setQuality(int);
4994    method @Deprecated @NonNull public android.location.LocationRequest setSmallestDisplacement(float);
4995    method @Deprecated public void setWorkSource(@Nullable android.os.WorkSource);
4996    field @Deprecated public static final int ACCURACY_BLOCK = 102; // 0x66
4997    field @Deprecated public static final int ACCURACY_CITY = 104; // 0x68
4998    field @Deprecated public static final int ACCURACY_FINE = 100; // 0x64
4999    field @Deprecated public static final int POWER_HIGH = 203; // 0xcb
5000    field @Deprecated public static final int POWER_LOW = 201; // 0xc9
5001    field @Deprecated public static final int POWER_NONE = 200; // 0xc8
5002  }
5003
5004  public static final class LocationRequest.Builder {
5005    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_APP_OPS_STATS) public android.location.LocationRequest.Builder setHiddenFromAppOps(boolean);
5006    method @NonNull @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public android.location.LocationRequest.Builder setLocationSettingsIgnored(boolean);
5007    method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public android.location.LocationRequest.Builder setLowPower(boolean);
5008    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public android.location.LocationRequest.Builder setWorkSource(@Nullable android.os.WorkSource);
5009  }
5010
5011  public final class SatellitePvt implements android.os.Parcelable {
5012    method public int describeContents();
5013    method @Nullable public android.location.SatellitePvt.ClockInfo getClockInfo();
5014    method @FloatRange public double getIonoDelayMeters();
5015    method @Nullable public android.location.SatellitePvt.PositionEcef getPositionEcef();
5016    method @FloatRange public double getTropoDelayMeters();
5017    method @Nullable public android.location.SatellitePvt.VelocityEcef getVelocityEcef();
5018    method public boolean hasIono();
5019    method public boolean hasPositionVelocityClockInfo();
5020    method public boolean hasTropo();
5021    method public void writeToParcel(@NonNull android.os.Parcel, int);
5022    field @NonNull public static final android.os.Parcelable.Creator<android.location.SatellitePvt> CREATOR;
5023  }
5024
5025  public static final class SatellitePvt.Builder {
5026    ctor public SatellitePvt.Builder();
5027    method @NonNull public android.location.SatellitePvt build();
5028    method @NonNull public android.location.SatellitePvt.Builder setClockInfo(@NonNull android.location.SatellitePvt.ClockInfo);
5029    method @NonNull public android.location.SatellitePvt.Builder setIonoDelayMeters(@FloatRange(from=0.0f, to=100.0f) double);
5030    method @NonNull public android.location.SatellitePvt.Builder setPositionEcef(@NonNull android.location.SatellitePvt.PositionEcef);
5031    method @NonNull public android.location.SatellitePvt.Builder setTropoDelayMeters(@FloatRange(from=0.0f, to=100.0f) double);
5032    method @NonNull public android.location.SatellitePvt.Builder setVelocityEcef(@NonNull android.location.SatellitePvt.VelocityEcef);
5033  }
5034
5035  public static final class SatellitePvt.ClockInfo implements android.os.Parcelable {
5036    ctor public SatellitePvt.ClockInfo(double, double, double);
5037    method public int describeContents();
5038    method @FloatRange public double getClockDriftMetersPerSecond();
5039    method @FloatRange public double getHardwareCodeBiasMeters();
5040    method @FloatRange public double getTimeCorrectionMeters();
5041    method public void writeToParcel(@NonNull android.os.Parcel, int);
5042    field @NonNull public static final android.os.Parcelable.Creator<android.location.SatellitePvt.ClockInfo> CREATOR;
5043  }
5044
5045  public static final class SatellitePvt.PositionEcef implements android.os.Parcelable {
5046    ctor public SatellitePvt.PositionEcef(double, double, double, double);
5047    method public int describeContents();
5048    method @FloatRange(from=0.0f, fromInclusive=false) public double getUreMeters();
5049    method @FloatRange public double getXMeters();
5050    method @FloatRange public double getYMeters();
5051    method @FloatRange public double getZMeters();
5052    method public void writeToParcel(@NonNull android.os.Parcel, int);
5053    field @NonNull public static final android.os.Parcelable.Creator<android.location.SatellitePvt.PositionEcef> CREATOR;
5054  }
5055
5056  public static final class SatellitePvt.VelocityEcef implements android.os.Parcelable {
5057    ctor public SatellitePvt.VelocityEcef(double, double, double, double);
5058    method public int describeContents();
5059    method @FloatRange(from=0.0f, fromInclusive=false) public double getUreRateMetersPerSecond();
5060    method @FloatRange public double getXMetersPerSecond();
5061    method @FloatRange public double getYMetersPerSecond();
5062    method @FloatRange public double getZMetersPerSecond();
5063    method public void writeToParcel(@NonNull android.os.Parcel, int);
5064    field @NonNull public static final android.os.Parcelable.Creator<android.location.SatellitePvt.VelocityEcef> CREATOR;
5065  }
5066
5067}
5068
5069package android.location.provider {
5070
5071  public abstract class LocationProviderBase {
5072    ctor public LocationProviderBase(@NonNull android.content.Context, @NonNull String, @NonNull android.location.provider.ProviderProperties);
5073    method @Nullable public final android.os.IBinder getBinder();
5074    method @NonNull public android.location.provider.ProviderProperties getProperties();
5075    method public boolean isAllowed();
5076    method public abstract void onFlush(@NonNull android.location.provider.LocationProviderBase.OnFlushCompleteCallback);
5077    method public abstract void onSendExtraCommand(@NonNull String, @Nullable android.os.Bundle);
5078    method public abstract void onSetRequest(@NonNull android.location.provider.ProviderRequest);
5079    method public void reportLocation(@NonNull android.location.Location);
5080    method public void reportLocations(@NonNull java.util.List<android.location.Location>);
5081    method public void setAllowed(boolean);
5082    method public void setProperties(@NonNull android.location.provider.ProviderProperties);
5083    field public static final String ACTION_FUSED_PROVIDER = "com.android.location.service.FusedLocationProvider";
5084    field public static final String ACTION_NETWORK_PROVIDER = "com.android.location.service.v3.NetworkLocationProvider";
5085  }
5086
5087  public static interface LocationProviderBase.OnFlushCompleteCallback {
5088    method public void onFlushComplete();
5089  }
5090
5091  public final class ProviderRequest implements android.os.Parcelable {
5092    method public int describeContents();
5093    method @IntRange(from=0) public long getIntervalMillis();
5094    method @IntRange(from=0) public long getMaxUpdateDelayMillis();
5095    method public int getQuality();
5096    method @NonNull public android.os.WorkSource getWorkSource();
5097    method public boolean isActive();
5098    method public boolean isLocationSettingsIgnored();
5099    method public boolean isLowPower();
5100    method public void writeToParcel(@NonNull android.os.Parcel, int);
5101    field @NonNull public static final android.os.Parcelable.Creator<android.location.provider.ProviderRequest> CREATOR;
5102    field @NonNull public static final android.location.provider.ProviderRequest EMPTY_REQUEST;
5103    field public static final long INTERVAL_DISABLED = 9223372036854775807L; // 0x7fffffffffffffffL
5104  }
5105
5106  public static final class ProviderRequest.Builder {
5107    ctor public ProviderRequest.Builder();
5108    method @NonNull public android.location.provider.ProviderRequest build();
5109    method @NonNull public android.location.provider.ProviderRequest.Builder setIntervalMillis(@IntRange(from=0) long);
5110    method @NonNull public android.location.provider.ProviderRequest.Builder setLocationSettingsIgnored(boolean);
5111    method @NonNull public android.location.provider.ProviderRequest.Builder setLowPower(boolean);
5112    method @NonNull public android.location.provider.ProviderRequest.Builder setMaxUpdateDelayMillis(@IntRange(from=0) long);
5113    method @NonNull public android.location.provider.ProviderRequest.Builder setQuality(int);
5114    method @NonNull public android.location.provider.ProviderRequest.Builder setWorkSource(@NonNull android.os.WorkSource);
5115  }
5116
5117  public static interface ProviderRequest.ChangedListener {
5118    method public void onProviderRequestChanged(@NonNull String, @NonNull android.location.provider.ProviderRequest);
5119  }
5120
5121}
5122
5123package android.media {
5124
5125  public final class AudioAttributes implements android.os.Parcelable {
5126    method public int getAllFlags();
5127    method public android.os.Bundle getBundle();
5128    method public int getCapturePreset();
5129    method public int getSystemUsage();
5130    method public static boolean isSystemUsage(int);
5131    field public static final int FLAG_BEACON = 8; // 0x8
5132    field public static final int FLAG_BYPASS_INTERRUPTION_POLICY = 64; // 0x40
5133    field public static final int FLAG_BYPASS_MUTE = 128; // 0x80
5134    field public static final int FLAG_HW_HOTWORD = 32; // 0x20
5135    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int USAGE_ANNOUNCEMENT = 1003; // 0x3eb
5136    field @RequiresPermission(allOf={android.Manifest.permission.MODIFY_PHONE_STATE, android.Manifest.permission.MODIFY_AUDIO_ROUTING}) public static final int USAGE_CALL_ASSISTANT = 17; // 0x11
5137    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int USAGE_EMERGENCY = 1000; // 0x3e8
5138    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int USAGE_SAFETY = 1001; // 0x3e9
5139    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int USAGE_VEHICLE_STATUS = 1002; // 0x3ea
5140  }
5141
5142  public static class AudioAttributes.Builder {
5143    method public android.media.AudioAttributes.Builder addBundle(@NonNull android.os.Bundle);
5144    method public android.media.AudioAttributes.Builder setCapturePreset(int);
5145    method @NonNull @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_HOTWORD) public android.media.AudioAttributes.Builder setHotwordModeEnabled(boolean);
5146    method public android.media.AudioAttributes.Builder setInternalCapturePreset(int);
5147    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public android.media.AudioAttributes.Builder setSystemUsage(int);
5148  }
5149
5150  public final class AudioDeviceAttributes implements android.os.Parcelable {
5151    ctor public AudioDeviceAttributes(@NonNull android.media.AudioDeviceInfo);
5152    ctor public AudioDeviceAttributes(int, int, @NonNull String);
5153    method public int describeContents();
5154    method @NonNull public String getAddress();
5155    method public int getRole();
5156    method public int getType();
5157    method public void writeToParcel(@NonNull android.os.Parcel, int);
5158    field @NonNull public static final android.os.Parcelable.Creator<android.media.AudioDeviceAttributes> CREATOR;
5159    field public static final int ROLE_INPUT = 1; // 0x1
5160    field public static final int ROLE_OUTPUT = 2; // 0x2
5161  }
5162
5163  public final class AudioFocusInfo implements android.os.Parcelable {
5164    method public int describeContents();
5165    method @NonNull public android.media.AudioAttributes getAttributes();
5166    method @NonNull public String getClientId();
5167    method public int getClientUid();
5168    method public int getFlags();
5169    method public int getGainRequest();
5170    method public int getLossReceived();
5171    method @NonNull public String getPackageName();
5172    method public void writeToParcel(android.os.Parcel, int);
5173    field @NonNull public static final android.os.Parcelable.Creator<android.media.AudioFocusInfo> CREATOR;
5174  }
5175
5176  public final class AudioFocusRequest {
5177    method public boolean locksFocus();
5178  }
5179
5180  public static final class AudioFocusRequest.Builder {
5181    method @NonNull public android.media.AudioFocusRequest.Builder setLocksFocus(boolean);
5182  }
5183
5184  public class AudioManager {
5185    method @Deprecated public int abandonAudioFocus(android.media.AudioManager.OnAudioFocusChangeListener, android.media.AudioAttributes);
5186    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void addOnPreferredDeviceForStrategyChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.OnPreferredDeviceForStrategyChangedListener) throws java.lang.SecurityException;
5187    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void addOnPreferredDevicesForCapturePresetChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.OnPreferredDevicesForCapturePresetChangedListener) throws java.lang.SecurityException;
5188    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void addOnPreferredDevicesForStrategyChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.OnPreferredDevicesForStrategyChangedListener) throws java.lang.SecurityException;
5189    method public void clearAudioServerStateCallback();
5190    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean clearPreferredDevicesForCapturePreset(int);
5191    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int dispatchAudioFocusChange(@NonNull android.media.AudioFocusInfo, int, @NonNull android.media.audiopolicy.AudioPolicy);
5192    method @IntRange(from=0) public long getAdditionalOutputDeviceDelay(@NonNull android.media.AudioDeviceInfo);
5193    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static java.util.List<android.media.audiopolicy.AudioProductStrategy> getAudioProductStrategies();
5194    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static java.util.List<android.media.audiopolicy.AudioVolumeGroup> getAudioVolumeGroups();
5195    method @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_ROUTING, "android.permission.QUERY_AUDIO_STATE"}) public int getDeviceVolumeBehavior(@NonNull android.media.AudioDeviceAttributes);
5196    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_ROUTING, "android.permission.QUERY_AUDIO_STATE"}) public java.util.List<android.media.AudioDeviceAttributes> getDevicesForAttributes(@NonNull android.media.AudioAttributes);
5197    method @IntRange(from=0) public long getMaxAdditionalOutputDeviceDelay(@NonNull android.media.AudioDeviceInfo);
5198    method @IntRange(from=0) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getMaxVolumeIndexForAttributes(@NonNull android.media.AudioAttributes);
5199    method @IntRange(from=0) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getMinVolumeIndexForAttributes(@NonNull android.media.AudioAttributes);
5200    method @Nullable @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public android.media.AudioDeviceAttributes getPreferredDeviceForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy);
5201    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public java.util.List<android.media.AudioDeviceAttributes> getPreferredDevicesForCapturePreset(int);
5202    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public java.util.List<android.media.AudioDeviceAttributes> getPreferredDevicesForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy);
5203    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int[] getSupportedSystemUsages();
5204    method @IntRange(from=0) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getVolumeIndexForAttributes(@NonNull android.media.AudioAttributes);
5205    method public boolean isAudioServerRunning();
5206    method public boolean isHdmiSystemAudioSupported();
5207    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int registerAudioPolicy(@NonNull android.media.audiopolicy.AudioPolicy);
5208    method public void registerVolumeGroupCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.VolumeGroupCallback);
5209    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void removeOnPreferredDeviceForStrategyChangedListener(@NonNull android.media.AudioManager.OnPreferredDeviceForStrategyChangedListener);
5210    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void removeOnPreferredDevicesForCapturePresetChangedListener(@NonNull android.media.AudioManager.OnPreferredDevicesForCapturePresetChangedListener);
5211    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void removeOnPreferredDevicesForStrategyChangedListener(@NonNull android.media.AudioManager.OnPreferredDevicesForStrategyChangedListener);
5212    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean removePreferredDeviceForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy);
5213    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int requestAudioFocus(android.media.AudioManager.OnAudioFocusChangeListener, @NonNull android.media.AudioAttributes, int, int) throws java.lang.IllegalArgumentException;
5214    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_PHONE_STATE, android.Manifest.permission.MODIFY_AUDIO_ROUTING}) public int requestAudioFocus(android.media.AudioManager.OnAudioFocusChangeListener, @NonNull android.media.AudioAttributes, int, int, android.media.audiopolicy.AudioPolicy) throws java.lang.IllegalArgumentException;
5215    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int requestAudioFocus(@NonNull android.media.AudioFocusRequest, @Nullable android.media.audiopolicy.AudioPolicy);
5216    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean setAdditionalOutputDeviceDelay(@NonNull android.media.AudioDeviceInfo, @IntRange(from=0) long);
5217    method public void setAudioServerStateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.AudioServerStateCallback);
5218    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setDeviceVolumeBehavior(@NonNull android.media.AudioDeviceAttributes, int);
5219    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setFocusRequestResult(@NonNull android.media.AudioFocusInfo, int, @NonNull android.media.audiopolicy.AudioPolicy);
5220    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean setPreferredDeviceForCapturePreset(int, @NonNull android.media.AudioDeviceAttributes);
5221    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean setPreferredDeviceForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy, @NonNull android.media.AudioDeviceAttributes);
5222    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean setPreferredDevicesForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy, @NonNull java.util.List<android.media.AudioDeviceAttributes>);
5223    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setSupportedSystemUsages(@NonNull int[]);
5224    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setVolumeIndexForAttributes(@NonNull android.media.AudioAttributes, int, int);
5225    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void unregisterAudioPolicy(@NonNull android.media.audiopolicy.AudioPolicy);
5226    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void unregisterAudioPolicyAsync(@NonNull android.media.audiopolicy.AudioPolicy);
5227    method public void unregisterVolumeGroupCallback(@NonNull android.media.AudioManager.VolumeGroupCallback);
5228    field public static final int AUDIOFOCUS_FLAG_DELAY_OK = 1; // 0x1
5229    field public static final int AUDIOFOCUS_FLAG_LOCK = 4; // 0x4
5230    field public static final int AUDIOFOCUS_FLAG_PAUSES_ON_DUCKABLE_LOSS = 2; // 0x2
5231    field public static final int DEVICE_VOLUME_BEHAVIOR_ABSOLUTE = 3; // 0x3
5232    field public static final int DEVICE_VOLUME_BEHAVIOR_ABSOLUTE_MULTI_MODE = 4; // 0x4
5233    field public static final int DEVICE_VOLUME_BEHAVIOR_FIXED = 2; // 0x2
5234    field public static final int DEVICE_VOLUME_BEHAVIOR_FULL = 1; // 0x1
5235    field public static final int DEVICE_VOLUME_BEHAVIOR_VARIABLE = 0; // 0x0
5236    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int STREAM_ASSISTANT = 11; // 0xb
5237    field public static final int SUCCESS = 0; // 0x0
5238  }
5239
5240  public abstract static class AudioManager.AudioServerStateCallback {
5241    ctor public AudioManager.AudioServerStateCallback();
5242    method public void onAudioServerDown();
5243    method public void onAudioServerUp();
5244  }
5245
5246  @Deprecated public static interface AudioManager.OnPreferredDeviceForStrategyChangedListener {
5247    method @Deprecated public void onPreferredDeviceForStrategyChanged(@NonNull android.media.audiopolicy.AudioProductStrategy, @Nullable android.media.AudioDeviceAttributes);
5248  }
5249
5250  public static interface AudioManager.OnPreferredDevicesForCapturePresetChangedListener {
5251    method public void onPreferredDevicesForCapturePresetChanged(int, @NonNull java.util.List<android.media.AudioDeviceAttributes>);
5252  }
5253
5254  public static interface AudioManager.OnPreferredDevicesForStrategyChangedListener {
5255    method public void onPreferredDevicesForStrategyChanged(@NonNull android.media.audiopolicy.AudioProductStrategy, @NonNull java.util.List<android.media.AudioDeviceAttributes>);
5256  }
5257
5258  public abstract static class AudioManager.VolumeGroupCallback {
5259    ctor public AudioManager.VolumeGroupCallback();
5260    method public void onAudioVolumeGroupChanged(int, int);
5261  }
5262
5263  public final class AudioPlaybackConfiguration implements android.os.Parcelable {
5264    method public int getClientPid();
5265    method public int getClientUid();
5266    method public int getPlayerInterfaceId();
5267    method public android.media.PlayerProxy getPlayerProxy();
5268    method public int getPlayerState();
5269    method public int getPlayerType();
5270    method @IntRange(from=0) public int getSessionId();
5271    method public boolean isActive();
5272    field public static final int PLAYER_STATE_IDLE = 1; // 0x1
5273    field public static final int PLAYER_STATE_PAUSED = 3; // 0x3
5274    field public static final int PLAYER_STATE_RELEASED = 0; // 0x0
5275    field public static final int PLAYER_STATE_STARTED = 2; // 0x2
5276    field public static final int PLAYER_STATE_STOPPED = 4; // 0x4
5277    field public static final int PLAYER_STATE_UNKNOWN = -1; // 0xffffffff
5278    field public static final int PLAYER_TYPE_AAUDIO = 13; // 0xd
5279    field public static final int PLAYER_TYPE_JAM_AUDIOTRACK = 1; // 0x1
5280    field public static final int PLAYER_TYPE_JAM_MEDIAPLAYER = 2; // 0x2
5281    field public static final int PLAYER_TYPE_JAM_SOUNDPOOL = 3; // 0x3
5282    field public static final int PLAYER_TYPE_SLES_AUDIOPLAYER_BUFFERQUEUE = 11; // 0xb
5283    field public static final int PLAYER_TYPE_SLES_AUDIOPLAYER_URI_FD = 12; // 0xc
5284    field public static final int PLAYER_TYPE_UNKNOWN = -1; // 0xffffffff
5285  }
5286
5287  public class AudioRecord implements android.media.AudioRecordingMonitor android.media.AudioRouting android.media.MicrophoneDirection {
5288    ctor @RequiresPermission(android.Manifest.permission.RECORD_AUDIO) public AudioRecord(android.media.AudioAttributes, android.media.AudioFormat, int, int) throws java.lang.IllegalArgumentException;
5289    method public static long getMaxSharedAudioHistoryMillis();
5290    method @NonNull @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_HOTWORD) public android.media.MediaSyncEvent shareAudioHistory(@NonNull String, @IntRange(from=0) long);
5291  }
5292
5293  public static class AudioRecord.Builder {
5294    method public android.media.AudioRecord.Builder setAudioAttributes(@NonNull android.media.AudioAttributes) throws java.lang.IllegalArgumentException;
5295    method @NonNull @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_HOTWORD) public android.media.AudioRecord.Builder setMaxSharedAudioHistoryMillis(long) throws java.lang.IllegalArgumentException;
5296    method public android.media.AudioRecord.Builder setSessionId(int) throws java.lang.IllegalArgumentException;
5297    method @NonNull public android.media.AudioRecord.Builder setSharedAudioEvent(@NonNull android.media.MediaSyncEvent) throws java.lang.IllegalArgumentException;
5298  }
5299
5300  public final class AudioRecordingConfiguration implements android.os.Parcelable {
5301    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getClientUid();
5302  }
5303
5304  public class AudioTrack implements android.media.AudioRouting android.media.VolumeAutomation {
5305    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int ENCAPSULATION_MODE_HANDLE = 2; // 0x2
5306  }
5307
5308  public static class AudioTrack.Builder {
5309    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public android.media.AudioTrack.Builder setTunerConfiguration(@NonNull android.media.AudioTrack.TunerConfiguration);
5310  }
5311
5312  public static class AudioTrack.TunerConfiguration {
5313    ctor @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public AudioTrack.TunerConfiguration(@IntRange(from=0) int, @IntRange(from=1) int);
5314    method @IntRange(from=1) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getContentId();
5315    method @IntRange(from=1) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getSyncId();
5316    field public static final int CONTENT_ID_NONE = 0; // 0x0
5317  }
5318
5319  public class HwAudioSource {
5320    method public boolean isPlaying();
5321    method public void start();
5322    method public void stop();
5323  }
5324
5325  public static final class HwAudioSource.Builder {
5326    ctor public HwAudioSource.Builder();
5327    method @NonNull public android.media.HwAudioSource build();
5328    method @NonNull public android.media.HwAudioSource.Builder setAudioAttributes(@NonNull android.media.AudioAttributes);
5329    method @NonNull public android.media.HwAudioSource.Builder setAudioDeviceInfo(@NonNull android.media.AudioDeviceInfo);
5330  }
5331
5332  public class MediaPlayer implements android.media.AudioRouting android.media.VolumeAutomation {
5333    method @RequiresPermission(android.Manifest.permission.BIND_IMS_SERVICE) public void setOnRtpRxNoticeListener(@NonNull android.content.Context, @NonNull java.util.concurrent.Executor, @NonNull android.media.MediaPlayer.OnRtpRxNoticeListener);
5334  }
5335
5336  public static interface MediaPlayer.OnRtpRxNoticeListener {
5337    method public void onRtpRxNotice(@NonNull android.media.MediaPlayer, int, @NonNull int[]);
5338  }
5339
5340  public final class MediaRecorder.AudioSource {
5341    field @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_OUTPUT) public static final int ECHO_REFERENCE = 1997; // 0x7cd
5342    field @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_HOTWORD) public static final int HOTWORD = 1999; // 0x7cf
5343    field @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_OUTPUT) public static final int RADIO_TUNER = 1998; // 0x7ce
5344  }
5345
5346  public final class MediaRouter2 {
5347    method @NonNull public java.util.List<android.media.MediaRoute2Info> getAllRoutes();
5348    method @Nullable public String getClientPackageName();
5349    method @Nullable @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public static android.media.MediaRouter2 getInstance(@NonNull android.content.Context, @NonNull String);
5350    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void setRouteVolume(@NonNull android.media.MediaRoute2Info, int);
5351    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void startScan();
5352    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void stopScan();
5353    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void transfer(@NonNull android.media.MediaRouter2.RoutingController, @NonNull android.media.MediaRoute2Info);
5354  }
5355
5356  public abstract static class MediaRouter2.RouteCallback {
5357    method public void onPreferredFeaturesChanged(@NonNull java.util.List<java.lang.String>);
5358  }
5359
5360  public class MediaSyncEvent implements android.os.Parcelable {
5361    field public static final int SYNC_EVENT_SHARE_AUDIO_HISTORY = 100; // 0x64
5362  }
5363
5364  public class PlayerProxy {
5365    method public void pause();
5366    method public void setPan(float);
5367    method public void setStartDelayMs(int);
5368    method public void setVolume(float);
5369    method public void start();
5370    method public void stop();
5371  }
5372
5373  public class RingtoneManager {
5374    method @RequiresPermission(android.Manifest.permission.WRITE_SETTINGS) public static void ensureDefaultRingtones(@NonNull android.content.Context);
5375  }
5376
5377  public final class RouteDiscoveryPreference implements android.os.Parcelable {
5378    field public static final android.media.RouteDiscoveryPreference EMPTY;
5379  }
5380
5381  public class Spatializer {
5382    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void addCompatibleAudioDevice(@NonNull android.media.AudioDeviceAttributes);
5383    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void addOnHeadTrackingModeChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.Spatializer.OnHeadTrackingModeChangedListener);
5384    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void clearOnHeadToSoundstagePoseUpdatedListener();
5385    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void clearOnSpatializerOutputChangedListener();
5386    method @NonNull @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public java.util.List<android.media.AudioDeviceAttributes> getCompatibleAudioDevices();
5387    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public int getDesiredHeadTrackingMode();
5388    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void getEffectParameter(int, @NonNull byte[]);
5389    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public int getHeadTrackingMode();
5390    method @IntRange(from=0) @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public int getOutput();
5391    method @NonNull @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public java.util.List<java.lang.Integer> getSupportedHeadTrackingModes();
5392    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void recenterHeadTracker();
5393    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void removeCompatibleAudioDevice(@NonNull android.media.AudioDeviceAttributes);
5394    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void removeOnHeadTrackingModeChangedListener(@NonNull android.media.Spatializer.OnHeadTrackingModeChangedListener);
5395    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setDesiredHeadTrackingMode(int);
5396    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setEffectParameter(int, @NonNull byte[]);
5397    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setEnabled(boolean);
5398    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setGlobalTransform(@NonNull float[]);
5399    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setOnHeadToSoundstagePoseUpdatedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.Spatializer.OnHeadToSoundstagePoseUpdatedListener);
5400    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setOnSpatializerOutputChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.Spatializer.OnSpatializerOutputChangedListener);
5401    field @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static final int HEAD_TRACKING_MODE_DISABLED = -1; // 0xffffffff
5402    field @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static final int HEAD_TRACKING_MODE_OTHER = 0; // 0x0
5403    field @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static final int HEAD_TRACKING_MODE_RELATIVE_DEVICE = 2; // 0x2
5404    field @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static final int HEAD_TRACKING_MODE_RELATIVE_WORLD = 1; // 0x1
5405    field @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static final int HEAD_TRACKING_MODE_UNSUPPORTED = -2; // 0xfffffffe
5406  }
5407
5408  public static interface Spatializer.OnHeadToSoundstagePoseUpdatedListener {
5409    method public void onHeadToSoundstagePoseUpdated(@NonNull android.media.Spatializer, @NonNull float[]);
5410  }
5411
5412  public static interface Spatializer.OnHeadTrackingModeChangedListener {
5413    method public void onDesiredHeadTrackingModeChanged(@NonNull android.media.Spatializer, int);
5414    method public void onHeadTrackingModeChanged(@NonNull android.media.Spatializer, int);
5415  }
5416
5417  public static interface Spatializer.OnSpatializerOutputChangedListener {
5418    method public void onSpatializerOutputChanged(@NonNull android.media.Spatializer, @IntRange(from=0) int);
5419  }
5420
5421}
5422
5423package android.media.audiofx {
5424
5425  public class AudioEffect {
5426    ctor @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public AudioEffect(@NonNull java.util.UUID, @NonNull android.media.AudioDeviceAttributes);
5427    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static boolean isEffectSupportedForDevice(@NonNull java.util.UUID, @NonNull android.media.AudioDeviceAttributes);
5428  }
5429
5430}
5431
5432package android.media.audiopolicy {
5433
5434  public class AudioMix {
5435    method public int getMixState();
5436    field public static final int MIX_STATE_DISABLED = -1; // 0xffffffff
5437    field public static final int MIX_STATE_IDLE = 0; // 0x0
5438    field public static final int MIX_STATE_MIXING = 1; // 0x1
5439    field public static final int ROUTE_FLAG_LOOP_BACK = 2; // 0x2
5440    field public static final int ROUTE_FLAG_RENDER = 1; // 0x1
5441  }
5442
5443  public static class AudioMix.Builder {
5444    ctor public AudioMix.Builder(android.media.audiopolicy.AudioMixingRule) throws java.lang.IllegalArgumentException;
5445    method public android.media.audiopolicy.AudioMix build() throws java.lang.IllegalArgumentException;
5446    method public android.media.audiopolicy.AudioMix.Builder setDevice(@NonNull android.media.AudioDeviceInfo) throws java.lang.IllegalArgumentException;
5447    method public android.media.audiopolicy.AudioMix.Builder setFormat(android.media.AudioFormat) throws java.lang.IllegalArgumentException;
5448    method public android.media.audiopolicy.AudioMix.Builder setRouteFlags(int) throws java.lang.IllegalArgumentException;
5449  }
5450
5451  public class AudioMixingRule {
5452    field public static final int RULE_MATCH_ATTRIBUTE_CAPTURE_PRESET = 2; // 0x2
5453    field public static final int RULE_MATCH_ATTRIBUTE_USAGE = 1; // 0x1
5454    field public static final int RULE_MATCH_UID = 4; // 0x4
5455    field public static final int RULE_MATCH_USERID = 8; // 0x8
5456  }
5457
5458  public static class AudioMixingRule.Builder {
5459    ctor public AudioMixingRule.Builder();
5460    method public android.media.audiopolicy.AudioMixingRule.Builder addMixRule(int, Object) throws java.lang.IllegalArgumentException;
5461    method public android.media.audiopolicy.AudioMixingRule.Builder addRule(android.media.AudioAttributes, int) throws java.lang.IllegalArgumentException;
5462    method @NonNull public android.media.audiopolicy.AudioMixingRule.Builder allowPrivilegedPlaybackCapture(boolean);
5463    method public android.media.audiopolicy.AudioMixingRule build();
5464    method public android.media.audiopolicy.AudioMixingRule.Builder excludeMixRule(int, Object) throws java.lang.IllegalArgumentException;
5465    method public android.media.audiopolicy.AudioMixingRule.Builder excludeRule(android.media.AudioAttributes, int) throws java.lang.IllegalArgumentException;
5466  }
5467
5468  public class AudioPolicy {
5469    method public int attachMixes(@NonNull java.util.List<android.media.audiopolicy.AudioMix>);
5470    method public android.media.AudioRecord createAudioRecordSink(android.media.audiopolicy.AudioMix) throws java.lang.IllegalArgumentException;
5471    method public android.media.AudioTrack createAudioTrackSource(android.media.audiopolicy.AudioMix) throws java.lang.IllegalArgumentException;
5472    method public int detachMixes(@NonNull java.util.List<android.media.audiopolicy.AudioMix>);
5473    method public int getFocusDuckingBehavior();
5474    method public int getStatus();
5475    method public boolean removeUidDeviceAffinity(int);
5476    method public boolean removeUserIdDeviceAffinity(int);
5477    method public int setFocusDuckingBehavior(int) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException;
5478    method public void setRegistration(String);
5479    method public boolean setUidDeviceAffinity(int, @NonNull java.util.List<android.media.AudioDeviceInfo>);
5480    method public boolean setUserIdDeviceAffinity(int, @NonNull java.util.List<android.media.AudioDeviceInfo>);
5481    method public String toLogFriendlyString();
5482    field public static final int FOCUS_POLICY_DUCKING_DEFAULT = 0; // 0x0
5483    field public static final int FOCUS_POLICY_DUCKING_IN_APP = 0; // 0x0
5484    field public static final int FOCUS_POLICY_DUCKING_IN_POLICY = 1; // 0x1
5485    field public static final int POLICY_STATUS_REGISTERED = 2; // 0x2
5486    field public static final int POLICY_STATUS_UNREGISTERED = 1; // 0x1
5487  }
5488
5489  public abstract static class AudioPolicy.AudioPolicyFocusListener {
5490    ctor public AudioPolicy.AudioPolicyFocusListener();
5491    method public void onAudioFocusAbandon(android.media.AudioFocusInfo);
5492    method public void onAudioFocusGrant(android.media.AudioFocusInfo, int);
5493    method public void onAudioFocusLoss(android.media.AudioFocusInfo, boolean);
5494    method public void onAudioFocusRequest(android.media.AudioFocusInfo, int);
5495  }
5496
5497  public abstract static class AudioPolicy.AudioPolicyStatusListener {
5498    ctor public AudioPolicy.AudioPolicyStatusListener();
5499    method public void onMixStateUpdate(android.media.audiopolicy.AudioMix);
5500    method public void onStatusChange();
5501  }
5502
5503  public abstract static class AudioPolicy.AudioPolicyVolumeCallback {
5504    ctor public AudioPolicy.AudioPolicyVolumeCallback();
5505    method public void onVolumeAdjustment(int);
5506  }
5507
5508  public static class AudioPolicy.Builder {
5509    ctor public AudioPolicy.Builder(android.content.Context);
5510    method @NonNull public android.media.audiopolicy.AudioPolicy.Builder addMix(@NonNull android.media.audiopolicy.AudioMix) throws java.lang.IllegalArgumentException;
5511    method @NonNull public android.media.audiopolicy.AudioPolicy build();
5512    method public void setAudioPolicyFocusListener(android.media.audiopolicy.AudioPolicy.AudioPolicyFocusListener);
5513    method public void setAudioPolicyStatusListener(android.media.audiopolicy.AudioPolicy.AudioPolicyStatusListener);
5514    method @NonNull public android.media.audiopolicy.AudioPolicy.Builder setAudioPolicyVolumeCallback(@NonNull android.media.audiopolicy.AudioPolicy.AudioPolicyVolumeCallback);
5515    method @NonNull public android.media.audiopolicy.AudioPolicy.Builder setIsAudioFocusPolicy(boolean);
5516    method @NonNull public android.media.audiopolicy.AudioPolicy.Builder setLooper(@NonNull android.os.Looper) throws java.lang.IllegalArgumentException;
5517  }
5518
5519  public final class AudioProductStrategy implements android.os.Parcelable {
5520    method @NonNull public static android.media.audiopolicy.AudioProductStrategy createInvalidAudioProductStrategy(int);
5521    method public int describeContents();
5522    method @NonNull public android.media.AudioAttributes getAudioAttributes();
5523    method public int getId();
5524    method public boolean supportsAudioAttributes(@NonNull android.media.AudioAttributes);
5525    method public void writeToParcel(@NonNull android.os.Parcel, int);
5526    field @NonNull public static final android.os.Parcelable.Creator<android.media.audiopolicy.AudioProductStrategy> CREATOR;
5527  }
5528
5529  public final class AudioVolumeGroup implements android.os.Parcelable {
5530    method public int describeContents();
5531    method @NonNull public java.util.List<android.media.AudioAttributes> getAudioAttributes();
5532    method public int getId();
5533    method @NonNull public int[] getLegacyStreamTypes();
5534    method @NonNull public String name();
5535    method public void writeToParcel(@NonNull android.os.Parcel, int);
5536    field public static final android.os.Parcelable.Creator<android.media.audiopolicy.AudioVolumeGroup> CREATOR;
5537    field public static final int DEFAULT_VOLUME_GROUP = -1; // 0xffffffff
5538  }
5539
5540}
5541
5542package android.media.musicrecognition {
5543
5544  public class MusicRecognitionManager {
5545    method @RequiresPermission(android.Manifest.permission.MANAGE_MUSIC_RECOGNITION) public void beginStreamingSearch(@NonNull android.media.musicrecognition.RecognitionRequest, @NonNull java.util.concurrent.Executor, @NonNull android.media.musicrecognition.MusicRecognitionManager.RecognitionCallback);
5546    field public static final int RECOGNITION_FAILED_AUDIO_UNAVAILABLE = 7; // 0x7
5547    field public static final int RECOGNITION_FAILED_NOT_FOUND = 1; // 0x1
5548    field public static final int RECOGNITION_FAILED_NO_CONNECTIVITY = 2; // 0x2
5549    field public static final int RECOGNITION_FAILED_SERVICE_KILLED = 5; // 0x5
5550    field public static final int RECOGNITION_FAILED_SERVICE_UNAVAILABLE = 3; // 0x3
5551    field public static final int RECOGNITION_FAILED_TIMEOUT = 6; // 0x6
5552    field public static final int RECOGNITION_FAILED_UNKNOWN = -1; // 0xffffffff
5553  }
5554
5555  public static interface MusicRecognitionManager.RecognitionCallback {
5556    method public void onAudioStreamClosed();
5557    method public void onRecognitionFailed(@NonNull android.media.musicrecognition.RecognitionRequest, int);
5558    method public void onRecognitionSucceeded(@NonNull android.media.musicrecognition.RecognitionRequest, @NonNull android.media.MediaMetadata, @Nullable android.os.Bundle);
5559  }
5560
5561  public abstract class MusicRecognitionService extends android.app.Service {
5562    ctor public MusicRecognitionService();
5563    method public abstract void onRecognize(@NonNull android.os.ParcelFileDescriptor, @NonNull android.media.AudioFormat, @NonNull android.media.musicrecognition.MusicRecognitionService.Callback);
5564  }
5565
5566  public static interface MusicRecognitionService.Callback {
5567    method public void onRecognitionFailed(int);
5568    method public void onRecognitionSucceeded(@NonNull android.media.MediaMetadata, @Nullable android.os.Bundle);
5569  }
5570
5571  public final class RecognitionRequest implements android.os.Parcelable {
5572    method public int describeContents();
5573    method @NonNull public android.media.AudioAttributes getAudioAttributes();
5574    method @NonNull public android.media.AudioFormat getAudioFormat();
5575    method public int getCaptureSession();
5576    method public int getIgnoreBeginningFrames();
5577    method public int getMaxAudioLengthSeconds();
5578    method public void writeToParcel(@NonNull android.os.Parcel, int);
5579    field @NonNull public static final android.os.Parcelable.Creator<android.media.musicrecognition.RecognitionRequest> CREATOR;
5580  }
5581
5582  public static final class RecognitionRequest.Builder {
5583    ctor public RecognitionRequest.Builder();
5584    method @NonNull public android.media.musicrecognition.RecognitionRequest build();
5585    method @NonNull public android.media.musicrecognition.RecognitionRequest.Builder setAudioAttributes(@NonNull android.media.AudioAttributes);
5586    method @NonNull public android.media.musicrecognition.RecognitionRequest.Builder setAudioFormat(@NonNull android.media.AudioFormat);
5587    method @NonNull public android.media.musicrecognition.RecognitionRequest.Builder setCaptureSession(int);
5588    method @NonNull public android.media.musicrecognition.RecognitionRequest.Builder setIgnoreBeginningFrames(int);
5589    method @NonNull public android.media.musicrecognition.RecognitionRequest.Builder setMaxAudioLengthSeconds(int);
5590  }
5591
5592}
5593
5594package android.media.session {
5595
5596  public final class MediaSessionManager {
5597    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void addOnMediaKeyEventDispatchedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.session.MediaSessionManager.OnMediaKeyEventDispatchedListener);
5598    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void addOnMediaKeyEventSessionChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.session.MediaSessionManager.OnMediaKeyEventSessionChangedListener);
5599    method @Nullable @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public android.media.session.MediaSession.Token getMediaKeyEventSession();
5600    method @NonNull @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public String getMediaKeyEventSessionPackageName();
5601    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void removeOnMediaKeyEventDispatchedListener(@NonNull android.media.session.MediaSessionManager.OnMediaKeyEventDispatchedListener);
5602    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void removeOnMediaKeyEventSessionChangedListener(@NonNull android.media.session.MediaSessionManager.OnMediaKeyEventSessionChangedListener);
5603    method @RequiresPermission(android.Manifest.permission.SET_MEDIA_KEY_LISTENER) public void setOnMediaKeyListener(android.media.session.MediaSessionManager.OnMediaKeyListener, @Nullable android.os.Handler);
5604    method @RequiresPermission(android.Manifest.permission.SET_VOLUME_KEY_LONG_PRESS_LISTENER) public void setOnVolumeKeyLongPressListener(android.media.session.MediaSessionManager.OnVolumeKeyLongPressListener, @Nullable android.os.Handler);
5605  }
5606
5607  public static interface MediaSessionManager.OnMediaKeyEventDispatchedListener {
5608    method public void onMediaKeyEventDispatched(@NonNull android.view.KeyEvent, @NonNull String, @Nullable android.media.session.MediaSession.Token);
5609  }
5610
5611  public static interface MediaSessionManager.OnMediaKeyEventSessionChangedListener {
5612    method public void onMediaKeyEventSessionChanged(@NonNull String, @Nullable android.media.session.MediaSession.Token);
5613  }
5614
5615  public static interface MediaSessionManager.OnMediaKeyListener {
5616    method public boolean onMediaKey(android.view.KeyEvent);
5617  }
5618
5619  public static interface MediaSessionManager.OnVolumeKeyLongPressListener {
5620    method public void onVolumeKeyLongPress(android.view.KeyEvent);
5621  }
5622
5623}
5624
5625package android.media.soundtrigger {
5626
5627  public abstract class SoundTriggerDetectionService extends android.app.Service {
5628    ctor public SoundTriggerDetectionService();
5629    method @MainThread public void onConnected(@NonNull java.util.UUID, @Nullable android.os.Bundle);
5630    method @MainThread public void onDisconnected(@NonNull java.util.UUID, @Nullable android.os.Bundle);
5631    method @MainThread public void onError(@NonNull java.util.UUID, @Nullable android.os.Bundle, int, int);
5632    method @MainThread public void onGenericRecognitionEvent(@NonNull java.util.UUID, @Nullable android.os.Bundle, int, @NonNull android.hardware.soundtrigger.SoundTrigger.RecognitionEvent);
5633    method @MainThread public abstract void onStopOperation(@NonNull java.util.UUID, @Nullable android.os.Bundle, int);
5634    method public final void operationFinished(@Nullable java.util.UUID, int);
5635  }
5636
5637  public final class SoundTriggerDetector {
5638    method @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public boolean startRecognition(int);
5639    method @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public boolean stopRecognition();
5640    field public static final int RECOGNITION_FLAG_ALLOW_MULTIPLE_TRIGGERS = 2; // 0x2
5641    field public static final int RECOGNITION_FLAG_CAPTURE_TRIGGER_AUDIO = 1; // 0x1
5642    field public static final int RECOGNITION_FLAG_ENABLE_AUDIO_ECHO_CANCELLATION = 4; // 0x4
5643    field public static final int RECOGNITION_FLAG_ENABLE_AUDIO_NOISE_SUPPRESSION = 8; // 0x8
5644    field public static final int RECOGNITION_FLAG_RUN_IN_BATTERY_SAVER = 16; // 0x10
5645  }
5646
5647  public abstract static class SoundTriggerDetector.Callback {
5648    ctor public SoundTriggerDetector.Callback();
5649    method public abstract void onAvailabilityChanged(int);
5650    method public abstract void onDetected(@NonNull android.media.soundtrigger.SoundTriggerDetector.EventPayload);
5651    method public abstract void onError();
5652    method public abstract void onRecognitionPaused();
5653    method public abstract void onRecognitionResumed();
5654  }
5655
5656  public static class SoundTriggerDetector.EventPayload {
5657    method @Nullable public android.media.AudioFormat getCaptureAudioFormat();
5658    method @Nullable public byte[] getTriggerAudio();
5659  }
5660
5661  public final class SoundTriggerManager {
5662    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public android.media.soundtrigger.SoundTriggerDetector createSoundTriggerDetector(java.util.UUID, @NonNull android.media.soundtrigger.SoundTriggerDetector.Callback, @Nullable android.os.Handler);
5663    method @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public void deleteModel(java.util.UUID);
5664    method public int getDetectionServiceOperationsTimeout();
5665    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public android.media.soundtrigger.SoundTriggerManager.Model getModel(java.util.UUID);
5666    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public android.hardware.soundtrigger.SoundTrigger.ModuleProperties getModuleProperties();
5667    method @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public int getParameter(@NonNull java.util.UUID, int);
5668    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public android.hardware.soundtrigger.SoundTrigger.ModelParamRange queryParameter(@Nullable java.util.UUID, int);
5669    method @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public int setParameter(@Nullable java.util.UUID, int, int);
5670    method @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public void updateModel(android.media.soundtrigger.SoundTriggerManager.Model);
5671  }
5672
5673  public static class SoundTriggerManager.Model {
5674    method @NonNull public static android.media.soundtrigger.SoundTriggerManager.Model create(@NonNull java.util.UUID, @NonNull java.util.UUID, @Nullable byte[], int);
5675    method @NonNull public static android.media.soundtrigger.SoundTriggerManager.Model create(@NonNull java.util.UUID, @NonNull java.util.UUID, @Nullable byte[]);
5676    method @Nullable public byte[] getModelData();
5677    method @NonNull public java.util.UUID getModelUuid();
5678    method @NonNull public java.util.UUID getVendorUuid();
5679    method public int getVersion();
5680  }
5681
5682}
5683
5684package android.media.tv {
5685
5686  public final class DvbDeviceInfo implements android.os.Parcelable {
5687    ctor public DvbDeviceInfo(int, int);
5688    method public int describeContents();
5689    method @IntRange(from=0) public int getAdapterId();
5690    method @IntRange(from=0) public int getDeviceId();
5691    method public void writeToParcel(@NonNull android.os.Parcel, int);
5692    field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.DvbDeviceInfo> CREATOR;
5693  }
5694
5695  public final class TunedInfo implements android.os.Parcelable {
5696    method public int describeContents();
5697    method public int getAppTag();
5698    method public int getAppType();
5699    method @Nullable public android.net.Uri getChannelUri();
5700    method @NonNull public String getInputId();
5701    method public boolean isMainSession();
5702    method public boolean isRecordingSession();
5703    method public boolean isVisible();
5704    method public void writeToParcel(@NonNull android.os.Parcel, int);
5705    field public static final int APP_TAG_SELF = 0; // 0x0
5706    field public static final int APP_TYPE_NON_SYSTEM = 3; // 0x3
5707    field public static final int APP_TYPE_SELF = 1; // 0x1
5708    field public static final int APP_TYPE_SYSTEM = 2; // 0x2
5709    field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.TunedInfo> CREATOR;
5710  }
5711
5712  public final class TvContentRatingSystemInfo implements android.os.Parcelable {
5713    method public static android.media.tv.TvContentRatingSystemInfo createTvContentRatingSystemInfo(int, android.content.pm.ApplicationInfo);
5714    method public int describeContents();
5715    method public android.net.Uri getXmlUri();
5716    method public boolean isSystemDefined();
5717    method public void writeToParcel(android.os.Parcel, int);
5718  }
5719
5720  public final class TvContract {
5721    method public static android.net.Uri buildChannelsUriForInput(@Nullable String, boolean);
5722    method public static android.net.Uri buildChannelsUriForInput(@Nullable String, @Nullable String, boolean);
5723    field public static final String ACTION_CHANNEL_BROWSABLE_REQUESTED = "android.media.tv.action.CHANNEL_BROWSABLE_REQUESTED";
5724    field public static final String EXTRA_BLOCKED_PACKAGES = "android.media.tv.extra.BLOCKED_PACKAGES";
5725    field public static final String EXTRA_COLUMN_NAME = "android.media.tv.extra.COLUMN_NAME";
5726    field public static final String EXTRA_DATA_TYPE = "android.media.tv.extra.DATA_TYPE";
5727    field public static final String EXTRA_DEFAULT_VALUE = "android.media.tv.extra.DEFAULT_VALUE";
5728    field public static final String EXTRA_EXISTING_COLUMN_NAMES = "android.media.tv.extra.EXISTING_COLUMN_NAMES";
5729    field public static final String EXTRA_PACKAGE_NAME = "android.media.tv.extra.PACKAGE_NAME";
5730    field public static final String EXTRA_RESULT_CODE = "android.media.tv.extra.RESULT_CODE";
5731    field public static final String METHOD_ADD_COLUMN = "add_column";
5732    field public static final String METHOD_BLOCK_PACKAGE = "block_package";
5733    field public static final String METHOD_GET_BLOCKED_PACKAGES = "get_blocked_packages";
5734    field public static final String METHOD_GET_COLUMNS = "get_columns";
5735    field public static final String METHOD_UNBLOCK_PACKAGE = "unblock_package";
5736    field public static final int RESULT_ERROR_INVALID_ARGUMENT = 2; // 0x2
5737    field public static final int RESULT_ERROR_IO = 1; // 0x1
5738    field public static final int RESULT_OK = 0; // 0x0
5739  }
5740
5741  public static final class TvContract.WatchedPrograms implements android.media.tv.TvContract.BaseTvColumns {
5742    field public static final String COLUMN_CHANNEL_ID = "channel_id";
5743    field public static final String COLUMN_DESCRIPTION = "description";
5744    field public static final String COLUMN_END_TIME_UTC_MILLIS = "end_time_utc_millis";
5745    field public static final String COLUMN_INTERNAL_SESSION_TOKEN = "session_token";
5746    field public static final String COLUMN_INTERNAL_TUNE_PARAMS = "tune_params";
5747    field public static final String COLUMN_START_TIME_UTC_MILLIS = "start_time_utc_millis";
5748    field public static final String COLUMN_TITLE = "title";
5749    field public static final String COLUMN_WATCH_END_TIME_UTC_MILLIS = "watch_end_time_utc_millis";
5750    field public static final String COLUMN_WATCH_START_TIME_UTC_MILLIS = "watch_start_time_utc_millis";
5751    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/watched_program";
5752    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/watched_program";
5753    field public static final android.net.Uri CONTENT_URI;
5754  }
5755
5756  public final class TvInputHardwareInfo implements android.os.Parcelable {
5757    method public int describeContents();
5758    method public String getAudioAddress();
5759    method public int getAudioType();
5760    method public int getCableConnectionStatus();
5761    method public int getDeviceId();
5762    method public int getHdmiPortId();
5763    method public int getType();
5764    method public void readFromParcel(android.os.Parcel);
5765    method public void writeToParcel(android.os.Parcel, int);
5766    field public static final int CABLE_CONNECTION_STATUS_CONNECTED = 1; // 0x1
5767    field public static final int CABLE_CONNECTION_STATUS_DISCONNECTED = 2; // 0x2
5768    field public static final int CABLE_CONNECTION_STATUS_UNKNOWN = 0; // 0x0
5769    field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.TvInputHardwareInfo> CREATOR;
5770    field public static final int TV_INPUT_TYPE_COMPONENT = 6; // 0x6
5771    field public static final int TV_INPUT_TYPE_COMPOSITE = 3; // 0x3
5772    field public static final int TV_INPUT_TYPE_DISPLAY_PORT = 10; // 0xa
5773    field public static final int TV_INPUT_TYPE_DVI = 8; // 0x8
5774    field public static final int TV_INPUT_TYPE_HDMI = 9; // 0x9
5775    field public static final int TV_INPUT_TYPE_OTHER_HARDWARE = 1; // 0x1
5776    field public static final int TV_INPUT_TYPE_SCART = 5; // 0x5
5777    field public static final int TV_INPUT_TYPE_SVIDEO = 4; // 0x4
5778    field public static final int TV_INPUT_TYPE_TUNER = 2; // 0x2
5779    field public static final int TV_INPUT_TYPE_VGA = 7; // 0x7
5780  }
5781
5782  public static final class TvInputHardwareInfo.Builder {
5783    ctor public TvInputHardwareInfo.Builder();
5784    method public android.media.tv.TvInputHardwareInfo.Builder audioAddress(String);
5785    method public android.media.tv.TvInputHardwareInfo.Builder audioType(int);
5786    method public android.media.tv.TvInputHardwareInfo build();
5787    method public android.media.tv.TvInputHardwareInfo.Builder cableConnectionStatus(int);
5788    method public android.media.tv.TvInputHardwareInfo.Builder deviceId(int);
5789    method public android.media.tv.TvInputHardwareInfo.Builder hdmiPortId(int);
5790    method public android.media.tv.TvInputHardwareInfo.Builder type(int);
5791  }
5792
5793  public final class TvInputInfo implements android.os.Parcelable {
5794    method @Deprecated public static android.media.tv.TvInputInfo createTvInputInfo(android.content.Context, android.content.pm.ResolveInfo, android.hardware.hdmi.HdmiDeviceInfo, String, String, android.net.Uri) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
5795    method @Deprecated public static android.media.tv.TvInputInfo createTvInputInfo(android.content.Context, android.content.pm.ResolveInfo, android.hardware.hdmi.HdmiDeviceInfo, String, int, android.graphics.drawable.Icon) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
5796    method @Deprecated public static android.media.tv.TvInputInfo createTvInputInfo(android.content.Context, android.content.pm.ResolveInfo, android.media.tv.TvInputHardwareInfo, String, android.net.Uri) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
5797    method @Deprecated public static android.media.tv.TvInputInfo createTvInputInfo(android.content.Context, android.content.pm.ResolveInfo, android.media.tv.TvInputHardwareInfo, int, android.graphics.drawable.Icon) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
5798    method public android.hardware.hdmi.HdmiDeviceInfo getHdmiDeviceInfo();
5799    method public boolean isConnectedToHdmiSwitch();
5800    method public boolean isHardwareInput();
5801    method public android.graphics.drawable.Drawable loadIcon(@NonNull android.content.Context, int);
5802  }
5803
5804  public static final class TvInputInfo.Builder {
5805    method public android.media.tv.TvInputInfo.Builder setHdmiDeviceInfo(android.hardware.hdmi.HdmiDeviceInfo);
5806    method public android.media.tv.TvInputInfo.Builder setIcon(android.graphics.drawable.Icon);
5807    method public android.media.tv.TvInputInfo.Builder setIcon(android.graphics.drawable.Icon, int);
5808    method public android.media.tv.TvInputInfo.Builder setLabel(CharSequence);
5809    method public android.media.tv.TvInputInfo.Builder setLabel(@StringRes int);
5810    method public android.media.tv.TvInputInfo.Builder setParentId(String);
5811    method public android.media.tv.TvInputInfo.Builder setTvInputHardwareInfo(android.media.tv.TvInputHardwareInfo);
5812  }
5813
5814  public static final class TvInputInfo.TvInputSettings {
5815    method public static java.util.Map<java.lang.String,java.lang.String> getCustomLabels(android.content.Context, int);
5816    method public static java.util.Set<java.lang.String> getHiddenTvInputIds(android.content.Context, int);
5817    method public static void putCustomLabels(android.content.Context, java.util.Map<java.lang.String,java.lang.String>, int);
5818    method public static void putHiddenTvInputs(android.content.Context, java.util.Set<java.lang.String>, int);
5819  }
5820
5821  public final class TvInputManager {
5822    method @RequiresPermission(android.Manifest.permission.TV_INPUT_HARDWARE) public android.media.tv.TvInputManager.Hardware acquireTvInputHardware(int, @NonNull android.media.tv.TvInputInfo, @NonNull android.media.tv.TvInputManager.HardwareCallback);
5823    method @Nullable @RequiresPermission(android.Manifest.permission.TV_INPUT_HARDWARE) public android.media.tv.TvInputManager.Hardware acquireTvInputHardware(int, @NonNull android.media.tv.TvInputInfo, @Nullable String, int, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.TvInputManager.HardwareCallback);
5824    method @RequiresPermission(android.Manifest.permission.MODIFY_PARENTAL_CONTROLS) public void addBlockedRating(@NonNull android.media.tv.TvContentRating);
5825    method @RequiresPermission(android.Manifest.permission.CAPTURE_TV_INPUT) public boolean captureFrame(String, android.view.Surface, android.media.tv.TvStreamConfig);
5826    method @RequiresPermission(android.Manifest.permission.CAPTURE_TV_INPUT) public java.util.List<android.media.tv.TvStreamConfig> getAvailableTvStreamConfigList(String);
5827    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_TUNED_INFO) public java.util.List<android.media.tv.TunedInfo> getCurrentTunedInfos();
5828    method @NonNull @RequiresPermission("android.permission.DVB_DEVICE") public java.util.List<android.media.tv.DvbDeviceInfo> getDvbDeviceList();
5829    method @RequiresPermission(android.Manifest.permission.TV_INPUT_HARDWARE) public java.util.List<android.media.tv.TvInputHardwareInfo> getHardwareList();
5830    method @RequiresPermission(android.Manifest.permission.READ_CONTENT_RATING_SYSTEMS) public java.util.List<android.media.tv.TvContentRatingSystemInfo> getTvContentRatingSystemList();
5831    method @RequiresPermission(android.Manifest.permission.CAPTURE_TV_INPUT) public boolean isSingleSessionActive();
5832    method @RequiresPermission(android.Manifest.permission.NOTIFY_TV_INPUTS) public void notifyPreviewProgramAddedToWatchNext(String, long, long);
5833    method @RequiresPermission(android.Manifest.permission.NOTIFY_TV_INPUTS) public void notifyPreviewProgramBrowsableDisabled(String, long);
5834    method @RequiresPermission(android.Manifest.permission.NOTIFY_TV_INPUTS) public void notifyWatchNextProgramBrowsableDisabled(String, long);
5835    method @Nullable @RequiresPermission("android.permission.DVB_DEVICE") public android.os.ParcelFileDescriptor openDvbDevice(@NonNull android.media.tv.DvbDeviceInfo, int);
5836    method @RequiresPermission(android.Manifest.permission.TV_INPUT_HARDWARE) public void releaseTvInputHardware(int, android.media.tv.TvInputManager.Hardware);
5837    method @RequiresPermission(android.Manifest.permission.MODIFY_PARENTAL_CONTROLS) public void removeBlockedRating(@NonNull android.media.tv.TvContentRating);
5838    method @RequiresPermission(android.Manifest.permission.MODIFY_PARENTAL_CONTROLS) public void setParentalControlsEnabled(boolean);
5839  }
5840
5841  public static final class TvInputManager.Hardware {
5842    method public void overrideAudioSink(int, String, int, int, int);
5843    method public void setStreamVolume(float);
5844    method public boolean setSurface(android.view.Surface, android.media.tv.TvStreamConfig);
5845  }
5846
5847  public abstract static class TvInputManager.HardwareCallback {
5848    ctor public TvInputManager.HardwareCallback();
5849    method public abstract void onReleased();
5850    method public abstract void onStreamConfigChanged(android.media.tv.TvStreamConfig[]);
5851  }
5852
5853  public abstract static class TvInputManager.TvInputCallback {
5854    method @RequiresPermission(android.Manifest.permission.ACCESS_TUNED_INFO) public void onCurrentTunedInfosUpdated(@NonNull java.util.List<android.media.tv.TunedInfo>);
5855  }
5856
5857  public abstract class TvInputService extends android.app.Service {
5858    method @Nullable public android.os.IBinder createExtension();
5859    method @Nullable public android.media.tv.TvInputInfo onHardwareAdded(android.media.tv.TvInputHardwareInfo);
5860    method @Nullable public String onHardwareRemoved(android.media.tv.TvInputHardwareInfo);
5861    method @Nullable public android.media.tv.TvInputInfo onHdmiDeviceAdded(android.hardware.hdmi.HdmiDeviceInfo);
5862    method @Nullable public String onHdmiDeviceRemoved(android.hardware.hdmi.HdmiDeviceInfo);
5863    method public void onHdmiDeviceUpdated(@NonNull android.hardware.hdmi.HdmiDeviceInfo);
5864  }
5865
5866  public abstract static class TvInputService.RecordingSession {
5867    method public void notifySessionEvent(@NonNull String, android.os.Bundle);
5868  }
5869
5870  public abstract static class TvInputService.Session implements android.view.KeyEvent.Callback {
5871    method public void notifySessionEvent(@NonNull String, android.os.Bundle);
5872    method public void onSetMain(boolean);
5873  }
5874
5875  public abstract static class TvRecordingClient.RecordingCallback {
5876    method public void onEvent(String, String, android.os.Bundle);
5877  }
5878
5879  public class TvStreamConfig implements android.os.Parcelable {
5880    method public int describeContents();
5881    method public int getGeneration();
5882    method public int getMaxHeight();
5883    method public int getMaxWidth();
5884    method public int getStreamId();
5885    method public int getType();
5886    method public void writeToParcel(android.os.Parcel, int);
5887    field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.TvStreamConfig> CREATOR;
5888    field public static final int STREAM_TYPE_BUFFER_PRODUCER = 2; // 0x2
5889    field public static final int STREAM_TYPE_INDEPENDENT_VIDEO_SOURCE = 1; // 0x1
5890  }
5891
5892  public static final class TvStreamConfig.Builder {
5893    ctor public TvStreamConfig.Builder();
5894    method public android.media.tv.TvStreamConfig build();
5895    method public android.media.tv.TvStreamConfig.Builder generation(int);
5896    method public android.media.tv.TvStreamConfig.Builder maxHeight(int);
5897    method public android.media.tv.TvStreamConfig.Builder maxWidth(int);
5898    method public android.media.tv.TvStreamConfig.Builder streamId(int);
5899    method public android.media.tv.TvStreamConfig.Builder type(int);
5900  }
5901
5902  public class TvView extends android.view.ViewGroup {
5903    method @RequiresPermission("android.permission.CHANGE_HDMI_CEC_ACTIVE_SOURCE") public void setMain();
5904    method @RequiresPermission(android.Manifest.permission.MODIFY_PARENTAL_CONTROLS) public void unblockContent(android.media.tv.TvContentRating);
5905  }
5906
5907  public abstract static class TvView.TvInputCallback {
5908    method public void onEvent(String, String, android.os.Bundle);
5909  }
5910
5911}
5912
5913package android.media.tv.tuner {
5914
5915  public class DemuxCapabilities {
5916    method public int getAudioFilterCount();
5917    method public int getDemuxCount();
5918    method public int getFilterCapabilities();
5919    method @NonNull @Size(5) public int[] getLinkCapabilities();
5920    method public int getPcrFilterCount();
5921    method public int getPesFilterCount();
5922    method public int getPlaybackCount();
5923    method public int getRecordCount();
5924    method public int getSectionFilterCount();
5925    method public long getSectionFilterLength();
5926    method public int getTsFilterCount();
5927    method public int getVideoFilterCount();
5928    method public boolean isTimeFilterSupported();
5929  }
5930
5931  public class Descrambler implements java.lang.AutoCloseable {
5932    method public int addPid(int, int, @Nullable android.media.tv.tuner.filter.Filter);
5933    method public void close();
5934    method public static boolean isValidKeyToken(@NonNull byte[]);
5935    method public int removePid(int, int, @Nullable android.media.tv.tuner.filter.Filter);
5936    method public int setKeyToken(@NonNull byte[]);
5937    field public static final int PID_TYPE_MMTP = 2; // 0x2
5938    field public static final int PID_TYPE_T = 1; // 0x1
5939  }
5940
5941  public class Lnb implements java.lang.AutoCloseable {
5942    method public void close();
5943    method public int sendDiseqcMessage(@NonNull byte[]);
5944    method public int setSatellitePosition(int);
5945    method public int setTone(int);
5946    method public int setVoltage(int);
5947    field public static final int EVENT_TYPE_DISEQC_RX_OVERFLOW = 0; // 0x0
5948    field public static final int EVENT_TYPE_DISEQC_RX_PARITY_ERROR = 2; // 0x2
5949    field public static final int EVENT_TYPE_DISEQC_RX_TIMEOUT = 1; // 0x1
5950    field public static final int EVENT_TYPE_LNB_OVERLOAD = 3; // 0x3
5951    field public static final int POSITION_A = 1; // 0x1
5952    field public static final int POSITION_B = 2; // 0x2
5953    field public static final int POSITION_UNDEFINED = 0; // 0x0
5954    field public static final int TONE_CONTINUOUS = 1; // 0x1
5955    field public static final int TONE_NONE = 0; // 0x0
5956    field public static final int VOLTAGE_11V = 2; // 0x2
5957    field public static final int VOLTAGE_12V = 3; // 0x3
5958    field public static final int VOLTAGE_13V = 4; // 0x4
5959    field public static final int VOLTAGE_14V = 5; // 0x5
5960    field public static final int VOLTAGE_15V = 6; // 0x6
5961    field public static final int VOLTAGE_18V = 7; // 0x7
5962    field public static final int VOLTAGE_19V = 8; // 0x8
5963    field public static final int VOLTAGE_5V = 1; // 0x1
5964    field public static final int VOLTAGE_NONE = 0; // 0x0
5965  }
5966
5967  public interface LnbCallback {
5968    method public void onDiseqcMessage(@NonNull byte[]);
5969    method public void onEvent(int);
5970  }
5971
5972  public class Tuner implements java.lang.AutoCloseable {
5973    ctor @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public Tuner(@NonNull android.content.Context, @Nullable String, int);
5974    method public int cancelScanning();
5975    method public int cancelTuning();
5976    method public void clearOnTuneEventListener();
5977    method public void clearResourceLostListener();
5978    method public void close();
5979    method public int connectCiCam(int);
5980    method public int connectFrontendToCiCam(int);
5981    method public int disconnectCiCam();
5982    method public int disconnectFrontendToCiCam(int);
5983    method public int getAvSyncHwId(@NonNull android.media.tv.tuner.filter.Filter);
5984    method public long getAvSyncTime(int);
5985    method @Nullable public java.util.List<android.media.tv.tuner.frontend.FrontendInfo> getAvailableFrontendInfos();
5986    method @Nullable public android.media.tv.tuner.DemuxCapabilities getDemuxCapabilities();
5987    method @Nullable public android.media.tv.tuner.frontend.FrontendInfo getFrontendInfo();
5988    method @Nullable public android.media.tv.tuner.frontend.FrontendStatus getFrontendStatus(@NonNull int[]);
5989    method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_TV_DESCRAMBLER) public android.media.tv.tuner.Descrambler openDescrambler();
5990    method @Nullable public android.media.tv.tuner.dvr.DvrPlayback openDvrPlayback(long, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.dvr.OnPlaybackStatusChangedListener);
5991    method @Nullable public android.media.tv.tuner.dvr.DvrRecorder openDvrRecorder(long, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.dvr.OnRecordStatusChangedListener);
5992    method @Nullable public android.media.tv.tuner.filter.Filter openFilter(int, int, long, @Nullable java.util.concurrent.Executor, @Nullable android.media.tv.tuner.filter.FilterCallback);
5993    method @Nullable public android.media.tv.tuner.Lnb openLnb(@NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.LnbCallback);
5994    method @Nullable public android.media.tv.tuner.Lnb openLnbByName(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.LnbCallback);
5995    method @Nullable public android.media.tv.tuner.filter.TimeFilter openTimeFilter();
5996    method public int scan(@NonNull android.media.tv.tuner.frontend.FrontendSettings, int, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.frontend.ScanCallback);
5997    method public int setLnaEnabled(boolean);
5998    method public void setOnTuneEventListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.frontend.OnTuneEventListener);
5999    method public void setResourceLostListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.Tuner.OnResourceLostListener);
6000    method public void shareFrontendFromTuner(@NonNull android.media.tv.tuner.Tuner);
6001    method public int tune(@NonNull android.media.tv.tuner.frontend.FrontendSettings);
6002    method public void updateResourcePriority(int, int);
6003    field public static final int INVALID_AV_SYNC_ID = -1; // 0xffffffff
6004    field public static final int INVALID_FILTER_ID = -1; // 0xffffffff
6005    field public static final long INVALID_FILTER_ID_LONG = -1L; // 0xffffffffffffffffL
6006    field public static final int INVALID_FIRST_MACROBLOCK_IN_SLICE = -1; // 0xffffffff
6007    field public static final int INVALID_FRONTEND_ID = -1; // 0xffffffff
6008    field public static final int INVALID_FRONTEND_SETTING_FREQUENCY = -1; // 0xffffffff
6009    field public static final int INVALID_LTS_ID = -1; // 0xffffffff
6010    field public static final int INVALID_MMTP_RECORD_EVENT_MPT_SEQUENCE_NUM = -1; // 0xffffffff
6011    field public static final int INVALID_STREAM_ID = 65535; // 0xffff
6012    field public static final long INVALID_TIMESTAMP = -1L; // 0xffffffffffffffffL
6013    field public static final int INVALID_TS_PID = 65535; // 0xffff
6014    field public static final int RESULT_INVALID_ARGUMENT = 4; // 0x4
6015    field public static final int RESULT_INVALID_STATE = 3; // 0x3
6016    field public static final int RESULT_NOT_INITIALIZED = 2; // 0x2
6017    field public static final int RESULT_OUT_OF_MEMORY = 5; // 0x5
6018    field public static final int RESULT_SUCCESS = 0; // 0x0
6019    field public static final int RESULT_UNAVAILABLE = 1; // 0x1
6020    field public static final int RESULT_UNKNOWN_ERROR = 6; // 0x6
6021    field public static final int SCAN_TYPE_AUTO = 1; // 0x1
6022    field public static final int SCAN_TYPE_BLIND = 2; // 0x2
6023    field public static final int SCAN_TYPE_UNDEFINED = 0; // 0x0
6024    field @NonNull public static final byte[] VOID_KEYTOKEN;
6025  }
6026
6027  public static interface Tuner.OnResourceLostListener {
6028    method public void onResourceLost(@NonNull android.media.tv.tuner.Tuner);
6029  }
6030
6031  public final class TunerVersionChecker {
6032    method public static int getTunerVersion();
6033    field public static final int TUNER_VERSION_1_0 = 65536; // 0x10000
6034    field public static final int TUNER_VERSION_1_1 = 65537; // 0x10001
6035    field public static final int TUNER_VERSION_UNKNOWN = 0; // 0x0
6036  }
6037
6038}
6039
6040package android.media.tv.tuner.dvr {
6041
6042  public class DvrPlayback implements java.lang.AutoCloseable {
6043    method @Deprecated public int attachFilter(@NonNull android.media.tv.tuner.filter.Filter);
6044    method public void close();
6045    method public int configure(@NonNull android.media.tv.tuner.dvr.DvrSettings);
6046    method @Deprecated public int detachFilter(@NonNull android.media.tv.tuner.filter.Filter);
6047    method public int flush();
6048    method public long read(long);
6049    method public long read(@NonNull byte[], long, long);
6050    method public void setFileDescriptor(@NonNull android.os.ParcelFileDescriptor);
6051    method public int start();
6052    method public int stop();
6053    field public static final int PLAYBACK_STATUS_ALMOST_EMPTY = 2; // 0x2
6054    field public static final int PLAYBACK_STATUS_ALMOST_FULL = 4; // 0x4
6055    field public static final int PLAYBACK_STATUS_EMPTY = 1; // 0x1
6056    field public static final int PLAYBACK_STATUS_FULL = 8; // 0x8
6057  }
6058
6059  public class DvrRecorder implements java.lang.AutoCloseable {
6060    method public int attachFilter(@NonNull android.media.tv.tuner.filter.Filter);
6061    method public void close();
6062    method public int configure(@NonNull android.media.tv.tuner.dvr.DvrSettings);
6063    method public int detachFilter(@NonNull android.media.tv.tuner.filter.Filter);
6064    method public int flush();
6065    method public void setFileDescriptor(@NonNull android.os.ParcelFileDescriptor);
6066    method public int start();
6067    method public int stop();
6068    method public long write(long);
6069    method public long write(@NonNull byte[], long, long);
6070  }
6071
6072  public class DvrSettings {
6073    method @NonNull public static android.media.tv.tuner.dvr.DvrSettings.Builder builder();
6074    method public int getDataFormat();
6075    method public long getHighThreshold();
6076    method public long getLowThreshold();
6077    method public long getPacketSize();
6078    method public int getStatusMask();
6079    field public static final int DATA_FORMAT_ES = 2; // 0x2
6080    field public static final int DATA_FORMAT_PES = 1; // 0x1
6081    field public static final int DATA_FORMAT_SHV_TLV = 3; // 0x3
6082    field public static final int DATA_FORMAT_TS = 0; // 0x0
6083  }
6084
6085  public static final class DvrSettings.Builder {
6086    ctor public DvrSettings.Builder();
6087    method @NonNull public android.media.tv.tuner.dvr.DvrSettings build();
6088    method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setDataFormat(int);
6089    method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setHighThreshold(long);
6090    method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setLowThreshold(long);
6091    method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setPacketSize(long);
6092    method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setStatusMask(int);
6093  }
6094
6095  public interface OnPlaybackStatusChangedListener {
6096    method public void onPlaybackStatusChanged(int);
6097  }
6098
6099  public interface OnRecordStatusChangedListener {
6100    method public void onRecordStatusChanged(int);
6101  }
6102
6103}
6104
6105package android.media.tv.tuner.filter {
6106
6107  public final class AlpFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
6108    method @NonNull public static android.media.tv.tuner.filter.AlpFilterConfiguration.Builder builder();
6109    method public int getLengthType();
6110    method public int getPacketType();
6111    method public int getType();
6112    field public static final int LENGTH_TYPE_UNDEFINED = 0; // 0x0
6113    field public static final int LENGTH_TYPE_WITHOUT_ADDITIONAL_HEADER = 1; // 0x1
6114    field public static final int LENGTH_TYPE_WITH_ADDITIONAL_HEADER = 2; // 0x2
6115    field public static final int PACKET_TYPE_COMPRESSED = 2; // 0x2
6116    field public static final int PACKET_TYPE_EXTENSION = 6; // 0x6
6117    field public static final int PACKET_TYPE_IPV4 = 0; // 0x0
6118    field public static final int PACKET_TYPE_MPEG2_TS = 7; // 0x7
6119    field public static final int PACKET_TYPE_SIGNALING = 4; // 0x4
6120  }
6121
6122  public static final class AlpFilterConfiguration.Builder {
6123    method @NonNull public android.media.tv.tuner.filter.AlpFilterConfiguration build();
6124    method @NonNull public android.media.tv.tuner.filter.AlpFilterConfiguration.Builder setLengthType(int);
6125    method @NonNull public android.media.tv.tuner.filter.AlpFilterConfiguration.Builder setPacketType(int);
6126    method @NonNull public android.media.tv.tuner.filter.AlpFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings);
6127  }
6128
6129  public class AudioDescriptor {
6130    method public byte getAdFade();
6131    method public byte getAdGainCenter();
6132    method public byte getAdGainFront();
6133    method public byte getAdGainSurround();
6134    method public byte getAdPan();
6135    method public char getAdVersionTextTag();
6136  }
6137
6138  public class AvSettings extends android.media.tv.tuner.filter.Settings {
6139    method @NonNull public static android.media.tv.tuner.filter.AvSettings.Builder builder(int, boolean);
6140    method public int getAudioStreamType();
6141    method public int getVideoStreamType();
6142    method public boolean isPassthrough();
6143    field public static final int AUDIO_STREAM_TYPE_AAC = 6; // 0x6
6144    field public static final int AUDIO_STREAM_TYPE_AC3 = 7; // 0x7
6145    field public static final int AUDIO_STREAM_TYPE_AC4 = 9; // 0x9
6146    field public static final int AUDIO_STREAM_TYPE_DRA = 15; // 0xf
6147    field public static final int AUDIO_STREAM_TYPE_DTS = 10; // 0xa
6148    field public static final int AUDIO_STREAM_TYPE_DTS_HD = 11; // 0xb
6149    field public static final int AUDIO_STREAM_TYPE_EAC3 = 8; // 0x8
6150    field public static final int AUDIO_STREAM_TYPE_MP3 = 2; // 0x2
6151    field public static final int AUDIO_STREAM_TYPE_MPEG1 = 3; // 0x3
6152    field public static final int AUDIO_STREAM_TYPE_MPEG2 = 4; // 0x4
6153    field public static final int AUDIO_STREAM_TYPE_MPEGH = 5; // 0x5
6154    field public static final int AUDIO_STREAM_TYPE_OPUS = 13; // 0xd
6155    field public static final int AUDIO_STREAM_TYPE_PCM = 1; // 0x1
6156    field public static final int AUDIO_STREAM_TYPE_UNDEFINED = 0; // 0x0
6157    field public static final int AUDIO_STREAM_TYPE_VORBIS = 14; // 0xe
6158    field public static final int AUDIO_STREAM_TYPE_WMA = 12; // 0xc
6159    field public static final int VIDEO_STREAM_TYPE_AV1 = 10; // 0xa
6160    field public static final int VIDEO_STREAM_TYPE_AVC = 5; // 0x5
6161    field public static final int VIDEO_STREAM_TYPE_AVS = 11; // 0xb
6162    field public static final int VIDEO_STREAM_TYPE_AVS2 = 12; // 0xc
6163    field public static final int VIDEO_STREAM_TYPE_HEVC = 6; // 0x6
6164    field public static final int VIDEO_STREAM_TYPE_MPEG1 = 2; // 0x2
6165    field public static final int VIDEO_STREAM_TYPE_MPEG2 = 3; // 0x3
6166    field public static final int VIDEO_STREAM_TYPE_MPEG4P2 = 4; // 0x4
6167    field public static final int VIDEO_STREAM_TYPE_RESERVED = 1; // 0x1
6168    field public static final int VIDEO_STREAM_TYPE_UNDEFINED = 0; // 0x0
6169    field public static final int VIDEO_STREAM_TYPE_VC1 = 7; // 0x7
6170    field public static final int VIDEO_STREAM_TYPE_VP8 = 8; // 0x8
6171    field public static final int VIDEO_STREAM_TYPE_VP9 = 9; // 0x9
6172  }
6173
6174  public static class AvSettings.Builder {
6175    method @NonNull public android.media.tv.tuner.filter.AvSettings build();
6176    method @NonNull public android.media.tv.tuner.filter.AvSettings.Builder setAudioStreamType(int);
6177    method @NonNull public android.media.tv.tuner.filter.AvSettings.Builder setPassthrough(boolean);
6178    method @NonNull public android.media.tv.tuner.filter.AvSettings.Builder setVideoStreamType(int);
6179  }
6180
6181  public class DownloadEvent extends android.media.tv.tuner.filter.FilterEvent {
6182    method public int getDataLength();
6183    method public int getItemFragmentIndex();
6184    method public int getItemId();
6185    method public int getLastItemFragmentIndex();
6186    method @IntRange(from=0) public int getMpuSequenceNumber();
6187  }
6188
6189  public class DownloadSettings extends android.media.tv.tuner.filter.Settings {
6190    method @NonNull public static android.media.tv.tuner.filter.DownloadSettings.Builder builder(int);
6191    method public int getDownloadId();
6192  }
6193
6194  public static class DownloadSettings.Builder {
6195    method @NonNull public android.media.tv.tuner.filter.DownloadSettings build();
6196    method @NonNull public android.media.tv.tuner.filter.DownloadSettings.Builder setDownloadId(int);
6197  }
6198
6199  public class Filter implements java.lang.AutoCloseable {
6200    method public void close();
6201    method public int configure(@NonNull android.media.tv.tuner.filter.FilterConfiguration);
6202    method public int flush();
6203    method public int getId();
6204    method public long getIdLong();
6205    method public int read(@NonNull byte[], long, long);
6206    method public int setDataSource(@Nullable android.media.tv.tuner.filter.Filter);
6207    method public int setMonitorEventMask(int);
6208    method public int start();
6209    method public int stop();
6210    field public static final int MONITOR_EVENT_IP_CID_CHANGE = 2; // 0x2
6211    field public static final int MONITOR_EVENT_SCRAMBLING_STATUS = 1; // 0x1
6212    field public static final int SCRAMBLING_STATUS_NOT_SCRAMBLED = 2; // 0x2
6213    field public static final int SCRAMBLING_STATUS_SCRAMBLED = 4; // 0x4
6214    field public static final int SCRAMBLING_STATUS_UNKNOWN = 1; // 0x1
6215    field public static final int STATUS_DATA_READY = 1; // 0x1
6216    field public static final int STATUS_HIGH_WATER = 4; // 0x4
6217    field public static final int STATUS_LOW_WATER = 2; // 0x2
6218    field public static final int STATUS_OVERFLOW = 8; // 0x8
6219    field public static final int SUBTYPE_AUDIO = 3; // 0x3
6220    field public static final int SUBTYPE_DOWNLOAD = 5; // 0x5
6221    field public static final int SUBTYPE_IP = 13; // 0xd
6222    field public static final int SUBTYPE_IP_PAYLOAD = 12; // 0xc
6223    field public static final int SUBTYPE_MMTP = 10; // 0xa
6224    field public static final int SUBTYPE_NTP = 11; // 0xb
6225    field public static final int SUBTYPE_PAYLOAD_THROUGH = 14; // 0xe
6226    field public static final int SUBTYPE_PCR = 8; // 0x8
6227    field public static final int SUBTYPE_PES = 2; // 0x2
6228    field public static final int SUBTYPE_PTP = 16; // 0x10
6229    field public static final int SUBTYPE_RECORD = 6; // 0x6
6230    field public static final int SUBTYPE_SECTION = 1; // 0x1
6231    field public static final int SUBTYPE_TEMI = 9; // 0x9
6232    field public static final int SUBTYPE_TLV = 15; // 0xf
6233    field public static final int SUBTYPE_TS = 7; // 0x7
6234    field public static final int SUBTYPE_UNDEFINED = 0; // 0x0
6235    field public static final int SUBTYPE_VIDEO = 4; // 0x4
6236    field public static final int TYPE_ALP = 16; // 0x10
6237    field public static final int TYPE_IP = 4; // 0x4
6238    field public static final int TYPE_MMTP = 2; // 0x2
6239    field public static final int TYPE_TLV = 8; // 0x8
6240    field public static final int TYPE_TS = 1; // 0x1
6241    field public static final int TYPE_UNDEFINED = 0; // 0x0
6242  }
6243
6244  public interface FilterCallback {
6245    method public void onFilterEvent(@NonNull android.media.tv.tuner.filter.Filter, @NonNull android.media.tv.tuner.filter.FilterEvent[]);
6246    method public void onFilterStatusChanged(@NonNull android.media.tv.tuner.filter.Filter, int);
6247  }
6248
6249  public abstract class FilterConfiguration {
6250    method @Nullable public android.media.tv.tuner.filter.Settings getSettings();
6251    method public abstract int getType();
6252  }
6253
6254  public abstract class FilterEvent {
6255    ctor public FilterEvent();
6256  }
6257
6258  public final class IpCidChangeEvent extends android.media.tv.tuner.filter.FilterEvent {
6259    method public int getIpCid();
6260  }
6261
6262  public final class IpFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
6263    method @NonNull public static android.media.tv.tuner.filter.IpFilterConfiguration.Builder builder();
6264    method @NonNull @Size(min=4, max=16) public byte[] getDstIpAddress();
6265    method public int getDstPort();
6266    method @IntRange(from=0, to=61439) public int getIpFilterContextId();
6267    method @NonNull @Size(min=4, max=16) public byte[] getSrcIpAddress();
6268    method public int getSrcPort();
6269    method public int getType();
6270    method public boolean isPassthrough();
6271    field public static final int INVALID_IP_FILTER_CONTEXT_ID = -1; // 0xffffffff
6272  }
6273
6274  public static final class IpFilterConfiguration.Builder {
6275    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration build();
6276    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setDstIpAddress(@NonNull byte[]);
6277    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setDstPort(int);
6278    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setIpFilterContextId(int);
6279    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setPassthrough(boolean);
6280    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings);
6281    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setSrcIpAddress(@NonNull byte[]);
6282    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setSrcPort(int);
6283  }
6284
6285  public class IpPayloadEvent extends android.media.tv.tuner.filter.FilterEvent {
6286    method public int getDataLength();
6287  }
6288
6289  public class MediaEvent extends android.media.tv.tuner.filter.FilterEvent {
6290    method public long getAudioHandle();
6291    method public long getAvDataId();
6292    method public long getDataLength();
6293    method @Nullable public android.media.tv.tuner.filter.AudioDescriptor getExtraMetaData();
6294    method @Nullable public android.media.MediaCodec.LinearBlock getLinearBlock();
6295    method @IntRange(from=0) public int getMpuSequenceNumber();
6296    method public long getOffset();
6297    method public long getPts();
6298    method public int getStreamId();
6299    method public boolean isPrivateData();
6300    method public boolean isPtsPresent();
6301    method public boolean isSecureMemory();
6302    method public void release();
6303  }
6304
6305  public final class MmtpFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
6306    method @NonNull public static android.media.tv.tuner.filter.MmtpFilterConfiguration.Builder builder();
6307    method public int getMmtpPacketId();
6308    method public int getType();
6309  }
6310
6311  public static final class MmtpFilterConfiguration.Builder {
6312    method @NonNull public android.media.tv.tuner.filter.MmtpFilterConfiguration build();
6313    method @NonNull public android.media.tv.tuner.filter.MmtpFilterConfiguration.Builder setMmtpPacketId(int);
6314    method @NonNull public android.media.tv.tuner.filter.MmtpFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings);
6315  }
6316
6317  public class MmtpRecordEvent extends android.media.tv.tuner.filter.FilterEvent {
6318    method public long getDataLength();
6319    method public int getFirstMacroblockInSlice();
6320    method @IntRange(from=0) public int getMpuSequenceNumber();
6321    method public long getPts();
6322    method public int getScHevcIndexMask();
6323    method public int getTsIndexMask();
6324  }
6325
6326  public class PesEvent extends android.media.tv.tuner.filter.FilterEvent {
6327    method public int getDataLength();
6328    method @IntRange(from=0) public int getMpuSequenceNumber();
6329    method public int getStreamId();
6330  }
6331
6332  public class PesSettings extends android.media.tv.tuner.filter.Settings {
6333    method @NonNull public static android.media.tv.tuner.filter.PesSettings.Builder builder(int);
6334    method public int getStreamId();
6335    method public boolean isRaw();
6336  }
6337
6338  public static class PesSettings.Builder {
6339    method @NonNull public android.media.tv.tuner.filter.PesSettings build();
6340    method @NonNull public android.media.tv.tuner.filter.PesSettings.Builder setRaw(boolean);
6341    method @NonNull public android.media.tv.tuner.filter.PesSettings.Builder setStreamId(int);
6342  }
6343
6344  public class RecordSettings extends android.media.tv.tuner.filter.Settings {
6345    method @NonNull public static android.media.tv.tuner.filter.RecordSettings.Builder builder(int);
6346    method public int getScIndexMask();
6347    method public int getScIndexType();
6348    method public int getTsIndexMask();
6349    field public static final int INDEX_TYPE_NONE = 0; // 0x0
6350    field public static final int INDEX_TYPE_SC = 1; // 0x1
6351    field public static final int INDEX_TYPE_SC_HEVC = 2; // 0x2
6352    field public static final int MPT_INDEX_AUDIO = 262144; // 0x40000
6353    field public static final int MPT_INDEX_MPT = 65536; // 0x10000
6354    field public static final int MPT_INDEX_TIMESTAMP_TARGET_AUDIO = 1048576; // 0x100000
6355    field public static final int MPT_INDEX_TIMESTAMP_TARGET_VIDEO = 524288; // 0x80000
6356    field public static final int MPT_INDEX_VIDEO = 131072; // 0x20000
6357    field public static final int SC_HEVC_INDEX_AUD = 2; // 0x2
6358    field public static final int SC_HEVC_INDEX_SLICE_BLA_N_LP = 16; // 0x10
6359    field public static final int SC_HEVC_INDEX_SLICE_BLA_W_RADL = 8; // 0x8
6360    field public static final int SC_HEVC_INDEX_SLICE_CE_BLA_W_LP = 4; // 0x4
6361    field public static final int SC_HEVC_INDEX_SLICE_IDR_N_LP = 64; // 0x40
6362    field public static final int SC_HEVC_INDEX_SLICE_IDR_W_RADL = 32; // 0x20
6363    field public static final int SC_HEVC_INDEX_SLICE_TRAIL_CRA = 128; // 0x80
6364    field public static final int SC_HEVC_INDEX_SPS = 1; // 0x1
6365    field public static final int SC_INDEX_B_FRAME = 4; // 0x4
6366    field public static final int SC_INDEX_B_SLICE = 64; // 0x40
6367    field public static final int SC_INDEX_I_FRAME = 1; // 0x1
6368    field public static final int SC_INDEX_I_SLICE = 16; // 0x10
6369    field public static final int SC_INDEX_P_FRAME = 2; // 0x2
6370    field public static final int SC_INDEX_P_SLICE = 32; // 0x20
6371    field public static final int SC_INDEX_SEQUENCE = 8; // 0x8
6372    field public static final int SC_INDEX_SI_SLICE = 128; // 0x80
6373    field public static final int SC_INDEX_SP_SLICE = 256; // 0x100
6374    field public static final int TS_INDEX_ADAPTATION_EXTENSION_FLAG = 4096; // 0x1000
6375    field public static final int TS_INDEX_CHANGE_TO_EVEN_SCRAMBLED = 8; // 0x8
6376    field public static final int TS_INDEX_CHANGE_TO_NOT_SCRAMBLED = 4; // 0x4
6377    field public static final int TS_INDEX_CHANGE_TO_ODD_SCRAMBLED = 16; // 0x10
6378    field public static final int TS_INDEX_DISCONTINUITY_INDICATOR = 32; // 0x20
6379    field public static final int TS_INDEX_FIRST_PACKET = 1; // 0x1
6380    field public static final int TS_INDEX_INVALID = 0; // 0x0
6381    field public static final int TS_INDEX_OPCR_FLAG = 512; // 0x200
6382    field public static final int TS_INDEX_PAYLOAD_UNIT_START_INDICATOR = 2; // 0x2
6383    field public static final int TS_INDEX_PCR_FLAG = 256; // 0x100
6384    field public static final int TS_INDEX_PRIORITY_INDICATOR = 128; // 0x80
6385    field public static final int TS_INDEX_PRIVATE_DATA = 2048; // 0x800
6386    field public static final int TS_INDEX_RANDOM_ACCESS_INDICATOR = 64; // 0x40
6387    field public static final int TS_INDEX_SPLICING_POINT_FLAG = 1024; // 0x400
6388  }
6389
6390  public static class RecordSettings.Builder {
6391    method @NonNull public android.media.tv.tuner.filter.RecordSettings build();
6392    method @NonNull public android.media.tv.tuner.filter.RecordSettings.Builder setScIndexMask(int);
6393    method @NonNull public android.media.tv.tuner.filter.RecordSettings.Builder setScIndexType(int);
6394    method @NonNull public android.media.tv.tuner.filter.RecordSettings.Builder setTsIndexMask(int);
6395  }
6396
6397  public final class RestartEvent extends android.media.tv.tuner.filter.FilterEvent {
6398    method public int getStartId();
6399    field public static final int NEW_FILTER_FIRST_START_ID = 0; // 0x0
6400  }
6401
6402  public final class ScramblingStatusEvent extends android.media.tv.tuner.filter.FilterEvent {
6403    method public int getScramblingStatus();
6404  }
6405
6406  public class SectionEvent extends android.media.tv.tuner.filter.FilterEvent {
6407    method public int getDataLength();
6408    method public int getSectionNumber();
6409    method public int getTableId();
6410    method public int getVersion();
6411  }
6412
6413  public abstract class SectionSettings extends android.media.tv.tuner.filter.Settings {
6414    method public boolean isCrcEnabled();
6415    method public boolean isRaw();
6416    method public boolean isRepeat();
6417  }
6418
6419  public abstract static class SectionSettings.Builder<T extends android.media.tv.tuner.filter.SectionSettings.Builder<T>> {
6420    method @NonNull public T setCrcEnabled(boolean);
6421    method @NonNull public T setRaw(boolean);
6422    method @NonNull public T setRepeat(boolean);
6423  }
6424
6425  public class SectionSettingsWithSectionBits extends android.media.tv.tuner.filter.SectionSettings {
6426    method @NonNull public static android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder builder(int);
6427    method @NonNull public byte[] getFilterBytes();
6428    method @NonNull public byte[] getMask();
6429    method @NonNull public byte[] getMode();
6430  }
6431
6432  public static class SectionSettingsWithSectionBits.Builder extends android.media.tv.tuner.filter.SectionSettings.Builder<android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder> {
6433    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithSectionBits build();
6434    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder setFilter(@NonNull byte[]);
6435    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder setMask(@NonNull byte[]);
6436    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder setMode(@NonNull byte[]);
6437  }
6438
6439  public class SectionSettingsWithTableInfo extends android.media.tv.tuner.filter.SectionSettings {
6440    method @NonNull public static android.media.tv.tuner.filter.SectionSettingsWithTableInfo.Builder builder(int);
6441    method public int getTableId();
6442    method public int getVersion();
6443  }
6444
6445  public static class SectionSettingsWithTableInfo.Builder extends android.media.tv.tuner.filter.SectionSettings.Builder<android.media.tv.tuner.filter.SectionSettingsWithTableInfo.Builder> {
6446    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithTableInfo build();
6447    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithTableInfo.Builder setTableId(int);
6448    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithTableInfo.Builder setVersion(int);
6449  }
6450
6451  public abstract class Settings {
6452    method public int getType();
6453  }
6454
6455  public class TemiEvent extends android.media.tv.tuner.filter.FilterEvent {
6456    method @NonNull public byte[] getDescriptorData();
6457    method public byte getDescriptorTag();
6458    method public long getPts();
6459  }
6460
6461  public class TimeFilter implements java.lang.AutoCloseable {
6462    method public int clearTimestamp();
6463    method public void close();
6464    method public long getSourceTime();
6465    method public long getTimeStamp();
6466    method public int setCurrentTimestamp(long);
6467  }
6468
6469  public final class TlvFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
6470    method @NonNull public static android.media.tv.tuner.filter.TlvFilterConfiguration.Builder builder();
6471    method public int getPacketType();
6472    method public int getType();
6473    method public boolean isCompressedIpPacket();
6474    method public boolean isPassthrough();
6475    field public static final int PACKET_TYPE_COMPRESSED = 3; // 0x3
6476    field public static final int PACKET_TYPE_IPV4 = 1; // 0x1
6477    field public static final int PACKET_TYPE_IPV6 = 2; // 0x2
6478    field public static final int PACKET_TYPE_NULL = 255; // 0xff
6479    field public static final int PACKET_TYPE_SIGNALING = 254; // 0xfe
6480  }
6481
6482  public static final class TlvFilterConfiguration.Builder {
6483    method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration build();
6484    method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration.Builder setCompressedIpPacket(boolean);
6485    method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration.Builder setPacketType(int);
6486    method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration.Builder setPassthrough(boolean);
6487    method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings);
6488  }
6489
6490  public final class TsFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
6491    method @NonNull public static android.media.tv.tuner.filter.TsFilterConfiguration.Builder builder();
6492    method public int getTpid();
6493    method public int getType();
6494  }
6495
6496  public static final class TsFilterConfiguration.Builder {
6497    method @NonNull public android.media.tv.tuner.filter.TsFilterConfiguration build();
6498    method @NonNull public android.media.tv.tuner.filter.TsFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings);
6499    method @NonNull public android.media.tv.tuner.filter.TsFilterConfiguration.Builder setTpid(int);
6500  }
6501
6502  public class TsRecordEvent extends android.media.tv.tuner.filter.FilterEvent {
6503    method public long getDataLength();
6504    method public int getFirstMacroblockInSlice();
6505    method public int getPacketId();
6506    method public long getPts();
6507    method public int getScIndexMask();
6508    method public int getTsIndexMask();
6509  }
6510
6511}
6512
6513package android.media.tv.tuner.frontend {
6514
6515  public class AnalogFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
6516    method public int getSifStandardCapability();
6517    method public int getSignalTypeCapability();
6518  }
6519
6520  public class AnalogFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
6521    method @NonNull public static android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder builder();
6522    method public int getAftFlag();
6523    method public int getSifStandard();
6524    method public int getSignalType();
6525    method public int getType();
6526    field public static final int AFT_FLAG_FALSE = 2; // 0x2
6527    field public static final int AFT_FLAG_TRUE = 1; // 0x1
6528    field public static final int AFT_FLAG_UNDEFINED = 0; // 0x0
6529    field public static final int SIF_AUTO = 1; // 0x1
6530    field public static final int SIF_BG = 2; // 0x2
6531    field public static final int SIF_BG_A2 = 4; // 0x4
6532    field public static final int SIF_BG_NICAM = 8; // 0x8
6533    field public static final int SIF_DK = 32; // 0x20
6534    field public static final int SIF_DK1_A2 = 64; // 0x40
6535    field public static final int SIF_DK2_A2 = 128; // 0x80
6536    field public static final int SIF_DK3_A2 = 256; // 0x100
6537    field public static final int SIF_DK_NICAM = 512; // 0x200
6538    field public static final int SIF_I = 16; // 0x10
6539    field public static final int SIF_I_NICAM = 32768; // 0x8000
6540    field public static final int SIF_L = 1024; // 0x400
6541    field public static final int SIF_L_NICAM = 65536; // 0x10000
6542    field public static final int SIF_L_PRIME = 131072; // 0x20000
6543    field public static final int SIF_M = 2048; // 0x800
6544    field public static final int SIF_M_A2 = 8192; // 0x2000
6545    field public static final int SIF_M_BTSC = 4096; // 0x1000
6546    field public static final int SIF_M_EIAJ = 16384; // 0x4000
6547    field public static final int SIF_UNDEFINED = 0; // 0x0
6548    field public static final int SIGNAL_TYPE_AUTO = 1; // 0x1
6549    field public static final int SIGNAL_TYPE_NTSC = 32; // 0x20
6550    field public static final int SIGNAL_TYPE_NTSC_443 = 64; // 0x40
6551    field public static final int SIGNAL_TYPE_PAL = 2; // 0x2
6552    field public static final int SIGNAL_TYPE_PAL_60 = 16; // 0x10
6553    field public static final int SIGNAL_TYPE_PAL_M = 4; // 0x4
6554    field public static final int SIGNAL_TYPE_PAL_N = 8; // 0x8
6555    field public static final int SIGNAL_TYPE_SECAM = 128; // 0x80
6556    field public static final int SIGNAL_TYPE_UNDEFINED = 0; // 0x0
6557  }
6558
6559  public static class AnalogFrontendSettings.Builder {
6560    method @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings build();
6561    method @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder setAftFlag(int);
6562    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder setFrequency(int);
6563    method @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder setSifStandard(int);
6564    method @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder setSignalType(int);
6565  }
6566
6567  public class Atsc3FrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
6568    method public int getBandwidthCapability();
6569    method public int getDemodOutputFormatCapability();
6570    method public int getFecCapability();
6571    method public int getModulationCapability();
6572    method public int getPlpCodeRateCapability();
6573    method public int getTimeInterleaveModeCapability();
6574  }
6575
6576  public class Atsc3FrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
6577    method @NonNull public static android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder builder();
6578    method public int getBandwidth();
6579    method public int getDemodOutputFormat();
6580    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings[] getPlpSettings();
6581    method public int getType();
6582    field public static final int BANDWIDTH_AUTO = 1; // 0x1
6583    field public static final int BANDWIDTH_BANDWIDTH_6MHZ = 2; // 0x2
6584    field public static final int BANDWIDTH_BANDWIDTH_7MHZ = 4; // 0x4
6585    field public static final int BANDWIDTH_BANDWIDTH_8MHZ = 8; // 0x8
6586    field public static final int BANDWIDTH_UNDEFINED = 0; // 0x0
6587    field public static final int CODERATE_10_15 = 512; // 0x200
6588    field public static final int CODERATE_11_15 = 1024; // 0x400
6589    field public static final int CODERATE_12_15 = 2048; // 0x800
6590    field public static final int CODERATE_13_15 = 4096; // 0x1000
6591    field public static final int CODERATE_2_15 = 2; // 0x2
6592    field public static final int CODERATE_3_15 = 4; // 0x4
6593    field public static final int CODERATE_4_15 = 8; // 0x8
6594    field public static final int CODERATE_5_15 = 16; // 0x10
6595    field public static final int CODERATE_6_15 = 32; // 0x20
6596    field public static final int CODERATE_7_15 = 64; // 0x40
6597    field public static final int CODERATE_8_15 = 128; // 0x80
6598    field public static final int CODERATE_9_15 = 256; // 0x100
6599    field public static final int CODERATE_AUTO = 1; // 0x1
6600    field public static final int CODERATE_UNDEFINED = 0; // 0x0
6601    field public static final int DEMOD_OUTPUT_FORMAT_ATSC3_LINKLAYER_PACKET = 1; // 0x1
6602    field public static final int DEMOD_OUTPUT_FORMAT_BASEBAND_PACKET = 2; // 0x2
6603    field public static final int DEMOD_OUTPUT_FORMAT_UNDEFINED = 0; // 0x0
6604    field public static final int FEC_AUTO = 1; // 0x1
6605    field public static final int FEC_BCH_LDPC_16K = 2; // 0x2
6606    field public static final int FEC_BCH_LDPC_64K = 4; // 0x4
6607    field public static final int FEC_CRC_LDPC_16K = 8; // 0x8
6608    field public static final int FEC_CRC_LDPC_64K = 16; // 0x10
6609    field public static final int FEC_LDPC_16K = 32; // 0x20
6610    field public static final int FEC_LDPC_64K = 64; // 0x40
6611    field public static final int FEC_UNDEFINED = 0; // 0x0
6612    field public static final int MODULATION_AUTO = 1; // 0x1
6613    field public static final int MODULATION_MOD_1024QAM = 32; // 0x20
6614    field public static final int MODULATION_MOD_16QAM = 4; // 0x4
6615    field public static final int MODULATION_MOD_256QAM = 16; // 0x10
6616    field public static final int MODULATION_MOD_4096QAM = 64; // 0x40
6617    field public static final int MODULATION_MOD_64QAM = 8; // 0x8
6618    field public static final int MODULATION_MOD_QPSK = 2; // 0x2
6619    field public static final int MODULATION_UNDEFINED = 0; // 0x0
6620    field public static final int TIME_INTERLEAVE_MODE_AUTO = 1; // 0x1
6621    field public static final int TIME_INTERLEAVE_MODE_CTI = 2; // 0x2
6622    field public static final int TIME_INTERLEAVE_MODE_HTI = 4; // 0x4
6623    field public static final int TIME_INTERLEAVE_MODE_UNDEFINED = 0; // 0x0
6624  }
6625
6626  public static class Atsc3FrontendSettings.Builder {
6627    method @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings build();
6628    method @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setBandwidth(int);
6629    method @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setDemodOutputFormat(int);
6630    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setFrequency(int);
6631    method @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setPlpSettings(@NonNull android.media.tv.tuner.frontend.Atsc3PlpSettings[]);
6632  }
6633
6634  public class Atsc3PlpInfo {
6635    method public boolean getLlsFlag();
6636    method public int getPlpId();
6637  }
6638
6639  public class Atsc3PlpSettings {
6640    method @NonNull public static android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder builder();
6641    method public int getCodeRate();
6642    method public int getFec();
6643    method public int getInterleaveMode();
6644    method public int getModulation();
6645    method public int getPlpId();
6646  }
6647
6648  public static class Atsc3PlpSettings.Builder {
6649    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings build();
6650    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setCodeRate(int);
6651    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setFec(int);
6652    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setInterleaveMode(int);
6653    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setModulation(int);
6654    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setPlpId(int);
6655  }
6656
6657  public class AtscFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
6658    method public int getModulationCapability();
6659  }
6660
6661  public class AtscFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
6662    method @NonNull public static android.media.tv.tuner.frontend.AtscFrontendSettings.Builder builder();
6663    method public int getModulation();
6664    method public int getType();
6665    field public static final int MODULATION_AUTO = 1; // 0x1
6666    field public static final int MODULATION_MOD_16VSB = 8; // 0x8
6667    field public static final int MODULATION_MOD_8VSB = 4; // 0x4
6668    field public static final int MODULATION_UNDEFINED = 0; // 0x0
6669  }
6670
6671  public static class AtscFrontendSettings.Builder {
6672    method @NonNull public android.media.tv.tuner.frontend.AtscFrontendSettings build();
6673    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.AtscFrontendSettings.Builder setFrequency(int);
6674    method @NonNull public android.media.tv.tuner.frontend.AtscFrontendSettings.Builder setModulation(int);
6675  }
6676
6677  public final class DtmbFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
6678    method public int getBandwidthCapability();
6679    method public int getCodeRateCapability();
6680    method public int getGuardIntervalCapability();
6681    method public int getModulationCapability();
6682    method public int getTimeInterleaveModeCapability();
6683    method public int getTransmissionModeCapability();
6684  }
6685
6686  public final class DtmbFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
6687    method @NonNull public static android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder builder();
6688    method public int getBandwidth();
6689    method public int getCodeRate();
6690    method public int getGuardInterval();
6691    method public int getModulation();
6692    method public int getTimeInterleaveMode();
6693    method public int getTransmissionMode();
6694    method public int getType();
6695    field public static final int BANDWIDTH_6MHZ = 4; // 0x4
6696    field public static final int BANDWIDTH_8MHZ = 2; // 0x2
6697    field public static final int BANDWIDTH_AUTO = 1; // 0x1
6698    field public static final int BANDWIDTH_UNDEFINED = 0; // 0x0
6699    field public static final int CODERATE_2_5 = 2; // 0x2
6700    field public static final int CODERATE_3_5 = 4; // 0x4
6701    field public static final int CODERATE_4_5 = 8; // 0x8
6702    field public static final int CODERATE_AUTO = 1; // 0x1
6703    field public static final int CODERATE_UNDEFINED = 0; // 0x0
6704    field public static final int GUARD_INTERVAL_AUTO = 1; // 0x1
6705    field public static final int GUARD_INTERVAL_PN_420_CONST = 16; // 0x10
6706    field public static final int GUARD_INTERVAL_PN_420_VARIOUS = 2; // 0x2
6707    field public static final int GUARD_INTERVAL_PN_595_CONST = 4; // 0x4
6708    field public static final int GUARD_INTERVAL_PN_945_CONST = 32; // 0x20
6709    field public static final int GUARD_INTERVAL_PN_945_VARIOUS = 8; // 0x8
6710    field public static final int GUARD_INTERVAL_PN_RESERVED = 64; // 0x40
6711    field public static final int GUARD_INTERVAL_UNDEFINED = 0; // 0x0
6712    field public static final int MODULATION_CONSTELLATION_16QAM = 8; // 0x8
6713    field public static final int MODULATION_CONSTELLATION_32QAM = 16; // 0x10
6714    field public static final int MODULATION_CONSTELLATION_4QAM = 2; // 0x2
6715    field public static final int MODULATION_CONSTELLATION_4QAM_NR = 4; // 0x4
6716    field public static final int MODULATION_CONSTELLATION_64QAM = 32; // 0x20
6717    field public static final int MODULATION_CONSTELLATION_AUTO = 1; // 0x1
6718    field public static final int MODULATION_CONSTELLATION_UNDEFINED = 0; // 0x0
6719    field public static final int TIME_INTERLEAVE_MODE_AUTO = 1; // 0x1
6720    field public static final int TIME_INTERLEAVE_MODE_TIMER_INT_240 = 2; // 0x2
6721    field public static final int TIME_INTERLEAVE_MODE_TIMER_INT_720 = 4; // 0x4
6722    field public static final int TIME_INTERLEAVE_MODE_UNDEFINED = 0; // 0x0
6723    field public static final int TRANSMISSION_MODE_AUTO = 1; // 0x1
6724    field public static final int TRANSMISSION_MODE_C1 = 2; // 0x2
6725    field public static final int TRANSMISSION_MODE_C3780 = 4; // 0x4
6726    field public static final int TRANSMISSION_MODE_UNDEFINED = 0; // 0x0
6727  }
6728
6729  public static final class DtmbFrontendSettings.Builder {
6730    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings build();
6731    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setBandwidth(int);
6732    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setCodeRate(int);
6733    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setFrequency(int);
6734    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setGuardInterval(int);
6735    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setModulation(int);
6736    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setTimeInterleaveMode(int);
6737    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setTransmissionMode(int);
6738  }
6739
6740  public class DvbcFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
6741    method public int getAnnexCapability();
6742    method public long getCodeRateCapability();
6743    method @Deprecated public int getFecCapability();
6744    method public int getModulationCapability();
6745  }
6746
6747  public class DvbcFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
6748    method @NonNull public static android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder builder();
6749    method public int getAnnex();
6750    method public int getBandwidth();
6751    method public long getInnerFec();
6752    method public int getModulation();
6753    method public int getOuterFec();
6754    method public int getSpectralInversion();
6755    method public int getSymbolRate();
6756    method public int getTimeInterleaveMode();
6757    method public int getType();
6758    field public static final int ANNEX_A = 1; // 0x1
6759    field public static final int ANNEX_B = 2; // 0x2
6760    field public static final int ANNEX_C = 4; // 0x4
6761    field public static final int ANNEX_UNDEFINED = 0; // 0x0
6762    field public static final int BANDWIDTH_5MHZ = 1; // 0x1
6763    field public static final int BANDWIDTH_6MHZ = 2; // 0x2
6764    field public static final int BANDWIDTH_7MHZ = 4; // 0x4
6765    field public static final int BANDWIDTH_8MHZ = 8; // 0x8
6766    field public static final int BANDWIDTH_UNDEFINED = 0; // 0x0
6767    field public static final int MODULATION_AUTO = 1; // 0x1
6768    field public static final int MODULATION_MOD_128QAM = 16; // 0x10
6769    field public static final int MODULATION_MOD_16QAM = 2; // 0x2
6770    field public static final int MODULATION_MOD_256QAM = 32; // 0x20
6771    field public static final int MODULATION_MOD_32QAM = 4; // 0x4
6772    field public static final int MODULATION_MOD_64QAM = 8; // 0x8
6773    field public static final int MODULATION_UNDEFINED = 0; // 0x0
6774    field public static final int OUTER_FEC_OUTER_FEC_NONE = 1; // 0x1
6775    field public static final int OUTER_FEC_OUTER_FEC_RS = 2; // 0x2
6776    field public static final int OUTER_FEC_UNDEFINED = 0; // 0x0
6777    field @Deprecated public static final int SPECTRAL_INVERSION_INVERTED = 2; // 0x2
6778    field @Deprecated public static final int SPECTRAL_INVERSION_NORMAL = 1; // 0x1
6779    field @Deprecated public static final int SPECTRAL_INVERSION_UNDEFINED = 0; // 0x0
6780    field public static final int TIME_INTERLEAVE_MODE_128_1_0 = 2; // 0x2
6781    field public static final int TIME_INTERLEAVE_MODE_128_1_1 = 4; // 0x4
6782    field public static final int TIME_INTERLEAVE_MODE_128_2 = 128; // 0x80
6783    field public static final int TIME_INTERLEAVE_MODE_128_3 = 256; // 0x100
6784    field public static final int TIME_INTERLEAVE_MODE_128_4 = 512; // 0x200
6785    field public static final int TIME_INTERLEAVE_MODE_16_8 = 32; // 0x20
6786    field public static final int TIME_INTERLEAVE_MODE_32_4 = 16; // 0x10
6787    field public static final int TIME_INTERLEAVE_MODE_64_2 = 8; // 0x8
6788    field public static final int TIME_INTERLEAVE_MODE_8_16 = 64; // 0x40
6789    field public static final int TIME_INTERLEAVE_MODE_AUTO = 1; // 0x1
6790    field public static final int TIME_INTERLEAVE_MODE_UNDEFINED = 0; // 0x0
6791  }
6792
6793  public static class DvbcFrontendSettings.Builder {
6794    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings build();
6795    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setAnnex(int);
6796    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setBandwidth(int);
6797    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setFrequency(int);
6798    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setInnerFec(long);
6799    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setModulation(int);
6800    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setOuterFec(int);
6801    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setSpectralInversion(int);
6802    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setSymbolRate(int);
6803    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setTimeInterleaveMode(int);
6804  }
6805
6806  public class DvbsCodeRate {
6807    method @NonNull public static android.media.tv.tuner.frontend.DvbsCodeRate.Builder builder();
6808    method public int getBitsPer1000Symbol();
6809    method public long getInnerFec();
6810    method public boolean isLinear();
6811    method public boolean isShortFrameEnabled();
6812  }
6813
6814  public static class DvbsCodeRate.Builder {
6815    method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate build();
6816    method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate.Builder setBitsPer1000Symbol(int);
6817    method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate.Builder setInnerFec(long);
6818    method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate.Builder setLinear(boolean);
6819    method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate.Builder setShortFrameEnabled(boolean);
6820  }
6821
6822  public class DvbsFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
6823    method public long getInnerFecCapability();
6824    method public int getModulationCapability();
6825    method public int getStandardCapability();
6826  }
6827
6828  public class DvbsFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
6829    method @NonNull public static android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder builder();
6830    method public boolean canHandleDiseqcRxMessage();
6831    method @Nullable public android.media.tv.tuner.frontend.DvbsCodeRate getCodeRate();
6832    method public int getInputStreamId();
6833    method public int getModulation();
6834    method public int getPilot();
6835    method public int getRolloff();
6836    method public int getScanType();
6837    method public int getStandard();
6838    method public int getSymbolRate();
6839    method public int getType();
6840    method public int getVcmMode();
6841    field public static final int MODULATION_AUTO = 1; // 0x1
6842    field public static final int MODULATION_MOD_128APSK = 2048; // 0x800
6843    field public static final int MODULATION_MOD_16APSK = 256; // 0x100
6844    field public static final int MODULATION_MOD_16PSK = 16; // 0x10
6845    field public static final int MODULATION_MOD_16QAM = 8; // 0x8
6846    field public static final int MODULATION_MOD_256APSK = 4096; // 0x1000
6847    field public static final int MODULATION_MOD_32APSK = 512; // 0x200
6848    field public static final int MODULATION_MOD_32PSK = 32; // 0x20
6849    field public static final int MODULATION_MOD_64APSK = 1024; // 0x400
6850    field public static final int MODULATION_MOD_8APSK = 128; // 0x80
6851    field public static final int MODULATION_MOD_8PSK = 4; // 0x4
6852    field public static final int MODULATION_MOD_ACM = 64; // 0x40
6853    field public static final int MODULATION_MOD_QPSK = 2; // 0x2
6854    field public static final int MODULATION_MOD_RESERVED = 8192; // 0x2000
6855    field public static final int MODULATION_UNDEFINED = 0; // 0x0
6856    field public static final int PILOT_AUTO = 3; // 0x3
6857    field public static final int PILOT_OFF = 2; // 0x2
6858    field public static final int PILOT_ON = 1; // 0x1
6859    field public static final int PILOT_UNDEFINED = 0; // 0x0
6860    field public static final int ROLLOFF_0_10 = 5; // 0x5
6861    field public static final int ROLLOFF_0_15 = 4; // 0x4
6862    field public static final int ROLLOFF_0_20 = 3; // 0x3
6863    field public static final int ROLLOFF_0_25 = 2; // 0x2
6864    field public static final int ROLLOFF_0_35 = 1; // 0x1
6865    field public static final int ROLLOFF_0_5 = 6; // 0x6
6866    field public static final int ROLLOFF_UNDEFINED = 0; // 0x0
6867    field public static final int SCAN_TYPE_DIRECT = 1; // 0x1
6868    field public static final int SCAN_TYPE_DISEQC = 2; // 0x2
6869    field public static final int SCAN_TYPE_JESS = 4; // 0x4
6870    field public static final int SCAN_TYPE_UNDEFINED = 0; // 0x0
6871    field public static final int SCAN_TYPE_UNICABLE = 3; // 0x3
6872    field public static final int STANDARD_AUTO = 1; // 0x1
6873    field public static final int STANDARD_S = 2; // 0x2
6874    field public static final int STANDARD_S2 = 4; // 0x4
6875    field public static final int STANDARD_S2X = 8; // 0x8
6876    field public static final int VCM_MODE_AUTO = 1; // 0x1
6877    field public static final int VCM_MODE_MANUAL = 2; // 0x2
6878    field public static final int VCM_MODE_UNDEFINED = 0; // 0x0
6879  }
6880
6881  public static class DvbsFrontendSettings.Builder {
6882    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings build();
6883    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setCanHandleDiseqcRxMessage(boolean);
6884    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setCodeRate(@Nullable android.media.tv.tuner.frontend.DvbsCodeRate);
6885    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setFrequency(int);
6886    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setInputStreamId(int);
6887    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setModulation(int);
6888    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setPilot(int);
6889    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setRolloff(int);
6890    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setScanType(int);
6891    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setStandard(int);
6892    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setSymbolRate(int);
6893    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setVcmMode(int);
6894  }
6895
6896  public class DvbtFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
6897    method public int getBandwidthCapability();
6898    method public int getCodeRateCapability();
6899    method public int getConstellationCapability();
6900    method public int getGuardIntervalCapability();
6901    method public int getHierarchyCapability();
6902    method public int getTransmissionModeCapability();
6903    method public boolean isMisoSupported();
6904    method public boolean isT2Supported();
6905  }
6906
6907  public class DvbtFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
6908    method @NonNull public static android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder builder();
6909    method public int getBandwidth();
6910    method public int getConstellation();
6911    method public int getGuardInterval();
6912    method public int getHierarchy();
6913    method public int getHighPriorityCodeRate();
6914    method public int getLowPriorityCodeRate();
6915    method public int getPlpGroupId();
6916    method public int getPlpId();
6917    method public int getPlpMode();
6918    method public int getStandard();
6919    method public int getTransmissionMode();
6920    method public int getType();
6921    method public boolean isHighPriority();
6922    method public boolean isMiso();
6923    field public static final int BANDWIDTH_10MHZ = 64; // 0x40
6924    field public static final int BANDWIDTH_1_7MHZ = 32; // 0x20
6925    field public static final int BANDWIDTH_5MHZ = 16; // 0x10
6926    field public static final int BANDWIDTH_6MHZ = 8; // 0x8
6927    field public static final int BANDWIDTH_7MHZ = 4; // 0x4
6928    field public static final int BANDWIDTH_8MHZ = 2; // 0x2
6929    field public static final int BANDWIDTH_AUTO = 1; // 0x1
6930    field public static final int BANDWIDTH_UNDEFINED = 0; // 0x0
6931    field public static final int CODERATE_1_2 = 2; // 0x2
6932    field public static final int CODERATE_2_3 = 4; // 0x4
6933    field public static final int CODERATE_3_4 = 8; // 0x8
6934    field public static final int CODERATE_3_5 = 64; // 0x40
6935    field public static final int CODERATE_4_5 = 128; // 0x80
6936    field public static final int CODERATE_5_6 = 16; // 0x10
6937    field public static final int CODERATE_6_7 = 256; // 0x100
6938    field public static final int CODERATE_7_8 = 32; // 0x20
6939    field public static final int CODERATE_8_9 = 512; // 0x200
6940    field public static final int CODERATE_AUTO = 1; // 0x1
6941    field public static final int CODERATE_UNDEFINED = 0; // 0x0
6942    field public static final int CONSTELLATION_16QAM = 4; // 0x4
6943    field public static final int CONSTELLATION_16QAM_R = 64; // 0x40
6944    field public static final int CONSTELLATION_256QAM = 16; // 0x10
6945    field public static final int CONSTELLATION_256QAM_R = 256; // 0x100
6946    field public static final int CONSTELLATION_64QAM = 8; // 0x8
6947    field public static final int CONSTELLATION_64QAM_R = 128; // 0x80
6948    field public static final int CONSTELLATION_AUTO = 1; // 0x1
6949    field public static final int CONSTELLATION_QPSK = 2; // 0x2
6950    field public static final int CONSTELLATION_QPSK_R = 32; // 0x20
6951    field public static final int CONSTELLATION_UNDEFINED = 0; // 0x0
6952    field public static final int GUARD_INTERVAL_19_128 = 64; // 0x40
6953    field public static final int GUARD_INTERVAL_19_256 = 128; // 0x80
6954    field public static final int GUARD_INTERVAL_1_128 = 32; // 0x20
6955    field public static final int GUARD_INTERVAL_1_16 = 4; // 0x4
6956    field public static final int GUARD_INTERVAL_1_32 = 2; // 0x2
6957    field public static final int GUARD_INTERVAL_1_4 = 16; // 0x10
6958    field public static final int GUARD_INTERVAL_1_8 = 8; // 0x8
6959    field public static final int GUARD_INTERVAL_AUTO = 1; // 0x1
6960    field public static final int GUARD_INTERVAL_UNDEFINED = 0; // 0x0
6961    field public static final int HIERARCHY_1_INDEPTH = 64; // 0x40
6962    field public static final int HIERARCHY_1_NATIVE = 4; // 0x4
6963    field public static final int HIERARCHY_2_INDEPTH = 128; // 0x80
6964    field public static final int HIERARCHY_2_NATIVE = 8; // 0x8
6965    field public static final int HIERARCHY_4_INDEPTH = 256; // 0x100
6966    field public static final int HIERARCHY_4_NATIVE = 16; // 0x10
6967    field public static final int HIERARCHY_AUTO = 1; // 0x1
6968    field public static final int HIERARCHY_NON_INDEPTH = 32; // 0x20
6969    field public static final int HIERARCHY_NON_NATIVE = 2; // 0x2
6970    field public static final int HIERARCHY_UNDEFINED = 0; // 0x0
6971    field public static final int PLP_MODE_AUTO = 1; // 0x1
6972    field public static final int PLP_MODE_MANUAL = 2; // 0x2
6973    field public static final int PLP_MODE_UNDEFINED = 0; // 0x0
6974    field public static final int STANDARD_AUTO = 1; // 0x1
6975    field public static final int STANDARD_T = 2; // 0x2
6976    field public static final int STANDARD_T2 = 4; // 0x4
6977    field public static final int TRANSMISSION_MODE_16K = 32; // 0x20
6978    field public static final int TRANSMISSION_MODE_1K = 16; // 0x10
6979    field public static final int TRANSMISSION_MODE_2K = 2; // 0x2
6980    field public static final int TRANSMISSION_MODE_32K = 64; // 0x40
6981    field public static final int TRANSMISSION_MODE_4K = 8; // 0x8
6982    field public static final int TRANSMISSION_MODE_8K = 4; // 0x4
6983    field public static final int TRANSMISSION_MODE_AUTO = 1; // 0x1
6984    field public static final int TRANSMISSION_MODE_EXTENDED_16K = 256; // 0x100
6985    field public static final int TRANSMISSION_MODE_EXTENDED_32K = 512; // 0x200
6986    field public static final int TRANSMISSION_MODE_EXTENDED_8K = 128; // 0x80
6987    field public static final int TRANSMISSION_MODE_UNDEFINED = 0; // 0x0
6988  }
6989
6990  public static class DvbtFrontendSettings.Builder {
6991    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings build();
6992    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setBandwidth(int);
6993    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setConstellation(int);
6994    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setFrequency(int);
6995    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setGuardInterval(int);
6996    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setHierarchy(int);
6997    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setHighPriority(boolean);
6998    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setHighPriorityCodeRate(int);
6999    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setLowPriorityCodeRate(int);
7000    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setMiso(boolean);
7001    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setPlpGroupId(int);
7002    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setPlpId(int);
7003    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setPlpMode(int);
7004    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setStandard(int);
7005    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setTransmissionMode(int);
7006  }
7007
7008  public abstract class FrontendCapabilities {
7009    ctor public FrontendCapabilities();
7010  }
7011
7012  public class FrontendInfo {
7013    method public int getAcquireRange();
7014    method public int getExclusiveGroupId();
7015    method @NonNull public android.util.Range<java.lang.Integer> getFrequencyRange();
7016    method @NonNull public android.media.tv.tuner.frontend.FrontendCapabilities getFrontendCapabilities();
7017    method public int getId();
7018    method @NonNull public int[] getStatusCapabilities();
7019    method @NonNull public android.util.Range<java.lang.Integer> getSymbolRateRange();
7020    method public int getType();
7021  }
7022
7023  public abstract class FrontendSettings {
7024    method @IntRange(from=1) public int getEndFrequency();
7025    method public int getFrequency();
7026    method public int getFrontendSpectralInversion();
7027    method public abstract int getType();
7028    method @IntRange(from=1) public void setEndFrequency(int);
7029    method public void setSpectralInversion(int);
7030    field public static final long FEC_11_15 = 4194304L; // 0x400000L
7031    field public static final long FEC_11_20 = 8388608L; // 0x800000L
7032    field public static final long FEC_11_45 = 16777216L; // 0x1000000L
7033    field public static final long FEC_13_18 = 33554432L; // 0x2000000L
7034    field public static final long FEC_13_45 = 67108864L; // 0x4000000L
7035    field public static final long FEC_14_45 = 134217728L; // 0x8000000L
7036    field public static final long FEC_1_2 = 2L; // 0x2L
7037    field public static final long FEC_1_3 = 4L; // 0x4L
7038    field public static final long FEC_1_4 = 8L; // 0x8L
7039    field public static final long FEC_1_5 = 16L; // 0x10L
7040    field public static final long FEC_23_36 = 268435456L; // 0x10000000L
7041    field public static final long FEC_25_36 = 536870912L; // 0x20000000L
7042    field public static final long FEC_26_45 = 1073741824L; // 0x40000000L
7043    field public static final long FEC_28_45 = -2147483648L; // 0xffffffff80000000L
7044    field public static final long FEC_29_45 = 1L; // 0x1L
7045    field public static final long FEC_2_3 = 32L; // 0x20L
7046    field public static final long FEC_2_5 = 64L; // 0x40L
7047    field public static final long FEC_2_9 = 128L; // 0x80L
7048    field public static final long FEC_31_45 = 2L; // 0x2L
7049    field public static final long FEC_32_45 = 4L; // 0x4L
7050    field public static final long FEC_3_4 = 256L; // 0x100L
7051    field public static final long FEC_3_5 = 512L; // 0x200L
7052    field public static final long FEC_4_15 = 2048L; // 0x800L
7053    field public static final long FEC_4_5 = 1024L; // 0x400L
7054    field public static final long FEC_5_6 = 4096L; // 0x1000L
7055    field public static final long FEC_5_9 = 8192L; // 0x2000L
7056    field public static final long FEC_6_7 = 16384L; // 0x4000L
7057    field public static final long FEC_77_90 = 8L; // 0x8L
7058    field public static final long FEC_7_15 = 131072L; // 0x20000L
7059    field public static final long FEC_7_8 = 32768L; // 0x8000L
7060    field public static final long FEC_7_9 = 65536L; // 0x10000L
7061    field public static final long FEC_8_15 = 524288L; // 0x80000L
7062    field public static final long FEC_8_9 = 262144L; // 0x40000L
7063    field public static final long FEC_9_10 = 1048576L; // 0x100000L
7064    field public static final long FEC_9_20 = 2097152L; // 0x200000L
7065    field public static final long FEC_AUTO = 1L; // 0x1L
7066    field public static final long FEC_UNDEFINED = 0L; // 0x0L
7067    field public static final int FRONTEND_SPECTRAL_INVERSION_INVERTED = 2; // 0x2
7068    field public static final int FRONTEND_SPECTRAL_INVERSION_NORMAL = 1; // 0x1
7069    field public static final int FRONTEND_SPECTRAL_INVERSION_UNDEFINED = 0; // 0x0
7070    field public static final int TYPE_ANALOG = 1; // 0x1
7071    field public static final int TYPE_ATSC = 2; // 0x2
7072    field public static final int TYPE_ATSC3 = 3; // 0x3
7073    field public static final int TYPE_DTMB = 10; // 0xa
7074    field public static final int TYPE_DVBC = 4; // 0x4
7075    field public static final int TYPE_DVBS = 5; // 0x5
7076    field public static final int TYPE_DVBT = 6; // 0x6
7077    field public static final int TYPE_ISDBS = 7; // 0x7
7078    field public static final int TYPE_ISDBS3 = 8; // 0x8
7079    field public static final int TYPE_ISDBT = 9; // 0x9
7080    field public static final int TYPE_UNDEFINED = 0; // 0x0
7081  }
7082
7083  public class FrontendStatus {
7084    method public int getAgc();
7085    method @NonNull public android.media.tv.tuner.frontend.FrontendStatus.Atsc3PlpTuningInfo[] getAtsc3PlpTuningInfo();
7086    method public int getBandwidth();
7087    method public int getBer();
7088    method @NonNull public int[] getBers();
7089    method @NonNull public int[] getCodeRates();
7090    method @NonNull public int[] getExtendedModulations();
7091    method public int getFreqOffset();
7092    method public int getGuardInterval();
7093    method public int getHierarchy();
7094    method public long getInnerFec();
7095    method @NonNull public int[] getInterleaving();
7096    method @IntRange(from=0, to=255) @NonNull public int[] getIsdbtSegment();
7097    method @NonNull public boolean[] getLayerErrors();
7098    method public int getLnbVoltage();
7099    method public int getMer();
7100    method public int getModulation();
7101    method public int getPer();
7102    method public int getPerBer();
7103    method public int getPlpId();
7104    method public int getRollOff();
7105    method public int getSignalQuality();
7106    method public int getSignalStrength();
7107    method public int getSnr();
7108    method public int getSpectralInversion();
7109    method public int getSymbolRate();
7110    method @IntRange(from=0, to=65535) public int getSystemId();
7111    method public int getTransmissionMode();
7112    method @NonNull public int[] getTsDataRate();
7113    method public int getUec();
7114    method public boolean isDemodLocked();
7115    method public boolean isEwbs();
7116    method public boolean isLinear();
7117    method public boolean isLnaOn();
7118    method public boolean isMisoEnabled();
7119    method public boolean isRfLocked();
7120    method public boolean isShortFramesEnabled();
7121    field public static final int FRONTEND_STATUS_TYPE_AGC = 14; // 0xe
7122    field public static final int FRONTEND_STATUS_TYPE_ATSC3_PLP_INFO = 21; // 0x15
7123    field public static final int FRONTEND_STATUS_TYPE_BANDWIDTH = 25; // 0x19
7124    field public static final int FRONTEND_STATUS_TYPE_BER = 2; // 0x2
7125    field public static final int FRONTEND_STATUS_TYPE_BERS = 23; // 0x17
7126    field public static final int FRONTEND_STATUS_TYPE_CODERATES = 24; // 0x18
7127    field public static final int FRONTEND_STATUS_TYPE_DEMOD_LOCK = 0; // 0x0
7128    field public static final int FRONTEND_STATUS_TYPE_EWBS = 13; // 0xd
7129    field public static final int FRONTEND_STATUS_TYPE_FEC = 8; // 0x8
7130    field public static final int FRONTEND_STATUS_TYPE_FREQ_OFFSET = 18; // 0x12
7131    field public static final int FRONTEND_STATUS_TYPE_GUARD_INTERVAL = 26; // 0x1a
7132    field public static final int FRONTEND_STATUS_TYPE_HIERARCHY = 19; // 0x13
7133    field public static final int FRONTEND_STATUS_TYPE_INTERLEAVINGS = 30; // 0x1e
7134    field public static final int FRONTEND_STATUS_TYPE_ISDBT_SEGMENTS = 31; // 0x1f
7135    field public static final int FRONTEND_STATUS_TYPE_IS_LINEAR = 35; // 0x23
7136    field public static final int FRONTEND_STATUS_TYPE_IS_MISO_ENABLED = 34; // 0x22
7137    field public static final int FRONTEND_STATUS_TYPE_IS_SHORT_FRAMES_ENABLED = 36; // 0x24
7138    field public static final int FRONTEND_STATUS_TYPE_LAYER_ERROR = 16; // 0x10
7139    field public static final int FRONTEND_STATUS_TYPE_LNA = 15; // 0xf
7140    field public static final int FRONTEND_STATUS_TYPE_LNB_VOLTAGE = 11; // 0xb
7141    field public static final int FRONTEND_STATUS_TYPE_MER = 17; // 0x11
7142    field public static final int FRONTEND_STATUS_TYPE_MODULATION = 9; // 0x9
7143    field public static final int FRONTEND_STATUS_TYPE_MODULATIONS_EXT = 22; // 0x16
7144    field public static final int FRONTEND_STATUS_TYPE_PER = 3; // 0x3
7145    field public static final int FRONTEND_STATUS_TYPE_PLP_ID = 12; // 0xc
7146    field public static final int FRONTEND_STATUS_TYPE_PRE_BER = 4; // 0x4
7147    field public static final int FRONTEND_STATUS_TYPE_RF_LOCK = 20; // 0x14
7148    field public static final int FRONTEND_STATUS_TYPE_ROLL_OFF = 33; // 0x21
7149    field public static final int FRONTEND_STATUS_TYPE_SIGNAL_QUALITY = 5; // 0x5
7150    field public static final int FRONTEND_STATUS_TYPE_SIGNAL_STRENGTH = 6; // 0x6
7151    field public static final int FRONTEND_STATUS_TYPE_SNR = 1; // 0x1
7152    field public static final int FRONTEND_STATUS_TYPE_SPECTRAL = 10; // 0xa
7153    field public static final int FRONTEND_STATUS_TYPE_SYMBOL_RATE = 7; // 0x7
7154    field public static final int FRONTEND_STATUS_TYPE_T2_SYSTEM_ID = 29; // 0x1d
7155    field public static final int FRONTEND_STATUS_TYPE_TRANSMISSION_MODE = 27; // 0x1b
7156    field public static final int FRONTEND_STATUS_TYPE_TS_DATA_RATES = 32; // 0x20
7157    field public static final int FRONTEND_STATUS_TYPE_UEC = 28; // 0x1c
7158  }
7159
7160  public static class FrontendStatus.Atsc3PlpTuningInfo {
7161    method public int getPlpId();
7162    method public int getUec();
7163    method public boolean isLocked();
7164  }
7165
7166  public class Isdbs3FrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
7167    method public int getCodeRateCapability();
7168    method public int getModulationCapability();
7169  }
7170
7171  public class Isdbs3FrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
7172    method @NonNull public static android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder builder();
7173    method public int getCodeRate();
7174    method public int getModulation();
7175    method public int getRolloff();
7176    method public int getStreamId();
7177    method public int getStreamIdType();
7178    method public int getSymbolRate();
7179    method public int getType();
7180    field public static final int CODERATE_1_2 = 8; // 0x8
7181    field public static final int CODERATE_1_3 = 2; // 0x2
7182    field public static final int CODERATE_2_3 = 32; // 0x20
7183    field public static final int CODERATE_2_5 = 4; // 0x4
7184    field public static final int CODERATE_3_4 = 64; // 0x40
7185    field public static final int CODERATE_3_5 = 16; // 0x10
7186    field public static final int CODERATE_4_5 = 256; // 0x100
7187    field public static final int CODERATE_5_6 = 512; // 0x200
7188    field public static final int CODERATE_7_8 = 1024; // 0x400
7189    field public static final int CODERATE_7_9 = 128; // 0x80
7190    field public static final int CODERATE_9_10 = 2048; // 0x800
7191    field public static final int CODERATE_AUTO = 1; // 0x1
7192    field public static final int CODERATE_UNDEFINED = 0; // 0x0
7193    field public static final int MODULATION_AUTO = 1; // 0x1
7194    field public static final int MODULATION_MOD_16APSK = 16; // 0x10
7195    field public static final int MODULATION_MOD_32APSK = 32; // 0x20
7196    field public static final int MODULATION_MOD_8PSK = 8; // 0x8
7197    field public static final int MODULATION_MOD_BPSK = 2; // 0x2
7198    field public static final int MODULATION_MOD_QPSK = 4; // 0x4
7199    field public static final int MODULATION_UNDEFINED = 0; // 0x0
7200    field public static final int ROLLOFF_0_03 = 1; // 0x1
7201    field public static final int ROLLOFF_UNDEFINED = 0; // 0x0
7202  }
7203
7204  public static class Isdbs3FrontendSettings.Builder {
7205    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings build();
7206    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setCodeRate(int);
7207    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setFrequency(int);
7208    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setModulation(int);
7209    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setRolloff(int);
7210    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setStreamId(int);
7211    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setStreamIdType(int);
7212    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setSymbolRate(int);
7213  }
7214
7215  public class IsdbsFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
7216    method public int getCodeRateCapability();
7217    method public int getModulationCapability();
7218  }
7219
7220  public class IsdbsFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
7221    method @NonNull public static android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder builder();
7222    method public int getCodeRate();
7223    method public int getModulation();
7224    method public int getRolloff();
7225    method public int getStreamId();
7226    method public int getStreamIdType();
7227    method public int getSymbolRate();
7228    method public int getType();
7229    field public static final int CODERATE_1_2 = 2; // 0x2
7230    field public static final int CODERATE_2_3 = 4; // 0x4
7231    field public static final int CODERATE_3_4 = 8; // 0x8
7232    field public static final int CODERATE_5_6 = 16; // 0x10
7233    field public static final int CODERATE_7_8 = 32; // 0x20
7234    field public static final int CODERATE_AUTO = 1; // 0x1
7235    field public static final int CODERATE_UNDEFINED = 0; // 0x0
7236    field public static final int MODULATION_AUTO = 1; // 0x1
7237    field public static final int MODULATION_MOD_BPSK = 2; // 0x2
7238    field public static final int MODULATION_MOD_QPSK = 4; // 0x4
7239    field public static final int MODULATION_MOD_TC8PSK = 8; // 0x8
7240    field public static final int MODULATION_UNDEFINED = 0; // 0x0
7241    field public static final int ROLLOFF_0_35 = 1; // 0x1
7242    field public static final int ROLLOFF_UNDEFINED = 0; // 0x0
7243    field public static final int STREAM_ID_TYPE_ID = 0; // 0x0
7244    field public static final int STREAM_ID_TYPE_RELATIVE_NUMBER = 1; // 0x1
7245  }
7246
7247  public static class IsdbsFrontendSettings.Builder {
7248    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings build();
7249    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setCodeRate(int);
7250    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setFrequency(int);
7251    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setModulation(int);
7252    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setRolloff(int);
7253    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setStreamId(int);
7254    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setStreamIdType(int);
7255    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setSymbolRate(int);
7256  }
7257
7258  public class IsdbtFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
7259    method public int getBandwidthCapability();
7260    method public int getCodeRateCapability();
7261    method public int getGuardIntervalCapability();
7262    method public int getModeCapability();
7263    method public int getModulationCapability();
7264  }
7265
7266  public class IsdbtFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
7267    method @NonNull public static android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder builder();
7268    method public int getBandwidth();
7269    method public int getCodeRate();
7270    method public int getGuardInterval();
7271    method public int getMode();
7272    method public int getModulation();
7273    method public int getServiceAreaId();
7274    method public int getType();
7275    field public static final int BANDWIDTH_6MHZ = 8; // 0x8
7276    field public static final int BANDWIDTH_7MHZ = 4; // 0x4
7277    field public static final int BANDWIDTH_8MHZ = 2; // 0x2
7278    field public static final int BANDWIDTH_AUTO = 1; // 0x1
7279    field public static final int BANDWIDTH_UNDEFINED = 0; // 0x0
7280    field public static final int MODE_1 = 2; // 0x2
7281    field public static final int MODE_2 = 4; // 0x4
7282    field public static final int MODE_3 = 8; // 0x8
7283    field public static final int MODE_AUTO = 1; // 0x1
7284    field public static final int MODE_UNDEFINED = 0; // 0x0
7285    field public static final int MODULATION_AUTO = 1; // 0x1
7286    field public static final int MODULATION_MOD_16QAM = 8; // 0x8
7287    field public static final int MODULATION_MOD_64QAM = 16; // 0x10
7288    field public static final int MODULATION_MOD_DQPSK = 2; // 0x2
7289    field public static final int MODULATION_MOD_QPSK = 4; // 0x4
7290    field public static final int MODULATION_UNDEFINED = 0; // 0x0
7291  }
7292
7293  public static class IsdbtFrontendSettings.Builder {
7294    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings build();
7295    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setBandwidth(int);
7296    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setCodeRate(int);
7297    method @IntRange(from=1) @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setFrequency(int);
7298    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setGuardInterval(int);
7299    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setMode(int);
7300    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setModulation(int);
7301    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setServiceAreaId(int);
7302  }
7303
7304  public interface OnTuneEventListener {
7305    method public void onTuneEvent(int);
7306    field public static final int SIGNAL_LOCKED = 0; // 0x0
7307    field public static final int SIGNAL_LOST_LOCK = 2; // 0x2
7308    field public static final int SIGNAL_NO_SIGNAL = 1; // 0x1
7309  }
7310
7311  public interface ScanCallback {
7312    method public void onAnalogSifStandardReported(int);
7313    method public void onAtsc3PlpInfosReported(@NonNull android.media.tv.tuner.frontend.Atsc3PlpInfo[]);
7314    method public default void onDvbcAnnexReported(int);
7315    method public void onDvbsStandardReported(int);
7316    method public void onDvbtStandardReported(int);
7317    method public void onFrequenciesReported(@NonNull int[]);
7318    method public void onGroupIdsReported(@NonNull int[]);
7319    method public void onHierarchyReported(int);
7320    method public void onInputStreamIdsReported(@NonNull int[]);
7321    method public void onLocked();
7322    method public default void onModulationReported(int);
7323    method public void onPlpIdsReported(@NonNull int[]);
7324    method public default void onPriorityReported(boolean);
7325    method public void onProgress(@IntRange(from=0, to=100) int);
7326    method public void onScanStopped();
7327    method public void onSignalTypeReported(int);
7328    method public void onSymbolRatesReported(@NonNull int[]);
7329  }
7330
7331}
7332
7333package android.media.voice {
7334
7335  public final class KeyphraseModelManager {
7336    method @RequiresPermission("android.permission.MANAGE_VOICE_KEYPHRASES") public void deleteKeyphraseSoundModel(int, @NonNull java.util.Locale);
7337    method @Nullable @RequiresPermission("android.permission.MANAGE_VOICE_KEYPHRASES") public android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel getKeyphraseSoundModel(int, @NonNull java.util.Locale);
7338    method @RequiresPermission("android.permission.MANAGE_VOICE_KEYPHRASES") public void updateKeyphraseSoundModel(@NonNull android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel);
7339  }
7340
7341}
7342
7343package android.metrics {
7344
7345  public class LogMaker {
7346    ctor public LogMaker(int);
7347    ctor public LogMaker(Object[]);
7348    method public android.metrics.LogMaker addTaggedData(int, Object);
7349    method public android.metrics.LogMaker clearCategory();
7350    method public android.metrics.LogMaker clearPackageName();
7351    method public android.metrics.LogMaker clearSubtype();
7352    method public android.metrics.LogMaker clearTaggedData(int);
7353    method public android.metrics.LogMaker clearType();
7354    method public void deserialize(Object[]);
7355    method public int getCategory();
7356    method public long getCounterBucket();
7357    method public String getCounterName();
7358    method public int getCounterValue();
7359    method public String getPackageName();
7360    method public int getProcessId();
7361    method public int getSubtype();
7362    method public Object getTaggedData(int);
7363    method public long getTimestamp();
7364    method public int getType();
7365    method public int getUid();
7366    method public boolean isLongCounterBucket();
7367    method public boolean isSubsetOf(android.metrics.LogMaker);
7368    method public boolean isValidValue(Object);
7369    method public Object[] serialize();
7370    method public android.metrics.LogMaker setCategory(int);
7371    method public android.metrics.LogMaker setPackageName(String);
7372    method public android.metrics.LogMaker setSubtype(int);
7373    method public android.metrics.LogMaker setType(int);
7374  }
7375
7376  public class MetricsReader {
7377    ctor public MetricsReader();
7378    method public void checkpoint();
7379    method public boolean hasNext();
7380    method public android.metrics.LogMaker next();
7381    method public void read(long);
7382    method public void reset();
7383  }
7384
7385}
7386
7387package android.net {
7388
7389  public class EthernetManager {
7390    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public android.net.EthernetManager.TetheredInterfaceRequest requestTetheredInterface(@NonNull java.util.concurrent.Executor, @NonNull android.net.EthernetManager.TetheredInterfaceCallback);
7391  }
7392
7393  public static interface EthernetManager.TetheredInterfaceCallback {
7394    method public void onAvailable(@NonNull String);
7395    method public void onUnavailable();
7396  }
7397
7398  public static class EthernetManager.TetheredInterfaceRequest {
7399    method public void release();
7400  }
7401
7402  public final class IpSecManager {
7403    method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void applyTunnelModeTransform(@NonNull android.net.IpSecManager.IpSecTunnelInterface, int, @NonNull android.net.IpSecTransform) throws java.io.IOException;
7404    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public android.net.IpSecManager.IpSecTunnelInterface createIpSecTunnelInterface(@NonNull java.net.InetAddress, @NonNull java.net.InetAddress, @NonNull android.net.Network) throws java.io.IOException, android.net.IpSecManager.ResourceUnavailableException;
7405  }
7406
7407  public static final class IpSecManager.IpSecTunnelInterface implements java.lang.AutoCloseable {
7408    method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void addAddress(@NonNull java.net.InetAddress, int) throws java.io.IOException;
7409    method public void close();
7410    method @NonNull public String getInterfaceName();
7411    method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void removeAddress(@NonNull java.net.InetAddress, int) throws java.io.IOException;
7412    method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void setUnderlyingNetwork(@NonNull android.net.Network) throws java.io.IOException;
7413  }
7414
7415  public static class IpSecTransform.Builder {
7416    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public android.net.IpSecTransform buildTunnelModeTransform(@NonNull java.net.InetAddress, @NonNull android.net.IpSecManager.SecurityParameterIndex) throws java.io.IOException, android.net.IpSecManager.ResourceUnavailableException, android.net.IpSecManager.SpiUnavailableException;
7417  }
7418
7419  public final class MatchAllNetworkSpecifier extends android.net.NetworkSpecifier implements android.os.Parcelable {
7420    ctor public MatchAllNetworkSpecifier();
7421    method public int describeContents();
7422    method public void writeToParcel(@NonNull android.os.Parcel, int);
7423    field @NonNull public static final android.os.Parcelable.Creator<android.net.MatchAllNetworkSpecifier> CREATOR;
7424  }
7425
7426  public class NetworkKey implements android.os.Parcelable {
7427    ctor public NetworkKey(android.net.WifiKey);
7428    method @Nullable public static android.net.NetworkKey createFromScanResult(@NonNull android.net.wifi.ScanResult);
7429    method public int describeContents();
7430    method public void writeToParcel(android.os.Parcel, int);
7431    field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkKey> CREATOR;
7432    field public static final int TYPE_WIFI = 1; // 0x1
7433    field public final int type;
7434    field public final android.net.WifiKey wifiKey;
7435  }
7436
7437  public abstract class NetworkRecommendationProvider {
7438    ctor public NetworkRecommendationProvider(android.content.Context, java.util.concurrent.Executor);
7439    method public final android.os.IBinder getBinder();
7440    method public abstract void onRequestScores(android.net.NetworkKey[]);
7441  }
7442
7443  public class NetworkScoreManager {
7444    method @RequiresPermission(anyOf={android.Manifest.permission.SCORE_NETWORKS, android.Manifest.permission.REQUEST_NETWORK_SCORES}) public boolean clearScores() throws java.lang.SecurityException;
7445    method @RequiresPermission(anyOf={android.Manifest.permission.SCORE_NETWORKS, android.Manifest.permission.REQUEST_NETWORK_SCORES}) public void disableScoring() throws java.lang.SecurityException;
7446    method @RequiresPermission(anyOf={android.Manifest.permission.SCORE_NETWORKS, android.Manifest.permission.REQUEST_NETWORK_SCORES}) public String getActiveScorerPackage();
7447    method @RequiresPermission(android.Manifest.permission.REQUEST_NETWORK_SCORES) public void registerNetworkScoreCallback(int, int, @NonNull java.util.concurrent.Executor, @NonNull android.net.NetworkScoreManager.NetworkScoreCallback) throws java.lang.SecurityException;
7448    method @RequiresPermission(android.Manifest.permission.REQUEST_NETWORK_SCORES) public boolean requestScores(@NonNull java.util.Collection<android.net.NetworkKey>) throws java.lang.SecurityException;
7449    method @RequiresPermission(anyOf={android.Manifest.permission.SCORE_NETWORKS, android.Manifest.permission.REQUEST_NETWORK_SCORES}) public boolean setActiveScorer(String) throws java.lang.SecurityException;
7450    method @RequiresPermission(android.Manifest.permission.SCORE_NETWORKS) public boolean updateScores(@NonNull android.net.ScoredNetwork[]) throws java.lang.SecurityException;
7451    field @Deprecated public static final String ACTION_CHANGE_ACTIVE = "android.net.scoring.CHANGE_ACTIVE";
7452    field public static final String ACTION_CUSTOM_ENABLE = "android.net.scoring.CUSTOM_ENABLE";
7453    field public static final String ACTION_RECOMMEND_NETWORKS = "android.net.action.RECOMMEND_NETWORKS";
7454    field public static final String ACTION_SCORER_CHANGED = "android.net.scoring.SCORER_CHANGED";
7455    field @Deprecated public static final String ACTION_SCORE_NETWORKS = "android.net.scoring.SCORE_NETWORKS";
7456    field @Deprecated public static final String EXTRA_NETWORKS_TO_SCORE = "networksToScore";
7457    field public static final String EXTRA_NEW_SCORER = "newScorer";
7458    field @Deprecated public static final String EXTRA_PACKAGE_NAME = "packageName";
7459    field public static final int SCORE_FILTER_CURRENT_NETWORK = 1; // 0x1
7460    field public static final int SCORE_FILTER_NONE = 0; // 0x0
7461    field public static final int SCORE_FILTER_SCAN_RESULTS = 2; // 0x2
7462  }
7463
7464  public abstract static class NetworkScoreManager.NetworkScoreCallback {
7465    ctor public NetworkScoreManager.NetworkScoreCallback();
7466    method public abstract void onScoresInvalidated();
7467    method public abstract void onScoresUpdated(@NonNull java.util.Collection<android.net.ScoredNetwork>);
7468  }
7469
7470  public abstract class NetworkSpecifier {
7471    method public boolean canBeSatisfiedBy(@Nullable android.net.NetworkSpecifier);
7472    method @Nullable public android.net.NetworkSpecifier redact();
7473  }
7474
7475  public class NetworkStack {
7476    method @Nullable public static android.os.IBinder getService();
7477    field public static final String PERMISSION_MAINLINE_NETWORK_STACK = "android.permission.MAINLINE_NETWORK_STACK";
7478  }
7479
7480  public final class NetworkStats implements android.os.Parcelable {
7481    ctor public NetworkStats(long, int);
7482    method @NonNull public android.net.NetworkStats add(@NonNull android.net.NetworkStats);
7483    method @NonNull public android.net.NetworkStats addEntry(@NonNull android.net.NetworkStats.Entry);
7484    method public int describeContents();
7485    method @NonNull public android.net.NetworkStats subtract(@NonNull android.net.NetworkStats);
7486    method public void writeToParcel(@NonNull android.os.Parcel, int);
7487    field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkStats> CREATOR;
7488    field public static final int DEFAULT_NETWORK_NO = 0; // 0x0
7489    field public static final int DEFAULT_NETWORK_YES = 1; // 0x1
7490    field public static final String IFACE_VT = "vt_data0";
7491    field public static final int METERED_NO = 0; // 0x0
7492    field public static final int METERED_YES = 1; // 0x1
7493    field public static final int ROAMING_NO = 0; // 0x0
7494    field public static final int ROAMING_YES = 1; // 0x1
7495    field public static final int SET_DEFAULT = 0; // 0x0
7496    field public static final int SET_FOREGROUND = 1; // 0x1
7497    field public static final int TAG_NONE = 0; // 0x0
7498    field public static final int UID_ALL = -1; // 0xffffffff
7499    field public static final int UID_TETHERING = -5; // 0xfffffffb
7500  }
7501
7502  public static class NetworkStats.Entry {
7503    ctor public NetworkStats.Entry(@Nullable String, int, int, int, int, int, int, long, long, long, long, long);
7504  }
7505
7506  public class RssiCurve implements android.os.Parcelable {
7507    ctor public RssiCurve(int, int, byte[]);
7508    ctor public RssiCurve(int, int, byte[], int);
7509    method public int describeContents();
7510    method public byte lookupScore(int);
7511    method public byte lookupScore(int, boolean);
7512    method public void writeToParcel(android.os.Parcel, int);
7513    field @NonNull public static final android.os.Parcelable.Creator<android.net.RssiCurve> CREATOR;
7514    field public final int activeNetworkRssiBoost;
7515    field public final int bucketWidth;
7516    field public final byte[] rssiBuckets;
7517    field public final int start;
7518  }
7519
7520  public class ScoredNetwork implements android.os.Parcelable {
7521    ctor public ScoredNetwork(android.net.NetworkKey, android.net.RssiCurve);
7522    ctor public ScoredNetwork(android.net.NetworkKey, android.net.RssiCurve, boolean);
7523    ctor public ScoredNetwork(android.net.NetworkKey, android.net.RssiCurve, boolean, @Nullable android.os.Bundle);
7524    method public int calculateBadge(int);
7525    method public int describeContents();
7526    method public void writeToParcel(android.os.Parcel, int);
7527    field public static final String ATTRIBUTES_KEY_BADGING_CURVE = "android.net.attributes.key.BADGING_CURVE";
7528    field public static final String ATTRIBUTES_KEY_HAS_CAPTIVE_PORTAL = "android.net.attributes.key.HAS_CAPTIVE_PORTAL";
7529    field public static final String ATTRIBUTES_KEY_RANKING_SCORE_OFFSET = "android.net.attributes.key.RANKING_SCORE_OFFSET";
7530    field @NonNull public static final android.os.Parcelable.Creator<android.net.ScoredNetwork> CREATOR;
7531    field @Nullable public final android.os.Bundle attributes;
7532    field public final boolean meteredHint;
7533    field public final android.net.NetworkKey networkKey;
7534    field public final android.net.RssiCurve rssiCurve;
7535  }
7536
7537  public class TrafficStats {
7538    method public static void setThreadStatsTagApp();
7539    method public static void setThreadStatsTagBackup();
7540    method public static void setThreadStatsTagRestore();
7541    field public static final int TAG_NETWORK_STACK_IMPERSONATION_RANGE_END = -113; // 0xffffff8f
7542    field public static final int TAG_NETWORK_STACK_IMPERSONATION_RANGE_START = -128; // 0xffffff80
7543    field public static final int TAG_NETWORK_STACK_RANGE_END = -257; // 0xfffffeff
7544    field public static final int TAG_NETWORK_STACK_RANGE_START = -768; // 0xfffffd00
7545    field public static final int TAG_SYSTEM_IMPERSONATION_RANGE_END = -241; // 0xffffff0f
7546    field public static final int TAG_SYSTEM_IMPERSONATION_RANGE_START = -256; // 0xffffff00
7547  }
7548
7549  public abstract class Uri implements java.lang.Comparable<android.net.Uri> android.os.Parcelable {
7550    method @NonNull public String toSafeString();
7551  }
7552
7553  public class VpnService extends android.app.Service {
7554    method @RequiresPermission(android.Manifest.permission.CONTROL_VPN) public static void prepareAndAuthorize(android.content.Context);
7555  }
7556
7557  public class WebAddress {
7558    ctor public WebAddress(String) throws android.net.ParseException;
7559  }
7560
7561  public class WifiKey implements android.os.Parcelable {
7562    ctor public WifiKey(String, String);
7563    method public int describeContents();
7564    method public void writeToParcel(android.os.Parcel, int);
7565    field @NonNull public static final android.os.Parcelable.Creator<android.net.WifiKey> CREATOR;
7566    field public final String bssid;
7567    field public final String ssid;
7568  }
7569
7570}
7571
7572package android.net.metrics {
7573
7574  @Deprecated public final class ApfProgramEvent implements android.net.metrics.IpConnectivityLog.Event {
7575  }
7576
7577  @Deprecated public static final class ApfProgramEvent.Builder {
7578    ctor @Deprecated public ApfProgramEvent.Builder();
7579    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent build();
7580    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setActualLifetime(long);
7581    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setCurrentRas(int);
7582    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setFilteredRas(int);
7583    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setFlags(boolean, boolean);
7584    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setLifetime(long);
7585    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setProgramLength(int);
7586  }
7587
7588  @Deprecated public final class ApfStats implements android.net.metrics.IpConnectivityLog.Event {
7589  }
7590
7591  @Deprecated public static final class ApfStats.Builder {
7592    ctor @Deprecated public ApfStats.Builder();
7593    method @Deprecated @NonNull public android.net.metrics.ApfStats build();
7594    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setDroppedRas(int);
7595    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setDurationMs(long);
7596    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setMatchingRas(int);
7597    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setMaxProgramSize(int);
7598    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setParseErrors(int);
7599    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setProgramUpdates(int);
7600    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setProgramUpdatesAll(int);
7601    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setProgramUpdatesAllowingMulticast(int);
7602    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setReceivedRas(int);
7603    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setZeroLifetimeRas(int);
7604  }
7605
7606  @Deprecated public final class DhcpClientEvent implements android.net.metrics.IpConnectivityLog.Event {
7607  }
7608
7609  @Deprecated public static final class DhcpClientEvent.Builder {
7610    ctor @Deprecated public DhcpClientEvent.Builder();
7611    method @Deprecated @NonNull public android.net.metrics.DhcpClientEvent build();
7612    method @Deprecated @NonNull public android.net.metrics.DhcpClientEvent.Builder setDurationMs(int);
7613    method @Deprecated @NonNull public android.net.metrics.DhcpClientEvent.Builder setMsg(String);
7614  }
7615
7616  @Deprecated public final class DhcpErrorEvent implements android.net.metrics.IpConnectivityLog.Event {
7617    ctor @Deprecated public DhcpErrorEvent(int);
7618    method @Deprecated public static int errorCodeWithOption(int, int);
7619    field @Deprecated public static final int BOOTP_TOO_SHORT = 67174400; // 0x4010000
7620    field @Deprecated public static final int BUFFER_UNDERFLOW = 83951616; // 0x5010000
7621    field @Deprecated public static final int DHCP_BAD_MAGIC_COOKIE = 67239936; // 0x4020000
7622    field @Deprecated public static final int DHCP_ERROR = 4; // 0x4
7623    field @Deprecated public static final int DHCP_INVALID_OPTION_LENGTH = 67305472; // 0x4030000
7624    field @Deprecated public static final int DHCP_NO_COOKIE = 67502080; // 0x4060000
7625    field @Deprecated public static final int DHCP_NO_MSG_TYPE = 67371008; // 0x4040000
7626    field @Deprecated public static final int DHCP_UNKNOWN_MSG_TYPE = 67436544; // 0x4050000
7627    field @Deprecated public static final int L2_ERROR = 1; // 0x1
7628    field @Deprecated public static final int L2_TOO_SHORT = 16842752; // 0x1010000
7629    field @Deprecated public static final int L2_WRONG_ETH_TYPE = 16908288; // 0x1020000
7630    field @Deprecated public static final int L3_ERROR = 2; // 0x2
7631    field @Deprecated public static final int L3_INVALID_IP = 33751040; // 0x2030000
7632    field @Deprecated public static final int L3_NOT_IPV4 = 33685504; // 0x2020000
7633    field @Deprecated public static final int L3_TOO_SHORT = 33619968; // 0x2010000
7634    field @Deprecated public static final int L4_ERROR = 3; // 0x3
7635    field @Deprecated public static final int L4_NOT_UDP = 50397184; // 0x3010000
7636    field @Deprecated public static final int L4_WRONG_PORT = 50462720; // 0x3020000
7637    field @Deprecated public static final int MISC_ERROR = 5; // 0x5
7638    field @Deprecated public static final int PARSING_ERROR = 84082688; // 0x5030000
7639    field @Deprecated public static final int RECEIVE_ERROR = 84017152; // 0x5020000
7640  }
7641
7642  @Deprecated public class IpConnectivityLog {
7643    ctor @Deprecated public IpConnectivityLog();
7644    method @Deprecated public boolean log(long, @NonNull android.net.metrics.IpConnectivityLog.Event);
7645    method @Deprecated public boolean log(@NonNull String, @NonNull android.net.metrics.IpConnectivityLog.Event);
7646    method @Deprecated public boolean log(@NonNull android.net.Network, @NonNull int[], @NonNull android.net.metrics.IpConnectivityLog.Event);
7647    method @Deprecated public boolean log(int, @NonNull int[], @NonNull android.net.metrics.IpConnectivityLog.Event);
7648    method @Deprecated public boolean log(@NonNull android.net.metrics.IpConnectivityLog.Event);
7649  }
7650
7651  @Deprecated public static interface IpConnectivityLog.Event extends android.os.Parcelable {
7652  }
7653
7654  @Deprecated public final class IpManagerEvent implements android.net.metrics.IpConnectivityLog.Event {
7655    ctor @Deprecated public IpManagerEvent(int, long);
7656    field @Deprecated public static final int COMPLETE_LIFECYCLE = 3; // 0x3
7657    field @Deprecated public static final int ERROR_INTERFACE_NOT_FOUND = 8; // 0x8
7658    field @Deprecated public static final int ERROR_INVALID_PROVISIONING = 7; // 0x7
7659    field @Deprecated public static final int ERROR_STARTING_IPREACHABILITYMONITOR = 6; // 0x6
7660    field @Deprecated public static final int ERROR_STARTING_IPV4 = 4; // 0x4
7661    field @Deprecated public static final int ERROR_STARTING_IPV6 = 5; // 0x5
7662    field @Deprecated public static final int PROVISIONING_FAIL = 2; // 0x2
7663    field @Deprecated public static final int PROVISIONING_OK = 1; // 0x1
7664  }
7665
7666  @Deprecated public final class IpReachabilityEvent implements android.net.metrics.IpConnectivityLog.Event {
7667    ctor @Deprecated public IpReachabilityEvent(int);
7668    field @Deprecated public static final int NUD_FAILED = 512; // 0x200
7669    field @Deprecated public static final int NUD_FAILED_ORGANIC = 1024; // 0x400
7670    field @Deprecated public static final int PROBE = 256; // 0x100
7671    field @Deprecated public static final int PROVISIONING_LOST = 768; // 0x300
7672    field @Deprecated public static final int PROVISIONING_LOST_ORGANIC = 1280; // 0x500
7673  }
7674
7675  @Deprecated public final class NetworkEvent implements android.net.metrics.IpConnectivityLog.Event {
7676    ctor @Deprecated public NetworkEvent(int, long);
7677    ctor @Deprecated public NetworkEvent(int);
7678    field @Deprecated public static final int NETWORK_CAPTIVE_PORTAL_FOUND = 4; // 0x4
7679    field @Deprecated public static final int NETWORK_CONNECTED = 1; // 0x1
7680    field @Deprecated public static final int NETWORK_CONSECUTIVE_DNS_TIMEOUT_FOUND = 12; // 0xc
7681    field @Deprecated public static final int NETWORK_DISCONNECTED = 7; // 0x7
7682    field @Deprecated public static final int NETWORK_FIRST_VALIDATION_PORTAL_FOUND = 10; // 0xa
7683    field @Deprecated public static final int NETWORK_FIRST_VALIDATION_SUCCESS = 8; // 0x8
7684    field @Deprecated public static final int NETWORK_LINGER = 5; // 0x5
7685    field @Deprecated public static final int NETWORK_PARTIAL_CONNECTIVITY = 13; // 0xd
7686    field @Deprecated public static final int NETWORK_REVALIDATION_PORTAL_FOUND = 11; // 0xb
7687    field @Deprecated public static final int NETWORK_REVALIDATION_SUCCESS = 9; // 0x9
7688    field @Deprecated public static final int NETWORK_UNLINGER = 6; // 0x6
7689    field @Deprecated public static final int NETWORK_VALIDATED = 2; // 0x2
7690    field @Deprecated public static final int NETWORK_VALIDATION_FAILED = 3; // 0x3
7691  }
7692
7693  @Deprecated public final class RaEvent implements android.net.metrics.IpConnectivityLog.Event {
7694  }
7695
7696  @Deprecated public static final class RaEvent.Builder {
7697    ctor @Deprecated public RaEvent.Builder();
7698    method @Deprecated @NonNull public android.net.metrics.RaEvent build();
7699    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updateDnsslLifetime(long);
7700    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updatePrefixPreferredLifetime(long);
7701    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updatePrefixValidLifetime(long);
7702    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updateRdnssLifetime(long);
7703    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updateRouteInfoLifetime(long);
7704    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updateRouterLifetime(long);
7705  }
7706
7707  @Deprecated public final class ValidationProbeEvent implements android.net.metrics.IpConnectivityLog.Event {
7708    method @Deprecated @NonNull public static String getProbeName(int);
7709    field @Deprecated public static final int DNS_FAILURE = 0; // 0x0
7710    field @Deprecated public static final int DNS_SUCCESS = 1; // 0x1
7711    field @Deprecated public static final int PROBE_DNS = 0; // 0x0
7712    field @Deprecated public static final int PROBE_FALLBACK = 4; // 0x4
7713    field @Deprecated public static final int PROBE_HTTP = 1; // 0x1
7714    field @Deprecated public static final int PROBE_HTTPS = 2; // 0x2
7715    field @Deprecated public static final int PROBE_PAC = 3; // 0x3
7716    field @Deprecated public static final int PROBE_PRIVDNS = 5; // 0x5
7717  }
7718
7719  @Deprecated public static final class ValidationProbeEvent.Builder {
7720    ctor @Deprecated public ValidationProbeEvent.Builder();
7721    method @Deprecated @NonNull public android.net.metrics.ValidationProbeEvent build();
7722    method @Deprecated @NonNull public android.net.metrics.ValidationProbeEvent.Builder setDurationMs(long);
7723    method @Deprecated @NonNull public android.net.metrics.ValidationProbeEvent.Builder setProbeType(int, boolean);
7724    method @Deprecated @NonNull public android.net.metrics.ValidationProbeEvent.Builder setReturnCode(int);
7725  }
7726
7727}
7728
7729package android.net.netstats.provider {
7730
7731  public abstract class NetworkStatsProvider {
7732    ctor public NetworkStatsProvider();
7733    method public void notifyAlertReached();
7734    method public void notifyLimitReached();
7735    method public void notifyStatsUpdated(int, @NonNull android.net.NetworkStats, @NonNull android.net.NetworkStats);
7736    method public void notifyWarningReached();
7737    method public abstract void onRequestStatsUpdate(int);
7738    method public abstract void onSetAlert(long);
7739    method public abstract void onSetLimit(@NonNull String, long);
7740    method public void onSetWarningAndLimit(@NonNull String, long, long);
7741    field public static final int QUOTA_UNLIMITED = -1; // 0xffffffff
7742  }
7743
7744}
7745
7746package android.net.sip {
7747
7748  @Deprecated public class SipAudioCall {
7749    method @Deprecated @Nullable public android.net.rtp.AudioGroup getAudioGroup();
7750    method @Deprecated public void setAudioGroup(@NonNull android.net.rtp.AudioGroup);
7751  }
7752
7753  @Deprecated public class SipManager {
7754    method @Deprecated @NonNull public java.util.List<android.net.sip.SipProfile> getProfiles() throws android.net.sip.SipException;
7755    field @Deprecated public static final String ACTION_SIP_CALL_OPTION_CHANGED = "android.net.sip.action.SIP_CALL_OPTION_CHANGED";
7756    field @Deprecated public static final String ACTION_SIP_INCOMING_CALL = "android.net.sip.action.SIP_INCOMING_CALL";
7757    field @Deprecated public static final String ACTION_SIP_REMOVE_PROFILE = "android.net.sip.action.SIP_REMOVE_PROFILE";
7758    field @Deprecated public static final String ACTION_SIP_SERVICE_UP = "android.net.sip.action.SIP_SERVICE_UP";
7759    field @Deprecated public static final String ACTION_START_SIP = "android.net.sip.action.START_SIP";
7760  }
7761
7762  @Deprecated public class SipProfile implements java.lang.Cloneable android.os.Parcelable java.io.Serializable {
7763    method @Deprecated public int getCallingUid();
7764  }
7765
7766}
7767
7768package android.net.util {
7769
7770  public final class SocketUtils {
7771    method public static void bindSocketToInterface(@NonNull java.io.FileDescriptor, @NonNull String) throws android.system.ErrnoException;
7772    method public static void closeSocket(@Nullable java.io.FileDescriptor) throws java.io.IOException;
7773    method @NonNull public static java.net.SocketAddress makeNetlinkSocketAddress(int, int);
7774    method @NonNull public static java.net.SocketAddress makePacketSocketAddress(int, int);
7775    method @Deprecated @NonNull public static java.net.SocketAddress makePacketSocketAddress(int, @NonNull byte[]);
7776    method @NonNull public static java.net.SocketAddress makePacketSocketAddress(int, int, @NonNull byte[]);
7777  }
7778
7779}
7780
7781package android.net.vcn {
7782
7783  public class VcnManager {
7784    method @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public void addVcnNetworkPolicyChangeListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.vcn.VcnManager.VcnNetworkPolicyChangeListener);
7785    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.vcn.VcnNetworkPolicyResult applyVcnNetworkPolicy(@NonNull android.net.NetworkCapabilities, @NonNull android.net.LinkProperties);
7786    method @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public void removeVcnNetworkPolicyChangeListener(@NonNull android.net.vcn.VcnManager.VcnNetworkPolicyChangeListener);
7787  }
7788
7789  public static interface VcnManager.VcnNetworkPolicyChangeListener {
7790    method public void onPolicyChanged();
7791  }
7792
7793  public final class VcnNetworkPolicyResult implements android.os.Parcelable {
7794    method public int describeContents();
7795    method @NonNull public android.net.NetworkCapabilities getNetworkCapabilities();
7796    method public boolean isTeardownRequested();
7797    method public void writeToParcel(@NonNull android.os.Parcel, int);
7798    field @NonNull public static final android.os.Parcelable.Creator<android.net.vcn.VcnNetworkPolicyResult> CREATOR;
7799  }
7800
7801}
7802
7803package android.net.wifi {
7804
7805  public final class WifiMigration {
7806    method @Nullable public static java.io.InputStream convertAndRetrieveSharedConfigStoreFile(int);
7807    method @Nullable public static java.io.InputStream convertAndRetrieveUserConfigStoreFile(int, @NonNull android.os.UserHandle);
7808    method @NonNull public static android.net.wifi.WifiMigration.SettingsMigrationData loadFromSettings(@NonNull android.content.Context);
7809    method public static void removeSharedConfigStoreFile(int);
7810    method public static void removeUserConfigStoreFile(int, @NonNull android.os.UserHandle);
7811    field public static final int STORE_FILE_SHARED_GENERAL = 0; // 0x0
7812    field public static final int STORE_FILE_SHARED_SOFTAP = 1; // 0x1
7813    field public static final int STORE_FILE_USER_GENERAL = 2; // 0x2
7814    field public static final int STORE_FILE_USER_NETWORK_SUGGESTIONS = 3; // 0x3
7815  }
7816
7817  public static final class WifiMigration.SettingsMigrationData implements android.os.Parcelable {
7818    method public int describeContents();
7819    method @Nullable public String getP2pDeviceName();
7820    method public boolean isP2pFactoryResetPending();
7821    method public boolean isScanAlwaysAvailable();
7822    method public boolean isScanThrottleEnabled();
7823    method public boolean isSoftApTimeoutEnabled();
7824    method public boolean isVerboseLoggingEnabled();
7825    method public boolean isWakeUpEnabled();
7826    method public void writeToParcel(@NonNull android.os.Parcel, int);
7827    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiMigration.SettingsMigrationData> CREATOR;
7828  }
7829
7830  public static final class WifiMigration.SettingsMigrationData.Builder {
7831    ctor public WifiMigration.SettingsMigrationData.Builder();
7832    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData build();
7833    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setP2pDeviceName(@Nullable String);
7834    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setP2pFactoryResetPending(boolean);
7835    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setScanAlwaysAvailable(boolean);
7836    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setScanThrottleEnabled(boolean);
7837    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setSoftApTimeoutEnabled(boolean);
7838    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setVerboseLoggingEnabled(boolean);
7839    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setWakeUpEnabled(boolean);
7840  }
7841
7842}
7843
7844package android.net.wifi.nl80211 {
7845
7846  public final class DeviceWiphyCapabilities implements android.os.Parcelable {
7847    ctor public DeviceWiphyCapabilities();
7848    method public int describeContents();
7849    method public int getMaxNumberRxSpatialStreams();
7850    method public int getMaxNumberTxSpatialStreams();
7851    method public boolean isChannelWidthSupported(int);
7852    method public boolean isWifiStandardSupported(int);
7853    method public void setWifiStandardSupport(int, boolean);
7854    method public void writeToParcel(@NonNull android.os.Parcel, int);
7855    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.DeviceWiphyCapabilities> CREATOR;
7856  }
7857
7858  public final class NativeScanResult implements android.os.Parcelable {
7859    ctor public NativeScanResult();
7860    method public int describeContents();
7861    method @Nullable public android.net.MacAddress getBssid();
7862    method public int getCapabilities();
7863    method public int getFrequencyMhz();
7864    method @NonNull public byte[] getInformationElements();
7865    method @NonNull public java.util.List<android.net.wifi.nl80211.RadioChainInfo> getRadioChainInfos();
7866    method public int getSignalMbm();
7867    method @NonNull public byte[] getSsid();
7868    method public long getTsf();
7869    method public boolean isAssociated();
7870    method public void writeToParcel(@NonNull android.os.Parcel, int);
7871    field public static final int BSS_CAPABILITY_APSD = 2048; // 0x800
7872    field public static final int BSS_CAPABILITY_CF_POLLABLE = 4; // 0x4
7873    field public static final int BSS_CAPABILITY_CF_POLL_REQUEST = 8; // 0x8
7874    field public static final int BSS_CAPABILITY_CHANNEL_AGILITY = 128; // 0x80
7875    field public static final int BSS_CAPABILITY_DELAYED_BLOCK_ACK = 16384; // 0x4000
7876    field public static final int BSS_CAPABILITY_DMG_ESS = 3; // 0x3
7877    field public static final int BSS_CAPABILITY_DMG_IBSS = 1; // 0x1
7878    field public static final int BSS_CAPABILITY_DSSS_OFDM = 8192; // 0x2000
7879    field public static final int BSS_CAPABILITY_ESS = 1; // 0x1
7880    field public static final int BSS_CAPABILITY_IBSS = 2; // 0x2
7881    field public static final int BSS_CAPABILITY_IMMEDIATE_BLOCK_ACK = 32768; // 0x8000
7882    field public static final int BSS_CAPABILITY_PBCC = 64; // 0x40
7883    field public static final int BSS_CAPABILITY_PRIVACY = 16; // 0x10
7884    field public static final int BSS_CAPABILITY_QOS = 512; // 0x200
7885    field public static final int BSS_CAPABILITY_RADIO_MANAGEMENT = 4096; // 0x1000
7886    field public static final int BSS_CAPABILITY_SHORT_PREAMBLE = 32; // 0x20
7887    field public static final int BSS_CAPABILITY_SHORT_SLOT_TIME = 1024; // 0x400
7888    field public static final int BSS_CAPABILITY_SPECTRUM_MANAGEMENT = 256; // 0x100
7889    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.NativeScanResult> CREATOR;
7890  }
7891
7892  public final class NativeWifiClient implements android.os.Parcelable {
7893    ctor public NativeWifiClient(@Nullable android.net.MacAddress);
7894    method public int describeContents();
7895    method @Nullable public android.net.MacAddress getMacAddress();
7896    method public void writeToParcel(@NonNull android.os.Parcel, int);
7897    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.NativeWifiClient> CREATOR;
7898  }
7899
7900  public final class PnoNetwork implements android.os.Parcelable {
7901    ctor public PnoNetwork();
7902    method public int describeContents();
7903    method @NonNull public int[] getFrequenciesMhz();
7904    method @NonNull public byte[] getSsid();
7905    method public boolean isHidden();
7906    method public void setFrequenciesMhz(@NonNull int[]);
7907    method public void setHidden(boolean);
7908    method public void setSsid(@NonNull byte[]);
7909    method public void writeToParcel(@NonNull android.os.Parcel, int);
7910    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.PnoNetwork> CREATOR;
7911  }
7912
7913  public final class PnoSettings implements android.os.Parcelable {
7914    ctor public PnoSettings();
7915    method public int describeContents();
7916    method public long getIntervalMillis();
7917    method public int getMin2gRssiDbm();
7918    method public int getMin5gRssiDbm();
7919    method public int getMin6gRssiDbm();
7920    method @NonNull public java.util.List<android.net.wifi.nl80211.PnoNetwork> getPnoNetworks();
7921    method public void setIntervalMillis(long);
7922    method public void setMin2gRssiDbm(int);
7923    method public void setMin5gRssiDbm(int);
7924    method public void setMin6gRssiDbm(int);
7925    method public void setPnoNetworks(@NonNull java.util.List<android.net.wifi.nl80211.PnoNetwork>);
7926    method public void writeToParcel(@NonNull android.os.Parcel, int);
7927    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.PnoSettings> CREATOR;
7928  }
7929
7930  public final class RadioChainInfo implements android.os.Parcelable {
7931    ctor public RadioChainInfo(int, int);
7932    method public int describeContents();
7933    method public int getChainId();
7934    method public int getLevelDbm();
7935    method public void writeToParcel(@NonNull android.os.Parcel, int);
7936    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.RadioChainInfo> CREATOR;
7937  }
7938
7939  public class WifiNl80211Manager {
7940    method public void abortScan(@NonNull String);
7941    method public void enableVerboseLogging(boolean);
7942    method @NonNull public int[] getChannelsMhzForBand(int);
7943    method @Nullable public android.net.wifi.nl80211.DeviceWiphyCapabilities getDeviceWiphyCapabilities(@NonNull String);
7944    method @NonNull public java.util.List<android.net.wifi.nl80211.NativeScanResult> getScanResults(@NonNull String, int);
7945    method @Nullable public android.net.wifi.nl80211.WifiNl80211Manager.TxPacketCounters getTxPacketCounters(@NonNull String);
7946    method @Nullable public static android.net.wifi.nl80211.WifiNl80211Manager.OemSecurityType parseOemSecurityTypeElement(int, int, @NonNull byte[]);
7947    method @Deprecated public boolean registerApCallback(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.nl80211.WifiNl80211Manager.SoftApCallback);
7948    method public boolean registerCountryCodeChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.nl80211.WifiNl80211Manager.CountryCodeChangedListener);
7949    method public void sendMgmtFrame(@NonNull String, @NonNull byte[], int, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.nl80211.WifiNl80211Manager.SendMgmtFrameCallback);
7950    method public void setOnServiceDeadCallback(@NonNull Runnable);
7951    method public boolean setupInterfaceForClientMode(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.nl80211.WifiNl80211Manager.ScanEventCallback, @NonNull android.net.wifi.nl80211.WifiNl80211Manager.ScanEventCallback);
7952    method public boolean setupInterfaceForSoftApMode(@NonNull String);
7953    method @Nullable public android.net.wifi.nl80211.WifiNl80211Manager.SignalPollResult signalPoll(@NonNull String);
7954    method public boolean startPnoScan(@NonNull String, @NonNull android.net.wifi.nl80211.PnoSettings, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.nl80211.WifiNl80211Manager.PnoScanRequestCallback);
7955    method @Deprecated public boolean startScan(@NonNull String, int, @Nullable java.util.Set<java.lang.Integer>, @Nullable java.util.List<byte[]>);
7956    method public boolean startScan(@NonNull String, int, @Nullable java.util.Set<java.lang.Integer>, @Nullable java.util.List<byte[]>, @Nullable android.os.Bundle);
7957    method public boolean stopPnoScan(@NonNull String);
7958    method public boolean tearDownClientInterface(@NonNull String);
7959    method public boolean tearDownInterfaces();
7960    method public boolean tearDownSoftApInterface(@NonNull String);
7961    method public void unregisterCountryCodeChangedListener(@NonNull android.net.wifi.nl80211.WifiNl80211Manager.CountryCodeChangedListener);
7962    field public static final String SCANNING_PARAM_ENABLE_6GHZ_RNR = "android.net.wifi.nl80211.SCANNING_PARAM_ENABLE_6GHZ_RNR";
7963    field public static final int SCAN_TYPE_PNO_SCAN = 1; // 0x1
7964    field public static final int SCAN_TYPE_SINGLE_SCAN = 0; // 0x0
7965    field public static final int SEND_MGMT_FRAME_ERROR_ALREADY_STARTED = 5; // 0x5
7966    field public static final int SEND_MGMT_FRAME_ERROR_MCS_UNSUPPORTED = 2; // 0x2
7967    field public static final int SEND_MGMT_FRAME_ERROR_NO_ACK = 3; // 0x3
7968    field public static final int SEND_MGMT_FRAME_ERROR_TIMEOUT = 4; // 0x4
7969    field public static final int SEND_MGMT_FRAME_ERROR_UNKNOWN = 1; // 0x1
7970  }
7971
7972  public static interface WifiNl80211Manager.CountryCodeChangedListener {
7973    method public void onCountryCodeChanged(@NonNull String);
7974  }
7975
7976  public static class WifiNl80211Manager.OemSecurityType {
7977    ctor public WifiNl80211Manager.OemSecurityType(int, @NonNull java.util.List<java.lang.Integer>, @NonNull java.util.List<java.lang.Integer>, int);
7978    field public final int groupCipher;
7979    field @NonNull public final java.util.List<java.lang.Integer> keyManagement;
7980    field @NonNull public final java.util.List<java.lang.Integer> pairwiseCipher;
7981    field public final int protocol;
7982  }
7983
7984  public static interface WifiNl80211Manager.PnoScanRequestCallback {
7985    method public void onPnoRequestFailed();
7986    method public void onPnoRequestSucceeded();
7987  }
7988
7989  public static interface WifiNl80211Manager.ScanEventCallback {
7990    method public void onScanFailed();
7991    method public void onScanResultReady();
7992  }
7993
7994  public static interface WifiNl80211Manager.SendMgmtFrameCallback {
7995    method public void onAck(int);
7996    method public void onFailure(int);
7997  }
7998
7999  public static class WifiNl80211Manager.SignalPollResult {
8000    field public final int associationFrequencyMHz;
8001    field public final int currentRssiDbm;
8002    field public final int rxBitrateMbps;
8003    field public final int txBitrateMbps;
8004  }
8005
8006  @Deprecated public static interface WifiNl80211Manager.SoftApCallback {
8007    method @Deprecated public void onConnectedClientsChanged(@NonNull android.net.wifi.nl80211.NativeWifiClient, boolean);
8008    method @Deprecated public void onFailure();
8009    method @Deprecated public void onSoftApChannelSwitched(int, int);
8010  }
8011
8012  public static class WifiNl80211Manager.TxPacketCounters {
8013    field public final int txPacketFailed;
8014    field public final int txPacketSucceeded;
8015  }
8016
8017}
8018
8019package android.nfc {
8020
8021  public final class NfcAdapter {
8022    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean addNfcUnlockHandler(android.nfc.NfcAdapter.NfcUnlockHandler, String[]);
8023    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean disable();
8024    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean disable(boolean);
8025    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean disableNdefPush();
8026    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean enable();
8027    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean enableNdefPush();
8028    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean enableSecureNfc(boolean);
8029    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public boolean isControllerAlwaysOn();
8030    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public boolean isControllerAlwaysOnSupported();
8031    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public void registerControllerAlwaysOnListener(@NonNull java.util.concurrent.Executor, @NonNull android.nfc.NfcAdapter.ControllerAlwaysOnListener);
8032    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean removeNfcUnlockHandler(android.nfc.NfcAdapter.NfcUnlockHandler);
8033    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public boolean setControllerAlwaysOn(boolean);
8034    method public void setNdefPushMessage(android.nfc.NdefMessage, android.app.Activity, int);
8035    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public void unregisterControllerAlwaysOnListener(@NonNull android.nfc.NfcAdapter.ControllerAlwaysOnListener);
8036    field public static final int FLAG_NDEF_PUSH_NO_CONFIRM = 1; // 0x1
8037  }
8038
8039  public static interface NfcAdapter.ControllerAlwaysOnListener {
8040    method public void onControllerAlwaysOnChanged(boolean);
8041  }
8042
8043  public static interface NfcAdapter.NfcUnlockHandler {
8044    method public boolean onUnlockAttempted(android.nfc.Tag);
8045  }
8046
8047}
8048
8049package android.os {
8050
8051  public class BatteryManager {
8052    method @RequiresPermission(android.Manifest.permission.POWER_SAVER) public boolean setChargingStateUpdateDelayMillis(int);
8053    field public static final String EXTRA_EVENTS = "android.os.extra.EVENTS";
8054    field public static final String EXTRA_EVENT_TIMESTAMP = "android.os.extra.EVENT_TIMESTAMP";
8055  }
8056
8057  public final class BatterySaverPolicyConfig implements android.os.Parcelable {
8058    method public int describeContents();
8059    method public float getAdjustBrightnessFactor();
8060    method public boolean getAdvertiseIsEnabled();
8061    method public boolean getDeferFullBackup();
8062    method public boolean getDeferKeyValueBackup();
8063    method @NonNull public java.util.Map<java.lang.String,java.lang.String> getDeviceSpecificSettings();
8064    method public boolean getDisableAnimation();
8065    method public boolean getDisableAod();
8066    method public boolean getDisableLaunchBoost();
8067    method public boolean getDisableOptionalSensors();
8068    method @Deprecated public boolean getDisableSoundTrigger();
8069    method public boolean getDisableVibration();
8070    method public boolean getEnableAdjustBrightness();
8071    method public boolean getEnableDataSaver();
8072    method public boolean getEnableFirewall();
8073    method public boolean getEnableNightMode();
8074    method public boolean getEnableQuickDoze();
8075    method public boolean getForceAllAppsStandby();
8076    method public boolean getForceBackgroundCheck();
8077    method public int getLocationMode();
8078    method public int getSoundTriggerMode();
8079    method public void writeToParcel(android.os.Parcel, int);
8080    field @NonNull public static final android.os.Parcelable.Creator<android.os.BatterySaverPolicyConfig> CREATOR;
8081  }
8082
8083  public static final class BatterySaverPolicyConfig.Builder {
8084    ctor public BatterySaverPolicyConfig.Builder();
8085    ctor public BatterySaverPolicyConfig.Builder(@NonNull android.os.BatterySaverPolicyConfig);
8086    method @NonNull public android.os.BatterySaverPolicyConfig.Builder addDeviceSpecificSetting(@NonNull String, @NonNull String);
8087    method @NonNull public android.os.BatterySaverPolicyConfig build();
8088    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setAdjustBrightnessFactor(float);
8089    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setAdvertiseIsEnabled(boolean);
8090    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDeferFullBackup(boolean);
8091    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDeferKeyValueBackup(boolean);
8092    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableAnimation(boolean);
8093    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableAod(boolean);
8094    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableLaunchBoost(boolean);
8095    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableOptionalSensors(boolean);
8096    method @Deprecated @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableSoundTrigger(boolean);
8097    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableVibration(boolean);
8098    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setEnableAdjustBrightness(boolean);
8099    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setEnableDataSaver(boolean);
8100    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setEnableFirewall(boolean);
8101    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setEnableNightMode(boolean);
8102    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setEnableQuickDoze(boolean);
8103    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setForceAllAppsStandby(boolean);
8104    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setForceBackgroundCheck(boolean);
8105    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setLocationMode(int);
8106    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setSoundTriggerMode(int);
8107  }
8108
8109  public final class BatteryStatsManager {
8110    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public android.os.connectivity.CellularBatteryStats getCellularBatteryStats();
8111    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public android.os.connectivity.WifiBatteryStats getWifiBatteryStats();
8112    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportFullWifiLockAcquiredFromSource(@NonNull android.os.WorkSource);
8113    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportFullWifiLockReleasedFromSource(@NonNull android.os.WorkSource);
8114    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportMobileRadioPowerState(boolean, int);
8115    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiBatchedScanStartedFromSource(@NonNull android.os.WorkSource, @IntRange(from=0) int);
8116    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiBatchedScanStoppedFromSource(@NonNull android.os.WorkSource);
8117    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiMulticastDisabled(@NonNull android.os.WorkSource);
8118    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiMulticastEnabled(@NonNull android.os.WorkSource);
8119    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiOff();
8120    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiOn();
8121    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiRadioPowerState(boolean, int);
8122    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiRssiChanged(@IntRange(from=0xffffff81, to=0) int);
8123    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiScanStartedFromSource(@NonNull android.os.WorkSource);
8124    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiScanStoppedFromSource(@NonNull android.os.WorkSource);
8125    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiState(int, @Nullable String);
8126    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiSupplicantStateChanged(int, boolean);
8127    field public static final int WIFI_STATE_OFF = 0; // 0x0
8128    field public static final int WIFI_STATE_OFF_SCANNING = 1; // 0x1
8129    field public static final int WIFI_STATE_ON_CONNECTED_P2P = 5; // 0x5
8130    field public static final int WIFI_STATE_ON_CONNECTED_STA = 4; // 0x4
8131    field public static final int WIFI_STATE_ON_CONNECTED_STA_P2P = 6; // 0x6
8132    field public static final int WIFI_STATE_ON_DISCONNECTED = 3; // 0x3
8133    field public static final int WIFI_STATE_ON_NO_NETWORKS = 2; // 0x2
8134    field public static final int WIFI_STATE_SOFT_AP = 7; // 0x7
8135    field public static final int WIFI_SUPPL_STATE_ASSOCIATED = 7; // 0x7
8136    field public static final int WIFI_SUPPL_STATE_ASSOCIATING = 6; // 0x6
8137    field public static final int WIFI_SUPPL_STATE_AUTHENTICATING = 5; // 0x5
8138    field public static final int WIFI_SUPPL_STATE_COMPLETED = 10; // 0xa
8139    field public static final int WIFI_SUPPL_STATE_DISCONNECTED = 1; // 0x1
8140    field public static final int WIFI_SUPPL_STATE_DORMANT = 11; // 0xb
8141    field public static final int WIFI_SUPPL_STATE_FOUR_WAY_HANDSHAKE = 8; // 0x8
8142    field public static final int WIFI_SUPPL_STATE_GROUP_HANDSHAKE = 9; // 0x9
8143    field public static final int WIFI_SUPPL_STATE_INACTIVE = 3; // 0x3
8144    field public static final int WIFI_SUPPL_STATE_INTERFACE_DISABLED = 2; // 0x2
8145    field public static final int WIFI_SUPPL_STATE_INVALID = 0; // 0x0
8146    field public static final int WIFI_SUPPL_STATE_SCANNING = 4; // 0x4
8147    field public static final int WIFI_SUPPL_STATE_UNINITIALIZED = 12; // 0xc
8148  }
8149
8150  public class Binder implements android.os.IBinder {
8151    method public int handleShellCommand(@NonNull android.os.ParcelFileDescriptor, @NonNull android.os.ParcelFileDescriptor, @NonNull android.os.ParcelFileDescriptor, @NonNull String[]);
8152    method public static void setProxyTransactListener(@Nullable android.os.Binder.ProxyTransactListener);
8153  }
8154
8155  public static interface Binder.ProxyTransactListener {
8156    method public void onTransactEnded(@Nullable Object);
8157    method @Nullable public Object onTransactStarted(@NonNull android.os.IBinder, int);
8158  }
8159
8160  public final class BugreportManager {
8161    method @RequiresPermission(android.Manifest.permission.DUMP) public void requestBugreport(@NonNull android.os.BugreportParams, @Nullable CharSequence, @Nullable CharSequence);
8162    method @RequiresPermission(android.Manifest.permission.DUMP) @WorkerThread public void startBugreport(@NonNull android.os.ParcelFileDescriptor, @Nullable android.os.ParcelFileDescriptor, @NonNull android.os.BugreportParams, @NonNull java.util.concurrent.Executor, @NonNull android.os.BugreportManager.BugreportCallback);
8163  }
8164
8165  public final class BugreportParams {
8166    ctor public BugreportParams(int);
8167    method public int getMode();
8168    field public static final int BUGREPORT_MODE_FULL = 0; // 0x0
8169    field public static final int BUGREPORT_MODE_INTERACTIVE = 1; // 0x1
8170    field public static final int BUGREPORT_MODE_REMOTE = 2; // 0x2
8171    field public static final int BUGREPORT_MODE_TELEPHONY = 4; // 0x4
8172    field public static final int BUGREPORT_MODE_WEAR = 3; // 0x3
8173    field public static final int BUGREPORT_MODE_WIFI = 5; // 0x5
8174  }
8175
8176  public static class Build.VERSION {
8177    field @NonNull public static final String PREVIEW_SDK_FINGERPRINT;
8178  }
8179
8180  public final class ConfigUpdate {
8181    field public static final String ACTION_UPDATE_CARRIER_ID_DB = "android.os.action.UPDATE_CARRIER_ID_DB";
8182    field public static final String ACTION_UPDATE_CARRIER_PROVISIONING_URLS = "android.intent.action.UPDATE_CARRIER_PROVISIONING_URLS";
8183    field public static final String ACTION_UPDATE_CONVERSATION_ACTIONS = "android.intent.action.UPDATE_CONVERSATION_ACTIONS";
8184    field public static final String ACTION_UPDATE_CT_LOGS = "android.intent.action.UPDATE_CT_LOGS";
8185    field public static final String ACTION_UPDATE_EMERGENCY_NUMBER_DB = "android.os.action.UPDATE_EMERGENCY_NUMBER_DB";
8186    field public static final String ACTION_UPDATE_INTENT_FIREWALL = "android.intent.action.UPDATE_INTENT_FIREWALL";
8187    field public static final String ACTION_UPDATE_LANG_ID = "android.intent.action.UPDATE_LANG_ID";
8188    field public static final String ACTION_UPDATE_NETWORK_WATCHLIST = "android.intent.action.UPDATE_NETWORK_WATCHLIST";
8189    field public static final String ACTION_UPDATE_PINS = "android.intent.action.UPDATE_PINS";
8190    field public static final String ACTION_UPDATE_SMART_SELECTION = "android.intent.action.UPDATE_SMART_SELECTION";
8191    field public static final String ACTION_UPDATE_SMS_SHORT_CODES = "android.intent.action.UPDATE_SMS_SHORT_CODES";
8192    field public static final String EXTRA_REQUIRED_HASH = "android.os.extra.REQUIRED_HASH";
8193    field public static final String EXTRA_VERSION = "android.os.extra.VERSION";
8194  }
8195
8196  public class DeviceIdleManager {
8197    method @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public void endIdle(@NonNull String);
8198  }
8199
8200  public class Environment {
8201    method @NonNull public static java.util.Collection<java.io.File> getInternalMediaDirectories();
8202    method @NonNull public static java.io.File getOdmDirectory();
8203    method @NonNull public static java.io.File getOemDirectory();
8204    method @NonNull public static java.io.File getProductDirectory();
8205    method @Deprecated @NonNull public static java.io.File getProductServicesDirectory();
8206    method @NonNull public static java.io.File getSystemExtDirectory();
8207    method @NonNull public static java.io.File getVendorDirectory();
8208  }
8209
8210  public class HidlMemory implements java.io.Closeable {
8211    ctor public HidlMemory(@NonNull String, @IntRange(from=0) long, @Nullable android.os.NativeHandle);
8212    method public void close() throws java.io.IOException;
8213    method @NonNull public android.os.HidlMemory dup() throws java.io.IOException;
8214    method protected void finalize();
8215    method @Nullable public android.os.NativeHandle getHandle();
8216    method @NonNull public String getName();
8217    method public long getSize();
8218    method @Nullable public android.os.NativeHandle releaseHandle();
8219  }
8220
8221  public class HidlSupport {
8222    method public static boolean deepEquals(Object, Object);
8223    method public static int deepHashCode(Object);
8224    method public static int getPidIfSharable();
8225    method public static boolean interfacesEqual(android.os.IHwInterface, Object);
8226  }
8227
8228  public abstract class HwBinder implements android.os.IHwBinder {
8229    ctor public HwBinder();
8230    method public static final void configureRpcThreadpool(long, boolean);
8231    method public static void enableInstrumentation();
8232    method public static final android.os.IHwBinder getService(String, String) throws java.util.NoSuchElementException, android.os.RemoteException;
8233    method public static final android.os.IHwBinder getService(String, String, boolean) throws java.util.NoSuchElementException, android.os.RemoteException;
8234    method public static final void joinRpcThreadpool();
8235    method public abstract void onTransact(int, android.os.HwParcel, android.os.HwParcel, int) throws android.os.RemoteException;
8236    method public final void registerService(String) throws android.os.RemoteException;
8237    method public final void transact(int, android.os.HwParcel, android.os.HwParcel, int) throws android.os.RemoteException;
8238  }
8239
8240  public class HwBlob {
8241    ctor public HwBlob(int);
8242    method public final void copyToBoolArray(long, boolean[], int);
8243    method public final void copyToDoubleArray(long, double[], int);
8244    method public final void copyToFloatArray(long, float[], int);
8245    method public final void copyToInt16Array(long, short[], int);
8246    method public final void copyToInt32Array(long, int[], int);
8247    method public final void copyToInt64Array(long, long[], int);
8248    method public final void copyToInt8Array(long, byte[], int);
8249    method public final boolean getBool(long);
8250    method public final double getDouble(long);
8251    method public final long getFieldHandle(long);
8252    method public final float getFloat(long);
8253    method public final short getInt16(long);
8254    method public final int getInt32(long);
8255    method public final long getInt64(long);
8256    method public final byte getInt8(long);
8257    method public final String getString(long);
8258    method public final long handle();
8259    method public final void putBlob(long, android.os.HwBlob);
8260    method public final void putBool(long, boolean);
8261    method public final void putBoolArray(long, boolean[]);
8262    method public final void putDouble(long, double);
8263    method public final void putDoubleArray(long, double[]);
8264    method public final void putFloat(long, float);
8265    method public final void putFloatArray(long, float[]);
8266    method public final void putHidlMemory(long, @NonNull android.os.HidlMemory);
8267    method public final void putInt16(long, short);
8268    method public final void putInt16Array(long, short[]);
8269    method public final void putInt32(long, int);
8270    method public final void putInt32Array(long, int[]);
8271    method public final void putInt64(long, long);
8272    method public final void putInt64Array(long, long[]);
8273    method public final void putInt8(long, byte);
8274    method public final void putInt8Array(long, byte[]);
8275    method public final void putNativeHandle(long, @Nullable android.os.NativeHandle);
8276    method public final void putString(long, String);
8277    method public static Boolean[] wrapArray(@NonNull boolean[]);
8278    method public static Long[] wrapArray(@NonNull long[]);
8279    method public static Byte[] wrapArray(@NonNull byte[]);
8280    method public static Short[] wrapArray(@NonNull short[]);
8281    method public static Integer[] wrapArray(@NonNull int[]);
8282    method public static Float[] wrapArray(@NonNull float[]);
8283    method public static Double[] wrapArray(@NonNull double[]);
8284  }
8285
8286  public class HwParcel {
8287    ctor public HwParcel();
8288    method public final void enforceInterface(String);
8289    method public final boolean readBool();
8290    method public final java.util.ArrayList<java.lang.Boolean> readBoolVector();
8291    method public final android.os.HwBlob readBuffer(long);
8292    method public final double readDouble();
8293    method public final java.util.ArrayList<java.lang.Double> readDoubleVector();
8294    method public final android.os.HwBlob readEmbeddedBuffer(long, long, long, boolean);
8295    method @NonNull @Nullable public final android.os.HidlMemory readEmbeddedHidlMemory(long, long, long);
8296    method @Nullable public final android.os.NativeHandle readEmbeddedNativeHandle(long, long);
8297    method public final float readFloat();
8298    method public final java.util.ArrayList<java.lang.Float> readFloatVector();
8299    method @NonNull public final android.os.HidlMemory readHidlMemory();
8300    method public final short readInt16();
8301    method public final java.util.ArrayList<java.lang.Short> readInt16Vector();
8302    method public final int readInt32();
8303    method public final java.util.ArrayList<java.lang.Integer> readInt32Vector();
8304    method public final long readInt64();
8305    method public final java.util.ArrayList<java.lang.Long> readInt64Vector();
8306    method public final byte readInt8();
8307    method public final java.util.ArrayList<java.lang.Byte> readInt8Vector();
8308    method @Nullable public final android.os.NativeHandle readNativeHandle();
8309    method @NonNull public final java.util.ArrayList<android.os.NativeHandle> readNativeHandleVector();
8310    method public final String readString();
8311    method public final java.util.ArrayList<java.lang.String> readStringVector();
8312    method public final android.os.IHwBinder readStrongBinder();
8313    method public final void release();
8314    method public final void releaseTemporaryStorage();
8315    method public final void send();
8316    method public final void verifySuccess();
8317    method public final void writeBool(boolean);
8318    method public final void writeBoolVector(java.util.ArrayList<java.lang.Boolean>);
8319    method public final void writeBuffer(android.os.HwBlob);
8320    method public final void writeDouble(double);
8321    method public final void writeDoubleVector(java.util.ArrayList<java.lang.Double>);
8322    method public final void writeFloat(float);
8323    method public final void writeFloatVector(java.util.ArrayList<java.lang.Float>);
8324    method public final void writeHidlMemory(@NonNull android.os.HidlMemory);
8325    method public final void writeInt16(short);
8326    method public final void writeInt16Vector(java.util.ArrayList<java.lang.Short>);
8327    method public final void writeInt32(int);
8328    method public final void writeInt32Vector(java.util.ArrayList<java.lang.Integer>);
8329    method public final void writeInt64(long);
8330    method public final void writeInt64Vector(java.util.ArrayList<java.lang.Long>);
8331    method public final void writeInt8(byte);
8332    method public final void writeInt8Vector(java.util.ArrayList<java.lang.Byte>);
8333    method public final void writeInterfaceToken(String);
8334    method public final void writeNativeHandle(@Nullable android.os.NativeHandle);
8335    method public final void writeNativeHandleVector(@NonNull java.util.ArrayList<android.os.NativeHandle>);
8336    method public final void writeStatus(int);
8337    method public final void writeString(String);
8338    method public final void writeStringVector(java.util.ArrayList<java.lang.String>);
8339    method public final void writeStrongBinder(android.os.IHwBinder);
8340    field public static final int STATUS_SUCCESS = 0; // 0x0
8341  }
8342
8343  public interface IHwBinder {
8344    method public boolean linkToDeath(android.os.IHwBinder.DeathRecipient, long);
8345    method public android.os.IHwInterface queryLocalInterface(String);
8346    method public void transact(int, android.os.HwParcel, android.os.HwParcel, int) throws android.os.RemoteException;
8347    method public boolean unlinkToDeath(android.os.IHwBinder.DeathRecipient);
8348  }
8349
8350  public static interface IHwBinder.DeathRecipient {
8351    method public void serviceDied(long);
8352  }
8353
8354  public interface IHwInterface {
8355    method public android.os.IHwBinder asBinder();
8356  }
8357
8358  public class IncidentManager {
8359    method @RequiresPermission(android.Manifest.permission.APPROVE_INCIDENT_REPORTS) public void approveReport(android.net.Uri);
8360    method @RequiresPermission("android.permission.REQUEST_INCIDENT_REPORT_APPROVAL") public void cancelAuthorization(android.os.IncidentManager.AuthListener);
8361    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void deleteIncidentReports(android.net.Uri);
8362    method @RequiresPermission(android.Manifest.permission.APPROVE_INCIDENT_REPORTS) public void denyReport(android.net.Uri);
8363    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public android.os.IncidentManager.IncidentReport getIncidentReport(android.net.Uri);
8364    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public java.util.List<android.net.Uri> getIncidentReportList(String);
8365    method @RequiresPermission(android.Manifest.permission.APPROVE_INCIDENT_REPORTS) public java.util.List<android.os.IncidentManager.PendingReport> getPendingReports();
8366    method public void registerSection(int, @NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.os.IncidentManager.DumpCallback);
8367    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void reportIncident(android.os.IncidentReportArgs);
8368    method @RequiresPermission("android.permission.REQUEST_INCIDENT_REPORT_APPROVAL") public void requestAuthorization(int, String, int, android.os.IncidentManager.AuthListener);
8369    method public void unregisterSection(int);
8370    field public static final int FLAG_CONFIRMATION_DIALOG = 1; // 0x1
8371    field public static final int PRIVACY_POLICY_AUTO = 200; // 0xc8
8372    field public static final int PRIVACY_POLICY_EXPLICIT = 100; // 0x64
8373    field public static final int PRIVACY_POLICY_LOCAL = 0; // 0x0
8374  }
8375
8376  public static class IncidentManager.AuthListener {
8377    ctor public IncidentManager.AuthListener();
8378    method public void onReportApproved();
8379    method public void onReportDenied();
8380  }
8381
8382  public static class IncidentManager.DumpCallback {
8383    ctor public IncidentManager.DumpCallback();
8384    method public void onDumpSection(int, @NonNull java.io.OutputStream);
8385  }
8386
8387  public static class IncidentManager.IncidentReport implements java.io.Closeable android.os.Parcelable {
8388    ctor public IncidentManager.IncidentReport(android.os.Parcel);
8389    method public void close();
8390    method public int describeContents();
8391    method public java.io.InputStream getInputStream() throws java.io.IOException;
8392    method public long getPrivacyPolicy();
8393    method public long getTimestamp();
8394    method public void writeToParcel(android.os.Parcel, int);
8395    field @NonNull public static final android.os.Parcelable.Creator<android.os.IncidentManager.IncidentReport> CREATOR;
8396  }
8397
8398  public static class IncidentManager.PendingReport {
8399    ctor public IncidentManager.PendingReport(@NonNull android.net.Uri);
8400    method public int getFlags();
8401    method @NonNull public String getRequestingPackage();
8402    method public long getTimestamp();
8403    method @NonNull public android.net.Uri getUri();
8404  }
8405
8406  public final class IncidentReportArgs implements android.os.Parcelable {
8407    ctor public IncidentReportArgs();
8408    ctor public IncidentReportArgs(android.os.Parcel);
8409    method public void addHeader(byte[]);
8410    method public void addSection(int);
8411    method public boolean containsSection(int);
8412    method public int describeContents();
8413    method public boolean isAll();
8414    method public void readFromParcel(android.os.Parcel);
8415    method public int sectionCount();
8416    method public void setAll(boolean);
8417    method public void setPrivacyPolicy(int);
8418    method public void writeToParcel(android.os.Parcel, int);
8419    field @NonNull public static final android.os.Parcelable.Creator<android.os.IncidentReportArgs> CREATOR;
8420  }
8421
8422  public final class NativeHandle implements java.io.Closeable {
8423    ctor public NativeHandle();
8424    ctor public NativeHandle(@NonNull java.io.FileDescriptor, boolean);
8425    ctor public NativeHandle(@NonNull java.io.FileDescriptor[], @NonNull int[], boolean);
8426    method public void close() throws java.io.IOException;
8427    method @NonNull public android.os.NativeHandle dup() throws java.io.IOException;
8428    method @NonNull public java.io.FileDescriptor getFileDescriptor();
8429    method @NonNull public java.io.FileDescriptor[] getFileDescriptors();
8430    method @NonNull public int[] getInts();
8431    method public boolean hasSingleFileDescriptor();
8432  }
8433
8434  public interface Parcelable {
8435    field public static final int PARCELABLE_STABILITY_LOCAL = 0; // 0x0
8436    field public static final int PARCELABLE_STABILITY_VINTF = 1; // 0x1
8437  }
8438
8439  public final class ParcelableHolder implements android.os.Parcelable {
8440    ctor public ParcelableHolder(int);
8441    method public int describeContents();
8442    method @Nullable public <T extends android.os.Parcelable> T getParcelable(@NonNull Class<T>);
8443    method public int getStability();
8444    method public void readFromParcel(@NonNull android.os.Parcel);
8445    method public void setParcelable(@Nullable android.os.Parcelable);
8446    method public void writeToParcel(@NonNull android.os.Parcel, int);
8447    field @NonNull public static final android.os.Parcelable.Creator<android.os.ParcelableHolder> CREATOR;
8448  }
8449
8450  public class PowerExemptionManager {
8451    method @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public void addToTemporaryAllowList(@NonNull String, int, @Nullable String, long);
8452    method @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public long addToTemporaryAllowListForEvent(@NonNull String, int, @Nullable String, int);
8453    field public static final int EVENT_MMS = 2; // 0x2
8454    field public static final int EVENT_SMS = 1; // 0x1
8455    field public static final int EVENT_UNSPECIFIED = 0; // 0x0
8456    field public static final int REASON_ACCOUNT_TRANSFER = 104; // 0x68
8457    field public static final int REASON_ACTIVITY_RECOGNITION = 103; // 0x67
8458    field public static final int REASON_GEOFENCING = 100; // 0x64
8459    field public static final int REASON_LOCATION_PROVIDER = 312; // 0x138
8460    field public static final int REASON_OTHER = 1; // 0x1
8461    field public static final int REASON_PUSH_MESSAGING = 101; // 0x65
8462    field public static final int REASON_PUSH_MESSAGING_OVER_QUOTA = 102; // 0x66
8463    field public static final int REASON_UNKNOWN = 0; // 0x0
8464    field public static final int TEMPORARY_ALLOW_LIST_TYPE_FOREGROUND_SERVICE_ALLOWED = 0; // 0x0
8465    field public static final int TEMPORARY_ALLOW_LIST_TYPE_FOREGROUND_SERVICE_NOT_ALLOWED = 1; // 0x1
8466    field public static final int TEMPORARY_ALLOW_LIST_TYPE_NONE = -1; // 0xffffffff
8467  }
8468
8469  public final class PowerManager {
8470    method @RequiresPermission(allOf={android.Manifest.permission.READ_DREAM_STATE, android.Manifest.permission.WRITE_DREAM_STATE}) public void dream(long);
8471    method @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public boolean forceSuspend();
8472    method @NonNull public android.os.BatterySaverPolicyConfig getFullPowerSavePolicy();
8473    method public int getPowerSaveModeTrigger();
8474    method @RequiresPermission(android.Manifest.permission.READ_DREAM_STATE) public boolean isAmbientDisplayAvailable();
8475    method @RequiresPermission(android.Manifest.permission.READ_DREAM_STATE) public boolean isAmbientDisplaySuppressed();
8476    method @RequiresPermission(android.Manifest.permission.READ_DREAM_STATE) public boolean isAmbientDisplaySuppressedForToken(@NonNull String);
8477    method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.POWER_SAVER}) public boolean setAdaptivePowerSaveEnabled(boolean);
8478    method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.POWER_SAVER}) public boolean setAdaptivePowerSavePolicy(@NonNull android.os.BatterySaverPolicyConfig);
8479    method @RequiresPermission(anyOf={android.Manifest.permission.BATTERY_PREDICTION, android.Manifest.permission.DEVICE_POWER}) public void setBatteryDischargePrediction(@NonNull java.time.Duration, boolean);
8480    method @RequiresPermission(android.Manifest.permission.POWER_SAVER) public boolean setDynamicPowerSaveHint(boolean, int);
8481    method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.POWER_SAVER}) public boolean setFullPowerSavePolicy(@NonNull android.os.BatterySaverPolicyConfig);
8482    method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.POWER_SAVER}) public boolean setPowerSaveModeEnabled(boolean);
8483    method @RequiresPermission(android.Manifest.permission.WRITE_DREAM_STATE) public void suppressAmbientDisplay(@NonNull String, boolean);
8484    method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.USER_ACTIVITY}) public void userActivity(long, int, int);
8485    field public static final int POWER_SAVE_MODE_TRIGGER_DYNAMIC = 1; // 0x1
8486    field public static final int POWER_SAVE_MODE_TRIGGER_PERCENTAGE = 0; // 0x0
8487    field public static final String REBOOT_USERSPACE = "userspace";
8488    field public static final int SOUND_TRIGGER_MODE_ALL_DISABLED = 2; // 0x2
8489    field public static final int SOUND_TRIGGER_MODE_ALL_ENABLED = 0; // 0x0
8490    field public static final int SOUND_TRIGGER_MODE_CRITICAL_ONLY = 1; // 0x1
8491    field public static final int USER_ACTIVITY_EVENT_ACCESSIBILITY = 3; // 0x3
8492    field public static final int USER_ACTIVITY_EVENT_BUTTON = 1; // 0x1
8493    field public static final int USER_ACTIVITY_EVENT_OTHER = 0; // 0x0
8494    field public static final int USER_ACTIVITY_EVENT_TOUCH = 2; // 0x2
8495    field public static final int USER_ACTIVITY_FLAG_INDIRECT = 2; // 0x2
8496    field public static final int USER_ACTIVITY_FLAG_NO_CHANGE_LIGHTS = 1; // 0x1
8497  }
8498
8499  @Deprecated public class PowerWhitelistManager {
8500    method @Deprecated @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public void addToWhitelist(@NonNull String);
8501    method @Deprecated @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public void addToWhitelist(@NonNull java.util.List<java.lang.String>);
8502    method @Deprecated @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public void removeFromWhitelist(@NonNull String);
8503    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public void whitelistAppTemporarily(@NonNull String, long, int, @Nullable String);
8504    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public void whitelistAppTemporarily(@NonNull String, long);
8505    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public long whitelistAppTemporarilyForEvent(@NonNull String, int, @Nullable String);
8506    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public long whitelistAppTemporarilyForEvent(@NonNull String, int, int, @Nullable String);
8507    field @Deprecated public static final int EVENT_MMS = 2; // 0x2
8508    field @Deprecated public static final int EVENT_SMS = 1; // 0x1
8509    field @Deprecated public static final int EVENT_UNSPECIFIED = 0; // 0x0
8510    field @Deprecated public static final int REASON_ACTIVITY_RECOGNITION = 103; // 0x67
8511    field @Deprecated public static final int REASON_GEOFENCING = 100; // 0x64
8512    field @Deprecated public static final int REASON_LOCATION_PROVIDER = 312; // 0x138
8513    field @Deprecated public static final int REASON_OTHER = 1; // 0x1
8514    field @Deprecated public static final int REASON_PUSH_MESSAGING = 101; // 0x65
8515    field @Deprecated public static final int REASON_PUSH_MESSAGING_OVER_QUOTA = 102; // 0x66
8516    field @Deprecated public static final int REASON_UNKNOWN = 0; // 0x0
8517    field @Deprecated public static final int TEMPORARY_ALLOWLIST_TYPE_FOREGROUND_SERVICE_ALLOWED = 0; // 0x0
8518    field @Deprecated public static final int TEMPORARY_ALLOWLIST_TYPE_FOREGROUND_SERVICE_NOT_ALLOWED = 1; // 0x1
8519  }
8520
8521  public class RecoverySystem {
8522    method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void cancelScheduledUpdate(android.content.Context) throws java.io.IOException;
8523    method @RequiresPermission(anyOf={android.Manifest.permission.RECOVERY, android.Manifest.permission.REBOOT}) public static void clearPrepareForUnattendedUpdate(@NonNull android.content.Context) throws java.io.IOException;
8524    method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void installPackage(android.content.Context, java.io.File, boolean) throws java.io.IOException;
8525    method @RequiresPermission(anyOf={android.Manifest.permission.RECOVERY, android.Manifest.permission.REBOOT}) public static boolean isPreparedForUnattendedUpdate(@NonNull android.content.Context) throws java.io.IOException;
8526    method @RequiresPermission(anyOf={android.Manifest.permission.RECOVERY, android.Manifest.permission.REBOOT}) public static void prepareForUnattendedUpdate(@NonNull android.content.Context, @NonNull String, @Nullable android.content.IntentSender) throws java.io.IOException;
8527    method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void processPackage(android.content.Context, java.io.File, android.os.RecoverySystem.ProgressListener, android.os.Handler) throws java.io.IOException;
8528    method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void processPackage(android.content.Context, java.io.File, android.os.RecoverySystem.ProgressListener) throws java.io.IOException;
8529    method @Deprecated @RequiresPermission(android.Manifest.permission.RECOVERY) public static void rebootAndApply(@NonNull android.content.Context, @NonNull String, @NonNull String) throws java.io.IOException;
8530    method @RequiresPermission(anyOf={android.Manifest.permission.RECOVERY, android.Manifest.permission.REBOOT}) public static int rebootAndApply(@NonNull android.content.Context, @NonNull String, boolean) throws java.io.IOException;
8531    method @RequiresPermission(allOf={android.Manifest.permission.RECOVERY, android.Manifest.permission.REBOOT}) public static void rebootWipeAb(android.content.Context, java.io.File, String) throws java.io.IOException;
8532    method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void scheduleUpdateOnBoot(android.content.Context, java.io.File) throws java.io.IOException;
8533    method public static boolean verifyPackageCompatibility(java.io.File) throws java.io.IOException;
8534    field public static final int RESUME_ON_REBOOT_REBOOT_ERROR_INVALID_PACKAGE_NAME = 2000; // 0x7d0
8535    field public static final int RESUME_ON_REBOOT_REBOOT_ERROR_LSKF_NOT_CAPTURED = 3000; // 0xbb8
8536    field public static final int RESUME_ON_REBOOT_REBOOT_ERROR_PROVIDER_PREPARATION_FAILURE = 5000; // 0x1388
8537    field public static final int RESUME_ON_REBOOT_REBOOT_ERROR_SLOT_MISMATCH = 4000; // 0xfa0
8538    field public static final int RESUME_ON_REBOOT_REBOOT_ERROR_UNSPECIFIED = 1000; // 0x3e8
8539  }
8540
8541  public final class RemoteCallback implements android.os.Parcelable {
8542    ctor public RemoteCallback(android.os.RemoteCallback.OnResultListener);
8543    ctor public RemoteCallback(@NonNull android.os.RemoteCallback.OnResultListener, @Nullable android.os.Handler);
8544    method public int describeContents();
8545    method public void sendResult(@Nullable android.os.Bundle);
8546    method public void writeToParcel(android.os.Parcel, int);
8547    field @NonNull public static final android.os.Parcelable.Creator<android.os.RemoteCallback> CREATOR;
8548  }
8549
8550  public static interface RemoteCallback.OnResultListener {
8551    method public void onResult(@Nullable android.os.Bundle);
8552  }
8553
8554  public class ServiceSpecificException extends java.lang.RuntimeException {
8555    ctor public ServiceSpecificException(int, @Nullable String);
8556    ctor public ServiceSpecificException(int);
8557    field public final int errorCode;
8558  }
8559
8560  public class SystemConfigManager {
8561    method @NonNull @RequiresPermission(android.Manifest.permission.READ_CARRIER_APP_INFO) public java.util.Set<java.lang.String> getDisabledUntilUsedPreinstalledCarrierApps();
8562    method @NonNull @RequiresPermission(android.Manifest.permission.READ_CARRIER_APP_INFO) public java.util.Map<java.lang.String,java.util.List<java.lang.String>> getDisabledUntilUsedPreinstalledCarrierAssociatedApps();
8563    method @NonNull @RequiresPermission(android.Manifest.permission.GET_RUNTIME_PERMISSIONS) public int[] getSystemPermissionUids(@NonNull String);
8564  }
8565
8566  public class SystemProperties {
8567    method @NonNull public static String get(@NonNull String);
8568    method @NonNull public static String get(@NonNull String, @Nullable String);
8569    method public static boolean getBoolean(@NonNull String, boolean);
8570    method public static int getInt(@NonNull String, int);
8571    method public static long getLong(@NonNull String, long);
8572  }
8573
8574  public class SystemUpdateManager {
8575    method @RequiresPermission(anyOf={android.Manifest.permission.READ_SYSTEM_UPDATE_INFO, android.Manifest.permission.RECOVERY}) public android.os.Bundle retrieveSystemUpdateInfo();
8576    method @RequiresPermission(android.Manifest.permission.RECOVERY) public void updateSystemUpdateInfo(android.os.PersistableBundle);
8577    field public static final String KEY_IS_SECURITY_UPDATE = "is_security_update";
8578    field public static final String KEY_STATUS = "status";
8579    field public static final String KEY_TARGET_BUILD_FINGERPRINT = "target_build_fingerprint";
8580    field public static final String KEY_TARGET_SECURITY_PATCH_LEVEL = "target_security_patch_level";
8581    field public static final String KEY_TITLE = "title";
8582    field public static final int STATUS_IDLE = 1; // 0x1
8583    field public static final int STATUS_IN_PROGRESS = 3; // 0x3
8584    field public static final int STATUS_UNKNOWN = 0; // 0x0
8585    field public static final int STATUS_WAITING_DOWNLOAD = 2; // 0x2
8586    field public static final int STATUS_WAITING_INSTALL = 4; // 0x4
8587    field public static final int STATUS_WAITING_REBOOT = 5; // 0x5
8588  }
8589
8590  public class UpdateEngine {
8591    ctor public UpdateEngine();
8592    method @NonNull @WorkerThread public android.os.UpdateEngine.AllocateSpaceResult allocateSpace(@NonNull String, @NonNull String[]);
8593    method public void applyPayload(String, long, long, String[]);
8594    method public void applyPayload(@NonNull android.content.res.AssetFileDescriptor, @NonNull String[]);
8595    method public boolean bind(android.os.UpdateEngineCallback, android.os.Handler);
8596    method public boolean bind(android.os.UpdateEngineCallback);
8597    method public void cancel();
8598    method @WorkerThread public int cleanupAppliedPayload();
8599    method public void resetStatus();
8600    method public void resume();
8601    method public void suspend();
8602    method public boolean unbind();
8603    method public boolean verifyPayloadMetadata(String);
8604  }
8605
8606  public static final class UpdateEngine.AllocateSpaceResult {
8607    method public int getErrorCode();
8608    method public long getFreeSpaceRequired();
8609  }
8610
8611  public static final class UpdateEngine.ErrorCodeConstants {
8612    ctor public UpdateEngine.ErrorCodeConstants();
8613    field public static final int DEVICE_CORRUPTED = 61; // 0x3d
8614    field public static final int DOWNLOAD_PAYLOAD_VERIFICATION_ERROR = 12; // 0xc
8615    field public static final int DOWNLOAD_TRANSFER_ERROR = 9; // 0x9
8616    field public static final int ERROR = 1; // 0x1
8617    field public static final int FILESYSTEM_COPIER_ERROR = 4; // 0x4
8618    field public static final int INSTALL_DEVICE_OPEN_ERROR = 7; // 0x7
8619    field public static final int KERNEL_DEVICE_OPEN_ERROR = 8; // 0x8
8620    field public static final int NOT_ENOUGH_SPACE = 60; // 0x3c
8621    field public static final int PAYLOAD_HASH_MISMATCH_ERROR = 10; // 0xa
8622    field public static final int PAYLOAD_MISMATCHED_TYPE_ERROR = 6; // 0x6
8623    field public static final int PAYLOAD_SIZE_MISMATCH_ERROR = 11; // 0xb
8624    field public static final int PAYLOAD_TIMESTAMP_ERROR = 51; // 0x33
8625    field public static final int POST_INSTALL_RUNNER_ERROR = 5; // 0x5
8626    field public static final int SUCCESS = 0; // 0x0
8627    field public static final int UPDATED_BUT_NOT_ACTIVE = 52; // 0x34
8628  }
8629
8630  public static final class UpdateEngine.UpdateStatusConstants {
8631    ctor public UpdateEngine.UpdateStatusConstants();
8632    field public static final int ATTEMPTING_ROLLBACK = 8; // 0x8
8633    field public static final int CHECKING_FOR_UPDATE = 1; // 0x1
8634    field public static final int DISABLED = 9; // 0x9
8635    field public static final int DOWNLOADING = 3; // 0x3
8636    field public static final int FINALIZING = 5; // 0x5
8637    field public static final int IDLE = 0; // 0x0
8638    field public static final int REPORTING_ERROR_EVENT = 7; // 0x7
8639    field public static final int UPDATED_NEED_REBOOT = 6; // 0x6
8640    field public static final int UPDATE_AVAILABLE = 2; // 0x2
8641    field public static final int VERIFYING = 4; // 0x4
8642  }
8643
8644  public abstract class UpdateEngineCallback {
8645    ctor public UpdateEngineCallback();
8646    method public abstract void onPayloadApplicationComplete(int);
8647    method public abstract void onStatusUpdate(int, float);
8648  }
8649
8650  public final class UserHandle implements android.os.Parcelable {
8651    method @NonNull public static String formatUid(int);
8652    method public static int getAppId(int);
8653    method public int getIdentifier();
8654    method public int getUid(int);
8655    method @Deprecated public boolean isOwner();
8656    method public boolean isSystem();
8657    method public static int myUserId();
8658    method public static android.os.UserHandle of(int);
8659    field @NonNull public static final android.os.UserHandle ALL;
8660    field @NonNull public static final android.os.UserHandle CURRENT;
8661    field @NonNull public static final android.os.UserHandle SYSTEM;
8662  }
8663
8664  public class UserManager {
8665    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean canHaveRestrictedProfile();
8666    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void clearSeedAccountData();
8667    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public android.os.UserHandle createProfile(@NonNull String, @NonNull String, @NonNull java.util.Set<java.lang.String>) throws android.os.UserManager.UserOperationException;
8668    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}, conditional=true) public java.util.List<android.os.UserHandle> getAllProfiles();
8669    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}, conditional=true) public java.util.List<android.os.UserHandle> getEnabledProfiles();
8670    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}) public android.os.UserHandle getProfileParent(@NonNull android.os.UserHandle);
8671    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public android.os.UserHandle getRestrictedProfileParent();
8672    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public String getSeedAccountName();
8673    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public android.os.PersistableBundle getSeedAccountOptions();
8674    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public String getSeedAccountType();
8675    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public long[] getSerialNumbersOfUsers(boolean);
8676    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public java.util.List<android.os.UserHandle> getUserHandles(boolean);
8677    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.GET_ACCOUNTS_PRIVILEGED}) public android.graphics.Bitmap getUserIcon();
8678    method @Deprecated @android.os.UserManager.UserRestrictionSource @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public int getUserRestrictionSource(String, android.os.UserHandle);
8679    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public java.util.List<android.os.UserManager.EnforcingUser> getUserRestrictionSources(String, android.os.UserHandle);
8680    method @RequiresPermission(allOf={android.Manifest.permission.READ_PHONE_STATE, android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional=true) public int getUserSwitchability();
8681    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean hasRestrictedProfiles();
8682    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional=true) public boolean hasUserRestrictionForUser(@NonNull String, @NonNull android.os.UserHandle);
8683    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isAdminUser();
8684    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional=true) public boolean isCloneProfile();
8685    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean isGuestUser();
8686    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional=true) public boolean isManagedProfile(int);
8687    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional=true) public boolean isMediaSharedWithParent();
8688    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean isPrimaryUser();
8689    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional=true) public boolean isProfile();
8690    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isRestrictedProfile();
8691    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean isRestrictedProfile(@NonNull android.os.UserHandle);
8692    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isSameProfileGroup(@NonNull android.os.UserHandle, @NonNull android.os.UserHandle);
8693    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.GET_ACCOUNTS_PRIVILEGED}) public boolean isUserNameSet();
8694    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isUserOfType(@NonNull String);
8695    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional=true) public boolean isUserUnlockingOrUnlocked(@NonNull android.os.UserHandle);
8696    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean removeUser(@NonNull android.os.UserHandle);
8697    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void setUserIcon(@NonNull android.graphics.Bitmap) throws android.os.UserManager.UserOperationException;
8698    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void setUserName(@Nullable String);
8699    field public static final String ACTION_USER_RESTRICTIONS_CHANGED = "android.os.action.USER_RESTRICTIONS_CHANGED";
8700    field @Deprecated public static final String DISALLOW_OEM_UNLOCK = "no_oem_unlock";
8701    field public static final String DISALLOW_RUN_IN_BACKGROUND = "no_run_in_background";
8702    field public static final int RESTRICTION_NOT_SET = 0; // 0x0
8703    field public static final int RESTRICTION_SOURCE_DEVICE_OWNER = 2; // 0x2
8704    field public static final int RESTRICTION_SOURCE_PROFILE_OWNER = 4; // 0x4
8705    field public static final int RESTRICTION_SOURCE_SYSTEM = 1; // 0x1
8706    field public static final int SWITCHABILITY_STATUS_OK = 0; // 0x0
8707    field public static final int SWITCHABILITY_STATUS_SYSTEM_USER_LOCKED = 4; // 0x4
8708    field public static final int SWITCHABILITY_STATUS_USER_IN_CALL = 1; // 0x1
8709    field public static final int SWITCHABILITY_STATUS_USER_SWITCH_DISALLOWED = 2; // 0x2
8710    field public static final String USER_TYPE_FULL_SECONDARY = "android.os.usertype.full.SECONDARY";
8711    field public static final String USER_TYPE_FULL_SYSTEM = "android.os.usertype.full.SYSTEM";
8712    field public static final String USER_TYPE_PROFILE_CLONE = "android.os.usertype.profile.CLONE";
8713    field public static final String USER_TYPE_PROFILE_MANAGED = "android.os.usertype.profile.MANAGED";
8714    field public static final String USER_TYPE_SYSTEM_HEADLESS = "android.os.usertype.system.HEADLESS";
8715  }
8716
8717  public static final class UserManager.EnforcingUser implements android.os.Parcelable {
8718    method public int describeContents();
8719    method public android.os.UserHandle getUserHandle();
8720    method @android.os.UserManager.UserRestrictionSource public int getUserRestrictionSource();
8721    method public void writeToParcel(android.os.Parcel, int);
8722    field @NonNull public static final android.os.Parcelable.Creator<android.os.UserManager.EnforcingUser> CREATOR;
8723  }
8724
8725  @IntDef(flag=true, prefix={"RESTRICTION_"}, value={android.os.UserManager.RESTRICTION_NOT_SET, android.os.UserManager.RESTRICTION_SOURCE_SYSTEM, android.os.UserManager.RESTRICTION_SOURCE_DEVICE_OWNER, android.os.UserManager.RESTRICTION_SOURCE_PROFILE_OWNER}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface UserManager.UserRestrictionSource {
8726  }
8727
8728  public abstract class Vibrator {
8729    method @RequiresPermission(android.Manifest.permission.ACCESS_VIBRATOR_STATE) public void addVibratorStateListener(@NonNull android.os.Vibrator.OnVibratorStateChangedListener);
8730    method @RequiresPermission(android.Manifest.permission.ACCESS_VIBRATOR_STATE) public void addVibratorStateListener(@NonNull java.util.concurrent.Executor, @NonNull android.os.Vibrator.OnVibratorStateChangedListener);
8731    method @RequiresPermission(android.Manifest.permission.ACCESS_VIBRATOR_STATE) public boolean isVibrating();
8732    method @RequiresPermission(android.Manifest.permission.ACCESS_VIBRATOR_STATE) public void removeVibratorStateListener(@NonNull android.os.Vibrator.OnVibratorStateChangedListener);
8733  }
8734
8735  public static interface Vibrator.OnVibratorStateChangedListener {
8736    method public void onVibratorStateChanged(boolean);
8737  }
8738
8739  public class WorkSource implements android.os.Parcelable {
8740    ctor public WorkSource(int);
8741    ctor public WorkSource(int, @NonNull String);
8742    method public android.os.WorkSource.WorkChain createWorkChain();
8743    method @Nullable public String getPackageName(int);
8744    method public int getUid(int);
8745    method @Nullable public java.util.List<android.os.WorkSource.WorkChain> getWorkChains();
8746    method public boolean isEmpty();
8747    method public int size();
8748    method @NonNull public android.os.WorkSource withoutNames();
8749  }
8750
8751  public static final class WorkSource.WorkChain implements android.os.Parcelable {
8752    ctor public WorkSource.WorkChain();
8753    method public android.os.WorkSource.WorkChain addNode(int, @Nullable String);
8754    method public int describeContents();
8755    method public String getAttributionTag();
8756    method public int getAttributionUid();
8757    method public void writeToParcel(android.os.Parcel, int);
8758    field @NonNull public static final android.os.Parcelable.Creator<android.os.WorkSource.WorkChain> CREATOR;
8759  }
8760
8761}
8762
8763package android.os.connectivity {
8764
8765  public final class CellularBatteryStats implements android.os.Parcelable {
8766    method public int describeContents();
8767    method public long getEnergyConsumedMaMillis();
8768    method public long getIdleTimeMillis();
8769    method public long getKernelActiveTimeMillis();
8770    method public long getLoggingDurationMillis();
8771    method public long getMonitoredRailChargeConsumedMaMillis();
8772    method public long getNumBytesRx();
8773    method public long getNumBytesTx();
8774    method public long getNumPacketsRx();
8775    method public long getNumPacketsTx();
8776    method public long getRxTimeMillis();
8777    method public long getSleepTimeMillis();
8778    method @NonNull public long getTimeInRatMicros(int);
8779    method @NonNull public long getTimeInRxSignalStrengthLevelMicros(@IntRange(from=android.telephony.CellSignalStrength.SIGNAL_STRENGTH_NONE_OR_UNKNOWN, to=android.telephony.CellSignalStrength.SIGNAL_STRENGTH_GREAT) int);
8780    method public void writeToParcel(@NonNull android.os.Parcel, int);
8781    field @NonNull public static final android.os.Parcelable.Creator<android.os.connectivity.CellularBatteryStats> CREATOR;
8782  }
8783
8784  public final class WifiActivityEnergyInfo implements android.os.Parcelable {
8785    ctor public WifiActivityEnergyInfo(long, int, @IntRange(from=0) long, @IntRange(from=0) long, @IntRange(from=0) long, @IntRange(from=0) long);
8786    method public int describeContents();
8787    method @IntRange(from=0) public long getControllerEnergyUsedMicroJoules();
8788    method @IntRange(from=0) public long getControllerIdleDurationMillis();
8789    method @IntRange(from=0) public long getControllerRxDurationMillis();
8790    method @IntRange(from=0) public long getControllerScanDurationMillis();
8791    method @IntRange(from=0) public long getControllerTxDurationMillis();
8792    method public int getStackState();
8793    method public long getTimeSinceBootMillis();
8794    method public void writeToParcel(@NonNull android.os.Parcel, int);
8795    field @NonNull public static final android.os.Parcelable.Creator<android.os.connectivity.WifiActivityEnergyInfo> CREATOR;
8796    field public static final int STACK_STATE_INVALID = 0; // 0x0
8797    field public static final int STACK_STATE_STATE_ACTIVE = 1; // 0x1
8798    field public static final int STACK_STATE_STATE_IDLE = 3; // 0x3
8799    field public static final int STACK_STATE_STATE_SCANNING = 2; // 0x2
8800  }
8801
8802  public final class WifiBatteryStats implements android.os.Parcelable {
8803    method public int describeContents();
8804    method public long getAppScanRequestCount();
8805    method public long getEnergyConsumedMaMillis();
8806    method public long getIdleTimeMillis();
8807    method public long getKernelActiveTimeMillis();
8808    method public long getLoggingDurationMillis();
8809    method public long getMonitoredRailChargeConsumedMaMillis();
8810    method public long getNumBytesRx();
8811    method public long getNumBytesTx();
8812    method public long getNumPacketsRx();
8813    method public long getNumPacketsTx();
8814    method public long getRxTimeMillis();
8815    method public long getScanTimeMillis();
8816    method public long getSleepTimeMillis();
8817    method public long getTxTimeMillis();
8818    method public void writeToParcel(@NonNull android.os.Parcel, int);
8819    field @NonNull public static final android.os.Parcelable.Creator<android.os.connectivity.WifiBatteryStats> CREATOR;
8820  }
8821
8822}
8823
8824package android.os.image {
8825
8826  public class DynamicSystemClient {
8827    ctor public DynamicSystemClient(@NonNull android.content.Context);
8828    method @RequiresPermission(android.Manifest.permission.INSTALL_DYNAMIC_SYSTEM) public void bind();
8829    method public void setOnStatusChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.os.image.DynamicSystemClient.OnStatusChangedListener);
8830    method public void setOnStatusChangedListener(@NonNull android.os.image.DynamicSystemClient.OnStatusChangedListener);
8831    method @RequiresPermission(android.Manifest.permission.INSTALL_DYNAMIC_SYSTEM) public void start(@NonNull android.net.Uri, long);
8832    method @RequiresPermission(android.Manifest.permission.INSTALL_DYNAMIC_SYSTEM) public void start(@NonNull android.net.Uri, long, long);
8833    method @RequiresPermission(android.Manifest.permission.INSTALL_DYNAMIC_SYSTEM) public void unbind();
8834    field public static final int CAUSE_ERROR_EXCEPTION = 6; // 0x6
8835    field public static final int CAUSE_ERROR_INVALID_URL = 4; // 0x4
8836    field public static final int CAUSE_ERROR_IO = 3; // 0x3
8837    field public static final int CAUSE_ERROR_IPC = 5; // 0x5
8838    field public static final int CAUSE_INSTALL_CANCELLED = 2; // 0x2
8839    field public static final int CAUSE_INSTALL_COMPLETED = 1; // 0x1
8840    field public static final int CAUSE_NOT_SPECIFIED = 0; // 0x0
8841    field public static final int STATUS_IN_PROGRESS = 2; // 0x2
8842    field public static final int STATUS_IN_USE = 4; // 0x4
8843    field public static final int STATUS_NOT_STARTED = 1; // 0x1
8844    field public static final int STATUS_READY = 3; // 0x3
8845    field public static final int STATUS_UNKNOWN = 0; // 0x0
8846  }
8847
8848  public static interface DynamicSystemClient.OnStatusChangedListener {
8849    method public void onStatusChanged(int, int, long, @Nullable Throwable);
8850  }
8851
8852}
8853
8854package android.os.storage {
8855
8856  public class StorageManager {
8857    method @WorkerThread public void allocateBytes(@NonNull java.util.UUID, long, @RequiresPermission int) throws java.io.IOException;
8858    method @WorkerThread public void allocateBytes(java.io.FileDescriptor, long, @RequiresPermission int) throws java.io.IOException;
8859    method @WorkerThread public long getAllocatableBytes(@NonNull java.util.UUID, @RequiresPermission int) throws java.io.IOException;
8860    method @RequiresPermission(android.Manifest.permission.WRITE_MEDIA_STORAGE) public int getExternalStorageMountMode(int, @NonNull String);
8861    method public static boolean hasIsolatedStorage();
8862    method public void updateExternalStorageFileQuotaType(@NonNull java.io.File, int) throws java.io.IOException;
8863    field @RequiresPermission(android.Manifest.permission.ALLOCATE_AGGRESSIVE) public static final int FLAG_ALLOCATE_AGGRESSIVE = 1; // 0x1
8864    field public static final int MOUNT_MODE_EXTERNAL_ANDROID_WRITABLE = 4; // 0x4
8865    field public static final int MOUNT_MODE_EXTERNAL_DEFAULT = 1; // 0x1
8866    field public static final int MOUNT_MODE_EXTERNAL_INSTALLER = 2; // 0x2
8867    field public static final int MOUNT_MODE_EXTERNAL_NONE = 0; // 0x0
8868    field public static final int MOUNT_MODE_EXTERNAL_PASS_THROUGH = 3; // 0x3
8869    field public static final int QUOTA_TYPE_MEDIA_AUDIO = 2; // 0x2
8870    field public static final int QUOTA_TYPE_MEDIA_IMAGE = 1; // 0x1
8871    field public static final int QUOTA_TYPE_MEDIA_NONE = 0; // 0x0
8872    field public static final int QUOTA_TYPE_MEDIA_VIDEO = 3; // 0x3
8873  }
8874
8875  public final class StorageVolume implements android.os.Parcelable {
8876    method @NonNull public String getId();
8877  }
8878
8879}
8880
8881package android.permission {
8882
8883  public final class AdminPermissionControlParams implements android.os.Parcelable {
8884    method public boolean canAdminGrantSensorsPermissions();
8885    method public int describeContents();
8886    method public int getGrantState();
8887    method @NonNull public String getGranteePackageName();
8888    method @NonNull public String getPermission();
8889    method public void writeToParcel(@NonNull android.os.Parcel, int);
8890    field @NonNull public static final android.os.Parcelable.Creator<android.permission.AdminPermissionControlParams> CREATOR;
8891  }
8892
8893  public final class PermissionControllerManager {
8894    method @RequiresPermission(anyOf={android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS, android.Manifest.permission.RESTORE_RUNTIME_PERMISSIONS}) public void applyStagedRuntimePermissionBackup(@NonNull String, @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
8895    method @RequiresPermission(android.Manifest.permission.GET_RUNTIME_PERMISSIONS) public void getRuntimePermissionBackup(@NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<byte[]>);
8896    method @RequiresPermission(android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS) public void revokeRuntimePermissions(@NonNull java.util.Map<java.lang.String,java.util.List<java.lang.String>>, boolean, int, @NonNull java.util.concurrent.Executor, @NonNull android.permission.PermissionControllerManager.OnRevokeRuntimePermissionsCallback);
8897    method @RequiresPermission(anyOf={android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS, android.Manifest.permission.RESTORE_RUNTIME_PERMISSIONS}) public void stageAndApplyRuntimePermissionsBackup(@NonNull byte[], @NonNull android.os.UserHandle);
8898    field public static final int COUNT_ONLY_WHEN_GRANTED = 1; // 0x1
8899    field public static final int COUNT_WHEN_SYSTEM = 2; // 0x2
8900    field public static final int REASON_INSTALLER_POLICY_VIOLATION = 2; // 0x2
8901    field public static final int REASON_MALWARE = 1; // 0x1
8902  }
8903
8904  public abstract static class PermissionControllerManager.OnRevokeRuntimePermissionsCallback {
8905    ctor public PermissionControllerManager.OnRevokeRuntimePermissionsCallback();
8906    method public abstract void onRevokeRuntimePermissions(@NonNull java.util.Map<java.lang.String,java.util.List<java.lang.String>>);
8907  }
8908
8909  public abstract class PermissionControllerService extends android.app.Service {
8910    ctor public PermissionControllerService();
8911    method @NonNull @RequiresPermission("android.permission.MANAGE_COMPANION_DEVICES") public String getPrivilegesDescriptionStringForProfile(@NonNull String);
8912    method @BinderThread public void onApplyStagedRuntimePermissionBackup(@NonNull String, @NonNull android.os.UserHandle, @NonNull java.util.function.Consumer<java.lang.Boolean>);
8913    method @NonNull public final android.os.IBinder onBind(android.content.Intent);
8914    method @BinderThread public abstract void onCountPermissionApps(@NonNull java.util.List<java.lang.String>, int, @NonNull java.util.function.IntConsumer);
8915    method @BinderThread public abstract void onGetAppPermissions(@NonNull String, @NonNull java.util.function.Consumer<java.util.List<android.permission.RuntimePermissionPresentationInfo>>);
8916    method @BinderThread public void onGetGroupOfPlatformPermission(@NonNull String, @NonNull java.util.function.Consumer<java.lang.String>);
8917    method @BinderThread public abstract void onGetPermissionUsages(boolean, long, @NonNull java.util.function.Consumer<java.util.List<android.permission.RuntimePermissionUsageInfo>>);
8918    method @BinderThread public void onGetPlatformPermissionsForGroup(@NonNull String, @NonNull java.util.function.Consumer<java.util.List<java.lang.String>>);
8919    method @BinderThread public abstract void onGetRuntimePermissionsBackup(@NonNull android.os.UserHandle, @NonNull java.io.OutputStream, @NonNull Runnable);
8920    method @BinderThread public abstract void onGrantOrUpgradeDefaultRuntimePermissions(@NonNull Runnable);
8921    method @BinderThread public void onOneTimePermissionSessionTimeout(@NonNull String);
8922    method @Deprecated @BinderThread public void onRestoreDelayedRuntimePermissionsBackup(@NonNull String, @NonNull android.os.UserHandle, @NonNull java.util.function.Consumer<java.lang.Boolean>);
8923    method @Deprecated @BinderThread public void onRestoreRuntimePermissionsBackup(@NonNull android.os.UserHandle, @NonNull java.io.InputStream, @NonNull Runnable);
8924    method @BinderThread public abstract void onRevokeRuntimePermission(@NonNull String, @NonNull String, @NonNull Runnable);
8925    method @BinderThread public abstract void onRevokeRuntimePermissions(@NonNull java.util.Map<java.lang.String,java.util.List<java.lang.String>>, boolean, int, @NonNull String, @NonNull java.util.function.Consumer<java.util.Map<java.lang.String,java.util.List<java.lang.String>>>);
8926    method @Deprecated @BinderThread public abstract void onSetRuntimePermissionGrantStateByDeviceAdmin(@NonNull String, @NonNull String, @NonNull String, int, @NonNull java.util.function.Consumer<java.lang.Boolean>);
8927    method @BinderThread public void onSetRuntimePermissionGrantStateByDeviceAdmin(@NonNull String, @NonNull android.permission.AdminPermissionControlParams, @NonNull java.util.function.Consumer<java.lang.Boolean>);
8928    method @BinderThread public void onStageAndApplyRuntimePermissionsBackup(@NonNull android.os.UserHandle, @NonNull java.io.InputStream, @NonNull Runnable);
8929    method @BinderThread public void onUpdateUserSensitivePermissionFlags(int, @NonNull java.util.concurrent.Executor, @NonNull Runnable);
8930    method @BinderThread public void onUpdateUserSensitivePermissionFlags(int, @NonNull Runnable);
8931    field public static final String SERVICE_INTERFACE = "android.permission.PermissionControllerService";
8932  }
8933
8934  public final class PermissionManager {
8935    method public int checkDeviceIdentifierAccess(@Nullable String, @Nullable String, @Nullable String, int, int);
8936    method @NonNull @RequiresPermission(android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY) public java.util.Set<java.lang.String> getAutoRevokeExemptionGrantedPackages();
8937    method @NonNull @RequiresPermission(android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY) public java.util.Set<java.lang.String> getAutoRevokeExemptionRequestedPackages();
8938    method @IntRange(from=0) @RequiresPermission(anyOf={android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY, android.Manifest.permission.UPGRADE_RUNTIME_PERMISSIONS}) public int getRuntimePermissionsVersion();
8939    method @NonNull public java.util.List<android.permission.PermissionManager.SplitPermissionInfo> getSplitPermissions();
8940    method @RequiresPermission(anyOf={android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY, android.Manifest.permission.UPGRADE_RUNTIME_PERMISSIONS}) public void setRuntimePermissionsVersion(@IntRange(from=0) int);
8941    method @RequiresPermission(android.Manifest.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS) public void startOneTimePermissionSession(@NonNull String, long, int, int);
8942    method @RequiresPermission(android.Manifest.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS) public void stopOneTimePermissionSession(@NonNull String);
8943  }
8944
8945  public static final class PermissionManager.SplitPermissionInfo {
8946    method @NonNull public java.util.List<java.lang.String> getNewPermissions();
8947    method @NonNull public String getSplitPermission();
8948    method public int getTargetSdk();
8949  }
8950
8951  public final class RuntimePermissionPresentationInfo implements android.os.Parcelable {
8952    ctor public RuntimePermissionPresentationInfo(@NonNull CharSequence, boolean, boolean);
8953    method public int describeContents();
8954    method @NonNull public CharSequence getLabel();
8955    method public boolean isGranted();
8956    method public boolean isStandard();
8957    method public void writeToParcel(android.os.Parcel, int);
8958    field @NonNull public static final android.os.Parcelable.Creator<android.permission.RuntimePermissionPresentationInfo> CREATOR;
8959  }
8960
8961  public final class RuntimePermissionUsageInfo implements android.os.Parcelable {
8962    ctor public RuntimePermissionUsageInfo(@NonNull String, int);
8963    method public int describeContents();
8964    method public int getAppAccessCount();
8965    method @NonNull public String getName();
8966    method public void writeToParcel(android.os.Parcel, int);
8967    field @NonNull public static final android.os.Parcelable.Creator<android.permission.RuntimePermissionUsageInfo> CREATOR;
8968  }
8969
8970}
8971
8972package android.permissionpresenterservice {
8973
8974  @Deprecated public abstract class RuntimePermissionPresenterService extends android.app.Service {
8975    ctor @Deprecated public RuntimePermissionPresenterService();
8976    method @Deprecated public final void attachBaseContext(android.content.Context);
8977    method @Deprecated public final android.os.IBinder onBind(android.content.Intent);
8978    method @Deprecated public abstract java.util.List<android.content.pm.permission.RuntimePermissionPresentationInfo> onGetAppPermissions(@NonNull String);
8979    field @Deprecated public static final String SERVICE_INTERFACE = "android.permissionpresenterservice.RuntimePermissionPresenterService";
8980  }
8981
8982}
8983
8984package android.preference {
8985
8986  @Deprecated public class PreferenceManager {
8987    method @Deprecated public boolean isStorageCredentialProtected();
8988    method @Deprecated public void setStorageCredentialProtected();
8989  }
8990
8991}
8992
8993package android.print {
8994
8995  public final class PrintManager {
8996    method @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICE_RECOMMENDATIONS) public void addPrintServiceRecommendationsChangeListener(@NonNull android.print.PrintManager.PrintServiceRecommendationsChangeListener, @Nullable android.os.Handler);
8997    method @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICES) public void addPrintServicesChangeListener(@NonNull android.print.PrintManager.PrintServicesChangeListener, @Nullable android.os.Handler);
8998    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICE_RECOMMENDATIONS) public java.util.List<android.printservice.recommendation.RecommendationInfo> getPrintServiceRecommendations();
8999    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICES) public java.util.List<android.printservice.PrintServiceInfo> getPrintServices(int);
9000    method @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICE_RECOMMENDATIONS) public void removePrintServiceRecommendationsChangeListener(@NonNull android.print.PrintManager.PrintServiceRecommendationsChangeListener);
9001    method @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICES) public void removePrintServicesChangeListener(@NonNull android.print.PrintManager.PrintServicesChangeListener);
9002    field public static final int ENABLED_SERVICES = 1; // 0x1
9003  }
9004
9005  public static interface PrintManager.PrintServiceRecommendationsChangeListener {
9006    method public void onPrintServiceRecommendationsChanged();
9007  }
9008
9009  public static interface PrintManager.PrintServicesChangeListener {
9010    method public void onPrintServicesChanged();
9011  }
9012
9013}
9014
9015package android.printservice {
9016
9017  public final class PrintServiceInfo implements android.os.Parcelable {
9018    method public int describeContents();
9019    method @NonNull public android.content.ComponentName getComponentName();
9020    method public void writeToParcel(android.os.Parcel, int);
9021    field @NonNull public static final android.os.Parcelable.Creator<android.printservice.PrintServiceInfo> CREATOR;
9022  }
9023
9024}
9025
9026package android.printservice.recommendation {
9027
9028  public final class RecommendationInfo implements android.os.Parcelable {
9029    ctor public RecommendationInfo(@NonNull CharSequence, @NonNull CharSequence, @NonNull java.util.List<java.net.InetAddress>, boolean);
9030    ctor @Deprecated public RecommendationInfo(@NonNull CharSequence, @NonNull CharSequence, @IntRange(from=0) int, boolean);
9031    method public int describeContents();
9032    method @NonNull public java.util.List<java.net.InetAddress> getDiscoveredPrinters();
9033    method public CharSequence getName();
9034    method public int getNumDiscoveredPrinters();
9035    method public CharSequence getPackageName();
9036    method public boolean recommendsMultiVendorService();
9037    method public void writeToParcel(android.os.Parcel, int);
9038    field @NonNull public static final android.os.Parcelable.Creator<android.printservice.recommendation.RecommendationInfo> CREATOR;
9039  }
9040
9041  public abstract class RecommendationService extends android.app.Service {
9042    ctor public RecommendationService();
9043    method public final android.os.IBinder onBind(android.content.Intent);
9044    method public abstract void onConnected();
9045    method public abstract void onDisconnected();
9046    method public final void updateRecommendations(@Nullable java.util.List<android.printservice.recommendation.RecommendationInfo>);
9047    field public static final String SERVICE_INTERFACE = "android.printservice.recommendation.RecommendationService";
9048  }
9049
9050}
9051
9052package android.provider {
9053
9054  public class CallLog {
9055    method @RequiresPermission(allOf={android.Manifest.permission.WRITE_CALL_LOG, android.Manifest.permission.INTERACT_ACROSS_USERS}) public static void storeCallComposerPicture(@NonNull android.content.Context, @NonNull java.io.InputStream, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.net.Uri,android.provider.CallLog.CallComposerLoggingException>);
9056  }
9057
9058  public static class CallLog.CallComposerLoggingException extends java.lang.Throwable {
9059    ctor public CallLog.CallComposerLoggingException(int);
9060    method public int getErrorCode();
9061    field public static final int ERROR_INPUT_CLOSED = 3; // 0x3
9062    field public static final int ERROR_REMOTE_END_CLOSED = 1; // 0x1
9063    field public static final int ERROR_STORAGE_FULL = 2; // 0x2
9064    field public static final int ERROR_UNKNOWN = 0; // 0x0
9065  }
9066
9067  @Deprecated public static final class ContactsContract.MetadataSync implements android.provider.BaseColumns android.provider.ContactsContract.MetadataSyncColumns {
9068    field @Deprecated public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/contact_metadata";
9069    field @Deprecated public static final String CONTENT_TYPE = "vnd.android.cursor.dir/contact_metadata";
9070    field @Deprecated public static final android.net.Uri CONTENT_URI;
9071    field @Deprecated public static final String METADATA_AUTHORITY = "com.android.contacts.metadata";
9072    field @Deprecated public static final android.net.Uri METADATA_AUTHORITY_URI;
9073  }
9074
9075  @Deprecated protected static interface ContactsContract.MetadataSyncColumns {
9076    field @Deprecated public static final String ACCOUNT_NAME = "account_name";
9077    field @Deprecated public static final String ACCOUNT_TYPE = "account_type";
9078    field @Deprecated public static final String DATA = "data";
9079    field @Deprecated public static final String DATA_SET = "data_set";
9080    field @Deprecated public static final String DELETED = "deleted";
9081    field @Deprecated public static final String RAW_CONTACT_BACKUP_ID = "raw_contact_backup_id";
9082  }
9083
9084  @Deprecated public static final class ContactsContract.MetadataSyncState implements android.provider.BaseColumns android.provider.ContactsContract.MetadataSyncStateColumns {
9085    field @Deprecated public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/contact_metadata_sync_state";
9086    field @Deprecated public static final String CONTENT_TYPE = "vnd.android.cursor.dir/contact_metadata_sync_state";
9087    field @Deprecated public static final android.net.Uri CONTENT_URI;
9088  }
9089
9090  @Deprecated protected static interface ContactsContract.MetadataSyncStateColumns {
9091    field @Deprecated public static final String ACCOUNT_NAME = "account_name";
9092    field @Deprecated public static final String ACCOUNT_TYPE = "account_type";
9093    field @Deprecated public static final String DATA_SET = "data_set";
9094    field @Deprecated public static final String STATE = "state";
9095  }
9096
9097  public static final class ContactsContract.SimContacts {
9098    method @RequiresPermission("android.contacts.permission.MANAGE_SIM_ACCOUNTS") public static void addSimAccount(@NonNull android.content.ContentResolver, @NonNull String, @NonNull String, int, int);
9099    method @RequiresPermission("android.contacts.permission.MANAGE_SIM_ACCOUNTS") public static void removeSimAccounts(@NonNull android.content.ContentResolver, int);
9100  }
9101
9102  public final class DeviceConfig {
9103    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static void addOnPropertiesChangedListener(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.provider.DeviceConfig.OnPropertiesChangedListener);
9104    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static boolean getBoolean(@NonNull String, @NonNull String, boolean);
9105    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static float getFloat(@NonNull String, @NonNull String, float);
9106    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static int getInt(@NonNull String, @NonNull String, int);
9107    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static long getLong(@NonNull String, @NonNull String, long);
9108    method @NonNull @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static android.provider.DeviceConfig.Properties getProperties(@NonNull String, @NonNull java.lang.String...);
9109    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static String getProperty(@NonNull String, @NonNull String);
9110    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static String getString(@NonNull String, @NonNull String, @Nullable String);
9111    method public static void removeOnPropertiesChangedListener(@NonNull android.provider.DeviceConfig.OnPropertiesChangedListener);
9112    method @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static void resetToDefaults(int, @Nullable String);
9113    method @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static boolean setProperties(@NonNull android.provider.DeviceConfig.Properties) throws android.provider.DeviceConfig.BadConfigException;
9114    method @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static boolean setProperty(@NonNull String, @NonNull String, @Nullable String, boolean);
9115    field public static final String NAMESPACE_ACTIVITY_MANAGER = "activity_manager";
9116    field public static final String NAMESPACE_ACTIVITY_MANAGER_NATIVE_BOOT = "activity_manager_native_boot";
9117    field public static final String NAMESPACE_APPSEARCH = "appsearch";
9118    field public static final String NAMESPACE_APP_COMPAT = "app_compat";
9119    field public static final String NAMESPACE_APP_HIBERNATION = "app_hibernation";
9120    field public static final String NAMESPACE_ATTENTION_MANAGER_SERVICE = "attention_manager_service";
9121    field public static final String NAMESPACE_AUTOFILL = "autofill";
9122    field public static final String NAMESPACE_BATTERY_SAVER = "battery_saver";
9123    field public static final String NAMESPACE_BIOMETRICS = "biometrics";
9124    field public static final String NAMESPACE_BLOBSTORE = "blobstore";
9125    field public static final String NAMESPACE_BLUETOOTH = "bluetooth";
9126    field public static final String NAMESPACE_CLIPBOARD = "clipboard";
9127    field public static final String NAMESPACE_CONNECTIVITY = "connectivity";
9128    field public static final String NAMESPACE_CONTENT_CAPTURE = "content_capture";
9129    field @Deprecated public static final String NAMESPACE_DEX_BOOT = "dex_boot";
9130    field public static final String NAMESPACE_DISPLAY_MANAGER = "display_manager";
9131    field public static final String NAMESPACE_GAME_DRIVER = "game_driver";
9132    field public static final String NAMESPACE_INPUT_NATIVE_BOOT = "input_native_boot";
9133    field public static final String NAMESPACE_INTELLIGENCE_ATTENTION = "intelligence_attention";
9134    field public static final String NAMESPACE_LOCATION = "location";
9135    field public static final String NAMESPACE_MEDIA = "media";
9136    field public static final String NAMESPACE_MEDIA_NATIVE = "media_native";
9137    field public static final String NAMESPACE_NETD_NATIVE = "netd_native";
9138    field public static final String NAMESPACE_OTA = "ota";
9139    field public static final String NAMESPACE_PACKAGE_MANAGER_SERVICE = "package_manager_service";
9140    field public static final String NAMESPACE_PERMISSIONS = "permissions";
9141    field public static final String NAMESPACE_PRIVACY = "privacy";
9142    field public static final String NAMESPACE_PROFCOLLECT_NATIVE_BOOT = "profcollect_native_boot";
9143    field public static final String NAMESPACE_REBOOT_READINESS = "reboot_readiness";
9144    field public static final String NAMESPACE_ROLLBACK = "rollback";
9145    field public static final String NAMESPACE_ROLLBACK_BOOT = "rollback_boot";
9146    field public static final String NAMESPACE_RUNTIME = "runtime";
9147    field public static final String NAMESPACE_RUNTIME_NATIVE = "runtime_native";
9148    field public static final String NAMESPACE_RUNTIME_NATIVE_BOOT = "runtime_native_boot";
9149    field public static final String NAMESPACE_SCHEDULER = "scheduler";
9150    field public static final String NAMESPACE_STATSD_JAVA = "statsd_java";
9151    field public static final String NAMESPACE_STATSD_JAVA_BOOT = "statsd_java_boot";
9152    field public static final String NAMESPACE_STATSD_NATIVE = "statsd_native";
9153    field public static final String NAMESPACE_STATSD_NATIVE_BOOT = "statsd_native_boot";
9154    field @Deprecated public static final String NAMESPACE_STORAGE = "storage";
9155    field public static final String NAMESPACE_STORAGE_NATIVE_BOOT = "storage_native_boot";
9156    field public static final String NAMESPACE_SYSTEMUI = "systemui";
9157    field public static final String NAMESPACE_SYSTEM_TIME = "system_time";
9158    field public static final String NAMESPACE_TELEPHONY = "telephony";
9159    field public static final String NAMESPACE_TEXTCLASSIFIER = "textclassifier";
9160    field public static final String NAMESPACE_WINDOW_MANAGER_NATIVE_BOOT = "window_manager_native_boot";
9161  }
9162
9163  public static class DeviceConfig.BadConfigException extends java.lang.Exception {
9164    ctor public DeviceConfig.BadConfigException();
9165  }
9166
9167  public static interface DeviceConfig.OnPropertiesChangedListener {
9168    method public void onPropertiesChanged(@NonNull android.provider.DeviceConfig.Properties);
9169  }
9170
9171  public static class DeviceConfig.Properties {
9172    method public boolean getBoolean(@NonNull String, boolean);
9173    method public float getFloat(@NonNull String, float);
9174    method public int getInt(@NonNull String, int);
9175    method @NonNull public java.util.Set<java.lang.String> getKeyset();
9176    method public long getLong(@NonNull String, long);
9177    method @NonNull public String getNamespace();
9178    method @Nullable public String getString(@NonNull String, @Nullable String);
9179  }
9180
9181  public static final class DeviceConfig.Properties.Builder {
9182    ctor public DeviceConfig.Properties.Builder(@NonNull String);
9183    method @NonNull public android.provider.DeviceConfig.Properties build();
9184    method @NonNull public android.provider.DeviceConfig.Properties.Builder setBoolean(@NonNull String, boolean);
9185    method @NonNull public android.provider.DeviceConfig.Properties.Builder setFloat(@NonNull String, float);
9186    method @NonNull public android.provider.DeviceConfig.Properties.Builder setInt(@NonNull String, int);
9187    method @NonNull public android.provider.DeviceConfig.Properties.Builder setLong(@NonNull String, long);
9188    method @NonNull public android.provider.DeviceConfig.Properties.Builder setString(@NonNull String, @Nullable String);
9189  }
9190
9191  public final class DocumentsContract {
9192    method @NonNull public static android.net.Uri buildDocumentUriAsUser(@NonNull String, @NonNull String, @NonNull android.os.UserHandle);
9193    method public static boolean isManageMode(@NonNull android.net.Uri);
9194    method @NonNull public static android.net.Uri setManageMode(@NonNull android.net.Uri);
9195    field public static final String ACTION_DOCUMENT_ROOT_SETTINGS = "android.provider.action.DOCUMENT_ROOT_SETTINGS";
9196    field public static final String ACTION_MANAGE_DOCUMENT = "android.provider.action.MANAGE_DOCUMENT";
9197    field public static final String DOWNLOADS_PROVIDER_AUTHORITY = "downloads";
9198    field public static final String EXTERNAL_STORAGE_PROVIDER_AUTHORITY = "com.android.externalstorage.documents";
9199    field public static final String EXTRA_SHOW_ADVANCED = "android.provider.extra.SHOW_ADVANCED";
9200  }
9201
9202  public static final class DocumentsContract.Root {
9203    field public static final int FLAG_ADVANCED = 65536; // 0x10000
9204    field public static final int FLAG_HAS_SETTINGS = 131072; // 0x20000
9205    field public static final int FLAG_REMOVABLE_SD = 262144; // 0x40000
9206    field public static final int FLAG_REMOVABLE_USB = 524288; // 0x80000
9207  }
9208
9209  public abstract class SearchIndexableData {
9210    ctor public SearchIndexableData();
9211    ctor public SearchIndexableData(android.content.Context);
9212    field public String className;
9213    field public android.content.Context context;
9214    field public boolean enabled;
9215    field public int iconResId;
9216    field public String intentAction;
9217    field public String intentTargetClass;
9218    field public String intentTargetPackage;
9219    field public String key;
9220    field public java.util.Locale locale;
9221    field public String packageName;
9222    field public int rank;
9223    field public int userId;
9224  }
9225
9226  public class SearchIndexableResource extends android.provider.SearchIndexableData {
9227    ctor public SearchIndexableResource(int, int, String, int);
9228    ctor public SearchIndexableResource(android.content.Context);
9229    field public int xmlResId;
9230  }
9231
9232  public class SearchIndexablesContract {
9233    ctor public SearchIndexablesContract();
9234    field public static final int COLUMN_INDEX_NON_INDEXABLE_KEYS_KEY_VALUE = 0; // 0x0
9235    field public static final int COLUMN_INDEX_RAW_CLASS_NAME = 7; // 0x7
9236    field public static final int COLUMN_INDEX_RAW_ENTRIES = 4; // 0x4
9237    field public static final int COLUMN_INDEX_RAW_ICON_RESID = 8; // 0x8
9238    field public static final int COLUMN_INDEX_RAW_INTENT_ACTION = 9; // 0x9
9239    field public static final int COLUMN_INDEX_RAW_INTENT_TARGET_CLASS = 11; // 0xb
9240    field public static final int COLUMN_INDEX_RAW_INTENT_TARGET_PACKAGE = 10; // 0xa
9241    field public static final int COLUMN_INDEX_RAW_KEY = 12; // 0xc
9242    field public static final int COLUMN_INDEX_RAW_KEYWORDS = 5; // 0x5
9243    field public static final int COLUMN_INDEX_RAW_RANK = 0; // 0x0
9244    field public static final int COLUMN_INDEX_RAW_SCREEN_TITLE = 6; // 0x6
9245    field public static final int COLUMN_INDEX_RAW_SUMMARY_OFF = 3; // 0x3
9246    field public static final int COLUMN_INDEX_RAW_SUMMARY_ON = 2; // 0x2
9247    field public static final int COLUMN_INDEX_RAW_TITLE = 1; // 0x1
9248    field public static final int COLUMN_INDEX_RAW_USER_ID = 13; // 0xd
9249    field public static final int COLUMN_INDEX_XML_RES_CLASS_NAME = 2; // 0x2
9250    field public static final int COLUMN_INDEX_XML_RES_ICON_RESID = 3; // 0x3
9251    field public static final int COLUMN_INDEX_XML_RES_INTENT_ACTION = 4; // 0x4
9252    field public static final int COLUMN_INDEX_XML_RES_INTENT_TARGET_CLASS = 6; // 0x6
9253    field public static final int COLUMN_INDEX_XML_RES_INTENT_TARGET_PACKAGE = 5; // 0x5
9254    field public static final int COLUMN_INDEX_XML_RES_RANK = 0; // 0x0
9255    field public static final int COLUMN_INDEX_XML_RES_RESID = 1; // 0x1
9256    field public static final String DYNAMIC_INDEXABLES_RAW = "dynamic_indexables_raw";
9257    field public static final String DYNAMIC_INDEXABLES_RAW_PATH = "settings/dynamic_indexables_raw";
9258    field public static final String INDEXABLES_RAW = "indexables_raw";
9259    field public static final String[] INDEXABLES_RAW_COLUMNS;
9260    field public static final String INDEXABLES_RAW_PATH = "settings/indexables_raw";
9261    field public static final String INDEXABLES_XML_RES = "indexables_xml_res";
9262    field public static final String[] INDEXABLES_XML_RES_COLUMNS;
9263    field public static final String INDEXABLES_XML_RES_PATH = "settings/indexables_xml_res";
9264    field public static final String NON_INDEXABLES_KEYS = "non_indexables_key";
9265    field public static final String[] NON_INDEXABLES_KEYS_COLUMNS;
9266    field public static final String NON_INDEXABLES_KEYS_PATH = "settings/non_indexables_key";
9267    field public static final String PROVIDER_INTERFACE = "android.content.action.SEARCH_INDEXABLES_PROVIDER";
9268    field public static final String SLICE_URI_PAIRS = "slice_uri_pairs";
9269    field @NonNull public static final String[] SLICE_URI_PAIRS_COLUMNS;
9270    field public static final String SLICE_URI_PAIRS_PATH = "settings/slice_uri_pairs";
9271  }
9272
9273  public static class SearchIndexablesContract.BaseColumns {
9274    field public static final String COLUMN_CLASS_NAME = "className";
9275    field public static final String COLUMN_ICON_RESID = "iconResId";
9276    field public static final String COLUMN_INTENT_ACTION = "intentAction";
9277    field public static final String COLUMN_INTENT_TARGET_CLASS = "intentTargetClass";
9278    field public static final String COLUMN_INTENT_TARGET_PACKAGE = "intentTargetPackage";
9279    field public static final String COLUMN_RANK = "rank";
9280  }
9281
9282  public static final class SearchIndexablesContract.NonIndexableKey extends android.provider.SearchIndexablesContract.BaseColumns {
9283    field public static final String COLUMN_KEY_VALUE = "key";
9284    field public static final String MIME_TYPE = "vnd.android.cursor.dir/non_indexables_key";
9285  }
9286
9287  public static final class SearchIndexablesContract.RawData extends android.provider.SearchIndexablesContract.BaseColumns {
9288    field public static final String COLUMN_ENTRIES = "entries";
9289    field public static final String COLUMN_KEY = "key";
9290    field public static final String COLUMN_KEYWORDS = "keywords";
9291    field public static final String COLUMN_SCREEN_TITLE = "screenTitle";
9292    field public static final String COLUMN_SUMMARY_OFF = "summaryOff";
9293    field public static final String COLUMN_SUMMARY_ON = "summaryOn";
9294    field public static final String COLUMN_TITLE = "title";
9295    field public static final String COLUMN_USER_ID = "user_id";
9296    field public static final String MIME_TYPE = "vnd.android.cursor.dir/indexables_raw";
9297  }
9298
9299  public static final class SearchIndexablesContract.SliceUriPairColumns {
9300    field public static final String KEY = "key";
9301    field public static final String SLICE_URI = "slice_uri";
9302  }
9303
9304  public static final class SearchIndexablesContract.XmlResource extends android.provider.SearchIndexablesContract.BaseColumns {
9305    field public static final String COLUMN_XML_RESID = "xmlResId";
9306    field public static final String MIME_TYPE = "vnd.android.cursor.dir/indexables_xml_res";
9307  }
9308
9309  public abstract class SearchIndexablesProvider extends android.content.ContentProvider {
9310    ctor public SearchIndexablesProvider();
9311    method public final int delete(android.net.Uri, String, String[]);
9312    method public String getType(android.net.Uri);
9313    method public final android.net.Uri insert(android.net.Uri, android.content.ContentValues);
9314    method public android.database.Cursor query(android.net.Uri, String[], String, String[], String);
9315    method @Nullable public android.database.Cursor queryDynamicRawData(@Nullable String[]);
9316    method public abstract android.database.Cursor queryNonIndexableKeys(String[]);
9317    method public abstract android.database.Cursor queryRawData(String[]);
9318    method @Nullable public android.database.Cursor querySliceUriPairs();
9319    method public abstract android.database.Cursor queryXmlResources(String[]);
9320    method public final int update(android.net.Uri, android.content.ContentValues, String, String[]);
9321  }
9322
9323  public final class Settings {
9324    method @Deprecated public static boolean checkAndNoteWriteSettingsOperation(@NonNull android.content.Context, int, @NonNull String, boolean);
9325    method public static boolean checkAndNoteWriteSettingsOperation(@NonNull android.content.Context, int, @NonNull String, @Nullable String, boolean);
9326    field public static final String ACTION_ACCESSIBILITY_DETAILS_SETTINGS = "android.settings.ACCESSIBILITY_DETAILS_SETTINGS";
9327    field public static final String ACTION_BUGREPORT_HANDLER_SETTINGS = "android.settings.BUGREPORT_HANDLER_SETTINGS";
9328    field public static final String ACTION_ENTERPRISE_PRIVACY_SETTINGS = "android.settings.ENTERPRISE_PRIVACY_SETTINGS";
9329    field public static final String ACTION_LOCATION_CONTROLLER_EXTRA_PACKAGE_SETTINGS = "android.settings.LOCATION_CONTROLLER_EXTRA_PACKAGE_SETTINGS";
9330    field public static final String ACTION_MANAGE_APP_OVERLAY_PERMISSION = "android.settings.MANAGE_APP_OVERLAY_PERMISSION";
9331    field public static final String ACTION_MANAGE_DOMAIN_URLS = "android.settings.MANAGE_DOMAIN_URLS";
9332    field public static final String ACTION_MANAGE_MORE_DEFAULT_APPS_SETTINGS = "android.settings.MANAGE_MORE_DEFAULT_APPS_SETTINGS";
9333    field public static final String ACTION_NOTIFICATION_POLICY_ACCESS_DETAIL_SETTINGS = "android.settings.NOTIFICATION_POLICY_ACCESS_DETAIL_SETTINGS";
9334    field public static final String ACTION_REQUEST_ENABLE_CONTENT_CAPTURE = "android.settings.REQUEST_ENABLE_CONTENT_CAPTURE";
9335    field public static final String ACTION_SHOW_ADMIN_SUPPORT_DETAILS = "android.settings.SHOW_ADMIN_SUPPORT_DETAILS";
9336    field public static final String ACTION_TETHER_PROVISIONING_UI = "android.settings.TETHER_PROVISIONING_UI";
9337    field public static final String ACTION_TETHER_SETTINGS = "android.settings.TETHER_SETTINGS";
9338  }
9339
9340  public static final class Settings.Global extends android.provider.Settings.NameValueTable {
9341    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public static boolean putString(@NonNull android.content.ContentResolver, @NonNull String, @Nullable String, @Nullable String, boolean);
9342    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public static void resetToDefaults(@NonNull android.content.ContentResolver, @Nullable String);
9343    field public static final String AIRPLANE_MODE_TOGGLEABLE_RADIOS = "airplane_mode_toggleable_radios";
9344    field public static final String APP_STANDBY_ENABLED = "app_standby_enabled";
9345    field public static final String AUTOFILL_COMPAT_MODE_ALLOWED_PACKAGES = "autofill_compat_mode_allowed_packages";
9346    field public static final String CARRIER_APP_NAMES = "carrier_app_names";
9347    field public static final String CARRIER_APP_WHITELIST = "carrier_app_whitelist";
9348    field public static final String DEFAULT_SM_DP_PLUS = "default_sm_dp_plus";
9349    field public static final String DEVICE_DEMO_MODE = "device_demo_mode";
9350    field public static final String DEVICE_PROVISIONING_MOBILE_DATA_ENABLED = "device_provisioning_mobile_data";
9351    field public static final String EUICC_PROVISIONED = "euicc_provisioned";
9352    field public static final String EUICC_SUPPORTED_COUNTRIES = "euicc_supported_countries";
9353    field public static final String EUICC_UNSUPPORTED_COUNTRIES = "euicc_unsupported_countries";
9354    field public static final String INSTALL_CARRIER_APP_NOTIFICATION_PERSISTENT = "install_carrier_app_notification_persistent";
9355    field public static final String INSTALL_CARRIER_APP_NOTIFICATION_SLEEP_MILLIS = "install_carrier_app_notification_sleep_millis";
9356    field public static final String OTA_DISABLE_AUTOMATIC_UPDATE = "ota_disable_automatic_update";
9357    field public static final String REQUIRE_PASSWORD_TO_DECRYPT = "require_password_to_decrypt";
9358    field public static final String TETHER_OFFLOAD_DISABLED = "tether_offload_disabled";
9359    field public static final String TETHER_SUPPORTED = "tether_supported";
9360    field public static final String THEATER_MODE_ON = "theater_mode_on";
9361    field public static final String WEBVIEW_MULTIPROCESS = "webview_multiprocess";
9362    field public static final String WIFI_BADGING_THRESHOLDS = "wifi_badging_thresholds";
9363    field @Deprecated public static final String WIFI_WAKEUP_ENABLED = "wifi_wakeup_enabled";
9364  }
9365
9366  public static final class Settings.Secure extends android.provider.Settings.NameValueTable {
9367    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public static boolean putString(@NonNull android.content.ContentResolver, @NonNull String, @Nullable String, @Nullable String, boolean);
9368    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public static void resetToDefaults(@NonNull android.content.ContentResolver, @Nullable String);
9369    field @Deprecated public static final String ACCESSIBILITY_DISPLAY_MAGNIFICATION_NAVBAR_ENABLED = "accessibility_display_magnification_navbar_enabled";
9370    field public static final String ASSIST_GESTURE_SETUP_COMPLETE = "assist_gesture_setup_complete";
9371    field public static final String AUTOFILL_FEATURE_FIELD_CLASSIFICATION = "autofill_field_classification";
9372    field public static final String AUTOFILL_USER_DATA_MAX_CATEGORY_COUNT = "autofill_user_data_max_category_count";
9373    field public static final String AUTOFILL_USER_DATA_MAX_FIELD_CLASSIFICATION_IDS_SIZE = "autofill_user_data_max_field_classification_size";
9374    field public static final String AUTOFILL_USER_DATA_MAX_USER_DATA_SIZE = "autofill_user_data_max_user_data_size";
9375    field public static final String AUTOFILL_USER_DATA_MAX_VALUE_LENGTH = "autofill_user_data_max_value_length";
9376    field public static final String AUTOFILL_USER_DATA_MIN_VALUE_LENGTH = "autofill_user_data_min_value_length";
9377    field public static final String AUTO_REVOKE_DISABLED = "auto_revoke_disabled";
9378    field public static final String COMPLETED_CATEGORY_PREFIX = "suggested.completed_category.";
9379    field public static final String DOZE_ALWAYS_ON = "doze_always_on";
9380    field public static final String HUSH_GESTURE_USED = "hush_gesture_used";
9381    field public static final String INSTANT_APPS_ENABLED = "instant_apps_enabled";
9382    field public static final String LAST_SETUP_SHOWN = "last_setup_shown";
9383    field public static final String LOCATION_ACCESS_CHECK_DELAY_MILLIS = "location_access_check_delay_millis";
9384    field public static final String LOCATION_ACCESS_CHECK_INTERVAL_MILLIS = "location_access_check_interval_millis";
9385    field public static final int LOCATION_MODE_ON = 3; // 0x3
9386    field @Deprecated public static final String LOCATION_PERMISSIONS_UPGRADE_TO_Q_MODE = "location_permissions_upgrade_to_q_mode";
9387    field public static final String LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS = "lock_screen_allow_private_notifications";
9388    field public static final String LOCK_SCREEN_SHOW_NOTIFICATIONS = "lock_screen_show_notifications";
9389    field public static final String ODI_CAPTIONS_ENABLED = "odi_captions_enabled";
9390    field public static final String THEME_CUSTOMIZATION_OVERLAY_PACKAGES = "theme_customization_overlay_packages";
9391    field public static final String UI_TRANSLATION_ENABLED = "ui_translation_enabled";
9392    field public static final String USER_SETUP_COMPLETE = "user_setup_complete";
9393    field public static final int USER_SETUP_PERSONALIZATION_COMPLETE = 10; // 0xa
9394    field public static final int USER_SETUP_PERSONALIZATION_NOT_STARTED = 0; // 0x0
9395    field public static final int USER_SETUP_PERSONALIZATION_PAUSED = 2; // 0x2
9396    field public static final int USER_SETUP_PERSONALIZATION_STARTED = 1; // 0x1
9397    field public static final String USER_SETUP_PERSONALIZATION_STATE = "user_setup_personalization_state";
9398    field public static final String VOLUME_HUSH_GESTURE = "volume_hush_gesture";
9399    field public static final int VOLUME_HUSH_MUTE = 2; // 0x2
9400    field public static final int VOLUME_HUSH_OFF = 0; // 0x0
9401    field public static final int VOLUME_HUSH_VIBRATE = 1; // 0x1
9402  }
9403
9404  public static final class Settings.System extends android.provider.Settings.NameValueTable {
9405    method @RequiresPermission(android.Manifest.permission.MODIFY_SETTINGS_OVERRIDEABLE_BY_RESTORE) public static boolean putString(@NonNull android.content.ContentResolver, @NonNull String, @Nullable String, boolean);
9406  }
9407
9408  public static final class SimPhonebookContract.SimRecords {
9409    field public static final String QUERY_ARG_PIN2 = "android:query-arg-pin2";
9410  }
9411
9412  public static final class Telephony.Carriers implements android.provider.BaseColumns {
9413    field public static final String APN_SET_ID = "apn_set_id";
9414    field public static final int CARRIER_EDITED = 4; // 0x4
9415    field public static final String EDITED_STATUS = "edited";
9416    field public static final int MATCH_ALL_APN_SET_ID = -1; // 0xffffffff
9417    field public static final String MAX_CONNECTIONS = "max_conns";
9418    field public static final String MODEM_PERSIST = "modem_cognitive";
9419    field public static final String MTU = "mtu";
9420    field public static final int NO_APN_SET_ID = 0; // 0x0
9421    field public static final String TIME_LIMIT_FOR_MAX_CONNECTIONS = "max_conns_time";
9422    field public static final int UNEDITED = 0; // 0x0
9423    field public static final int USER_DELETED = 2; // 0x2
9424    field public static final String USER_EDITABLE = "user_editable";
9425    field public static final int USER_EDITED = 1; // 0x1
9426    field public static final String USER_VISIBLE = "user_visible";
9427    field public static final String WAIT_TIME_RETRY = "wait_time";
9428  }
9429
9430  public static final class Telephony.CellBroadcasts implements android.provider.BaseColumns {
9431    field @NonNull public static final String AUTHORITY_LEGACY = "cellbroadcast-legacy";
9432    field @NonNull public static final android.net.Uri AUTHORITY_LEGACY_URI;
9433    field @NonNull public static final String CALL_METHOD_GET_PREFERENCE = "get_preference";
9434    field public static final String CID = "cid";
9435    field public static final String CMAS_CATEGORY = "cmas_category";
9436    field public static final String CMAS_CERTAINTY = "cmas_certainty";
9437    field public static final String CMAS_MESSAGE_CLASS = "cmas_message_class";
9438    field public static final String CMAS_RESPONSE_TYPE = "cmas_response_type";
9439    field public static final String CMAS_SEVERITY = "cmas_severity";
9440    field public static final String CMAS_URGENCY = "cmas_urgency";
9441    field @NonNull public static final android.net.Uri CONTENT_URI;
9442    field public static final String DATA_CODING_SCHEME = "dcs";
9443    field public static final String DEFAULT_SORT_ORDER = "date DESC";
9444    field public static final String DELIVERY_TIME = "date";
9445    field public static final String ETWS_IS_PRIMARY = "etws_is_primary";
9446    field public static final String ETWS_WARNING_TYPE = "etws_warning_type";
9447    field public static final String GEOGRAPHICAL_SCOPE = "geo_scope";
9448    field public static final String GEOMETRIES = "geometries";
9449    field public static final String LAC = "lac";
9450    field public static final String LANGUAGE_CODE = "language";
9451    field public static final String LOCATION_CHECK_TIME = "location_check_time";
9452    field public static final String MAXIMUM_WAIT_TIME = "maximum_wait_time";
9453    field public static final String MESSAGE_BODY = "body";
9454    field public static final String MESSAGE_BROADCASTED = "message_broadcasted";
9455    field public static final String MESSAGE_DISPLAYED = "message_displayed";
9456    field public static final String MESSAGE_FORMAT = "format";
9457    field @NonNull @RequiresPermission(android.Manifest.permission.READ_CELL_BROADCASTS) public static final android.net.Uri MESSAGE_HISTORY_URI;
9458    field public static final String MESSAGE_PRIORITY = "priority";
9459    field public static final String MESSAGE_READ = "read";
9460    field public static final String PLMN = "plmn";
9461    field public static final String RECEIVED_TIME = "received_time";
9462    field public static final String SERIAL_NUMBER = "serial_number";
9463    field public static final String SERVICE_CATEGORY = "service_category";
9464    field public static final String SLOT_INDEX = "slot_index";
9465    field public static final String SUBSCRIPTION_ID = "sub_id";
9466  }
9467
9468  public static final class Telephony.CellBroadcasts.Preference {
9469    field @NonNull public static final String ENABLE_ALERT_VIBRATION_PREF = "enable_alert_vibrate";
9470    field @NonNull public static final String ENABLE_AREA_UPDATE_INFO_PREF = "enable_area_update_info_alerts";
9471    field @NonNull public static final String ENABLE_CMAS_AMBER_PREF = "enable_cmas_amber_alerts";
9472    field @NonNull public static final String ENABLE_CMAS_EXTREME_THREAT_PREF = "enable_cmas_extreme_threat_alerts";
9473    field @NonNull public static final String ENABLE_CMAS_IN_SECOND_LANGUAGE_PREF = "receive_cmas_in_second_language";
9474    field @NonNull public static final String ENABLE_CMAS_PRESIDENTIAL_PREF = "enable_cmas_presidential_alerts";
9475    field @NonNull public static final String ENABLE_CMAS_SEVERE_THREAT_PREF = "enable_cmas_severe_threat_alerts";
9476    field @NonNull public static final String ENABLE_EMERGENCY_PERF = "enable_emergency_alerts";
9477    field @NonNull public static final String ENABLE_PUBLIC_SAFETY_PREF = "enable_public_safety_messages";
9478    field @NonNull public static final String ENABLE_STATE_LOCAL_TEST_PREF = "enable_state_local_test_alerts";
9479    field @NonNull public static final String ENABLE_TEST_ALERT_PREF = "enable_test_alerts";
9480  }
9481
9482  public static final class Telephony.Sms.Intents {
9483    field public static final String ACTION_SMS_EMERGENCY_CB_RECEIVED = "android.provider.action.SMS_EMERGENCY_CB_RECEIVED";
9484  }
9485
9486  public final class TimeZoneRulesDataContract {
9487    field public static final String AUTHORITY = "com.android.timezone";
9488  }
9489
9490  public static final class TimeZoneRulesDataContract.Operation {
9491    field public static final String COLUMN_DISTRO_MAJOR_VERSION = "distro_major_version";
9492    field public static final String COLUMN_DISTRO_MINOR_VERSION = "distro_minor_version";
9493    field public static final String COLUMN_REVISION = "revision";
9494    field public static final String COLUMN_RULES_VERSION = "rules_version";
9495    field public static final String COLUMN_TYPE = "type";
9496    field public static final android.net.Uri CONTENT_URI;
9497    field public static final String TYPE_INSTALL = "INSTALL";
9498    field public static final String TYPE_NO_OP = "NOOP";
9499    field public static final String TYPE_UNINSTALL = "UNINSTALL";
9500  }
9501
9502}
9503
9504package android.se.omapi {
9505
9506  public final class Reader {
9507    method @RequiresPermission(android.Manifest.permission.SECURE_ELEMENT_PRIVILEGED_OPERATION) public boolean reset();
9508  }
9509
9510}
9511
9512package android.security {
9513
9514  public final class KeyChain {
9515    method @Nullable @WorkerThread public static String getWifiKeyGrantAsUser(@NonNull android.content.Context, @NonNull android.os.UserHandle, @NonNull String);
9516    method @WorkerThread public static boolean hasWifiKeyGrantAsUser(@NonNull android.content.Context, @NonNull android.os.UserHandle, @NonNull String);
9517  }
9518
9519}
9520
9521package android.security.keystore {
9522
9523  public class AndroidKeyStoreProvider extends java.security.Provider {
9524    method @NonNull public static java.security.KeyStore getKeyStoreForUid(int) throws java.security.KeyStoreException, java.security.NoSuchProviderException;
9525  }
9526
9527  public abstract class AttestationUtils {
9528    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static java.security.cert.X509Certificate[] attestDeviceIds(android.content.Context, @NonNull int[], @NonNull byte[]) throws android.security.keystore.DeviceIdAttestationException;
9529    field public static final int ID_TYPE_IMEI = 2; // 0x2
9530    field public static final int ID_TYPE_MEID = 3; // 0x3
9531    field public static final int ID_TYPE_SERIAL = 1; // 0x1
9532    field public static final int USE_INDIVIDUAL_ATTESTATION = 4; // 0x4
9533  }
9534
9535  public class DeviceIdAttestationException extends java.lang.Exception {
9536    ctor public DeviceIdAttestationException(@Nullable String);
9537    ctor public DeviceIdAttestationException(@Nullable String, @Nullable Throwable);
9538  }
9539
9540  public final class KeyGenParameterSpec implements java.security.spec.AlgorithmParameterSpec {
9541    method @NonNull public int[] getAttestationIds();
9542    method public int getNamespace();
9543  }
9544
9545  public static final class KeyGenParameterSpec.Builder {
9546    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setAttestationIds(@NonNull int[]);
9547    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setNamespace(int);
9548    method @Deprecated @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setUid(int);
9549  }
9550
9551  public abstract class KeyProperties {
9552    field public static final int NAMESPACE_APPLICATION = -1; // 0xffffffff
9553    field public static final int NAMESPACE_WIFI = 102; // 0x66
9554  }
9555
9556}
9557
9558package android.security.keystore.recovery {
9559
9560  public class DecryptionFailedException extends java.security.GeneralSecurityException {
9561    ctor public DecryptionFailedException(String);
9562  }
9563
9564  public class InternalRecoveryServiceException extends java.security.GeneralSecurityException {
9565    ctor public InternalRecoveryServiceException(String);
9566    ctor public InternalRecoveryServiceException(String, Throwable);
9567  }
9568
9569  public final class KeyChainProtectionParams implements android.os.Parcelable {
9570    method public void clearSecret();
9571    method public int describeContents();
9572    method @NonNull public android.security.keystore.recovery.KeyDerivationParams getKeyDerivationParams();
9573    method public int getLockScreenUiFormat();
9574    method @NonNull public byte[] getSecret();
9575    method public int getUserSecretType();
9576    method public void writeToParcel(android.os.Parcel, int);
9577    field @NonNull public static final android.os.Parcelable.Creator<android.security.keystore.recovery.KeyChainProtectionParams> CREATOR;
9578    field public static final int TYPE_LOCKSCREEN = 100; // 0x64
9579    field public static final int UI_FORMAT_PASSWORD = 2; // 0x2
9580    field public static final int UI_FORMAT_PATTERN = 3; // 0x3
9581    field public static final int UI_FORMAT_PIN = 1; // 0x1
9582  }
9583
9584  public static class KeyChainProtectionParams.Builder {
9585    ctor public KeyChainProtectionParams.Builder();
9586    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams build();
9587    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams.Builder setKeyDerivationParams(@NonNull android.security.keystore.recovery.KeyDerivationParams);
9588    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams.Builder setLockScreenUiFormat(int);
9589    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams.Builder setSecret(@NonNull byte[]);
9590    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams.Builder setUserSecretType(int);
9591  }
9592
9593  public final class KeyChainSnapshot implements android.os.Parcelable {
9594    method public int describeContents();
9595    method public long getCounterId();
9596    method @NonNull public byte[] getEncryptedRecoveryKeyBlob();
9597    method @NonNull public java.util.List<android.security.keystore.recovery.KeyChainProtectionParams> getKeyChainProtectionParams();
9598    method public int getMaxAttempts();
9599    method @NonNull public byte[] getServerParams();
9600    method public int getSnapshotVersion();
9601    method @NonNull public java.security.cert.CertPath getTrustedHardwareCertPath();
9602    method @NonNull public java.util.List<android.security.keystore.recovery.WrappedApplicationKey> getWrappedApplicationKeys();
9603    method public void writeToParcel(android.os.Parcel, int);
9604    field @NonNull public static final android.os.Parcelable.Creator<android.security.keystore.recovery.KeyChainSnapshot> CREATOR;
9605  }
9606
9607  public final class KeyDerivationParams implements android.os.Parcelable {
9608    method @NonNull public static android.security.keystore.recovery.KeyDerivationParams createScryptParams(@NonNull byte[], int);
9609    method @NonNull public static android.security.keystore.recovery.KeyDerivationParams createSha256Params(@NonNull byte[]);
9610    method public int describeContents();
9611    method public int getAlgorithm();
9612    method public int getMemoryDifficulty();
9613    method @NonNull public byte[] getSalt();
9614    method public void writeToParcel(android.os.Parcel, int);
9615    field public static final int ALGORITHM_SCRYPT = 2; // 0x2
9616    field public static final int ALGORITHM_SHA256 = 1; // 0x1
9617    field @NonNull public static final android.os.Parcelable.Creator<android.security.keystore.recovery.KeyDerivationParams> CREATOR;
9618  }
9619
9620  public class LockScreenRequiredException extends java.security.GeneralSecurityException {
9621    ctor public LockScreenRequiredException(String);
9622  }
9623
9624  public class RecoveryController {
9625    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public android.security.keystore.recovery.RecoverySession createRecoverySession();
9626    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public java.security.Key generateKey(@NonNull String) throws android.security.keystore.recovery.InternalRecoveryServiceException, android.security.keystore.recovery.LockScreenRequiredException;
9627    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public java.security.Key generateKey(@NonNull String, @Nullable byte[]) throws android.security.keystore.recovery.InternalRecoveryServiceException, android.security.keystore.recovery.LockScreenRequiredException;
9628    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public java.util.List<java.lang.String> getAliases() throws android.security.keystore.recovery.InternalRecoveryServiceException;
9629    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public static android.security.keystore.recovery.RecoveryController getInstance(@NonNull android.content.Context);
9630    method @Nullable @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public java.security.Key getKey(@NonNull String) throws android.security.keystore.recovery.InternalRecoveryServiceException, java.security.UnrecoverableKeyException;
9631    method @Nullable @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public android.security.keystore.recovery.KeyChainSnapshot getKeyChainSnapshot() throws android.security.keystore.recovery.InternalRecoveryServiceException;
9632    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public int[] getRecoverySecretTypes() throws android.security.keystore.recovery.InternalRecoveryServiceException;
9633    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public int getRecoveryStatus(@NonNull String) throws android.security.keystore.recovery.InternalRecoveryServiceException;
9634    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public java.util.Map<java.lang.String,java.security.cert.X509Certificate> getRootCertificates();
9635    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public java.security.Key importKey(@NonNull String, @NonNull byte[]) throws android.security.keystore.recovery.InternalRecoveryServiceException, android.security.keystore.recovery.LockScreenRequiredException;
9636    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public java.security.Key importKey(@NonNull String, @NonNull byte[], @Nullable byte[]) throws android.security.keystore.recovery.InternalRecoveryServiceException, android.security.keystore.recovery.LockScreenRequiredException;
9637    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void initRecoveryService(@NonNull String, @NonNull byte[], @NonNull byte[]) throws java.security.cert.CertificateException, android.security.keystore.recovery.InternalRecoveryServiceException;
9638    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public static boolean isRecoverableKeyStoreEnabled(@NonNull android.content.Context);
9639    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void removeKey(@NonNull String) throws android.security.keystore.recovery.InternalRecoveryServiceException;
9640    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void setRecoverySecretTypes(@NonNull int[]) throws android.security.keystore.recovery.InternalRecoveryServiceException;
9641    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void setRecoveryStatus(@NonNull String, int) throws android.security.keystore.recovery.InternalRecoveryServiceException;
9642    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void setServerParams(@NonNull byte[]) throws android.security.keystore.recovery.InternalRecoveryServiceException;
9643    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void setSnapshotCreatedPendingIntent(@Nullable android.app.PendingIntent) throws android.security.keystore.recovery.InternalRecoveryServiceException;
9644    field public static final int RECOVERY_STATUS_PERMANENT_FAILURE = 3; // 0x3
9645    field public static final int RECOVERY_STATUS_SYNCED = 0; // 0x0
9646    field public static final int RECOVERY_STATUS_SYNC_IN_PROGRESS = 1; // 0x1
9647  }
9648
9649  public class RecoverySession implements java.lang.AutoCloseable {
9650    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void close();
9651    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public java.util.Map<java.lang.String,java.security.Key> recoverKeyChainSnapshot(@NonNull byte[], @NonNull java.util.List<android.security.keystore.recovery.WrappedApplicationKey>) throws android.security.keystore.recovery.DecryptionFailedException, android.security.keystore.recovery.InternalRecoveryServiceException, android.security.keystore.recovery.SessionExpiredException;
9652    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public byte[] start(@NonNull String, @NonNull java.security.cert.CertPath, @NonNull byte[], @NonNull byte[], @NonNull java.util.List<android.security.keystore.recovery.KeyChainProtectionParams>) throws java.security.cert.CertificateException, android.security.keystore.recovery.InternalRecoveryServiceException;
9653  }
9654
9655  public class SessionExpiredException extends java.security.GeneralSecurityException {
9656    ctor public SessionExpiredException(String);
9657  }
9658
9659  public final class WrappedApplicationKey implements android.os.Parcelable {
9660    method public int describeContents();
9661    method @NonNull public String getAlias();
9662    method @NonNull public byte[] getEncryptedKeyMaterial();
9663    method @Nullable public byte[] getMetadata();
9664    method public void writeToParcel(android.os.Parcel, int);
9665    field @NonNull public static final android.os.Parcelable.Creator<android.security.keystore.recovery.WrappedApplicationKey> CREATOR;
9666  }
9667
9668  public static class WrappedApplicationKey.Builder {
9669    ctor public WrappedApplicationKey.Builder();
9670    method @NonNull public android.security.keystore.recovery.WrappedApplicationKey build();
9671    method @NonNull public android.security.keystore.recovery.WrappedApplicationKey.Builder setAlias(@NonNull String);
9672    method @NonNull public android.security.keystore.recovery.WrappedApplicationKey.Builder setEncryptedKeyMaterial(@NonNull byte[]);
9673    method @NonNull public android.security.keystore.recovery.WrappedApplicationKey.Builder setMetadata(@Nullable byte[]);
9674  }
9675
9676}
9677
9678package android.service.appprediction {
9679
9680  public abstract class AppPredictionService extends android.app.Service {
9681    ctor public AppPredictionService();
9682    method @MainThread public abstract void onAppTargetEvent(@NonNull android.app.prediction.AppPredictionSessionId, @NonNull android.app.prediction.AppTargetEvent);
9683    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
9684    method public void onCreatePredictionSession(@NonNull android.app.prediction.AppPredictionContext, @NonNull android.app.prediction.AppPredictionSessionId);
9685    method @MainThread public void onDestroyPredictionSession(@NonNull android.app.prediction.AppPredictionSessionId);
9686    method @MainThread public abstract void onLaunchLocationShown(@NonNull android.app.prediction.AppPredictionSessionId, @NonNull String, @NonNull java.util.List<android.app.prediction.AppTargetId>);
9687    method @MainThread public abstract void onRequestPredictionUpdate(@NonNull android.app.prediction.AppPredictionSessionId);
9688    method @MainThread public abstract void onSortAppTargets(@NonNull android.app.prediction.AppPredictionSessionId, @NonNull java.util.List<android.app.prediction.AppTarget>, @NonNull android.os.CancellationSignal, @NonNull java.util.function.Consumer<java.util.List<android.app.prediction.AppTarget>>);
9689    method @MainThread public void onStartPredictionUpdates();
9690    method @MainThread public void onStopPredictionUpdates();
9691    method public final void updatePredictions(@NonNull android.app.prediction.AppPredictionSessionId, @NonNull java.util.List<android.app.prediction.AppTarget>);
9692  }
9693
9694}
9695
9696package android.service.attention {
9697
9698  public abstract class AttentionService extends android.app.Service {
9699    ctor public AttentionService();
9700    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
9701    method public abstract void onCancelAttentionCheck(@NonNull android.service.attention.AttentionService.AttentionCallback);
9702    method public abstract void onCheckAttention(@NonNull android.service.attention.AttentionService.AttentionCallback);
9703    field public static final int ATTENTION_FAILURE_CAMERA_PERMISSION_ABSENT = 6; // 0x6
9704    field public static final int ATTENTION_FAILURE_CANCELLED = 3; // 0x3
9705    field public static final int ATTENTION_FAILURE_PREEMPTED = 4; // 0x4
9706    field public static final int ATTENTION_FAILURE_TIMED_OUT = 5; // 0x5
9707    field public static final int ATTENTION_FAILURE_UNKNOWN = 2; // 0x2
9708    field public static final int ATTENTION_SUCCESS_ABSENT = 0; // 0x0
9709    field public static final int ATTENTION_SUCCESS_PRESENT = 1; // 0x1
9710    field public static final String SERVICE_INTERFACE = "android.service.attention.AttentionService";
9711  }
9712
9713  public static final class AttentionService.AttentionCallback {
9714    method public void onFailure(int);
9715    method public void onSuccess(int, long);
9716  }
9717
9718}
9719
9720package android.service.autofill {
9721
9722  public abstract class AutofillFieldClassificationService extends android.app.Service {
9723    ctor public AutofillFieldClassificationService();
9724    method public android.os.IBinder onBind(android.content.Intent);
9725    method @Nullable public float[][] onCalculateScores(@NonNull java.util.List<android.view.autofill.AutofillValue>, @NonNull java.util.List<java.lang.String>, @NonNull java.util.List<java.lang.String>, @Nullable String, @Nullable android.os.Bundle, @Nullable java.util.Map, @Nullable java.util.Map);
9726    method @Deprecated @Nullable public float[][] onGetScores(@Nullable String, @Nullable android.os.Bundle, @NonNull java.util.List<android.view.autofill.AutofillValue>, @NonNull java.util.List<java.lang.String>);
9727    field public static final String REQUIRED_ALGORITHM_CREDIT_CARD = "CREDIT_CARD";
9728    field public static final String REQUIRED_ALGORITHM_EDIT_DISTANCE = "EDIT_DISTANCE";
9729    field public static final String REQUIRED_ALGORITHM_EXACT_MATCH = "EXACT_MATCH";
9730    field public static final String SERVICE_INTERFACE = "android.service.autofill.AutofillFieldClassificationService";
9731    field public static final String SERVICE_META_DATA_KEY_AVAILABLE_ALGORITHMS = "android.autofill.field_classification.available_algorithms";
9732    field public static final String SERVICE_META_DATA_KEY_DEFAULT_ALGORITHM = "android.autofill.field_classification.default_algorithm";
9733  }
9734
9735  public static final class Dataset.Builder {
9736    ctor public Dataset.Builder(@NonNull android.service.autofill.InlinePresentation);
9737    method @NonNull public android.service.autofill.Dataset.Builder setContent(@NonNull android.view.autofill.AutofillId, @Nullable android.content.ClipData);
9738    method @NonNull public android.service.autofill.Dataset.Builder setFieldInlinePresentation(@NonNull android.view.autofill.AutofillId, @Nullable android.view.autofill.AutofillValue, @Nullable java.util.regex.Pattern, @NonNull android.service.autofill.InlinePresentation);
9739  }
9740
9741  public abstract class InlineSuggestionRenderService extends android.app.Service {
9742    ctor public InlineSuggestionRenderService();
9743    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
9744    method @NonNull public android.os.Bundle onGetInlineSuggestionsRendererInfo();
9745    method @Nullable public android.view.View onRenderSuggestion(@NonNull android.service.autofill.InlinePresentation, int, int);
9746    method public final void startIntentSender(@NonNull android.content.IntentSender);
9747    field public static final String SERVICE_INTERFACE = "android.service.autofill.InlineSuggestionRenderService";
9748  }
9749
9750}
9751
9752package android.service.autofill.augmented {
9753
9754  public abstract class AugmentedAutofillService extends android.app.Service {
9755    ctor public AugmentedAutofillService();
9756    method protected final void dump(java.io.FileDescriptor, java.io.PrintWriter, String[]);
9757    method protected void dump(@NonNull java.io.PrintWriter, @NonNull String[]);
9758    method @Nullable public final android.service.autofill.FillEventHistory getFillEventHistory();
9759    method public void onConnected();
9760    method public void onDisconnected();
9761    method public void onFillRequest(@NonNull android.service.autofill.augmented.FillRequest, @NonNull android.os.CancellationSignal, @NonNull android.service.autofill.augmented.FillController, @NonNull android.service.autofill.augmented.FillCallback);
9762    method public final boolean requestAutofill(@NonNull android.content.ComponentName, @NonNull android.view.autofill.AutofillId);
9763    field public static final String SERVICE_INTERFACE = "android.service.autofill.augmented.AugmentedAutofillService";
9764  }
9765
9766  public final class FillCallback {
9767    method public void onSuccess(@Nullable android.service.autofill.augmented.FillResponse);
9768  }
9769
9770  public final class FillController {
9771    method public void autofill(@NonNull java.util.List<android.util.Pair<android.view.autofill.AutofillId,android.view.autofill.AutofillValue>>);
9772  }
9773
9774  public final class FillRequest {
9775    method @NonNull public android.content.ComponentName getActivityComponent();
9776    method @NonNull public android.view.autofill.AutofillId getFocusedId();
9777    method @NonNull public android.view.autofill.AutofillValue getFocusedValue();
9778    method @Nullable public android.app.assist.AssistStructure.ViewNode getFocusedViewNode();
9779    method @Nullable public android.view.inputmethod.InlineSuggestionsRequest getInlineSuggestionsRequest();
9780    method @Nullable public android.service.autofill.augmented.PresentationParams getPresentationParams();
9781    method public int getTaskId();
9782  }
9783
9784  public final class FillResponse {
9785  }
9786
9787  public static final class FillResponse.Builder {
9788    ctor public FillResponse.Builder();
9789    method @NonNull public android.service.autofill.augmented.FillResponse build();
9790    method @NonNull public android.service.autofill.augmented.FillResponse.Builder setClientState(@NonNull android.os.Bundle);
9791    method @NonNull public android.service.autofill.augmented.FillResponse.Builder setFillWindow(@NonNull android.service.autofill.augmented.FillWindow);
9792    method @NonNull public android.service.autofill.augmented.FillResponse.Builder setInlineSuggestions(@NonNull java.util.List<android.service.autofill.Dataset>);
9793  }
9794
9795  public final class FillWindow implements java.lang.AutoCloseable {
9796    ctor public FillWindow();
9797    method public void destroy();
9798    method public boolean update(@NonNull android.service.autofill.augmented.PresentationParams.Area, @NonNull android.view.View, long);
9799  }
9800
9801  public abstract class PresentationParams {
9802    method @Nullable public android.service.autofill.augmented.PresentationParams.Area getSuggestionArea();
9803  }
9804
9805  public abstract static class PresentationParams.Area {
9806    method @NonNull public android.graphics.Rect getBounds();
9807  }
9808
9809}
9810
9811package android.service.carrier {
9812
9813  public abstract class ApnService extends android.app.Service {
9814    ctor public ApnService();
9815    method @NonNull public android.os.IBinder onBind(@Nullable android.content.Intent);
9816    method @NonNull @WorkerThread public abstract java.util.List<android.content.ContentValues> onRestoreApns(int);
9817  }
9818
9819  public final class CarrierMessagingServiceWrapper implements java.lang.AutoCloseable {
9820    ctor public CarrierMessagingServiceWrapper();
9821    method public boolean bindToCarrierMessagingService(@NonNull android.content.Context, @NonNull String, @NonNull java.util.concurrent.Executor, @NonNull Runnable);
9822    method public void disconnect();
9823    method public void downloadMms(@NonNull android.net.Uri, int, @NonNull android.net.Uri, @NonNull java.util.concurrent.Executor, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallback);
9824    method public void receiveSms(@NonNull android.service.carrier.MessagePdu, @NonNull String, int, int, @NonNull java.util.concurrent.Executor, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallback);
9825    method public void sendDataSms(@NonNull byte[], int, @NonNull String, int, int, @NonNull java.util.concurrent.Executor, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallback);
9826    method public void sendMms(@NonNull android.net.Uri, int, @NonNull android.net.Uri, @NonNull java.util.concurrent.Executor, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallback);
9827    method public void sendMultipartTextSms(@NonNull java.util.List<java.lang.String>, int, @NonNull String, int, @NonNull java.util.concurrent.Executor, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallback);
9828    method public void sendTextSms(@NonNull String, int, @NonNull String, int, @NonNull java.util.concurrent.Executor, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallback);
9829  }
9830
9831  public static interface CarrierMessagingServiceWrapper.CarrierMessagingCallback {
9832    method public default void onDownloadMmsComplete(int);
9833    method public default void onReceiveSmsComplete(int);
9834    method public default void onSendMmsComplete(int, @Nullable byte[]);
9835    method public default void onSendMultipartSmsComplete(int, @Nullable int[]);
9836    method public default void onSendSmsComplete(int, int);
9837  }
9838
9839}
9840
9841package android.service.contentcapture {
9842
9843  public final class ActivityEvent implements android.os.Parcelable {
9844    method public int describeContents();
9845    method @NonNull public android.content.ComponentName getComponentName();
9846    method public int getEventType();
9847    method public void writeToParcel(@NonNull android.os.Parcel, int);
9848    field @NonNull public static final android.os.Parcelable.Creator<android.service.contentcapture.ActivityEvent> CREATOR;
9849    field public static final int TYPE_ACTIVITY_DESTROYED = 24; // 0x18
9850    field public static final int TYPE_ACTIVITY_PAUSED = 2; // 0x2
9851    field public static final int TYPE_ACTIVITY_RESUMED = 1; // 0x1
9852    field public static final int TYPE_ACTIVITY_STOPPED = 23; // 0x17
9853  }
9854
9855  public abstract class ContentCaptureService extends android.app.Service {
9856    ctor public ContentCaptureService();
9857    method public final void disableSelf();
9858    method public void onActivityEvent(@NonNull android.service.contentcapture.ActivityEvent);
9859    method public void onActivitySnapshot(@NonNull android.view.contentcapture.ContentCaptureSessionId, @NonNull android.service.contentcapture.SnapshotData);
9860    method public void onConnected();
9861    method public void onContentCaptureEvent(@NonNull android.view.contentcapture.ContentCaptureSessionId, @NonNull android.view.contentcapture.ContentCaptureEvent);
9862    method public void onCreateContentCaptureSession(@NonNull android.view.contentcapture.ContentCaptureContext, @NonNull android.view.contentcapture.ContentCaptureSessionId);
9863    method public void onDataRemovalRequest(@NonNull android.view.contentcapture.DataRemovalRequest);
9864    method public void onDataShareRequest(@NonNull android.view.contentcapture.DataShareRequest, @NonNull android.service.contentcapture.DataShareCallback);
9865    method public void onDestroyContentCaptureSession(@NonNull android.view.contentcapture.ContentCaptureSessionId);
9866    method public void onDisconnected();
9867    method public final void setContentCaptureConditions(@NonNull String, @Nullable java.util.Set<android.view.contentcapture.ContentCaptureCondition>);
9868    method public final void setContentCaptureWhitelist(@Nullable java.util.Set<java.lang.String>, @Nullable java.util.Set<android.content.ComponentName>);
9869    field public static final String SERVICE_INTERFACE = "android.service.contentcapture.ContentCaptureService";
9870    field public static final String SERVICE_META_DATA = "android.content_capture";
9871  }
9872
9873  public interface DataShareCallback {
9874    method public void onAccept(@NonNull java.util.concurrent.Executor, @NonNull android.service.contentcapture.DataShareReadAdapter);
9875    method public void onReject();
9876  }
9877
9878  public interface DataShareReadAdapter {
9879    method public void onError(int);
9880    method public void onStart(@NonNull android.os.ParcelFileDescriptor);
9881  }
9882
9883  public final class SnapshotData implements android.os.Parcelable {
9884    method public int describeContents();
9885    method @Nullable public android.app.assist.AssistContent getAssistContent();
9886    method @NonNull public android.os.Bundle getAssistData();
9887    method @NonNull public android.app.assist.AssistStructure getAssistStructure();
9888    method public void writeToParcel(@NonNull android.os.Parcel, int);
9889    field @NonNull public static final android.os.Parcelable.Creator<android.service.contentcapture.SnapshotData> CREATOR;
9890  }
9891
9892}
9893
9894package android.service.contentsuggestions {
9895
9896  public abstract class ContentSuggestionsService extends android.app.Service {
9897    ctor public ContentSuggestionsService();
9898    method public abstract void onClassifyContentSelections(@NonNull android.app.contentsuggestions.ClassificationsRequest, @NonNull android.app.contentsuggestions.ContentSuggestionsManager.ClassificationsCallback);
9899    method public abstract void onNotifyInteraction(@NonNull String, @NonNull android.os.Bundle);
9900    method public abstract void onProcessContextImage(int, @Nullable android.graphics.Bitmap, @NonNull android.os.Bundle);
9901    method public abstract void onSuggestContentSelections(@NonNull android.app.contentsuggestions.SelectionsRequest, @NonNull android.app.contentsuggestions.ContentSuggestionsManager.SelectionsCallback);
9902    field public static final String SERVICE_INTERFACE = "android.service.contentsuggestions.ContentSuggestionsService";
9903  }
9904
9905}
9906
9907package android.service.dataloader {
9908
9909  public abstract class DataLoaderService extends android.app.Service {
9910    ctor public DataLoaderService();
9911    method @Nullable public android.service.dataloader.DataLoaderService.DataLoader onCreateDataLoader(@NonNull android.content.pm.DataLoaderParams);
9912  }
9913
9914  public static interface DataLoaderService.DataLoader {
9915    method public boolean onCreate(@NonNull android.content.pm.DataLoaderParams, @NonNull android.service.dataloader.DataLoaderService.FileSystemConnector);
9916    method public boolean onPrepareImage(@NonNull java.util.Collection<android.content.pm.InstallationFile>, @NonNull java.util.Collection<java.lang.String>);
9917  }
9918
9919  public static final class DataLoaderService.FileSystemConnector {
9920    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void writeData(@NonNull String, long, long, @NonNull android.os.ParcelFileDescriptor) throws java.io.IOException;
9921  }
9922
9923}
9924
9925package android.service.displayhash {
9926
9927  public final class DisplayHashParams implements android.os.Parcelable {
9928    method public int describeContents();
9929    method @Nullable public android.util.Size getBufferSize();
9930    method public boolean isGrayscaleBuffer();
9931    method public void writeToParcel(@NonNull android.os.Parcel, int);
9932    field @NonNull public static final android.os.Parcelable.Creator<android.service.displayhash.DisplayHashParams> CREATOR;
9933  }
9934
9935  public static final class DisplayHashParams.Builder {
9936    ctor public DisplayHashParams.Builder();
9937    method @NonNull public android.service.displayhash.DisplayHashParams build();
9938    method @NonNull public android.service.displayhash.DisplayHashParams.Builder setBufferSize(int, int);
9939    method @NonNull public android.service.displayhash.DisplayHashParams.Builder setGrayscaleBuffer(boolean);
9940  }
9941
9942  public abstract class DisplayHashingService extends android.app.Service {
9943    ctor public DisplayHashingService();
9944    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
9945    method public abstract void onGenerateDisplayHash(@NonNull byte[], @NonNull android.hardware.HardwareBuffer, @NonNull android.graphics.Rect, @NonNull String, @NonNull android.view.displayhash.DisplayHashResultCallback);
9946    method @NonNull public abstract java.util.Map<java.lang.String,android.service.displayhash.DisplayHashParams> onGetDisplayHashAlgorithms();
9947    method public abstract int onGetIntervalBetweenRequestsMillis();
9948    method @Nullable public abstract android.view.displayhash.VerifiedDisplayHash onVerifyDisplayHash(@NonNull byte[], @NonNull android.view.displayhash.DisplayHash);
9949    field public static final String SERVICE_INTERFACE = "android.service.displayhash.DisplayHashingService";
9950  }
9951
9952}
9953
9954package android.service.euicc {
9955
9956  public final class DownloadSubscriptionResult implements android.os.Parcelable {
9957    ctor public DownloadSubscriptionResult(int, int, int);
9958    method public int describeContents();
9959    method public int getCardId();
9960    method public int getResolvableErrors();
9961    method public int getResult();
9962    method public void writeToParcel(android.os.Parcel, int);
9963    field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.DownloadSubscriptionResult> CREATOR;
9964  }
9965
9966  public final class EuiccProfileInfo implements android.os.Parcelable {
9967    method public int describeContents();
9968    method public android.service.carrier.CarrierIdentifier getCarrierIdentifier();
9969    method public String getIccid();
9970    method @Nullable public String getNickname();
9971    method @android.service.euicc.EuiccProfileInfo.PolicyRule public int getPolicyRules();
9972    method @android.service.euicc.EuiccProfileInfo.ProfileClass public int getProfileClass();
9973    method public String getProfileName();
9974    method public String getServiceProviderName();
9975    method @android.service.euicc.EuiccProfileInfo.ProfileState public int getState();
9976    method @Nullable public java.util.List<android.telephony.UiccAccessRule> getUiccAccessRules();
9977    method public boolean hasPolicyRule(@android.service.euicc.EuiccProfileInfo.PolicyRule int);
9978    method public boolean hasPolicyRules();
9979    method public void writeToParcel(android.os.Parcel, int);
9980    field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.EuiccProfileInfo> CREATOR;
9981    field public static final int POLICY_RULE_DELETE_AFTER_DISABLING = 4; // 0x4
9982    field public static final int POLICY_RULE_DO_NOT_DELETE = 2; // 0x2
9983    field public static final int POLICY_RULE_DO_NOT_DISABLE = 1; // 0x1
9984    field public static final int PROFILE_CLASS_OPERATIONAL = 2; // 0x2
9985    field public static final int PROFILE_CLASS_PROVISIONING = 1; // 0x1
9986    field public static final int PROFILE_CLASS_TESTING = 0; // 0x0
9987    field public static final int PROFILE_STATE_DISABLED = 0; // 0x0
9988    field public static final int PROFILE_STATE_ENABLED = 1; // 0x1
9989  }
9990
9991  public static final class EuiccProfileInfo.Builder {
9992    ctor public EuiccProfileInfo.Builder(String);
9993    ctor public EuiccProfileInfo.Builder(android.service.euicc.EuiccProfileInfo);
9994    method public android.service.euicc.EuiccProfileInfo build();
9995    method public android.service.euicc.EuiccProfileInfo.Builder setCarrierIdentifier(android.service.carrier.CarrierIdentifier);
9996    method public android.service.euicc.EuiccProfileInfo.Builder setIccid(String);
9997    method public android.service.euicc.EuiccProfileInfo.Builder setNickname(String);
9998    method public android.service.euicc.EuiccProfileInfo.Builder setPolicyRules(@android.service.euicc.EuiccProfileInfo.PolicyRule int);
9999    method public android.service.euicc.EuiccProfileInfo.Builder setProfileClass(@android.service.euicc.EuiccProfileInfo.ProfileClass int);
10000    method public android.service.euicc.EuiccProfileInfo.Builder setProfileName(String);
10001    method public android.service.euicc.EuiccProfileInfo.Builder setServiceProviderName(String);
10002    method public android.service.euicc.EuiccProfileInfo.Builder setState(@android.service.euicc.EuiccProfileInfo.ProfileState int);
10003    method public android.service.euicc.EuiccProfileInfo.Builder setUiccAccessRule(@Nullable java.util.List<android.telephony.UiccAccessRule>);
10004  }
10005
10006  @IntDef(flag=true, prefix={"POLICY_RULE_"}, value={android.service.euicc.EuiccProfileInfo.POLICY_RULE_DO_NOT_DISABLE, android.service.euicc.EuiccProfileInfo.POLICY_RULE_DO_NOT_DELETE, android.service.euicc.EuiccProfileInfo.POLICY_RULE_DELETE_AFTER_DISABLING}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface EuiccProfileInfo.PolicyRule {
10007  }
10008
10009  @IntDef(prefix={"PROFILE_CLASS_"}, value={android.service.euicc.EuiccProfileInfo.PROFILE_CLASS_TESTING, android.service.euicc.EuiccProfileInfo.PROFILE_CLASS_PROVISIONING, android.service.euicc.EuiccProfileInfo.PROFILE_CLASS_OPERATIONAL, 0xffffffff}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface EuiccProfileInfo.ProfileClass {
10010  }
10011
10012  @IntDef(prefix={"PROFILE_STATE_"}, value={android.service.euicc.EuiccProfileInfo.PROFILE_STATE_DISABLED, android.service.euicc.EuiccProfileInfo.PROFILE_STATE_ENABLED, 0xffffffff}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface EuiccProfileInfo.ProfileState {
10013  }
10014
10015  public abstract class EuiccService extends android.app.Service {
10016    ctor public EuiccService();
10017    method public void dump(@NonNull java.io.PrintWriter);
10018    method public int encodeSmdxSubjectAndReasonCode(@Nullable String, @Nullable String);
10019    method @CallSuper public android.os.IBinder onBind(android.content.Intent);
10020    method public abstract int onDeleteSubscription(int, String);
10021    method public android.service.euicc.DownloadSubscriptionResult onDownloadSubscription(int, @NonNull android.telephony.euicc.DownloadableSubscription, boolean, boolean, @Nullable android.os.Bundle);
10022    method @Deprecated public int onDownloadSubscription(int, @NonNull android.telephony.euicc.DownloadableSubscription, boolean, boolean);
10023    method @Deprecated public abstract int onEraseSubscriptions(int);
10024    method public int onEraseSubscriptions(int, @android.telephony.euicc.EuiccCardManager.ResetOption int);
10025    method public abstract android.service.euicc.GetDefaultDownloadableSubscriptionListResult onGetDefaultDownloadableSubscriptionList(int, boolean);
10026    method public abstract android.service.euicc.GetDownloadableSubscriptionMetadataResult onGetDownloadableSubscriptionMetadata(int, android.telephony.euicc.DownloadableSubscription, boolean);
10027    method public abstract String onGetEid(int);
10028    method @NonNull public abstract android.telephony.euicc.EuiccInfo onGetEuiccInfo(int);
10029    method @NonNull public abstract android.service.euicc.GetEuiccProfileInfoListResult onGetEuiccProfileInfoList(int);
10030    method @android.telephony.euicc.EuiccManager.OtaStatus public abstract int onGetOtaStatus(int);
10031    method public abstract int onRetainSubscriptionsForFactoryReset(int);
10032    method public abstract void onStartOtaIfNecessary(int, android.service.euicc.EuiccService.OtaStatusChangedCallback);
10033    method public abstract int onSwitchToSubscription(int, @Nullable String, boolean);
10034    method public abstract int onUpdateSubscriptionNickname(int, String, String);
10035    field public static final String ACTION_BIND_CARRIER_PROVISIONING_SERVICE = "android.service.euicc.action.BIND_CARRIER_PROVISIONING_SERVICE";
10036    field public static final String ACTION_DELETE_SUBSCRIPTION_PRIVILEGED = "android.service.euicc.action.DELETE_SUBSCRIPTION_PRIVILEGED";
10037    field public static final String ACTION_MANAGE_EMBEDDED_SUBSCRIPTIONS = "android.service.euicc.action.MANAGE_EMBEDDED_SUBSCRIPTIONS";
10038    field public static final String ACTION_PROVISION_EMBEDDED_SUBSCRIPTION = "android.service.euicc.action.PROVISION_EMBEDDED_SUBSCRIPTION";
10039    field public static final String ACTION_RENAME_SUBSCRIPTION_PRIVILEGED = "android.service.euicc.action.RENAME_SUBSCRIPTION_PRIVILEGED";
10040    field @Deprecated public static final String ACTION_RESOLVE_CONFIRMATION_CODE = "android.service.euicc.action.RESOLVE_CONFIRMATION_CODE";
10041    field public static final String ACTION_RESOLVE_DEACTIVATE_SIM = "android.service.euicc.action.RESOLVE_DEACTIVATE_SIM";
10042    field public static final String ACTION_RESOLVE_NO_PRIVILEGES = "android.service.euicc.action.RESOLVE_NO_PRIVILEGES";
10043    field public static final String ACTION_RESOLVE_RESOLVABLE_ERRORS = "android.service.euicc.action.RESOLVE_RESOLVABLE_ERRORS";
10044    field public static final String ACTION_START_CARRIER_ACTIVATION = "android.service.euicc.action.START_CARRIER_ACTIVATION";
10045    field public static final String ACTION_START_EUICC_ACTIVATION = "android.service.euicc.action.START_EUICC_ACTIVATION";
10046    field public static final String ACTION_TOGGLE_SUBSCRIPTION_PRIVILEGED = "android.service.euicc.action.TOGGLE_SUBSCRIPTION_PRIVILEGED";
10047    field public static final String CATEGORY_EUICC_UI = "android.service.euicc.category.EUICC_UI";
10048    field public static final String EUICC_SERVICE_INTERFACE = "android.service.euicc.EuiccService";
10049    field public static final String EXTRA_RESOLUTION_ALLOW_POLICY_RULES = "android.service.euicc.extra.RESOLUTION_ALLOW_POLICY_RULES";
10050    field public static final String EXTRA_RESOLUTION_CALLING_PACKAGE = "android.service.euicc.extra.RESOLUTION_CALLING_PACKAGE";
10051    field public static final String EXTRA_RESOLUTION_CARD_ID = "android.service.euicc.extra.RESOLUTION_CARD_ID";
10052    field public static final String EXTRA_RESOLUTION_CONFIRMATION_CODE = "android.service.euicc.extra.RESOLUTION_CONFIRMATION_CODE";
10053    field public static final String EXTRA_RESOLUTION_CONFIRMATION_CODE_RETRIED = "android.service.euicc.extra.RESOLUTION_CONFIRMATION_CODE_RETRIED";
10054    field public static final String EXTRA_RESOLUTION_CONSENT = "android.service.euicc.extra.RESOLUTION_CONSENT";
10055    field public static final String EXTRA_RESOLVABLE_ERRORS = "android.service.euicc.extra.RESOLVABLE_ERRORS";
10056    field public static final int RESOLVABLE_ERROR_CONFIRMATION_CODE = 1; // 0x1
10057    field public static final int RESOLVABLE_ERROR_POLICY_RULES = 2; // 0x2
10058    field public static final int RESULT_FIRST_USER = 1; // 0x1
10059    field public static final int RESULT_MUST_DEACTIVATE_SIM = -1; // 0xffffffff
10060    field @Deprecated public static final int RESULT_NEED_CONFIRMATION_CODE = -2; // 0xfffffffe
10061    field public static final int RESULT_OK = 0; // 0x0
10062    field public static final int RESULT_RESOLVABLE_ERRORS = -2; // 0xfffffffe
10063  }
10064
10065  public abstract static class EuiccService.OtaStatusChangedCallback {
10066    ctor public EuiccService.OtaStatusChangedCallback();
10067    method public abstract void onOtaStatusChanged(int);
10068  }
10069
10070  public final class GetDefaultDownloadableSubscriptionListResult implements android.os.Parcelable {
10071    ctor public GetDefaultDownloadableSubscriptionListResult(int, @Nullable android.telephony.euicc.DownloadableSubscription[]);
10072    method public int describeContents();
10073    method @Nullable public java.util.List<android.telephony.euicc.DownloadableSubscription> getDownloadableSubscriptions();
10074    method public int getResult();
10075    method public void writeToParcel(android.os.Parcel, int);
10076    field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.GetDefaultDownloadableSubscriptionListResult> CREATOR;
10077  }
10078
10079  public final class GetDownloadableSubscriptionMetadataResult implements android.os.Parcelable {
10080    ctor public GetDownloadableSubscriptionMetadataResult(int, @Nullable android.telephony.euicc.DownloadableSubscription);
10081    method public int describeContents();
10082    method @Nullable public android.telephony.euicc.DownloadableSubscription getDownloadableSubscription();
10083    method public int getResult();
10084    method public void writeToParcel(android.os.Parcel, int);
10085    field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.GetDownloadableSubscriptionMetadataResult> CREATOR;
10086  }
10087
10088  public final class GetEuiccProfileInfoListResult implements android.os.Parcelable {
10089    ctor public GetEuiccProfileInfoListResult(int, @Nullable android.service.euicc.EuiccProfileInfo[], boolean);
10090    method public int describeContents();
10091    method public boolean getIsRemovable();
10092    method @Nullable public java.util.List<android.service.euicc.EuiccProfileInfo> getProfiles();
10093    method public int getResult();
10094    method public void writeToParcel(android.os.Parcel, int);
10095    field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.GetEuiccProfileInfoListResult> CREATOR;
10096  }
10097
10098}
10099
10100package android.service.notification {
10101
10102  public final class Adjustment implements android.os.Parcelable {
10103    ctor public Adjustment(String, String, android.os.Bundle, CharSequence, int);
10104    ctor public Adjustment(@NonNull String, @NonNull String, @NonNull android.os.Bundle, @NonNull CharSequence, @NonNull android.os.UserHandle);
10105    ctor protected Adjustment(android.os.Parcel);
10106    method public int describeContents();
10107    method @NonNull public CharSequence getExplanation();
10108    method @NonNull public String getKey();
10109    method @NonNull public String getPackage();
10110    method @NonNull public android.os.Bundle getSignals();
10111    method public int getUser();
10112    method @NonNull public android.os.UserHandle getUserHandle();
10113    method public void writeToParcel(android.os.Parcel, int);
10114    field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.Adjustment> CREATOR;
10115    field public static final String KEY_CONTEXTUAL_ACTIONS = "key_contextual_actions";
10116    field public static final String KEY_IMPORTANCE = "key_importance";
10117    field public static final String KEY_NOT_CONVERSATION = "key_not_conversation";
10118    field public static final String KEY_PEOPLE = "key_people";
10119    field public static final String KEY_RANKING_SCORE = "key_ranking_score";
10120    field public static final String KEY_SNOOZE_CRITERIA = "key_snooze_criteria";
10121    field public static final String KEY_TEXT_REPLIES = "key_text_replies";
10122    field public static final String KEY_USER_SENTIMENT = "key_user_sentiment";
10123  }
10124
10125  public abstract class NotificationAssistantService extends android.service.notification.NotificationListenerService {
10126    ctor public NotificationAssistantService();
10127    method public final void adjustNotification(@NonNull android.service.notification.Adjustment);
10128    method public final void adjustNotifications(@NonNull java.util.List<android.service.notification.Adjustment>);
10129    method public void onActionInvoked(@NonNull String, @NonNull android.app.Notification.Action, int);
10130    method public void onAllowedAdjustmentsChanged();
10131    method @NonNull public final android.os.IBinder onBind(@Nullable android.content.Intent);
10132    method public void onNotificationClicked(@NonNull String);
10133    method public void onNotificationDirectReplied(@NonNull String);
10134    method @Nullable public abstract android.service.notification.Adjustment onNotificationEnqueued(@NonNull android.service.notification.StatusBarNotification);
10135    method @Nullable public android.service.notification.Adjustment onNotificationEnqueued(@NonNull android.service.notification.StatusBarNotification, @NonNull android.app.NotificationChannel);
10136    method @Nullable public android.service.notification.Adjustment onNotificationEnqueued(@NonNull android.service.notification.StatusBarNotification, @NonNull android.app.NotificationChannel, @NonNull android.service.notification.NotificationListenerService.RankingMap);
10137    method public void onNotificationExpansionChanged(@NonNull String, boolean, boolean);
10138    method public void onNotificationFeedbackReceived(@NonNull String, @NonNull android.service.notification.NotificationListenerService.RankingMap, @NonNull android.os.Bundle);
10139    method public abstract void onNotificationSnoozedUntilContext(@NonNull android.service.notification.StatusBarNotification, @NonNull String);
10140    method public void onNotificationVisibilityChanged(@NonNull String, boolean);
10141    method public void onNotificationsSeen(@NonNull java.util.List<java.lang.String>);
10142    method public void onPanelHidden();
10143    method public void onPanelRevealed(int);
10144    method public void onSuggestedReplySent(@NonNull String, @NonNull CharSequence, int);
10145    method public final void unsnoozeNotification(@NonNull String);
10146    field public static final String FEEDBACK_RATING = "feedback.rating";
10147    field public static final String SERVICE_INTERFACE = "android.service.notification.NotificationAssistantService";
10148    field public static final int SOURCE_FROM_APP = 0; // 0x0
10149    field public static final int SOURCE_FROM_ASSISTANT = 1; // 0x1
10150  }
10151
10152  public abstract class NotificationListenerService extends android.app.Service {
10153    method public void onNotificationRemoved(@NonNull android.service.notification.StatusBarNotification, @NonNull android.service.notification.NotificationListenerService.RankingMap, @NonNull android.service.notification.NotificationStats, int);
10154  }
10155
10156  public final class NotificationStats implements android.os.Parcelable {
10157    ctor public NotificationStats();
10158    ctor protected NotificationStats(android.os.Parcel);
10159    method public int describeContents();
10160    method public int getDismissalSentiment();
10161    method public int getDismissalSurface();
10162    method public boolean hasDirectReplied();
10163    method public boolean hasExpanded();
10164    method public boolean hasInteracted();
10165    method public boolean hasSeen();
10166    method public boolean hasSnoozed();
10167    method public boolean hasViewedSettings();
10168    method public void setDirectReplied();
10169    method public void setDismissalSentiment(int);
10170    method public void setDismissalSurface(int);
10171    method public void setExpanded();
10172    method public void setSeen();
10173    method public void setSnoozed();
10174    method public void setViewedSettings();
10175    method public void writeToParcel(android.os.Parcel, int);
10176    field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.NotificationStats> CREATOR;
10177    field public static final int DISMISSAL_AOD = 2; // 0x2
10178    field public static final int DISMISSAL_NOT_DISMISSED = -1; // 0xffffffff
10179    field public static final int DISMISSAL_OTHER = 0; // 0x0
10180    field public static final int DISMISSAL_PEEK = 1; // 0x1
10181    field public static final int DISMISSAL_SHADE = 3; // 0x3
10182    field public static final int DISMISS_SENTIMENT_NEGATIVE = 0; // 0x0
10183    field public static final int DISMISS_SENTIMENT_NEUTRAL = 1; // 0x1
10184    field public static final int DISMISS_SENTIMENT_POSITIVE = 2; // 0x2
10185    field public static final int DISMISS_SENTIMENT_UNKNOWN = -1000; // 0xfffffc18
10186  }
10187
10188  public final class SnoozeCriterion implements android.os.Parcelable {
10189    ctor public SnoozeCriterion(String, CharSequence, CharSequence);
10190    ctor protected SnoozeCriterion(android.os.Parcel);
10191    method public int describeContents();
10192    method public CharSequence getConfirmation();
10193    method public CharSequence getExplanation();
10194    method public String getId();
10195    method public void writeToParcel(android.os.Parcel, int);
10196    field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.SnoozeCriterion> CREATOR;
10197  }
10198
10199}
10200
10201package android.service.oemlock {
10202
10203  public class OemLockManager {
10204    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_CARRIER_OEM_UNLOCK_STATE) public String getLockName();
10205    method @RequiresPermission(android.Manifest.permission.MANAGE_CARRIER_OEM_UNLOCK_STATE) public boolean isOemUnlockAllowedByCarrier();
10206    method @RequiresPermission(android.Manifest.permission.MANAGE_USER_OEM_UNLOCK_STATE) public boolean isOemUnlockAllowedByUser();
10207    method @RequiresPermission(android.Manifest.permission.MANAGE_CARRIER_OEM_UNLOCK_STATE) public void setOemUnlockAllowedByCarrier(boolean, @Nullable byte[]);
10208    method @RequiresPermission(android.Manifest.permission.MANAGE_USER_OEM_UNLOCK_STATE) public void setOemUnlockAllowedByUser(boolean);
10209  }
10210
10211}
10212
10213package android.service.persistentdata {
10214
10215  public class PersistentDataBlockManager {
10216    method @RequiresPermission("android.permission.ACCESS_PDB_STATE") public int getDataBlockSize();
10217    method @android.service.persistentdata.PersistentDataBlockManager.FlashLockState @RequiresPermission(anyOf={android.Manifest.permission.READ_OEM_UNLOCK_STATE, "android.permission.OEM_UNLOCK_STATE"}) public int getFlashLockState();
10218    method public long getMaximumDataBlockSize();
10219    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_OEM_UNLOCK_STATE, "android.permission.OEM_UNLOCK_STATE"}) public boolean getOemUnlockEnabled();
10220    method public byte[] read();
10221    method @Deprecated @RequiresPermission("android.permission.OEM_UNLOCK_STATE") public void setOemUnlockEnabled(boolean);
10222    method @RequiresPermission("android.permission.OEM_UNLOCK_STATE") public void wipe();
10223    method public int write(byte[]);
10224    field public static final int FLASH_LOCK_LOCKED = 1; // 0x1
10225    field public static final int FLASH_LOCK_UNKNOWN = -1; // 0xffffffff
10226    field public static final int FLASH_LOCK_UNLOCKED = 0; // 0x0
10227  }
10228
10229  @IntDef(prefix={"FLASH_LOCK_"}, value={android.service.persistentdata.PersistentDataBlockManager.FLASH_LOCK_UNKNOWN, android.service.persistentdata.PersistentDataBlockManager.FLASH_LOCK_LOCKED, android.service.persistentdata.PersistentDataBlockManager.FLASH_LOCK_UNLOCKED}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface PersistentDataBlockManager.FlashLockState {
10230  }
10231
10232}
10233
10234package android.service.quicksettings {
10235
10236  public class TileService extends android.app.Service {
10237    method public final void setStatusIcon(android.graphics.drawable.Icon, String);
10238  }
10239
10240}
10241
10242package android.service.resolver {
10243
10244  public abstract class ResolverRankerService extends android.app.Service {
10245    ctor public ResolverRankerService();
10246    method public android.os.IBinder onBind(android.content.Intent);
10247    method public void onPredictSharingProbabilities(java.util.List<android.service.resolver.ResolverTarget>);
10248    method public void onTrainRankingModel(java.util.List<android.service.resolver.ResolverTarget>, int);
10249    field public static final String BIND_PERMISSION = "android.permission.BIND_RESOLVER_RANKER_SERVICE";
10250    field public static final String HOLD_PERMISSION = "android.permission.PROVIDE_RESOLVER_RANKER_SERVICE";
10251    field public static final String SERVICE_INTERFACE = "android.service.resolver.ResolverRankerService";
10252  }
10253
10254  public final class ResolverTarget implements android.os.Parcelable {
10255    ctor public ResolverTarget();
10256    method public int describeContents();
10257    method public float getChooserScore();
10258    method public float getLaunchScore();
10259    method public float getRecencyScore();
10260    method public float getSelectProbability();
10261    method public float getTimeSpentScore();
10262    method public void setChooserScore(float);
10263    method public void setLaunchScore(float);
10264    method public void setRecencyScore(float);
10265    method public void setSelectProbability(float);
10266    method public void setTimeSpentScore(float);
10267    method public void writeToParcel(android.os.Parcel, int);
10268    field @NonNull public static final android.os.Parcelable.Creator<android.service.resolver.ResolverTarget> CREATOR;
10269  }
10270
10271}
10272
10273package android.service.resumeonreboot {
10274
10275  public abstract class ResumeOnRebootService extends android.app.Service {
10276    ctor public ResumeOnRebootService();
10277    method @Nullable public android.os.IBinder onBind(@Nullable android.content.Intent);
10278    method @NonNull public abstract byte[] onUnwrap(@NonNull byte[]) throws java.io.IOException;
10279    method @NonNull public abstract byte[] onWrap(@NonNull byte[], long) throws java.io.IOException;
10280    field public static final String SERVICE_INTERFACE = "android.service.resumeonreboot.ResumeOnRebootService";
10281  }
10282
10283}
10284
10285package android.service.rotationresolver {
10286
10287  public final class RotationResolutionRequest implements android.os.Parcelable {
10288    ctor public RotationResolutionRequest(@NonNull String, int, int, boolean, long);
10289    method public int describeContents();
10290    method public int getCurrentRotation();
10291    method @NonNull public String getForegroundPackageName();
10292    method public int getProposedRotation();
10293    method public long getTimeoutMillis();
10294    method public boolean shouldUseCamera();
10295    method public void writeToParcel(@NonNull android.os.Parcel, int);
10296    field @NonNull public static final android.os.Parcelable.Creator<android.service.rotationresolver.RotationResolutionRequest> CREATOR;
10297  }
10298
10299  public abstract class RotationResolverService extends android.app.Service {
10300    ctor public RotationResolverService();
10301    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
10302    method public abstract void onResolveRotation(@NonNull android.service.rotationresolver.RotationResolutionRequest, @Nullable android.os.CancellationSignal, @NonNull android.service.rotationresolver.RotationResolverService.RotationResolverCallback);
10303    field public static final int ROTATION_RESULT_FAILURE_CANCELLED = 0; // 0x0
10304    field public static final int ROTATION_RESULT_FAILURE_NOT_SUPPORTED = 4; // 0x4
10305    field public static final int ROTATION_RESULT_FAILURE_PREEMPTED = 2; // 0x2
10306    field public static final int ROTATION_RESULT_FAILURE_TIMED_OUT = 1; // 0x1
10307    field public static final int ROTATION_RESULT_FAILURE_UNKNOWN = 3; // 0x3
10308    field public static final String SERVICE_INTERFACE = "android.service.rotationresolver.RotationResolverService";
10309  }
10310
10311  public static interface RotationResolverService.RotationResolverCallback {
10312    method public void onFailure(int);
10313    method public void onSuccess(int);
10314  }
10315
10316}
10317
10318package android.service.search {
10319
10320  public abstract class SearchUiService extends android.app.Service {
10321    ctor public SearchUiService();
10322    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
10323    method @MainThread public abstract void onDestroy(@NonNull android.app.search.SearchSessionId);
10324    method @MainThread public abstract void onNotifyEvent(@NonNull android.app.search.SearchSessionId, @NonNull android.app.search.Query, @NonNull android.app.search.SearchTargetEvent);
10325    method @MainThread public abstract void onQuery(@NonNull android.app.search.SearchSessionId, @NonNull android.app.search.Query, @NonNull java.util.function.Consumer<java.util.List<android.app.search.SearchTarget>>);
10326    method public void onSearchSessionCreated(@NonNull android.app.search.SearchContext, @NonNull android.app.search.SearchSessionId);
10327  }
10328
10329}
10330
10331package android.service.settings.suggestions {
10332
10333  public final class Suggestion implements android.os.Parcelable {
10334    method public int describeContents();
10335    method public int getFlags();
10336    method public android.graphics.drawable.Icon getIcon();
10337    method public String getId();
10338    method public android.app.PendingIntent getPendingIntent();
10339    method public CharSequence getSummary();
10340    method public CharSequence getTitle();
10341    method public void writeToParcel(android.os.Parcel, int);
10342    field @NonNull public static final android.os.Parcelable.Creator<android.service.settings.suggestions.Suggestion> CREATOR;
10343    field public static final int FLAG_HAS_BUTTON = 1; // 0x1
10344  }
10345
10346  public static class Suggestion.Builder {
10347    ctor public Suggestion.Builder(String);
10348    method public android.service.settings.suggestions.Suggestion build();
10349    method public android.service.settings.suggestions.Suggestion.Builder setFlags(int);
10350    method public android.service.settings.suggestions.Suggestion.Builder setIcon(android.graphics.drawable.Icon);
10351    method public android.service.settings.suggestions.Suggestion.Builder setPendingIntent(android.app.PendingIntent);
10352    method public android.service.settings.suggestions.Suggestion.Builder setSummary(CharSequence);
10353    method public android.service.settings.suggestions.Suggestion.Builder setTitle(CharSequence);
10354  }
10355
10356  public abstract class SuggestionService extends android.app.Service {
10357    ctor public SuggestionService();
10358    method public android.os.IBinder onBind(android.content.Intent);
10359    method public abstract java.util.List<android.service.settings.suggestions.Suggestion> onGetSuggestions();
10360    method public abstract void onSuggestionDismissed(android.service.settings.suggestions.Suggestion);
10361    method public abstract void onSuggestionLaunched(android.service.settings.suggestions.Suggestion);
10362  }
10363
10364}
10365
10366package android.service.smartspace {
10367
10368  public abstract class SmartspaceService extends android.app.Service {
10369    ctor public SmartspaceService();
10370    method @MainThread public abstract void notifySmartspaceEvent(@NonNull android.app.smartspace.SmartspaceSessionId, @NonNull android.app.smartspace.SmartspaceTargetEvent);
10371    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
10372    method public abstract void onCreateSmartspaceSession(@NonNull android.app.smartspace.SmartspaceConfig, @NonNull android.app.smartspace.SmartspaceSessionId);
10373    method @MainThread public abstract void onDestroy(@NonNull android.app.smartspace.SmartspaceSessionId);
10374    method public abstract void onDestroySmartspaceSession(@NonNull android.app.smartspace.SmartspaceSessionId);
10375    method @MainThread public abstract void onRequestSmartspaceUpdate(@NonNull android.app.smartspace.SmartspaceSessionId);
10376    method public final void updateSmartspaceTargets(@NonNull android.app.smartspace.SmartspaceSessionId, @NonNull java.util.List<android.app.smartspace.SmartspaceTarget>);
10377  }
10378
10379}
10380
10381package android.service.storage {
10382
10383  public abstract class ExternalStorageService extends android.app.Service {
10384    ctor public ExternalStorageService();
10385    method public void onAnrDelayStarted(@NonNull String, int, int, int);
10386    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
10387    method public abstract void onEndSession(@NonNull String) throws java.io.IOException;
10388    method public void onFreeCache(@NonNull java.util.UUID, long) throws java.io.IOException;
10389    method public abstract void onStartSession(@NonNull String, int, @NonNull android.os.ParcelFileDescriptor, @NonNull java.io.File, @NonNull java.io.File) throws java.io.IOException;
10390    method public abstract void onVolumeStateChanged(@NonNull android.os.storage.StorageVolume) throws java.io.IOException;
10391    field public static final int FLAG_SESSION_ATTRIBUTE_INDEXABLE = 2; // 0x2
10392    field public static final int FLAG_SESSION_TYPE_FUSE = 1; // 0x1
10393    field public static final String SERVICE_INTERFACE = "android.service.storage.ExternalStorageService";
10394  }
10395
10396}
10397
10398package android.service.textclassifier {
10399
10400  public abstract class TextClassifierService extends android.app.Service {
10401    ctor public TextClassifierService();
10402    method @NonNull public static android.view.textclassifier.TextClassifier getDefaultTextClassifierImplementation(@NonNull android.content.Context);
10403    method @Deprecated public final android.view.textclassifier.TextClassifier getLocalTextClassifier();
10404    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
10405    method @MainThread public abstract void onClassifyText(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.TextClassification.Request, @NonNull android.os.CancellationSignal, @NonNull android.service.textclassifier.TextClassifierService.Callback<android.view.textclassifier.TextClassification>);
10406    method public void onConnected();
10407    method @MainThread public void onCreateTextClassificationSession(@NonNull android.view.textclassifier.TextClassificationContext, @NonNull android.view.textclassifier.TextClassificationSessionId);
10408    method @MainThread public void onDestroyTextClassificationSession(@NonNull android.view.textclassifier.TextClassificationSessionId);
10409    method @MainThread public void onDetectLanguage(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.TextLanguage.Request, @NonNull android.os.CancellationSignal, @NonNull android.service.textclassifier.TextClassifierService.Callback<android.view.textclassifier.TextLanguage>);
10410    method public void onDisconnected();
10411    method @MainThread public abstract void onGenerateLinks(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.TextLinks.Request, @NonNull android.os.CancellationSignal, @NonNull android.service.textclassifier.TextClassifierService.Callback<android.view.textclassifier.TextLinks>);
10412    method @Deprecated @MainThread public void onSelectionEvent(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.SelectionEvent);
10413    method @MainThread public void onSuggestConversationActions(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.ConversationActions.Request, @NonNull android.os.CancellationSignal, @NonNull android.service.textclassifier.TextClassifierService.Callback<android.view.textclassifier.ConversationActions>);
10414    method @MainThread public abstract void onSuggestSelection(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.TextSelection.Request, @NonNull android.os.CancellationSignal, @NonNull android.service.textclassifier.TextClassifierService.Callback<android.view.textclassifier.TextSelection>);
10415    method @MainThread public void onTextClassifierEvent(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.TextClassifierEvent);
10416    field public static final String SERVICE_INTERFACE = "android.service.textclassifier.TextClassifierService";
10417  }
10418
10419  public static interface TextClassifierService.Callback<T> {
10420    method public void onFailure(@NonNull CharSequence);
10421    method public void onSuccess(T);
10422  }
10423
10424}
10425
10426package android.service.timezone {
10427
10428  public abstract class TimeZoneProviderService extends android.app.Service {
10429    ctor public TimeZoneProviderService();
10430    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
10431    method public abstract void onStartUpdates(long);
10432    method public abstract void onStopUpdates();
10433    method public final void reportPermanentFailure(@NonNull Throwable);
10434    method public final void reportSuggestion(@NonNull android.service.timezone.TimeZoneProviderSuggestion);
10435    method public final void reportUncertain();
10436    field public static final String PRIMARY_LOCATION_TIME_ZONE_PROVIDER_SERVICE_INTERFACE = "android.service.timezone.PrimaryLocationTimeZoneProviderService";
10437    field public static final String SECONDARY_LOCATION_TIME_ZONE_PROVIDER_SERVICE_INTERFACE = "android.service.timezone.SecondaryLocationTimeZoneProviderService";
10438  }
10439
10440  public final class TimeZoneProviderSuggestion implements android.os.Parcelable {
10441    method public int describeContents();
10442    method public long getElapsedRealtimeMillis();
10443    method @NonNull public java.util.List<java.lang.String> getTimeZoneIds();
10444    method public void writeToParcel(@NonNull android.os.Parcel, int);
10445    field @NonNull public static final android.os.Parcelable.Creator<android.service.timezone.TimeZoneProviderSuggestion> CREATOR;
10446  }
10447
10448  public static final class TimeZoneProviderSuggestion.Builder {
10449    ctor public TimeZoneProviderSuggestion.Builder();
10450    method @NonNull public android.service.timezone.TimeZoneProviderSuggestion build();
10451    method @NonNull public android.service.timezone.TimeZoneProviderSuggestion.Builder setElapsedRealtimeMillis(long);
10452    method @NonNull public android.service.timezone.TimeZoneProviderSuggestion.Builder setTimeZoneIds(@NonNull java.util.List<java.lang.String>);
10453  }
10454
10455}
10456
10457package android.service.translation {
10458
10459  public abstract class TranslationService extends android.app.Service {
10460    ctor public TranslationService();
10461    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
10462    method public void onConnected();
10463    method public abstract void onCreateTranslationSession(@NonNull android.view.translation.TranslationContext, int, @NonNull java.util.function.Consumer<java.lang.Boolean>);
10464    method public void onDisconnected();
10465    method public abstract void onFinishTranslationSession(int);
10466    method public abstract void onTranslationCapabilitiesRequest(int, int, @NonNull java.util.function.Consumer<java.util.Set<android.view.translation.TranslationCapability>>);
10467    method public abstract void onTranslationRequest(@NonNull android.view.translation.TranslationRequest, int, @Nullable android.os.CancellationSignal, @NonNull java.util.function.Consumer<android.view.translation.TranslationResponse>);
10468    method public final void updateTranslationCapability(@NonNull android.view.translation.TranslationCapability);
10469    field public static final String SERVICE_INTERFACE = "android.service.translation.TranslationService";
10470    field public static final String SERVICE_META_DATA = "android.translation_service";
10471  }
10472
10473}
10474
10475package android.service.trust {
10476
10477  public class TrustAgentService extends android.app.Service {
10478    ctor public TrustAgentService();
10479    method public final void addEscrowToken(byte[], android.os.UserHandle);
10480    method @Deprecated public final void grantTrust(CharSequence, long, boolean);
10481    method public final void grantTrust(CharSequence, long, int);
10482    method public final void isEscrowTokenActive(long, android.os.UserHandle);
10483    method public final android.os.IBinder onBind(android.content.Intent);
10484    method public boolean onConfigure(java.util.List<android.os.PersistableBundle>);
10485    method public void onDeviceLocked();
10486    method public void onDeviceUnlockLockout(long);
10487    method public void onDeviceUnlocked();
10488    method public void onEscrowTokenAdded(byte[], long, android.os.UserHandle);
10489    method public void onEscrowTokenRemoved(long, boolean);
10490    method public void onEscrowTokenStateReceived(long, int);
10491    method public void onTrustTimeout();
10492    method public void onUnlockAttempt(boolean);
10493    method public final void removeEscrowToken(long, android.os.UserHandle);
10494    method public final void revokeTrust();
10495    method public final void setManagingTrust(boolean);
10496    method public final void showKeyguardErrorMessage(@NonNull CharSequence);
10497    method public final void unlockUserWithToken(long, byte[], android.os.UserHandle);
10498    field public static final int FLAG_GRANT_TRUST_DISMISS_KEYGUARD = 2; // 0x2
10499    field public static final int FLAG_GRANT_TRUST_INITIATED_BY_USER = 1; // 0x1
10500    field public static final String SERVICE_INTERFACE = "android.service.trust.TrustAgentService";
10501    field public static final int TOKEN_STATE_ACTIVE = 1; // 0x1
10502    field public static final int TOKEN_STATE_INACTIVE = 0; // 0x0
10503    field public static final String TRUST_AGENT_META_DATA = "android.service.trust.trustagent";
10504  }
10505
10506}
10507
10508package android.service.voice {
10509
10510  public class AlwaysOnHotwordDetector implements android.service.voice.HotwordDetector {
10511    method @Nullable public android.content.Intent createEnrollIntent();
10512    method @Nullable public android.content.Intent createReEnrollIntent();
10513    method @Nullable public android.content.Intent createUnEnrollIntent();
10514    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public int getParameter(int);
10515    method public int getSupportedAudioCapabilities();
10516    method public int getSupportedRecognitionModes();
10517    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public android.service.voice.AlwaysOnHotwordDetector.ModelParamRange queryParameter(int);
10518    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public int setParameter(int, int);
10519    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public boolean startRecognition(int);
10520    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public boolean startRecognition();
10521    method public boolean startRecognition(@NonNull android.os.ParcelFileDescriptor, @NonNull android.media.AudioFormat, @Nullable android.os.PersistableBundle);
10522    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public boolean stopRecognition();
10523    method public final void updateState(@Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory);
10524    field public static final int AUDIO_CAPABILITY_ECHO_CANCELLATION = 1; // 0x1
10525    field public static final int AUDIO_CAPABILITY_NOISE_SUPPRESSION = 2; // 0x2
10526    field public static final int MODEL_PARAM_THRESHOLD_FACTOR = 0; // 0x0
10527    field public static final int RECOGNITION_FLAG_ALLOW_MULTIPLE_TRIGGERS = 2; // 0x2
10528    field public static final int RECOGNITION_FLAG_CAPTURE_TRIGGER_AUDIO = 1; // 0x1
10529    field public static final int RECOGNITION_FLAG_ENABLE_AUDIO_ECHO_CANCELLATION = 4; // 0x4
10530    field public static final int RECOGNITION_FLAG_ENABLE_AUDIO_NOISE_SUPPRESSION = 8; // 0x8
10531    field public static final int RECOGNITION_FLAG_RUN_IN_BATTERY_SAVER = 16; // 0x10
10532    field public static final int RECOGNITION_MODE_USER_IDENTIFICATION = 2; // 0x2
10533    field public static final int RECOGNITION_MODE_VOICE_TRIGGER = 1; // 0x1
10534    field public static final int STATE_ERROR = 3; // 0x3
10535    field public static final int STATE_HARDWARE_UNAVAILABLE = -2; // 0xfffffffe
10536    field public static final int STATE_KEYPHRASE_ENROLLED = 2; // 0x2
10537    field public static final int STATE_KEYPHRASE_UNENROLLED = 1; // 0x1
10538    field @Deprecated public static final int STATE_KEYPHRASE_UNSUPPORTED = -1; // 0xffffffff
10539  }
10540
10541  public abstract static class AlwaysOnHotwordDetector.Callback implements android.service.voice.HotwordDetector.Callback {
10542    ctor public AlwaysOnHotwordDetector.Callback();
10543    method public abstract void onAvailabilityChanged(int);
10544    method public void onHotwordDetectionServiceInitialized(int);
10545    method public void onHotwordDetectionServiceRestarted();
10546    method public void onRejected(@NonNull android.service.voice.HotwordRejectedResult);
10547  }
10548
10549  public static class AlwaysOnHotwordDetector.EventPayload {
10550    method @Nullable public android.os.ParcelFileDescriptor getAudioStream();
10551    method @Nullable public android.media.AudioFormat getCaptureAudioFormat();
10552    method @Nullable public android.service.voice.HotwordDetectedResult getHotwordDetectedResult();
10553    method @Nullable public byte[] getTriggerAudio();
10554  }
10555
10556  public static final class AlwaysOnHotwordDetector.ModelParamRange {
10557    method public int getEnd();
10558    method public int getStart();
10559  }
10560
10561  public final class HotwordDetectedResult implements android.os.Parcelable {
10562    method public int describeContents();
10563    method public int getAudioChannel();
10564    method public int getConfidenceLevel();
10565    method @NonNull public android.os.PersistableBundle getExtras();
10566    method public int getHotwordDurationMillis();
10567    method public int getHotwordOffsetMillis();
10568    method public int getHotwordPhraseId();
10569    method public static int getMaxBundleSize();
10570    method public static int getMaxHotwordPhraseId();
10571    method public static int getMaxScore();
10572    method @Nullable public android.media.MediaSyncEvent getMediaSyncEvent();
10573    method public int getPersonalizedScore();
10574    method public int getScore();
10575    method public boolean isHotwordDetectionPersonalized();
10576    method public void writeToParcel(@NonNull android.os.Parcel, int);
10577    field public static final int AUDIO_CHANNEL_UNSET = -1; // 0xffffffff
10578    field public static final int CONFIDENCE_LEVEL_HIGH = 5; // 0x5
10579    field public static final int CONFIDENCE_LEVEL_LOW = 1; // 0x1
10580    field public static final int CONFIDENCE_LEVEL_LOW_MEDIUM = 2; // 0x2
10581    field public static final int CONFIDENCE_LEVEL_MEDIUM = 3; // 0x3
10582    field public static final int CONFIDENCE_LEVEL_MEDIUM_HIGH = 4; // 0x4
10583    field public static final int CONFIDENCE_LEVEL_NONE = 0; // 0x0
10584    field public static final int CONFIDENCE_LEVEL_VERY_HIGH = 6; // 0x6
10585    field @NonNull public static final android.os.Parcelable.Creator<android.service.voice.HotwordDetectedResult> CREATOR;
10586    field public static final int HOTWORD_OFFSET_UNSET = -1; // 0xffffffff
10587  }
10588
10589  public static final class HotwordDetectedResult.Builder {
10590    ctor public HotwordDetectedResult.Builder();
10591    method @NonNull public android.service.voice.HotwordDetectedResult build();
10592    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setAudioChannel(int);
10593    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setConfidenceLevel(int);
10594    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setExtras(@NonNull android.os.PersistableBundle);
10595    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setHotwordDetectionPersonalized(boolean);
10596    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setHotwordDurationMillis(int);
10597    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setHotwordOffsetMillis(int);
10598    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setHotwordPhraseId(int);
10599    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setMediaSyncEvent(@NonNull android.media.MediaSyncEvent);
10600    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setPersonalizedScore(int);
10601    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setScore(int);
10602  }
10603
10604  public abstract class HotwordDetectionService extends android.app.Service {
10605    ctor public HotwordDetectionService();
10606    method public static int getMaxCustomInitializationStatus();
10607    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
10608    method public void onDetect(@NonNull android.service.voice.AlwaysOnHotwordDetector.EventPayload, long, @NonNull android.service.voice.HotwordDetectionService.Callback);
10609    method public void onDetect(@NonNull android.service.voice.HotwordDetectionService.Callback);
10610    method public void onDetect(@NonNull android.os.ParcelFileDescriptor, @NonNull android.media.AudioFormat, @Nullable android.os.PersistableBundle, @NonNull android.service.voice.HotwordDetectionService.Callback);
10611    method public void onStopDetection();
10612    method public void onUpdateState(@Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory, long, @Nullable java.util.function.IntConsumer);
10613    field public static final int INITIALIZATION_STATUS_SUCCESS = 0; // 0x0
10614    field public static final int INITIALIZATION_STATUS_UNKNOWN = 100; // 0x64
10615    field public static final String SERVICE_INTERFACE = "android.service.voice.HotwordDetectionService";
10616  }
10617
10618  public static final class HotwordDetectionService.Callback {
10619    method public void onDetected(@NonNull android.service.voice.HotwordDetectedResult);
10620    method public void onRejected(@NonNull android.service.voice.HotwordRejectedResult);
10621  }
10622
10623  public interface HotwordDetector {
10624    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public boolean startRecognition();
10625    method public boolean startRecognition(@NonNull android.os.ParcelFileDescriptor, @NonNull android.media.AudioFormat, @Nullable android.os.PersistableBundle);
10626    method public boolean stopRecognition();
10627    method public void updateState(@Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory);
10628  }
10629
10630  public static interface HotwordDetector.Callback {
10631    method public void onDetected(@NonNull android.service.voice.AlwaysOnHotwordDetector.EventPayload);
10632    method public void onError();
10633    method public void onHotwordDetectionServiceInitialized(int);
10634    method public void onHotwordDetectionServiceRestarted();
10635    method public void onRecognitionPaused();
10636    method public void onRecognitionResumed();
10637    method public void onRejected(@NonNull android.service.voice.HotwordRejectedResult);
10638  }
10639
10640  public final class HotwordRejectedResult implements android.os.Parcelable {
10641    method public int describeContents();
10642    method public int getConfidenceLevel();
10643    method public void writeToParcel(@NonNull android.os.Parcel, int);
10644    field public static final int CONFIDENCE_LEVEL_HIGH = 3; // 0x3
10645    field public static final int CONFIDENCE_LEVEL_LOW = 1; // 0x1
10646    field public static final int CONFIDENCE_LEVEL_MEDIUM = 2; // 0x2
10647    field public static final int CONFIDENCE_LEVEL_NONE = 0; // 0x0
10648    field @NonNull public static final android.os.Parcelable.Creator<android.service.voice.HotwordRejectedResult> CREATOR;
10649  }
10650
10651  public static final class HotwordRejectedResult.Builder {
10652    ctor public HotwordRejectedResult.Builder();
10653    method @NonNull public android.service.voice.HotwordRejectedResult build();
10654    method @NonNull public android.service.voice.HotwordRejectedResult.Builder setConfidenceLevel(int);
10655  }
10656
10657  public class VoiceInteractionService extends android.app.Service {
10658    method @NonNull public final android.service.voice.AlwaysOnHotwordDetector createAlwaysOnHotwordDetector(String, java.util.Locale, android.service.voice.AlwaysOnHotwordDetector.Callback);
10659    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_HOTWORD_DETECTION) public final android.service.voice.AlwaysOnHotwordDetector createAlwaysOnHotwordDetector(String, java.util.Locale, @Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory, android.service.voice.AlwaysOnHotwordDetector.Callback);
10660    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_HOTWORD_DETECTION) public final android.service.voice.HotwordDetector createHotwordDetector(@Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory, @NonNull android.service.voice.HotwordDetector.Callback);
10661    method @NonNull @RequiresPermission("android.permission.MANAGE_VOICE_KEYPHRASES") public final android.media.voice.KeyphraseModelManager createKeyphraseModelManager();
10662  }
10663
10664}
10665
10666package android.service.wallpaper {
10667
10668  public class WallpaperService.Engine {
10669    method public boolean isInAmbientMode();
10670    method public void onAmbientModeChanged(boolean, long);
10671  }
10672
10673}
10674
10675package android.service.watchdog {
10676
10677  public abstract class ExplicitHealthCheckService extends android.app.Service {
10678    ctor public ExplicitHealthCheckService();
10679    method public final void notifyHealthCheckPassed(@NonNull String);
10680    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
10681    method public abstract void onCancelHealthCheck(@NonNull String);
10682    method @NonNull public abstract java.util.List<java.lang.String> onGetRequestedPackages();
10683    method @NonNull public abstract java.util.List<android.service.watchdog.ExplicitHealthCheckService.PackageConfig> onGetSupportedPackages();
10684    method public abstract void onRequestHealthCheck(@NonNull String);
10685    field public static final String BIND_PERMISSION = "android.permission.BIND_EXPLICIT_HEALTH_CHECK_SERVICE";
10686    field public static final String SERVICE_INTERFACE = "android.service.watchdog.ExplicitHealthCheckService";
10687  }
10688
10689  public static final class ExplicitHealthCheckService.PackageConfig implements android.os.Parcelable {
10690    ctor public ExplicitHealthCheckService.PackageConfig(@NonNull String, long);
10691    method public int describeContents();
10692    method public long getHealthCheckTimeoutMillis();
10693    method @NonNull public String getPackageName();
10694    method public void writeToParcel(android.os.Parcel, int);
10695    field @NonNull public static final android.os.Parcelable.Creator<android.service.watchdog.ExplicitHealthCheckService.PackageConfig> CREATOR;
10696  }
10697
10698}
10699
10700package android.telecom {
10701
10702  @Deprecated public class AudioState implements android.os.Parcelable {
10703    ctor @Deprecated public AudioState(boolean, int, int);
10704    ctor @Deprecated public AudioState(android.telecom.AudioState);
10705    ctor @Deprecated public AudioState(android.telecom.CallAudioState);
10706    method @Deprecated public static String audioRouteToString(int);
10707    method @Deprecated public int describeContents();
10708    method @Deprecated public int getRoute();
10709    method @Deprecated public int getSupportedRouteMask();
10710    method @Deprecated public boolean isMuted();
10711    method @Deprecated public void writeToParcel(android.os.Parcel, int);
10712    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.telecom.AudioState> CREATOR;
10713    field @Deprecated public static final int ROUTE_BLUETOOTH = 2; // 0x2
10714    field @Deprecated public static final int ROUTE_EARPIECE = 1; // 0x1
10715    field @Deprecated public static final int ROUTE_SPEAKER = 8; // 0x8
10716    field @Deprecated public static final int ROUTE_WIRED_HEADSET = 4; // 0x4
10717    field @Deprecated public static final int ROUTE_WIRED_OR_EARPIECE = 5; // 0x5
10718  }
10719
10720  public final class BluetoothCallQualityReport implements android.os.Parcelable {
10721    method public int describeContents();
10722    method @IntRange(from=0) public int getNegativeAcknowledgementCount();
10723    method @IntRange(from=0) public int getPacketsNotReceivedCount();
10724    method @IntRange(from=0) public int getRetransmittedPacketsCount();
10725    method @IntRange(from=0xffffff81, to=20) public int getRssiDbm();
10726    method public long getSentTimestampMillis();
10727    method public int getSnrDb();
10728    method public boolean isChoppyVoice();
10729    method public void writeToParcel(@NonNull android.os.Parcel, int);
10730    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.BluetoothCallQualityReport> CREATOR;
10731    field public static final String EVENT_BLUETOOTH_CALL_QUALITY_REPORT = "android.telecom.event.BLUETOOTH_CALL_QUALITY_REPORT";
10732    field public static final String EXTRA_BLUETOOTH_CALL_QUALITY_REPORT = "android.telecom.extra.BLUETOOTH_CALL_QUALITY_REPORT";
10733  }
10734
10735  public static final class BluetoothCallQualityReport.Builder {
10736    ctor public BluetoothCallQualityReport.Builder();
10737    method @NonNull public android.telecom.BluetoothCallQualityReport build();
10738    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setChoppyVoice(boolean);
10739    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setNegativeAcknowledgementCount(int);
10740    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setPacketsNotReceivedCount(int);
10741    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setRetransmittedPacketsCount(int);
10742    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setRssiDbm(int);
10743    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setSentTimestampMillis(long);
10744    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setSnrDb(int);
10745  }
10746
10747  public final class Call {
10748    method @Deprecated public void addListener(android.telecom.Call.Listener);
10749    method public void enterBackgroundAudioProcessing();
10750    method public void exitBackgroundAudioProcessing(boolean);
10751    method @Deprecated public void removeListener(android.telecom.Call.Listener);
10752    field @Deprecated public static final int STATE_PRE_DIAL_WAIT = 8; // 0x8
10753  }
10754
10755  @Deprecated public abstract static class Call.Listener extends android.telecom.Call.Callback {
10756    ctor @Deprecated public Call.Listener();
10757  }
10758
10759  public abstract class CallDiagnosticService extends android.app.Service {
10760    ctor public CallDiagnosticService();
10761    method @NonNull public java.util.concurrent.Executor getExecutor();
10762    method @Nullable public android.os.IBinder onBind(@NonNull android.content.Intent);
10763    method public abstract void onBluetoothCallQualityReportReceived(@NonNull android.telecom.BluetoothCallQualityReport);
10764    method public abstract void onCallAudioStateChanged(@NonNull android.telecom.CallAudioState);
10765    method @NonNull public abstract android.telecom.CallDiagnostics onInitializeCallDiagnostics(@NonNull android.telecom.Call.Details);
10766    method public abstract void onRemoveCallDiagnostics(@NonNull android.telecom.CallDiagnostics);
10767    field public static final String SERVICE_INTERFACE = "android.telecom.CallDiagnosticService";
10768  }
10769
10770  public abstract class CallDiagnostics {
10771    ctor public CallDiagnostics();
10772    method public final void clearDiagnosticMessage(int);
10773    method public final void displayDiagnosticMessage(int, @NonNull CharSequence);
10774    method public abstract void onCallDetailsChanged(@NonNull android.telecom.Call.Details);
10775    method @Nullable public abstract CharSequence onCallDisconnected(int, int);
10776    method @Nullable public abstract CharSequence onCallDisconnected(@NonNull android.telephony.ims.ImsReasonInfo);
10777    method public abstract void onCallQualityReceived(@NonNull android.telephony.CallQuality);
10778    method public abstract void onReceiveDeviceToDeviceMessage(int, int);
10779    method public final void sendDeviceToDeviceMessage(int, int);
10780    field public static final int BATTERY_STATE_CHARGING = 3; // 0x3
10781    field public static final int BATTERY_STATE_GOOD = 2; // 0x2
10782    field public static final int BATTERY_STATE_LOW = 1; // 0x1
10783    field public static final int COVERAGE_GOOD = 2; // 0x2
10784    field public static final int COVERAGE_POOR = 1; // 0x1
10785    field public static final int MESSAGE_CALL_AUDIO_CODEC = 2; // 0x2
10786    field public static final int MESSAGE_CALL_NETWORK_TYPE = 1; // 0x1
10787    field public static final int MESSAGE_DEVICE_BATTERY_STATE = 3; // 0x3
10788    field public static final int MESSAGE_DEVICE_NETWORK_COVERAGE = 4; // 0x4
10789  }
10790
10791  public static class CallScreeningService.CallResponse.Builder {
10792    method @NonNull @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_OUTPUT) public android.telecom.CallScreeningService.CallResponse.Builder setShouldScreenCallViaAudioProcessing(boolean);
10793  }
10794
10795  public abstract class Conference extends android.telecom.Conferenceable {
10796    method @Deprecated public final android.telecom.AudioState getAudioState();
10797    method @Deprecated public final long getConnectTimeMillis();
10798    method public android.telecom.Connection getPrimaryConnection();
10799    method @NonNull public final String getTelecomCallId();
10800    method @Deprecated public void onAudioStateChanged(android.telecom.AudioState);
10801    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public final void setAddress(@NonNull android.net.Uri, int);
10802    method public final void setCallerDisplayName(@NonNull String, int);
10803    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setConferenceState(boolean);
10804    method @Deprecated public final void setConnectTimeMillis(long);
10805  }
10806
10807  public abstract class Connection extends android.telecom.Conferenceable {
10808    method @Deprecated public final android.telecom.AudioState getAudioState();
10809    method @IntRange(from=0) public final long getConnectTimeMillis();
10810    method public final long getConnectionStartElapsedRealtimeMillis();
10811    method @Nullable public android.telecom.PhoneAccountHandle getPhoneAccountHandle();
10812    method @Nullable public final String getTelecomCallId();
10813    method @Deprecated public void onAudioStateChanged(android.telecom.AudioState);
10814    method @RequiresPermission(android.Manifest.permission.READ_CONTACTS) public void onCallFilteringCompleted(@NonNull android.telecom.Connection.CallFilteringCompletionInfo);
10815    method public final void resetConnectionTime();
10816    method public void setCallDirection(int);
10817    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public final void setConnectTimeMillis(@IntRange(from=0) long);
10818    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public final void setConnectionStartElapsedRealtimeMillis(long);
10819    method public void setPhoneAccountHandle(@NonNull android.telecom.PhoneAccountHandle);
10820    method public void setTelecomCallId(@NonNull String);
10821    field public static final int CAPABILITY_CONFERENCE_HAS_NO_CHILDREN = 2097152; // 0x200000
10822    field public static final int CAPABILITY_SPEED_UP_MT_AUDIO = 262144; // 0x40000
10823    field public static final String EVENT_DEVICE_TO_DEVICE_MESSAGE = "android.telecom.event.DEVICE_TO_DEVICE_MESSAGE";
10824    field public static final String EXTRA_DEVICE_TO_DEVICE_MESSAGE_TYPE = "android.telecom.extra.DEVICE_TO_DEVICE_MESSAGE_TYPE";
10825    field public static final String EXTRA_DEVICE_TO_DEVICE_MESSAGE_VALUE = "android.telecom.extra.DEVICE_TO_DEVICE_MESSAGE_VALUE";
10826    field public static final String EXTRA_DISABLE_ADD_CALL = "android.telecom.extra.DISABLE_ADD_CALL";
10827    field public static final int PROPERTY_EMERGENCY_CALLBACK_MODE = 1; // 0x1
10828    field public static final int PROPERTY_GENERIC_CONFERENCE = 2; // 0x2
10829    field public static final int PROPERTY_IS_DOWNGRADED_CONFERENCE = 64; // 0x40
10830    field public static final int PROPERTY_REMOTELY_HOSTED = 2048; // 0x800
10831  }
10832
10833  public static final class Connection.CallFilteringCompletionInfo implements android.os.Parcelable {
10834    ctor public Connection.CallFilteringCompletionInfo(boolean, boolean, @Nullable android.telecom.CallScreeningService.CallResponse, @Nullable android.content.ComponentName);
10835    method public int describeContents();
10836    method @Nullable public android.telecom.CallScreeningService.CallResponse getCallResponse();
10837    method @Nullable public android.content.ComponentName getCallScreeningComponent();
10838    method public boolean isBlocked();
10839    method public boolean isInContacts();
10840    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.Connection.CallFilteringCompletionInfo> CREATOR;
10841  }
10842
10843  public final class ConnectionRequest implements android.os.Parcelable {
10844    method @Nullable public String getTelecomCallId();
10845  }
10846
10847  public abstract class ConnectionService extends android.app.Service {
10848    method public final void addExistingConnection(@NonNull android.telecom.PhoneAccountHandle, @NonNull android.telecom.Connection, @NonNull android.telecom.Conference);
10849  }
10850
10851  public abstract class InCallService extends android.app.Service {
10852    method @Deprecated public android.telecom.Phone getPhone();
10853    method @Deprecated public void onPhoneCreated(android.telecom.Phone);
10854    method @Deprecated public void onPhoneDestroyed(android.telecom.Phone);
10855  }
10856
10857  public class ParcelableCallAnalytics implements android.os.Parcelable {
10858    ctor public ParcelableCallAnalytics(long, long, int, boolean, boolean, int, int, boolean, String, boolean, java.util.List<android.telecom.ParcelableCallAnalytics.AnalyticsEvent>, java.util.List<android.telecom.ParcelableCallAnalytics.EventTiming>);
10859    ctor public ParcelableCallAnalytics(android.os.Parcel);
10860    method public java.util.List<android.telecom.ParcelableCallAnalytics.AnalyticsEvent> analyticsEvents();
10861    method public int describeContents();
10862    method public long getCallDurationMillis();
10863    method public int getCallTechnologies();
10864    method public int getCallTerminationCode();
10865    method public int getCallType();
10866    method public String getConnectionService();
10867    method public java.util.List<android.telecom.ParcelableCallAnalytics.EventTiming> getEventTimings();
10868    method public long getStartTimeMillis();
10869    method public boolean isAdditionalCall();
10870    method public boolean isCreatedFromExistingConnection();
10871    method public boolean isEmergencyCall();
10872    method public boolean isInterrupted();
10873    method public void writeToParcel(android.os.Parcel, int);
10874    field public static final int CALLTYPE_INCOMING = 1; // 0x1
10875    field public static final int CALLTYPE_OUTGOING = 2; // 0x2
10876    field public static final int CALLTYPE_UNKNOWN = 0; // 0x0
10877    field public static final int CDMA_PHONE = 1; // 0x1
10878    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.ParcelableCallAnalytics> CREATOR;
10879    field public static final int GSM_PHONE = 2; // 0x2
10880    field public static final int IMS_PHONE = 4; // 0x4
10881    field public static final long MILLIS_IN_1_SECOND = 1000L; // 0x3e8L
10882    field public static final long MILLIS_IN_5_MINUTES = 300000L; // 0x493e0L
10883    field public static final int SIP_PHONE = 8; // 0x8
10884    field public static final int STILL_CONNECTED = -1; // 0xffffffff
10885    field public static final int THIRD_PARTY_PHONE = 16; // 0x10
10886  }
10887
10888  public static final class ParcelableCallAnalytics.AnalyticsEvent implements android.os.Parcelable {
10889    ctor public ParcelableCallAnalytics.AnalyticsEvent(int, long);
10890    method public int describeContents();
10891    method public int getEventName();
10892    method public long getTimeSinceLastEvent();
10893    method public void writeToParcel(android.os.Parcel, int);
10894    field public static final int AUDIO_ROUTE_BT = 204; // 0xcc
10895    field public static final int AUDIO_ROUTE_EARPIECE = 205; // 0xcd
10896    field public static final int AUDIO_ROUTE_HEADSET = 206; // 0xce
10897    field public static final int AUDIO_ROUTE_SPEAKER = 207; // 0xcf
10898    field public static final int BIND_CS = 5; // 0x5
10899    field public static final int BLOCK_CHECK_FINISHED = 105; // 0x69
10900    field public static final int BLOCK_CHECK_INITIATED = 104; // 0x68
10901    field public static final int CONFERENCE_WITH = 300; // 0x12c
10902    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.ParcelableCallAnalytics.AnalyticsEvent> CREATOR;
10903    field public static final int CS_BOUND = 6; // 0x6
10904    field public static final int DIRECT_TO_VM_FINISHED = 103; // 0x67
10905    field public static final int DIRECT_TO_VM_INITIATED = 102; // 0x66
10906    field public static final int FILTERING_COMPLETED = 107; // 0x6b
10907    field public static final int FILTERING_INITIATED = 106; // 0x6a
10908    field public static final int FILTERING_TIMED_OUT = 108; // 0x6c
10909    field public static final int MUTE = 202; // 0xca
10910    field public static final int REMOTELY_HELD = 402; // 0x192
10911    field public static final int REMOTELY_UNHELD = 403; // 0x193
10912    field public static final int REQUEST_ACCEPT = 7; // 0x7
10913    field public static final int REQUEST_HOLD = 400; // 0x190
10914    field public static final int REQUEST_PULL = 500; // 0x1f4
10915    field public static final int REQUEST_REJECT = 8; // 0x8
10916    field public static final int REQUEST_UNHOLD = 401; // 0x191
10917    field public static final int SCREENING_COMPLETED = 101; // 0x65
10918    field public static final int SCREENING_SENT = 100; // 0x64
10919    field public static final int SET_ACTIVE = 1; // 0x1
10920    field public static final int SET_DIALING = 4; // 0x4
10921    field public static final int SET_DISCONNECTED = 2; // 0x2
10922    field public static final int SET_HOLD = 404; // 0x194
10923    field public static final int SET_PARENT = 302; // 0x12e
10924    field public static final int SET_SELECT_PHONE_ACCOUNT = 0; // 0x0
10925    field public static final int SILENCE = 201; // 0xc9
10926    field public static final int SKIP_RINGING = 200; // 0xc8
10927    field public static final int SPLIT_CONFERENCE = 301; // 0x12d
10928    field public static final int START_CONNECTION = 3; // 0x3
10929    field public static final int SWAP = 405; // 0x195
10930    field public static final int UNMUTE = 203; // 0xcb
10931  }
10932
10933  public static final class ParcelableCallAnalytics.EventTiming implements android.os.Parcelable {
10934    ctor public ParcelableCallAnalytics.EventTiming(int, long);
10935    method public int describeContents();
10936    method public int getName();
10937    method public long getTime();
10938    method public void writeToParcel(android.os.Parcel, int);
10939    field public static final int ACCEPT_TIMING = 0; // 0x0
10940    field public static final int BIND_CS_TIMING = 6; // 0x6
10941    field public static final int BLOCK_CHECK_FINISHED_TIMING = 9; // 0x9
10942    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.ParcelableCallAnalytics.EventTiming> CREATOR;
10943    field public static final int DIRECT_TO_VM_FINISHED_TIMING = 8; // 0x8
10944    field public static final int DISCONNECT_TIMING = 2; // 0x2
10945    field public static final int FILTERING_COMPLETED_TIMING = 10; // 0xa
10946    field public static final int FILTERING_TIMED_OUT_TIMING = 11; // 0xb
10947    field public static final int HOLD_TIMING = 3; // 0x3
10948    field public static final int INVALID = 999999; // 0xf423f
10949    field public static final int OUTGOING_TIME_TO_DIALING_TIMING = 5; // 0x5
10950    field public static final int REJECT_TIMING = 1; // 0x1
10951    field public static final int SCREENING_COMPLETED_TIMING = 7; // 0x7
10952    field public static final int UNHOLD_TIMING = 4; // 0x4
10953  }
10954
10955  @Deprecated public final class Phone {
10956    method @Deprecated public void addListener(android.telecom.Phone.Listener);
10957    method @Deprecated public boolean canAddCall();
10958    method @Deprecated public android.telecom.AudioState getAudioState();
10959    method @Deprecated public android.telecom.CallAudioState getCallAudioState();
10960    method @Deprecated public java.util.List<android.telecom.Call> getCalls();
10961    method @Deprecated public void removeListener(android.telecom.Phone.Listener);
10962    method @Deprecated public void requestBluetoothAudio(String);
10963    method @Deprecated public void setAudioRoute(int);
10964    method @Deprecated public void setMuted(boolean);
10965  }
10966
10967  @Deprecated public abstract static class Phone.Listener {
10968    ctor @Deprecated public Phone.Listener();
10969    method @Deprecated public void onAudioStateChanged(android.telecom.Phone, android.telecom.AudioState);
10970    method @Deprecated public void onBringToForeground(android.telecom.Phone, boolean);
10971    method @Deprecated public void onCallAdded(android.telecom.Phone, android.telecom.Call);
10972    method @Deprecated public void onCallAudioStateChanged(android.telecom.Phone, android.telecom.CallAudioState);
10973    method @Deprecated public void onCallRemoved(android.telecom.Phone, android.telecom.Call);
10974    method @Deprecated public void onCanAddCallChanged(android.telecom.Phone, boolean);
10975    method @Deprecated public void onSilenceRinger(android.telecom.Phone);
10976  }
10977
10978  public final class PhoneAccount implements android.os.Parcelable {
10979    field public static final int CAPABILITY_EMERGENCY_CALLS_ONLY = 128; // 0x80
10980    field public static final int CAPABILITY_EMERGENCY_PREFERRED = 8192; // 0x2000
10981    field public static final int CAPABILITY_EMERGENCY_VIDEO_CALLING = 512; // 0x200
10982    field public static final int CAPABILITY_MULTI_USER = 32; // 0x20
10983    field public static final String EXTRA_PLAY_CALL_RECORDING_TONE = "android.telecom.extra.PLAY_CALL_RECORDING_TONE";
10984    field public static final String EXTRA_SORT_ORDER = "android.telecom.extra.SORT_ORDER";
10985  }
10986
10987  public static class PhoneAccount.Builder {
10988    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telecom.PhoneAccount.Builder setGroupId(@NonNull String);
10989  }
10990
10991  public class PhoneAccountSuggestionService extends android.app.Service {
10992    ctor public PhoneAccountSuggestionService();
10993    method public void onAccountSuggestionRequest(@NonNull String);
10994    method public android.os.IBinder onBind(android.content.Intent);
10995    method public final void suggestPhoneAccounts(@NonNull String, @NonNull java.util.List<android.telecom.PhoneAccountSuggestion>);
10996    field public static final String SERVICE_INTERFACE = "android.telecom.PhoneAccountSuggestionService";
10997  }
10998
10999  public final class RemoteConference {
11000    method @Deprecated public void setAudioState(android.telecom.AudioState);
11001  }
11002
11003  public final class RemoteConnection {
11004    method @RequiresPermission(android.Manifest.permission.READ_CONTACTS) public void onCallFilteringCompleted(@NonNull android.telecom.Connection.CallFilteringCompletionInfo);
11005    method @Deprecated public void setAudioState(android.telecom.AudioState);
11006  }
11007
11008  public final class StatusHints implements android.os.Parcelable {
11009    ctor @Deprecated public StatusHints(android.content.ComponentName, CharSequence, int, android.os.Bundle);
11010    method @Deprecated public android.graphics.drawable.Drawable getIcon(android.content.Context);
11011    method @Deprecated public int getIconResId();
11012    method @Deprecated public android.content.ComponentName getPackageName();
11013  }
11014
11015  public final class TelecomAnalytics implements android.os.Parcelable {
11016    ctor public TelecomAnalytics(java.util.List<android.telecom.TelecomAnalytics.SessionTiming>, java.util.List<android.telecom.ParcelableCallAnalytics>);
11017    method public int describeContents();
11018    method public java.util.List<android.telecom.ParcelableCallAnalytics> getCallAnalytics();
11019    method public java.util.List<android.telecom.TelecomAnalytics.SessionTiming> getSessionTimings();
11020    method public void writeToParcel(android.os.Parcel, int);
11021    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.TelecomAnalytics> CREATOR;
11022  }
11023
11024  public static final class TelecomAnalytics.SessionTiming implements android.os.Parcelable {
11025    ctor public TelecomAnalytics.SessionTiming(int, long);
11026    method public int describeContents();
11027    method public Integer getKey();
11028    method public long getTime();
11029    method public void writeToParcel(android.os.Parcel, int);
11030    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.TelecomAnalytics.SessionTiming> CREATOR;
11031    field public static final int CSW_ADD_CONFERENCE_CALL = 108; // 0x6c
11032    field public static final int CSW_HANDLE_CREATE_CONNECTION_COMPLETE = 100; // 0x64
11033    field public static final int CSW_REMOVE_CALL = 106; // 0x6a
11034    field public static final int CSW_SET_ACTIVE = 101; // 0x65
11035    field public static final int CSW_SET_DIALING = 103; // 0x67
11036    field public static final int CSW_SET_DISCONNECTED = 104; // 0x68
11037    field public static final int CSW_SET_IS_CONFERENCED = 107; // 0x6b
11038    field public static final int CSW_SET_ON_HOLD = 105; // 0x69
11039    field public static final int CSW_SET_RINGING = 102; // 0x66
11040    field public static final int ICA_ANSWER_CALL = 1; // 0x1
11041    field public static final int ICA_CONFERENCE = 8; // 0x8
11042    field public static final int ICA_DISCONNECT_CALL = 3; // 0x3
11043    field public static final int ICA_HOLD_CALL = 4; // 0x4
11044    field public static final int ICA_MUTE = 6; // 0x6
11045    field public static final int ICA_REJECT_CALL = 2; // 0x2
11046    field public static final int ICA_SET_AUDIO_ROUTE = 7; // 0x7
11047    field public static final int ICA_UNHOLD_CALL = 5; // 0x5
11048  }
11049
11050  public class TelecomManager {
11051    method public void addNewUnknownCall(android.telecom.PhoneAccountHandle, android.os.Bundle);
11052    method @Deprecated public void clearAccounts();
11053    method public void clearPhoneAccounts();
11054    method @NonNull public android.content.Intent createLaunchEmergencyDialerIntent(@Nullable String);
11055    method @RequiresPermission(android.Manifest.permission.DUMP) public android.telecom.TelecomAnalytics dumpAnalytics();
11056    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void enablePhoneAccount(android.telecom.PhoneAccountHandle, boolean);
11057    method public java.util.List<android.telecom.PhoneAccountHandle> getAllPhoneAccountHandles();
11058    method public java.util.List<android.telecom.PhoneAccount> getAllPhoneAccounts();
11059    method public int getAllPhoneAccountsCount();
11060    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<android.telecom.PhoneAccountHandle> getCallCapablePhoneAccounts(boolean);
11061    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}, conditional=true) public int getCallState();
11062    method public android.telecom.PhoneAccountHandle getConnectionManager();
11063    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getCurrentTtyMode();
11064    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getDefaultDialerPackage(@NonNull android.os.UserHandle);
11065    method @Deprecated public android.content.ComponentName getDefaultPhoneApp();
11066    method @Deprecated public java.util.List<android.telecom.PhoneAccountHandle> getPhoneAccountsForPackage();
11067    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public java.util.List<android.telecom.PhoneAccountHandle> getPhoneAccountsSupportingScheme(String);
11068    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean isInEmergencyCall();
11069    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isRinging();
11070    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setUserSelectedOutgoingPhoneAccount(@Nullable android.telecom.PhoneAccountHandle);
11071    field public static final String ACTION_CURRENT_TTY_MODE_CHANGED = "android.telecom.action.CURRENT_TTY_MODE_CHANGED";
11072    field public static final String ACTION_TTY_PREFERRED_MODE_CHANGED = "android.telecom.action.TTY_PREFERRED_MODE_CHANGED";
11073    field public static final int CALL_SOURCE_EMERGENCY_DIALPAD = 1; // 0x1
11074    field public static final int CALL_SOURCE_EMERGENCY_SHORTCUT = 2; // 0x2
11075    field public static final int CALL_SOURCE_UNSPECIFIED = 0; // 0x0
11076    field public static final String EXTRA_CALL_BACK_INTENT = "android.telecom.extra.CALL_BACK_INTENT";
11077    field public static final String EXTRA_CALL_SOURCE = "android.telecom.extra.CALL_SOURCE";
11078    field public static final String EXTRA_CALL_TECHNOLOGY_TYPE = "android.telecom.extra.CALL_TECHNOLOGY_TYPE";
11079    field public static final String EXTRA_CLEAR_MISSED_CALLS_INTENT = "android.telecom.extra.CLEAR_MISSED_CALLS_INTENT";
11080    field public static final String EXTRA_CONNECTION_SERVICE = "android.telecom.extra.CONNECTION_SERVICE";
11081    field public static final String EXTRA_CURRENT_TTY_MODE = "android.telecom.extra.CURRENT_TTY_MODE";
11082    field public static final String EXTRA_IS_USER_INTENT_EMERGENCY_CALL = "android.telecom.extra.IS_USER_INTENT_EMERGENCY_CALL";
11083    field public static final String EXTRA_TTY_PREFERRED_MODE = "android.telecom.extra.TTY_PREFERRED_MODE";
11084    field public static final String EXTRA_UNKNOWN_CALL_HANDLE = "android.telecom.extra.UNKNOWN_CALL_HANDLE";
11085    field public static final int TTY_MODE_FULL = 1; // 0x1
11086    field public static final int TTY_MODE_HCO = 2; // 0x2
11087    field public static final int TTY_MODE_OFF = 0; // 0x0
11088    field public static final int TTY_MODE_VCO = 3; // 0x3
11089  }
11090
11091}
11092
11093package android.telephony {
11094
11095  public final class AccessNetworkConstants {
11096    field public static final int TRANSPORT_TYPE_INVALID = -1; // 0xffffffff
11097  }
11098
11099  public static final class AccessNetworkConstants.NgranBands {
11100    method public static int getFrequencyRangeGroup(int);
11101    field public static final int FREQUENCY_RANGE_GROUP_1 = 1; // 0x1
11102    field public static final int FREQUENCY_RANGE_GROUP_2 = 2; // 0x2
11103    field public static final int FREQUENCY_RANGE_GROUP_UNKNOWN = 0; // 0x0
11104  }
11105
11106  public final class BarringInfo implements android.os.Parcelable {
11107    ctor public BarringInfo();
11108    method @NonNull public android.telephony.BarringInfo createLocationInfoSanitizedCopy();
11109  }
11110
11111  public final class CallAttributes implements android.os.Parcelable {
11112    ctor public CallAttributes(@NonNull android.telephony.PreciseCallState, int, @NonNull android.telephony.CallQuality);
11113    method public int describeContents();
11114    method @NonNull public android.telephony.CallQuality getCallQuality();
11115    method public int getNetworkType();
11116    method @NonNull public android.telephony.PreciseCallState getPreciseCallState();
11117    method public void writeToParcel(android.os.Parcel, int);
11118    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CallAttributes> CREATOR;
11119  }
11120
11121  public final class CallForwardingInfo implements android.os.Parcelable {
11122    ctor public CallForwardingInfo(boolean, int, @Nullable String, int);
11123    method public int describeContents();
11124    method @Nullable public String getNumber();
11125    method public int getReason();
11126    method public int getTimeoutSeconds();
11127    method public boolean isEnabled();
11128    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CallForwardingInfo> CREATOR;
11129    field public static final int REASON_ALL = 4; // 0x4
11130    field public static final int REASON_ALL_CONDITIONAL = 5; // 0x5
11131    field public static final int REASON_BUSY = 1; // 0x1
11132    field public static final int REASON_NOT_REACHABLE = 3; // 0x3
11133    field public static final int REASON_NO_REPLY = 2; // 0x2
11134    field public static final int REASON_UNCONDITIONAL = 0; // 0x0
11135  }
11136
11137  public final class CallQuality implements android.os.Parcelable {
11138    ctor public CallQuality(int, int, int, int, int, int, int, int, int, int, int);
11139    ctor public CallQuality(int, int, int, int, int, int, int, int, int, int, int, boolean, boolean, boolean);
11140    method public int describeContents();
11141    method public int getAverageRelativeJitter();
11142    method public int getAverageRoundTripTime();
11143    method public int getCallDuration();
11144    method public int getCodecType();
11145    method public int getDownlinkCallQualityLevel();
11146    method public int getMaxRelativeJitter();
11147    method public int getNumRtpPacketsNotReceived();
11148    method public int getNumRtpPacketsReceived();
11149    method public int getNumRtpPacketsTransmitted();
11150    method public int getNumRtpPacketsTransmittedLost();
11151    method public int getUplinkCallQualityLevel();
11152    method public boolean isIncomingSilenceDetectedAtCallSetup();
11153    method public boolean isOutgoingSilenceDetectedAtCallSetup();
11154    method public boolean isRtpInactivityDetected();
11155    method public void writeToParcel(android.os.Parcel, int);
11156    field public static final int CALL_QUALITY_BAD = 4; // 0x4
11157    field public static final int CALL_QUALITY_EXCELLENT = 0; // 0x0
11158    field public static final int CALL_QUALITY_FAIR = 2; // 0x2
11159    field public static final int CALL_QUALITY_GOOD = 1; // 0x1
11160    field public static final int CALL_QUALITY_NOT_AVAILABLE = 5; // 0x5
11161    field public static final int CALL_QUALITY_POOR = 3; // 0x3
11162    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CallQuality> CREATOR;
11163  }
11164
11165  public class CarrierConfigManager {
11166    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getDefaultCarrierServicePackageName();
11167    method @NonNull public static android.os.PersistableBundle getDefaultConfig();
11168    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void overrideConfig(int, @Nullable android.os.PersistableBundle);
11169    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void updateConfigForPhoneId(int, String);
11170    field public static final int GBA_DIGEST = 3; // 0x3
11171    field public static final int GBA_ME = 1; // 0x1
11172    field public static final int GBA_U = 2; // 0x2
11173    field public static final String KEY_CARRIER_SETUP_APP_STRING = "carrier_setup_app_string";
11174    field public static final String KEY_GBA_MODE_INT = "gba_mode_int";
11175    field public static final String KEY_GBA_UA_SECURITY_ORGANIZATION_INT = "gba_ua_security_organization_int";
11176    field public static final String KEY_GBA_UA_SECURITY_PROTOCOL_INT = "gba_ua_security_protocol_int";
11177    field public static final String KEY_GBA_UA_TLS_CIPHER_SUITE_INT = "gba_ua_tls_cipher_suite_int";
11178    field public static final String KEY_SUPPORT_CDMA_1X_VOICE_CALLS_BOOL = "support_cdma_1x_voice_calls_bool";
11179  }
11180
11181  public static final class CarrierConfigManager.Wifi {
11182    field public static final String KEY_AVOID_5GHZ_SOFTAP_FOR_LAA_BOOL = "wifi.avoid_5ghz_softap_for_laa_bool";
11183    field public static final String KEY_AVOID_5GHZ_WIFI_DIRECT_FOR_LAA_BOOL = "wifi.avoid_5ghz_wifi_direct_for_laa_bool";
11184    field public static final String KEY_HOTSPOT_MAX_CLIENT_COUNT = "wifi.hotspot_maximum_client_count";
11185    field public static final String KEY_PREFIX = "wifi.";
11186    field public static final String KEY_SUGGESTION_SSID_LIST_WITH_MAC_RANDOMIZATION_DISABLED = "wifi.suggestion_ssid_list_with_mac_randomization_disabled";
11187  }
11188
11189  public final class CarrierRestrictionRules implements android.os.Parcelable {
11190    method @NonNull public java.util.List<java.lang.Boolean> areCarrierIdentifiersAllowed(@NonNull java.util.List<android.service.carrier.CarrierIdentifier>);
11191    method public int describeContents();
11192    method @NonNull public java.util.List<android.service.carrier.CarrierIdentifier> getAllowedCarriers();
11193    method public int getDefaultCarrierRestriction();
11194    method @NonNull public java.util.List<android.service.carrier.CarrierIdentifier> getExcludedCarriers();
11195    method public int getMultiSimPolicy();
11196    method public boolean isAllCarriersAllowed();
11197    method public void writeToParcel(android.os.Parcel, int);
11198    field public static final int CARRIER_RESTRICTION_DEFAULT_ALLOWED = 1; // 0x1
11199    field public static final int CARRIER_RESTRICTION_DEFAULT_NOT_ALLOWED = 0; // 0x0
11200    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CarrierRestrictionRules> CREATOR;
11201    field public static final int MULTISIM_POLICY_NONE = 0; // 0x0
11202    field public static final int MULTISIM_POLICY_ONE_VALID_SIM_MUST_BE_PRESENT = 1; // 0x1
11203  }
11204
11205  public static final class CarrierRestrictionRules.Builder {
11206    ctor public CarrierRestrictionRules.Builder();
11207    method @NonNull public android.telephony.CarrierRestrictionRules build();
11208    method @NonNull public android.telephony.CarrierRestrictionRules.Builder setAllCarriersAllowed();
11209    method @NonNull public android.telephony.CarrierRestrictionRules.Builder setAllowedCarriers(@NonNull java.util.List<android.service.carrier.CarrierIdentifier>);
11210    method @NonNull public android.telephony.CarrierRestrictionRules.Builder setDefaultCarrierRestriction(int);
11211    method @NonNull public android.telephony.CarrierRestrictionRules.Builder setExcludedCarriers(@NonNull java.util.List<android.service.carrier.CarrierIdentifier>);
11212    method @NonNull public android.telephony.CarrierRestrictionRules.Builder setMultiSimPolicy(int);
11213  }
11214
11215  public class CbGeoUtils {
11216  }
11217
11218  public static class CbGeoUtils.Circle implements android.telephony.CbGeoUtils.Geometry {
11219    ctor public CbGeoUtils.Circle(@NonNull android.telephony.CbGeoUtils.LatLng, double);
11220    method public boolean contains(@NonNull android.telephony.CbGeoUtils.LatLng);
11221    method @NonNull public android.telephony.CbGeoUtils.LatLng getCenter();
11222    method public double getRadius();
11223  }
11224
11225  public static interface CbGeoUtils.Geometry {
11226    method public boolean contains(@NonNull android.telephony.CbGeoUtils.LatLng);
11227  }
11228
11229  public static class CbGeoUtils.LatLng {
11230    ctor public CbGeoUtils.LatLng(double, double);
11231    method public double distance(@NonNull android.telephony.CbGeoUtils.LatLng);
11232    method @NonNull public android.telephony.CbGeoUtils.LatLng subtract(@NonNull android.telephony.CbGeoUtils.LatLng);
11233    field public final double lat;
11234    field public final double lng;
11235  }
11236
11237  public static class CbGeoUtils.Polygon implements android.telephony.CbGeoUtils.Geometry {
11238    ctor public CbGeoUtils.Polygon(@NonNull java.util.List<android.telephony.CbGeoUtils.LatLng>);
11239    method public boolean contains(@NonNull android.telephony.CbGeoUtils.LatLng);
11240    method @NonNull public java.util.List<android.telephony.CbGeoUtils.LatLng> getVertices();
11241  }
11242
11243  public class CellBroadcastIntents {
11244    method public static void sendSmsCbReceivedBroadcast(@NonNull android.content.Context, @Nullable android.os.UserHandle, @NonNull android.telephony.SmsCbMessage, @Nullable android.content.BroadcastReceiver, @Nullable android.os.Handler, int, int);
11245    field public static final String ACTION_AREA_INFO_UPDATED = "android.telephony.action.AREA_INFO_UPDATED";
11246  }
11247
11248  public abstract class CellBroadcastService extends android.app.Service {
11249    ctor public CellBroadcastService();
11250    method @NonNull @WorkerThread public abstract CharSequence getCellBroadcastAreaInfo(int);
11251    method @CallSuper public android.os.IBinder onBind(@Nullable android.content.Intent);
11252    method public abstract void onCdmaCellBroadcastSms(int, @NonNull byte[], int);
11253    method public abstract void onCdmaScpMessage(int, @NonNull java.util.List<android.telephony.cdma.CdmaSmsCbProgramData>, @NonNull String, @NonNull java.util.function.Consumer<android.os.Bundle>);
11254    method public abstract void onGsmCellBroadcastSms(int, @NonNull byte[]);
11255    field public static final String CELL_BROADCAST_SERVICE_INTERFACE = "android.telephony.CellBroadcastService";
11256  }
11257
11258  public abstract class CellIdentity implements android.os.Parcelable {
11259    method @NonNull public abstract android.telephony.CellLocation asCellLocation();
11260    method @NonNull public abstract android.telephony.CellIdentity sanitizeLocationInfo();
11261  }
11262
11263  public final class CellIdentityCdma extends android.telephony.CellIdentity {
11264    method @NonNull public android.telephony.cdma.CdmaCellLocation asCellLocation();
11265    method @NonNull public android.telephony.CellIdentityCdma sanitizeLocationInfo();
11266  }
11267
11268  public final class CellIdentityGsm extends android.telephony.CellIdentity {
11269    method @NonNull public android.telephony.gsm.GsmCellLocation asCellLocation();
11270    method @NonNull public android.telephony.CellIdentityGsm sanitizeLocationInfo();
11271  }
11272
11273  public final class CellIdentityLte extends android.telephony.CellIdentity {
11274    method @NonNull public android.telephony.gsm.GsmCellLocation asCellLocation();
11275    method @NonNull public android.telephony.CellIdentityLte sanitizeLocationInfo();
11276  }
11277
11278  public final class CellIdentityNr extends android.telephony.CellIdentity {
11279    method @NonNull public android.telephony.CellLocation asCellLocation();
11280    method @NonNull public android.telephony.CellIdentityNr sanitizeLocationInfo();
11281  }
11282
11283  public final class CellIdentityTdscdma extends android.telephony.CellIdentity {
11284    method @NonNull public android.telephony.gsm.GsmCellLocation asCellLocation();
11285    method @NonNull public android.telephony.CellIdentityTdscdma sanitizeLocationInfo();
11286  }
11287
11288  public final class CellIdentityWcdma extends android.telephony.CellIdentity {
11289    method @NonNull public android.telephony.gsm.GsmCellLocation asCellLocation();
11290    method @NonNull public android.telephony.CellIdentityWcdma sanitizeLocationInfo();
11291  }
11292
11293  public final class DataFailCause {
11294    field @Deprecated public static final int VSNCP_APN_UNATHORIZED = 2238; // 0x8be
11295  }
11296
11297  public final class DataSpecificRegistrationInfo implements android.os.Parcelable {
11298    method public int describeContents();
11299    method @Deprecated @NonNull public android.telephony.LteVopsSupportInfo getLteVopsSupportInfo();
11300    method @Nullable public android.telephony.VopsSupportInfo getVopsSupportInfo();
11301    method public void writeToParcel(android.os.Parcel, int);
11302    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.DataSpecificRegistrationInfo> CREATOR;
11303  }
11304
11305  public final class DataThrottlingRequest implements android.os.Parcelable {
11306    method public int describeContents();
11307    method public long getCompletionDurationMillis();
11308    method public int getDataThrottlingAction();
11309    method public void writeToParcel(@NonNull android.os.Parcel, int);
11310    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.DataThrottlingRequest> CREATOR;
11311    field public static final int DATA_THROTTLING_ACTION_HOLD = 3; // 0x3
11312    field public static final int DATA_THROTTLING_ACTION_NO_DATA_THROTTLING = 0; // 0x0
11313    field public static final int DATA_THROTTLING_ACTION_THROTTLE_PRIMARY_CARRIER = 2; // 0x2
11314    field public static final int DATA_THROTTLING_ACTION_THROTTLE_SECONDARY_CARRIER = 1; // 0x1
11315  }
11316
11317  public static final class DataThrottlingRequest.Builder {
11318    ctor public DataThrottlingRequest.Builder();
11319    method @NonNull public android.telephony.DataThrottlingRequest build();
11320    method @NonNull public android.telephony.DataThrottlingRequest.Builder setCompletionDurationMillis(long);
11321    method @NonNull public android.telephony.DataThrottlingRequest.Builder setDataThrottlingAction(int);
11322  }
11323
11324  public final class ImsiEncryptionInfo implements android.os.Parcelable {
11325    method public int describeContents();
11326    method @Nullable public String getKeyIdentifier();
11327    method @Nullable public java.security.PublicKey getPublicKey();
11328    method public void writeToParcel(@NonNull android.os.Parcel, int);
11329    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ImsiEncryptionInfo> CREATOR;
11330  }
11331
11332  public final class LinkCapacityEstimate implements android.os.Parcelable {
11333    ctor public LinkCapacityEstimate(int, int, int);
11334    method public int describeContents();
11335    method public int getDownlinkCapacityKbps();
11336    method public int getType();
11337    method public int getUplinkCapacityKbps();
11338    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.LinkCapacityEstimate> CREATOR;
11339    field public static final int INVALID = -1; // 0xffffffff
11340    field public static final int LCE_TYPE_COMBINED = 2; // 0x2
11341    field public static final int LCE_TYPE_PRIMARY = 0; // 0x0
11342    field public static final int LCE_TYPE_SECONDARY = 1; // 0x1
11343  }
11344
11345  public final class LteVopsSupportInfo extends android.telephony.VopsSupportInfo {
11346    ctor public LteVopsSupportInfo(int, int);
11347    method public int getEmcBearerSupport();
11348    method public int getVopsSupport();
11349    method public boolean isEmergencyServiceFallbackSupported();
11350    method public boolean isEmergencyServiceSupported();
11351    method public boolean isVopsSupported();
11352    method public void writeToParcel(@NonNull android.os.Parcel, int);
11353    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.LteVopsSupportInfo> CREATOR;
11354    field @Deprecated public static final int LTE_STATUS_NOT_AVAILABLE = 1; // 0x1
11355    field public static final int LTE_STATUS_NOT_SUPPORTED = 3; // 0x3
11356    field public static final int LTE_STATUS_SUPPORTED = 2; // 0x2
11357  }
11358
11359  public class MbmsDownloadSession implements java.lang.AutoCloseable {
11360    field public static final String MBMS_DOWNLOAD_SERVICE_ACTION = "android.telephony.action.EmbmsDownload";
11361  }
11362
11363  public class MbmsGroupCallSession implements java.lang.AutoCloseable {
11364    field public static final String MBMS_GROUP_CALL_SERVICE_ACTION = "android.telephony.action.EmbmsGroupCall";
11365  }
11366
11367  public class MbmsStreamingSession implements java.lang.AutoCloseable {
11368    field public static final String MBMS_STREAMING_SERVICE_ACTION = "android.telephony.action.EmbmsStreaming";
11369  }
11370
11371  public final class ModemActivityInfo implements android.os.Parcelable {
11372    method public int describeContents();
11373    method @NonNull public android.telephony.ModemActivityInfo getDelta(@NonNull android.telephony.ModemActivityInfo);
11374    method public long getIdleTimeMillis();
11375    method public static int getNumTxPowerLevels();
11376    method public long getReceiveTimeMillis();
11377    method public long getSleepTimeMillis();
11378    method public long getTimestampMillis();
11379    method public long getTransmitDurationMillisAtPowerLevel(int);
11380    method @NonNull public android.util.Range<java.lang.Integer> getTransmitPowerRange(int);
11381    method public void writeToParcel(@NonNull android.os.Parcel, int);
11382    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ModemActivityInfo> CREATOR;
11383    field public static final int TX_POWER_LEVEL_0 = 0; // 0x0
11384    field public static final int TX_POWER_LEVEL_1 = 1; // 0x1
11385    field public static final int TX_POWER_LEVEL_2 = 2; // 0x2
11386    field public static final int TX_POWER_LEVEL_3 = 3; // 0x3
11387    field public static final int TX_POWER_LEVEL_4 = 4; // 0x4
11388  }
11389
11390  public final class NetworkRegistrationInfo implements android.os.Parcelable {
11391    method @Nullable public android.telephony.DataSpecificRegistrationInfo getDataSpecificInfo();
11392    method public int getRegistrationState();
11393    method public int getRejectCause();
11394    method public int getRoamingType();
11395    method public boolean isEmergencyEnabled();
11396    method public void writeToParcel(android.os.Parcel, int);
11397    field public static final int REGISTRATION_STATE_DENIED = 3; // 0x3
11398    field public static final int REGISTRATION_STATE_HOME = 1; // 0x1
11399    field public static final int REGISTRATION_STATE_NOT_REGISTERED_OR_SEARCHING = 0; // 0x0
11400    field public static final int REGISTRATION_STATE_NOT_REGISTERED_SEARCHING = 2; // 0x2
11401    field public static final int REGISTRATION_STATE_ROAMING = 5; // 0x5
11402    field public static final int REGISTRATION_STATE_UNKNOWN = 4; // 0x4
11403  }
11404
11405  public static final class NetworkRegistrationInfo.Builder {
11406    ctor public NetworkRegistrationInfo.Builder();
11407    method @NonNull public android.telephony.NetworkRegistrationInfo build();
11408    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setAccessNetworkTechnology(int);
11409    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setAvailableServices(@NonNull java.util.List<java.lang.Integer>);
11410    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setCellIdentity(@Nullable android.telephony.CellIdentity);
11411    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setDomain(int);
11412    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setEmergencyOnly(boolean);
11413    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setRegisteredPlmn(@Nullable String);
11414    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setRegistrationState(int);
11415    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setRejectCause(int);
11416    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setTransportType(int);
11417  }
11418
11419  public abstract class NetworkService extends android.app.Service {
11420    ctor public NetworkService();
11421    method public android.os.IBinder onBind(android.content.Intent);
11422    method @Nullable public abstract android.telephony.NetworkService.NetworkServiceProvider onCreateNetworkServiceProvider(int);
11423    field public static final String SERVICE_INTERFACE = "android.telephony.NetworkService";
11424  }
11425
11426  public abstract class NetworkService.NetworkServiceProvider implements java.lang.AutoCloseable {
11427    ctor public NetworkService.NetworkServiceProvider(int);
11428    method public abstract void close();
11429    method public final int getSlotIndex();
11430    method public final void notifyNetworkRegistrationInfoChanged();
11431    method public void requestNetworkRegistrationInfo(int, @NonNull android.telephony.NetworkServiceCallback);
11432  }
11433
11434  public class NetworkServiceCallback {
11435    method public void onRequestNetworkRegistrationInfoComplete(int, @Nullable android.telephony.NetworkRegistrationInfo);
11436    field public static final int RESULT_ERROR_BUSY = 3; // 0x3
11437    field public static final int RESULT_ERROR_FAILED = 5; // 0x5
11438    field public static final int RESULT_ERROR_ILLEGAL_STATE = 4; // 0x4
11439    field public static final int RESULT_ERROR_INVALID_ARG = 2; // 0x2
11440    field public static final int RESULT_ERROR_UNSUPPORTED = 1; // 0x1
11441    field public static final int RESULT_SUCCESS = 0; // 0x0
11442  }
11443
11444  public final class NrVopsSupportInfo extends android.telephony.VopsSupportInfo {
11445    ctor public NrVopsSupportInfo(int, int, int);
11446    method public int getEmcSupport();
11447    method public int getEmfSupport();
11448    method public int getVopsSupport();
11449    method public boolean isEmergencyServiceFallbackSupported();
11450    method public boolean isEmergencyServiceSupported();
11451    method public boolean isVopsSupported();
11452    method public void writeToParcel(@NonNull android.os.Parcel, int);
11453    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.NrVopsSupportInfo> CREATOR;
11454    field public static final int NR_STATUS_EMC_5GCN_ONLY = 1; // 0x1
11455    field public static final int NR_STATUS_EMC_EUTRA_5GCN_ONLY = 2; // 0x2
11456    field public static final int NR_STATUS_EMC_NOT_SUPPORTED = 0; // 0x0
11457    field public static final int NR_STATUS_EMC_NR_EUTRA_5GCN = 3; // 0x3
11458    field public static final int NR_STATUS_EMF_5GCN_ONLY = 1; // 0x1
11459    field public static final int NR_STATUS_EMF_EUTRA_5GCN_ONLY = 2; // 0x2
11460    field public static final int NR_STATUS_EMF_NOT_SUPPORTED = 0; // 0x0
11461    field public static final int NR_STATUS_EMF_NR_EUTRA_5GCN = 3; // 0x3
11462    field public static final int NR_STATUS_VOPS_3GPP_SUPPORTED = 1; // 0x1
11463    field public static final int NR_STATUS_VOPS_NON_3GPP_SUPPORTED = 2; // 0x2
11464    field public static final int NR_STATUS_VOPS_NOT_SUPPORTED = 0; // 0x0
11465  }
11466
11467  public interface NumberVerificationCallback {
11468    method public default void onCallReceived(@NonNull String);
11469    method public default void onVerificationFailed(int);
11470    field public static final int REASON_CONCURRENT_REQUESTS = 4; // 0x4
11471    field public static final int REASON_IN_ECBM = 5; // 0x5
11472    field public static final int REASON_IN_EMERGENCY_CALL = 6; // 0x6
11473    field public static final int REASON_NETWORK_NOT_AVAILABLE = 2; // 0x2
11474    field public static final int REASON_TIMED_OUT = 1; // 0x1
11475    field public static final int REASON_TOO_MANY_CALLS = 3; // 0x3
11476    field public static final int REASON_UNSPECIFIED = 0; // 0x0
11477  }
11478
11479  public final class PhoneCapability implements android.os.Parcelable {
11480    method public int describeContents();
11481    method @NonNull public int[] getDeviceNrCapabilities();
11482    method @IntRange(from=1) public int getMaxActiveDataSubscriptions();
11483    method @IntRange(from=1) public int getMaxActiveVoiceSubscriptions();
11484    method public void writeToParcel(@NonNull android.os.Parcel, int);
11485    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.PhoneCapability> CREATOR;
11486    field public static final int DEVICE_NR_CAPABILITY_NSA = 1; // 0x1
11487    field public static final int DEVICE_NR_CAPABILITY_SA = 2; // 0x2
11488  }
11489
11490  public final class PhoneNumberRange implements android.os.Parcelable {
11491    ctor public PhoneNumberRange(@NonNull String, @NonNull String, @NonNull String, @NonNull String);
11492    method public int describeContents();
11493    method public boolean matches(@NonNull String);
11494    method public void writeToParcel(android.os.Parcel, int);
11495    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.PhoneNumberRange> CREATOR;
11496  }
11497
11498  public class PhoneNumberUtils {
11499    method @NonNull public static String getUsernameFromUriNumber(@NonNull String);
11500    method public static boolean isUriNumber(@Nullable String);
11501    method public static boolean isVoiceMailNumber(@NonNull android.content.Context, int, @Nullable String);
11502  }
11503
11504  @Deprecated public class PhoneStateListener {
11505    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onCallAttributesChanged(@NonNull android.telephony.CallAttributes);
11506    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void onOutgoingEmergencyCall(@NonNull android.telephony.emergency.EmergencyNumber);
11507    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void onOutgoingEmergencyCall(@NonNull android.telephony.emergency.EmergencyNumber, int);
11508    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void onOutgoingEmergencySms(@NonNull android.telephony.emergency.EmergencyNumber);
11509    method @Deprecated public void onOutgoingEmergencySms(@NonNull android.telephony.emergency.EmergencyNumber, int);
11510    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onPreciseCallStateChanged(@NonNull android.telephony.PreciseCallState);
11511    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onRadioPowerStateChanged(int);
11512    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onSrvccStateChanged(int);
11513    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onVoiceActivationStateChanged(int);
11514    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int LISTEN_CALL_ATTRIBUTES_CHANGED = 67108864; // 0x4000000
11515    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public static final int LISTEN_OUTGOING_EMERGENCY_CALL = 268435456; // 0x10000000
11516    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public static final int LISTEN_OUTGOING_EMERGENCY_SMS = 536870912; // 0x20000000
11517    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int LISTEN_PRECISE_CALL_STATE = 2048; // 0x800
11518    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int LISTEN_RADIO_POWER_STATE_CHANGED = 8388608; // 0x800000
11519    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int LISTEN_SRVCC_STATE_CHANGED = 16384; // 0x4000
11520    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int LISTEN_VOICE_ACTIVATION_STATE = 131072; // 0x20000
11521  }
11522
11523  public final class PinResult implements android.os.Parcelable {
11524    method public int describeContents();
11525    method public int getAttemptsRemaining();
11526    method public int getResult();
11527    method public void writeToParcel(@NonNull android.os.Parcel, int);
11528    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.PinResult> CREATOR;
11529    field public static final int PIN_RESULT_TYPE_ABORTED = 3; // 0x3
11530    field public static final int PIN_RESULT_TYPE_FAILURE = 2; // 0x2
11531    field public static final int PIN_RESULT_TYPE_INCORRECT = 1; // 0x1
11532    field public static final int PIN_RESULT_TYPE_SUCCESS = 0; // 0x0
11533  }
11534
11535  public final class PreciseCallState implements android.os.Parcelable {
11536    ctor public PreciseCallState(int, int, int, int, int);
11537    method public int describeContents();
11538    method public int getBackgroundCallState();
11539    method public int getForegroundCallState();
11540    method public int getRingingCallState();
11541    method public void writeToParcel(android.os.Parcel, int);
11542    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.PreciseCallState> CREATOR;
11543    field public static final int PRECISE_CALL_STATE_ACTIVE = 1; // 0x1
11544    field public static final int PRECISE_CALL_STATE_ALERTING = 4; // 0x4
11545    field public static final int PRECISE_CALL_STATE_DIALING = 3; // 0x3
11546    field public static final int PRECISE_CALL_STATE_DISCONNECTED = 7; // 0x7
11547    field public static final int PRECISE_CALL_STATE_DISCONNECTING = 8; // 0x8
11548    field public static final int PRECISE_CALL_STATE_HOLDING = 2; // 0x2
11549    field public static final int PRECISE_CALL_STATE_IDLE = 0; // 0x0
11550    field public static final int PRECISE_CALL_STATE_INCOMING = 5; // 0x5
11551    field public static final int PRECISE_CALL_STATE_NOT_VALID = -1; // 0xffffffff
11552    field public static final int PRECISE_CALL_STATE_WAITING = 6; // 0x6
11553  }
11554
11555  public final class PreciseDataConnectionState implements android.os.Parcelable {
11556    method @Deprecated @NonNull public String getDataConnectionApn();
11557    method @Deprecated public int getDataConnectionApnTypeBitMask();
11558    method @Deprecated public int getDataConnectionFailCause();
11559    method @Deprecated public int getDataConnectionState();
11560  }
11561
11562  public final class PreciseDisconnectCause {
11563    field public static final int ACCESS_CLASS_BLOCKED = 260; // 0x104
11564    field public static final int ACCESS_INFORMATION_DISCARDED = 43; // 0x2b
11565    field public static final int ACM_LIMIT_EXCEEDED = 68; // 0x44
11566    field public static final int BEARER_CAPABILITY_NOT_AUTHORIZED = 57; // 0x39
11567    field public static final int BEARER_NOT_AVAIL = 58; // 0x3a
11568    field public static final int BEARER_SERVICE_NOT_IMPLEMENTED = 65; // 0x41
11569    field public static final int BUSY = 17; // 0x11
11570    field public static final int CALL_BARRED = 240; // 0xf0
11571    field public static final int CALL_REJECTED = 21; // 0x15
11572    field public static final int CDMA_ACCESS_BLOCKED = 1009; // 0x3f1
11573    field public static final int CDMA_ACCESS_FAILURE = 1006; // 0x3ee
11574    field public static final int CDMA_DROP = 1001; // 0x3e9
11575    field public static final int CDMA_INTERCEPT = 1002; // 0x3ea
11576    field public static final int CDMA_LOCKED_UNTIL_POWER_CYCLE = 1000; // 0x3e8
11577    field public static final int CDMA_NOT_EMERGENCY = 1008; // 0x3f0
11578    field public static final int CDMA_PREEMPTED = 1007; // 0x3ef
11579    field public static final int CDMA_REORDER = 1003; // 0x3eb
11580    field public static final int CDMA_RETRY_ORDER = 1005; // 0x3ed
11581    field public static final int CDMA_SO_REJECT = 1004; // 0x3ec
11582    field public static final int CHANNEL_NOT_AVAIL = 44; // 0x2c
11583    field public static final int CHANNEL_UNACCEPTABLE = 6; // 0x6
11584    field public static final int CONDITIONAL_IE_ERROR = 100; // 0x64
11585    field public static final int DESTINATION_OUT_OF_ORDER = 27; // 0x1b
11586    field public static final int ERROR_UNSPECIFIED = 65535; // 0xffff
11587    field public static final int FACILITY_REJECTED = 29; // 0x1d
11588    field public static final int FDN_BLOCKED = 241; // 0xf1
11589    field public static final int IMEI_NOT_ACCEPTED = 243; // 0xf3
11590    field public static final int IMSI_UNKNOWN_IN_VLR = 242; // 0xf2
11591    field public static final int INCOMING_CALLS_BARRED_WITHIN_CUG = 55; // 0x37
11592    field public static final int INCOMPATIBLE_DESTINATION = 88; // 0x58
11593    field public static final int INFORMATION_ELEMENT_NON_EXISTENT = 99; // 0x63
11594    field public static final int INTERWORKING_UNSPECIFIED = 127; // 0x7f
11595    field public static final int INVALID_MANDATORY_INFORMATION = 96; // 0x60
11596    field public static final int INVALID_NUMBER_FORMAT = 28; // 0x1c
11597    field public static final int INVALID_TRANSACTION_IDENTIFIER = 81; // 0x51
11598    field public static final int MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 101; // 0x65
11599    field public static final int MESSAGE_TYPE_NON_IMPLEMENTED = 97; // 0x61
11600    field public static final int MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 98; // 0x62
11601    field public static final int NETWORK_DETACH = 261; // 0x105
11602    field public static final int NETWORK_OUT_OF_ORDER = 38; // 0x26
11603    field public static final int NETWORK_REJECT = 252; // 0xfc
11604    field public static final int NETWORK_RESP_TIMEOUT = 251; // 0xfb
11605    field public static final int NORMAL = 16; // 0x10
11606    field public static final int NORMAL_UNSPECIFIED = 31; // 0x1f
11607    field public static final int NOT_VALID = -1; // 0xffffffff
11608    field public static final int NO_ANSWER_FROM_USER = 19; // 0x13
11609    field public static final int NO_CIRCUIT_AVAIL = 34; // 0x22
11610    field public static final int NO_DISCONNECT_CAUSE_AVAILABLE = 0; // 0x0
11611    field public static final int NO_ROUTE_TO_DESTINATION = 3; // 0x3
11612    field public static final int NO_USER_RESPONDING = 18; // 0x12
11613    field public static final int NO_VALID_SIM = 249; // 0xf9
11614    field public static final int NUMBER_CHANGED = 22; // 0x16
11615    field public static final int OEM_CAUSE_1 = 61441; // 0xf001
11616    field public static final int OEM_CAUSE_10 = 61450; // 0xf00a
11617    field public static final int OEM_CAUSE_11 = 61451; // 0xf00b
11618    field public static final int OEM_CAUSE_12 = 61452; // 0xf00c
11619    field public static final int OEM_CAUSE_13 = 61453; // 0xf00d
11620    field public static final int OEM_CAUSE_14 = 61454; // 0xf00e
11621    field public static final int OEM_CAUSE_15 = 61455; // 0xf00f
11622    field public static final int OEM_CAUSE_2 = 61442; // 0xf002
11623    field public static final int OEM_CAUSE_3 = 61443; // 0xf003
11624    field public static final int OEM_CAUSE_4 = 61444; // 0xf004
11625    field public static final int OEM_CAUSE_5 = 61445; // 0xf005
11626    field public static final int OEM_CAUSE_6 = 61446; // 0xf006
11627    field public static final int OEM_CAUSE_7 = 61447; // 0xf007
11628    field public static final int OEM_CAUSE_8 = 61448; // 0xf008
11629    field public static final int OEM_CAUSE_9 = 61449; // 0xf009
11630    field public static final int ONLY_DIGITAL_INFORMATION_BEARER_AVAILABLE = 70; // 0x46
11631    field public static final int OPERATOR_DETERMINED_BARRING = 8; // 0x8
11632    field public static final int OUT_OF_SRV = 248; // 0xf8
11633    field public static final int PREEMPTION = 25; // 0x19
11634    field public static final int PROTOCOL_ERROR_UNSPECIFIED = 111; // 0x6f
11635    field public static final int QOS_NOT_AVAIL = 49; // 0x31
11636    field public static final int RADIO_ACCESS_FAILURE = 253; // 0xfd
11637    field public static final int RADIO_INTERNAL_ERROR = 250; // 0xfa
11638    field public static final int RADIO_LINK_FAILURE = 254; // 0xfe
11639    field public static final int RADIO_LINK_LOST = 255; // 0xff
11640    field public static final int RADIO_OFF = 247; // 0xf7
11641    field public static final int RADIO_RELEASE_ABNORMAL = 259; // 0x103
11642    field public static final int RADIO_RELEASE_NORMAL = 258; // 0x102
11643    field public static final int RADIO_SETUP_FAILURE = 257; // 0x101
11644    field public static final int RADIO_UPLINK_FAILURE = 256; // 0x100
11645    field public static final int RECOVERY_ON_TIMER_EXPIRED = 102; // 0x66
11646    field public static final int REQUESTED_FACILITY_NOT_IMPLEMENTED = 69; // 0x45
11647    field public static final int REQUESTED_FACILITY_NOT_SUBSCRIBED = 50; // 0x32
11648    field public static final int RESOURCES_UNAVAILABLE_OR_UNSPECIFIED = 47; // 0x2f
11649    field public static final int SEMANTICALLY_INCORRECT_MESSAGE = 95; // 0x5f
11650    field public static final int SERVICE_OPTION_NOT_AVAILABLE = 63; // 0x3f
11651    field public static final int SERVICE_OR_OPTION_NOT_IMPLEMENTED = 79; // 0x4f
11652    field public static final int STATUS_ENQUIRY = 30; // 0x1e
11653    field public static final int SWITCHING_CONGESTION = 42; // 0x2a
11654    field public static final int TEMPORARY_FAILURE = 41; // 0x29
11655    field public static final int UNOBTAINABLE_NUMBER = 1; // 0x1
11656    field public static final int USER_NOT_MEMBER_OF_CUG = 87; // 0x57
11657  }
11658
11659  public class ServiceState implements android.os.Parcelable {
11660    method @Nullable public android.telephony.NetworkRegistrationInfo getNetworkRegistrationInfo(int, int);
11661    method @NonNull public java.util.List<android.telephony.NetworkRegistrationInfo> getNetworkRegistrationInfoListForDomain(int);
11662    method @NonNull public java.util.List<android.telephony.NetworkRegistrationInfo> getNetworkRegistrationInfoListForTransportType(int);
11663    field public static final int ROAMING_TYPE_DOMESTIC = 2; // 0x2
11664    field public static final int ROAMING_TYPE_INTERNATIONAL = 3; // 0x3
11665    field public static final int ROAMING_TYPE_NOT_ROAMING = 0; // 0x0
11666    field public static final int ROAMING_TYPE_UNKNOWN = 1; // 0x1
11667  }
11668
11669  public final class SmsCbCmasInfo implements android.os.Parcelable {
11670    ctor public SmsCbCmasInfo(int, int, int, int, int, int);
11671    method public int describeContents();
11672    method public int getCategory();
11673    method public int getCertainty();
11674    method public int getMessageClass();
11675    method public int getResponseType();
11676    method public int getSeverity();
11677    method public int getUrgency();
11678    method public void writeToParcel(android.os.Parcel, int);
11679    field public static final int CMAS_CATEGORY_CBRNE = 10; // 0xa
11680    field public static final int CMAS_CATEGORY_ENV = 7; // 0x7
11681    field public static final int CMAS_CATEGORY_FIRE = 5; // 0x5
11682    field public static final int CMAS_CATEGORY_GEO = 0; // 0x0
11683    field public static final int CMAS_CATEGORY_HEALTH = 6; // 0x6
11684    field public static final int CMAS_CATEGORY_INFRA = 9; // 0x9
11685    field public static final int CMAS_CATEGORY_MET = 1; // 0x1
11686    field public static final int CMAS_CATEGORY_OTHER = 11; // 0xb
11687    field public static final int CMAS_CATEGORY_RESCUE = 4; // 0x4
11688    field public static final int CMAS_CATEGORY_SAFETY = 2; // 0x2
11689    field public static final int CMAS_CATEGORY_SECURITY = 3; // 0x3
11690    field public static final int CMAS_CATEGORY_TRANSPORT = 8; // 0x8
11691    field public static final int CMAS_CATEGORY_UNKNOWN = -1; // 0xffffffff
11692    field public static final int CMAS_CERTAINTY_LIKELY = 1; // 0x1
11693    field public static final int CMAS_CERTAINTY_OBSERVED = 0; // 0x0
11694    field public static final int CMAS_CERTAINTY_UNKNOWN = -1; // 0xffffffff
11695    field public static final int CMAS_CLASS_CHILD_ABDUCTION_EMERGENCY = 3; // 0x3
11696    field public static final int CMAS_CLASS_CMAS_EXERCISE = 5; // 0x5
11697    field public static final int CMAS_CLASS_EXTREME_THREAT = 1; // 0x1
11698    field public static final int CMAS_CLASS_OPERATOR_DEFINED_USE = 6; // 0x6
11699    field public static final int CMAS_CLASS_PRESIDENTIAL_LEVEL_ALERT = 0; // 0x0
11700    field public static final int CMAS_CLASS_REQUIRED_MONTHLY_TEST = 4; // 0x4
11701    field public static final int CMAS_CLASS_SEVERE_THREAT = 2; // 0x2
11702    field public static final int CMAS_CLASS_UNKNOWN = -1; // 0xffffffff
11703    field public static final int CMAS_RESPONSE_TYPE_ASSESS = 6; // 0x6
11704    field public static final int CMAS_RESPONSE_TYPE_AVOID = 5; // 0x5
11705    field public static final int CMAS_RESPONSE_TYPE_EVACUATE = 1; // 0x1
11706    field public static final int CMAS_RESPONSE_TYPE_EXECUTE = 3; // 0x3
11707    field public static final int CMAS_RESPONSE_TYPE_MONITOR = 4; // 0x4
11708    field public static final int CMAS_RESPONSE_TYPE_NONE = 7; // 0x7
11709    field public static final int CMAS_RESPONSE_TYPE_PREPARE = 2; // 0x2
11710    field public static final int CMAS_RESPONSE_TYPE_SHELTER = 0; // 0x0
11711    field public static final int CMAS_RESPONSE_TYPE_UNKNOWN = -1; // 0xffffffff
11712    field public static final int CMAS_SEVERITY_EXTREME = 0; // 0x0
11713    field public static final int CMAS_SEVERITY_SEVERE = 1; // 0x1
11714    field public static final int CMAS_SEVERITY_UNKNOWN = -1; // 0xffffffff
11715    field public static final int CMAS_URGENCY_EXPECTED = 1; // 0x1
11716    field public static final int CMAS_URGENCY_IMMEDIATE = 0; // 0x0
11717    field public static final int CMAS_URGENCY_UNKNOWN = -1; // 0xffffffff
11718    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SmsCbCmasInfo> CREATOR;
11719  }
11720
11721  public final class SmsCbEtwsInfo implements android.os.Parcelable {
11722    ctor public SmsCbEtwsInfo(int, boolean, boolean, boolean, @Nullable byte[]);
11723    method public int describeContents();
11724    method @Nullable public byte[] getPrimaryNotificationSignature();
11725    method public long getPrimaryNotificationTimestamp();
11726    method public int getWarningType();
11727    method public boolean isEmergencyUserAlert();
11728    method public boolean isPopupAlert();
11729    method public boolean isPrimary();
11730    method public void writeToParcel(android.os.Parcel, int);
11731    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SmsCbEtwsInfo> CREATOR;
11732    field public static final int ETWS_WARNING_TYPE_EARTHQUAKE = 0; // 0x0
11733    field public static final int ETWS_WARNING_TYPE_EARTHQUAKE_AND_TSUNAMI = 2; // 0x2
11734    field public static final int ETWS_WARNING_TYPE_OTHER_EMERGENCY = 4; // 0x4
11735    field public static final int ETWS_WARNING_TYPE_TEST_MESSAGE = 3; // 0x3
11736    field public static final int ETWS_WARNING_TYPE_TSUNAMI = 1; // 0x1
11737    field public static final int ETWS_WARNING_TYPE_UNKNOWN = -1; // 0xffffffff
11738  }
11739
11740  public final class SmsCbLocation implements android.os.Parcelable {
11741    ctor public SmsCbLocation(@NonNull String, int, int);
11742    method public int describeContents();
11743    method public int getCid();
11744    method public int getLac();
11745    method @NonNull public String getPlmn();
11746    method public boolean isInLocationArea(@NonNull android.telephony.SmsCbLocation);
11747    method public boolean isInLocationArea(@Nullable String, int, int);
11748    method public void writeToParcel(android.os.Parcel, int);
11749    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SmsCbLocation> CREATOR;
11750  }
11751
11752  public final class SmsCbMessage implements android.os.Parcelable {
11753    ctor public SmsCbMessage(int, int, int, @NonNull android.telephony.SmsCbLocation, int, @Nullable String, int, @Nullable String, int, @Nullable android.telephony.SmsCbEtwsInfo, @Nullable android.telephony.SmsCbCmasInfo, int, @Nullable java.util.List<android.telephony.CbGeoUtils.Geometry>, long, int, int);
11754    method @NonNull public static android.telephony.SmsCbMessage createFromCursor(@NonNull android.database.Cursor);
11755    method public int describeContents();
11756    method @Nullable public android.telephony.SmsCbCmasInfo getCmasWarningInfo();
11757    method @NonNull public android.content.ContentValues getContentValues();
11758    method public int getDataCodingScheme();
11759    method @Nullable public android.telephony.SmsCbEtwsInfo getEtwsWarningInfo();
11760    method public int getGeographicalScope();
11761    method @NonNull public java.util.List<android.telephony.CbGeoUtils.Geometry> getGeometries();
11762    method @Nullable public String getLanguageCode();
11763    method @NonNull public android.telephony.SmsCbLocation getLocation();
11764    method public int getMaximumWaitingDuration();
11765    method @Nullable public String getMessageBody();
11766    method public int getMessageFormat();
11767    method public int getMessagePriority();
11768    method public long getReceivedTime();
11769    method public int getSerialNumber();
11770    method public int getServiceCategory();
11771    method public int getSlotIndex();
11772    method public int getSubscriptionId();
11773    method public boolean isCmasMessage();
11774    method public boolean isEmergencyMessage();
11775    method public boolean isEtwsMessage();
11776    method public boolean needGeoFencingCheck();
11777    method public void writeToParcel(android.os.Parcel, int);
11778    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SmsCbMessage> CREATOR;
11779    field public static final int GEOGRAPHICAL_SCOPE_CELL_WIDE = 3; // 0x3
11780    field public static final int GEOGRAPHICAL_SCOPE_CELL_WIDE_IMMEDIATE = 0; // 0x0
11781    field public static final int GEOGRAPHICAL_SCOPE_LOCATION_AREA_WIDE = 2; // 0x2
11782    field public static final int GEOGRAPHICAL_SCOPE_PLMN_WIDE = 1; // 0x1
11783    field public static final int MAXIMUM_WAIT_TIME_NOT_SET = 255; // 0xff
11784    field public static final int MESSAGE_FORMAT_3GPP = 1; // 0x1
11785    field public static final int MESSAGE_FORMAT_3GPP2 = 2; // 0x2
11786    field public static final int MESSAGE_PRIORITY_EMERGENCY = 3; // 0x3
11787    field public static final int MESSAGE_PRIORITY_INTERACTIVE = 1; // 0x1
11788    field public static final int MESSAGE_PRIORITY_NORMAL = 0; // 0x0
11789    field public static final int MESSAGE_PRIORITY_URGENT = 2; // 0x2
11790  }
11791
11792  public final class SmsManager {
11793    method public boolean disableCellBroadcastRange(int, int, int);
11794    method public boolean enableCellBroadcastRange(int, int, int);
11795    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getPremiumSmsConsent(@NonNull String);
11796    method @RequiresPermission(android.Manifest.permission.MODIFY_CELL_BROADCASTS) public void resetAllCellBroadcastRanges();
11797    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void sendMultipartTextMessageWithoutPersisting(String, String, java.util.List<java.lang.String>, java.util.List<android.app.PendingIntent>, java.util.List<android.app.PendingIntent>);
11798    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setPremiumSmsConsent(@NonNull String, int);
11799    field public static final int PREMIUM_SMS_CONSENT_ALWAYS_ALLOW = 3; // 0x3
11800    field public static final int PREMIUM_SMS_CONSENT_ASK_USER = 1; // 0x1
11801    field public static final int PREMIUM_SMS_CONSENT_NEVER_ALLOW = 2; // 0x2
11802    field public static final int PREMIUM_SMS_CONSENT_UNKNOWN = 0; // 0x0
11803  }
11804
11805  public class SmsMessage {
11806    method @Nullable public static android.telephony.SmsMessage createFromNativeSmsSubmitPdu(@NonNull byte[], boolean);
11807    method @Nullable public static android.telephony.SmsMessage.SubmitPdu getSmsPdu(int, int, @Nullable String, @NonNull String, @NonNull String, long);
11808    method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public static byte[] getSubmitPduEncodedMessage(boolean, @NonNull String, @NonNull String, int, @IntRange(from=0) int, @IntRange(from=0) int, @IntRange(from=0, to=255) int, @IntRange(from=1, to=255) int, @IntRange(from=1, to=255) int);
11809  }
11810
11811  public class SubscriptionInfo implements android.os.Parcelable {
11812    method public boolean areUiccApplicationsEnabled();
11813    method @Nullable public java.util.List<android.telephony.UiccAccessRule> getAccessRules();
11814    method public int getProfileClass();
11815    method public boolean isGroupDisabled();
11816  }
11817
11818  public class SubscriptionManager {
11819    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean canDisablePhysicalSubscription();
11820    method public boolean canManageSubscription(@NonNull android.telephony.SubscriptionInfo, @NonNull String);
11821    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int[] getActiveSubscriptionIdList();
11822    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.SubscriptionInfo getActiveSubscriptionInfoForIcc(@NonNull String);
11823    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public byte[] getAllSimSpecificSettingsForBackup();
11824    method public java.util.List<android.telephony.SubscriptionInfo> getAvailableSubscriptionInfoList();
11825    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int[] getCompleteActiveSubscriptionIdList();
11826    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getEnabledSubscriptionId(int);
11827    method @NonNull public static android.content.res.Resources getResourcesForSubId(@NonNull android.content.Context, int);
11828    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isSubscriptionEnabled(int);
11829    method public void requestEmbeddedSubscriptionInfoListRefresh();
11830    method public void requestEmbeddedSubscriptionInfoListRefresh(int);
11831    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void restoreAllSimSpecificSettingsFromBackup(@NonNull byte[]);
11832    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDefaultDataSubId(int);
11833    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDefaultSmsSubId(int);
11834    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDefaultVoiceSubscriptionId(int);
11835    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setPreferredDataSubscriptionId(int, boolean, @Nullable java.util.concurrent.Executor, @Nullable java.util.function.Consumer<java.lang.Integer>);
11836    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setSubscriptionEnabled(int, boolean);
11837    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setUiccApplicationsEnabled(int, boolean);
11838    field @RequiresPermission(android.Manifest.permission.MANAGE_SUBSCRIPTION_PLANS) public static final String ACTION_SUBSCRIPTION_PLANS_CHANGED = "android.telephony.action.SUBSCRIPTION_PLANS_CHANGED";
11839    field @NonNull public static final android.net.Uri ADVANCED_CALLING_ENABLED_CONTENT_URI;
11840    field @NonNull public static final android.net.Uri CROSS_SIM_ENABLED_CONTENT_URI;
11841    field @Deprecated public static final int PROFILE_CLASS_DEFAULT = -1; // 0xffffffff
11842    field public static final int PROFILE_CLASS_OPERATIONAL = 2; // 0x2
11843    field public static final int PROFILE_CLASS_PROVISIONING = 1; // 0x1
11844    field public static final int PROFILE_CLASS_TESTING = 0; // 0x0
11845    field public static final int PROFILE_CLASS_UNSET = -1; // 0xffffffff
11846    field @NonNull public static final android.net.Uri VT_ENABLED_CONTENT_URI;
11847    field @NonNull public static final android.net.Uri WFC_ENABLED_CONTENT_URI;
11848    field @NonNull public static final android.net.Uri WFC_MODE_CONTENT_URI;
11849    field @NonNull public static final android.net.Uri WFC_ROAMING_ENABLED_CONTENT_URI;
11850    field @NonNull public static final android.net.Uri WFC_ROAMING_MODE_CONTENT_URI;
11851  }
11852
11853  public static class SubscriptionPlan.Builder {
11854    method @Deprecated public static android.telephony.SubscriptionPlan.Builder createRecurringDaily(java.time.ZonedDateTime);
11855    method @Deprecated public static android.telephony.SubscriptionPlan.Builder createRecurringMonthly(java.time.ZonedDateTime);
11856    method @Deprecated public static android.telephony.SubscriptionPlan.Builder createRecurringWeekly(java.time.ZonedDateTime);
11857  }
11858
11859  public class TelephonyCallback {
11860    field @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final int EVENT_ACTIVE_DATA_SUBSCRIPTION_ID_CHANGED = 23; // 0x17
11861    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_ALLOWED_NETWORK_TYPE_LIST_CHANGED = 35; // 0x23
11862    field public static final int EVENT_ALWAYS_REPORTED_SIGNAL_STRENGTH_CHANGED = 10; // 0xa
11863    field @RequiresPermission(allOf={android.Manifest.permission.READ_PRECISE_PHONE_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION}) public static final int EVENT_BARRING_INFO_CHANGED = 32; // 0x20
11864    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_CALL_ATTRIBUTES_CHANGED = 27; // 0x1b
11865    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_CALL_DISCONNECT_CAUSE_CHANGED = 26; // 0x1a
11866    field @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final int EVENT_CALL_FORWARDING_INDICATOR_CHANGED = 4; // 0x4
11867    field public static final int EVENT_CALL_STATE_CHANGED = 6; // 0x6
11868    field public static final int EVENT_CARRIER_NETWORK_CHANGED = 17; // 0x11
11869    field @RequiresPermission(allOf={android.Manifest.permission.READ_PHONE_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION}) public static final int EVENT_CELL_INFO_CHANGED = 11; // 0xb
11870    field @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public static final int EVENT_CELL_LOCATION_CHANGED = 5; // 0x5
11871    field public static final int EVENT_DATA_ACTIVATION_STATE_CHANGED = 19; // 0x13
11872    field public static final int EVENT_DATA_ACTIVITY_CHANGED = 8; // 0x8
11873    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_DATA_CONNECTION_REAL_TIME_INFO_CHANGED = 14; // 0xe
11874    field public static final int EVENT_DATA_CONNECTION_STATE_CHANGED = 7; // 0x7
11875    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_DATA_ENABLED_CHANGED = 34; // 0x22
11876    field public static final int EVENT_DISPLAY_INFO_CHANGED = 21; // 0x15
11877    field @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final int EVENT_EMERGENCY_NUMBER_LIST_CHANGED = 25; // 0x19
11878    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_IMS_CALL_DISCONNECT_CAUSE_CHANGED = 28; // 0x1c
11879    field @RequiresPermission(android.Manifest.permission.READ_CALL_LOG) public static final int EVENT_LEGACY_CALL_STATE_CHANGED = 36; // 0x24
11880    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_LINK_CAPACITY_ESTIMATE_CHANGED = 37; // 0x25
11881    field @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final int EVENT_MESSAGE_WAITING_INDICATOR_CHANGED = 3; // 0x3
11882    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_OEM_HOOK_RAW = 15; // 0xf
11883    field @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public static final int EVENT_OUTGOING_EMERGENCY_CALL = 29; // 0x1d
11884    field @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public static final int EVENT_OUTGOING_EMERGENCY_SMS = 30; // 0x1e
11885    field public static final int EVENT_PHONE_CAPABILITY_CHANGED = 22; // 0x16
11886    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_PHYSICAL_CHANNEL_CONFIG_CHANGED = 33; // 0x21
11887    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_PRECISE_CALL_STATE_CHANGED = 12; // 0xc
11888    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_PRECISE_DATA_CONNECTION_STATE_CHANGED = 13; // 0xd
11889    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_RADIO_POWER_STATE_CHANGED = 24; // 0x18
11890    field @RequiresPermission(allOf={android.Manifest.permission.READ_PRECISE_PHONE_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION}) public static final int EVENT_REGISTRATION_FAILURE = 31; // 0x1f
11891    field public static final int EVENT_SERVICE_STATE_CHANGED = 1; // 0x1
11892    field public static final int EVENT_SIGNAL_STRENGTHS_CHANGED = 9; // 0x9
11893    field public static final int EVENT_SIGNAL_STRENGTH_CHANGED = 2; // 0x2
11894    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_SRVCC_STATE_CHANGED = 16; // 0x10
11895    field public static final int EVENT_USER_MOBILE_DATA_STATE_CHANGED = 20; // 0x14
11896    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_VOICE_ACTIVATION_STATE_CHANGED = 18; // 0x12
11897  }
11898
11899  public static interface TelephonyCallback.AllowedNetworkTypesListener {
11900    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onAllowedNetworkTypesChanged(int, long);
11901  }
11902
11903  public static interface TelephonyCallback.CallAttributesListener {
11904    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onCallAttributesChanged(@NonNull android.telephony.CallAttributes);
11905  }
11906
11907  public static interface TelephonyCallback.DataEnabledListener {
11908    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onDataEnabledChanged(boolean, int);
11909  }
11910
11911  public static interface TelephonyCallback.LinkCapacityEstimateChangedListener {
11912    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onLinkCapacityEstimateChanged(@NonNull java.util.List<android.telephony.LinkCapacityEstimate>);
11913  }
11914
11915  public static interface TelephonyCallback.OutgoingEmergencyCallListener {
11916    method @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void onOutgoingEmergencyCall(@NonNull android.telephony.emergency.EmergencyNumber, int);
11917  }
11918
11919  public static interface TelephonyCallback.OutgoingEmergencySmsListener {
11920    method @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void onOutgoingEmergencySms(@NonNull android.telephony.emergency.EmergencyNumber, int);
11921  }
11922
11923  public static interface TelephonyCallback.PhoneCapabilityListener {
11924    method public void onPhoneCapabilityChanged(@NonNull android.telephony.PhoneCapability);
11925  }
11926
11927  public static interface TelephonyCallback.PreciseCallStateListener {
11928    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onPreciseCallStateChanged(@NonNull android.telephony.PreciseCallState);
11929  }
11930
11931  public static interface TelephonyCallback.RadioPowerStateListener {
11932    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onRadioPowerStateChanged(int);
11933  }
11934
11935  public static interface TelephonyCallback.SrvccStateListener {
11936    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onSrvccStateChanged(int);
11937  }
11938
11939  public static interface TelephonyCallback.VoiceActivationStateListener {
11940    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onVoiceActivationStateChanged(int);
11941  }
11942
11943  public final class TelephonyHistogram implements android.os.Parcelable {
11944    ctor public TelephonyHistogram(int, int, int);
11945    ctor public TelephonyHistogram(android.telephony.TelephonyHistogram);
11946    ctor public TelephonyHistogram(android.os.Parcel);
11947    method public void addTimeTaken(int);
11948    method public int describeContents();
11949    method public int getAverageTime();
11950    method public int getBucketCount();
11951    method public int[] getBucketCounters();
11952    method public int[] getBucketEndPoints();
11953    method public int getCategory();
11954    method public int getId();
11955    method public int getMaxTime();
11956    method public int getMinTime();
11957    method public int getSampleCount();
11958    method public void writeToParcel(android.os.Parcel, int);
11959    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.TelephonyHistogram> CREATOR;
11960    field public static final int TELEPHONY_CATEGORY_RIL = 1; // 0x1
11961  }
11962
11963  public class TelephonyManager {
11964    method @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_PHONE_STATE, android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION}) @WorkerThread public void bootstrapAuthenticationRequest(int, @NonNull android.net.Uri, @NonNull android.telephony.gba.UaSecurityProtocolIdentifier, boolean, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.TelephonyManager.BootstrapAuthenticationCallback);
11965    method @Deprecated @RequiresPermission(android.Manifest.permission.CALL_PHONE) public void call(String, String);
11966    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.PinResult changeIccLockPin(@NonNull String, @NonNull String);
11967    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int checkCarrierPrivilegesForPackage(String);
11968    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int checkCarrierPrivilegesForPackageAnyPhone(String);
11969    method public void dial(String);
11970    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean disableDataConnectivity();
11971    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean enableDataConnectivity();
11972    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean enableModemForSlot(int, boolean);
11973    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void enableVideoCalling(boolean);
11974    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getAidForAppType(int);
11975    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<android.service.carrier.CarrierIdentifier> getAllowedCarriers(int);
11976    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public long getAllowedNetworkTypes();
11977    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public long getAllowedNetworkTypesBitmask();
11978    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public long getAllowedNetworkTypesForReason(int);
11979    method @Nullable @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public android.content.ComponentName getAndUpdateDefaultRespondViaMessageApplication();
11980    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void getCallForwarding(int, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.TelephonyManager.CallForwardingInfoCallback);
11981    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void getCallWaitingStatus(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
11982    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.ImsiEncryptionInfo getCarrierInfoForImsiEncryption(int);
11983    method public java.util.List<java.lang.String> getCarrierPackageNamesForIntent(android.content.Intent);
11984    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<java.lang.String> getCarrierPackageNamesForIntentAndPhone(android.content.Intent, int);
11985    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getCarrierPrivilegeStatus(int);
11986    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<java.lang.String> getCarrierPrivilegedPackagesForAllActiveSubscriptions();
11987    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.CarrierRestrictionRules getCarrierRestrictionRules();
11988    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getCdmaEnhancedRoamingIndicatorDisplayNumber();
11989    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String getCdmaMdn();
11990    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String getCdmaMdn(int);
11991    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String getCdmaMin();
11992    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String getCdmaMin(int);
11993    method public String getCdmaPrlVersion();
11994    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getCdmaRoamingMode();
11995    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getCdmaSubscriptionMode();
11996    method public int getCurrentPhoneType();
11997    method public int getCurrentPhoneType(int);
11998    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getDataActivationState();
11999    method @Deprecated public boolean getDataEnabled();
12000    method @Deprecated public boolean getDataEnabled(int);
12001    method @Nullable @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public android.content.ComponentName getDefaultRespondViaMessageApplication();
12002    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String getDeviceSoftwareVersion(int);
12003    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean getEmergencyCallbackMode();
12004    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getEmergencyNumberDbVersion();
12005    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getIsimDomain();
12006    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getIsimIst();
12007    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.Map<java.lang.Integer,java.lang.Integer> getLogicalToPhysicalSlotMapping();
12008    method public int getMaxNumberOfSimultaneouslyActiveSims();
12009    method public static long getMaxNumberVerificationTimeoutMillis();
12010    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String[] getMergedImsisFromGroup();
12011    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.PhoneCapability getPhoneCapability();
12012    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public long getPreferredNetworkTypeBitmask();
12013    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public int getRadioPowerState();
12014    method public int getSimApplicationState();
12015    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getSimApplicationState(int);
12016    method public int getSimCardState();
12017    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getSimCardState(int);
12018    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.Locale getSimLocale();
12019    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public long getSupportedRadioAccessFamily();
12020    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<android.telephony.RadioAccessSpecifier> getSystemSelectionChannels();
12021    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public java.util.List<android.telephony.TelephonyHistogram> getTelephonyHistograms();
12022    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.UiccSlotInfo[] getUiccSlotsInfo();
12023    method @Nullable public android.os.Bundle getVisualVoicemailSettings();
12024    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getVoiceActivationState();
12025    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean handlePinMmi(String);
12026    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean handlePinMmiForSubscriber(int, String);
12027    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean iccCloseLogicalChannelBySlot(int, int);
12028    method @Nullable @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.IccOpenLogicalChannelResponse iccOpenLogicalChannelBySlot(int, @Nullable String, int);
12029    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String iccTransmitApduBasicChannelBySlot(int, int, int, int, int, int, @Nullable String);
12030    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String iccTransmitApduLogicalChannelBySlot(int, int, int, int, int, int, int, @Nullable String);
12031    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isAnyRadioPoweredOn();
12032    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isApnMetered(int);
12033    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isApplicationOnUicc(int);
12034    method public boolean isDataConnectivityPossible();
12035    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isDataEnabledForApn(int);
12036    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isEmergencyAssistanceEnabled();
12037    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public boolean isIccLockEnabled();
12038    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isIdle();
12039    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isInEmergencySmsMode();
12040    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isLteCdmaEvdoGsmWcdmaEnabled();
12041    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isMobileDataPolicyEnabled(int);
12042    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isNrDualConnectivityEnabled();
12043    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isOffhook();
12044    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isOpportunisticNetworkEnabled();
12045    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isPotentialEmergencyNumber(@NonNull String);
12046    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isRadioOn();
12047    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isRinging();
12048    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean isTetheringApnRequired();
12049    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isVideoCallingEnabled();
12050    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public boolean isVisualVoicemailEnabled(android.telecom.PhoneAccountHandle);
12051    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean matchesCurrentSimOperator(@NonNull String, int, @Nullable String);
12052    method public boolean needsOtaServiceProvisioning();
12053    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void notifyOtaEmergencyNumberDbInstalled();
12054    method @RequiresPermission(android.Manifest.permission.REBOOT) public int prepareForUnattendedReboot();
12055    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean rebootRadio();
12056    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void reportDefaultNetworkStatus(boolean);
12057    method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.MODIFY_PHONE_STATE}) public void requestCellInfoUpdate(@NonNull android.os.WorkSource, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.TelephonyManager.CellInfoCallback);
12058    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void requestModemActivityInfo(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.telephony.ModemActivityInfo,android.telephony.TelephonyManager.ModemActivityInfoException>);
12059    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void requestNumberVerification(@NonNull android.telephony.PhoneNumberRange, long, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.NumberVerificationCallback);
12060    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void resetAllCarrierActions();
12061    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void resetCarrierKeysForImsiEncryption();
12062    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public void resetIms(int);
12063    method @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void resetOtaEmergencyNumberDbFilePath();
12064    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean resetRadioConfig();
12065    method @RequiresPermission(android.Manifest.permission.CONNECTIVITY_INTERNAL) public void resetSettings();
12066    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int sendThermalMitigationRequest(@NonNull android.telephony.ThermalMitigationRequest);
12067    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setAllowedCarriers(int, java.util.List<android.service.carrier.CarrierIdentifier>);
12068    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setAllowedNetworkTypes(long);
12069    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setAllowedNetworkTypesForReason(int, long);
12070    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCallForwarding(@NonNull android.telephony.CallForwardingInfo, @Nullable java.util.concurrent.Executor, @Nullable java.util.function.Consumer<java.lang.Integer>);
12071    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCallWaitingEnabled(boolean, @Nullable java.util.concurrent.Executor, @Nullable java.util.function.Consumer<java.lang.Integer>);
12072    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCarrierDataEnabled(boolean);
12073    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setCarrierRestrictionRules(@NonNull android.telephony.CarrierRestrictionRules);
12074    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCdmaRoamingMode(int);
12075    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCdmaSubscriptionMode(int);
12076    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataActivationState(int);
12077    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataEnabled(int, boolean);
12078    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataRoamingEnabled(boolean);
12079    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.PinResult setIccLockEnabled(boolean, @NonNull String);
12080    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setMobileDataPolicyEnabled(int, boolean);
12081    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setMultiSimCarrierRestriction(boolean);
12082    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setNrDualConnectivityState(int);
12083    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setOpportunisticNetworkState(boolean);
12084    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setPreferredNetworkTypeBitmask(long);
12085    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setRadio(boolean);
12086    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setRadioEnabled(boolean);
12087    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setRadioPower(boolean);
12088    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSimPowerState(int);
12089    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSimPowerState(int, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
12090    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSimPowerStateForSlot(int, int);
12091    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSimPowerStateForSlot(int, int, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
12092    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSystemSelectionChannels(@NonNull java.util.List<android.telephony.RadioAccessSpecifier>, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
12093    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSystemSelectionChannels(@NonNull java.util.List<android.telephony.RadioAccessSpecifier>);
12094    method @Deprecated public void setVisualVoicemailEnabled(android.telecom.PhoneAccountHandle, boolean);
12095    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoiceActivationState(int);
12096    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void shutdownAllRadios();
12097    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.PinResult supplyIccLockPin(@NonNull String);
12098    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.PinResult supplyIccLockPuk(@NonNull String, @NonNull String);
12099    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean supplyPin(String);
12100    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int[] supplyPinReportResult(String);
12101    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean supplyPuk(String, String);
12102    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int[] supplyPukReportResult(String, String);
12103    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean switchSlots(int[]);
12104    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void toggleRadioOnOff();
12105    method @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void updateOtaEmergencyNumberDbFilePath(@NonNull android.os.ParcelFileDescriptor);
12106    method public void updateServiceLocation();
12107    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final String ACTION_ANOMALY_REPORTED = "android.telephony.action.ANOMALY_REPORTED";
12108    field public static final String ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED = "android.intent.action.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED";
12109    field public static final String ACTION_DEFAULT_VOICE_SUBSCRIPTION_CHANGED = "android.intent.action.ACTION_DEFAULT_VOICE_SUBSCRIPTION_CHANGED";
12110    field public static final String ACTION_EMERGENCY_ASSISTANCE = "android.telephony.action.EMERGENCY_ASSISTANCE";
12111    field public static final String ACTION_EMERGENCY_CALLBACK_MODE_CHANGED = "android.intent.action.EMERGENCY_CALLBACK_MODE_CHANGED";
12112    field public static final String ACTION_EMERGENCY_CALL_STATE_CHANGED = "android.intent.action.EMERGENCY_CALL_STATE_CHANGED";
12113    field public static final String ACTION_REQUEST_OMADM_CONFIGURATION_UPDATE = "com.android.omadm.service.CONFIGURATION_UPDATE";
12114    field public static final String ACTION_SHOW_NOTICE_ECM_BLOCK_OTHERS = "android.telephony.action.SHOW_NOTICE_ECM_BLOCK_OTHERS";
12115    field public static final String ACTION_SIM_APPLICATION_STATE_CHANGED = "android.telephony.action.SIM_APPLICATION_STATE_CHANGED";
12116    field public static final String ACTION_SIM_CARD_STATE_CHANGED = "android.telephony.action.SIM_CARD_STATE_CHANGED";
12117    field public static final String ACTION_SIM_SLOT_STATUS_CHANGED = "android.telephony.action.SIM_SLOT_STATUS_CHANGED";
12118    field public static final int ALLOWED_NETWORK_TYPES_REASON_CARRIER = 2; // 0x2
12119    field public static final int ALLOWED_NETWORK_TYPES_REASON_ENABLE_2G = 3; // 0x3
12120    field public static final int ALLOWED_NETWORK_TYPES_REASON_POWER = 1; // 0x1
12121    field public static final int ALLOWED_NETWORK_TYPES_REASON_USER = 0; // 0x0
12122    field public static final int CALL_WAITING_STATUS_DISABLED = 2; // 0x2
12123    field public static final int CALL_WAITING_STATUS_ENABLED = 1; // 0x1
12124    field public static final int CALL_WAITING_STATUS_NOT_SUPPORTED = 4; // 0x4
12125    field public static final int CALL_WAITING_STATUS_UNKNOWN_ERROR = 3; // 0x3
12126    field public static final String CAPABILITY_NR_DUAL_CONNECTIVITY_CONFIGURATION_AVAILABLE = "CAPABILITY_NR_DUAL_CONNECTIVITY_CONFIGURATION_AVAILABLE";
12127    field public static final String CAPABILITY_SECONDARY_LINK_BANDWIDTH_VISIBLE = "CAPABILITY_SECONDARY_LINK_BANDWIDTH_VISIBLE";
12128    field public static final String CAPABILITY_THERMAL_MITIGATION_DATA_THROTTLING = "CAPABILITY_THERMAL_MITIGATION_DATA_THROTTLING";
12129    field public static final String CAPABILITY_USES_ALLOWED_NETWORK_TYPES_BITMASK = "CAPABILITY_USES_ALLOWED_NETWORK_TYPES_BITMASK";
12130    field public static final int CARRIER_PRIVILEGE_STATUS_ERROR_LOADING_RULES = -2; // 0xfffffffe
12131    field public static final int CARRIER_PRIVILEGE_STATUS_HAS_ACCESS = 1; // 0x1
12132    field public static final int CARRIER_PRIVILEGE_STATUS_NO_ACCESS = 0; // 0x0
12133    field public static final int CARRIER_PRIVILEGE_STATUS_RULES_NOT_LOADED = -1; // 0xffffffff
12134    field public static final int CDMA_SUBSCRIPTION_NV = 1; // 0x1
12135    field public static final int CDMA_SUBSCRIPTION_RUIM_SIM = 0; // 0x0
12136    field public static final int CDMA_SUBSCRIPTION_UNKNOWN = -1; // 0xffffffff
12137    field public static final int ENABLE_NR_DUAL_CONNECTIVITY_INVALID_STATE = 4; // 0x4
12138    field public static final int ENABLE_NR_DUAL_CONNECTIVITY_NOT_SUPPORTED = 1; // 0x1
12139    field public static final int ENABLE_NR_DUAL_CONNECTIVITY_RADIO_ERROR = 3; // 0x3
12140    field public static final int ENABLE_NR_DUAL_CONNECTIVITY_RADIO_NOT_AVAILABLE = 2; // 0x2
12141    field public static final int ENABLE_NR_DUAL_CONNECTIVITY_SUCCESS = 0; // 0x0
12142    field public static final String EXTRA_ANOMALY_DESCRIPTION = "android.telephony.extra.ANOMALY_DESCRIPTION";
12143    field public static final String EXTRA_ANOMALY_ID = "android.telephony.extra.ANOMALY_ID";
12144    field public static final String EXTRA_PHONE_IN_ECM_STATE = "android.telephony.extra.PHONE_IN_ECM_STATE";
12145    field public static final String EXTRA_PHONE_IN_EMERGENCY_CALL = "android.telephony.extra.PHONE_IN_EMERGENCY_CALL";
12146    field public static final String EXTRA_SIM_STATE = "android.telephony.extra.SIM_STATE";
12147    field public static final String EXTRA_VISUAL_VOICEMAIL_ENABLED_BY_USER_BOOL = "android.telephony.extra.VISUAL_VOICEMAIL_ENABLED_BY_USER_BOOL";
12148    field public static final String EXTRA_VOICEMAIL_SCRAMBLED_PIN_STRING = "android.telephony.extra.VOICEMAIL_SCRAMBLED_PIN_STRING";
12149    field public static final int GBA_FAILURE_REASON_FEATURE_NOT_READY = 2; // 0x2
12150    field public static final int GBA_FAILURE_REASON_FEATURE_NOT_SUPPORTED = 1; // 0x1
12151    field public static final int GBA_FAILURE_REASON_INCORRECT_NAF_ID = 4; // 0x4
12152    field public static final int GBA_FAILURE_REASON_NETWORK_FAILURE = 3; // 0x3
12153    field public static final int GBA_FAILURE_REASON_SECURITY_PROTOCOL_NOT_SUPPORTED = 5; // 0x5
12154    field public static final int GBA_FAILURE_REASON_UNKNOWN = 0; // 0x0
12155    field public static final int INVALID_EMERGENCY_NUMBER_DB_VERSION = -1; // 0xffffffff
12156    field public static final int KEY_TYPE_EPDG = 1; // 0x1
12157    field public static final int KEY_TYPE_WLAN = 2; // 0x2
12158    field public static final int MOBILE_DATA_POLICY_DATA_ON_NON_DEFAULT_DURING_VOICE_CALL = 1; // 0x1
12159    field public static final int MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED = 2; // 0x2
12160    field public static final long NETWORK_TYPE_BITMASK_1xRTT = 64L; // 0x40L
12161    field public static final long NETWORK_TYPE_BITMASK_CDMA = 8L; // 0x8L
12162    field public static final long NETWORK_TYPE_BITMASK_EDGE = 2L; // 0x2L
12163    field public static final long NETWORK_TYPE_BITMASK_EHRPD = 8192L; // 0x2000L
12164    field public static final long NETWORK_TYPE_BITMASK_EVDO_0 = 16L; // 0x10L
12165    field public static final long NETWORK_TYPE_BITMASK_EVDO_A = 32L; // 0x20L
12166    field public static final long NETWORK_TYPE_BITMASK_EVDO_B = 2048L; // 0x800L
12167    field public static final long NETWORK_TYPE_BITMASK_GPRS = 1L; // 0x1L
12168    field public static final long NETWORK_TYPE_BITMASK_GSM = 32768L; // 0x8000L
12169    field public static final long NETWORK_TYPE_BITMASK_HSDPA = 128L; // 0x80L
12170    field public static final long NETWORK_TYPE_BITMASK_HSPA = 512L; // 0x200L
12171    field public static final long NETWORK_TYPE_BITMASK_HSPAP = 16384L; // 0x4000L
12172    field public static final long NETWORK_TYPE_BITMASK_HSUPA = 256L; // 0x100L
12173    field public static final long NETWORK_TYPE_BITMASK_IWLAN = 131072L; // 0x20000L
12174    field public static final long NETWORK_TYPE_BITMASK_LTE = 4096L; // 0x1000L
12175    field public static final long NETWORK_TYPE_BITMASK_LTE_CA = 262144L; // 0x40000L
12176    field public static final long NETWORK_TYPE_BITMASK_NR = 524288L; // 0x80000L
12177    field public static final long NETWORK_TYPE_BITMASK_TD_SCDMA = 65536L; // 0x10000L
12178    field public static final long NETWORK_TYPE_BITMASK_UMTS = 4L; // 0x4L
12179    field public static final long NETWORK_TYPE_BITMASK_UNKNOWN = 0L; // 0x0L
12180    field public static final int NR_DUAL_CONNECTIVITY_DISABLE = 2; // 0x2
12181    field public static final int NR_DUAL_CONNECTIVITY_DISABLE_IMMEDIATE = 3; // 0x3
12182    field public static final int NR_DUAL_CONNECTIVITY_ENABLE = 1; // 0x1
12183    field public static final int PREPARE_UNATTENDED_REBOOT_ERROR = 2; // 0x2
12184    field public static final int PREPARE_UNATTENDED_REBOOT_PIN_REQUIRED = 1; // 0x1
12185    field public static final int PREPARE_UNATTENDED_REBOOT_SUCCESS = 0; // 0x0
12186    field public static final int RADIO_POWER_OFF = 0; // 0x0
12187    field public static final int RADIO_POWER_ON = 1; // 0x1
12188    field public static final int RADIO_POWER_UNAVAILABLE = 2; // 0x2
12189    field public static final int SET_CARRIER_RESTRICTION_ERROR = 2; // 0x2
12190    field public static final int SET_CARRIER_RESTRICTION_NOT_SUPPORTED = 1; // 0x1
12191    field public static final int SET_CARRIER_RESTRICTION_SUCCESS = 0; // 0x0
12192    field public static final int SET_SIM_POWER_STATE_ALREADY_IN_STATE = 1; // 0x1
12193    field public static final int SET_SIM_POWER_STATE_MODEM_ERROR = 2; // 0x2
12194    field public static final int SET_SIM_POWER_STATE_NOT_SUPPORTED = 4; // 0x4
12195    field public static final int SET_SIM_POWER_STATE_SIM_ERROR = 3; // 0x3
12196    field public static final int SET_SIM_POWER_STATE_SUCCESS = 0; // 0x0
12197    field public static final int SIM_ACTIVATION_STATE_ACTIVATED = 2; // 0x2
12198    field public static final int SIM_ACTIVATION_STATE_ACTIVATING = 1; // 0x1
12199    field public static final int SIM_ACTIVATION_STATE_DEACTIVATED = 3; // 0x3
12200    field public static final int SIM_ACTIVATION_STATE_RESTRICTED = 4; // 0x4
12201    field public static final int SIM_ACTIVATION_STATE_UNKNOWN = 0; // 0x0
12202    field public static final int SIM_STATE_LOADED = 10; // 0xa
12203    field public static final int SIM_STATE_PRESENT = 11; // 0xb
12204    field public static final int SRVCC_STATE_HANDOVER_CANCELED = 3; // 0x3
12205    field public static final int SRVCC_STATE_HANDOVER_COMPLETED = 1; // 0x1
12206    field public static final int SRVCC_STATE_HANDOVER_FAILED = 2; // 0x2
12207    field public static final int SRVCC_STATE_HANDOVER_NONE = -1; // 0xffffffff
12208    field public static final int SRVCC_STATE_HANDOVER_STARTED = 0; // 0x0
12209    field public static final int THERMAL_MITIGATION_RESULT_INVALID_STATE = 3; // 0x3
12210    field public static final int THERMAL_MITIGATION_RESULT_MODEM_ERROR = 1; // 0x1
12211    field public static final int THERMAL_MITIGATION_RESULT_MODEM_NOT_AVAILABLE = 2; // 0x2
12212    field public static final int THERMAL_MITIGATION_RESULT_SUCCESS = 0; // 0x0
12213    field public static final int THERMAL_MITIGATION_RESULT_UNKNOWN_ERROR = 4; // 0x4
12214  }
12215
12216  public static class TelephonyManager.BootstrapAuthenticationCallback {
12217    ctor public TelephonyManager.BootstrapAuthenticationCallback();
12218    method public void onAuthenticationFailure(int);
12219    method public void onKeysAvailable(@NonNull byte[], @NonNull String);
12220  }
12221
12222  public static interface TelephonyManager.CallForwardingInfoCallback {
12223    method public void onCallForwardingInfoAvailable(@NonNull android.telephony.CallForwardingInfo);
12224    method public void onError(int);
12225    field public static final int RESULT_ERROR_FDN_CHECK_FAILURE = 2; // 0x2
12226    field public static final int RESULT_ERROR_NOT_SUPPORTED = 3; // 0x3
12227    field public static final int RESULT_ERROR_UNKNOWN = 1; // 0x1
12228    field public static final int RESULT_SUCCESS = 0; // 0x0
12229  }
12230
12231  public static class TelephonyManager.ModemActivityInfoException extends java.lang.Exception {
12232    method public int getErrorCode();
12233    field public static final int ERROR_INVALID_INFO_RECEIVED = 2; // 0x2
12234    field public static final int ERROR_MODEM_RESPONSE_ERROR = 3; // 0x3
12235    field public static final int ERROR_PHONE_NOT_AVAILABLE = 1; // 0x1
12236    field public static final int ERROR_UNKNOWN = 0; // 0x0
12237  }
12238
12239  public final class ThermalMitigationRequest implements android.os.Parcelable {
12240    method public int describeContents();
12241    method @Nullable public android.telephony.DataThrottlingRequest getDataThrottlingRequest();
12242    method public int getThermalMitigationAction();
12243    method public void writeToParcel(@NonNull android.os.Parcel, int);
12244    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ThermalMitigationRequest> CREATOR;
12245    field public static final int THERMAL_MITIGATION_ACTION_DATA_THROTTLING = 0; // 0x0
12246    field public static final int THERMAL_MITIGATION_ACTION_RADIO_OFF = 2; // 0x2
12247    field public static final int THERMAL_MITIGATION_ACTION_VOICE_ONLY = 1; // 0x1
12248  }
12249
12250  public static final class ThermalMitigationRequest.Builder {
12251    ctor public ThermalMitigationRequest.Builder();
12252    method @NonNull public android.telephony.ThermalMitigationRequest build();
12253    method @NonNull public android.telephony.ThermalMitigationRequest.Builder setDataThrottlingRequest(@NonNull android.telephony.DataThrottlingRequest);
12254    method @NonNull public android.telephony.ThermalMitigationRequest.Builder setThermalMitigationAction(int);
12255  }
12256
12257  public final class UiccAccessRule implements android.os.Parcelable {
12258    ctor public UiccAccessRule(byte[], @Nullable String, long);
12259    method public int describeContents();
12260    method public int getCarrierPrivilegeStatus(android.content.pm.PackageInfo);
12261    method public int getCarrierPrivilegeStatus(android.content.pm.Signature, String);
12262    method public String getCertificateHexString();
12263    method @Nullable public String getPackageName();
12264    method public void writeToParcel(android.os.Parcel, int);
12265    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.UiccAccessRule> CREATOR;
12266  }
12267
12268  public class UiccSlotInfo implements android.os.Parcelable {
12269    ctor @Deprecated public UiccSlotInfo(boolean, boolean, String, int, int, boolean);
12270    method public int describeContents();
12271    method public String getCardId();
12272    method public int getCardStateInfo();
12273    method public boolean getIsActive();
12274    method public boolean getIsEuicc();
12275    method public boolean getIsExtendedApduSupported();
12276    method public int getLogicalSlotIdx();
12277    method public boolean isRemovable();
12278    method public void writeToParcel(android.os.Parcel, int);
12279    field public static final int CARD_STATE_INFO_ABSENT = 1; // 0x1
12280    field public static final int CARD_STATE_INFO_ERROR = 3; // 0x3
12281    field public static final int CARD_STATE_INFO_PRESENT = 2; // 0x2
12282    field public static final int CARD_STATE_INFO_RESTRICTED = 4; // 0x4
12283    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.UiccSlotInfo> CREATOR;
12284  }
12285
12286  public abstract class VisualVoicemailService extends android.app.Service {
12287    method public static final void sendVisualVoicemailSms(android.content.Context, android.telecom.PhoneAccountHandle, String, short, String, android.app.PendingIntent);
12288    method public static final void setSmsFilterSettings(android.content.Context, android.telecom.PhoneAccountHandle, android.telephony.VisualVoicemailSmsFilterSettings);
12289  }
12290
12291  public abstract class VopsSupportInfo implements android.os.Parcelable {
12292    method public int describeContents();
12293    method public abstract boolean equals(Object);
12294    method public abstract int hashCode();
12295    method public abstract boolean isEmergencyServiceFallbackSupported();
12296    method public abstract boolean isEmergencyServiceSupported();
12297    method public abstract boolean isVopsSupported();
12298    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.VopsSupportInfo> CREATOR;
12299  }
12300
12301}
12302
12303package android.telephony.cdma {
12304
12305  public final class CdmaSmsCbProgramData implements android.os.Parcelable {
12306    method public int describeContents();
12307    method public int getCategory();
12308    method public int getOperation();
12309    method public void writeToParcel(android.os.Parcel, int);
12310    field public static final int CATEGORY_CMAS_CHILD_ABDUCTION_EMERGENCY = 4099; // 0x1003
12311    field public static final int CATEGORY_CMAS_EXTREME_THREAT = 4097; // 0x1001
12312    field public static final int CATEGORY_CMAS_LAST_RESERVED_VALUE = 4351; // 0x10ff
12313    field public static final int CATEGORY_CMAS_PRESIDENTIAL_LEVEL_ALERT = 4096; // 0x1000
12314    field public static final int CATEGORY_CMAS_SEVERE_THREAT = 4098; // 0x1002
12315    field public static final int CATEGORY_CMAS_TEST_MESSAGE = 4100; // 0x1004
12316    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.cdma.CdmaSmsCbProgramData> CREATOR;
12317    field public static final int OPERATION_ADD_CATEGORY = 1; // 0x1
12318    field public static final int OPERATION_CLEAR_CATEGORIES = 2; // 0x2
12319    field public static final int OPERATION_DELETE_CATEGORY = 0; // 0x0
12320  }
12321
12322}
12323
12324package android.telephony.data {
12325
12326  public class ApnSetting implements android.os.Parcelable {
12327    method public static int getApnTypeInt(@NonNull String);
12328    method @NonNull public static String getApnTypeString(int);
12329    field public static final String TYPE_ALL_STRING = "*";
12330    field public static final String TYPE_BIP_STRING = "bip";
12331    field public static final String TYPE_CBS_STRING = "cbs";
12332    field public static final String TYPE_DEFAULT_STRING = "default";
12333    field public static final String TYPE_DUN_STRING = "dun";
12334    field public static final String TYPE_EMERGENCY_STRING = "emergency";
12335    field public static final String TYPE_FOTA_STRING = "fota";
12336    field public static final String TYPE_HIPRI_STRING = "hipri";
12337    field public static final String TYPE_IA_STRING = "ia";
12338    field public static final String TYPE_IMS_STRING = "ims";
12339    field public static final String TYPE_MCX_STRING = "mcx";
12340    field public static final String TYPE_MMS_STRING = "mms";
12341    field public static final String TYPE_SUPL_STRING = "supl";
12342    field public static final String TYPE_VSIM_STRING = "vsim";
12343    field public static final String TYPE_XCAP_STRING = "xcap";
12344  }
12345
12346  public final class DataCallResponse implements android.os.Parcelable {
12347    method public int describeContents();
12348    method @NonNull public java.util.List<android.net.LinkAddress> getAddresses();
12349    method public int getCause();
12350    method @NonNull public java.util.List<java.net.InetAddress> getDnsAddresses();
12351    method @NonNull public java.util.List<java.net.InetAddress> getGatewayAddresses();
12352    method public int getHandoverFailureMode();
12353    method public int getId();
12354    method @NonNull public String getInterfaceName();
12355    method public int getLinkStatus();
12356    method @Deprecated public int getMtu();
12357    method public int getMtuV4();
12358    method public int getMtuV6();
12359    method @NonNull public java.util.List<java.net.InetAddress> getPcscfAddresses();
12360    method public int getPduSessionId();
12361    method public int getProtocolType();
12362    method public long getRetryDurationMillis();
12363    method @Nullable public android.telephony.data.NetworkSliceInfo getSliceInfo();
12364    method @Deprecated public int getSuggestedRetryTime();
12365    method @NonNull public java.util.List<android.telephony.data.TrafficDescriptor> getTrafficDescriptors();
12366    method public void writeToParcel(android.os.Parcel, int);
12367    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.DataCallResponse> CREATOR;
12368    field public static final int HANDOVER_FAILURE_MODE_DO_FALLBACK = 1; // 0x1
12369    field public static final int HANDOVER_FAILURE_MODE_LEGACY = 0; // 0x0
12370    field public static final int HANDOVER_FAILURE_MODE_NO_FALLBACK_RETRY_HANDOVER = 2; // 0x2
12371    field public static final int HANDOVER_FAILURE_MODE_NO_FALLBACK_RETRY_SETUP_NORMAL = 3; // 0x3
12372    field public static final int HANDOVER_FAILURE_MODE_UNKNOWN = -1; // 0xffffffff
12373    field public static final int LINK_STATUS_ACTIVE = 2; // 0x2
12374    field public static final int LINK_STATUS_DORMANT = 1; // 0x1
12375    field public static final int LINK_STATUS_INACTIVE = 0; // 0x0
12376    field public static final int LINK_STATUS_UNKNOWN = -1; // 0xffffffff
12377    field public static final int PDU_SESSION_ID_NOT_SET = 0; // 0x0
12378    field public static final int RETRY_DURATION_UNDEFINED = -1; // 0xffffffff
12379  }
12380
12381  public static final class DataCallResponse.Builder {
12382    ctor public DataCallResponse.Builder();
12383    method @NonNull public android.telephony.data.DataCallResponse build();
12384    method @NonNull public android.telephony.data.DataCallResponse.Builder setAddresses(@NonNull java.util.List<android.net.LinkAddress>);
12385    method @NonNull public android.telephony.data.DataCallResponse.Builder setCause(int);
12386    method @NonNull public android.telephony.data.DataCallResponse.Builder setDnsAddresses(@NonNull java.util.List<java.net.InetAddress>);
12387    method @NonNull public android.telephony.data.DataCallResponse.Builder setGatewayAddresses(@NonNull java.util.List<java.net.InetAddress>);
12388    method @NonNull public android.telephony.data.DataCallResponse.Builder setHandoverFailureMode(int);
12389    method @NonNull public android.telephony.data.DataCallResponse.Builder setId(int);
12390    method @NonNull public android.telephony.data.DataCallResponse.Builder setInterfaceName(@NonNull String);
12391    method @NonNull public android.telephony.data.DataCallResponse.Builder setLinkStatus(int);
12392    method @Deprecated @NonNull public android.telephony.data.DataCallResponse.Builder setMtu(int);
12393    method @NonNull public android.telephony.data.DataCallResponse.Builder setMtuV4(int);
12394    method @NonNull public android.telephony.data.DataCallResponse.Builder setMtuV6(int);
12395    method @NonNull public android.telephony.data.DataCallResponse.Builder setPcscfAddresses(@NonNull java.util.List<java.net.InetAddress>);
12396    method @NonNull public android.telephony.data.DataCallResponse.Builder setPduSessionId(@IntRange(from=android.telephony.data.DataCallResponse.PDU_SESSION_ID_NOT_SET, to=15) int);
12397    method @NonNull public android.telephony.data.DataCallResponse.Builder setProtocolType(int);
12398    method @NonNull public android.telephony.data.DataCallResponse.Builder setRetryDurationMillis(long);
12399    method @NonNull public android.telephony.data.DataCallResponse.Builder setSliceInfo(@Nullable android.telephony.data.NetworkSliceInfo);
12400    method @Deprecated @NonNull public android.telephony.data.DataCallResponse.Builder setSuggestedRetryTime(int);
12401    method @NonNull public android.telephony.data.DataCallResponse.Builder setTrafficDescriptors(@NonNull java.util.List<android.telephony.data.TrafficDescriptor>);
12402  }
12403
12404  public final class DataProfile implements android.os.Parcelable {
12405    method public int describeContents();
12406    method @NonNull public String getApn();
12407    method public int getAuthType();
12408    method public int getBearerBitmask();
12409    method @Deprecated public int getMtu();
12410    method public int getMtuV4();
12411    method public int getMtuV6();
12412    method @Nullable public String getPassword();
12413    method public int getProfileId();
12414    method public int getProtocolType();
12415    method public int getRoamingProtocolType();
12416    method public int getSupportedApnTypesBitmask();
12417    method public int getType();
12418    method @Nullable public String getUserName();
12419    method public boolean isEnabled();
12420    method public boolean isPersistent();
12421    method public boolean isPreferred();
12422    method public void writeToParcel(android.os.Parcel, int);
12423    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.DataProfile> CREATOR;
12424    field public static final int TYPE_3GPP = 1; // 0x1
12425    field public static final int TYPE_3GPP2 = 2; // 0x2
12426    field public static final int TYPE_COMMON = 0; // 0x0
12427  }
12428
12429  public static final class DataProfile.Builder {
12430    ctor public DataProfile.Builder();
12431    method @NonNull public android.telephony.data.DataProfile build();
12432    method @NonNull public android.telephony.data.DataProfile.Builder enable(boolean);
12433    method @NonNull public android.telephony.data.DataProfile.Builder setApn(@NonNull String);
12434    method @NonNull public android.telephony.data.DataProfile.Builder setAuthType(int);
12435    method @NonNull public android.telephony.data.DataProfile.Builder setBearerBitmask(int);
12436    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setMtu(int);
12437    method @NonNull public android.telephony.data.DataProfile.Builder setMtuV4(int);
12438    method @NonNull public android.telephony.data.DataProfile.Builder setMtuV6(int);
12439    method @NonNull public android.telephony.data.DataProfile.Builder setPassword(@NonNull String);
12440    method @NonNull public android.telephony.data.DataProfile.Builder setPersistent(boolean);
12441    method @NonNull public android.telephony.data.DataProfile.Builder setPreferred(boolean);
12442    method @NonNull public android.telephony.data.DataProfile.Builder setProfileId(int);
12443    method @NonNull public android.telephony.data.DataProfile.Builder setProtocolType(int);
12444    method @NonNull public android.telephony.data.DataProfile.Builder setRoamingProtocolType(int);
12445    method @NonNull public android.telephony.data.DataProfile.Builder setSupportedApnTypesBitmask(int);
12446    method @NonNull public android.telephony.data.DataProfile.Builder setType(int);
12447    method @NonNull public android.telephony.data.DataProfile.Builder setUserName(@NonNull String);
12448  }
12449
12450  public abstract class DataService extends android.app.Service {
12451    ctor public DataService();
12452    method public android.os.IBinder onBind(android.content.Intent);
12453    method @Nullable public abstract android.telephony.data.DataService.DataServiceProvider onCreateDataServiceProvider(int);
12454    field public static final int REQUEST_REASON_HANDOVER = 3; // 0x3
12455    field public static final int REQUEST_REASON_NORMAL = 1; // 0x1
12456    field public static final int REQUEST_REASON_SHUTDOWN = 2; // 0x2
12457    field public static final int REQUEST_REASON_UNKNOWN = 0; // 0x0
12458    field public static final String SERVICE_INTERFACE = "android.telephony.data.DataService";
12459  }
12460
12461  public abstract class DataService.DataServiceProvider implements java.lang.AutoCloseable {
12462    ctor public DataService.DataServiceProvider(int);
12463    method public abstract void close();
12464    method public void deactivateDataCall(int, int, @Nullable android.telephony.data.DataServiceCallback);
12465    method public final int getSlotIndex();
12466    method public final void notifyApnUnthrottled(@NonNull String);
12467    method public final void notifyDataCallListChanged(java.util.List<android.telephony.data.DataCallResponse>);
12468    method public void requestDataCallList(@NonNull android.telephony.data.DataServiceCallback);
12469    method public void setDataProfile(@NonNull java.util.List<android.telephony.data.DataProfile>, boolean, @NonNull android.telephony.data.DataServiceCallback);
12470    method public void setInitialAttachApn(@NonNull android.telephony.data.DataProfile, boolean, @NonNull android.telephony.data.DataServiceCallback);
12471    method public void setupDataCall(int, @NonNull android.telephony.data.DataProfile, boolean, boolean, int, @Nullable android.net.LinkProperties, @NonNull android.telephony.data.DataServiceCallback);
12472    method public void setupDataCall(int, @NonNull android.telephony.data.DataProfile, boolean, boolean, int, @Nullable android.net.LinkProperties, @IntRange(from=0, to=15) int, @Nullable android.telephony.data.NetworkSliceInfo, @Nullable android.telephony.data.TrafficDescriptor, boolean, @NonNull android.telephony.data.DataServiceCallback);
12473  }
12474
12475  public class DataServiceCallback {
12476    method public void onApnUnthrottled(@NonNull String);
12477    method public void onDataCallListChanged(@NonNull java.util.List<android.telephony.data.DataCallResponse>);
12478    method public void onDeactivateDataCallComplete(int);
12479    method public void onRequestDataCallListComplete(int, @NonNull java.util.List<android.telephony.data.DataCallResponse>);
12480    method public void onSetDataProfileComplete(int);
12481    method public void onSetInitialAttachApnComplete(int);
12482    method public void onSetupDataCallComplete(int, @Nullable android.telephony.data.DataCallResponse);
12483    field public static final int RESULT_ERROR_BUSY = 3; // 0x3
12484    field public static final int RESULT_ERROR_ILLEGAL_STATE = 4; // 0x4
12485    field public static final int RESULT_ERROR_INVALID_ARG = 2; // 0x2
12486    field public static final int RESULT_ERROR_UNSUPPORTED = 1; // 0x1
12487    field public static final int RESULT_SUCCESS = 0; // 0x0
12488  }
12489
12490  public final class EpsBearerQosSessionAttributes implements android.os.Parcelable android.net.QosSessionAttributes {
12491    method public int describeContents();
12492    method public long getGuaranteedDownlinkBitRateKbps();
12493    method public long getGuaranteedUplinkBitRateKbps();
12494    method public long getMaxDownlinkBitRateKbps();
12495    method public long getMaxUplinkBitRateKbps();
12496    method public int getQosIdentifier();
12497    method @NonNull public java.util.List<java.net.InetSocketAddress> getRemoteAddresses();
12498    method public void writeToParcel(@NonNull android.os.Parcel, int);
12499    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.EpsBearerQosSessionAttributes> CREATOR;
12500  }
12501
12502  public final class NrQosSessionAttributes implements android.os.Parcelable android.net.QosSessionAttributes {
12503    method public int describeContents();
12504    method @NonNull public java.time.Duration getBitRateWindowDuration();
12505    method public long getGuaranteedDownlinkBitRateKbps();
12506    method public long getGuaranteedUplinkBitRateKbps();
12507    method public long getMaxDownlinkBitRateKbps();
12508    method public long getMaxUplinkBitRateKbps();
12509    method @IntRange(from=1, to=63) public int getQosFlowIdentifier();
12510    method public int getQosIdentifier();
12511    method @NonNull public java.util.List<java.net.InetSocketAddress> getRemoteAddresses();
12512    method public void writeToParcel(@NonNull android.os.Parcel, int);
12513    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.NrQosSessionAttributes> CREATOR;
12514  }
12515
12516  public abstract class QualifiedNetworksService extends android.app.Service {
12517    ctor public QualifiedNetworksService();
12518    method @NonNull public abstract android.telephony.data.QualifiedNetworksService.NetworkAvailabilityProvider onCreateNetworkAvailabilityProvider(int);
12519    field public static final String QUALIFIED_NETWORKS_SERVICE_INTERFACE = "android.telephony.data.QualifiedNetworksService";
12520  }
12521
12522  public abstract class QualifiedNetworksService.NetworkAvailabilityProvider implements java.lang.AutoCloseable {
12523    ctor public QualifiedNetworksService.NetworkAvailabilityProvider(int);
12524    method public abstract void close();
12525    method public final int getSlotIndex();
12526    method public void reportThrottleStatusChanged(@NonNull java.util.List<android.telephony.data.ThrottleStatus>);
12527    method public final void updateQualifiedNetworkTypes(int, @NonNull java.util.List<java.lang.Integer>);
12528  }
12529
12530  public final class ThrottleStatus implements android.os.Parcelable {
12531    method public int describeContents();
12532    method public int getApnType();
12533    method public int getRetryType();
12534    method public int getSlotIndex();
12535    method public long getThrottleExpiryTimeMillis();
12536    method public int getThrottleType();
12537    method public int getTransportType();
12538    method public void writeToParcel(@NonNull android.os.Parcel, int);
12539    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.ThrottleStatus> CREATOR;
12540    field public static final int RETRY_TYPE_HANDOVER = 3; // 0x3
12541    field public static final int RETRY_TYPE_NEW_CONNECTION = 2; // 0x2
12542    field public static final int RETRY_TYPE_NONE = 1; // 0x1
12543    field public static final int THROTTLE_TYPE_ELAPSED_TIME = 2; // 0x2
12544    field public static final int THROTTLE_TYPE_NONE = 1; // 0x1
12545  }
12546
12547  public static final class ThrottleStatus.Builder {
12548    ctor public ThrottleStatus.Builder();
12549    method @NonNull public android.telephony.data.ThrottleStatus build();
12550    method @NonNull public android.telephony.data.ThrottleStatus.Builder setApnType(int);
12551    method @NonNull public android.telephony.data.ThrottleStatus.Builder setNoThrottle();
12552    method @NonNull public android.telephony.data.ThrottleStatus.Builder setRetryType(int);
12553    method @NonNull public android.telephony.data.ThrottleStatus.Builder setSlotIndex(int);
12554    method @NonNull public android.telephony.data.ThrottleStatus.Builder setThrottleExpiryTimeMillis(long);
12555    method @NonNull public android.telephony.data.ThrottleStatus.Builder setTransportType(int);
12556  }
12557
12558}
12559
12560package android.telephony.euicc {
12561
12562  public final class DownloadableSubscription implements android.os.Parcelable {
12563    method public java.util.List<android.telephony.UiccAccessRule> getAccessRules();
12564    method @Nullable public String getCarrierName();
12565  }
12566
12567  public static final class DownloadableSubscription.Builder {
12568    ctor public DownloadableSubscription.Builder();
12569    method @NonNull public android.telephony.euicc.DownloadableSubscription.Builder setAccessRules(@NonNull java.util.List<android.telephony.UiccAccessRule>);
12570    method @NonNull public android.telephony.euicc.DownloadableSubscription.Builder setCarrierName(@NonNull String);
12571  }
12572
12573  public class EuiccCardManager {
12574    method public void authenticateServer(String, String, byte[], byte[], byte[], byte[], java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
12575    method public void cancelSession(String, byte[], @android.telephony.euicc.EuiccCardManager.CancelReason int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
12576    method public void deleteProfile(String, String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
12577    method public void disableProfile(String, String, boolean, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
12578    method public void listNotifications(String, @android.telephony.euicc.EuiccNotification.Event int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.telephony.euicc.EuiccNotification[]>);
12579    method public void loadBoundProfilePackage(String, byte[], java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
12580    method public void prepareDownload(String, @Nullable byte[], byte[], byte[], byte[], java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
12581    method public void removeNotificationFromList(String, int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
12582    method public void requestAllProfiles(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.service.euicc.EuiccProfileInfo[]>);
12583    method public void requestDefaultSmdpAddress(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.String>);
12584    method public void requestEuiccChallenge(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
12585    method public void requestEuiccInfo1(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
12586    method public void requestEuiccInfo2(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
12587    method public void requestProfile(String, String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.service.euicc.EuiccProfileInfo>);
12588    method public void requestRulesAuthTable(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.telephony.euicc.EuiccRulesAuthTable>);
12589    method public void requestSmdsAddress(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.String>);
12590    method public void resetMemory(String, @android.telephony.euicc.EuiccCardManager.ResetOption int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
12591    method public void retrieveNotification(String, int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.telephony.euicc.EuiccNotification>);
12592    method public void retrieveNotificationList(String, @android.telephony.euicc.EuiccNotification.Event int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.telephony.euicc.EuiccNotification[]>);
12593    method public void setDefaultSmdpAddress(String, String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
12594    method public void setNickname(String, String, String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
12595    method public void switchToProfile(String, String, boolean, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.service.euicc.EuiccProfileInfo>);
12596    field public static final int CANCEL_REASON_END_USER_REJECTED = 0; // 0x0
12597    field public static final int CANCEL_REASON_POSTPONED = 1; // 0x1
12598    field public static final int CANCEL_REASON_PPR_NOT_ALLOWED = 3; // 0x3
12599    field public static final int CANCEL_REASON_TIMEOUT = 2; // 0x2
12600    field public static final int RESET_OPTION_DELETE_FIELD_LOADED_TEST_PROFILES = 2; // 0x2
12601    field public static final int RESET_OPTION_DELETE_OPERATIONAL_PROFILES = 1; // 0x1
12602    field public static final int RESET_OPTION_RESET_DEFAULT_SMDP_ADDRESS = 4; // 0x4
12603    field public static final int RESULT_CALLER_NOT_ALLOWED = -3; // 0xfffffffd
12604    field public static final int RESULT_EUICC_NOT_FOUND = -2; // 0xfffffffe
12605    field public static final int RESULT_OK = 0; // 0x0
12606    field public static final int RESULT_UNKNOWN_ERROR = -1; // 0xffffffff
12607  }
12608
12609  @IntDef(prefix={"CANCEL_REASON_"}, value={android.telephony.euicc.EuiccCardManager.CANCEL_REASON_END_USER_REJECTED, android.telephony.euicc.EuiccCardManager.CANCEL_REASON_POSTPONED, android.telephony.euicc.EuiccCardManager.CANCEL_REASON_TIMEOUT, android.telephony.euicc.EuiccCardManager.CANCEL_REASON_PPR_NOT_ALLOWED}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface EuiccCardManager.CancelReason {
12610  }
12611
12612  @IntDef(flag=true, prefix={"RESET_OPTION_"}, value={android.telephony.euicc.EuiccCardManager.RESET_OPTION_DELETE_OPERATIONAL_PROFILES, android.telephony.euicc.EuiccCardManager.RESET_OPTION_DELETE_FIELD_LOADED_TEST_PROFILES, android.telephony.euicc.EuiccCardManager.RESET_OPTION_RESET_DEFAULT_SMDP_ADDRESS}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface EuiccCardManager.ResetOption {
12613  }
12614
12615  public static interface EuiccCardManager.ResultCallback<T> {
12616    method public void onComplete(int, T);
12617  }
12618
12619  public class EuiccManager {
12620    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void continueOperation(android.content.Intent, android.os.Bundle);
12621    method @Deprecated @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void eraseSubscriptions(@NonNull android.app.PendingIntent);
12622    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void eraseSubscriptions(@android.telephony.euicc.EuiccCardManager.ResetOption int, @NonNull android.app.PendingIntent);
12623    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void getDefaultDownloadableSubscriptionList(android.app.PendingIntent);
12624    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void getDownloadableSubscriptionMetadata(android.telephony.euicc.DownloadableSubscription, android.app.PendingIntent);
12625    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public int getOtaStatus();
12626    method @NonNull @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public java.util.List<java.lang.String> getSupportedCountries();
12627    method @NonNull @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public java.util.List<java.lang.String> getUnsupportedCountries();
12628    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public boolean isSupportedCountry(@NonNull String);
12629    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void setSupportedCountries(@NonNull java.util.List<java.lang.String>);
12630    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void setUnsupportedCountries(@NonNull java.util.List<java.lang.String>);
12631    field public static final String ACTION_DELETE_SUBSCRIPTION_PRIVILEGED = "android.telephony.euicc.action.DELETE_SUBSCRIPTION_PRIVILEGED";
12632    field @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public static final String ACTION_OTA_STATUS_CHANGED = "android.telephony.euicc.action.OTA_STATUS_CHANGED";
12633    field public static final String ACTION_PROVISION_EMBEDDED_SUBSCRIPTION = "android.telephony.euicc.action.PROVISION_EMBEDDED_SUBSCRIPTION";
12634    field public static final String ACTION_RENAME_SUBSCRIPTION_PRIVILEGED = "android.telephony.euicc.action.RENAME_SUBSCRIPTION_PRIVILEGED";
12635    field public static final String ACTION_TOGGLE_SUBSCRIPTION_PRIVILEGED = "android.telephony.euicc.action.TOGGLE_SUBSCRIPTION_PRIVILEGED";
12636    field public static final int EUICC_ACTIVATION_TYPE_ACCOUNT_REQUIRED = 4; // 0x4
12637    field public static final int EUICC_ACTIVATION_TYPE_BACKUP = 2; // 0x2
12638    field public static final int EUICC_ACTIVATION_TYPE_DEFAULT = 1; // 0x1
12639    field public static final int EUICC_ACTIVATION_TYPE_TRANSFER = 3; // 0x3
12640    field public static final int EUICC_OTA_FAILED = 2; // 0x2
12641    field public static final int EUICC_OTA_IN_PROGRESS = 1; // 0x1
12642    field public static final int EUICC_OTA_NOT_NEEDED = 4; // 0x4
12643    field public static final int EUICC_OTA_STATUS_UNAVAILABLE = 5; // 0x5
12644    field public static final int EUICC_OTA_SUCCEEDED = 3; // 0x3
12645    field public static final String EXTRA_ACTIVATION_TYPE = "android.telephony.euicc.extra.ACTIVATION_TYPE";
12646    field public static final String EXTRA_EMBEDDED_SUBSCRIPTION_DOWNLOADABLE_SUBSCRIPTIONS = "android.telephony.euicc.extra.EMBEDDED_SUBSCRIPTION_DOWNLOADABLE_SUBSCRIPTIONS";
12647    field public static final String EXTRA_ENABLE_SUBSCRIPTION = "android.telephony.euicc.extra.ENABLE_SUBSCRIPTION";
12648    field public static final String EXTRA_FORCE_PROVISION = "android.telephony.euicc.extra.FORCE_PROVISION";
12649    field public static final String EXTRA_FROM_SUBSCRIPTION_ID = "android.telephony.euicc.extra.FROM_SUBSCRIPTION_ID";
12650    field public static final String EXTRA_PHYSICAL_SLOT_ID = "android.telephony.euicc.extra.PHYSICAL_SLOT_ID";
12651    field public static final String EXTRA_SUBSCRIPTION_ID = "android.telephony.euicc.extra.SUBSCRIPTION_ID";
12652    field public static final String EXTRA_SUBSCRIPTION_NICKNAME = "android.telephony.euicc.extra.SUBSCRIPTION_NICKNAME";
12653  }
12654
12655  @IntDef(prefix={"EUICC_OTA_"}, value={android.telephony.euicc.EuiccManager.EUICC_OTA_IN_PROGRESS, android.telephony.euicc.EuiccManager.EUICC_OTA_FAILED, android.telephony.euicc.EuiccManager.EUICC_OTA_SUCCEEDED, android.telephony.euicc.EuiccManager.EUICC_OTA_NOT_NEEDED, android.telephony.euicc.EuiccManager.EUICC_OTA_STATUS_UNAVAILABLE}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface EuiccManager.OtaStatus {
12656  }
12657
12658  public final class EuiccNotification implements android.os.Parcelable {
12659    ctor public EuiccNotification(int, String, @android.telephony.euicc.EuiccNotification.Event int, @Nullable byte[]);
12660    method public int describeContents();
12661    method @Nullable public byte[] getData();
12662    method @android.telephony.euicc.EuiccNotification.Event public int getEvent();
12663    method public int getSeq();
12664    method public String getTargetAddr();
12665    method public void writeToParcel(android.os.Parcel, int);
12666    field @android.telephony.euicc.EuiccNotification.Event public static final int ALL_EVENTS = 15; // 0xf
12667    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.euicc.EuiccNotification> CREATOR;
12668    field public static final int EVENT_DELETE = 8; // 0x8
12669    field public static final int EVENT_DISABLE = 4; // 0x4
12670    field public static final int EVENT_ENABLE = 2; // 0x2
12671    field public static final int EVENT_INSTALL = 1; // 0x1
12672  }
12673
12674  @IntDef(flag=true, prefix={"EVENT_"}, value={android.telephony.euicc.EuiccNotification.EVENT_INSTALL, android.telephony.euicc.EuiccNotification.EVENT_ENABLE, android.telephony.euicc.EuiccNotification.EVENT_DISABLE, android.telephony.euicc.EuiccNotification.EVENT_DELETE}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface EuiccNotification.Event {
12675  }
12676
12677  public final class EuiccRulesAuthTable implements android.os.Parcelable {
12678    method public int describeContents();
12679    method public int findIndex(@android.service.euicc.EuiccProfileInfo.PolicyRule int, android.service.carrier.CarrierIdentifier);
12680    method public boolean hasPolicyRuleFlag(int, @android.telephony.euicc.EuiccRulesAuthTable.PolicyRuleFlag int);
12681    method public void writeToParcel(android.os.Parcel, int);
12682    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.euicc.EuiccRulesAuthTable> CREATOR;
12683    field public static final int POLICY_RULE_FLAG_CONSENT_REQUIRED = 1; // 0x1
12684  }
12685
12686  public static final class EuiccRulesAuthTable.Builder {
12687    ctor public EuiccRulesAuthTable.Builder(int);
12688    method public android.telephony.euicc.EuiccRulesAuthTable.Builder add(int, java.util.List<android.service.carrier.CarrierIdentifier>, int);
12689    method public android.telephony.euicc.EuiccRulesAuthTable build();
12690  }
12691
12692  @IntDef(flag=true, prefix={"POLICY_RULE_FLAG_"}, value={android.telephony.euicc.EuiccRulesAuthTable.POLICY_RULE_FLAG_CONSENT_REQUIRED}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface EuiccRulesAuthTable.PolicyRuleFlag {
12693  }
12694
12695}
12696
12697package android.telephony.gba {
12698
12699  public class GbaService extends android.app.Service {
12700    ctor public GbaService();
12701    method public void onAuthenticationRequest(int, int, int, @NonNull android.net.Uri, @NonNull byte[], boolean);
12702    method public final void reportAuthenticationFailure(int, int) throws java.lang.RuntimeException;
12703    method public final void reportKeysAvailable(int, @NonNull byte[], @NonNull String) throws java.lang.RuntimeException;
12704    field public static final String SERVICE_INTERFACE = "android.telephony.gba.GbaService";
12705  }
12706
12707  public class TlsParams {
12708    method public static boolean isTlsCipherSuiteSupported(int);
12709    field public static final int GROUP_SECP256R1 = 23; // 0x17
12710    field public static final int GROUP_SECP384R1 = 24; // 0x18
12711    field public static final int GROUP_X25519 = 29; // 0x1d
12712    field public static final int GROUP_X448 = 30; // 0x1e
12713    field public static final int PROTOCOL_VERSION_TLS_1_2 = 771; // 0x303
12714    field public static final int PROTOCOL_VERSION_TLS_1_3 = 772; // 0x304
12715    field public static final int SIG_ECDSA_BRAINPOOLP256R1TLS13_SHA256 = 2074; // 0x81a
12716    field public static final int SIG_ECDSA_BRAINPOOLP384R1TLS13_SHA384 = 2075; // 0x81b
12717    field public static final int SIG_ECDSA_BRAINPOOLP512R1TLS13_SHA512 = 2076; // 0x81c
12718    field public static final int SIG_ECDSA_SECP256R1_SHA256 = 1027; // 0x403
12719    field public static final int SIG_ECDSA_SECP384R1_SHA384 = 1283; // 0x503
12720    field public static final int SIG_ECDSA_SECP521R1_SHA512 = 1539; // 0x603
12721    field public static final int SIG_ECDSA_SHA1 = 515; // 0x203
12722    field public static final int SIG_RSA_PKCS1_SHA1 = 513; // 0x201
12723    field public static final int SIG_RSA_PKCS1_SHA256 = 1025; // 0x401
12724    field public static final int SIG_RSA_PKCS1_SHA256_LEGACY = 1056; // 0x420
12725    field public static final int SIG_RSA_PKCS1_SHA384 = 1281; // 0x501
12726    field public static final int SIG_RSA_PKCS1_SHA384_LEGACY = 1312; // 0x520
12727    field public static final int SIG_RSA_PKCS1_SHA512 = 1537; // 0x601
12728    field public static final int SIG_RSA_PKCS1_SHA512_LEGACY = 1568; // 0x620
12729    field public static final int SIG_RSA_PSS_RSAE_SHA256 = 2052; // 0x804
12730    field public static final int SIG_RSA_PSS_RSAE_SHA384 = 2053; // 0x805
12731    field public static final int SIG_RSA_PSS_RSAE_SHA512 = 2054; // 0x806
12732    field public static final int TLS_AES_128_CCM_SHA256 = 4868; // 0x1304
12733    field public static final int TLS_AES_128_GCM_SHA256 = 4865; // 0x1301
12734    field public static final int TLS_AES_256_GCM_SHA384 = 4866; // 0x1302
12735    field public static final int TLS_CHACHA20_POLY1305_SHA256 = 4867; // 0x1303
12736    field public static final int TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA = 19; // 0x13
12737    field public static final int TLS_DHE_DSS_WITH_AES_128_CBC_SHA = 50; // 0x32
12738    field public static final int TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 = 64; // 0x40
12739    field public static final int TLS_DHE_DSS_WITH_AES_256_CBC_SHA = 56; // 0x38
12740    field public static final int TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 = 106; // 0x6a
12741    field public static final int TLS_DHE_PSK_WITH_AES_128_CCM = 49318; // 0xc0a6
12742    field public static final int TLS_DHE_PSK_WITH_AES_128_GCM_SHA256 = 170; // 0xaa
12743    field public static final int TLS_DHE_PSK_WITH_AES_256_CCM = 49319; // 0xc0a7
12744    field public static final int TLS_DHE_PSK_WITH_AES_256_GCM_SHA384 = 171; // 0xab
12745    field public static final int TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256 = 52397; // 0xccad
12746    field public static final int TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA = 22; // 0x16
12747    field public static final int TLS_DHE_RSA_WITH_AES_128_CBC_SHA = 51; // 0x33
12748    field public static final int TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 = 103; // 0x67
12749    field public static final int TLS_DHE_RSA_WITH_AES_128_CCM = 49310; // 0xc09e
12750    field public static final int TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 = 158; // 0x9e
12751    field public static final int TLS_DHE_RSA_WITH_AES_256_CBC_SHA = 57; // 0x39
12752    field public static final int TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 = 107; // 0x6b
12753    field public static final int TLS_DHE_RSA_WITH_AES_256_CCM = 49311; // 0xc09f
12754    field public static final int TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 = 159; // 0x9f
12755    field public static final int TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 = 52394; // 0xccaa
12756    field public static final int TLS_DH_ANON_WITH_3DES_EDE_CBC_SHA = 27; // 0x1b
12757    field public static final int TLS_DH_ANON_WITH_AES_128_CBC_SHA = 52; // 0x34
12758    field public static final int TLS_DH_ANON_WITH_AES_128_CBC_SHA256 = 108; // 0x6c
12759    field public static final int TLS_DH_ANON_WITH_AES_256_CBC_SHA = 58; // 0x3a
12760    field public static final int TLS_DH_ANON_WITH_AES_256_CBC_SHA256 = 109; // 0x6d
12761    field public static final int TLS_DH_ANON_WITH_RC4_128_MD5 = 24; // 0x18
12762    field public static final int TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA = 13; // 0xd
12763    field public static final int TLS_DH_DSS_WITH_AES_128_CBC_SHA = 48; // 0x30
12764    field public static final int TLS_DH_DSS_WITH_AES_128_CBC_SHA256 = 62; // 0x3e
12765    field public static final int TLS_DH_DSS_WITH_AES_256_CBC_SHA = 54; // 0x36
12766    field public static final int TLS_DH_DSS_WITH_AES_256_CBC_SHA256 = 104; // 0x68
12767    field public static final int TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA = 16; // 0x10
12768    field public static final int TLS_DH_RSA_WITH_AES_128_CBC_SHA = 49; // 0x31
12769    field public static final int TLS_DH_RSA_WITH_AES_128_CBC_SHA256 = 63; // 0x3f
12770    field public static final int TLS_DH_RSA_WITH_AES_256_CBC_SHA = 55; // 0x37
12771    field public static final int TLS_DH_RSA_WITH_AES_256_CBC_SHA256 = 105; // 0x69
12772    field public static final int TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 = 49195; // 0xc02b
12773    field public static final int TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 = 49196; // 0xc02c
12774    field public static final int TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 = 52393; // 0xcca9
12775    field public static final int TLS_ECDHE_PSK_WITH_AES_128_CCM_SHA256 = 53253; // 0xd005
12776    field public static final int TLS_ECDHE_PSK_WITH_AES_128_GCM_SHA256 = 53249; // 0xd001
12777    field public static final int TLS_ECDHE_PSK_WITH_AES_256_GCM_SHA384 = 53250; // 0xd002
12778    field public static final int TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256 = 52396; // 0xccac
12779    field public static final int TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 = 49199; // 0xc02f
12780    field public static final int TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 = 49200; // 0xc030
12781    field public static final int TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 = 52392; // 0xcca8
12782    field public static final int TLS_NULL_WITH_NULL_NULL = 0; // 0x0
12783    field public static final int TLS_RSA_WITH_3DES_EDE_CBC_SHA = 10; // 0xa
12784    field public static final int TLS_RSA_WITH_AES_128_CBC_SHA = 47; // 0x2f
12785    field public static final int TLS_RSA_WITH_AES_128_CBC_SHA256 = 60; // 0x3c
12786    field public static final int TLS_RSA_WITH_AES_256_CBC_SHA = 53; // 0x35
12787    field public static final int TLS_RSA_WITH_AES_256_CBC_SHA256 = 61; // 0x3d
12788    field public static final int TLS_RSA_WITH_NULL_MD5 = 1; // 0x1
12789    field public static final int TLS_RSA_WITH_NULL_SHA = 2; // 0x2
12790    field public static final int TLS_RSA_WITH_NULL_SHA256 = 59; // 0x3b
12791    field public static final int TLS_RSA_WITH_RC4_128_MD5 = 4; // 0x4
12792    field public static final int TLS_RSA_WITH_RC4_128_SHA = 5; // 0x5
12793  }
12794
12795  public final class UaSecurityProtocolIdentifier implements android.os.Parcelable {
12796    method public int describeContents();
12797    method public int getOrg();
12798    method public int getProtocol();
12799    method public int getTlsCipherSuite();
12800    method @NonNull public byte[] toByteArray();
12801    method public void writeToParcel(@NonNull android.os.Parcel, int);
12802    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.gba.UaSecurityProtocolIdentifier> CREATOR;
12803    field public static final int ORG_3GPP = 1; // 0x1
12804    field public static final int ORG_3GPP2 = 2; // 0x2
12805    field public static final int ORG_GSMA = 4; // 0x4
12806    field public static final int ORG_LOCAL = 255; // 0xff
12807    field public static final int ORG_NONE = 0; // 0x0
12808    field public static final int ORG_OMA = 3; // 0x3
12809    field public static final int UA_SECURITY_PROTOCOL_3GPP_GENERATION_TMPI = 256; // 0x100
12810    field public static final int UA_SECURITY_PROTOCOL_3GPP_GENERIC_PUSH_LAYER = 5; // 0x5
12811    field public static final int UA_SECURITY_PROTOCOL_3GPP_HTTP_BASED_MBMS = 3; // 0x3
12812    field public static final int UA_SECURITY_PROTOCOL_3GPP_HTTP_DIGEST_AUTHENTICATION = 2; // 0x2
12813    field public static final int UA_SECURITY_PROTOCOL_3GPP_IMS_MEDIA_PLANE = 6; // 0x6
12814    field public static final int UA_SECURITY_PROTOCOL_3GPP_MBMS = 1; // 0x1
12815    field public static final int UA_SECURITY_PROTOCOL_3GPP_SIP_BASED_MBMS = 4; // 0x4
12816    field public static final int UA_SECURITY_PROTOCOL_3GPP_SUBSCRIBER_CERTIFICATE = 0; // 0x0
12817    field public static final int UA_SECURITY_PROTOCOL_3GPP_TLS_BROWSER = 131072; // 0x20000
12818    field public static final int UA_SECURITY_PROTOCOL_3GPP_TLS_DEFAULT = 65536; // 0x10000
12819  }
12820
12821  public static final class UaSecurityProtocolIdentifier.Builder {
12822    ctor public UaSecurityProtocolIdentifier.Builder();
12823    ctor public UaSecurityProtocolIdentifier.Builder(@NonNull android.telephony.gba.UaSecurityProtocolIdentifier);
12824    method @NonNull public android.telephony.gba.UaSecurityProtocolIdentifier build();
12825    method @NonNull public android.telephony.gba.UaSecurityProtocolIdentifier.Builder setOrg(int);
12826    method @NonNull public android.telephony.gba.UaSecurityProtocolIdentifier.Builder setProtocol(int);
12827    method @NonNull public android.telephony.gba.UaSecurityProtocolIdentifier.Builder setTlsCipherSuite(int);
12828  }
12829
12830}
12831
12832package android.telephony.ims {
12833
12834  public final class AudioCodecAttributes implements android.os.Parcelable {
12835    ctor public AudioCodecAttributes(float, @NonNull android.util.Range<java.lang.Float>, float, @NonNull android.util.Range<java.lang.Float>);
12836    method public int describeContents();
12837    method public float getBandwidthKhz();
12838    method @NonNull public android.util.Range<java.lang.Float> getBandwidthRangeKhz();
12839    method public float getBitrateKbps();
12840    method @NonNull public android.util.Range<java.lang.Float> getBitrateRangeKbps();
12841    method public void writeToParcel(@NonNull android.os.Parcel, int);
12842    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.AudioCodecAttributes> CREATOR;
12843  }
12844
12845  public interface DelegateMessageCallback {
12846    method public void onMessageReceived(@NonNull android.telephony.ims.SipMessage);
12847    method public void onMessageSendFailure(@NonNull String, int);
12848    method public void onMessageSent(@NonNull String);
12849  }
12850
12851  public final class DelegateRegistrationState implements android.os.Parcelable {
12852    method public int describeContents();
12853    method @NonNull public java.util.Set<android.telephony.ims.FeatureTagState> getDeregisteredFeatureTags();
12854    method @NonNull public java.util.Set<android.telephony.ims.FeatureTagState> getDeregisteringFeatureTags();
12855    method @NonNull public java.util.Set<java.lang.String> getRegisteredFeatureTags();
12856    method public void writeToParcel(@NonNull android.os.Parcel, int);
12857    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.DelegateRegistrationState> CREATOR;
12858    field public static final int DEREGISTERED_REASON_NOT_PROVISIONED = 1; // 0x1
12859    field public static final int DEREGISTERED_REASON_NOT_REGISTERED = 2; // 0x2
12860    field public static final int DEREGISTERED_REASON_UNKNOWN = 0; // 0x0
12861    field public static final int DEREGISTERING_REASON_DESTROY_PENDING = 6; // 0x6
12862    field public static final int DEREGISTERING_REASON_FEATURE_TAGS_CHANGING = 5; // 0x5
12863    field public static final int DEREGISTERING_REASON_PDN_CHANGE = 3; // 0x3
12864    field public static final int DEREGISTERING_REASON_PROVISIONING_CHANGE = 4; // 0x4
12865  }
12866
12867  public static final class DelegateRegistrationState.Builder {
12868    ctor public DelegateRegistrationState.Builder();
12869    method @NonNull public android.telephony.ims.DelegateRegistrationState.Builder addDeregisteredFeatureTag(@NonNull String, int);
12870    method @NonNull public android.telephony.ims.DelegateRegistrationState.Builder addDeregisteringFeatureTag(@NonNull String, int);
12871    method @NonNull public android.telephony.ims.DelegateRegistrationState.Builder addRegisteredFeatureTag(@NonNull String);
12872    method @NonNull public android.telephony.ims.DelegateRegistrationState.Builder addRegisteredFeatureTags(@NonNull java.util.Set<java.lang.String>);
12873    method @NonNull public android.telephony.ims.DelegateRegistrationState build();
12874  }
12875
12876  public final class DelegateRequest implements android.os.Parcelable {
12877    ctor public DelegateRequest(@NonNull java.util.Set<java.lang.String>);
12878    method public int describeContents();
12879    method @NonNull public java.util.Set<java.lang.String> getFeatureTags();
12880    method public void writeToParcel(@NonNull android.os.Parcel, int);
12881    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.DelegateRequest> CREATOR;
12882  }
12883
12884  public interface DelegateStateCallback {
12885    method public void onConfigurationChanged(@NonNull android.telephony.ims.SipDelegateConfiguration);
12886    method public void onCreated(@NonNull android.telephony.ims.stub.SipDelegate, @Nullable java.util.Set<android.telephony.ims.FeatureTagState>);
12887    method public void onDestroyed(int);
12888    method public void onFeatureTagRegistrationChanged(@NonNull android.telephony.ims.DelegateRegistrationState);
12889  }
12890
12891  public final class FeatureTagState implements android.os.Parcelable {
12892    ctor public FeatureTagState(@NonNull String, int);
12893    method public int describeContents();
12894    method @NonNull public String getFeatureTag();
12895    method public int getState();
12896    method public void writeToParcel(@NonNull android.os.Parcel, int);
12897    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.FeatureTagState> CREATOR;
12898  }
12899
12900  public final class ImsCallForwardInfo implements android.os.Parcelable {
12901    ctor public ImsCallForwardInfo(int, int, int, int, @NonNull String, int);
12902    method public int describeContents();
12903    method public int getCondition();
12904    method public String getNumber();
12905    method public int getServiceClass();
12906    method public int getStatus();
12907    method public int getTimeSeconds();
12908    method public int getToA();
12909    method public void writeToParcel(android.os.Parcel, int);
12910    field public static final int CDIV_CF_REASON_ALL = 4; // 0x4
12911    field public static final int CDIV_CF_REASON_ALL_CONDITIONAL = 5; // 0x5
12912    field public static final int CDIV_CF_REASON_BUSY = 1; // 0x1
12913    field public static final int CDIV_CF_REASON_NOT_LOGGED_IN = 6; // 0x6
12914    field public static final int CDIV_CF_REASON_NOT_REACHABLE = 3; // 0x3
12915    field public static final int CDIV_CF_REASON_NO_REPLY = 2; // 0x2
12916    field public static final int CDIV_CF_REASON_UNCONDITIONAL = 0; // 0x0
12917    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsCallForwardInfo> CREATOR;
12918    field public static final int STATUS_ACTIVE = 1; // 0x1
12919    field public static final int STATUS_NOT_ACTIVE = 0; // 0x0
12920    field public static final int TYPE_OF_ADDRESS_INTERNATIONAL = 145; // 0x91
12921    field public static final int TYPE_OF_ADDRESS_UNKNOWN = 129; // 0x81
12922  }
12923
12924  public final class ImsCallProfile implements android.os.Parcelable {
12925    ctor public ImsCallProfile();
12926    ctor public ImsCallProfile(int, int);
12927    ctor public ImsCallProfile(int, int, android.os.Bundle, android.telephony.ims.ImsStreamMediaProfile);
12928    method public int describeContents();
12929    method @NonNull public java.util.Set<android.telephony.ims.RtpHeaderExtensionType> getAcceptedRtpHeaderExtensionTypes();
12930    method public String getCallExtra(String);
12931    method public String getCallExtra(String, String);
12932    method public boolean getCallExtraBoolean(String);
12933    method public boolean getCallExtraBoolean(String, boolean);
12934    method public int getCallExtraInt(String);
12935    method public int getCallExtraInt(String, int);
12936    method @Nullable public <T extends android.os.Parcelable> T getCallExtraParcelable(@Nullable String);
12937    method public android.os.Bundle getCallExtras();
12938    method public int getCallType();
12939    method public static int getCallTypeFromVideoState(int);
12940    method public int getCallerNumberVerificationStatus();
12941    method public int getEmergencyCallRouting();
12942    method public int getEmergencyServiceCategories();
12943    method @NonNull public java.util.List<java.lang.String> getEmergencyUrns();
12944    method public android.telephony.ims.ImsStreamMediaProfile getMediaProfile();
12945    method @NonNull public android.os.Bundle getProprietaryCallExtras();
12946    method public int getRestrictCause();
12947    method public int getServiceType();
12948    method public static int getVideoStateFromCallType(int);
12949    method public static int getVideoStateFromImsCallProfile(android.telephony.ims.ImsCallProfile);
12950    method public boolean hasKnownUserIntentEmergency();
12951    method public boolean isEmergencyCallTesting();
12952    method public boolean isVideoCall();
12953    method public boolean isVideoPaused();
12954    method public static int presentationToOir(int);
12955    method public void setAcceptedRtpHeaderExtensionTypes(@NonNull java.util.Set<android.telephony.ims.RtpHeaderExtensionType>);
12956    method public void setCallExtra(String, String);
12957    method public void setCallExtraBoolean(String, boolean);
12958    method public void setCallExtraInt(String, int);
12959    method public void setCallExtraParcelable(@NonNull String, @NonNull android.os.Parcelable);
12960    method public void setCallRestrictCause(int);
12961    method public void setCallerNumberVerificationStatus(int);
12962    method public void setEmergencyCallRouting(int);
12963    method public void setEmergencyCallTesting(boolean);
12964    method public void setEmergencyServiceCategories(int);
12965    method public void setEmergencyUrns(@NonNull java.util.List<java.lang.String>);
12966    method public void setHasKnownUserIntentEmergency(boolean);
12967    method public void updateCallExtras(android.telephony.ims.ImsCallProfile);
12968    method public void updateCallType(android.telephony.ims.ImsCallProfile);
12969    method public void updateMediaProfile(android.telephony.ims.ImsCallProfile);
12970    method public void writeToParcel(android.os.Parcel, int);
12971    field public static final int CALL_RESTRICT_CAUSE_DISABLED = 2; // 0x2
12972    field public static final int CALL_RESTRICT_CAUSE_HD = 3; // 0x3
12973    field public static final int CALL_RESTRICT_CAUSE_NONE = 0; // 0x0
12974    field public static final int CALL_RESTRICT_CAUSE_RAT = 1; // 0x1
12975    field public static final int CALL_TYPE_VIDEO_N_VOICE = 3; // 0x3
12976    field public static final int CALL_TYPE_VOICE = 2; // 0x2
12977    field public static final int CALL_TYPE_VOICE_N_VIDEO = 1; // 0x1
12978    field public static final int CALL_TYPE_VS = 8; // 0x8
12979    field public static final int CALL_TYPE_VS_RX = 10; // 0xa
12980    field public static final int CALL_TYPE_VS_TX = 9; // 0x9
12981    field public static final int CALL_TYPE_VT = 4; // 0x4
12982    field public static final int CALL_TYPE_VT_NODIR = 7; // 0x7
12983    field public static final int CALL_TYPE_VT_RX = 6; // 0x6
12984    field public static final int CALL_TYPE_VT_TX = 5; // 0x5
12985    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsCallProfile> CREATOR;
12986    field public static final int DIALSTRING_NORMAL = 0; // 0x0
12987    field public static final int DIALSTRING_SS_CONF = 1; // 0x1
12988    field public static final int DIALSTRING_USSD = 2; // 0x2
12989    field public static final String EXTRA_ADDITIONAL_CALL_INFO = "AdditionalCallInfo";
12990    field public static final String EXTRA_ADDITIONAL_SIP_INVITE_FIELDS = "android.telephony.ims.extra.ADDITIONAL_SIP_INVITE_FIELDS";
12991    field public static final String EXTRA_CALL_DISCONNECT_CAUSE = "android.telephony.ims.extra.CALL_DISCONNECT_CAUSE";
12992    field public static final String EXTRA_CALL_NETWORK_TYPE = "android.telephony.ims.extra.CALL_NETWORK_TYPE";
12993    field @Deprecated public static final String EXTRA_CALL_RAT_TYPE = "CallRadioTech";
12994    field public static final String EXTRA_CALL_SUBJECT = "android.telephony.ims.extra.CALL_SUBJECT";
12995    field public static final String EXTRA_CHILD_NUMBER = "ChildNum";
12996    field public static final String EXTRA_CNA = "cna";
12997    field public static final String EXTRA_CNAP = "cnap";
12998    field public static final String EXTRA_CODEC = "Codec";
12999    field public static final String EXTRA_CONFERENCE = "android.telephony.ims.extra.CONFERENCE";
13000    field public static final String EXTRA_DIALSTRING = "dialstring";
13001    field public static final String EXTRA_DISPLAY_TEXT = "DisplayText";
13002    field public static final String EXTRA_EMERGENCY_CALL = "e_call";
13003    field public static final String EXTRA_EXTENDING_TO_CONFERENCE_SUPPORTED = "android.telephony.ims.extra.EXTENDING_TO_CONFERENCE_SUPPORTED";
13004    field public static final String EXTRA_FORWARDED_NUMBER = "android.telephony.ims.extra.FORWARDED_NUMBER";
13005    field public static final String EXTRA_IS_BUSINESS_CALL = "android.telephony.ims.extra.IS_BUSINESS_CALL";
13006    field public static final String EXTRA_IS_CALL_PULL = "CallPull";
13007    field public static final String EXTRA_IS_CROSS_SIM_CALL = "android.telephony.ims.extra.IS_CROSS_SIM_CALL";
13008    field public static final String EXTRA_LOCATION = "android.telephony.ims.extra.LOCATION";
13009    field public static final String EXTRA_OI = "oi";
13010    field public static final String EXTRA_OIR = "oir";
13011    field public static final String EXTRA_PICTURE_URL = "android.telephony.ims.extra.PICTURE_URL";
13012    field public static final String EXTRA_PRIORITY = "android.telephony.ims.extra.PRIORITY";
13013    field public static final String EXTRA_REMOTE_URI = "remote_uri";
13014    field public static final String EXTRA_USSD = "ussd";
13015    field public static final int OIR_DEFAULT = 0; // 0x0
13016    field public static final int OIR_PRESENTATION_NOT_RESTRICTED = 2; // 0x2
13017    field public static final int OIR_PRESENTATION_PAYPHONE = 4; // 0x4
13018    field public static final int OIR_PRESENTATION_RESTRICTED = 1; // 0x1
13019    field public static final int OIR_PRESENTATION_UNKNOWN = 3; // 0x3
13020    field public static final int PRIORITY_NORMAL = 0; // 0x0
13021    field public static final int PRIORITY_URGENT = 1; // 0x1
13022    field public static final int SERVICE_TYPE_EMERGENCY = 2; // 0x2
13023    field public static final int SERVICE_TYPE_NONE = 0; // 0x0
13024    field public static final int SERVICE_TYPE_NORMAL = 1; // 0x1
13025    field public static final int VERIFICATION_STATUS_FAILED = 2; // 0x2
13026    field public static final int VERIFICATION_STATUS_NOT_VERIFIED = 0; // 0x0
13027    field public static final int VERIFICATION_STATUS_PASSED = 1; // 0x1
13028  }
13029
13030  public class ImsCallSessionListener {
13031    method public void callQualityChanged(@NonNull android.telephony.CallQuality);
13032    method public void callSessionConferenceExtendFailed(android.telephony.ims.ImsReasonInfo);
13033    method public void callSessionConferenceExtendReceived(android.telephony.ims.stub.ImsCallSessionImplBase, android.telephony.ims.ImsCallProfile);
13034    method public void callSessionConferenceExtended(android.telephony.ims.stub.ImsCallSessionImplBase, android.telephony.ims.ImsCallProfile);
13035    method public void callSessionConferenceStateUpdated(android.telephony.ims.ImsConferenceState);
13036    method public void callSessionDtmfReceived(char);
13037    method @Deprecated public void callSessionHandover(int, int, android.telephony.ims.ImsReasonInfo);
13038    method @Deprecated public void callSessionHandoverFailed(int, int, android.telephony.ims.ImsReasonInfo);
13039    method public void callSessionHeld(android.telephony.ims.ImsCallProfile);
13040    method public void callSessionHoldFailed(android.telephony.ims.ImsReasonInfo);
13041    method public void callSessionHoldReceived(android.telephony.ims.ImsCallProfile);
13042    method public void callSessionInitiated(android.telephony.ims.ImsCallProfile);
13043    method @Deprecated public void callSessionInitiatedFailed(android.telephony.ims.ImsReasonInfo);
13044    method public void callSessionInitiating(@NonNull android.telephony.ims.ImsCallProfile);
13045    method public void callSessionInitiatingFailed(@NonNull android.telephony.ims.ImsReasonInfo);
13046    method public void callSessionInviteParticipantsRequestDelivered();
13047    method public void callSessionInviteParticipantsRequestFailed(android.telephony.ims.ImsReasonInfo);
13048    method @Deprecated public void callSessionMayHandover(int, int);
13049    method public void callSessionMergeComplete(android.telephony.ims.stub.ImsCallSessionImplBase);
13050    method public void callSessionMergeFailed(android.telephony.ims.ImsReasonInfo);
13051    method public void callSessionMergeStarted(android.telephony.ims.stub.ImsCallSessionImplBase, android.telephony.ims.ImsCallProfile);
13052    method public void callSessionMultipartyStateChanged(boolean);
13053    method public void callSessionProgressing(android.telephony.ims.ImsStreamMediaProfile);
13054    method public void callSessionRemoveParticipantsRequestDelivered();
13055    method public void callSessionRemoveParticipantsRequestFailed(android.telephony.ims.ImsReasonInfo);
13056    method public void callSessionResumeFailed(android.telephony.ims.ImsReasonInfo);
13057    method public void callSessionResumeReceived(android.telephony.ims.ImsCallProfile);
13058    method public void callSessionResumed(android.telephony.ims.ImsCallProfile);
13059    method public void callSessionRtpHeaderExtensionsReceived(@NonNull java.util.Set<android.telephony.ims.RtpHeaderExtension>);
13060    method public void callSessionRttAudioIndicatorChanged(@NonNull android.telephony.ims.ImsStreamMediaProfile);
13061    method public void callSessionRttMessageReceived(String);
13062    method public void callSessionRttModifyRequestReceived(android.telephony.ims.ImsCallProfile);
13063    method public void callSessionRttModifyResponseReceived(int);
13064    method public void callSessionSuppServiceReceived(android.telephony.ims.ImsSuppServiceNotification);
13065    method public void callSessionTerminated(android.telephony.ims.ImsReasonInfo);
13066    method public void callSessionTtyModeReceived(int);
13067    method public void callSessionUpdateFailed(android.telephony.ims.ImsReasonInfo);
13068    method public void callSessionUpdateReceived(android.telephony.ims.ImsCallProfile);
13069    method public void callSessionUpdated(android.telephony.ims.ImsCallProfile);
13070    method public void callSessionUssdMessageReceived(int, String);
13071    method public void onHandover(int, int, @Nullable android.telephony.ims.ImsReasonInfo);
13072    method public void onHandoverFailed(int, int, @NonNull android.telephony.ims.ImsReasonInfo);
13073    method public void onMayHandover(int, int);
13074  }
13075
13076  public final class ImsConferenceState implements android.os.Parcelable {
13077    method public int describeContents();
13078    method public static int getConnectionStateForStatus(String);
13079    method public void writeToParcel(android.os.Parcel, int);
13080    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsConferenceState> CREATOR;
13081    field public static final String DISPLAY_TEXT = "display-text";
13082    field public static final String ENDPOINT = "endpoint";
13083    field public static final String SIP_STATUS_CODE = "sipstatuscode";
13084    field public static final String STATUS = "status";
13085    field public static final String STATUS_ALERTING = "alerting";
13086    field public static final String STATUS_CONNECTED = "connected";
13087    field public static final String STATUS_CONNECT_FAIL = "connect-fail";
13088    field public static final String STATUS_DIALING_IN = "dialing-in";
13089    field public static final String STATUS_DIALING_OUT = "dialing-out";
13090    field public static final String STATUS_DISCONNECTED = "disconnected";
13091    field public static final String STATUS_DISCONNECTING = "disconnecting";
13092    field public static final String STATUS_MUTED_VIA_FOCUS = "muted-via-focus";
13093    field public static final String STATUS_ON_HOLD = "on-hold";
13094    field public static final String STATUS_PENDING = "pending";
13095    field public static final String STATUS_SEND_ONLY = "sendonly";
13096    field public static final String STATUS_SEND_RECV = "sendrecv";
13097    field public static final String USER = "user";
13098    field public final java.util.HashMap<java.lang.String,android.os.Bundle> mParticipants;
13099  }
13100
13101  public final class ImsException extends java.lang.Exception {
13102    ctor public ImsException(@Nullable String);
13103    ctor public ImsException(@Nullable String, int);
13104    ctor public ImsException(@Nullable String, int, @Nullable Throwable);
13105  }
13106
13107  public final class ImsExternalCallState implements android.os.Parcelable {
13108    ctor public ImsExternalCallState(@NonNull String, @NonNull android.net.Uri, @Nullable android.net.Uri, boolean, int, int, boolean);
13109    method public int describeContents();
13110    method @NonNull public android.net.Uri getAddress();
13111    method public int getCallId();
13112    method public int getCallState();
13113    method public int getCallType();
13114    method @Nullable public android.net.Uri getLocalAddress();
13115    method public boolean isCallHeld();
13116    method public boolean isCallPullable();
13117    method public void writeToParcel(android.os.Parcel, int);
13118    field public static final int CALL_STATE_CONFIRMED = 1; // 0x1
13119    field public static final int CALL_STATE_TERMINATED = 2; // 0x2
13120    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsExternalCallState> CREATOR;
13121  }
13122
13123  public class ImsManager {
13124    method @NonNull public android.telephony.ims.SipDelegateManager getSipDelegateManager(int);
13125  }
13126
13127  public class ImsMmTelManager implements android.telephony.ims.RegistrationManager {
13128    method @Deprecated @NonNull @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PRECISE_PHONE_STATE}) public static android.telephony.ims.ImsMmTelManager createForSubscriptionId(int);
13129    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void getFeatureState(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>) throws android.telephony.ims.ImsException;
13130    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void getRegistrationState(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
13131    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getVoWiFiRoamingModeSetting();
13132    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isAvailable(int, int);
13133    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isCapable(int, int);
13134    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void isSupported(int, int, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>) throws android.telephony.ims.ImsException;
13135    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void registerImsRegistrationCallback(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.ImsMmTelManager.RegistrationCallback) throws android.telephony.ims.ImsException;
13136    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setAdvancedCallingSettingEnabled(boolean);
13137    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCrossSimCallingEnabled(boolean) throws android.telephony.ims.ImsException;
13138    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setRttCapabilitySetting(boolean);
13139    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiModeSetting(int);
13140    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiNonPersistent(boolean, int);
13141    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiRoamingModeSetting(int);
13142    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiRoamingSettingEnabled(boolean);
13143    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiSettingEnabled(boolean);
13144    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVtSettingEnabled(boolean);
13145    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void unregisterImsRegistrationCallback(@NonNull android.telephony.ims.ImsMmTelManager.RegistrationCallback);
13146  }
13147
13148  @Deprecated public static class ImsMmTelManager.RegistrationCallback extends android.telephony.ims.RegistrationManager.RegistrationCallback {
13149    ctor @Deprecated public ImsMmTelManager.RegistrationCallback();
13150    method @Deprecated public void onRegistered(int);
13151    method @Deprecated public void onRegistering(int);
13152  }
13153
13154  public class ImsRcsManager {
13155    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void addOnAvailabilityChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.ImsRcsManager.OnAvailabilityChangedListener) throws android.telephony.ims.ImsException;
13156    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isAvailable(int, int) throws android.telephony.ims.ImsException;
13157    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isCapable(int, int) throws android.telephony.ims.ImsException;
13158    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void removeOnAvailabilityChangedListener(@NonNull android.telephony.ims.ImsRcsManager.OnAvailabilityChangedListener);
13159  }
13160
13161  public static interface ImsRcsManager.OnAvailabilityChangedListener {
13162    method public void onAvailabilityChanged(int);
13163  }
13164
13165  public final class ImsReasonInfo implements android.os.Parcelable {
13166    field public static final String EXTRA_MSG_SERVICE_NOT_AUTHORIZED = "Forbidden. Not Authorized for Service";
13167  }
13168
13169  public final class ImsRegistrationAttributes implements android.os.Parcelable {
13170    method public int getRegistrationTechnology();
13171  }
13172
13173  public static final class ImsRegistrationAttributes.Builder {
13174    ctor public ImsRegistrationAttributes.Builder(int);
13175    method @NonNull public android.telephony.ims.ImsRegistrationAttributes build();
13176    method @NonNull public android.telephony.ims.ImsRegistrationAttributes.Builder setFeatureTags(@NonNull java.util.Set<java.lang.String>);
13177  }
13178
13179  public class ImsService extends android.app.Service {
13180    ctor public ImsService();
13181    method public android.telephony.ims.feature.MmTelFeature createMmTelFeature(int);
13182    method public android.telephony.ims.feature.RcsFeature createRcsFeature(int);
13183    method public void disableIms(int);
13184    method public void enableIms(int);
13185    method public android.telephony.ims.stub.ImsConfigImplBase getConfig(int);
13186    method public long getImsServiceCapabilities();
13187    method public android.telephony.ims.stub.ImsRegistrationImplBase getRegistration(int);
13188    method @Nullable public android.telephony.ims.stub.SipTransportImplBase getSipTransport(int);
13189    method public final void onUpdateSupportedImsFeatures(android.telephony.ims.stub.ImsFeatureConfiguration) throws android.os.RemoteException;
13190    method public android.telephony.ims.stub.ImsFeatureConfiguration querySupportedImsFeatures();
13191    method public void readyForFeatureCreation();
13192    field public static final long CAPABILITY_SIP_DELEGATE_CREATION = 2L; // 0x2L
13193  }
13194
13195  public final class ImsSsData implements android.os.Parcelable {
13196    ctor public ImsSsData(int, int, int, int, int);
13197    method public int describeContents();
13198    method @Nullable public java.util.List<android.telephony.ims.ImsCallForwardInfo> getCallForwardInfo();
13199    method public int getRequestType();
13200    method public int getResult();
13201    method public int getServiceClass();
13202    method public int getServiceType();
13203    method @NonNull public java.util.List<android.telephony.ims.ImsSsInfo> getSuppServiceInfo();
13204    method public int getTeleserviceType();
13205    method public boolean isTypeBarring();
13206    method public boolean isTypeCf();
13207    method public boolean isTypeClip();
13208    method public boolean isTypeClir();
13209    method public boolean isTypeColp();
13210    method public boolean isTypeColr();
13211    method public boolean isTypeCw();
13212    method public boolean isTypeIcb();
13213    method public boolean isTypeInterrogation();
13214    method public boolean isTypeUnConditional();
13215    method public void writeToParcel(android.os.Parcel, int);
13216    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsSsData> CREATOR;
13217    field public static final int RESULT_SUCCESS = 0; // 0x0
13218    field public static final int SERVICE_CLASS_DATA = 2; // 0x2
13219    field public static final int SERVICE_CLASS_DATA_CIRCUIT_ASYNC = 32; // 0x20
13220    field public static final int SERVICE_CLASS_DATA_CIRCUIT_SYNC = 16; // 0x10
13221    field public static final int SERVICE_CLASS_DATA_PACKET_ACCESS = 64; // 0x40
13222    field public static final int SERVICE_CLASS_DATA_PAD = 128; // 0x80
13223    field public static final int SERVICE_CLASS_FAX = 4; // 0x4
13224    field public static final int SERVICE_CLASS_NONE = 0; // 0x0
13225    field public static final int SERVICE_CLASS_SMS = 8; // 0x8
13226    field public static final int SERVICE_CLASS_VOICE = 1; // 0x1
13227    field public static final int SS_ACTIVATION = 0; // 0x0
13228    field public static final int SS_ALL_BARRING = 18; // 0x12
13229    field public static final int SS_ALL_DATA_TELESERVICES = 3; // 0x3
13230    field public static final int SS_ALL_TELESERVICES_EXCEPT_SMS = 5; // 0x5
13231    field public static final int SS_ALL_TELESEVICES = 1; // 0x1
13232    field public static final int SS_ALL_TELE_AND_BEARER_SERVICES = 0; // 0x0
13233    field public static final int SS_BAIC = 16; // 0x10
13234    field public static final int SS_BAIC_ROAMING = 17; // 0x11
13235    field public static final int SS_BAOC = 13; // 0xd
13236    field public static final int SS_BAOIC = 14; // 0xe
13237    field public static final int SS_BAOIC_EXC_HOME = 15; // 0xf
13238    field public static final int SS_CFU = 0; // 0x0
13239    field public static final int SS_CFUT = 6; // 0x6
13240    field public static final int SS_CF_ALL = 4; // 0x4
13241    field public static final int SS_CF_ALL_CONDITIONAL = 5; // 0x5
13242    field public static final int SS_CF_BUSY = 1; // 0x1
13243    field public static final int SS_CF_NOT_REACHABLE = 3; // 0x3
13244    field public static final int SS_CF_NO_REPLY = 2; // 0x2
13245    field public static final int SS_CLIP = 7; // 0x7
13246    field public static final int SS_CLIR = 8; // 0x8
13247    field public static final int SS_CNAP = 11; // 0xb
13248    field public static final int SS_COLP = 9; // 0x9
13249    field public static final int SS_COLR = 10; // 0xa
13250    field public static final int SS_DEACTIVATION = 1; // 0x1
13251    field public static final int SS_ERASURE = 4; // 0x4
13252    field public static final int SS_INCOMING_BARRING = 20; // 0x14
13253    field public static final int SS_INCOMING_BARRING_ANONYMOUS = 22; // 0x16
13254    field public static final int SS_INCOMING_BARRING_DN = 21; // 0x15
13255    field public static final int SS_INTERROGATION = 2; // 0x2
13256    field public static final int SS_OUTGOING_BARRING = 19; // 0x13
13257    field public static final int SS_REGISTRATION = 3; // 0x3
13258    field public static final int SS_SMS_SERVICES = 4; // 0x4
13259    field public static final int SS_TELEPHONY = 2; // 0x2
13260    field public static final int SS_WAIT = 12; // 0xc
13261  }
13262
13263  public static final class ImsSsData.Builder {
13264    ctor public ImsSsData.Builder(int, int, int, int, int);
13265    method @NonNull public android.telephony.ims.ImsSsData build();
13266    method @NonNull public android.telephony.ims.ImsSsData.Builder setCallForwardingInfo(@NonNull java.util.List<android.telephony.ims.ImsCallForwardInfo>);
13267    method @NonNull public android.telephony.ims.ImsSsData.Builder setSuppServiceInfo(@NonNull java.util.List<android.telephony.ims.ImsSsInfo>);
13268  }
13269
13270  public final class ImsSsInfo implements android.os.Parcelable {
13271    ctor @Deprecated public ImsSsInfo(int, @Nullable String);
13272    method public int describeContents();
13273    method public int getClirInterrogationStatus();
13274    method public int getClirOutgoingState();
13275    method @Deprecated public String getIcbNum();
13276    method @Nullable public String getIncomingCommunicationBarringNumber();
13277    method public int getProvisionStatus();
13278    method public int getStatus();
13279    method public void writeToParcel(android.os.Parcel, int);
13280    field public static final int CLIR_OUTGOING_DEFAULT = 0; // 0x0
13281    field public static final int CLIR_OUTGOING_INVOCATION = 1; // 0x1
13282    field public static final int CLIR_OUTGOING_SUPPRESSION = 2; // 0x2
13283    field public static final int CLIR_STATUS_NOT_PROVISIONED = 0; // 0x0
13284    field public static final int CLIR_STATUS_PROVISIONED_PERMANENT = 1; // 0x1
13285    field public static final int CLIR_STATUS_TEMPORARILY_ALLOWED = 4; // 0x4
13286    field public static final int CLIR_STATUS_TEMPORARILY_RESTRICTED = 3; // 0x3
13287    field public static final int CLIR_STATUS_UNKNOWN = 2; // 0x2
13288    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsSsInfo> CREATOR;
13289    field public static final int DISABLED = 0; // 0x0
13290    field public static final int ENABLED = 1; // 0x1
13291    field public static final int NOT_REGISTERED = -1; // 0xffffffff
13292    field public static final int SERVICE_NOT_PROVISIONED = 0; // 0x0
13293    field public static final int SERVICE_PROVISIONED = 1; // 0x1
13294    field public static final int SERVICE_PROVISIONING_UNKNOWN = -1; // 0xffffffff
13295  }
13296
13297  public static final class ImsSsInfo.Builder {
13298    ctor public ImsSsInfo.Builder(int);
13299    method @NonNull public android.telephony.ims.ImsSsInfo build();
13300    method @NonNull public android.telephony.ims.ImsSsInfo.Builder setClirInterrogationStatus(int);
13301    method @NonNull public android.telephony.ims.ImsSsInfo.Builder setClirOutgoingState(int);
13302    method @NonNull public android.telephony.ims.ImsSsInfo.Builder setIncomingCommunicationBarringNumber(@NonNull String);
13303    method @NonNull public android.telephony.ims.ImsSsInfo.Builder setProvisionStatus(int);
13304  }
13305
13306  public final class ImsStreamMediaProfile implements android.os.Parcelable {
13307    ctor public ImsStreamMediaProfile(int, int, int, int, int);
13308    method public void copyFrom(android.telephony.ims.ImsStreamMediaProfile);
13309    method public int describeContents();
13310    method @Nullable public android.telephony.ims.AudioCodecAttributes getAudioCodecAttributes();
13311    method public int getAudioDirection();
13312    method public int getAudioQuality();
13313    method public int getRttMode();
13314    method public int getVideoDirection();
13315    method public int getVideoQuality();
13316    method public boolean isReceivingRttAudio();
13317    method public boolean isRttCall();
13318    method public void setAudioCodecAttributes(@NonNull android.telephony.ims.AudioCodecAttributes);
13319    method public void setReceivingRttAudio(boolean);
13320    method public void setRttMode(int);
13321    method public void writeToParcel(android.os.Parcel, int);
13322    field public static final int AUDIO_QUALITY_AMR = 1; // 0x1
13323    field public static final int AUDIO_QUALITY_AMR_WB = 2; // 0x2
13324    field public static final int AUDIO_QUALITY_EVRC = 4; // 0x4
13325    field public static final int AUDIO_QUALITY_EVRC_B = 5; // 0x5
13326    field public static final int AUDIO_QUALITY_EVRC_NW = 7; // 0x7
13327    field public static final int AUDIO_QUALITY_EVRC_WB = 6; // 0x6
13328    field public static final int AUDIO_QUALITY_EVS_FB = 20; // 0x14
13329    field public static final int AUDIO_QUALITY_EVS_NB = 17; // 0x11
13330    field public static final int AUDIO_QUALITY_EVS_SWB = 19; // 0x13
13331    field public static final int AUDIO_QUALITY_EVS_WB = 18; // 0x12
13332    field public static final int AUDIO_QUALITY_G711A = 13; // 0xd
13333    field public static final int AUDIO_QUALITY_G711AB = 15; // 0xf
13334    field public static final int AUDIO_QUALITY_G711U = 11; // 0xb
13335    field public static final int AUDIO_QUALITY_G722 = 14; // 0xe
13336    field public static final int AUDIO_QUALITY_G723 = 12; // 0xc
13337    field public static final int AUDIO_QUALITY_G729 = 16; // 0x10
13338    field public static final int AUDIO_QUALITY_GSM_EFR = 8; // 0x8
13339    field public static final int AUDIO_QUALITY_GSM_FR = 9; // 0x9
13340    field public static final int AUDIO_QUALITY_GSM_HR = 10; // 0xa
13341    field public static final int AUDIO_QUALITY_NONE = 0; // 0x0
13342    field public static final int AUDIO_QUALITY_QCELP13K = 3; // 0x3
13343    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsStreamMediaProfile> CREATOR;
13344    field public static final int DIRECTION_INACTIVE = 0; // 0x0
13345    field public static final int DIRECTION_INVALID = -1; // 0xffffffff
13346    field public static final int DIRECTION_RECEIVE = 1; // 0x1
13347    field public static final int DIRECTION_SEND = 2; // 0x2
13348    field public static final int DIRECTION_SEND_RECEIVE = 3; // 0x3
13349    field public static final int RTT_MODE_DISABLED = 0; // 0x0
13350    field public static final int RTT_MODE_FULL = 1; // 0x1
13351    field public static final int VIDEO_QUALITY_NONE = 0; // 0x0
13352    field public static final int VIDEO_QUALITY_QCIF = 1; // 0x1
13353    field public static final int VIDEO_QUALITY_QVGA_LANDSCAPE = 2; // 0x2
13354    field public static final int VIDEO_QUALITY_QVGA_PORTRAIT = 4; // 0x4
13355    field public static final int VIDEO_QUALITY_VGA_LANDSCAPE = 8; // 0x8
13356    field public static final int VIDEO_QUALITY_VGA_PORTRAIT = 16; // 0x10
13357  }
13358
13359  public final class ImsSuppServiceNotification implements android.os.Parcelable {
13360    ctor public ImsSuppServiceNotification(int, int, int, int, String, String[]);
13361    method public int describeContents();
13362    method public void writeToParcel(android.os.Parcel, int);
13363    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsSuppServiceNotification> CREATOR;
13364    field public final int code;
13365    field public final String[] history;
13366    field public final int index;
13367    field public final int notificationType;
13368    field public final String number;
13369    field public final int type;
13370  }
13371
13372  public class ImsUtListener {
13373    method public void onLineIdentificationSupplementaryServiceResponse(int, @NonNull android.telephony.ims.ImsSsInfo);
13374    method public void onSupplementaryServiceIndication(android.telephony.ims.ImsSsData);
13375    method public void onUtConfigurationCallBarringQueried(int, android.telephony.ims.ImsSsInfo[]);
13376    method public void onUtConfigurationCallForwardQueried(int, android.telephony.ims.ImsCallForwardInfo[]);
13377    method public void onUtConfigurationCallWaitingQueried(int, android.telephony.ims.ImsSsInfo[]);
13378    method @Deprecated public void onUtConfigurationQueried(int, android.os.Bundle);
13379    method public void onUtConfigurationQueryFailed(int, android.telephony.ims.ImsReasonInfo);
13380    method public void onUtConfigurationUpdateFailed(int, android.telephony.ims.ImsReasonInfo);
13381    method public void onUtConfigurationUpdated(int);
13382    field @Deprecated public static final String BUNDLE_KEY_CLIR = "queryClir";
13383    field @Deprecated public static final String BUNDLE_KEY_SSINFO = "imsSsInfo";
13384  }
13385
13386  public abstract class ImsVideoCallProvider {
13387    ctor public ImsVideoCallProvider();
13388    method public void changeCallDataUsage(long);
13389    method public void changeCameraCapabilities(android.telecom.VideoProfile.CameraCapabilities);
13390    method public void changePeerDimensions(int, int);
13391    method public void changeVideoQuality(int);
13392    method public void handleCallSessionEvent(int);
13393    method public abstract void onRequestCallDataUsage();
13394    method public abstract void onRequestCameraCapabilities();
13395    method public abstract void onSendSessionModifyRequest(android.telecom.VideoProfile, android.telecom.VideoProfile);
13396    method public abstract void onSendSessionModifyResponse(android.telecom.VideoProfile);
13397    method public abstract void onSetCamera(String);
13398    method public void onSetCamera(String, int);
13399    method public abstract void onSetDeviceOrientation(int);
13400    method public abstract void onSetDisplaySurface(android.view.Surface);
13401    method public abstract void onSetPauseImage(android.net.Uri);
13402    method public abstract void onSetPreviewSurface(android.view.Surface);
13403    method public abstract void onSetZoom(float);
13404    method public void receiveSessionModifyRequest(android.telecom.VideoProfile);
13405    method public void receiveSessionModifyResponse(int, android.telecom.VideoProfile, android.telecom.VideoProfile);
13406  }
13407
13408  public class ProvisioningManager {
13409    method @NonNull public static android.telephony.ims.ProvisioningManager createForSubscriptionId(int);
13410    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public int getProvisioningIntValue(int);
13411    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public boolean getProvisioningStatusForCapability(int, int);
13412    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public String getProvisioningStringValue(int);
13413    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public boolean getRcsProvisioningStatusForCapability(int);
13414    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION}) public boolean isRcsVolteSingleRegistrationCapable() throws android.telephony.ims.ImsException;
13415    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void notifyRcsAutoConfigurationReceived(@NonNull byte[], boolean);
13416    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void registerProvisioningChangedCallback(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.ProvisioningManager.Callback) throws android.telephony.ims.ImsException;
13417    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION}) public void registerRcsProvisioningCallback(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.ProvisioningManager.RcsProvisioningCallback) throws android.telephony.ims.ImsException;
13418    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public int setProvisioningIntValue(int, int);
13419    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public void setProvisioningStatusForCapability(int, int, boolean);
13420    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public int setProvisioningStringValue(int, @NonNull String);
13421    method @RequiresPermission(android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION) public void setRcsClientConfiguration(@NonNull android.telephony.ims.RcsClientConfiguration) throws android.telephony.ims.ImsException;
13422    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public void setRcsProvisioningStatusForCapability(int, boolean);
13423    method @RequiresPermission(android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION) public void triggerRcsReconfiguration();
13424    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void unregisterProvisioningChangedCallback(@NonNull android.telephony.ims.ProvisioningManager.Callback);
13425    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION}) public void unregisterRcsProvisioningCallback(@NonNull android.telephony.ims.ProvisioningManager.RcsProvisioningCallback);
13426    field @RequiresPermission(android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION) public static final String ACTION_RCS_SINGLE_REGISTRATION_CAPABILITY_UPDATE = "android.telephony.ims.action.RCS_SINGLE_REGISTRATION_CAPABILITY_UPDATE";
13427    field public static final String EXTRA_STATUS = "android.telephony.ims.extra.STATUS";
13428    field public static final String EXTRA_SUBSCRIPTION_ID = "android.telephony.ims.extra.SUBSCRIPTION_ID";
13429    field public static final int KEY_VOICE_OVER_WIFI_ENTITLEMENT_ID = 67; // 0x43
13430    field public static final int KEY_VOICE_OVER_WIFI_MODE_OVERRIDE = 27; // 0x1b
13431    field public static final int KEY_VOICE_OVER_WIFI_ROAMING_ENABLED_OVERRIDE = 26; // 0x1a
13432    field public static final int PROVISIONING_VALUE_DISABLED = 0; // 0x0
13433    field public static final int PROVISIONING_VALUE_ENABLED = 1; // 0x1
13434    field public static final int STATUS_CAPABLE = 0; // 0x0
13435    field public static final int STATUS_CARRIER_NOT_CAPABLE = 2; // 0x2
13436    field public static final int STATUS_DEVICE_NOT_CAPABLE = 1; // 0x1
13437    field public static final String STRING_QUERY_RESULT_ERROR_GENERIC = "STRING_QUERY_RESULT_ERROR_GENERIC";
13438    field public static final String STRING_QUERY_RESULT_ERROR_NOT_READY = "STRING_QUERY_RESULT_ERROR_NOT_READY";
13439  }
13440
13441  public static class ProvisioningManager.Callback {
13442    ctor public ProvisioningManager.Callback();
13443    method public void onProvisioningIntChanged(int, int);
13444    method public void onProvisioningStringChanged(int, @NonNull String);
13445  }
13446
13447  public static class ProvisioningManager.RcsProvisioningCallback {
13448    ctor public ProvisioningManager.RcsProvisioningCallback();
13449    method public void onAutoConfigurationErrorReceived(int, @NonNull String);
13450    method public void onConfigurationChanged(@NonNull byte[]);
13451    method public void onConfigurationReset();
13452    method public void onPreProvisioningReceived(@NonNull byte[]);
13453    method public void onRemoved();
13454  }
13455
13456  public final class RcsClientConfiguration implements android.os.Parcelable {
13457    ctor public RcsClientConfiguration(@NonNull String, @NonNull String, @NonNull String, @NonNull String);
13458    method public int describeContents();
13459    method @NonNull public String getClientVendor();
13460    method @NonNull public String getClientVersion();
13461    method @NonNull public String getRcsProfile();
13462    method @NonNull public String getRcsVersion();
13463    method public void writeToParcel(@NonNull android.os.Parcel, int);
13464    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RcsClientConfiguration> CREATOR;
13465    field public static final String RCS_PROFILE_1_0 = "UP_1.0";
13466    field public static final String RCS_PROFILE_2_3 = "UP_2.3";
13467  }
13468
13469  public final class RcsContactPresenceTuple implements android.os.Parcelable {
13470    method public int describeContents();
13471    method @Nullable public android.net.Uri getContactUri();
13472    method @Nullable public android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities getServiceCapabilities();
13473    method @Nullable public String getServiceDescription();
13474    method @NonNull public String getServiceId();
13475    method @NonNull public String getServiceVersion();
13476    method @NonNull public String getStatus();
13477    method @Nullable public java.time.Instant getTime();
13478    method public void writeToParcel(@NonNull android.os.Parcel, int);
13479    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RcsContactPresenceTuple> CREATOR;
13480    field public static final String SERVICE_ID_CALL_COMPOSER = "org.3gpp.urn:urn-7:3gpp-service.ims.icsi.gsma.callcomposer";
13481    field public static final String SERVICE_ID_CHATBOT = "org.3gpp.urn:urn-7:3gpp-application.ims.iari.rcs.chatbot";
13482    field public static final String SERVICE_ID_CHATBOT_ROLE = "org.gsma.rcs.isbot";
13483    field public static final String SERVICE_ID_CHATBOT_STANDALONE = " org.3gpp.urn:urn-7:3gpp-application.ims.iari.rcs.chatbot.sa";
13484    field public static final String SERVICE_ID_CHAT_V1 = "org.openmobilealliance:IM-session";
13485    field public static final String SERVICE_ID_CHAT_V2 = "org.openmobilealliance:ChatSession";
13486    field public static final String SERVICE_ID_FT = "org.openmobilealliance:File-Transfer-HTTP";
13487    field public static final String SERVICE_ID_FT_OVER_SMS = "org.3gpp.urn:urn-7:3gpp-application.ims.iari.rcs.ftsms";
13488    field public static final String SERVICE_ID_GEO_PUSH = "org.3gpp.urn:urn-7:3gpp-application.ims.iari.rcs.geopush";
13489    field public static final String SERVICE_ID_GEO_PUSH_VIA_SMS = "org.3gpp.urn:urn-7:3gpp-application.ims.iari.rcs.geosms";
13490    field public static final String SERVICE_ID_MMTEL = "org.3gpp.urn:urn-7:3gpp-service.ims.icsi.mmtel";
13491    field public static final String SERVICE_ID_POST_CALL = "org.3gpp.urn:urn-7:3gpp-service.ims.icsi.gsma.callunanswered";
13492    field public static final String SERVICE_ID_SHARED_MAP = "org.3gpp.urn:urn-7:3gpp-service.ims.icsi.gsma.sharedmap";
13493    field public static final String SERVICE_ID_SHARED_SKETCH = "org.3gpp.urn:urn-7:3gpp-service.ims.icsi.gsma.sharedsketch";
13494    field public static final String TUPLE_BASIC_STATUS_CLOSED = "closed";
13495    field public static final String TUPLE_BASIC_STATUS_OPEN = "open";
13496  }
13497
13498  public static final class RcsContactPresenceTuple.Builder {
13499    ctor public RcsContactPresenceTuple.Builder(@NonNull String, @NonNull String, @NonNull String);
13500    method @NonNull public android.telephony.ims.RcsContactPresenceTuple build();
13501    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.Builder setContactUri(@NonNull android.net.Uri);
13502    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.Builder setServiceCapabilities(@NonNull android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities);
13503    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.Builder setServiceDescription(@NonNull String);
13504    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.Builder setTime(@NonNull java.time.Instant);
13505  }
13506
13507  public static final class RcsContactPresenceTuple.ServiceCapabilities implements android.os.Parcelable {
13508    method public int describeContents();
13509    method @NonNull public java.util.List<java.lang.String> getSupportedDuplexModes();
13510    method @NonNull public java.util.List<java.lang.String> getUnsupportedDuplexModes();
13511    method public boolean isAudioCapable();
13512    method public boolean isVideoCapable();
13513    method public void writeToParcel(@NonNull android.os.Parcel, int);
13514    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities> CREATOR;
13515    field public static final String DUPLEX_MODE_FULL = "full";
13516    field public static final String DUPLEX_MODE_HALF = "half";
13517    field public static final String DUPLEX_MODE_RECEIVE_ONLY = "receive-only";
13518    field public static final String DUPLEX_MODE_SEND_ONLY = "send-only";
13519  }
13520
13521  public static final class RcsContactPresenceTuple.ServiceCapabilities.Builder {
13522    ctor public RcsContactPresenceTuple.ServiceCapabilities.Builder(boolean, boolean);
13523    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities.Builder addSupportedDuplexMode(@NonNull String);
13524    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities.Builder addUnsupportedDuplexMode(@NonNull String);
13525    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities build();
13526  }
13527
13528  public final class RcsContactUceCapability implements android.os.Parcelable {
13529    method public int describeContents();
13530    method public int getCapabilityMechanism();
13531    method @Nullable public android.telephony.ims.RcsContactPresenceTuple getCapabilityTuple(@NonNull String);
13532    method @NonNull public java.util.List<android.telephony.ims.RcsContactPresenceTuple> getCapabilityTuples();
13533    method @NonNull public android.net.Uri getContactUri();
13534    method @NonNull public java.util.Set<java.lang.String> getFeatureTags();
13535    method public int getRequestResult();
13536    method public int getSourceType();
13537    method public void writeToParcel(@NonNull android.os.Parcel, int);
13538    field public static final int CAPABILITY_MECHANISM_OPTIONS = 2; // 0x2
13539    field public static final int CAPABILITY_MECHANISM_PRESENCE = 1; // 0x1
13540    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RcsContactUceCapability> CREATOR;
13541    field public static final int REQUEST_RESULT_FOUND = 3; // 0x3
13542    field public static final int REQUEST_RESULT_NOT_FOUND = 2; // 0x2
13543    field public static final int REQUEST_RESULT_NOT_ONLINE = 1; // 0x1
13544    field public static final int REQUEST_RESULT_UNKNOWN = 0; // 0x0
13545    field public static final int SOURCE_TYPE_CACHED = 1; // 0x1
13546    field public static final int SOURCE_TYPE_NETWORK = 0; // 0x0
13547  }
13548
13549  public static final class RcsContactUceCapability.OptionsBuilder {
13550    ctor public RcsContactUceCapability.OptionsBuilder(@NonNull android.net.Uri);
13551    method @NonNull public android.telephony.ims.RcsContactUceCapability.OptionsBuilder addFeatureTag(@NonNull String);
13552    method @NonNull public android.telephony.ims.RcsContactUceCapability.OptionsBuilder addFeatureTags(@NonNull java.util.Set<java.lang.String>);
13553    method @NonNull public android.telephony.ims.RcsContactUceCapability build();
13554    method @NonNull public android.telephony.ims.RcsContactUceCapability.OptionsBuilder setRequestResult(int);
13555  }
13556
13557  public static final class RcsContactUceCapability.PresenceBuilder {
13558    ctor public RcsContactUceCapability.PresenceBuilder(@NonNull android.net.Uri, int, int);
13559    method @NonNull public android.telephony.ims.RcsContactUceCapability.PresenceBuilder addCapabilityTuple(@NonNull android.telephony.ims.RcsContactPresenceTuple);
13560    method @NonNull public android.telephony.ims.RcsContactUceCapability.PresenceBuilder addCapabilityTuples(@NonNull java.util.List<android.telephony.ims.RcsContactPresenceTuple>);
13561    method @NonNull public android.telephony.ims.RcsContactUceCapability build();
13562  }
13563
13564  public class RcsUceAdapter {
13565    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void addOnPublishStateChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.RcsUceAdapter.OnPublishStateChangedListener) throws android.telephony.ims.ImsException;
13566    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getUcePublishState() throws android.telephony.ims.ImsException;
13567    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void removeOnPublishStateChangedListener(@NonNull android.telephony.ims.RcsUceAdapter.OnPublishStateChangedListener) throws android.telephony.ims.ImsException;
13568    method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_RCS_USER_CAPABILITY_EXCHANGE, android.Manifest.permission.READ_CONTACTS}) public void requestAvailability(@NonNull android.net.Uri, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.RcsUceAdapter.CapabilitiesCallback) throws android.telephony.ims.ImsException;
13569    method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_RCS_USER_CAPABILITY_EXCHANGE, android.Manifest.permission.READ_CONTACTS}) public void requestCapabilities(@NonNull java.util.Collection<android.net.Uri>, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.RcsUceAdapter.CapabilitiesCallback) throws android.telephony.ims.ImsException;
13570    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setUceSettingEnabled(boolean) throws android.telephony.ims.ImsException;
13571    field public static final int CAPABILITY_TYPE_PRESENCE_UCE = 2; // 0x2
13572    field public static final int CAPABILITY_UPDATE_TRIGGER_ETAG_EXPIRED = 1; // 0x1
13573    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_2G = 7; // 0x7
13574    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_3G = 6; // 0x6
13575    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_EHRPD = 4; // 0x4
13576    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_HSPAPLUS = 5; // 0x5
13577    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_IWLAN = 9; // 0x9
13578    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_LTE_VOPS_DISABLED = 2; // 0x2
13579    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_LTE_VOPS_ENABLED = 3; // 0x3
13580    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_NR5G_VOPS_DISABLED = 10; // 0xa
13581    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_NR5G_VOPS_ENABLED = 11; // 0xb
13582    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_WLAN = 8; // 0x8
13583    field public static final int CAPABILITY_UPDATE_TRIGGER_UNKNOWN = 0; // 0x0
13584    field public static final int ERROR_FORBIDDEN = 6; // 0x6
13585    field public static final int ERROR_GENERIC_FAILURE = 1; // 0x1
13586    field public static final int ERROR_INSUFFICIENT_MEMORY = 10; // 0xa
13587    field public static final int ERROR_LOST_NETWORK = 11; // 0xb
13588    field public static final int ERROR_NOT_AUTHORIZED = 5; // 0x5
13589    field public static final int ERROR_NOT_AVAILABLE = 3; // 0x3
13590    field public static final int ERROR_NOT_ENABLED = 2; // 0x2
13591    field public static final int ERROR_NOT_FOUND = 7; // 0x7
13592    field public static final int ERROR_NOT_REGISTERED = 4; // 0x4
13593    field public static final int ERROR_REQUEST_TIMEOUT = 9; // 0x9
13594    field public static final int ERROR_REQUEST_TOO_LARGE = 8; // 0x8
13595    field public static final int ERROR_SERVER_UNAVAILABLE = 12; // 0xc
13596    field public static final int PUBLISH_STATE_NOT_PUBLISHED = 2; // 0x2
13597    field public static final int PUBLISH_STATE_OK = 1; // 0x1
13598    field public static final int PUBLISH_STATE_OTHER_ERROR = 6; // 0x6
13599    field public static final int PUBLISH_STATE_RCS_PROVISION_ERROR = 4; // 0x4
13600    field public static final int PUBLISH_STATE_REQUEST_TIMEOUT = 5; // 0x5
13601    field public static final int PUBLISH_STATE_VOICE_PROVISION_ERROR = 3; // 0x3
13602  }
13603
13604  public static interface RcsUceAdapter.CapabilitiesCallback {
13605    method public void onCapabilitiesReceived(@NonNull java.util.List<android.telephony.ims.RcsContactUceCapability>);
13606    method public void onComplete();
13607    method public void onError(int, long);
13608  }
13609
13610  public static interface RcsUceAdapter.OnPublishStateChangedListener {
13611    method public void onPublishStateChange(int);
13612  }
13613
13614  public final class RtpHeaderExtension implements android.os.Parcelable {
13615    ctor public RtpHeaderExtension(@IntRange(from=1, to=14) int, @NonNull byte[]);
13616    method public int describeContents();
13617    method @NonNull public byte[] getExtensionData();
13618    method @IntRange(from=1, to=14) public int getLocalIdentifier();
13619    method public void writeToParcel(@NonNull android.os.Parcel, int);
13620    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RtpHeaderExtension> CREATOR;
13621  }
13622
13623  public final class RtpHeaderExtensionType implements android.os.Parcelable {
13624    ctor public RtpHeaderExtensionType(@IntRange(from=1, to=14) int, @NonNull android.net.Uri);
13625    method public int describeContents();
13626    method @IntRange(from=1, to=14) public int getLocalIdentifier();
13627    method @NonNull public android.net.Uri getUri();
13628    method public void writeToParcel(@NonNull android.os.Parcel, int);
13629    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RtpHeaderExtensionType> CREATOR;
13630  }
13631
13632  public final class SipDelegateConfiguration implements android.os.Parcelable {
13633    method public int describeContents();
13634    method @Nullable public String getHomeDomain();
13635    method @Nullable public String getImei();
13636    method @Nullable public android.telephony.ims.SipDelegateConfiguration.IpSecConfiguration getIpSecConfiguration();
13637    method @NonNull public java.net.InetSocketAddress getLocalAddress();
13638    method public int getMaxUdpPayloadSizeBytes();
13639    method @Nullable public java.net.InetSocketAddress getNatSocketAddress();
13640    method @Nullable public String getPrivateUserIdentifier();
13641    method @Nullable public android.net.Uri getPublicGruuUri();
13642    method @Nullable public String getPublicUserIdentifier();
13643    method @Nullable public String getSipAssociatedUriHeader();
13644    method @Nullable public String getSipAuthenticationHeader();
13645    method @Nullable public String getSipAuthenticationNonce();
13646    method @Nullable public String getSipCniHeader();
13647    method @Nullable public String getSipContactUserParameter();
13648    method @Nullable public String getSipPaniHeader();
13649    method @Nullable public String getSipPathHeader();
13650    method @Nullable public String getSipPlaniHeader();
13651    method @NonNull public java.net.InetSocketAddress getSipServerAddress();
13652    method @Nullable public String getSipServiceRouteHeader();
13653    method @Nullable public String getSipUserAgentHeader();
13654    method public int getTransportType();
13655    method @IntRange(from=0) public long getVersion();
13656    method public boolean isSipCompactFormEnabled();
13657    method public boolean isSipKeepaliveEnabled();
13658    method public void writeToParcel(@NonNull android.os.Parcel, int);
13659    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.SipDelegateConfiguration> CREATOR;
13660    field public static final int SIP_TRANSPORT_TCP = 1; // 0x1
13661    field public static final int SIP_TRANSPORT_UDP = 0; // 0x0
13662    field public static final int UDP_PAYLOAD_SIZE_UNDEFINED = -1; // 0xffffffff
13663  }
13664
13665  public static final class SipDelegateConfiguration.Builder {
13666    ctor public SipDelegateConfiguration.Builder(@IntRange(from=0) long, int, @NonNull java.net.InetSocketAddress, @NonNull java.net.InetSocketAddress);
13667    ctor public SipDelegateConfiguration.Builder(@NonNull android.telephony.ims.SipDelegateConfiguration);
13668    method @NonNull public android.telephony.ims.SipDelegateConfiguration build();
13669    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setHomeDomain(@Nullable String);
13670    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setImei(@Nullable String);
13671    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setIpSecConfiguration(@Nullable android.telephony.ims.SipDelegateConfiguration.IpSecConfiguration);
13672    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setMaxUdpPayloadSizeBytes(@IntRange(from=1) int);
13673    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setNatSocketAddress(@Nullable java.net.InetSocketAddress);
13674    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setPrivateUserIdentifier(@Nullable String);
13675    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setPublicGruuUri(@Nullable android.net.Uri);
13676    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setPublicUserIdentifier(@Nullable String);
13677    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipAssociatedUriHeader(@Nullable String);
13678    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipAuthenticationHeader(@Nullable String);
13679    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipAuthenticationNonce(@Nullable String);
13680    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipCniHeader(@Nullable String);
13681    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipCompactFormEnabled(boolean);
13682    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipContactUserParameter(@Nullable String);
13683    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipKeepaliveEnabled(boolean);
13684    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipPaniHeader(@Nullable String);
13685    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipPathHeader(@Nullable String);
13686    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipPlaniHeader(@Nullable String);
13687    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipServiceRouteHeader(@Nullable String);
13688    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipUserAgentHeader(@Nullable String);
13689  }
13690
13691  public static final class SipDelegateConfiguration.IpSecConfiguration {
13692    ctor public SipDelegateConfiguration.IpSecConfiguration(int, int, int, int, int, int, @NonNull String);
13693    method public int getLastLocalTxPort();
13694    method public int getLastRemoteTxPort();
13695    method public int getLocalRxPort();
13696    method public int getLocalTxPort();
13697    method public int getRemoteRxPort();
13698    method public int getRemoteTxPort();
13699    method @NonNull public String getSipSecurityVerifyHeader();
13700  }
13701
13702  public interface SipDelegateConnection {
13703    method public void cleanupSession(@NonNull String);
13704    method public void notifyMessageReceiveError(@NonNull String, int);
13705    method public void notifyMessageReceived(@NonNull String);
13706    method public void sendMessage(@NonNull android.telephony.ims.SipMessage, long);
13707  }
13708
13709  public class SipDelegateManager {
13710    method @RequiresPermission(android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION) public void createSipDelegate(@NonNull android.telephony.ims.DelegateRequest, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.stub.DelegateConnectionStateCallback, @NonNull android.telephony.ims.stub.DelegateConnectionMessageCallback) throws android.telephony.ims.ImsException;
13711    method @RequiresPermission(android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION) public void destroySipDelegate(@NonNull android.telephony.ims.SipDelegateConnection, int);
13712    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION}) public boolean isSupported() throws android.telephony.ims.ImsException;
13713    method @RequiresPermission(android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION) public void triggerFullNetworkRegistration(@NonNull android.telephony.ims.SipDelegateConnection, @IntRange(from=100, to=699) int, @Nullable String);
13714    field public static final int DENIED_REASON_INVALID = 4; // 0x4
13715    field public static final int DENIED_REASON_IN_USE_BY_ANOTHER_DELEGATE = 1; // 0x1
13716    field public static final int DENIED_REASON_NOT_ALLOWED = 2; // 0x2
13717    field public static final int DENIED_REASON_SINGLE_REGISTRATION_NOT_ALLOWED = 3; // 0x3
13718    field public static final int DENIED_REASON_UNKNOWN = 0; // 0x0
13719    field public static final int MESSAGE_FAILURE_REASON_DELEGATE_CLOSED = 2; // 0x2
13720    field public static final int MESSAGE_FAILURE_REASON_DELEGATE_DEAD = 1; // 0x1
13721    field public static final int MESSAGE_FAILURE_REASON_INTERNAL_DELEGATE_STATE_TRANSITION = 11; // 0xb
13722    field public static final int MESSAGE_FAILURE_REASON_INVALID_BODY_CONTENT = 5; // 0x5
13723    field public static final int MESSAGE_FAILURE_REASON_INVALID_FEATURE_TAG = 6; // 0x6
13724    field public static final int MESSAGE_FAILURE_REASON_INVALID_HEADER_FIELDS = 4; // 0x4
13725    field public static final int MESSAGE_FAILURE_REASON_INVALID_START_LINE = 3; // 0x3
13726    field public static final int MESSAGE_FAILURE_REASON_NETWORK_NOT_AVAILABLE = 8; // 0x8
13727    field public static final int MESSAGE_FAILURE_REASON_NOT_REGISTERED = 9; // 0x9
13728    field public static final int MESSAGE_FAILURE_REASON_STALE_IMS_CONFIGURATION = 10; // 0xa
13729    field public static final int MESSAGE_FAILURE_REASON_TAG_NOT_ENABLED_FOR_DELEGATE = 7; // 0x7
13730    field public static final int MESSAGE_FAILURE_REASON_UNKNOWN = 0; // 0x0
13731    field public static final int SIP_DELEGATE_DESTROY_REASON_REQUESTED_BY_APP = 2; // 0x2
13732    field public static final int SIP_DELEGATE_DESTROY_REASON_SERVICE_DEAD = 1; // 0x1
13733    field public static final int SIP_DELEGATE_DESTROY_REASON_SUBSCRIPTION_TORN_DOWN = 4; // 0x4
13734    field public static final int SIP_DELEGATE_DESTROY_REASON_UNKNOWN = 0; // 0x0
13735    field public static final int SIP_DELEGATE_DESTROY_REASON_USER_DISABLED_RCS = 3; // 0x3
13736  }
13737
13738  public final class SipMessage implements android.os.Parcelable {
13739    ctor public SipMessage(@NonNull String, @NonNull String, @NonNull byte[]);
13740    method public int describeContents();
13741    method @Nullable public String getCallIdParameter();
13742    method @NonNull public byte[] getContent();
13743    method @NonNull public String getHeaderSection();
13744    method @NonNull public String getStartLine();
13745    method @NonNull public String getViaBranchParameter();
13746    method @NonNull public byte[] toEncodedMessage();
13747    method public void writeToParcel(@NonNull android.os.Parcel, int);
13748    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.SipMessage> CREATOR;
13749  }
13750
13751}
13752
13753package android.telephony.ims.feature {
13754
13755  public final class CapabilityChangeRequest implements android.os.Parcelable {
13756    method public void addCapabilitiesToDisableForTech(int, int);
13757    method public void addCapabilitiesToEnableForTech(int, int);
13758    method public int describeContents();
13759    method public java.util.List<android.telephony.ims.feature.CapabilityChangeRequest.CapabilityPair> getCapabilitiesToDisable();
13760    method public java.util.List<android.telephony.ims.feature.CapabilityChangeRequest.CapabilityPair> getCapabilitiesToEnable();
13761    method public void writeToParcel(android.os.Parcel, int);
13762    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.feature.CapabilityChangeRequest> CREATOR;
13763  }
13764
13765  public static class CapabilityChangeRequest.CapabilityPair {
13766    ctor public CapabilityChangeRequest.CapabilityPair(int, int);
13767    method public int getCapability();
13768    method public int getRadioTech();
13769  }
13770
13771  public abstract class ImsFeature {
13772    ctor public ImsFeature();
13773    method public abstract void changeEnabledCapabilities(android.telephony.ims.feature.CapabilityChangeRequest, android.telephony.ims.feature.ImsFeature.CapabilityCallbackProxy);
13774    method public int getFeatureState();
13775    method public final int getSlotIndex();
13776    method public abstract void onFeatureReady();
13777    method public abstract void onFeatureRemoved();
13778    method public final void setFeatureState(int);
13779    field public static final int CAPABILITY_ERROR_GENERIC = -1; // 0xffffffff
13780    field public static final int CAPABILITY_SUCCESS = 0; // 0x0
13781    field public static final int FEATURE_EMERGENCY_MMTEL = 0; // 0x0
13782    field public static final int FEATURE_MMTEL = 1; // 0x1
13783    field public static final int FEATURE_RCS = 2; // 0x2
13784    field public static final int STATE_INITIALIZING = 1; // 0x1
13785    field public static final int STATE_READY = 2; // 0x2
13786    field public static final int STATE_UNAVAILABLE = 0; // 0x0
13787  }
13788
13789  @Deprecated public static class ImsFeature.Capabilities {
13790    field @Deprecated protected int mCapabilities;
13791  }
13792
13793  protected static class ImsFeature.CapabilityCallbackProxy {
13794    method public void onChangeCapabilityConfigurationError(int, int, int);
13795  }
13796
13797  public class MmTelFeature extends android.telephony.ims.feature.ImsFeature {
13798    ctor public MmTelFeature();
13799    method public void changeEnabledCapabilities(@NonNull android.telephony.ims.feature.CapabilityChangeRequest, @NonNull android.telephony.ims.feature.ImsFeature.CapabilityCallbackProxy);
13800    method public void changeOfferedRtpHeaderExtensionTypes(@NonNull java.util.Set<android.telephony.ims.RtpHeaderExtensionType>);
13801    method @Nullable public android.telephony.ims.ImsCallProfile createCallProfile(int, int);
13802    method @Nullable public android.telephony.ims.stub.ImsCallSessionImplBase createCallSession(@NonNull android.telephony.ims.ImsCallProfile);
13803    method @NonNull public android.telephony.ims.stub.ImsEcbmImplBase getEcbm();
13804    method @NonNull public android.telephony.ims.stub.ImsMultiEndpointImplBase getMultiEndpoint();
13805    method @NonNull public android.telephony.ims.stub.ImsSmsImplBase getSmsImplementation();
13806    method @NonNull public android.telephony.ims.stub.ImsUtImplBase getUt();
13807    method public final void notifyCapabilitiesStatusChanged(@NonNull android.telephony.ims.feature.MmTelFeature.MmTelCapabilities);
13808    method public final void notifyIncomingCall(@NonNull android.telephony.ims.stub.ImsCallSessionImplBase, @NonNull android.os.Bundle);
13809    method public final void notifyRejectedCall(@NonNull android.telephony.ims.ImsCallProfile, @NonNull android.telephony.ims.ImsReasonInfo);
13810    method public final void notifyVoiceMessageCountUpdate(int);
13811    method public void onFeatureReady();
13812    method public void onFeatureRemoved();
13813    method public boolean queryCapabilityConfiguration(int, int);
13814    method @NonNull public final android.telephony.ims.feature.MmTelFeature.MmTelCapabilities queryCapabilityStatus();
13815    method public void setUiTtyMode(int, @Nullable android.os.Message);
13816    method public int shouldProcessCall(@NonNull String[]);
13817    field public static final String EXTRA_IS_UNKNOWN_CALL = "android.telephony.ims.feature.extra.IS_UNKNOWN_CALL";
13818    field public static final String EXTRA_IS_USSD = "android.telephony.ims.feature.extra.IS_USSD";
13819    field public static final int PROCESS_CALL_CSFB = 1; // 0x1
13820    field public static final int PROCESS_CALL_IMS = 0; // 0x0
13821  }
13822
13823  public static class MmTelFeature.MmTelCapabilities extends android.telephony.ims.feature.ImsFeature.Capabilities {
13824    ctor public MmTelFeature.MmTelCapabilities();
13825    ctor @Deprecated public MmTelFeature.MmTelCapabilities(android.telephony.ims.feature.ImsFeature.Capabilities);
13826    ctor public MmTelFeature.MmTelCapabilities(int);
13827    method public final void addCapabilities(int);
13828    method public final void removeCapabilities(int);
13829  }
13830
13831  public class RcsFeature extends android.telephony.ims.feature.ImsFeature {
13832    ctor @Deprecated public RcsFeature();
13833    ctor public RcsFeature(@NonNull java.util.concurrent.Executor);
13834    method public void changeEnabledCapabilities(@NonNull android.telephony.ims.feature.CapabilityChangeRequest, @NonNull android.telephony.ims.feature.ImsFeature.CapabilityCallbackProxy);
13835    method @NonNull public android.telephony.ims.stub.RcsCapabilityExchangeImplBase createCapabilityExchangeImpl(@NonNull android.telephony.ims.stub.CapabilityExchangeEventListener);
13836    method public void destroyCapabilityExchangeImpl(@NonNull android.telephony.ims.stub.RcsCapabilityExchangeImplBase);
13837    method public final void notifyCapabilitiesStatusChanged(@NonNull android.telephony.ims.feature.RcsFeature.RcsImsCapabilities);
13838    method public void onFeatureReady();
13839    method public void onFeatureRemoved();
13840    method public boolean queryCapabilityConfiguration(int, int);
13841    method @NonNull public final android.telephony.ims.feature.RcsFeature.RcsImsCapabilities queryCapabilityStatus();
13842  }
13843
13844  public static class RcsFeature.RcsImsCapabilities extends android.telephony.ims.feature.ImsFeature.Capabilities {
13845    ctor public RcsFeature.RcsImsCapabilities(int);
13846    method public void addCapabilities(int);
13847    method public boolean isCapable(int);
13848    method public void removeCapabilities(int);
13849    field public static final int CAPABILITY_TYPE_NONE = 0; // 0x0
13850    field public static final int CAPABILITY_TYPE_OPTIONS_UCE = 1; // 0x1
13851    field public static final int CAPABILITY_TYPE_PRESENCE_UCE = 2; // 0x2
13852  }
13853
13854}
13855
13856package android.telephony.ims.stub {
13857
13858  public interface CapabilityExchangeEventListener {
13859    method public void onRemoteCapabilityRequest(@NonNull android.net.Uri, @NonNull java.util.Set<java.lang.String>, @NonNull android.telephony.ims.stub.CapabilityExchangeEventListener.OptionsRequestCallback) throws android.telephony.ims.ImsException;
13860    method public void onRequestPublishCapabilities(int) throws android.telephony.ims.ImsException;
13861    method public void onUnpublish() throws android.telephony.ims.ImsException;
13862  }
13863
13864  public static interface CapabilityExchangeEventListener.OptionsRequestCallback {
13865    method public void onRespondToCapabilityRequest(@NonNull android.telephony.ims.RcsContactUceCapability, boolean);
13866    method public void onRespondToCapabilityRequestWithError(@IntRange(from=100, to=699) int, @NonNull String);
13867  }
13868
13869  public interface DelegateConnectionMessageCallback {
13870    method public void onMessageReceived(@NonNull android.telephony.ims.SipMessage);
13871    method public void onMessageSendFailure(@NonNull String, int);
13872    method public void onMessageSent(@NonNull String);
13873  }
13874
13875  public interface DelegateConnectionStateCallback {
13876    method public void onConfigurationChanged(@NonNull android.telephony.ims.SipDelegateConfiguration);
13877    method public void onCreated(@NonNull android.telephony.ims.SipDelegateConnection);
13878    method public void onDestroyed(int);
13879    method public void onFeatureTagStatusChanged(@NonNull android.telephony.ims.DelegateRegistrationState, @NonNull java.util.Set<android.telephony.ims.FeatureTagState>);
13880  }
13881
13882  public class ImsCallSessionImplBase implements java.lang.AutoCloseable {
13883    ctor public ImsCallSessionImplBase();
13884    method public void accept(int, android.telephony.ims.ImsStreamMediaProfile);
13885    method public void close();
13886    method public void deflect(String);
13887    method public void extendToConference(String[]);
13888    method public String getCallId();
13889    method public android.telephony.ims.ImsCallProfile getCallProfile();
13890    method public android.telephony.ims.ImsVideoCallProvider getImsVideoCallProvider();
13891    method public android.telephony.ims.ImsCallProfile getLocalCallProfile();
13892    method public String getProperty(String);
13893    method public android.telephony.ims.ImsCallProfile getRemoteCallProfile();
13894    method public int getState();
13895    method public void hold(android.telephony.ims.ImsStreamMediaProfile);
13896    method public void inviteParticipants(String[]);
13897    method public boolean isInCall();
13898    method public boolean isMultiparty();
13899    method public void merge();
13900    method public void reject(int);
13901    method public void removeParticipants(String[]);
13902    method public void resume(android.telephony.ims.ImsStreamMediaProfile);
13903    method public void sendDtmf(char, android.os.Message);
13904    method public void sendRtpHeaderExtensions(@NonNull java.util.Set<android.telephony.ims.RtpHeaderExtension>);
13905    method public void sendRttMessage(String);
13906    method public void sendRttModifyRequest(android.telephony.ims.ImsCallProfile);
13907    method public void sendRttModifyResponse(boolean);
13908    method public void sendUssd(String);
13909    method public void setListener(android.telephony.ims.ImsCallSessionListener);
13910    method public void setMute(boolean);
13911    method public void start(String, android.telephony.ims.ImsCallProfile);
13912    method public void startConference(String[], android.telephony.ims.ImsCallProfile);
13913    method public void startDtmf(char);
13914    method public void stopDtmf();
13915    method public void terminate(int);
13916    method public void update(int, android.telephony.ims.ImsStreamMediaProfile);
13917    field public static final int USSD_MODE_NOTIFY = 0; // 0x0
13918    field public static final int USSD_MODE_REQUEST = 1; // 0x1
13919  }
13920
13921  public static class ImsCallSessionImplBase.State {
13922    method public static String toString(int);
13923    field public static final int ESTABLISHED = 4; // 0x4
13924    field public static final int ESTABLISHING = 3; // 0x3
13925    field public static final int IDLE = 0; // 0x0
13926    field public static final int INITIATED = 1; // 0x1
13927    field public static final int INVALID = -1; // 0xffffffff
13928    field public static final int NEGOTIATING = 2; // 0x2
13929    field public static final int REESTABLISHING = 6; // 0x6
13930    field public static final int RENEGOTIATING = 5; // 0x5
13931    field public static final int TERMINATED = 8; // 0x8
13932    field public static final int TERMINATING = 7; // 0x7
13933  }
13934
13935  public class ImsConfigImplBase {
13936    ctor public ImsConfigImplBase();
13937    method public int getConfigInt(int);
13938    method public String getConfigString(int);
13939    method public final void notifyAutoConfigurationErrorReceived(int, @NonNull String);
13940    method public final void notifyPreProvisioningReceived(@NonNull byte[]);
13941    method public final void notifyProvisionedValueChanged(int, int);
13942    method public final void notifyProvisionedValueChanged(int, String);
13943    method public void notifyRcsAutoConfigurationReceived(@NonNull byte[], boolean);
13944    method public void notifyRcsAutoConfigurationRemoved();
13945    method public int setConfig(int, int);
13946    method public int setConfig(int, String);
13947    method public void setRcsClientConfiguration(@NonNull android.telephony.ims.RcsClientConfiguration);
13948    method public void triggerAutoConfiguration();
13949    field public static final int CONFIG_RESULT_FAILED = 1; // 0x1
13950    field public static final int CONFIG_RESULT_SUCCESS = 0; // 0x0
13951    field public static final int CONFIG_RESULT_UNKNOWN = -1; // 0xffffffff
13952  }
13953
13954  public class ImsEcbmImplBase {
13955    ctor public ImsEcbmImplBase();
13956    method public final void enteredEcbm();
13957    method public void exitEmergencyCallbackMode();
13958    method public final void exitedEcbm();
13959  }
13960
13961  public final class ImsFeatureConfiguration implements android.os.Parcelable {
13962    method public int describeContents();
13963    method public java.util.Set<android.telephony.ims.stub.ImsFeatureConfiguration.FeatureSlotPair> getServiceFeatures();
13964    method public void writeToParcel(android.os.Parcel, int);
13965    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.stub.ImsFeatureConfiguration> CREATOR;
13966  }
13967
13968  public static class ImsFeatureConfiguration.Builder {
13969    ctor public ImsFeatureConfiguration.Builder();
13970    method public android.telephony.ims.stub.ImsFeatureConfiguration.Builder addFeature(int, int);
13971    method public android.telephony.ims.stub.ImsFeatureConfiguration build();
13972  }
13973
13974  public static final class ImsFeatureConfiguration.FeatureSlotPair {
13975    ctor public ImsFeatureConfiguration.FeatureSlotPair(int, int);
13976    field public final int featureType;
13977    field public final int slotId;
13978  }
13979
13980  public class ImsMultiEndpointImplBase {
13981    ctor public ImsMultiEndpointImplBase();
13982    method public final void onImsExternalCallStateUpdate(java.util.List<android.telephony.ims.ImsExternalCallState>);
13983    method public void requestImsExternalCallStateInfo();
13984  }
13985
13986  public class ImsRegistrationImplBase {
13987    ctor public ImsRegistrationImplBase();
13988    method public final void onDeregistered(android.telephony.ims.ImsReasonInfo);
13989    method public final void onRegistered(int);
13990    method public final void onRegistered(@NonNull android.telephony.ims.ImsRegistrationAttributes);
13991    method public final void onRegistering(int);
13992    method public final void onRegistering(@NonNull android.telephony.ims.ImsRegistrationAttributes);
13993    method public final void onSubscriberAssociatedUriChanged(android.net.Uri[]);
13994    method public final void onTechnologyChangeFailed(int, android.telephony.ims.ImsReasonInfo);
13995    method public void triggerFullNetworkRegistration(@IntRange(from=100, to=699) int, @Nullable String);
13996    method public void triggerSipDelegateDeregistration();
13997    method public void updateSipDelegateRegistration();
13998    field public static final int REGISTRATION_TECH_CROSS_SIM = 2; // 0x2
13999    field public static final int REGISTRATION_TECH_IWLAN = 1; // 0x1
14000    field public static final int REGISTRATION_TECH_LTE = 0; // 0x0
14001    field public static final int REGISTRATION_TECH_NONE = -1; // 0xffffffff
14002    field public static final int REGISTRATION_TECH_NR = 3; // 0x3
14003  }
14004
14005  public class ImsSmsImplBase {
14006    ctor public ImsSmsImplBase();
14007    method public void acknowledgeSms(int, @IntRange(from=0, to=65535) int, int);
14008    method public void acknowledgeSmsReport(int, @IntRange(from=0, to=65535) int, int);
14009    method public String getSmsFormat();
14010    method public void onReady();
14011    method @Deprecated public final void onSendSmsResult(int, @IntRange(from=0, to=65535) int, int, int) throws java.lang.RuntimeException;
14012    method public final void onSendSmsResultError(int, @IntRange(from=0, to=65535) int, int, int, int) throws java.lang.RuntimeException;
14013    method public final void onSendSmsResultSuccess(int, @IntRange(from=0, to=65535) int) throws java.lang.RuntimeException;
14014    method public final void onSmsReceived(int, String, byte[]) throws java.lang.RuntimeException;
14015    method @Deprecated public final void onSmsStatusReportReceived(int, @IntRange(from=0, to=65535) int, String, byte[]) throws java.lang.RuntimeException;
14016    method public final void onSmsStatusReportReceived(int, String, byte[]) throws java.lang.RuntimeException;
14017    method public void sendSms(int, @IntRange(from=0, to=65535) int, String, String, boolean, byte[]);
14018    field public static final int DELIVER_STATUS_ERROR_GENERIC = 2; // 0x2
14019    field public static final int DELIVER_STATUS_ERROR_NO_MEMORY = 3; // 0x3
14020    field public static final int DELIVER_STATUS_ERROR_REQUEST_NOT_SUPPORTED = 4; // 0x4
14021    field public static final int DELIVER_STATUS_OK = 1; // 0x1
14022    field public static final int RESULT_NO_NETWORK_ERROR = -1; // 0xffffffff
14023    field public static final int SEND_STATUS_ERROR = 2; // 0x2
14024    field public static final int SEND_STATUS_ERROR_FALLBACK = 4; // 0x4
14025    field public static final int SEND_STATUS_ERROR_RETRY = 3; // 0x3
14026    field public static final int SEND_STATUS_OK = 1; // 0x1
14027    field public static final int STATUS_REPORT_STATUS_ERROR = 2; // 0x2
14028    field public static final int STATUS_REPORT_STATUS_OK = 1; // 0x1
14029  }
14030
14031  public class ImsUtImplBase {
14032    ctor public ImsUtImplBase();
14033    method public void close();
14034    method public int queryCallBarring(int);
14035    method public int queryCallBarringForServiceClass(int, int);
14036    method public int queryCallForward(int, String);
14037    method public int queryCallWaiting();
14038    method public int queryClip();
14039    method public int queryClir();
14040    method public int queryColp();
14041    method public int queryColr();
14042    method public void setListener(android.telephony.ims.ImsUtListener);
14043    method public int transact(android.os.Bundle);
14044    method public int updateCallBarring(int, int, String[]);
14045    method public int updateCallBarringForServiceClass(int, int, String[], int);
14046    method public int updateCallForward(int, int, String, int, int);
14047    method public int updateCallWaiting(boolean, int);
14048    method public int updateClip(boolean);
14049    method public int updateClir(int);
14050    method public int updateColp(boolean);
14051    method public int updateColr(int);
14052  }
14053
14054  public class RcsCapabilityExchangeImplBase {
14055    ctor public RcsCapabilityExchangeImplBase();
14056    method public void publishCapabilities(@NonNull String, @NonNull android.telephony.ims.stub.RcsCapabilityExchangeImplBase.PublishResponseCallback);
14057    method public void sendOptionsCapabilityRequest(@NonNull android.net.Uri, @NonNull java.util.Set<java.lang.String>, @NonNull android.telephony.ims.stub.RcsCapabilityExchangeImplBase.OptionsResponseCallback);
14058    method public void subscribeForCapabilities(@NonNull java.util.Collection<android.net.Uri>, @NonNull android.telephony.ims.stub.RcsCapabilityExchangeImplBase.SubscribeResponseCallback);
14059    field public static final int COMMAND_CODE_FETCH_ERROR = 3; // 0x3
14060    field public static final int COMMAND_CODE_GENERIC_FAILURE = 1; // 0x1
14061    field public static final int COMMAND_CODE_INSUFFICIENT_MEMORY = 5; // 0x5
14062    field public static final int COMMAND_CODE_INVALID_PARAM = 2; // 0x2
14063    field public static final int COMMAND_CODE_LOST_NETWORK_CONNECTION = 6; // 0x6
14064    field public static final int COMMAND_CODE_NOT_FOUND = 8; // 0x8
14065    field public static final int COMMAND_CODE_NOT_SUPPORTED = 7; // 0x7
14066    field public static final int COMMAND_CODE_NO_CHANGE = 10; // 0xa
14067    field public static final int COMMAND_CODE_REQUEST_TIMEOUT = 4; // 0x4
14068    field public static final int COMMAND_CODE_SERVICE_UNAVAILABLE = 9; // 0x9
14069    field public static final int COMMAND_CODE_SERVICE_UNKNOWN = 0; // 0x0
14070  }
14071
14072  public static interface RcsCapabilityExchangeImplBase.OptionsResponseCallback {
14073    method public void onCommandError(int) throws android.telephony.ims.ImsException;
14074    method public void onNetworkResponse(int, @NonNull String, @NonNull java.util.List<java.lang.String>) throws android.telephony.ims.ImsException;
14075  }
14076
14077  public static interface RcsCapabilityExchangeImplBase.PublishResponseCallback {
14078    method public void onCommandError(int) throws android.telephony.ims.ImsException;
14079    method public void onNetworkResponse(@IntRange(from=100, to=699) int, @NonNull String) throws android.telephony.ims.ImsException;
14080    method public void onNetworkResponse(@IntRange(from=100, to=699) int, @NonNull String, @IntRange(from=100, to=699) int, @NonNull String) throws android.telephony.ims.ImsException;
14081  }
14082
14083  public static interface RcsCapabilityExchangeImplBase.SubscribeResponseCallback {
14084    method public void onCommandError(int) throws android.telephony.ims.ImsException;
14085    method public void onNetworkResponse(@IntRange(from=100, to=699) int, @NonNull String) throws android.telephony.ims.ImsException;
14086    method public void onNetworkResponse(@IntRange(from=100, to=699) int, @NonNull String, @IntRange(from=100, to=699) int, @NonNull String) throws android.telephony.ims.ImsException;
14087    method public void onNotifyCapabilitiesUpdate(@NonNull java.util.List<java.lang.String>) throws android.telephony.ims.ImsException;
14088    method public void onResourceTerminated(@NonNull java.util.List<android.util.Pair<android.net.Uri,java.lang.String>>) throws android.telephony.ims.ImsException;
14089    method public void onTerminated(@NonNull String, long) throws android.telephony.ims.ImsException;
14090  }
14091
14092  public interface SipDelegate {
14093    method public void cleanupSession(@NonNull String);
14094    method public void notifyMessageReceiveError(@NonNull String, int);
14095    method public void notifyMessageReceived(@NonNull String);
14096    method public void sendMessage(@NonNull android.telephony.ims.SipMessage, long);
14097  }
14098
14099  public class SipTransportImplBase {
14100    ctor public SipTransportImplBase(@NonNull java.util.concurrent.Executor);
14101    method public void createSipDelegate(int, @NonNull android.telephony.ims.DelegateRequest, @NonNull android.telephony.ims.DelegateStateCallback, @NonNull android.telephony.ims.DelegateMessageCallback);
14102    method public void destroySipDelegate(@NonNull android.telephony.ims.stub.SipDelegate, int);
14103  }
14104
14105}
14106
14107package android.telephony.mbms {
14108
14109  public static class DownloadRequest.Builder {
14110    method public android.telephony.mbms.DownloadRequest.Builder setServiceId(String);
14111  }
14112
14113  public final class FileInfo implements android.os.Parcelable {
14114    ctor public FileInfo(android.net.Uri, String);
14115  }
14116
14117  public final class FileServiceInfo extends android.telephony.mbms.ServiceInfo implements android.os.Parcelable {
14118    ctor public FileServiceInfo(java.util.Map<java.util.Locale,java.lang.String>, String, java.util.List<java.util.Locale>, String, java.util.Date, java.util.Date, java.util.List<android.telephony.mbms.FileInfo>);
14119  }
14120
14121  public class MbmsDownloadReceiver extends android.content.BroadcastReceiver {
14122    field public static final int RESULT_APP_NOTIFICATION_ERROR = 6; // 0x6
14123    field public static final int RESULT_BAD_TEMP_FILE_ROOT = 3; // 0x3
14124    field public static final int RESULT_DOWNLOAD_FINALIZATION_ERROR = 4; // 0x4
14125    field public static final int RESULT_INVALID_ACTION = 1; // 0x1
14126    field public static final int RESULT_MALFORMED_INTENT = 2; // 0x2
14127    field public static final int RESULT_OK = 0; // 0x0
14128    field public static final int RESULT_TEMP_FILE_GENERATION_ERROR = 5; // 0x5
14129  }
14130
14131  public final class StreamingServiceInfo extends android.telephony.mbms.ServiceInfo implements android.os.Parcelable {
14132    ctor public StreamingServiceInfo(java.util.Map<java.util.Locale,java.lang.String>, String, java.util.List<java.util.Locale>, String, java.util.Date, java.util.Date);
14133  }
14134
14135  public final class UriPathPair implements android.os.Parcelable {
14136    method public int describeContents();
14137    method public android.net.Uri getContentUri();
14138    method public android.net.Uri getFilePathUri();
14139    method public void writeToParcel(android.os.Parcel, int);
14140    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.mbms.UriPathPair> CREATOR;
14141  }
14142
14143}
14144
14145package android.telephony.mbms.vendor {
14146
14147  public class MbmsDownloadServiceBase extends android.os.Binder implements android.os.IInterface {
14148    ctor public MbmsDownloadServiceBase();
14149    method public int addProgressListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadProgressListener) throws android.os.RemoteException;
14150    method public int addServiceAnnouncement(int, @NonNull byte[]);
14151    method public int addStatusListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadStatusListener) throws android.os.RemoteException;
14152    method public android.os.IBinder asBinder();
14153    method public int cancelDownload(android.telephony.mbms.DownloadRequest) throws android.os.RemoteException;
14154    method public void dispose(int) throws android.os.RemoteException;
14155    method public int download(android.telephony.mbms.DownloadRequest) throws android.os.RemoteException;
14156    method public int initialize(int, android.telephony.mbms.MbmsDownloadSessionCallback) throws android.os.RemoteException;
14157    method @NonNull public java.util.List<android.telephony.mbms.DownloadRequest> listPendingDownloads(int) throws android.os.RemoteException;
14158    method public void onAppCallbackDied(int, int);
14159    method public boolean onTransact(int, android.os.Parcel, android.os.Parcel, int) throws android.os.RemoteException;
14160    method public int removeProgressListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadProgressListener) throws android.os.RemoteException;
14161    method public int removeStatusListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadStatusListener) throws android.os.RemoteException;
14162    method public int requestDownloadState(android.telephony.mbms.DownloadRequest, android.telephony.mbms.FileInfo) throws android.os.RemoteException;
14163    method public int requestUpdateFileServices(int, java.util.List<java.lang.String>) throws android.os.RemoteException;
14164    method public int resetDownloadKnowledge(android.telephony.mbms.DownloadRequest) throws android.os.RemoteException;
14165    method public int setTempFileRootDirectory(int, String) throws android.os.RemoteException;
14166  }
14167
14168  public class MbmsGroupCallServiceBase extends android.app.Service {
14169    ctor public MbmsGroupCallServiceBase();
14170    method public void dispose(int) throws android.os.RemoteException;
14171    method public int initialize(@NonNull android.telephony.mbms.MbmsGroupCallSessionCallback, int) throws android.os.RemoteException;
14172    method public void onAppCallbackDied(int, int);
14173    method public android.os.IBinder onBind(android.content.Intent);
14174    method public int startGroupCall(int, long, @NonNull java.util.List<java.lang.Integer>, @NonNull java.util.List<java.lang.Integer>, @NonNull android.telephony.mbms.GroupCallCallback);
14175    method public void stopGroupCall(int, long);
14176    method public void updateGroupCall(int, long, @NonNull java.util.List<java.lang.Integer>, @NonNull java.util.List<java.lang.Integer>);
14177  }
14178
14179  public class MbmsStreamingServiceBase extends android.os.Binder implements android.os.IInterface {
14180    ctor public MbmsStreamingServiceBase();
14181    method public android.os.IBinder asBinder();
14182    method public void dispose(int) throws android.os.RemoteException;
14183    method @Nullable public android.net.Uri getPlaybackUri(int, String) throws android.os.RemoteException;
14184    method public int initialize(android.telephony.mbms.MbmsStreamingSessionCallback, int) throws android.os.RemoteException;
14185    method public void onAppCallbackDied(int, int);
14186    method public boolean onTransact(int, android.os.Parcel, android.os.Parcel, int) throws android.os.RemoteException;
14187    method public int requestUpdateStreamingServices(int, java.util.List<java.lang.String>) throws android.os.RemoteException;
14188    method public int startStreaming(int, String, android.telephony.mbms.StreamingServiceCallback) throws android.os.RemoteException;
14189    method public void stopStreaming(int, String) throws android.os.RemoteException;
14190  }
14191
14192  public class VendorUtils {
14193    ctor public VendorUtils();
14194    method public static android.content.ComponentName getAppReceiverFromPackageName(android.content.Context, String);
14195    field public static final String ACTION_CLEANUP = "android.telephony.mbms.action.CLEANUP";
14196    field public static final String ACTION_DOWNLOAD_RESULT_INTERNAL = "android.telephony.mbms.action.DOWNLOAD_RESULT_INTERNAL";
14197    field public static final String ACTION_FILE_DESCRIPTOR_REQUEST = "android.telephony.mbms.action.FILE_DESCRIPTOR_REQUEST";
14198    field public static final String EXTRA_FD_COUNT = "android.telephony.mbms.extra.FD_COUNT";
14199    field public static final String EXTRA_FINAL_URI = "android.telephony.mbms.extra.FINAL_URI";
14200    field public static final String EXTRA_FREE_URI_LIST = "android.telephony.mbms.extra.FREE_URI_LIST";
14201    field public static final String EXTRA_PAUSED_LIST = "android.telephony.mbms.extra.PAUSED_LIST";
14202    field public static final String EXTRA_PAUSED_URI_LIST = "android.telephony.mbms.extra.PAUSED_URI_LIST";
14203    field public static final String EXTRA_SERVICE_ID = "android.telephony.mbms.extra.SERVICE_ID";
14204    field public static final String EXTRA_TEMP_FILES_IN_USE = "android.telephony.mbms.extra.TEMP_FILES_IN_USE";
14205    field public static final String EXTRA_TEMP_FILE_ROOT = "android.telephony.mbms.extra.TEMP_FILE_ROOT";
14206    field public static final String EXTRA_TEMP_LIST = "android.telephony.mbms.extra.TEMP_LIST";
14207  }
14208
14209}
14210
14211package android.text {
14212
14213  public final class FontConfig implements android.os.Parcelable {
14214    method public int describeContents();
14215    method @NonNull public java.util.List<android.text.FontConfig.Alias> getAliases();
14216    method @IntRange(from=0) public int getConfigVersion();
14217    method @NonNull public java.util.List<android.text.FontConfig.FontFamily> getFontFamilies();
14218    method public long getLastModifiedTimeMillis();
14219    method public void writeToParcel(@NonNull android.os.Parcel, int);
14220    field @NonNull public static final android.os.Parcelable.Creator<android.text.FontConfig> CREATOR;
14221  }
14222
14223  public static final class FontConfig.Alias implements android.os.Parcelable {
14224    method public int describeContents();
14225    method @NonNull public String getName();
14226    method @NonNull public String getOriginal();
14227    method @IntRange(from=0, to=1000) public int getWeight();
14228    method public void writeToParcel(@NonNull android.os.Parcel, int);
14229    field @NonNull public static final android.os.Parcelable.Creator<android.text.FontConfig.Alias> CREATOR;
14230  }
14231
14232  public static final class FontConfig.Font implements android.os.Parcelable {
14233    method public int describeContents();
14234    method @NonNull public java.io.File getFile();
14235    method @Nullable public String getFontFamilyName();
14236    method @NonNull public String getFontVariationSettings();
14237    method @NonNull public String getPostScriptName();
14238    method @NonNull public android.graphics.fonts.FontStyle getStyle();
14239    method public int getTtcIndex();
14240    method public void writeToParcel(@NonNull android.os.Parcel, int);
14241    field @NonNull public static final android.os.Parcelable.Creator<android.text.FontConfig.Font> CREATOR;
14242  }
14243
14244  public static final class FontConfig.FontFamily implements android.os.Parcelable {
14245    method public int describeContents();
14246    method @NonNull public java.util.List<android.text.FontConfig.Font> getFontList();
14247    method @NonNull public android.os.LocaleList getLocaleList();
14248    method @Nullable public String getName();
14249    method public int getVariant();
14250    method public void writeToParcel(@NonNull android.os.Parcel, int);
14251    field @NonNull public static final android.os.Parcelable.Creator<android.text.FontConfig.FontFamily> CREATOR;
14252    field public static final int VARIANT_COMPACT = 1; // 0x1
14253    field public static final int VARIANT_DEFAULT = 0; // 0x0
14254    field public static final int VARIANT_ELEGANT = 2; // 0x2
14255  }
14256
14257}
14258
14259package android.util {
14260
14261  public class EventLog {
14262    method public static void readEventsOnWrapping(int[], long, java.util.Collection<android.util.EventLog.Event>) throws java.io.IOException;
14263  }
14264
14265  public static final class EventLog.Event {
14266    method public int getUid();
14267  }
14268
14269}
14270
14271package android.uwb {
14272
14273  public final class AngleMeasurement implements android.os.Parcelable {
14274    ctor public AngleMeasurement(@FloatRange(from=-3.141592653589793, to=3.141592653589793) double, @FloatRange(from=0.0, to=3.141592653589793) double, @FloatRange(from=0.0, to=1.0) double);
14275    method public int describeContents();
14276    method @FloatRange(from=0.0, to=1.0) public double getConfidenceLevel();
14277    method @FloatRange(from=0.0, to=3.141592653589793) public double getErrorRadians();
14278    method @FloatRange(from=-3.141592653589793, to=3.141592653589793) public double getRadians();
14279    method public void writeToParcel(@NonNull android.os.Parcel, int);
14280    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.AngleMeasurement> CREATOR;
14281  }
14282
14283  public final class AngleOfArrivalMeasurement implements android.os.Parcelable {
14284    method public int describeContents();
14285    method @Nullable public android.uwb.AngleMeasurement getAltitude();
14286    method @NonNull public android.uwb.AngleMeasurement getAzimuth();
14287    method public void writeToParcel(@NonNull android.os.Parcel, int);
14288    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.AngleOfArrivalMeasurement> CREATOR;
14289  }
14290
14291  public static final class AngleOfArrivalMeasurement.Builder {
14292    ctor public AngleOfArrivalMeasurement.Builder(@NonNull android.uwb.AngleMeasurement);
14293    method @NonNull public android.uwb.AngleOfArrivalMeasurement build();
14294    method @NonNull public android.uwb.AngleOfArrivalMeasurement.Builder setAltitude(@NonNull android.uwb.AngleMeasurement);
14295  }
14296
14297  public final class DistanceMeasurement implements android.os.Parcelable {
14298    method public int describeContents();
14299    method @FloatRange(from=0.0, to=1.0) public double getConfidenceLevel();
14300    method @FloatRange(from=0.0) public double getErrorMeters();
14301    method public double getMeters();
14302    method public void writeToParcel(@NonNull android.os.Parcel, int);
14303    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.DistanceMeasurement> CREATOR;
14304  }
14305
14306  public static final class DistanceMeasurement.Builder {
14307    ctor public DistanceMeasurement.Builder();
14308    method @NonNull public android.uwb.DistanceMeasurement build();
14309    method @NonNull public android.uwb.DistanceMeasurement.Builder setConfidenceLevel(@FloatRange(from=0.0, to=1.0) double);
14310    method @NonNull public android.uwb.DistanceMeasurement.Builder setErrorMeters(@FloatRange(from=0.0) double);
14311    method @NonNull public android.uwb.DistanceMeasurement.Builder setMeters(double);
14312  }
14313
14314  public final class RangingMeasurement implements android.os.Parcelable {
14315    method public int describeContents();
14316    method @Nullable public android.uwb.AngleOfArrivalMeasurement getAngleOfArrivalMeasurement();
14317    method @Nullable public android.uwb.DistanceMeasurement getDistanceMeasurement();
14318    method public long getElapsedRealtimeNanos();
14319    method @NonNull public android.uwb.UwbAddress getRemoteDeviceAddress();
14320    method public int getStatus();
14321    method public void writeToParcel(@NonNull android.os.Parcel, int);
14322    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.RangingMeasurement> CREATOR;
14323    field public static final int RANGING_STATUS_FAILURE_OUT_OF_RANGE = 1; // 0x1
14324    field public static final int RANGING_STATUS_FAILURE_UNKNOWN_ERROR = -1; // 0xffffffff
14325    field public static final int RANGING_STATUS_SUCCESS = 0; // 0x0
14326  }
14327
14328  public static final class RangingMeasurement.Builder {
14329    ctor public RangingMeasurement.Builder();
14330    method @NonNull public android.uwb.RangingMeasurement build();
14331    method @NonNull public android.uwb.RangingMeasurement.Builder setAngleOfArrivalMeasurement(@NonNull android.uwb.AngleOfArrivalMeasurement);
14332    method @NonNull public android.uwb.RangingMeasurement.Builder setDistanceMeasurement(@NonNull android.uwb.DistanceMeasurement);
14333    method @NonNull public android.uwb.RangingMeasurement.Builder setElapsedRealtimeNanos(long);
14334    method @NonNull public android.uwb.RangingMeasurement.Builder setRemoteDeviceAddress(@NonNull android.uwb.UwbAddress);
14335    method @NonNull public android.uwb.RangingMeasurement.Builder setStatus(int);
14336  }
14337
14338  public final class RangingReport implements android.os.Parcelable {
14339    method public int describeContents();
14340    method @NonNull public java.util.List<android.uwb.RangingMeasurement> getMeasurements();
14341    method public void writeToParcel(@NonNull android.os.Parcel, int);
14342    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.RangingReport> CREATOR;
14343  }
14344
14345  public static final class RangingReport.Builder {
14346    ctor public RangingReport.Builder();
14347    method @NonNull public android.uwb.RangingReport.Builder addMeasurement(@NonNull android.uwb.RangingMeasurement);
14348    method @NonNull public android.uwb.RangingReport.Builder addMeasurements(@NonNull java.util.List<android.uwb.RangingMeasurement>);
14349    method @NonNull public android.uwb.RangingReport build();
14350  }
14351
14352  public final class RangingSession implements java.lang.AutoCloseable {
14353    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void close();
14354    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void reconfigure(@NonNull android.os.PersistableBundle);
14355    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void start(@NonNull android.os.PersistableBundle);
14356    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void stop();
14357  }
14358
14359  public static interface RangingSession.Callback {
14360    method public void onClosed(int, @NonNull android.os.PersistableBundle);
14361    method public void onOpenFailed(int, @NonNull android.os.PersistableBundle);
14362    method public void onOpened(@NonNull android.uwb.RangingSession);
14363    method public void onReconfigureFailed(int, @NonNull android.os.PersistableBundle);
14364    method public void onReconfigured(@NonNull android.os.PersistableBundle);
14365    method public void onReportReceived(@NonNull android.uwb.RangingReport);
14366    method public void onStartFailed(int, @NonNull android.os.PersistableBundle);
14367    method public void onStarted(@NonNull android.os.PersistableBundle);
14368    method public void onStopFailed(int, @NonNull android.os.PersistableBundle);
14369    method public void onStopped(int, @NonNull android.os.PersistableBundle);
14370    field public static final int REASON_BAD_PARAMETERS = 3; // 0x3
14371    field public static final int REASON_GENERIC_ERROR = 4; // 0x4
14372    field public static final int REASON_LOCAL_REQUEST = 1; // 0x1
14373    field public static final int REASON_MAX_SESSIONS_REACHED = 5; // 0x5
14374    field public static final int REASON_PROTOCOL_SPECIFIC_ERROR = 7; // 0x7
14375    field public static final int REASON_REMOTE_REQUEST = 2; // 0x2
14376    field public static final int REASON_SYSTEM_POLICY = 6; // 0x6
14377    field public static final int REASON_UNKNOWN = 0; // 0x0
14378  }
14379
14380  public final class UwbAddress implements android.os.Parcelable {
14381    method public int describeContents();
14382    method @NonNull public static android.uwb.UwbAddress fromBytes(@NonNull byte[]);
14383    method public int size();
14384    method @NonNull public byte[] toBytes();
14385    method public void writeToParcel(@NonNull android.os.Parcel, int);
14386    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.UwbAddress> CREATOR;
14387    field public static final int EXTENDED_ADDRESS_BYTE_LENGTH = 8; // 0x8
14388    field public static final int SHORT_ADDRESS_BYTE_LENGTH = 2; // 0x2
14389  }
14390
14391  public final class UwbManager {
14392    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public long elapsedRealtimeResolutionNanos();
14393    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public android.os.PersistableBundle getSpecificationInfo();
14394    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.UWB_PRIVILEGED, android.Manifest.permission.UWB_RANGING}) public android.os.CancellationSignal openRangingSession(@NonNull android.os.PersistableBundle, @NonNull java.util.concurrent.Executor, @NonNull android.uwb.RangingSession.Callback);
14395    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void registerAdapterStateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.uwb.UwbManager.AdapterStateCallback);
14396    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void unregisterAdapterStateCallback(@NonNull android.uwb.UwbManager.AdapterStateCallback);
14397  }
14398
14399  public static interface UwbManager.AdapterStateCallback {
14400    method public void onStateChanged(int, int);
14401    field public static final int STATE_CHANGED_REASON_ALL_SESSIONS_CLOSED = 1; // 0x1
14402    field public static final int STATE_CHANGED_REASON_ERROR_UNKNOWN = 4; // 0x4
14403    field public static final int STATE_CHANGED_REASON_SESSION_STARTED = 0; // 0x0
14404    field public static final int STATE_CHANGED_REASON_SYSTEM_BOOT = 3; // 0x3
14405    field public static final int STATE_CHANGED_REASON_SYSTEM_POLICY = 2; // 0x2
14406    field public static final int STATE_DISABLED = 0; // 0x0
14407    field public static final int STATE_ENABLED_ACTIVE = 2; // 0x2
14408    field public static final int STATE_ENABLED_INACTIVE = 1; // 0x1
14409  }
14410
14411}
14412
14413package android.view {
14414
14415  public abstract class Window {
14416    method public void addSystemFlags(@android.view.WindowManager.LayoutParams.SystemFlags int);
14417  }
14418
14419  public interface WindowManager extends android.view.ViewManager {
14420    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public android.graphics.Region getCurrentImeTouchRegion();
14421  }
14422
14423  public static class WindowManager.LayoutParams extends android.view.ViewGroup.LayoutParams implements android.os.Parcelable {
14424    method public final long getUserActivityTimeout();
14425    method public boolean isSystemApplicationOverlay();
14426    method @RequiresPermission(android.Manifest.permission.SYSTEM_APPLICATION_OVERLAY) public void setSystemApplicationOverlay(boolean);
14427    method public final void setUserActivityTimeout(long);
14428    field @RequiresPermission(android.Manifest.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS) public static final int SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS = 524288; // 0x80000
14429    field @RequiresPermission(android.Manifest.permission.INTERNAL_SYSTEM_WINDOW) public static final int SYSTEM_FLAG_SHOW_FOR_ALL_USERS = 16; // 0x10
14430  }
14431
14432  @IntDef(flag=true, prefix={"SYSTEM_FLAG_"}, value={android.view.WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS, android.view.WindowManager.LayoutParams.SYSTEM_FLAG_SHOW_FOR_ALL_USERS}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface WindowManager.LayoutParams.SystemFlags {
14433  }
14434
14435}
14436
14437package android.view.accessibility {
14438
14439  public final class AccessibilityManager {
14440    method public int getAccessibilityWindowId(@Nullable android.os.IBinder);
14441    method @RequiresPermission(android.Manifest.permission.MANAGE_ACCESSIBILITY) public void performAccessibilityShortcut();
14442    method @RequiresPermission(android.Manifest.permission.MANAGE_ACCESSIBILITY) public void registerSystemAction(@NonNull android.app.RemoteAction, int);
14443    method @RequiresPermission(android.Manifest.permission.MANAGE_ACCESSIBILITY) public void unregisterSystemAction(int);
14444  }
14445
14446}
14447
14448package android.view.autofill {
14449
14450  public final class AutofillManager {
14451    method public void setAugmentedAutofillWhitelist(@Nullable java.util.Set<java.lang.String>, @Nullable java.util.Set<android.content.ComponentName>);
14452  }
14453
14454}
14455
14456package android.view.contentcapture {
14457
14458  public final class ContentCaptureContext implements android.os.Parcelable {
14459    method @Nullable public android.content.ComponentName getActivityComponent();
14460    method @Nullable public android.app.assist.ActivityId getActivityId();
14461    method public int getDisplayId();
14462    method public int getFlags();
14463    method @Nullable public android.view.contentcapture.ContentCaptureSessionId getParentSessionId();
14464    method public int getTaskId();
14465    method @Nullable public android.os.IBinder getWindowToken();
14466    field public static final int FLAG_DISABLED_BY_APP = 1; // 0x1
14467    field public static final int FLAG_DISABLED_BY_FLAG_SECURE = 2; // 0x2
14468    field public static final int FLAG_RECONNECTED = 4; // 0x4
14469  }
14470
14471  public final class ContentCaptureEvent implements android.os.Parcelable {
14472    method public int describeContents();
14473    method @Nullable public android.graphics.Rect getBounds();
14474    method @Nullable public android.view.contentcapture.ContentCaptureContext getContentCaptureContext();
14475    method public long getEventTime();
14476    method @Nullable public android.view.autofill.AutofillId getId();
14477    method @Nullable public java.util.List<android.view.autofill.AutofillId> getIds();
14478    method @Nullable public android.graphics.Insets getInsets();
14479    method @Nullable public CharSequence getText();
14480    method public int getType();
14481    method @Nullable public android.view.contentcapture.ViewNode getViewNode();
14482    method public void writeToParcel(android.os.Parcel, int);
14483    field @NonNull public static final android.os.Parcelable.Creator<android.view.contentcapture.ContentCaptureEvent> CREATOR;
14484    field public static final int TYPE_CONTEXT_UPDATED = 6; // 0x6
14485    field public static final int TYPE_SESSION_PAUSED = 8; // 0x8
14486    field public static final int TYPE_SESSION_RESUMED = 7; // 0x7
14487    field public static final int TYPE_VIEW_APPEARED = 1; // 0x1
14488    field public static final int TYPE_VIEW_DISAPPEARED = 2; // 0x2
14489    field public static final int TYPE_VIEW_INSETS_CHANGED = 9; // 0x9
14490    field public static final int TYPE_VIEW_TEXT_CHANGED = 3; // 0x3
14491    field public static final int TYPE_VIEW_TREE_APPEARED = 5; // 0x5
14492    field public static final int TYPE_VIEW_TREE_APPEARING = 4; // 0x4
14493    field public static final int TYPE_WINDOW_BOUNDS_CHANGED = 10; // 0xa
14494  }
14495
14496  public final class ContentCaptureManager {
14497    method public boolean isContentCaptureFeatureEnabled();
14498    field public static final int NO_SESSION_ID = 0; // 0x0
14499  }
14500
14501  public final class ViewNode extends android.app.assist.AssistStructure.ViewNode {
14502    method @Nullable public android.view.autofill.AutofillId getParentAutofillId();
14503  }
14504
14505}
14506
14507package android.view.displayhash {
14508
14509  public final class DisplayHash implements android.os.Parcelable {
14510    ctor public DisplayHash(long, @NonNull android.graphics.Rect, @NonNull String, @NonNull byte[], @NonNull byte[]);
14511    method public int describeContents();
14512    method @NonNull public android.graphics.Rect getBoundsInWindow();
14513    method @NonNull public String getHashAlgorithm();
14514    method @NonNull public byte[] getHmac();
14515    method @NonNull public byte[] getImageHash();
14516    method public long getTimeMillis();
14517    method public void writeToParcel(@NonNull android.os.Parcel, int);
14518  }
14519
14520}
14521
14522package android.view.translation {
14523
14524  public final class TranslationCapability implements android.os.Parcelable {
14525    ctor public TranslationCapability(int, @NonNull android.view.translation.TranslationSpec, @NonNull android.view.translation.TranslationSpec, boolean, int);
14526  }
14527
14528  public final class UiTranslationManager {
14529    method @RequiresPermission(android.Manifest.permission.MANAGE_UI_TRANSLATION) public void finishTranslation(@NonNull android.app.assist.ActivityId);
14530    method @RequiresPermission(android.Manifest.permission.MANAGE_UI_TRANSLATION) public void pauseTranslation(@NonNull android.app.assist.ActivityId);
14531    method @RequiresPermission(android.Manifest.permission.MANAGE_UI_TRANSLATION) public void resumeTranslation(@NonNull android.app.assist.ActivityId);
14532    method @RequiresPermission(android.Manifest.permission.MANAGE_UI_TRANSLATION) public void startTranslation(@NonNull android.view.translation.TranslationSpec, @NonNull android.view.translation.TranslationSpec, @NonNull java.util.List<android.view.autofill.AutofillId>, @NonNull android.app.assist.ActivityId, @NonNull android.view.translation.UiTranslationSpec);
14533  }
14534
14535  public final class UiTranslationSpec implements android.os.Parcelable {
14536    method public int describeContents();
14537    method public boolean shouldPadContentForCompat();
14538    method public void writeToParcel(@NonNull android.os.Parcel, int);
14539    field @NonNull public static final android.os.Parcelable.Creator<android.view.translation.UiTranslationSpec> CREATOR;
14540  }
14541
14542  public static final class UiTranslationSpec.Builder {
14543    ctor public UiTranslationSpec.Builder();
14544    method @NonNull public android.view.translation.UiTranslationSpec build();
14545    method @NonNull public android.view.translation.UiTranslationSpec.Builder setShouldPadContentForCompat(boolean);
14546  }
14547
14548}
14549
14550package android.webkit {
14551
14552  public abstract class CookieManager {
14553    method protected abstract boolean allowFileSchemeCookiesImpl();
14554    method public abstract String getCookie(String, boolean);
14555    method public String getCookie(android.net.WebAddress);
14556    method public abstract boolean hasCookies(boolean);
14557    method protected abstract void setAcceptFileSchemeCookiesImpl(boolean);
14558  }
14559
14560  public class FindActionModeCallback implements android.view.ActionMode.Callback android.text.TextWatcher android.view.View.OnClickListener android.webkit.WebView.FindListener {
14561    ctor public FindActionModeCallback(android.content.Context);
14562    method public void afterTextChanged(android.text.Editable);
14563    method public void beforeTextChanged(CharSequence, int, int, int);
14564    method public void findAll();
14565    method public void finish();
14566    method public int getActionModeGlobalBottom();
14567    method public boolean onActionItemClicked(android.view.ActionMode, android.view.MenuItem);
14568    method public void onClick(android.view.View);
14569    method public boolean onCreateActionMode(android.view.ActionMode, android.view.Menu);
14570    method public void onDestroyActionMode(android.view.ActionMode);
14571    method public void onFindResultReceived(int, int, boolean);
14572    method public boolean onPrepareActionMode(android.view.ActionMode, android.view.Menu);
14573    method public void onTextChanged(CharSequence, int, int, int);
14574    method public void setText(String);
14575    method public void setWebView(@NonNull android.webkit.WebView);
14576    method public void showSoftInput();
14577    method public void updateMatchCount(int, int, boolean);
14578  }
14579
14580  public static class FindActionModeCallback.NoAction implements android.view.ActionMode.Callback {
14581    ctor public FindActionModeCallback.NoAction();
14582    method public boolean onActionItemClicked(android.view.ActionMode, android.view.MenuItem);
14583    method public boolean onCreateActionMode(android.view.ActionMode, android.view.Menu);
14584    method public void onDestroyActionMode(android.view.ActionMode);
14585    method public boolean onPrepareActionMode(android.view.ActionMode, android.view.Menu);
14586  }
14587
14588  public class GeolocationPermissions {
14589    ctor public GeolocationPermissions();
14590  }
14591
14592  public class HttpAuthHandler extends android.os.Handler {
14593    ctor public HttpAuthHandler();
14594  }
14595
14596  public class JsDialogHelper {
14597    ctor public JsDialogHelper(android.webkit.JsPromptResult, int, String, String, String);
14598    ctor public JsDialogHelper(android.webkit.JsPromptResult, android.os.Message);
14599    method public boolean invokeCallback(android.webkit.WebChromeClient, android.webkit.WebView);
14600    method public void showDialog(android.content.Context);
14601    field public static final int ALERT = 1; // 0x1
14602    field public static final int CONFIRM = 2; // 0x2
14603    field public static final int PROMPT = 3; // 0x3
14604    field public static final int UNLOAD = 4; // 0x4
14605  }
14606
14607  public class JsPromptResult extends android.webkit.JsResult {
14608    ctor public JsPromptResult(android.webkit.JsResult.ResultReceiver);
14609    method public String getStringResult();
14610  }
14611
14612  public class JsResult {
14613    ctor public JsResult(android.webkit.JsResult.ResultReceiver);
14614    method public final boolean getResult();
14615  }
14616
14617  public static interface JsResult.ResultReceiver {
14618    method public void onJsResultComplete(android.webkit.JsResult);
14619  }
14620
14621  public interface PacProcessor {
14622    method @NonNull public static android.webkit.PacProcessor createInstance();
14623    method @Nullable public String findProxyForUrl(@NonNull String);
14624    method @NonNull public static android.webkit.PacProcessor getInstance();
14625    method @Nullable public default android.net.Network getNetwork();
14626    method public default void release();
14627    method public default void setNetwork(@Nullable android.net.Network);
14628    method public boolean setProxyScript(@NonNull String);
14629  }
14630
14631  public class SslErrorHandler extends android.os.Handler {
14632    ctor public SslErrorHandler();
14633  }
14634
14635  @Deprecated public abstract class TokenBindingService {
14636    ctor @Deprecated public TokenBindingService();
14637  }
14638
14639  public class WebChromeClient {
14640    method @Deprecated public void openFileChooser(android.webkit.ValueCallback<android.net.Uri>, String, String);
14641  }
14642
14643  public abstract class WebHistoryItem implements java.lang.Cloneable {
14644    method @Deprecated public abstract int getId();
14645  }
14646
14647  @Deprecated public abstract class WebIconDatabase {
14648    method @Deprecated public abstract void bulkRequestIconForPageUrl(android.content.ContentResolver, String, android.webkit.WebIconDatabase.IconListener);
14649  }
14650
14651  public abstract class WebMessagePort {
14652    ctor public WebMessagePort();
14653  }
14654
14655  public abstract class WebResourceError {
14656    ctor public WebResourceError();
14657  }
14658
14659  public class WebResourceResponse {
14660    ctor public WebResourceResponse(boolean, String, String, int, String, java.util.Map<java.lang.String,java.lang.String>, java.io.InputStream);
14661  }
14662
14663  public abstract class WebSettings {
14664    method public abstract boolean getAcceptThirdPartyCookies();
14665    method @Deprecated public abstract boolean getNavDump();
14666    method @Deprecated public abstract boolean getPluginsEnabled();
14667    method @Deprecated public abstract boolean getUseWebViewBackgroundForOverscrollBackground();
14668    method @Deprecated public abstract int getUserAgent();
14669    method public abstract boolean getVideoOverlayForEmbeddedEncryptedVideoEnabled();
14670    method public abstract void setAcceptThirdPartyCookies(boolean);
14671    method @Deprecated public abstract void setNavDump(boolean);
14672    method @Deprecated public abstract void setPluginsEnabled(boolean);
14673    method @Deprecated public abstract void setUseWebViewBackgroundForOverscrollBackground(boolean);
14674    method @Deprecated public abstract void setUserAgent(int);
14675    method public abstract void setVideoOverlayForEmbeddedEncryptedVideoEnabled(boolean);
14676  }
14677
14678  public class WebStorage {
14679    ctor public WebStorage();
14680  }
14681
14682  public static class WebStorage.Origin {
14683    ctor protected WebStorage.Origin(String, long, long);
14684  }
14685
14686  public class WebView extends android.widget.AbsoluteLayout implements android.view.ViewGroup.OnHierarchyChangeListener android.view.ViewTreeObserver.OnGlobalFocusChangeListener {
14687    method public android.webkit.WebViewProvider getWebViewProvider();
14688  }
14689
14690  public static class WebView.HitTestResult {
14691    ctor public WebView.HitTestResult();
14692    method public void setExtra(String);
14693    method public void setType(int);
14694  }
14695
14696  public class WebView.PrivateAccess {
14697    ctor public WebView.PrivateAccess();
14698    method public void awakenScrollBars(int);
14699    method public void awakenScrollBars(int, boolean);
14700    method public float getHorizontalScrollFactor();
14701    method public int getHorizontalScrollbarHeight();
14702    method public float getVerticalScrollFactor();
14703    method public void onScrollChanged(int, int, int, int);
14704    method public void overScrollBy(int, int, int, int, int, int, int, int, boolean);
14705    method public void setMeasuredDimension(int, int);
14706    method public void setScrollXRaw(int);
14707    method public void setScrollYRaw(int);
14708    method public void super_computeScroll();
14709    method public boolean super_dispatchKeyEvent(android.view.KeyEvent);
14710    method public int super_getScrollBarStyle();
14711    method @Nullable public android.view.WindowInsets super_onApplyWindowInsets(@Nullable android.view.WindowInsets);
14712    method public void super_onDrawVerticalScrollBar(android.graphics.Canvas, android.graphics.drawable.Drawable, int, int, int, int);
14713    method public boolean super_onGenericMotionEvent(android.view.MotionEvent);
14714    method public boolean super_onHoverEvent(android.view.MotionEvent);
14715    method public boolean super_performAccessibilityAction(int, android.os.Bundle);
14716    method public boolean super_performLongClick();
14717    method public boolean super_requestFocus(int, android.graphics.Rect);
14718    method public void super_scrollTo(int, int);
14719    method public boolean super_setFrame(int, int, int, int);
14720    method public void super_setLayoutParams(android.view.ViewGroup.LayoutParams);
14721    method public void super_startActivityForResult(android.content.Intent, int);
14722  }
14723
14724  public final class WebViewDelegate {
14725    method public void addWebViewAssetPath(android.content.Context);
14726    method @Deprecated public void callDrawGlFunction(android.graphics.Canvas, long);
14727    method @Deprecated public void callDrawGlFunction(@NonNull android.graphics.Canvas, long, @Nullable Runnable);
14728    method @Deprecated public boolean canInvokeDrawGlFunctor(android.view.View);
14729    method @Deprecated public void detachDrawGlFunctor(android.view.View, long);
14730    method public void drawWebViewFunctor(@NonNull android.graphics.Canvas, int);
14731    method public android.app.Application getApplication();
14732    method public String getDataDirectorySuffix();
14733    method public String getErrorString(android.content.Context, int);
14734    method public int getPackageId(android.content.res.Resources, String);
14735    method @NonNull public android.webkit.WebViewFactory.StartupTimestamps getStartupTimestamps();
14736    method @Deprecated public void invokeDrawGlFunctor(android.view.View, long, boolean);
14737    method public boolean isMultiProcessEnabled();
14738    method public boolean isTraceTagEnabled();
14739    method public void setOnTraceEnabledChangeListener(android.webkit.WebViewDelegate.OnTraceEnabledChangeListener);
14740  }
14741
14742  public static interface WebViewDelegate.OnTraceEnabledChangeListener {
14743    method public void onTraceEnabledChange(boolean);
14744  }
14745
14746  public final class WebViewFactory {
14747    ctor public WebViewFactory();
14748    method public static android.content.pm.PackageInfo getLoadedPackageInfo();
14749    method public static int loadWebViewNativeLibraryFromPackage(String, ClassLoader);
14750    method public static void prepareWebViewInZygote();
14751    field public static final int LIBLOAD_ADDRESS_SPACE_NOT_RESERVED = 2; // 0x2
14752    field public static final int LIBLOAD_FAILED_JNI_CALL = 7; // 0x7
14753    field public static final int LIBLOAD_FAILED_LISTING_WEBVIEW_PACKAGES = 4; // 0x4
14754    field public static final int LIBLOAD_FAILED_TO_FIND_NAMESPACE = 10; // 0xa
14755    field public static final int LIBLOAD_FAILED_TO_LOAD_LIBRARY = 6; // 0x6
14756    field public static final int LIBLOAD_FAILED_TO_OPEN_RELRO_FILE = 5; // 0x5
14757    field public static final int LIBLOAD_FAILED_WAITING_FOR_RELRO = 3; // 0x3
14758    field public static final int LIBLOAD_FAILED_WAITING_FOR_WEBVIEW_REASON_UNKNOWN = 8; // 0x8
14759    field public static final int LIBLOAD_SUCCESS = 0; // 0x0
14760    field public static final int LIBLOAD_WRONG_PACKAGE_NAME = 1; // 0x1
14761  }
14762
14763  public static class WebViewFactory.StartupTimestamps {
14764    method public long getAddAssetsEnd();
14765    method public long getAddAssetsStart();
14766    method public long getCreateContextEnd();
14767    method public long getCreateContextStart();
14768    method public long getGetClassLoaderEnd();
14769    method public long getGetClassLoaderStart();
14770    method public long getNativeLoadEnd();
14771    method public long getNativeLoadStart();
14772    method public long getProviderClassForNameEnd();
14773    method public long getProviderClassForNameStart();
14774    method public long getWebViewLoadStart();
14775  }
14776
14777  public interface WebViewFactoryProvider {
14778    method @NonNull public default android.webkit.PacProcessor createPacProcessor();
14779    method public android.webkit.WebViewProvider createWebView(android.webkit.WebView, android.webkit.WebView.PrivateAccess);
14780    method public android.webkit.CookieManager getCookieManager();
14781    method public android.webkit.GeolocationPermissions getGeolocationPermissions();
14782    method @NonNull public default android.webkit.PacProcessor getPacProcessor();
14783    method public android.webkit.ServiceWorkerController getServiceWorkerController();
14784    method public android.webkit.WebViewFactoryProvider.Statics getStatics();
14785    method @Deprecated public android.webkit.TokenBindingService getTokenBindingService();
14786    method public android.webkit.TracingController getTracingController();
14787    method public android.webkit.WebIconDatabase getWebIconDatabase();
14788    method public android.webkit.WebStorage getWebStorage();
14789    method public ClassLoader getWebViewClassLoader();
14790    method public android.webkit.WebViewDatabase getWebViewDatabase(android.content.Context);
14791  }
14792
14793  public static interface WebViewFactoryProvider.Statics {
14794    method public void clearClientCertPreferences(Runnable);
14795    method public void enableSlowWholeDocumentDraw();
14796    method public String findAddress(String);
14797    method public void freeMemoryForTests();
14798    method public String getDefaultUserAgent(android.content.Context);
14799    method @NonNull public android.net.Uri getSafeBrowsingPrivacyPolicyUrl();
14800    method public void initSafeBrowsing(android.content.Context, android.webkit.ValueCallback<java.lang.Boolean>);
14801    method public android.net.Uri[] parseFileChooserResult(int, android.content.Intent);
14802    method public void setSafeBrowsingWhitelist(java.util.List<java.lang.String>, android.webkit.ValueCallback<java.lang.Boolean>);
14803    method public void setWebContentsDebuggingEnabled(boolean);
14804  }
14805
14806  public interface WebViewProvider {
14807    method public void addJavascriptInterface(Object, String);
14808    method public boolean canGoBack();
14809    method public boolean canGoBackOrForward(int);
14810    method public boolean canGoForward();
14811    method public boolean canZoomIn();
14812    method public boolean canZoomOut();
14813    method public android.graphics.Picture capturePicture();
14814    method public void clearCache(boolean);
14815    method public void clearFormData();
14816    method public void clearHistory();
14817    method public void clearMatches();
14818    method public void clearSslPreferences();
14819    method public void clearView();
14820    method public android.webkit.WebBackForwardList copyBackForwardList();
14821    method public android.print.PrintDocumentAdapter createPrintDocumentAdapter(String);
14822    method public android.webkit.WebMessagePort[] createWebMessageChannel();
14823    method public void destroy();
14824    method public void documentHasImages(android.os.Message);
14825    method public void dumpViewHierarchyWithProperties(java.io.BufferedWriter, int);
14826    method public void evaluateJavaScript(String, android.webkit.ValueCallback<java.lang.String>);
14827    method public int findAll(String);
14828    method public void findAllAsync(String);
14829    method public android.view.View findHierarchyView(String, int);
14830    method public void findNext(boolean);
14831    method public void flingScroll(int, int);
14832    method public void freeMemory();
14833    method public android.net.http.SslCertificate getCertificate();
14834    method public int getContentHeight();
14835    method public int getContentWidth();
14836    method public android.graphics.Bitmap getFavicon();
14837    method public android.webkit.WebView.HitTestResult getHitTestResult();
14838    method public String[] getHttpAuthUsernamePassword(String, String);
14839    method public String getOriginalUrl();
14840    method public int getProgress();
14841    method public boolean getRendererPriorityWaivedWhenNotVisible();
14842    method public int getRendererRequestedPriority();
14843    method public float getScale();
14844    method public android.webkit.WebViewProvider.ScrollDelegate getScrollDelegate();
14845    method public android.webkit.WebSettings getSettings();
14846    method @NonNull public default android.view.textclassifier.TextClassifier getTextClassifier();
14847    method public String getTitle();
14848    method public String getTouchIconUrl();
14849    method public String getUrl();
14850    method public android.webkit.WebViewProvider.ViewDelegate getViewDelegate();
14851    method public int getVisibleTitleHeight();
14852    method public android.webkit.WebChromeClient getWebChromeClient();
14853    method public android.webkit.WebViewClient getWebViewClient();
14854    method @Nullable public android.webkit.WebViewRenderProcess getWebViewRenderProcess();
14855    method @Nullable public android.webkit.WebViewRenderProcessClient getWebViewRenderProcessClient();
14856    method public android.view.View getZoomControls();
14857    method public void goBack();
14858    method public void goBackOrForward(int);
14859    method public void goForward();
14860    method public void init(java.util.Map<java.lang.String,java.lang.Object>, boolean);
14861    method public void insertVisualStateCallback(long, android.webkit.WebView.VisualStateCallback);
14862    method public void invokeZoomPicker();
14863    method public boolean isPaused();
14864    method public boolean isPrivateBrowsingEnabled();
14865    method public void loadData(String, String, String);
14866    method public void loadDataWithBaseURL(String, String, String, String, String);
14867    method public void loadUrl(String, java.util.Map<java.lang.String,java.lang.String>);
14868    method public void loadUrl(String);
14869    method public void notifyFindDialogDismissed();
14870    method public void onPause();
14871    method public void onResume();
14872    method public boolean overlayHorizontalScrollbar();
14873    method public boolean overlayVerticalScrollbar();
14874    method public boolean pageDown(boolean);
14875    method public boolean pageUp(boolean);
14876    method public void pauseTimers();
14877    method public void postMessageToMainFrame(android.webkit.WebMessage, android.net.Uri);
14878    method public void postUrl(String, byte[]);
14879    method public void reload();
14880    method public void removeJavascriptInterface(String);
14881    method public void requestFocusNodeHref(android.os.Message);
14882    method public void requestImageRef(android.os.Message);
14883    method public boolean restorePicture(android.os.Bundle, java.io.File);
14884    method public android.webkit.WebBackForwardList restoreState(android.os.Bundle);
14885    method public void resumeTimers();
14886    method public void savePassword(String, String, String);
14887    method public boolean savePicture(android.os.Bundle, java.io.File);
14888    method public android.webkit.WebBackForwardList saveState(android.os.Bundle);
14889    method public void saveWebArchive(String);
14890    method public void saveWebArchive(String, boolean, android.webkit.ValueCallback<java.lang.String>);
14891    method public void setCertificate(android.net.http.SslCertificate);
14892    method public void setDownloadListener(android.webkit.DownloadListener);
14893    method public void setFindListener(android.webkit.WebView.FindListener);
14894    method public void setHorizontalScrollbarOverlay(boolean);
14895    method public void setHttpAuthUsernamePassword(String, String, String, String);
14896    method public void setInitialScale(int);
14897    method public void setMapTrackballToArrowKeys(boolean);
14898    method public void setNetworkAvailable(boolean);
14899    method public void setPictureListener(android.webkit.WebView.PictureListener);
14900    method public void setRendererPriorityPolicy(int, boolean);
14901    method public default void setTextClassifier(@Nullable android.view.textclassifier.TextClassifier);
14902    method public void setVerticalScrollbarOverlay(boolean);
14903    method public void setWebChromeClient(android.webkit.WebChromeClient);
14904    method public void setWebViewClient(android.webkit.WebViewClient);
14905    method public void setWebViewRenderProcessClient(@Nullable java.util.concurrent.Executor, @Nullable android.webkit.WebViewRenderProcessClient);
14906    method public boolean showFindDialog(String, boolean);
14907    method public void stopLoading();
14908    method public boolean zoomBy(float);
14909    method public boolean zoomIn();
14910    method public boolean zoomOut();
14911  }
14912
14913  public static interface WebViewProvider.ScrollDelegate {
14914    method public int computeHorizontalScrollOffset();
14915    method public int computeHorizontalScrollRange();
14916    method public void computeScroll();
14917    method public int computeVerticalScrollExtent();
14918    method public int computeVerticalScrollOffset();
14919    method public int computeVerticalScrollRange();
14920  }
14921
14922  public static interface WebViewProvider.ViewDelegate {
14923    method public default void autofill(android.util.SparseArray<android.view.autofill.AutofillValue>);
14924    method public default void dispatchCreateViewTranslationRequest(@NonNull java.util.Map<android.view.autofill.AutofillId,long[]>, @NonNull int[], @Nullable android.view.translation.TranslationCapability, @NonNull java.util.List<android.view.translation.ViewTranslationRequest>);
14925    method public boolean dispatchKeyEvent(android.view.KeyEvent);
14926    method public android.view.View findFocus(android.view.View);
14927    method public android.view.accessibility.AccessibilityNodeProvider getAccessibilityNodeProvider();
14928    method public android.os.Handler getHandler(android.os.Handler);
14929    method public default boolean isVisibleToUserForAutofill(int);
14930    method public void onActivityResult(int, int, android.content.Intent);
14931    method @Nullable public default android.view.WindowInsets onApplyWindowInsets(@Nullable android.view.WindowInsets);
14932    method public void onAttachedToWindow();
14933    method public default boolean onCheckIsTextEditor();
14934    method public void onConfigurationChanged(android.content.res.Configuration);
14935    method public android.view.inputmethod.InputConnection onCreateInputConnection(android.view.inputmethod.EditorInfo);
14936    method public default void onCreateVirtualViewTranslationRequests(@NonNull long[], @NonNull int[], @NonNull java.util.function.Consumer<android.view.translation.ViewTranslationRequest>);
14937    method public void onDetachedFromWindow();
14938    method public boolean onDragEvent(android.view.DragEvent);
14939    method public void onDraw(android.graphics.Canvas);
14940    method public void onDrawVerticalScrollBar(android.graphics.Canvas, android.graphics.drawable.Drawable, int, int, int, int);
14941    method public void onFinishTemporaryDetach();
14942    method public void onFocusChanged(boolean, int, android.graphics.Rect);
14943    method public boolean onGenericMotionEvent(android.view.MotionEvent);
14944    method public boolean onHoverEvent(android.view.MotionEvent);
14945    method public void onInitializeAccessibilityEvent(android.view.accessibility.AccessibilityEvent);
14946    method public void onInitializeAccessibilityNodeInfo(android.view.accessibility.AccessibilityNodeInfo);
14947    method public boolean onKeyDown(int, android.view.KeyEvent);
14948    method public boolean onKeyMultiple(int, int, android.view.KeyEvent);
14949    method public boolean onKeyUp(int, android.view.KeyEvent);
14950    method public void onMeasure(int, int);
14951    method public default void onMovedToDisplay(int, android.content.res.Configuration);
14952    method public void onOverScrolled(int, int, boolean, boolean);
14953    method public default void onProvideAutofillVirtualStructure(android.view.ViewStructure, int);
14954    method public default void onProvideContentCaptureStructure(@NonNull android.view.ViewStructure, int);
14955    method public void onProvideVirtualStructure(android.view.ViewStructure);
14956    method public void onScrollChanged(int, int, int, int);
14957    method public void onSizeChanged(int, int, int, int);
14958    method public void onStartTemporaryDetach();
14959    method public boolean onTouchEvent(android.view.MotionEvent);
14960    method public boolean onTrackballEvent(android.view.MotionEvent);
14961    method public default void onVirtualViewTranslationResponses(@NonNull android.util.LongSparseArray<android.view.translation.ViewTranslationResponse>);
14962    method public void onVisibilityChanged(android.view.View, int);
14963    method public void onWindowFocusChanged(boolean);
14964    method public void onWindowVisibilityChanged(int);
14965    method public boolean performAccessibilityAction(int, android.os.Bundle);
14966    method public boolean performLongClick();
14967    method public void preDispatchDraw(android.graphics.Canvas);
14968    method public boolean requestChildRectangleOnScreen(android.view.View, android.graphics.Rect, boolean);
14969    method public boolean requestFocus(int, android.graphics.Rect);
14970    method public void setBackgroundColor(int);
14971    method public boolean setFrame(int, int, int, int);
14972    method public void setLayerType(int, android.graphics.Paint);
14973    method public void setLayoutParams(android.view.ViewGroup.LayoutParams);
14974    method public void setOverScrollMode(int);
14975    method public void setScrollBarStyle(int);
14976    method public boolean shouldDelayChildPressedState();
14977  }
14978
14979  public final class WebViewProviderInfo implements android.os.Parcelable {
14980    ctor public WebViewProviderInfo(String, String, boolean, boolean, String[]);
14981    method public int describeContents();
14982    method public void writeToParcel(android.os.Parcel, int);
14983    field @NonNull public static final android.os.Parcelable.Creator<android.webkit.WebViewProviderInfo> CREATOR;
14984    field public final boolean availableByDefault;
14985    field public final String description;
14986    field public final boolean isFallback;
14987    field public final String packageName;
14988    field public final android.content.pm.Signature[] signatures;
14989  }
14990
14991  public final class WebViewUpdateService {
14992    method public static android.webkit.WebViewProviderInfo[] getAllWebViewPackages();
14993    method public static String getCurrentWebViewPackageName();
14994    method public static android.webkit.WebViewProviderInfo[] getValidWebViewPackages();
14995  }
14996
14997}
14998
14999