xref: /aosp_15_r20/prebuilts/sdk/36/system/api/android.txt (revision 344a7f5ef16c479e7a7f54ee6567a9d112f9e72b)
1// Signature format: 2.0
2package android {
3
4  public static final class Manifest.permission {
5    field public static final String ACCESS_AMBIENT_CONTEXT_EVENT = "android.permission.ACCESS_AMBIENT_CONTEXT_EVENT";
6    field public static final String ACCESS_AMBIENT_LIGHT_STATS = "android.permission.ACCESS_AMBIENT_LIGHT_STATS";
7    field public static final String ACCESS_BROADCAST_RADIO = "android.permission.ACCESS_BROADCAST_RADIO";
8    field public static final String ACCESS_BROADCAST_RESPONSE_STATS = "android.permission.ACCESS_BROADCAST_RESPONSE_STATS";
9    field public static final String ACCESS_CACHE_FILESYSTEM = "android.permission.ACCESS_CACHE_FILESYSTEM";
10    field public static final String ACCESS_CONTEXTUAL_SEARCH = "android.permission.ACCESS_CONTEXTUAL_SEARCH";
11    field public static final String ACCESS_CONTEXT_HUB = "android.permission.ACCESS_CONTEXT_HUB";
12    field public static final String ACCESS_DRM_CERTIFICATES = "android.permission.ACCESS_DRM_CERTIFICATES";
13    field @Deprecated public static final String ACCESS_FM_RADIO = "android.permission.ACCESS_FM_RADIO";
14    field public static final String ACCESS_FPS_COUNTER = "android.permission.ACCESS_FPS_COUNTER";
15    field public static final String ACCESS_HIDDEN_PROFILES_FULL = "android.permission.ACCESS_HIDDEN_PROFILES_FULL";
16    field public static final String ACCESS_INSTANT_APPS = "android.permission.ACCESS_INSTANT_APPS";
17    field public static final String ACCESS_LOCUS_ID_USAGE_STATS = "android.permission.ACCESS_LOCUS_ID_USAGE_STATS";
18    field public static final String ACCESS_MOCK_LOCATION = "android.permission.ACCESS_MOCK_LOCATION";
19    field public static final String ACCESS_MTP = "android.permission.ACCESS_MTP";
20    field public static final String ACCESS_NETWORK_CONDITIONS = "android.permission.ACCESS_NETWORK_CONDITIONS";
21    field public static final String ACCESS_NOTIFICATIONS = "android.permission.ACCESS_NOTIFICATIONS";
22    field public static final String ACCESS_PDB_STATE = "android.permission.ACCESS_PDB_STATE";
23    field public static final String ACCESS_RCS_USER_CAPABILITY_EXCHANGE = "android.permission.ACCESS_RCS_USER_CAPABILITY_EXCHANGE";
24    field public static final String ACCESS_SHARED_LIBRARIES = "android.permission.ACCESS_SHARED_LIBRARIES";
25    field public static final String ACCESS_SHORTCUTS = "android.permission.ACCESS_SHORTCUTS";
26    field public static final String ACCESS_SMARTSPACE = "android.permission.ACCESS_SMARTSPACE";
27    field public static final String ACCESS_SURFACE_FLINGER = "android.permission.ACCESS_SURFACE_FLINGER";
28    field public static final String ACCESS_TUNED_INFO = "android.permission.ACCESS_TUNED_INFO";
29    field public static final String ACCESS_TV_DESCRAMBLER = "android.permission.ACCESS_TV_DESCRAMBLER";
30    field public static final String ACCESS_TV_SHARED_FILTER = "android.permission.ACCESS_TV_SHARED_FILTER";
31    field public static final String ACCESS_TV_TUNER = "android.permission.ACCESS_TV_TUNER";
32    field public static final String ACCESS_ULTRASOUND = "android.permission.ACCESS_ULTRASOUND";
33    field public static final String ACCESS_VIBRATOR_STATE = "android.permission.ACCESS_VIBRATOR_STATE";
34    field public static final String ACTIVITY_EMBEDDING = "android.permission.ACTIVITY_EMBEDDING";
35    field public static final String ADD_ALWAYS_UNLOCKED_DISPLAY = "android.permission.ADD_ALWAYS_UNLOCKED_DISPLAY";
36    field public static final String ADD_TRUSTED_DISPLAY = "android.permission.ADD_TRUSTED_DISPLAY";
37    field public static final String ADJUST_RUNTIME_PERMISSIONS_POLICY = "android.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY";
38    field public static final String ALLOCATE_AGGRESSIVE = "android.permission.ALLOCATE_AGGRESSIVE";
39    field public static final String ALLOW_ANY_CODEC_FOR_PLAYBACK = "android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK";
40    field public static final String ALLOW_PLACE_IN_MULTI_PANE_SETTINGS = "android.permission.ALLOW_PLACE_IN_MULTI_PANE_SETTINGS";
41    field public static final String ALLOW_SLIPPERY_TOUCHES = "android.permission.ALLOW_SLIPPERY_TOUCHES";
42    field public static final String ALWAYS_UPDATE_WALLPAPER = "android.permission.ALWAYS_UPDATE_WALLPAPER";
43    field public static final String AMBIENT_WALLPAPER = "android.permission.AMBIENT_WALLPAPER";
44    field public static final String APPROVE_INCIDENT_REPORTS = "android.permission.APPROVE_INCIDENT_REPORTS";
45    field public static final String ASSOCIATE_COMPANION_DEVICES = "android.permission.ASSOCIATE_COMPANION_DEVICES";
46    field public static final String BACKGROUND_CAMERA = "android.permission.BACKGROUND_CAMERA";
47    field public static final String BACKUP = "android.permission.BACKUP";
48    field public static final String BATTERY_PREDICTION = "android.permission.BATTERY_PREDICTION";
49    field public static final String BIND_AMBIENT_CONTEXT_DETECTION_SERVICE = "android.permission.BIND_AMBIENT_CONTEXT_DETECTION_SERVICE";
50    field public static final String BIND_ATTENTION_SERVICE = "android.permission.BIND_ATTENTION_SERVICE";
51    field public static final String BIND_AUGMENTED_AUTOFILL_SERVICE = "android.permission.BIND_AUGMENTED_AUTOFILL_SERVICE";
52    field public static final String BIND_CALL_DIAGNOSTIC_SERVICE = "android.permission.BIND_CALL_DIAGNOSTIC_SERVICE";
53    field public static final String BIND_CALL_STREAMING_SERVICE = "android.permission.BIND_CALL_STREAMING_SERVICE";
54    field public static final String BIND_CELL_BROADCAST_SERVICE = "android.permission.BIND_CELL_BROADCAST_SERVICE";
55    field @Deprecated public static final String BIND_CONNECTION_SERVICE = "android.permission.BIND_CONNECTION_SERVICE";
56    field public static final String BIND_CONTENT_CAPTURE_SERVICE = "android.permission.BIND_CONTENT_CAPTURE_SERVICE";
57    field public static final String BIND_CONTENT_SUGGESTIONS_SERVICE = "android.permission.BIND_CONTENT_SUGGESTIONS_SERVICE";
58    field public static final String BIND_DIRECTORY_SEARCH = "android.permission.BIND_DIRECTORY_SEARCH";
59    field public static final String BIND_DISPLAY_HASHING_SERVICE = "android.permission.BIND_DISPLAY_HASHING_SERVICE";
60    field public static final String BIND_DOMAIN_SELECTION_SERVICE = "android.permission.BIND_DOMAIN_SELECTION_SERVICE";
61    field public static final String BIND_DOMAIN_VERIFICATION_AGENT = "android.permission.BIND_DOMAIN_VERIFICATION_AGENT";
62    field public static final String BIND_EUICC_SERVICE = "android.permission.BIND_EUICC_SERVICE";
63    field public static final String BIND_EXTERNAL_STORAGE_SERVICE = "android.permission.BIND_EXTERNAL_STORAGE_SERVICE";
64    field public static final String BIND_FIELD_CLASSIFICATION_SERVICE = "android.permission.BIND_FIELD_CLASSIFICATION_SERVICE";
65    field public static final String BIND_GBA_SERVICE = "android.permission.BIND_GBA_SERVICE";
66    field public static final String BIND_HOTWORD_DETECTION_SERVICE = "android.permission.BIND_HOTWORD_DETECTION_SERVICE";
67    field public static final String BIND_IMS_SERVICE = "android.permission.BIND_IMS_SERVICE";
68    field public static final String BIND_KEYGUARD_APPWIDGET = "android.permission.BIND_KEYGUARD_APPWIDGET";
69    field public static final String BIND_MUSIC_RECOGNITION_SERVICE = "android.permission.BIND_MUSIC_RECOGNITION_SERVICE";
70    field public static final String BIND_NETWORK_RECOMMENDATION_SERVICE = "android.permission.BIND_NETWORK_RECOMMENDATION_SERVICE";
71    field public static final String BIND_NOTIFICATION_ASSISTANT_SERVICE = "android.permission.BIND_NOTIFICATION_ASSISTANT_SERVICE";
72    field public static final String BIND_ON_DEVICE_INTELLIGENCE_SERVICE = "android.permission.BIND_ON_DEVICE_INTELLIGENCE_SERVICE";
73    field public static final String BIND_ON_DEVICE_SANDBOXED_INFERENCE_SERVICE = "android.permission.BIND_ON_DEVICE_SANDBOXED_INFERENCE_SERVICE";
74    field public static final String BIND_PHONE_ACCOUNT_SUGGESTION_SERVICE = "android.permission.BIND_PHONE_ACCOUNT_SUGGESTION_SERVICE";
75    field public static final String BIND_PRINT_RECOMMENDATION_SERVICE = "android.permission.BIND_PRINT_RECOMMENDATION_SERVICE";
76    field public static final String BIND_REMOTE_LOCKSCREEN_VALIDATION_SERVICE = "android.permission.BIND_REMOTE_LOCKSCREEN_VALIDATION_SERVICE";
77    field public static final String BIND_RESOLVER_RANKER_SERVICE = "android.permission.BIND_RESOLVER_RANKER_SERVICE";
78    field public static final String BIND_RESUME_ON_REBOOT_SERVICE = "android.permission.BIND_RESUME_ON_REBOOT_SERVICE";
79    field public static final String BIND_ROTATION_RESOLVER_SERVICE = "android.permission.BIND_ROTATION_RESOLVER_SERVICE";
80    field public static final String BIND_RUNTIME_PERMISSION_PRESENTER_SERVICE = "android.permission.BIND_RUNTIME_PERMISSION_PRESENTER_SERVICE";
81    field public static final String BIND_SATELLITE_SERVICE = "android.permission.BIND_SATELLITE_SERVICE";
82    field public static final String BIND_SETTINGS_SUGGESTIONS_SERVICE = "android.permission.BIND_SETTINGS_SUGGESTIONS_SERVICE";
83    field public static final String BIND_SOUND_TRIGGER_DETECTION_SERVICE = "android.permission.BIND_SOUND_TRIGGER_DETECTION_SERVICE";
84    field public static final String BIND_TELEPHONY_DATA_SERVICE = "android.permission.BIND_TELEPHONY_DATA_SERVICE";
85    field public static final String BIND_TELEPHONY_NETWORK_SERVICE = "android.permission.BIND_TELEPHONY_NETWORK_SERVICE";
86    field public static final String BIND_TEXTCLASSIFIER_SERVICE = "android.permission.BIND_TEXTCLASSIFIER_SERVICE";
87    field public static final String BIND_TIME_ZONE_PROVIDER_SERVICE = "android.permission.BIND_TIME_ZONE_PROVIDER_SERVICE";
88    field public static final String BIND_TRACE_REPORT_SERVICE = "android.permission.BIND_TRACE_REPORT_SERVICE";
89    field public static final String BIND_TRANSLATION_SERVICE = "android.permission.BIND_TRANSLATION_SERVICE";
90    field public static final String BIND_TRUST_AGENT = "android.permission.BIND_TRUST_AGENT";
91    field public static final String BIND_TV_REMOTE_SERVICE = "android.permission.BIND_TV_REMOTE_SERVICE";
92    field public static final String BIND_VISUAL_QUERY_DETECTION_SERVICE = "android.permission.BIND_VISUAL_QUERY_DETECTION_SERVICE";
93    field public static final String BIND_WALLPAPER_EFFECTS_GENERATION_SERVICE = "android.permission.BIND_WALLPAPER_EFFECTS_GENERATION_SERVICE";
94    field public static final String BIND_WEARABLE_SENSING_SERVICE = "android.permission.BIND_WEARABLE_SENSING_SERVICE";
95    field public static final String BLUETOOTH_MAP = "android.permission.BLUETOOTH_MAP";
96    field public static final String BRICK = "android.permission.BRICK";
97    field public static final String BRIGHTNESS_SLIDER_USAGE = "android.permission.BRIGHTNESS_SLIDER_USAGE";
98    field public static final String BROADCAST_CLOSE_SYSTEM_DIALOGS = "android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS";
99    field @Deprecated public static final String BROADCAST_NETWORK_PRIVILEGED = "android.permission.BROADCAST_NETWORK_PRIVILEGED";
100    field public static final String BYPASS_ROLE_QUALIFICATION = "android.permission.BYPASS_ROLE_QUALIFICATION";
101    field public static final String CALL_AUDIO_INTERCEPTION = "android.permission.CALL_AUDIO_INTERCEPTION";
102    field public static final String CAMERA_DISABLE_TRANSMIT_LED = "android.permission.CAMERA_DISABLE_TRANSMIT_LED";
103    field public static final String CAMERA_HEADLESS_SYSTEM_USER = "android.permission.CAMERA_HEADLESS_SYSTEM_USER";
104    field public static final String CAMERA_OPEN_CLOSE_LISTENER = "android.permission.CAMERA_OPEN_CLOSE_LISTENER";
105    field public static final String CAMERA_PRIVACY_ALLOWLIST = "android.permission.CAMERA_PRIVACY_ALLOWLIST";
106    field public static final String CAPTURE_AUDIO_HOTWORD = "android.permission.CAPTURE_AUDIO_HOTWORD";
107    field public static final String CAPTURE_CONSENTLESS_BUGREPORT_ON_USERDEBUG_BUILD = "android.permission.CAPTURE_CONSENTLESS_BUGREPORT_ON_USERDEBUG_BUILD";
108    field public static final String CAPTURE_MEDIA_OUTPUT = "android.permission.CAPTURE_MEDIA_OUTPUT";
109    field public static final String CAPTURE_TUNER_AUDIO_INPUT = "android.permission.CAPTURE_TUNER_AUDIO_INPUT";
110    field public static final String CAPTURE_TV_INPUT = "android.permission.CAPTURE_TV_INPUT";
111    field public static final String CAPTURE_VOICE_COMMUNICATION_OUTPUT = "android.permission.CAPTURE_VOICE_COMMUNICATION_OUTPUT";
112    field public static final String CHANGE_APP_IDLE_STATE = "android.permission.CHANGE_APP_IDLE_STATE";
113    field public static final String CHANGE_APP_LAUNCH_TIME_ESTIMATE = "android.permission.CHANGE_APP_LAUNCH_TIME_ESTIMATE";
114    field public static final String CHANGE_DEVICE_IDLE_TEMP_WHITELIST = "android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST";
115    field public static final String CHECK_REMOTE_LOCKSCREEN = "android.permission.CHECK_REMOTE_LOCKSCREEN";
116    field public static final String CLEAR_APP_USER_DATA = "android.permission.CLEAR_APP_USER_DATA";
117    field public static final String COMPANION_APPROVE_WIFI_CONNECTIONS = "android.permission.COMPANION_APPROVE_WIFI_CONNECTIONS";
118    field public static final String CONFIGURE_DISPLAY_BRIGHTNESS = "android.permission.CONFIGURE_DISPLAY_BRIGHTNESS";
119    field public static final String CONFIGURE_FACTORY_RESET_PROTECTION = "android.permission.CONFIGURE_FACTORY_RESET_PROTECTION";
120    field public static final String CONFIGURE_INTERACT_ACROSS_PROFILES = "android.permission.CONFIGURE_INTERACT_ACROSS_PROFILES";
121    field @Deprecated public static final String CONNECTIVITY_INTERNAL = "android.permission.CONNECTIVITY_INTERNAL";
122    field public static final String CONNECTIVITY_USE_RESTRICTED_NETWORKS = "android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS";
123    field public static final String CONTROL_DEVICE_LIGHTS = "android.permission.CONTROL_DEVICE_LIGHTS";
124    field public static final String CONTROL_DISPLAY_COLOR_TRANSFORMS = "android.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS";
125    field public static final String CONTROL_DISPLAY_SATURATION = "android.permission.CONTROL_DISPLAY_SATURATION";
126    field public static final String CONTROL_INCALL_EXPERIENCE = "android.permission.CONTROL_INCALL_EXPERIENCE";
127    field public static final String CONTROL_KEYGUARD_SECURE_NOTIFICATIONS = "android.permission.CONTROL_KEYGUARD_SECURE_NOTIFICATIONS";
128    field public static final String CONTROL_OEM_PAID_NETWORK_PREFERENCE = "android.permission.CONTROL_OEM_PAID_NETWORK_PREFERENCE";
129    field public static final String CONTROL_VPN = "android.permission.CONTROL_VPN";
130    field public static final String CREATE_USERS = "android.permission.CREATE_USERS";
131    field public static final String CREATE_VIRTUAL_DEVICE = "android.permission.CREATE_VIRTUAL_DEVICE";
132    field public static final String CRYPT_KEEPER = "android.permission.CRYPT_KEEPER";
133    field public static final String DEVICE_POWER = "android.permission.DEVICE_POWER";
134    field public static final String DISABLE_SYSTEM_SOUND_EFFECTS = "android.permission.DISABLE_SYSTEM_SOUND_EFFECTS";
135    field public static final String DISPATCH_PROVISIONING_MESSAGE = "android.permission.DISPATCH_PROVISIONING_MESSAGE";
136    field public static final String DOMAIN_VERIFICATION_AGENT = "android.permission.DOMAIN_VERIFICATION_AGENT";
137    field public static final String EMERGENCY_INSTALL_PACKAGES = "android.permission.EMERGENCY_INSTALL_PACKAGES";
138    field public static final String ENTER_CAR_MODE_PRIORITIZED = "android.permission.ENTER_CAR_MODE_PRIORITIZED";
139    field public static final String EXEMPT_FROM_AUDIO_RECORD_RESTRICTIONS = "android.permission.EXEMPT_FROM_AUDIO_RECORD_RESTRICTIONS";
140    field public static final String FORCE_BACK = "android.permission.FORCE_BACK";
141    field public static final String FORCE_STOP_PACKAGES = "android.permission.FORCE_STOP_PACKAGES";
142    field public static final String GET_APP_METADATA = "android.permission.GET_APP_METADATA";
143    field public static final String GET_APP_OPS_STATS = "android.permission.GET_APP_OPS_STATS";
144    field public static final String GET_BACKGROUND_INSTALLED_PACKAGES = "android.permission.GET_BACKGROUND_INSTALLED_PACKAGES";
145    field public static final String GET_BINDING_UID_IMPORTANCE = "android.permission.GET_BINDING_UID_IMPORTANCE";
146    field public static final String GET_HISTORICAL_APP_OPS_STATS = "android.permission.GET_HISTORICAL_APP_OPS_STATS";
147    field public static final String GET_PROCESS_STATE_AND_OOM_SCORE = "android.permission.GET_PROCESS_STATE_AND_OOM_SCORE";
148    field public static final String GET_RUNTIME_PERMISSIONS = "android.permission.GET_RUNTIME_PERMISSIONS";
149    field public static final String GET_TOP_ACTIVITY_INFO = "android.permission.GET_TOP_ACTIVITY_INFO";
150    field @Deprecated public static final String GRANT_PROFILE_OWNER_DEVICE_IDS_ACCESS = "android.permission.GRANT_PROFILE_OWNER_DEVICE_IDS_ACCESS";
151    field public static final String GRANT_RUNTIME_PERMISSIONS = "android.permission.GRANT_RUNTIME_PERMISSIONS";
152    field public static final String GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS = "android.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS";
153    field public static final String HANDLE_CAR_MODE_CHANGES = "android.permission.HANDLE_CAR_MODE_CHANGES";
154    field public static final String HARDWARE_TEST = "android.permission.HARDWARE_TEST";
155    field public static final String HDMI_CEC = "android.permission.HDMI_CEC";
156    field @Deprecated public static final String HIDE_NON_SYSTEM_OVERLAY_WINDOWS = "android.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS";
157    field public static final String INJECT_EVENTS = "android.permission.INJECT_EVENTS";
158    field public static final String INSTALL_DPC_PACKAGES = "android.permission.INSTALL_DPC_PACKAGES";
159    field public static final String INSTALL_DYNAMIC_SYSTEM = "android.permission.INSTALL_DYNAMIC_SYSTEM";
160    field public static final String INSTALL_EXISTING_PACKAGES = "com.android.permission.INSTALL_EXISTING_PACKAGES";
161    field public static final String INSTALL_GRANT_RUNTIME_PERMISSIONS = "android.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS";
162    field public static final String INSTALL_LOCATION_TIME_ZONE_PROVIDER_SERVICE = "android.permission.INSTALL_LOCATION_TIME_ZONE_PROVIDER_SERVICE";
163    field public static final String INSTALL_PACKAGE_UPDATES = "android.permission.INSTALL_PACKAGE_UPDATES";
164    field public static final String INSTALL_SELF_UPDATES = "android.permission.INSTALL_SELF_UPDATES";
165    field public static final String INTENT_FILTER_VERIFICATION_AGENT = "android.permission.INTENT_FILTER_VERIFICATION_AGENT";
166    field public static final String INTERACT_ACROSS_USERS = "android.permission.INTERACT_ACROSS_USERS";
167    field public static final String INTERACT_ACROSS_USERS_FULL = "android.permission.INTERACT_ACROSS_USERS_FULL";
168    field public static final String INTERNAL_SYSTEM_WINDOW = "android.permission.INTERNAL_SYSTEM_WINDOW";
169    field public static final String INVOKE_CARRIER_SETUP = "android.permission.INVOKE_CARRIER_SETUP";
170    field public static final String KEYPHRASE_ENROLLMENT_APPLICATION = "android.permission.KEYPHRASE_ENROLLMENT_APPLICATION";
171    field public static final String KILL_ALL_BACKGROUND_PROCESSES = "android.permission.KILL_ALL_BACKGROUND_PROCESSES";
172    field public static final String KILL_UID = "android.permission.KILL_UID";
173    field public static final String LAUNCH_DEVICE_MANAGER_SETUP = "android.permission.LAUNCH_DEVICE_MANAGER_SETUP";
174    field public static final String LAUNCH_PERMISSION_SETTINGS = "android.permission.LAUNCH_PERMISSION_SETTINGS";
175    field public static final String LOCAL_MAC_ADDRESS = "android.permission.LOCAL_MAC_ADDRESS";
176    field public static final String LOCATION_BYPASS = "android.permission.LOCATION_BYPASS";
177    field public static final String LOCK_DEVICE = "android.permission.LOCK_DEVICE";
178    field public static final String LOG_FOREGROUND_RESOURCE_USE = "android.permission.LOG_FOREGROUND_RESOURCE_USE";
179    field public static final String LOOP_RADIO = "android.permission.LOOP_RADIO";
180    field public static final String MANAGE_ACCESSIBILITY = "android.permission.MANAGE_ACCESSIBILITY";
181    field @Deprecated public static final String MANAGE_ACTIVITY_STACKS = "android.permission.MANAGE_ACTIVITY_STACKS";
182    field public static final String MANAGE_ACTIVITY_TASKS = "android.permission.MANAGE_ACTIVITY_TASKS";
183    field public static final String MANAGE_APP_HIBERNATION = "android.permission.MANAGE_APP_HIBERNATION";
184    field public static final String MANAGE_APP_OPS_RESTRICTIONS = "android.permission.MANAGE_APP_OPS_RESTRICTIONS";
185    field public static final String MANAGE_APP_PREDICTIONS = "android.permission.MANAGE_APP_PREDICTIONS";
186    field public static final String MANAGE_APP_TOKENS = "android.permission.MANAGE_APP_TOKENS";
187    field public static final String MANAGE_AUTO_FILL = "android.permission.MANAGE_AUTO_FILL";
188    field public static final String MANAGE_BLUETOOTH_WHEN_WIRELESS_CONSENT_REQUIRED = "android.permission.MANAGE_BLUETOOTH_WHEN_WIRELESS_CONSENT_REQUIRED";
189    field public static final String MANAGE_CARRIER_OEM_UNLOCK_STATE = "android.permission.MANAGE_CARRIER_OEM_UNLOCK_STATE";
190    field public static final String MANAGE_CA_CERTIFICATES = "android.permission.MANAGE_CA_CERTIFICATES";
191    field public static final String MANAGE_CLIPBOARD_ACCESS_NOTIFICATION = "android.permission.MANAGE_CLIPBOARD_ACCESS_NOTIFICATION";
192    field public static final String MANAGE_CLOUDSEARCH = "android.permission.MANAGE_CLOUDSEARCH";
193    field public static final String MANAGE_CONTENT_CAPTURE = "android.permission.MANAGE_CONTENT_CAPTURE";
194    field public static final String MANAGE_CONTENT_SUGGESTIONS = "android.permission.MANAGE_CONTENT_SUGGESTIONS";
195    field public static final String MANAGE_DEBUGGING = "android.permission.MANAGE_DEBUGGING";
196    field public static final String MANAGE_DEFAULT_APPLICATIONS = "android.permission.MANAGE_DEFAULT_APPLICATIONS";
197    field public static final String MANAGE_DEVICE_ADMINS = "android.permission.MANAGE_DEVICE_ADMINS";
198    field public static final String MANAGE_DEVICE_POLICY_APP_EXEMPTIONS = "android.permission.MANAGE_DEVICE_POLICY_APP_EXEMPTIONS";
199    field public static final String MANAGE_DEVICE_POLICY_AUDIT_LOGGING = "android.permission.MANAGE_DEVICE_POLICY_AUDIT_LOGGING";
200    field public static final String MANAGE_ENHANCED_CONFIRMATION_STATES = "android.permission.MANAGE_ENHANCED_CONFIRMATION_STATES";
201    field public static final String MANAGE_ETHERNET_NETWORKS = "android.permission.MANAGE_ETHERNET_NETWORKS";
202    field public static final String MANAGE_FACTORY_RESET_PROTECTION = "android.permission.MANAGE_FACTORY_RESET_PROTECTION";
203    field public static final String MANAGE_GAME_ACTIVITY = "android.permission.MANAGE_GAME_ACTIVITY";
204    field public static final String MANAGE_GAME_MODE = "android.permission.MANAGE_GAME_MODE";
205    field public static final String MANAGE_HOTWORD_DETECTION = "android.permission.MANAGE_HOTWORD_DETECTION";
206    field public static final String MANAGE_IPSEC_TUNNELS = "android.permission.MANAGE_IPSEC_TUNNELS";
207    field public static final String MANAGE_LOW_POWER_STANDBY = "android.permission.MANAGE_LOW_POWER_STANDBY";
208    field public static final String MANAGE_MUSIC_RECOGNITION = "android.permission.MANAGE_MUSIC_RECOGNITION";
209    field public static final String MANAGE_NOTIFICATION_LISTENERS = "android.permission.MANAGE_NOTIFICATION_LISTENERS";
210    field public static final String MANAGE_ONE_TIME_PERMISSION_SESSIONS = "android.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS";
211    field public static final String MANAGE_PROFILE_AND_DEVICE_OWNERS = "android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS";
212    field public static final String MANAGE_ROLE_HOLDERS = "android.permission.MANAGE_ROLE_HOLDERS";
213    field public static final String MANAGE_ROLLBACKS = "android.permission.MANAGE_ROLLBACKS";
214    field public static final String MANAGE_ROTATION_RESOLVER = "android.permission.MANAGE_ROTATION_RESOLVER";
215    field public static final String MANAGE_SAFETY_CENTER = "android.permission.MANAGE_SAFETY_CENTER";
216    field public static final String MANAGE_SEARCH_UI = "android.permission.MANAGE_SEARCH_UI";
217    field public static final String MANAGE_SENSOR_PRIVACY = "android.permission.MANAGE_SENSOR_PRIVACY";
218    field public static final String MANAGE_SMARTSPACE = "android.permission.MANAGE_SMARTSPACE";
219    field public static final String MANAGE_SOUND_TRIGGER = "android.permission.MANAGE_SOUND_TRIGGER";
220    field public static final String MANAGE_SPEECH_RECOGNITION = "android.permission.MANAGE_SPEECH_RECOGNITION";
221    field public static final String MANAGE_SUBSCRIPTION_PLANS = "android.permission.MANAGE_SUBSCRIPTION_PLANS";
222    field public static final String MANAGE_SUBSCRIPTION_USER_ASSOCIATION = "android.permission.MANAGE_SUBSCRIPTION_USER_ASSOCIATION";
223    field public static final String MANAGE_TEST_NETWORKS = "android.permission.MANAGE_TEST_NETWORKS";
224    field public static final String MANAGE_TIME_AND_ZONE_DETECTION = "android.permission.MANAGE_TIME_AND_ZONE_DETECTION";
225    field public static final String MANAGE_UI_TRANSLATION = "android.permission.MANAGE_UI_TRANSLATION";
226    field public static final String MANAGE_USB = "android.permission.MANAGE_USB";
227    field public static final String MANAGE_USERS = "android.permission.MANAGE_USERS";
228    field public static final String MANAGE_USER_OEM_UNLOCK_STATE = "android.permission.MANAGE_USER_OEM_UNLOCK_STATE";
229    field public static final String MANAGE_VOICE_KEYPHRASES = "android.permission.MANAGE_VOICE_KEYPHRASES";
230    field public static final String MANAGE_WALLPAPER_EFFECTS_GENERATION = "android.permission.MANAGE_WALLPAPER_EFFECTS_GENERATION";
231    field public static final String MANAGE_WEAK_ESCROW_TOKEN = "android.permission.MANAGE_WEAK_ESCROW_TOKEN";
232    field public static final String MANAGE_WEARABLE_SENSING_SERVICE = "android.permission.MANAGE_WEARABLE_SENSING_SERVICE";
233    field public static final String MANAGE_WIFI_COUNTRY_CODE = "android.permission.MANAGE_WIFI_COUNTRY_CODE";
234    field public static final String MARK_DEVICE_ORGANIZATION_OWNED = "android.permission.MARK_DEVICE_ORGANIZATION_OWNED";
235    field public static final String MEDIA_RESOURCE_OVERRIDE_PID = "android.permission.MEDIA_RESOURCE_OVERRIDE_PID";
236    field public static final String MIGRATE_HEALTH_CONNECT_DATA = "android.permission.MIGRATE_HEALTH_CONNECT_DATA";
237    field public static final String MODIFY_APPWIDGET_BIND_PERMISSIONS = "android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS";
238    field public static final String MODIFY_AUDIO_ROUTING = "android.permission.MODIFY_AUDIO_ROUTING";
239    field public static final String MODIFY_AUDIO_SETTINGS_PRIVILEGED = "android.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED";
240    field public static final String MODIFY_CELL_BROADCASTS = "android.permission.MODIFY_CELL_BROADCASTS";
241    field public static final String MODIFY_DAY_NIGHT_MODE = "android.permission.MODIFY_DAY_NIGHT_MODE";
242    field @Deprecated public static final String MODIFY_NETWORK_ACCOUNTING = "android.permission.MODIFY_NETWORK_ACCOUNTING";
243    field public static final String MODIFY_PARENTAL_CONTROLS = "android.permission.MODIFY_PARENTAL_CONTROLS";
244    field public static final String MODIFY_QUIET_MODE = "android.permission.MODIFY_QUIET_MODE";
245    field public static final String MODIFY_SETTINGS_OVERRIDEABLE_BY_RESTORE = "android.permission.MODIFY_SETTINGS_OVERRIDEABLE_BY_RESTORE";
246    field public static final String MONITOR_DEVICE_CONFIG_ACCESS = "android.permission.MONITOR_DEVICE_CONFIG_ACCESS";
247    field public static final String MOVE_PACKAGE = "android.permission.MOVE_PACKAGE";
248    field public static final String NETWORK_AIRPLANE_MODE = "android.permission.NETWORK_AIRPLANE_MODE";
249    field public static final String NETWORK_CARRIER_PROVISIONING = "android.permission.NETWORK_CARRIER_PROVISIONING";
250    field public static final String NETWORK_FACTORY = "android.permission.NETWORK_FACTORY";
251    field public static final String NETWORK_MANAGED_PROVISIONING = "android.permission.NETWORK_MANAGED_PROVISIONING";
252    field public static final String NETWORK_SCAN = "android.permission.NETWORK_SCAN";
253    field public static final String NETWORK_SETTINGS = "android.permission.NETWORK_SETTINGS";
254    field public static final String NETWORK_SETUP_WIZARD = "android.permission.NETWORK_SETUP_WIZARD";
255    field public static final String NETWORK_SIGNAL_STRENGTH_WAKEUP = "android.permission.NETWORK_SIGNAL_STRENGTH_WAKEUP";
256    field public static final String NETWORK_STACK = "android.permission.NETWORK_STACK";
257    field public static final String NETWORK_STATS_PROVIDER = "android.permission.NETWORK_STATS_PROVIDER";
258    field public static final String NFC_SET_CONTROLLER_ALWAYS_ON = "android.permission.NFC_SET_CONTROLLER_ALWAYS_ON";
259    field public static final String NOTIFICATION_DURING_SETUP = "android.permission.NOTIFICATION_DURING_SETUP";
260    field public static final String NOTIFY_TV_INPUTS = "android.permission.NOTIFY_TV_INPUTS";
261    field public static final String OBSERVE_APP_USAGE = "android.permission.OBSERVE_APP_USAGE";
262    field public static final String OBSERVE_NETWORK_POLICY = "android.permission.OBSERVE_NETWORK_POLICY";
263    field public static final String OBSERVE_ROLE_HOLDERS = "android.permission.OBSERVE_ROLE_HOLDERS";
264    field public static final String OBSERVE_SENSOR_PRIVACY = "android.permission.OBSERVE_SENSOR_PRIVACY";
265    field public static final String OPEN_ACCESSIBILITY_DETAILS_SETTINGS = "android.permission.OPEN_ACCESSIBILITY_DETAILS_SETTINGS";
266    field public static final String OVERRIDE_COMPAT_CHANGE_CONFIG_ON_RELEASE_BUILD = "android.permission.OVERRIDE_COMPAT_CHANGE_CONFIG_ON_RELEASE_BUILD";
267    field public static final String OVERRIDE_SYSTEM_KEY_BEHAVIOR_IN_FOCUSED_WINDOW = "android.permission.OVERRIDE_SYSTEM_KEY_BEHAVIOR_IN_FOCUSED_WINDOW";
268    field public static final String PACKAGE_VERIFICATION_AGENT = "android.permission.PACKAGE_VERIFICATION_AGENT";
269    field public static final String PACKET_KEEPALIVE_OFFLOAD = "android.permission.PACKET_KEEPALIVE_OFFLOAD";
270    field public static final String PEERS_MAC_ADDRESS = "android.permission.PEERS_MAC_ADDRESS";
271    field public static final String PERFORM_CDMA_PROVISIONING = "android.permission.PERFORM_CDMA_PROVISIONING";
272    field public static final String PERFORM_IMS_SINGLE_REGISTRATION = "android.permission.PERFORM_IMS_SINGLE_REGISTRATION";
273    field public static final String PERFORM_SIM_ACTIVATION = "android.permission.PERFORM_SIM_ACTIVATION";
274    field public static final String POWER_SAVER = "android.permission.POWER_SAVER";
275    field public static final String PREPARE_FACTORY_RESET = "android.permission.PREPARE_FACTORY_RESET";
276    field public static final String PROVIDE_DEFAULT_ENABLED_CREDENTIAL_SERVICE = "android.permission.PROVIDE_DEFAULT_ENABLED_CREDENTIAL_SERVICE";
277    field public static final String PROVIDE_RESOLVER_RANKER_SERVICE = "android.permission.PROVIDE_RESOLVER_RANKER_SERVICE";
278    field public static final String PROVIDE_TRUST_AGENT = "android.permission.PROVIDE_TRUST_AGENT";
279    field public static final String PROVISION_DEMO_DEVICE = "android.permission.PROVISION_DEMO_DEVICE";
280    field public static final String QUERY_ADMIN_POLICY = "android.permission.QUERY_ADMIN_POLICY";
281    field public static final String QUERY_CLONED_APPS = "android.permission.QUERY_CLONED_APPS";
282    field @Deprecated public static final String QUERY_TIME_ZONE_RULES = "android.permission.QUERY_TIME_ZONE_RULES";
283    field public static final String QUERY_USERS = "android.permission.QUERY_USERS";
284    field public static final String RADIO_SCAN_WITHOUT_LOCATION = "android.permission.RADIO_SCAN_WITHOUT_LOCATION";
285    field public static final String READ_ACTIVE_EMERGENCY_SESSION = "android.permission.READ_ACTIVE_EMERGENCY_SESSION";
286    field public static final String READ_APP_SPECIFIC_LOCALES = "android.permission.READ_APP_SPECIFIC_LOCALES";
287    field public static final String READ_CARRIER_APP_INFO = "android.permission.READ_CARRIER_APP_INFO";
288    field public static final String READ_CELL_BROADCASTS = "android.permission.READ_CELL_BROADCASTS";
289    field public static final String READ_CLIPBOARD_IN_BACKGROUND = "android.permission.READ_CLIPBOARD_IN_BACKGROUND";
290    field public static final String READ_CONTENT_RATING_SYSTEMS = "android.permission.READ_CONTENT_RATING_SYSTEMS";
291    field public static final String READ_DEVICE_CONFIG = "android.permission.READ_DEVICE_CONFIG";
292    field public static final String READ_DREAM_STATE = "android.permission.READ_DREAM_STATE";
293    field public static final String READ_GLOBAL_APP_SEARCH_DATA = "android.permission.READ_GLOBAL_APP_SEARCH_DATA";
294    field public static final String READ_INSTALLED_SESSION_PATHS = "android.permission.READ_INSTALLED_SESSION_PATHS";
295    field public static final String READ_INSTALL_SESSIONS = "android.permission.READ_INSTALL_SESSIONS";
296    field public static final String READ_NETWORK_USAGE_HISTORY = "android.permission.READ_NETWORK_USAGE_HISTORY";
297    field public static final String READ_OEM_UNLOCK_STATE = "android.permission.READ_OEM_UNLOCK_STATE";
298    field public static final String READ_PEOPLE_DATA = "android.permission.READ_PEOPLE_DATA";
299    field public static final String READ_PRINT_SERVICES = "android.permission.READ_PRINT_SERVICES";
300    field public static final String READ_PRINT_SERVICE_RECOMMENDATIONS = "android.permission.READ_PRINT_SERVICE_RECOMMENDATIONS";
301    field public static final String READ_PRIVILEGED_PHONE_STATE = "android.permission.READ_PRIVILEGED_PHONE_STATE";
302    field public static final String READ_PROJECTION_STATE = "android.permission.READ_PROJECTION_STATE";
303    field public static final String READ_RESTRICTED_STATS = "android.permission.READ_RESTRICTED_STATS";
304    field public static final String READ_RUNTIME_PROFILES = "android.permission.READ_RUNTIME_PROFILES";
305    field public static final String READ_SAFETY_CENTER_STATUS = "android.permission.READ_SAFETY_CENTER_STATUS";
306    field public static final String READ_SEARCH_INDEXABLES = "android.permission.READ_SEARCH_INDEXABLES";
307    field public static final String READ_SYSTEM_GRAMMATICAL_GENDER = "android.permission.READ_SYSTEM_GRAMMATICAL_GENDER";
308    field public static final String READ_SYSTEM_UPDATE_INFO = "android.permission.READ_SYSTEM_UPDATE_INFO";
309    field public static final String READ_WALLPAPER_INTERNAL = "android.permission.READ_WALLPAPER_INTERNAL";
310    field public static final String READ_WIFI_CREDENTIAL = "android.permission.READ_WIFI_CREDENTIAL";
311    field public static final String READ_WRITE_SYNC_DISABLED_MODE_CONFIG = "android.permission.READ_WRITE_SYNC_DISABLED_MODE_CONFIG";
312    field public static final String REAL_GET_TASKS = "android.permission.REAL_GET_TASKS";
313    field public static final String RECEIVE_BLUETOOTH_MAP = "android.permission.RECEIVE_BLUETOOTH_MAP";
314    field public static final String RECEIVE_DATA_ACTIVITY_CHANGE = "android.permission.RECEIVE_DATA_ACTIVITY_CHANGE";
315    field public static final String RECEIVE_DEVICE_CUSTOMIZATION_READY = "android.permission.RECEIVE_DEVICE_CUSTOMIZATION_READY";
316    field public static final String RECEIVE_EMERGENCY_BROADCAST = "android.permission.RECEIVE_EMERGENCY_BROADCAST";
317    field public static final String RECEIVE_SENSITIVE_NOTIFICATIONS = "android.permission.RECEIVE_SENSITIVE_NOTIFICATIONS";
318    field public static final String RECEIVE_WIFI_CREDENTIAL_CHANGE = "android.permission.RECEIVE_WIFI_CREDENTIAL_CHANGE";
319    field public static final String RECORD_BACKGROUND_AUDIO = "android.permission.RECORD_BACKGROUND_AUDIO";
320    field public static final String RECOVERY = "android.permission.RECOVERY";
321    field public static final String RECOVER_KEYSTORE = "android.permission.RECOVER_KEYSTORE";
322    field public static final String REGISTER_CALL_PROVIDER = "android.permission.REGISTER_CALL_PROVIDER";
323    field public static final String REGISTER_CONNECTION_MANAGER = "android.permission.REGISTER_CONNECTION_MANAGER";
324    field public static final String REGISTER_SIM_SUBSCRIPTION = "android.permission.REGISTER_SIM_SUBSCRIPTION";
325    field public static final String REGISTER_STATS_PULL_ATOM = "android.permission.REGISTER_STATS_PULL_ATOM";
326    field public static final String REMOTE_DISPLAY_PROVIDER = "android.permission.REMOTE_DISPLAY_PROVIDER";
327    field public static final String REMOVE_DRM_CERTIFICATES = "android.permission.REMOVE_DRM_CERTIFICATES";
328    field public static final String REMOVE_TASKS = "android.permission.REMOVE_TASKS";
329    field public static final String RENOUNCE_PERMISSIONS = "android.permission.RENOUNCE_PERMISSIONS";
330    field public static final String REPORT_USAGE_STATS = "android.permission.REPORT_USAGE_STATS";
331    field @Deprecated public static final String REQUEST_NETWORK_SCORES = "android.permission.REQUEST_NETWORK_SCORES";
332    field public static final String REQUEST_NOTIFICATION_ASSISTANT_SERVICE = "android.permission.REQUEST_NOTIFICATION_ASSISTANT_SERVICE";
333    field public static final String RESET_PASSWORD = "android.permission.RESET_PASSWORD";
334    field public static final String RESTART_WIFI_SUBSYSTEM = "android.permission.RESTART_WIFI_SUBSYSTEM";
335    field public static final String RESTORE_RUNTIME_PERMISSIONS = "android.permission.RESTORE_RUNTIME_PERMISSIONS";
336    field public static final String RESTRICTED_VR_ACCESS = "android.permission.RESTRICTED_VR_ACCESS";
337    field public static final String RETRIEVE_WINDOW_CONTENT = "android.permission.RETRIEVE_WINDOW_CONTENT";
338    field public static final String REVIEW_ACCESSIBILITY_SERVICES = "android.permission.REVIEW_ACCESSIBILITY_SERVICES";
339    field public static final String REVOKE_RUNTIME_PERMISSIONS = "android.permission.REVOKE_RUNTIME_PERMISSIONS";
340    field public static final String ROTATE_SURFACE_FLINGER = "android.permission.ROTATE_SURFACE_FLINGER";
341    field public static final String SATELLITE_COMMUNICATION = "android.permission.SATELLITE_COMMUNICATION";
342    field public static final String SCHEDULE_PRIORITIZED_ALARM = "android.permission.SCHEDULE_PRIORITIZED_ALARM";
343    field @Deprecated public static final String SCORE_NETWORKS = "android.permission.SCORE_NETWORKS";
344    field public static final String SECURE_ELEMENT_PRIVILEGED_OPERATION = "android.permission.SECURE_ELEMENT_PRIVILEGED_OPERATION";
345    field public static final String SEND_CATEGORY_CAR_NOTIFICATIONS = "android.permission.SEND_CATEGORY_CAR_NOTIFICATIONS";
346    field public static final String SEND_DEVICE_CUSTOMIZATION_READY = "android.permission.SEND_DEVICE_CUSTOMIZATION_READY";
347    field public static final String SEND_SAFETY_CENTER_UPDATE = "android.permission.SEND_SAFETY_CENTER_UPDATE";
348    field public static final String SEND_SHOW_SUSPENDED_APP_DETAILS = "android.permission.SEND_SHOW_SUSPENDED_APP_DETAILS";
349    field public static final String SEND_SMS_NO_CONFIRMATION = "android.permission.SEND_SMS_NO_CONFIRMATION";
350    field public static final String SERIAL_PORT = "android.permission.SERIAL_PORT";
351    field public static final String SETUP_FSVERITY = "android.permission.SETUP_FSVERITY";
352    field public static final String SET_ACTIVITY_WATCHER = "android.permission.SET_ACTIVITY_WATCHER";
353    field public static final String SET_CLIP_SOURCE = "android.permission.SET_CLIP_SOURCE";
354    field public static final String SET_DEFAULT_ACCOUNT_FOR_CONTACTS = "android.permission.SET_DEFAULT_ACCOUNT_FOR_CONTACTS";
355    field public static final String SET_HARMFUL_APP_WARNINGS = "android.permission.SET_HARMFUL_APP_WARNINGS";
356    field public static final String SET_LOW_POWER_STANDBY_PORTS = "android.permission.SET_LOW_POWER_STANDBY_PORTS";
357    field public static final String SET_MEDIA_KEY_LISTENER = "android.permission.SET_MEDIA_KEY_LISTENER";
358    field public static final String SET_ORIENTATION = "android.permission.SET_ORIENTATION";
359    field public static final String SET_POINTER_SPEED = "android.permission.SET_POINTER_SPEED";
360    field public static final String SET_SCREEN_COMPATIBILITY = "android.permission.SET_SCREEN_COMPATIBILITY";
361    field public static final String SET_SYSTEM_AUDIO_CAPTION = "android.permission.SET_SYSTEM_AUDIO_CAPTION";
362    field public static final String SET_UNRESTRICTED_KEEP_CLEAR_AREAS = "android.permission.SET_UNRESTRICTED_KEEP_CLEAR_AREAS";
363    field public static final String SET_VOLUME_KEY_LONG_PRESS_LISTENER = "android.permission.SET_VOLUME_KEY_LONG_PRESS_LISTENER";
364    field public static final String SET_WALLPAPER_COMPONENT = "android.permission.SET_WALLPAPER_COMPONENT";
365    field public static final String SET_WALLPAPER_DIM_AMOUNT = "android.permission.SET_WALLPAPER_DIM_AMOUNT";
366    field public static final String SHOW_CUSTOMIZED_RESOLVER = "android.permission.SHOW_CUSTOMIZED_RESOLVER";
367    field public static final String SHOW_KEYGUARD_MESSAGE = "android.permission.SHOW_KEYGUARD_MESSAGE";
368    field public static final String SHUTDOWN = "android.permission.SHUTDOWN";
369    field public static final String SIGNAL_REBOOT_READINESS = "android.permission.SIGNAL_REBOOT_READINESS";
370    field public static final String SOUND_TRIGGER_RUN_IN_BATTERY_SAVER = "android.permission.SOUND_TRIGGER_RUN_IN_BATTERY_SAVER";
371    field public static final String STAGE_HEALTH_CONNECT_REMOTE_DATA = "android.permission.STAGE_HEALTH_CONNECT_REMOTE_DATA";
372    field public static final String START_ACTIVITIES_FROM_BACKGROUND = "android.permission.START_ACTIVITIES_FROM_BACKGROUND";
373    field public static final String START_CROSS_PROFILE_ACTIVITIES = "android.permission.START_CROSS_PROFILE_ACTIVITIES";
374    field public static final String START_REVIEW_PERMISSION_DECISIONS = "android.permission.START_REVIEW_PERMISSION_DECISIONS";
375    field public static final String START_TASKS_FROM_RECENTS = "android.permission.START_TASKS_FROM_RECENTS";
376    field public static final String STATUS_BAR_SERVICE = "android.permission.STATUS_BAR_SERVICE";
377    field public static final String STOP_APP_SWITCHES = "android.permission.STOP_APP_SWITCHES";
378    field public static final String SUBSTITUTE_NOTIFICATION_APP_NAME = "android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME";
379    field public static final String SUBSTITUTE_SHARE_TARGET_APP_NAME_AND_ICON = "android.permission.SUBSTITUTE_SHARE_TARGET_APP_NAME_AND_ICON";
380    field public static final String SUGGEST_EXTERNAL_TIME = "android.permission.SUGGEST_EXTERNAL_TIME";
381    field public static final String SUSPEND_APPS = "android.permission.SUSPEND_APPS";
382    field public static final String SYSTEM_APPLICATION_OVERLAY = "android.permission.SYSTEM_APPLICATION_OVERLAY";
383    field public static final String SYSTEM_CAMERA = "android.permission.SYSTEM_CAMERA";
384    field public static final String TETHER_PRIVILEGED = "android.permission.TETHER_PRIVILEGED";
385    field public static final String TIS_EXTENSION_INTERFACE = "android.permission.TIS_EXTENSION_INTERFACE";
386    field public static final String TOGGLE_AUTOMOTIVE_PROJECTION = "android.permission.TOGGLE_AUTOMOTIVE_PROJECTION";
387    field public static final String TRIGGER_LOST_MODE = "android.permission.TRIGGER_LOST_MODE";
388    field public static final String TV_INPUT_HARDWARE = "android.permission.TV_INPUT_HARDWARE";
389    field public static final String TV_VIRTUAL_REMOTE_CONTROLLER = "android.permission.TV_VIRTUAL_REMOTE_CONTROLLER";
390    field public static final String UNLIMITED_SHORTCUTS_API_CALLS = "android.permission.UNLIMITED_SHORTCUTS_API_CALLS";
391    field public static final String UPDATE_APP_OPS_STATS = "android.permission.UPDATE_APP_OPS_STATS";
392    field public static final String UPDATE_DEVICE_MANAGEMENT_RESOURCES = "android.permission.UPDATE_DEVICE_MANAGEMENT_RESOURCES";
393    field public static final String UPDATE_DOMAIN_VERIFICATION_USER_SELECTION = "android.permission.UPDATE_DOMAIN_VERIFICATION_USER_SELECTION";
394    field public static final String UPDATE_FONTS = "android.permission.UPDATE_FONTS";
395    field public static final String UPDATE_LOCK = "android.permission.UPDATE_LOCK";
396    field @Deprecated public static final String UPDATE_TIME_ZONE_RULES = "android.permission.UPDATE_TIME_ZONE_RULES";
397    field public static final String UPGRADE_RUNTIME_PERMISSIONS = "android.permission.UPGRADE_RUNTIME_PERMISSIONS";
398    field public static final String USER_ACTIVITY = "android.permission.USER_ACTIVITY";
399    field public static final String USE_COLORIZED_NOTIFICATIONS = "android.permission.USE_COLORIZED_NOTIFICATIONS";
400    field public static final String USE_ON_DEVICE_INTELLIGENCE = "android.permission.USE_ON_DEVICE_INTELLIGENCE";
401    field public static final String USE_RESERVED_DISK = "android.permission.USE_RESERVED_DISK";
402    field public static final String UWB_PRIVILEGED = "android.permission.UWB_PRIVILEGED";
403    field public static final String WHITELIST_AUTO_REVOKE_PERMISSIONS = "android.permission.WHITELIST_AUTO_REVOKE_PERMISSIONS";
404    field public static final String WHITELIST_RESTRICTED_PERMISSIONS = "android.permission.WHITELIST_RESTRICTED_PERMISSIONS";
405    field public static final String WIFI_ACCESS_COEX_UNSAFE_CHANNELS = "android.permission.WIFI_ACCESS_COEX_UNSAFE_CHANNELS";
406    field public static final String WIFI_SET_DEVICE_MOBILITY_STATE = "android.permission.WIFI_SET_DEVICE_MOBILITY_STATE";
407    field public static final String WIFI_UPDATE_COEX_UNSAFE_CHANNELS = "android.permission.WIFI_UPDATE_COEX_UNSAFE_CHANNELS";
408    field public static final String WIFI_UPDATE_USABILITY_STATS_SCORE = "android.permission.WIFI_UPDATE_USABILITY_STATS_SCORE";
409    field public static final String WRITE_ALLOWLISTED_DEVICE_CONFIG = "android.permission.WRITE_ALLOWLISTED_DEVICE_CONFIG";
410    field public static final String WRITE_DEVICE_CONFIG = "android.permission.WRITE_DEVICE_CONFIG";
411    field public static final String WRITE_DREAM_STATE = "android.permission.WRITE_DREAM_STATE";
412    field public static final String WRITE_EMBEDDED_SUBSCRIPTIONS = "android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS";
413    field @Deprecated public static final String WRITE_MEDIA_STORAGE = "android.permission.WRITE_MEDIA_STORAGE";
414    field public static final String WRITE_OBB = "android.permission.WRITE_OBB";
415    field public static final String WRITE_SECURITY_LOG = "android.permission.WRITE_SECURITY_LOG";
416    field public static final String WRITE_SMS = "android.permission.WRITE_SMS";
417    field public static final String WRITE_VERIFICATION_STATE_E2EE_CONTACT_KEYS = "android.permission.WRITE_VERIFICATION_STATE_E2EE_CONTACT_KEYS";
418  }
419
420  public static final class Manifest.permission_group {
421    field public static final String UNDEFINED = "android.permission-group.UNDEFINED";
422  }
423
424  public static final class R.array {
425    field public static final int config_keySystemUuidMapping = 17235973; // 0x1070005
426    field public static final int config_optionalIpSecAlgorithms = 17235974; // 0x1070006
427  }
428
429  public static final class R.attr {
430    field public static final int allowClearUserDataOnFailedRestore = 16844288; // 0x1010600
431    field public static final int featureFlag = 16844428; // 0x101068c
432    field public static final int gameSessionService = 16844373; // 0x1010655
433    field public static final int hotwordDetectionService = 16844326; // 0x1010626
434    field public static final int isVirtualDeviceOnly = 16844425; // 0x1010689
435    field public static final int isVrOnly = 16844152; // 0x1010578
436    field public static final int minExtensionVersion = 16844305; // 0x1010611
437    field public static final int playHomeTransitionSound = 16844358; // 0x1010646
438    field public static final int requiredSystemPropertyName = 16844133; // 0x1010565
439    field public static final int requiredSystemPropertyValue = 16844134; // 0x1010566
440    field public static final int sdkVersion = 16844304; // 0x1010610
441    field public static final int supportsAmbientMode = 16844173; // 0x101058d
442    field public static final int userRestriction = 16844164; // 0x1010584
443    field public static final int visualQueryDetectionService = 16844410; // 0x101067a
444  }
445
446  public static final class R.bool {
447    field public static final int config_enableDefaultNotes = 17891338; // 0x111000a
448    field public static final int config_enableDefaultNotesForWorkProfile = 17891339; // 0x111000b
449    field public static final int config_enableQrCodeScannerOnLockScreen = 17891336; // 0x1110008
450    field public static final int config_safetyProtectionEnabled = 17891337; // 0x1110009
451    field public static final int config_sendPackageName = 17891328; // 0x1110000
452    field public static final int config_showDefaultAssistant = 17891329; // 0x1110001
453    field public static final int config_showDefaultEmergency = 17891330; // 0x1110002
454    field public static final int config_showDefaultHome = 17891331; // 0x1110003
455  }
456
457  public static final class R.color {
458    field public static final int system_notification_accent_color = 17170460; // 0x106001c
459  }
460
461  public static final class R.dimen {
462    field public static final int config_restrictedIconSize = 17104903; // 0x1050007
463    field public static final int config_viewConfigurationHandwritingGestureLineMargin = 17104906; // 0x105000a
464  }
465
466  public static final class R.drawable {
467    field public static final int ic_info = 17301684; // 0x10800b4
468    field public static final int ic_safety_protection = 17301685; // 0x10800b5
469  }
470
471  public static final class R.raw {
472    field public static final int loaderror = 17825792; // 0x1100000
473    field public static final int nodomain = 17825793; // 0x1100001
474  }
475
476  public static final class R.string {
477    field public static final int config_customMediaKeyDispatcher = 17039404; // 0x104002c
478    field public static final int config_customMediaSessionPolicyProvider = 17039405; // 0x104002d
479    field public static final int config_defaultAssistant = 17039393; // 0x1040021
480    field public static final int config_defaultAutomotiveNavigation = 17039424; // 0x1040040
481    field public static final int config_defaultBrowser = 17039394; // 0x1040022
482    field public static final int config_defaultCallRedirection = 17039397; // 0x1040025
483    field public static final int config_defaultCallScreening = 17039398; // 0x1040026
484    field public static final int config_defaultDialer = 17039395; // 0x1040023
485    field public static final int config_defaultNotes = 17039429; // 0x1040045
486    field public static final int config_defaultRetailDemo = 17039432; // 0x1040048
487    field public static final int config_defaultSms = 17039396; // 0x1040024
488    field public static final int config_defaultWallet = 17039433; // 0x1040049
489    field public static final int config_devicePolicyManagement = 17039421; // 0x104003d
490    field public static final int config_feedbackIntentExtraKey = 17039391; // 0x104001f
491    field public static final int config_feedbackIntentNameKey = 17039392; // 0x1040020
492    field public static final int config_helpIntentExtraKey = 17039389; // 0x104001d
493    field public static final int config_helpIntentNameKey = 17039390; // 0x104001e
494    field public static final int config_helpPackageNameKey = 17039387; // 0x104001b
495    field public static final int config_helpPackageNameValue = 17039388; // 0x104001c
496    field public static final int config_systemActivityRecognizer = 17039416; // 0x1040038
497    field public static final int config_systemAmbientAudioIntelligence = 17039411; // 0x1040033
498    field public static final int config_systemAppProtectionService = 17039422; // 0x104003e
499    field public static final int config_systemAudioIntelligence = 17039412; // 0x1040034
500    field public static final int config_systemAutomotiveCalendarSyncManager = 17039423; // 0x104003f
501    field public static final int config_systemAutomotiveCluster = 17039400; // 0x1040028
502    field public static final int config_systemAutomotiveProjection = 17039401; // 0x1040029
503    field public static final int config_systemCallStreaming = 17039431; // 0x1040047
504    field public static final int config_systemCompanionDeviceProvider = 17039417; // 0x1040039
505    field public static final int config_systemContacts = 17039403; // 0x104002b
506    field public static final int config_systemFinancedDeviceController = 17039430; // 0x1040046
507    field public static final int config_systemGallery = 17039399; // 0x1040027
508    field public static final int config_systemNotificationIntelligence = 17039413; // 0x1040035
509    field public static final int config_systemSettingsIntelligence = 17039426; // 0x1040042
510    field public static final int config_systemShell = 17039402; // 0x104002a
511    field public static final int config_systemSpeechRecognizer = 17039406; // 0x104002e
512    field public static final int config_systemSupervision = 17039420; // 0x104003c
513    field public static final int config_systemTelevisionNotificationHandler = 17039409; // 0x1040031
514    field public static final int config_systemTextIntelligence = 17039414; // 0x1040036
515    field public static final int config_systemUi = 17039418; // 0x104003a
516    field public static final int config_systemUiIntelligence = 17039410; // 0x1040032
517    field public static final int config_systemVisualIntelligence = 17039415; // 0x1040037
518    field public static final int config_systemWearHealthService = 17039428; // 0x1040044
519    field public static final int config_systemWellbeing = 17039408; // 0x1040030
520    field public static final int config_systemWifiCoexManager = 17039407; // 0x104002f
521    field public static final int safety_protection_display_text = 17039425; // 0x1040041
522  }
523
524  public static final class R.style {
525    field public static final int Theme_DeviceDefault_DocumentsUI = 16974562; // 0x10302e2
526    field public static final int Theme_Leanback_FormWizard = 16974544; // 0x10302d0
527  }
528
529}
530
531package android.accessibilityservice {
532
533  public class AccessibilityServiceInfo implements android.os.Parcelable {
534    method public void setAccessibilityTool(boolean);
535  }
536
537}
538
539package android.accounts {
540
541  public class AccountManager {
542    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);
543  }
544
545}
546
547package android.adservices.adid {
548
549  public abstract class AdIdProviderService extends android.app.Service {
550    ctor public AdIdProviderService();
551    method @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent);
552    method @NonNull public abstract android.adservices.adid.AdId onGetAdId(int, @NonNull String) throws java.io.IOException;
553    field public static final String SERVICE_INTERFACE = "android.adservices.adid.AdIdProviderService";
554  }
555
556}
557
558package android.adservices.appsetid {
559
560  public abstract class AppSetIdProviderService extends android.app.Service {
561    ctor public AppSetIdProviderService();
562    method @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent);
563    method @NonNull public abstract android.adservices.appsetid.AppSetId onGetAppSetId(int, @NonNull String) throws java.io.IOException;
564    field public static final String SERVICE_INTERFACE = "android.adservices.appsetid.AppSetIdProviderService";
565  }
566
567}
568
569package android.adservices.cobalt {
570
571  public abstract class AdServicesCobaltUploadService extends android.app.Service {
572    ctor public AdServicesCobaltUploadService();
573    method @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent);
574    method public abstract void onUploadEncryptedCobaltEnvelope(@NonNull android.adservices.cobalt.EncryptedCobaltEnvelopeParams);
575    field public static final String SERVICE_INTERFACE = "android.adservices.cobalt.AdServicesCobaltUploadService";
576  }
577
578  public final class EncryptedCobaltEnvelopeParams implements android.os.Parcelable {
579    ctor public EncryptedCobaltEnvelopeParams(int, @NonNull int, @NonNull byte[]);
580    method public int describeContents();
581    method @NonNull public byte[] getCipherText();
582    method @NonNull public int getEnvironment();
583    method @NonNull public int getKeyIndex();
584    method public void writeToParcel(@NonNull android.os.Parcel, int);
585    field @NonNull public static final android.os.Parcelable.Creator<android.adservices.cobalt.EncryptedCobaltEnvelopeParams> CREATOR;
586    field public static final int ENVIRONMENT_DEV = 1; // 0x1
587    field public static final int ENVIRONMENT_PROD = 0; // 0x0
588  }
589
590}
591
592package android.adservices.common {
593
594  public class AdServicesCommonManager {
595    method @RequiresPermission(anyOf={android.adservices.common.AdServicesPermissions.MODIFY_ADSERVICES_STATE, android.adservices.common.AdServicesPermissions.MODIFY_ADSERVICES_STATE_COMPAT}) public void enableAdServices(@NonNull android.adservices.common.AdServicesStates, @NonNull java.util.concurrent.Executor, @NonNull android.adservices.common.AdServicesOutcomeReceiver<java.lang.Boolean,java.lang.Exception>);
596    method @RequiresPermission(anyOf={android.adservices.common.AdServicesPermissions.MODIFY_ADSERVICES_STATE, android.adservices.common.AdServicesPermissions.MODIFY_ADSERVICES_STATE_COMPAT}) public void enableAdServices(@NonNull android.adservices.common.AdServicesStates, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Boolean,java.lang.Exception>);
597    method @NonNull public static android.adservices.common.AdServicesCommonManager get(@NonNull android.content.Context);
598    method @RequiresPermission(anyOf={android.adservices.common.AdServicesPermissions.ACCESS_ADSERVICES_STATE, android.adservices.common.AdServicesPermissions.ACCESS_ADSERVICES_STATE_COMPAT}) public void isAdServicesEnabled(@NonNull java.util.concurrent.Executor, @NonNull android.adservices.common.AdServicesOutcomeReceiver<java.lang.Boolean,java.lang.Exception>);
599    method @RequiresPermission(anyOf={android.adservices.common.AdServicesPermissions.ACCESS_ADSERVICES_STATE, android.adservices.common.AdServicesPermissions.ACCESS_ADSERVICES_STATE_COMPAT}) public void isAdServicesEnabled(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Boolean,java.lang.Exception>);
600    method @RequiresPermission(anyOf={android.adservices.common.AdServicesPermissions.MODIFY_ADSERVICES_STATE, android.adservices.common.AdServicesPermissions.MODIFY_ADSERVICES_STATE_COMPAT}) public void setAdServicesEnabled(boolean, boolean);
601    method @RequiresPermission(anyOf={android.adservices.common.AdServicesPermissions.UPDATE_PRIVILEGED_AD_ID, android.adservices.common.AdServicesPermissions.UPDATE_PRIVILEGED_AD_ID_COMPAT}) public void updateAdId(@NonNull android.adservices.common.UpdateAdIdRequest, @NonNull java.util.concurrent.Executor, @NonNull android.adservices.common.AdServicesOutcomeReceiver<java.lang.Boolean,java.lang.Exception>);
602    method @RequiresPermission(anyOf={android.adservices.common.AdServicesPermissions.UPDATE_PRIVILEGED_AD_ID, android.adservices.common.AdServicesPermissions.UPDATE_PRIVILEGED_AD_ID_COMPAT}) public void updateAdId(@NonNull android.adservices.common.UpdateAdIdRequest, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Boolean,java.lang.Exception>);
603  }
604
605  public class AdServicesPermissions {
606    field public static final String ACCESS_ADSERVICES_STATE = "android.permission.ACCESS_ADSERVICES_STATE";
607    field public static final String ACCESS_ADSERVICES_STATE_COMPAT = "android.permission.ACCESS_ADSERVICES_STATE_COMPAT";
608    field public static final String ACCESS_PRIVILEGED_ADSERVICES_COBALT_UPLOAD = "android.permission.ACCESS_PRIVILEGED_AD_SERVICES_COBALT_UPLOAD";
609    field public static final String ACCESS_PRIVILEGED_AD_ID = "android.permission.ACCESS_PRIVILEGED_AD_ID";
610    field public static final String ACCESS_PRIVILEGED_APP_SET_ID = "android.permission.ACCESS_PRIVILEGED_APP_SET_ID";
611    field public static final String MODIFY_ADSERVICES_STATE = "android.permission.MODIFY_ADSERVICES_STATE";
612    field public static final String MODIFY_ADSERVICES_STATE_COMPAT = "android.permission.MODIFY_ADSERVICES_STATE_COMPAT";
613    field public static final String UPDATE_PRIVILEGED_AD_ID = "android.permission.UPDATE_PRIVILEGED_AD_ID";
614    field public static final String UPDATE_PRIVILEGED_AD_ID_COMPAT = "android.permission.UPDATE_PRIVILEGED_AD_ID_COMPAT";
615  }
616
617  public final class AdServicesStates implements android.os.Parcelable {
618    method public int describeContents();
619    method @NonNull public boolean isAdIdEnabled();
620    method @NonNull public boolean isAdultAccount();
621    method @NonNull public boolean isPrivacySandboxUiEnabled();
622    method @NonNull public boolean isPrivacySandboxUiRequest();
623    method @NonNull public boolean isU18Account();
624    method public void writeToParcel(@NonNull android.os.Parcel, int);
625    field @NonNull public static final android.os.Parcelable.Creator<android.adservices.common.AdServicesStates> CREATOR;
626  }
627
628  public static final class AdServicesStates.Builder {
629    ctor public AdServicesStates.Builder();
630    method @NonNull public android.adservices.common.AdServicesStates build();
631    method @NonNull public android.adservices.common.AdServicesStates.Builder setAdIdEnabled(boolean);
632    method @NonNull public android.adservices.common.AdServicesStates.Builder setAdultAccount(boolean);
633    method @NonNull public android.adservices.common.AdServicesStates.Builder setPrivacySandboxUiEnabled(boolean);
634    method @NonNull public android.adservices.common.AdServicesStates.Builder setPrivacySandboxUiRequest(boolean);
635    method @NonNull public android.adservices.common.AdServicesStates.Builder setU18Account(boolean);
636  }
637
638  public final class EnableAdServicesResponse implements android.os.Parcelable {
639    method public int describeContents();
640    method public boolean isApiEnabled();
641    method public boolean isSuccess();
642    method public void writeToParcel(@NonNull android.os.Parcel, int);
643    field @NonNull public static final android.os.Parcelable.Creator<android.adservices.common.EnableAdServicesResponse> CREATOR;
644  }
645
646  public final class UpdateAdIdRequest implements android.os.Parcelable {
647    method public int describeContents();
648    method @NonNull public String getAdId();
649    method public boolean isLimitAdTrackingEnabled();
650    method public void writeToParcel(@NonNull android.os.Parcel, int);
651    field @NonNull public static final android.os.Parcelable.Creator<android.adservices.common.UpdateAdIdRequest> CREATOR;
652  }
653
654  public static final class UpdateAdIdRequest.Builder {
655    ctor public UpdateAdIdRequest.Builder(@NonNull String);
656    method @NonNull public android.adservices.common.UpdateAdIdRequest build();
657    method @NonNull public android.adservices.common.UpdateAdIdRequest.Builder setLimitAdTrackingEnabled(boolean);
658  }
659
660}
661
662package android.adservices.extdata {
663
664  public final class AdServicesExtDataParams implements android.os.Parcelable {
665    ctor public AdServicesExtDataParams(int, int, int, int, int, long);
666    method public int describeContents();
667    method public int getIsAdultAccount();
668    method public int getIsMeasurementConsented();
669    method public int getIsNotificationDisplayed();
670    method public int getIsU18Account();
671    method public int getManualInteractionWithConsentStatus();
672    method public long getMeasurementRollbackApexVersion();
673    method public void writeToParcel(@NonNull android.os.Parcel, int);
674    field @NonNull public static final android.os.Parcelable.Creator<android.adservices.extdata.AdServicesExtDataParams> CREATOR;
675  }
676
677  public abstract class AdServicesExtDataStorageService extends android.app.Service {
678    ctor public AdServicesExtDataStorageService();
679    method @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent);
680    method @NonNull public abstract android.adservices.extdata.AdServicesExtDataParams onGetAdServicesExtData();
681    method public abstract void onPutAdServicesExtData(@NonNull android.adservices.extdata.AdServicesExtDataParams, @NonNull int[]);
682    field public static final int FIELD_IS_ADULT_ACCOUNT = 3; // 0x3
683    field public static final int FIELD_IS_MEASUREMENT_CONSENTED = 1; // 0x1
684    field public static final int FIELD_IS_NOTIFICATION_DISPLAYED = 0; // 0x0
685    field public static final int FIELD_IS_U18_ACCOUNT = 2; // 0x2
686    field public static final int FIELD_MANUAL_INTERACTION_WITH_CONSENT_STATUS = 4; // 0x4
687    field public static final int FIELD_MEASUREMENT_ROLLBACK_APEX_VERSION = 5; // 0x5
688    field public static final String SERVICE_INTERFACE = "android.adservices.extdata.AdServicesExtDataStorageService";
689  }
690
691}
692
693package android.adservices.ondevicepersonalization {
694
695  public final class MeasurementWebTriggerEventParams {
696    method @NonNull public String getAppPackageName();
697    method @Nullable public String getCertDigest();
698    method @NonNull public android.net.Uri getDestinationUrl();
699    method @Nullable public byte[] getEventData();
700    method @NonNull public android.content.ComponentName getIsolatedService();
701  }
702
703  public static final class MeasurementWebTriggerEventParams.Builder {
704    ctor public MeasurementWebTriggerEventParams.Builder(@NonNull android.net.Uri, @NonNull String, @NonNull android.content.ComponentName);
705    method @NonNull public android.adservices.ondevicepersonalization.MeasurementWebTriggerEventParams build();
706    method @NonNull public android.adservices.ondevicepersonalization.MeasurementWebTriggerEventParams.Builder setAppPackageName(@NonNull String);
707    method @NonNull public android.adservices.ondevicepersonalization.MeasurementWebTriggerEventParams.Builder setCertDigest(@Nullable String);
708    method @NonNull public android.adservices.ondevicepersonalization.MeasurementWebTriggerEventParams.Builder setDestinationUrl(@NonNull android.net.Uri);
709    method @NonNull public android.adservices.ondevicepersonalization.MeasurementWebTriggerEventParams.Builder setEventData(@Nullable byte...);
710    method @NonNull public android.adservices.ondevicepersonalization.MeasurementWebTriggerEventParams.Builder setIsolatedService(@NonNull android.content.ComponentName);
711  }
712
713  public class OnDevicePersonalizationConfigManager {
714    method @RequiresPermission(android.adservices.ondevicepersonalization.OnDevicePersonalizationPermissions.MODIFY_ONDEVICEPERSONALIZATION_STATE) public void setPersonalizationEnabled(boolean, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Void,java.lang.Exception>);
715  }
716
717  public class OnDevicePersonalizationPermissions {
718    field public static final String MODIFY_ONDEVICEPERSONALIZATION_STATE = "android.permission.ondevicepersonalization.MODIFY_ONDEVICEPERSONALIZATION_STATE";
719    field public static final String NOTIFY_MEASUREMENT_EVENT = "android.permission.ondevicepersonalization.NOTIFY_MEASUREMENT_EVENT";
720  }
721
722  public class OnDevicePersonalizationSystemEventManager {
723    method @RequiresPermission(android.adservices.ondevicepersonalization.OnDevicePersonalizationPermissions.NOTIFY_MEASUREMENT_EVENT) public void notifyMeasurementEvent(@NonNull android.adservices.ondevicepersonalization.MeasurementWebTriggerEventParams, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Void,java.lang.Exception>);
724  }
725
726}
727
728package android.app {
729
730  @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 {
731    method public void convertFromTranslucent();
732    method public boolean convertToTranslucent(android.app.Activity.TranslucentConversionListener, android.app.ActivityOptions);
733    method @Deprecated public boolean isBackgroundVisibleBehind();
734    method @Deprecated public void onBackgroundVisibleBehindChanged(boolean);
735    method @RequiresPermission(anyOf={android.Manifest.permission.INTERACT_ACROSS_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS_FULL}) public void startActivityForResultAsUser(@NonNull android.content.Intent, int, @Nullable android.os.Bundle, @NonNull android.os.UserHandle);
736    method @RequiresPermission(anyOf={android.Manifest.permission.INTERACT_ACROSS_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS_FULL}) public void startActivityForResultAsUser(@NonNull android.content.Intent, int, @NonNull android.os.UserHandle);
737    method @RequiresPermission(anyOf={android.Manifest.permission.INTERACT_ACROSS_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS_FULL}) public void startActivityForResultAsUser(@NonNull android.content.Intent, @NonNull String, int, @Nullable android.os.Bundle, @NonNull android.os.UserHandle);
738  }
739
740  public static interface Activity.TranslucentConversionListener {
741    method public void onTranslucentConversionComplete(boolean);
742  }
743
744  public class ActivityManager {
745    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public void addOnUidImportanceListener(android.app.ActivityManager.OnUidImportanceListener, int);
746    method @RequiresPermission(android.Manifest.permission.FORCE_STOP_PACKAGES) public void forceStopPackage(String);
747    method @RequiresPermission(android.Manifest.permission.GET_BINDING_UID_IMPORTANCE) public int getBindingUidImportance(int);
748    method @RequiresPermission(anyOf={"android.permission.INTERACT_ACROSS_USERS", "android.permission.INTERACT_ACROSS_USERS_FULL"}) public static int getCurrentUser();
749    method @NonNull @RequiresPermission(android.Manifest.permission.DUMP) public java.util.List<android.app.ApplicationStartInfo> getExternalHistoricalProcessStartReasons(@NonNull String, @IntRange(from=0) int);
750    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public int getPackageImportance(String);
751    method @NonNull public java.util.Collection<java.util.Locale> getSupportedLocales();
752    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public int getUidImportance(int);
753    method @RequiresPermission(android.Manifest.permission.FORCE_STOP_PACKAGES) public void killProcessesWhenImperceptible(@NonNull int[], @NonNull String);
754    method @RequiresPermission(android.Manifest.permission.KILL_UID) public void killUid(int, String);
755    method @RequiresPermission(android.Manifest.permission.LOG_FOREGROUND_RESOURCE_USE) public void noteForegroundResourceUseBegin(int, int, int) throws java.lang.SecurityException;
756    method @RequiresPermission(android.Manifest.permission.LOG_FOREGROUND_RESOURCE_USE) public void noteForegroundResourceUseEnd(int, int, int) throws java.lang.SecurityException;
757    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public void removeOnUidImportanceListener(android.app.ActivityManager.OnUidImportanceListener);
758    method public void setDeviceLocales(@NonNull android.os.LocaleList);
759    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public static void setPersistentVrThread(int);
760    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS_FULL}) public boolean startProfile(@NonNull android.os.UserHandle);
761    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS_FULL}) public boolean stopProfile(@NonNull android.os.UserHandle);
762    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean switchUser(@NonNull android.os.UserHandle);
763    field public static final int FOREGROUND_SERVICE_API_TYPE_AUDIO = 5; // 0x5
764    field public static final int FOREGROUND_SERVICE_API_TYPE_BLUETOOTH = 2; // 0x2
765    field public static final int FOREGROUND_SERVICE_API_TYPE_CAMERA = 1; // 0x1
766    field public static final int FOREGROUND_SERVICE_API_TYPE_CDM = 9; // 0x9
767    field public static final int FOREGROUND_SERVICE_API_TYPE_LOCATION = 3; // 0x3
768    field public static final int FOREGROUND_SERVICE_API_TYPE_MEDIA_PLAYBACK = 4; // 0x4
769    field public static final int FOREGROUND_SERVICE_API_TYPE_MICROPHONE = 6; // 0x6
770    field public static final int FOREGROUND_SERVICE_API_TYPE_PHONE_CALL = 7; // 0x7
771    field public static final int FOREGROUND_SERVICE_API_TYPE_USB = 8; // 0x8
772    field public static final int PROCESS_CAPABILITY_FOREGROUND_CAMERA = 2; // 0x2
773    field public static final int PROCESS_CAPABILITY_FOREGROUND_LOCATION = 1; // 0x1
774    field public static final int PROCESS_CAPABILITY_FOREGROUND_MICROPHONE = 4; // 0x4
775    field public static final int PROCESS_CAPABILITY_NONE = 0; // 0x0
776  }
777
778  public static interface ActivityManager.OnUidImportanceListener {
779    method public void onUidImportance(int, int);
780  }
781
782  public class ActivityOptions {
783    method public int getLaunchTaskId();
784    method @RequiresPermission(android.Manifest.permission.START_TASKS_FROM_RECENTS) public void setLaunchTaskId(int);
785  }
786
787  public class AlarmManager {
788    method @Deprecated @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void set(int, long, long, long, @NonNull android.app.AlarmManager.OnAlarmListener, @Nullable android.os.Handler, @Nullable android.os.WorkSource);
789    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void set(int, long, long, long, @NonNull android.app.PendingIntent, @Nullable android.os.WorkSource);
790    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void setExact(int, long, @Nullable String, @NonNull java.util.concurrent.Executor, @NonNull android.os.WorkSource, @NonNull android.app.AlarmManager.OnAlarmListener);
791    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void setExactAndAllowWhileIdle(int, long, @Nullable String, @NonNull java.util.concurrent.Executor, @Nullable android.os.WorkSource, @NonNull android.app.AlarmManager.OnAlarmListener);
792    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);
793    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void setWindow(int, long, long, @Nullable String, @NonNull java.util.concurrent.Executor, @Nullable android.os.WorkSource, @NonNull android.app.AlarmManager.OnAlarmListener);
794  }
795
796  public class AppOpsManager {
797    method @Nullable @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public android.app.RuntimeAppOpAccessMessage collectRuntimeAppOpAccessMessage();
798    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>);
799    method public static String[] getOpStrs();
800    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...);
801    method @NonNull @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public java.util.List<android.app.AppOpsManager.PackageOps> getPackagesForOps(@Nullable String[]);
802    method @NonNull @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public java.util.List<android.app.AppOpsManager.PackageOps> getPackagesForOps(@Nullable String[], @NonNull String);
803    method @NonNull @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public java.util.List<android.permission.PermissionGroupUsage> getPermissionGroupUsageForPrivacyIndicator(boolean);
804    method public static int opToDefaultMode(@NonNull String);
805    method @Nullable public static String opToPermission(@NonNull String);
806    method @RequiresPermission("android.permission.MANAGE_APP_OPS_MODES") public void setMode(@NonNull String, int, @Nullable String, int);
807    method @RequiresPermission("android.permission.MANAGE_APP_OPS_MODES") public void setUidMode(@NonNull String, int, int);
808    method @RequiresPermission(value="android.permission.WATCH_APPOPS", conditional=true) public void startWatchingNoted(@NonNull String[], @NonNull android.app.AppOpsManager.OnOpNotedListener);
809    method @RequiresPermission(value="android.permission.WATCH_APPOPS", conditional=true) public void startWatchingNoted(@NonNull String[], @NonNull java.util.concurrent.Executor, @NonNull android.app.AppOpsManager.OnOpNotedListener);
810    method public void stopWatchingNoted(@NonNull android.app.AppOpsManager.OnOpNotedListener);
811    field public static final int HISTORY_FLAGS_ALL = 3; // 0x3
812    field public static final int HISTORY_FLAG_AGGREGATE = 1; // 0x1
813    field public static final int HISTORY_FLAG_DISCRETE = 2; // 0x2
814    field public static final int HISTORY_FLAG_GET_ATTRIBUTION_CHAINS = 4; // 0x4
815    field public static final String OPSTR_ACCEPT_HANDOVER = "android:accept_handover";
816    field public static final String OPSTR_ACCESS_ACCESSIBILITY = "android:access_accessibility";
817    field public static final String OPSTR_ACCESS_NOTIFICATIONS = "android:access_notifications";
818    field public static final String OPSTR_ACCESS_RESTRICTED_SETTINGS = "android:access_restricted_settings";
819    field public static final String OPSTR_ACTIVATE_PLATFORM_VPN = "android:activate_platform_vpn";
820    field public static final String OPSTR_ACTIVATE_VPN = "android:activate_vpn";
821    field public static final String OPSTR_ASSIST_SCREENSHOT = "android:assist_screenshot";
822    field public static final String OPSTR_ASSIST_STRUCTURE = "android:assist_structure";
823    field public static final String OPSTR_AUDIO_ACCESSIBILITY_VOLUME = "android:audio_accessibility_volume";
824    field public static final String OPSTR_AUDIO_ALARM_VOLUME = "android:audio_alarm_volume";
825    field public static final String OPSTR_AUDIO_BLUETOOTH_VOLUME = "android:audio_bluetooth_volume";
826    field public static final String OPSTR_AUDIO_MASTER_VOLUME = "android:audio_master_volume";
827    field public static final String OPSTR_AUDIO_MEDIA_VOLUME = "android:audio_media_volume";
828    field public static final String OPSTR_AUDIO_NOTIFICATION_VOLUME = "android:audio_notification_volume";
829    field public static final String OPSTR_AUDIO_RING_VOLUME = "android:audio_ring_volume";
830    field public static final String OPSTR_AUDIO_VOICE_VOLUME = "android:audio_voice_volume";
831    field public static final String OPSTR_AUTO_REVOKE_MANAGED_BY_INSTALLER = "android:auto_revoke_managed_by_installer";
832    field public static final String OPSTR_AUTO_REVOKE_PERMISSIONS_IF_UNUSED = "android:auto_revoke_permissions_if_unused";
833    field public static final String OPSTR_BIND_ACCESSIBILITY_SERVICE = "android:bind_accessibility_service";
834    field public static final String OPSTR_CAPTURE_CONSENTLESS_BUGREPORT_ON_USERDEBUG_BUILD = "android:capture_consentless_bugreport_on_userdebug_build";
835    field public static final String OPSTR_CHANGE_WIFI_STATE = "android:change_wifi_state";
836    field public static final String OPSTR_CREATE_ACCESSIBILITY_OVERLAY = "android:create_accessibility_overlay";
837    field public static final String OPSTR_EMERGENCY_LOCATION = "android:emergency_location";
838    field public static final String OPSTR_ENABLE_MOBILE_DATA_BY_USER = "android:enable_mobile_data_by_user";
839    field public static final String OPSTR_ESTABLISH_VPN_MANAGER = "android:establish_vpn_manager";
840    field public static final String OPSTR_ESTABLISH_VPN_SERVICE = "android:establish_vpn_service";
841    field public static final String OPSTR_GET_ACCOUNTS = "android:get_accounts";
842    field public static final String OPSTR_GPS = "android:gps";
843    field public static final String OPSTR_INSTANT_APP_START_FOREGROUND = "android:instant_app_start_foreground";
844    field public static final String OPSTR_INTERACT_ACROSS_PROFILES = "android:interact_across_profiles";
845    field public static final String OPSTR_LEGACY_STORAGE = "android:legacy_storage";
846    field public static final String OPSTR_LOADER_USAGE_STATS = "android:loader_usage_stats";
847    field public static final String OPSTR_MANAGE_EXTERNAL_STORAGE = "android:manage_external_storage";
848    field public static final String OPSTR_MANAGE_IPSEC_TUNNELS = "android:manage_ipsec_tunnels";
849    field public static final String OPSTR_MANAGE_ONGOING_CALLS = "android:manage_ongoing_calls";
850    field public static final String OPSTR_MEDIA_ROUTING_CONTROL = "android:media_routing_control";
851    field public static final String OPSTR_MUTE_MICROPHONE = "android:mute_microphone";
852    field public static final String OPSTR_NEIGHBORING_CELLS = "android:neighboring_cells";
853    field public static final String OPSTR_PHONE_CALL_CAMERA = "android:phone_call_camera";
854    field public static final String OPSTR_PHONE_CALL_MICROPHONE = "android:phone_call_microphone";
855    field public static final String OPSTR_PLAY_AUDIO = "android:play_audio";
856    field public static final String OPSTR_POST_NOTIFICATION = "android:post_notification";
857    field public static final String OPSTR_PROJECT_MEDIA = "android:project_media";
858    field public static final String OPSTR_RAPID_CLEAR_NOTIFICATIONS_BY_LISTENER = "android:rapid_clear_notifications_by_listener";
859    field public static final String OPSTR_READ_CLIPBOARD = "android:read_clipboard";
860    field public static final String OPSTR_READ_ICC_SMS = "android:read_icc_sms";
861    field public static final String OPSTR_READ_MEDIA_AUDIO = "android:read_media_audio";
862    field public static final String OPSTR_READ_MEDIA_IMAGES = "android:read_media_images";
863    field public static final String OPSTR_READ_MEDIA_VIDEO = "android:read_media_video";
864    field public static final String OPSTR_READ_MEDIA_VISUAL_USER_SELECTED = "android:read_media_visual_user_selected";
865    field public static final String OPSTR_READ_WRITE_HEALTH_DATA = "android:read_write_health_data";
866    field public static final String OPSTR_RECEIVE_AMBIENT_TRIGGER_AUDIO = "android:receive_ambient_trigger_audio";
867    field public static final String OPSTR_RECEIVE_EMERGENCY_BROADCAST = "android:receive_emergency_broadcast";
868    field public static final String OPSTR_RECEIVE_EXPLICIT_USER_INTERACTION_AUDIO = "android:receive_explicit_user_interaction_audio";
869    field public static final String OPSTR_REQUEST_DELETE_PACKAGES = "android:request_delete_packages";
870    field public static final String OPSTR_REQUEST_INSTALL_PACKAGES = "android:request_install_packages";
871    field public static final String OPSTR_RUN_ANY_IN_BACKGROUND = "android:run_any_in_background";
872    field public static final String OPSTR_RUN_IN_BACKGROUND = "android:run_in_background";
873    field public static final String OPSTR_START_FOREGROUND = "android:start_foreground";
874    field public static final String OPSTR_SYSTEM_EXEMPT_FROM_HIBERNATION = "android:system_exempt_from_hibernation";
875    field public static final String OPSTR_TAKE_AUDIO_FOCUS = "android:take_audio_focus";
876    field public static final String OPSTR_TAKE_MEDIA_BUTTONS = "android:take_media_buttons";
877    field public static final String OPSTR_TOAST_WINDOW = "android:toast_window";
878    field public static final String OPSTR_TURN_SCREEN_ON = "android:turn_screen_on";
879    field public static final String OPSTR_VIBRATE = "android:vibrate";
880    field public static final String OPSTR_WAKE_LOCK = "android:wake_lock";
881    field public static final String OPSTR_WIFI_SCAN = "android:wifi_scan";
882    field public static final String OPSTR_WRITE_CLIPBOARD = "android:write_clipboard";
883    field public static final String OPSTR_WRITE_ICC_SMS = "android:write_icc_sms";
884    field public static final String OPSTR_WRITE_MEDIA_AUDIO = "android:write_media_audio";
885    field public static final String OPSTR_WRITE_MEDIA_IMAGES = "android:write_media_images";
886    field public static final String OPSTR_WRITE_MEDIA_VIDEO = "android:write_media_video";
887    field public static final String OPSTR_WRITE_SMS = "android:write_sms";
888    field public static final String OPSTR_WRITE_WALLPAPER = "android:write_wallpaper";
889    field public static final int OP_FLAGS_ALL = 31; // 0x1f
890    field public static final int OP_FLAGS_ALL_TRUSTED = 13; // 0xd
891    field public static final int OP_FLAG_SELF = 1; // 0x1
892    field public static final int OP_FLAG_TRUSTED_PROXIED = 8; // 0x8
893    field public static final int OP_FLAG_TRUSTED_PROXY = 2; // 0x2
894    field public static final int OP_FLAG_UNTRUSTED_PROXIED = 16; // 0x10
895    field public static final int OP_FLAG_UNTRUSTED_PROXY = 4; // 0x4
896    field public static final int UID_STATE_BACKGROUND = 600; // 0x258
897    field public static final int UID_STATE_CACHED = 700; // 0x2bc
898    field public static final int UID_STATE_FOREGROUND = 500; // 0x1f4
899    field public static final int UID_STATE_FOREGROUND_SERVICE = 400; // 0x190
900    field @Deprecated public static final int UID_STATE_FOREGROUND_SERVICE_LOCATION = 300; // 0x12c
901    field public static final int UID_STATE_PERSISTENT = 100; // 0x64
902    field public static final int UID_STATE_TOP = 200; // 0xc8
903  }
904
905  public static final class AppOpsManager.AttributedHistoricalOps implements android.os.Parcelable {
906    method public int describeContents();
907    method @Nullable public android.app.AppOpsManager.HistoricalOp getOp(@NonNull String);
908    method @NonNull public android.app.AppOpsManager.HistoricalOp getOpAt(@IntRange(from=0) int);
909    method @IntRange(from=0) public int getOpCount();
910    method @Nullable public String getTag();
911    method public void writeToParcel(@NonNull android.os.Parcel, int);
912    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.AttributedHistoricalOps> CREATOR;
913  }
914
915  public static final class AppOpsManager.AttributedOpEntry implements android.os.Parcelable {
916    method public int describeContents();
917    method public long getLastAccessBackgroundTime(int);
918    method public long getLastAccessForegroundTime(int);
919    method public long getLastAccessTime(int);
920    method public long getLastAccessTime(int, int, int);
921    method public long getLastBackgroundDuration(int);
922    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastBackgroundProxyInfo(int);
923    method public long getLastDuration(int);
924    method public long getLastDuration(int, int, int);
925    method public long getLastForegroundDuration(int);
926    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastForegroundProxyInfo(int);
927    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastProxyInfo(int);
928    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastProxyInfo(int, int, int);
929    method public long getLastRejectBackgroundTime(int);
930    method public long getLastRejectForegroundTime(int);
931    method public long getLastRejectTime(int);
932    method public long getLastRejectTime(int, int, int);
933    method public boolean isRunning();
934    method public void writeToParcel(@NonNull android.os.Parcel, int);
935    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.AttributedOpEntry> CREATOR;
936  }
937
938  public static final class AppOpsManager.HistoricalOp implements android.os.Parcelable {
939    method public int describeContents();
940    method public long getAccessCount(int, int, int);
941    method public long getAccessDuration(int, int, int);
942    method public long getBackgroundAccessCount(int);
943    method public long getBackgroundAccessDuration(int);
944    method @NonNull public java.util.List<android.app.AppOpsManager.AttributedOpEntry> getBackgroundDiscreteAccesses(int);
945    method public long getBackgroundRejectCount(int);
946    method @NonNull public android.app.AppOpsManager.AttributedOpEntry getDiscreteAccessAt(@IntRange(from=0) int);
947    method @IntRange(from=0) public int getDiscreteAccessCount();
948    method @NonNull public java.util.List<android.app.AppOpsManager.AttributedOpEntry> getDiscreteAccesses(int, int, int);
949    method public long getForegroundAccessCount(int);
950    method public long getForegroundAccessDuration(int);
951    method @NonNull public java.util.List<android.app.AppOpsManager.AttributedOpEntry> getForegroundDiscreteAccesses(int);
952    method public long getForegroundRejectCount(int);
953    method @NonNull public String getOpName();
954    method public long getRejectCount(int, int, int);
955    method public void writeToParcel(android.os.Parcel, int);
956    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalOp> CREATOR;
957  }
958
959  public static final class AppOpsManager.HistoricalOps implements android.os.Parcelable {
960    method public int describeContents();
961    method public long getBeginTimeMillis();
962    method public long getEndTimeMillis();
963    method @IntRange(from=0) public int getUidCount();
964    method @Nullable public android.app.AppOpsManager.HistoricalUidOps getUidOps(int);
965    method @NonNull public android.app.AppOpsManager.HistoricalUidOps getUidOpsAt(@IntRange(from=0) int);
966    method public void writeToParcel(android.os.Parcel, int);
967    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalOps> CREATOR;
968  }
969
970  public static final class AppOpsManager.HistoricalOpsRequest {
971  }
972
973  public static final class AppOpsManager.HistoricalOpsRequest.Builder {
974    ctor public AppOpsManager.HistoricalOpsRequest.Builder(long, long);
975    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest build();
976    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setAttributionTag(@Nullable String);
977    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setFlags(int);
978    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setHistoryFlags(int);
979    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setOpNames(@Nullable java.util.List<java.lang.String>);
980    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setPackageName(@Nullable String);
981    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setUid(int);
982  }
983
984  public static final class AppOpsManager.HistoricalPackageOps implements android.os.Parcelable {
985    method public int describeContents();
986    method @Nullable public android.app.AppOpsManager.AttributedHistoricalOps getAttributedOps(@Nullable String);
987    method @NonNull public android.app.AppOpsManager.AttributedHistoricalOps getAttributedOpsAt(@IntRange(from=0) int);
988    method @IntRange(from=0) public int getAttributedOpsCount();
989    method @Nullable public android.app.AppOpsManager.HistoricalOp getOp(@NonNull String);
990    method @NonNull public android.app.AppOpsManager.HistoricalOp getOpAt(@IntRange(from=0) int);
991    method @IntRange(from=0) public int getOpCount();
992    method @NonNull public String getPackageName();
993    method public void writeToParcel(@NonNull android.os.Parcel, int);
994    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalPackageOps> CREATOR;
995  }
996
997  public static final class AppOpsManager.HistoricalUidOps implements android.os.Parcelable {
998    method public int describeContents();
999    method @IntRange(from=0) public int getPackageCount();
1000    method @Nullable public android.app.AppOpsManager.HistoricalPackageOps getPackageOps(@NonNull String);
1001    method @NonNull public android.app.AppOpsManager.HistoricalPackageOps getPackageOpsAt(@IntRange(from=0) int);
1002    method public int getUid();
1003    method public void writeToParcel(android.os.Parcel, int);
1004    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalUidOps> CREATOR;
1005  }
1006
1007  public static interface AppOpsManager.OnOpNotedListener {
1008    method public void onOpNoted(@NonNull String, int, @NonNull String, @Nullable String, int, int);
1009    method public default void onOpNoted(@NonNull String, int, @NonNull String, @Nullable String, int, int, int);
1010  }
1011
1012  public static final class AppOpsManager.OpEntry implements android.os.Parcelable {
1013    method public int describeContents();
1014    method @NonNull public java.util.Map<java.lang.String,android.app.AppOpsManager.AttributedOpEntry> getAttributedOpEntries();
1015    method @Deprecated public long getDuration();
1016    method public long getLastAccessBackgroundTime(int);
1017    method public long getLastAccessForegroundTime(int);
1018    method public long getLastAccessTime(int);
1019    method public long getLastAccessTime(int, int, int);
1020    method public long getLastBackgroundDuration(int);
1021    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastBackgroundProxyInfo(int);
1022    method public long getLastDuration(int);
1023    method public long getLastDuration(int, int, int);
1024    method public long getLastForegroundDuration(int);
1025    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastForegroundProxyInfo(int);
1026    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastProxyInfo(int);
1027    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastProxyInfo(int, int, int);
1028    method public long getLastRejectBackgroundTime(int);
1029    method public long getLastRejectForegroundTime(int);
1030    method public long getLastRejectTime(int);
1031    method public long getLastRejectTime(int, int, int);
1032    method public int getMode();
1033    method @NonNull public String getOpStr();
1034    method @Deprecated @Nullable public String getProxyPackageName();
1035    method @Deprecated @Nullable public String getProxyPackageName(int, int);
1036    method @Deprecated public int getProxyUid();
1037    method @Deprecated public int getProxyUid(int, int);
1038    method public boolean isRunning();
1039    method public void writeToParcel(android.os.Parcel, int);
1040    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.OpEntry> CREATOR;
1041  }
1042
1043  public static final class AppOpsManager.OpEventProxyInfo implements android.os.Parcelable {
1044    method public int describeContents();
1045    method @Nullable public String getAttributionTag();
1046    method @Nullable public String getPackageName();
1047    method @IntRange(from=0) public int getUid();
1048    method public void writeToParcel(@NonNull android.os.Parcel, int);
1049    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.OpEventProxyInfo> CREATOR;
1050  }
1051
1052  public static final class AppOpsManager.PackageOps implements android.os.Parcelable {
1053    method public int describeContents();
1054    method @NonNull public java.util.List<android.app.AppOpsManager.OpEntry> getOps();
1055    method @NonNull public String getPackageName();
1056    method public int getUid();
1057    method public void writeToParcel(@NonNull android.os.Parcel, int);
1058    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.PackageOps> CREATOR;
1059  }
1060
1061  public final class BackgroundInstallControlManager {
1062    method @NonNull @RequiresPermission(android.Manifest.permission.GET_BACKGROUND_INSTALLED_PACKAGES) public java.util.List<android.content.pm.PackageInfo> getBackgroundInstalledPackages(long);
1063  }
1064
1065  public class BroadcastOptions {
1066    method public void clearRequireCompatChange();
1067    method public int getPendingIntentBackgroundActivityStartMode();
1068    method @Deprecated public boolean isPendingIntentBackgroundActivityLaunchAllowed();
1069    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RESPONSE_STATS) public void recordResponseEventWhileInBackground(@IntRange(from=0) long);
1070    method @RequiresPermission(android.Manifest.permission.START_ACTIVITIES_FROM_BACKGROUND) public void setBackgroundActivityStartsAllowed(boolean);
1071    method public void setDontSendToRestrictedApps(boolean);
1072    method @Deprecated public void setPendingIntentBackgroundActivityLaunchAllowed(boolean);
1073    method @NonNull public android.app.BroadcastOptions setPendingIntentBackgroundActivityStartMode(int);
1074    method public void setRequireAllOfPermissions(@Nullable String[]);
1075    method public void setRequireCompatChange(long, boolean);
1076    method public void setRequireNoneOfPermissions(@Nullable String[]);
1077    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);
1078    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);
1079  }
1080
1081  public class DownloadManager {
1082    method @RequiresPermission(android.Manifest.permission.WRITE_MEDIA_STORAGE) public void onMediaStoreDownloadsDeleted(@NonNull android.util.LongSparseArray<java.lang.String>);
1083    field public static final String ACTION_DOWNLOAD_COMPLETED = "android.intent.action.DOWNLOAD_COMPLETED";
1084  }
1085
1086  public final class GameManager {
1087    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_GAME_MODE) public android.app.GameModeInfo getGameModeInfo(@NonNull String);
1088    method @RequiresPermission(android.Manifest.permission.MANAGE_GAME_MODE) public void setGameMode(@NonNull String, int);
1089    method @RequiresPermission(android.Manifest.permission.MANAGE_GAME_MODE) public void updateCustomGameModeConfiguration(@NonNull String, @NonNull android.app.GameModeConfiguration);
1090  }
1091
1092  public final class GameModeConfiguration implements android.os.Parcelable {
1093    method public int describeContents();
1094    method public int getFpsOverride();
1095    method public float getScalingFactor();
1096    method public void writeToParcel(@NonNull android.os.Parcel, int);
1097    field @NonNull public static final android.os.Parcelable.Creator<android.app.GameModeConfiguration> CREATOR;
1098    field public static final int FPS_OVERRIDE_NONE = 0; // 0x0
1099  }
1100
1101  public static final class GameModeConfiguration.Builder {
1102    ctor public GameModeConfiguration.Builder();
1103    ctor public GameModeConfiguration.Builder(@NonNull android.app.GameModeConfiguration);
1104    method @NonNull public android.app.GameModeConfiguration build();
1105    method @NonNull public android.app.GameModeConfiguration.Builder setFpsOverride(int);
1106    method @NonNull public android.app.GameModeConfiguration.Builder setScalingFactor(float);
1107  }
1108
1109  public final class GameModeInfo implements android.os.Parcelable {
1110    ctor @Deprecated public GameModeInfo(int, @NonNull int[]);
1111    method public int describeContents();
1112    method public int getActiveGameMode();
1113    method @NonNull public int[] getAvailableGameModes();
1114    method @Nullable public android.app.GameModeConfiguration getGameModeConfiguration(int);
1115    method @NonNull public int[] getOverriddenGameModes();
1116    method public boolean isDownscalingAllowed();
1117    method public boolean isFpsOverrideAllowed();
1118    method public void writeToParcel(@NonNull android.os.Parcel, int);
1119    field @NonNull public static final android.os.Parcelable.Creator<android.app.GameModeInfo> CREATOR;
1120  }
1121
1122  public static final class GameModeInfo.Builder {
1123    ctor public GameModeInfo.Builder();
1124    method @NonNull public android.app.GameModeInfo build();
1125    method @NonNull public android.app.GameModeInfo.Builder setActiveGameMode(@NonNull int);
1126    method @NonNull public android.app.GameModeInfo.Builder setAvailableGameModes(@NonNull int[]);
1127    method @NonNull public android.app.GameModeInfo.Builder setDownscalingAllowed(boolean);
1128    method @NonNull public android.app.GameModeInfo.Builder setFpsOverrideAllowed(boolean);
1129    method @NonNull public android.app.GameModeInfo.Builder setGameModeConfiguration(int, @NonNull android.app.GameModeConfiguration);
1130    method @NonNull public android.app.GameModeInfo.Builder setOverriddenGameModes(@NonNull int[]);
1131  }
1132
1133  public abstract class InstantAppResolverService extends android.app.Service {
1134    ctor public InstantAppResolverService();
1135    method public final void attachBaseContext(android.content.Context);
1136    method public final android.os.IBinder onBind(android.content.Intent);
1137    method @Deprecated public void onGetInstantAppIntentFilter(@NonNull android.content.Intent, @Nullable int[], @NonNull android.os.UserHandle, @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
1138    method @Deprecated public void onGetInstantAppIntentFilter(@NonNull android.content.Intent, @Nullable int[], @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
1139    method @MainThread public void onGetInstantAppIntentFilter(@NonNull android.content.pm.InstantAppRequestInfo, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
1140    method @Deprecated public void onGetInstantAppIntentFilter(@Nullable int[], @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
1141    method @Deprecated public void onGetInstantAppResolveInfo(@NonNull android.content.Intent, @Nullable int[], @NonNull android.os.UserHandle, @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
1142    method @Deprecated public void onGetInstantAppResolveInfo(@NonNull android.content.Intent, @Nullable int[], @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
1143    method @MainThread public void onGetInstantAppResolveInfo(@NonNull android.content.pm.InstantAppRequestInfo, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
1144    method @Deprecated public void onGetInstantAppResolveInfo(@Nullable int[], @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
1145  }
1146
1147  public static final class InstantAppResolverService.InstantAppResolutionCallback {
1148    method public void onInstantAppResolveInfo(java.util.List<android.content.pm.InstantAppResolveInfo>);
1149  }
1150
1151  public class KeyguardManager {
1152    method @RequiresPermission(android.Manifest.permission.MANAGE_WEAK_ESCROW_TOKEN) public long addWeakEscrowToken(@NonNull byte[], @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull android.app.KeyguardManager.WeakEscrowTokenActivatedListener);
1153    method @NonNull @RequiresPermission(android.Manifest.permission.CHECK_REMOTE_LOCKSCREEN) public android.content.Intent createConfirmDeviceCredentialForRemoteValidationIntent(@NonNull android.app.RemoteLockscreenValidationSession, @NonNull android.content.ComponentName, @Nullable CharSequence, @Nullable CharSequence, @Nullable CharSequence, @Nullable CharSequence);
1154    method public android.content.Intent createConfirmFactoryResetCredentialIntent(CharSequence, CharSequence, CharSequence);
1155    method @RequiresPermission("android.permission.SET_INITIAL_LOCK") public int getMinLockLength(boolean, int);
1156    method @RequiresPermission(android.Manifest.permission.CONTROL_KEYGUARD_SECURE_NOTIFICATIONS) public boolean getPrivateNotificationsAllowed();
1157    method @RequiresPermission("android.permission.SET_INITIAL_LOCK") public boolean isValidLockPasswordComplexity(int, @NonNull byte[], int);
1158    method @RequiresPermission(android.Manifest.permission.MANAGE_WEAK_ESCROW_TOKEN) public boolean isWeakEscrowTokenActive(long, @NonNull android.os.UserHandle);
1159    method @RequiresPermission(android.Manifest.permission.MANAGE_WEAK_ESCROW_TOKEN) public boolean isWeakEscrowTokenValid(long, @NonNull byte[], @NonNull android.os.UserHandle);
1160    method @RequiresPermission(android.Manifest.permission.MANAGE_WEAK_ESCROW_TOKEN) public boolean registerWeakEscrowTokenRemovedListener(@NonNull java.util.concurrent.Executor, @NonNull android.app.KeyguardManager.WeakEscrowTokenRemovedListener);
1161    method @RequiresPermission(android.Manifest.permission.MANAGE_WEAK_ESCROW_TOKEN) public boolean removeWeakEscrowToken(long, @NonNull android.os.UserHandle);
1162    method @RequiresPermission(android.Manifest.permission.SHOW_KEYGUARD_MESSAGE) public void requestDismissKeyguard(@NonNull android.app.Activity, @Nullable CharSequence, @Nullable android.app.KeyguardManager.KeyguardDismissCallback);
1163    method @RequiresPermission("android.permission.SET_INITIAL_LOCK") public boolean setLock(int, @NonNull byte[], int);
1164    method @RequiresPermission(android.Manifest.permission.CONTROL_KEYGUARD_SECURE_NOTIFICATIONS) public void setPrivateNotificationsAllowed(boolean);
1165    method @NonNull @RequiresPermission(android.Manifest.permission.CHECK_REMOTE_LOCKSCREEN) public android.app.RemoteLockscreenValidationSession startRemoteLockscreenValidation();
1166    method @RequiresPermission(android.Manifest.permission.MANAGE_WEAK_ESCROW_TOKEN) public boolean unregisterWeakEscrowTokenRemovedListener(@NonNull android.app.KeyguardManager.WeakEscrowTokenRemovedListener);
1167    method @NonNull @RequiresPermission(android.Manifest.permission.CHECK_REMOTE_LOCKSCREEN) public android.app.RemoteLockscreenValidationResult validateRemoteLockscreen(@NonNull byte[]);
1168    field public static final int PASSWORD = 0; // 0x0
1169    field public static final int PATTERN = 2; // 0x2
1170    field public static final int PIN = 1; // 0x1
1171  }
1172
1173  public static interface KeyguardManager.WeakEscrowTokenActivatedListener {
1174    method public void onWeakEscrowTokenActivated(long, @NonNull android.os.UserHandle);
1175  }
1176
1177  public static interface KeyguardManager.WeakEscrowTokenRemovedListener {
1178    method public void onWeakEscrowTokenRemoved(long, @NonNull android.os.UserHandle);
1179  }
1180
1181  public class LocaleManager {
1182    method @RequiresPermission(android.Manifest.permission.CHANGE_CONFIGURATION) public void setApplicationLocales(@NonNull String, @NonNull android.os.LocaleList);
1183  }
1184
1185  public class Notification implements android.os.Parcelable {
1186    field public static final String CATEGORY_CAR_EMERGENCY = "car_emergency";
1187    field public static final String CATEGORY_CAR_INFORMATION = "car_information";
1188    field public static final String CATEGORY_CAR_WARNING = "car_warning";
1189    field @RequiresPermission(android.Manifest.permission.NOTIFICATION_DURING_SETUP) public static final String EXTRA_ALLOW_DURING_SETUP = "android.allowDuringSetup";
1190    field @RequiresPermission(android.Manifest.permission.SUBSTITUTE_NOTIFICATION_APP_NAME) public static final String EXTRA_SUBSTITUTE_APP_NAME = "android.substName";
1191    field public static final int FLAG_AUTOGROUP_SUMMARY = 1024; // 0x400
1192  }
1193
1194  public static class Notification.Action implements android.os.Parcelable {
1195    field public static final int SEMANTIC_ACTION_CONVERSATION_IS_PHISHING = 12; // 0xc
1196    field public static final int SEMANTIC_ACTION_MARK_CONVERSATION_AS_PRIORITY = 11; // 0xb
1197  }
1198
1199  public static final class Notification.TvExtender implements android.app.Notification.Extender {
1200    method public boolean getSuppressShowOverApps();
1201    method public android.app.Notification.TvExtender setChannel(String);
1202  }
1203
1204  public final class NotificationChannel implements android.os.Parcelable {
1205    method public int getUserLockedFields();
1206    method public boolean isDeleted();
1207    method public void populateFromXml(org.xmlpull.v1.XmlPullParser);
1208    method public org.json.JSONObject toJson() throws org.json.JSONException;
1209    method public void writeXml(org.xmlpull.v1.XmlSerializer) throws java.io.IOException;
1210    field public static final int USER_LOCKED_SOUND = 32; // 0x20
1211  }
1212
1213  public final class NotificationChannelGroup implements android.os.Parcelable {
1214    method public org.json.JSONObject toJson() throws org.json.JSONException;
1215  }
1216
1217  public class NotificationManager {
1218    method @NonNull public java.util.List<java.lang.String> getAllowedAssistantAdjustments();
1219    method @Nullable public android.content.ComponentName getAllowedNotificationAssistant();
1220    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_NOTIFICATION_LISTENERS) public java.util.List<android.content.ComponentName> getEnabledNotificationListeners();
1221    method public boolean isNotificationAssistantAccessGranted(@NonNull android.content.ComponentName);
1222    method @RequiresPermission(allOf={android.Manifest.permission.INTERACT_ACROSS_USERS, android.Manifest.permission.ACCESS_NOTIFICATIONS}) public void registerCallNotificationEventListener(@NonNull String, @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull android.app.NotificationManager.CallNotificationEventListener);
1223    method public void setNotificationAssistantAccessGranted(@Nullable android.content.ComponentName, boolean);
1224    method @RequiresPermission(android.Manifest.permission.MANAGE_NOTIFICATION_LISTENERS) public void setNotificationListenerAccessGranted(@NonNull android.content.ComponentName, boolean, boolean);
1225    method @RequiresPermission(allOf={android.Manifest.permission.INTERACT_ACROSS_USERS, android.Manifest.permission.ACCESS_NOTIFICATIONS}) public void unregisterCallNotificationEventListener(@NonNull android.app.NotificationManager.CallNotificationEventListener);
1226    field @RequiresPermission(android.Manifest.permission.STATUS_BAR_SERVICE) public static final String ACTION_CLOSE_NOTIFICATION_HANDLER_PANEL = "android.app.action.CLOSE_NOTIFICATION_HANDLER_PANEL";
1227    field @RequiresPermission(android.Manifest.permission.STATUS_BAR_SERVICE) public static final String ACTION_OPEN_NOTIFICATION_HANDLER_PANEL = "android.app.action.OPEN_NOTIFICATION_HANDLER_PANEL";
1228    field @RequiresPermission(android.Manifest.permission.STATUS_BAR_SERVICE) public static final String ACTION_TOGGLE_NOTIFICATION_HANDLER_PANEL = "android.app.action.TOGGLE_NOTIFICATION_HANDLER_PANEL";
1229  }
1230
1231  public static interface NotificationManager.CallNotificationEventListener {
1232    method public void onCallNotificationPosted(@NonNull String, @NonNull android.os.UserHandle);
1233    method public void onCallNotificationRemoved(@NonNull String, @NonNull android.os.UserHandle);
1234  }
1235
1236  public final class RemoteLockscreenValidationResult implements android.os.Parcelable {
1237    method public int describeContents();
1238    method public int getResultCode();
1239    method public long getTimeoutMillis();
1240    method public void writeToParcel(@NonNull android.os.Parcel, int);
1241    field @NonNull public static final android.os.Parcelable.Creator<android.app.RemoteLockscreenValidationResult> CREATOR;
1242    field public static final int RESULT_GUESS_INVALID = 2; // 0x2
1243    field public static final int RESULT_GUESS_VALID = 1; // 0x1
1244    field public static final int RESULT_LOCKOUT = 3; // 0x3
1245    field public static final int RESULT_NO_REMAINING_ATTEMPTS = 4; // 0x4
1246    field public static final int RESULT_SESSION_EXPIRED = 5; // 0x5
1247  }
1248
1249  public static final class RemoteLockscreenValidationResult.Builder {
1250    ctor public RemoteLockscreenValidationResult.Builder();
1251    method @NonNull public android.app.RemoteLockscreenValidationResult build();
1252    method @NonNull public android.app.RemoteLockscreenValidationResult.Builder setResultCode(int);
1253    method @NonNull public android.app.RemoteLockscreenValidationResult.Builder setTimeoutMillis(long);
1254  }
1255
1256  public final class RemoteLockscreenValidationSession implements android.os.Parcelable {
1257    method public int describeContents();
1258    method public int getLockType();
1259    method public int getRemainingAttempts();
1260    method @NonNull public byte[] getSourcePublicKey();
1261    method public void writeToParcel(@NonNull android.os.Parcel, int);
1262    field @NonNull public static final android.os.Parcelable.Creator<android.app.RemoteLockscreenValidationSession> CREATOR;
1263  }
1264
1265  public static final class RemoteLockscreenValidationSession.Builder {
1266    ctor public RemoteLockscreenValidationSession.Builder();
1267    method @NonNull public android.app.RemoteLockscreenValidationSession build();
1268    method @NonNull public android.app.RemoteLockscreenValidationSession.Builder setLockType(int);
1269    method @NonNull public android.app.RemoteLockscreenValidationSession.Builder setRemainingAttempts(int);
1270    method @NonNull public android.app.RemoteLockscreenValidationSession.Builder setSourcePublicKey(@NonNull byte[]);
1271  }
1272
1273  public final class RuntimeAppOpAccessMessage implements android.os.Parcelable {
1274    ctor public RuntimeAppOpAccessMessage(@IntRange(from=0L) int, @IntRange(from=0L) int, @NonNull String, @Nullable String, @NonNull String, int);
1275    method public int describeContents();
1276    method @Nullable public String getAttributionTag();
1277    method @NonNull public String getMessage();
1278    method @NonNull public String getOp();
1279    method @NonNull public String getPackageName();
1280    method public int getSamplingStrategy();
1281    method @IntRange(from=0L) public int getUid();
1282    method public void writeToParcel(@NonNull android.os.Parcel, int);
1283    field @NonNull public static final android.os.Parcelable.Creator<android.app.RuntimeAppOpAccessMessage> CREATOR;
1284  }
1285
1286  public class SearchManager implements android.content.DialogInterface.OnCancelListener android.content.DialogInterface.OnDismissListener {
1287    method public void launchAssist(@Nullable android.os.Bundle);
1288  }
1289
1290  public class StatsCursor extends android.database.AbstractCursor {
1291    method @NonNull public String[] getColumnNames();
1292    method public int getCount();
1293    method public double getDouble(int);
1294    method public float getFloat(int);
1295    method public int getInt(int);
1296    method public long getLong(int);
1297    method public short getShort(int);
1298    method @NonNull public String getString(int);
1299    method public boolean isNull(int);
1300  }
1301
1302  public final class StatsManager {
1303    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void addConfig(long, byte[]) throws android.app.StatsManager.StatsUnavailableException;
1304    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean addConfiguration(long, byte[]);
1305    method @RequiresPermission(android.Manifest.permission.REGISTER_STATS_PULL_ATOM) public void clearPullAtomCallback(int);
1306    method @Deprecated @Nullable @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public byte[] getData(long);
1307    method @Deprecated @Nullable @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public byte[] getMetadata();
1308    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public long[] getRegisteredExperimentIds() throws android.app.StatsManager.StatsUnavailableException;
1309    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public byte[] getReports(long) throws android.app.StatsManager.StatsUnavailableException;
1310    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public byte[] getStatsMetadata() throws android.app.StatsManager.StatsUnavailableException;
1311    method @RequiresPermission(android.Manifest.permission.READ_RESTRICTED_STATS) public void query(long, @NonNull String, @NonNull android.app.StatsQuery, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.app.StatsCursor,android.app.StatsManager.StatsQueryException>) throws android.app.StatsManager.StatsUnavailableException;
1312    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void removeConfig(long) throws android.app.StatsManager.StatsUnavailableException;
1313    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean removeConfiguration(long);
1314    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public long[] setActiveConfigsChangedOperation(@Nullable android.app.PendingIntent) throws android.app.StatsManager.StatsUnavailableException;
1315    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void setBroadcastSubscriber(android.app.PendingIntent, long, long) throws android.app.StatsManager.StatsUnavailableException;
1316    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean setBroadcastSubscriber(long, long, android.app.PendingIntent);
1317    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean setDataFetchOperation(long, android.app.PendingIntent);
1318    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void setFetchReportsOperation(android.app.PendingIntent, long) throws android.app.StatsManager.StatsUnavailableException;
1319    method @RequiresPermission(android.Manifest.permission.REGISTER_STATS_PULL_ATOM) public void setPullAtomCallback(int, @Nullable android.app.StatsManager.PullAtomMetadata, @NonNull java.util.concurrent.Executor, @NonNull android.app.StatsManager.StatsPullAtomCallback);
1320    method @NonNull @RequiresPermission(android.Manifest.permission.READ_RESTRICTED_STATS) public long[] setRestrictedMetricsChangedOperation(long, @NonNull String, @Nullable android.app.PendingIntent) throws android.app.StatsManager.StatsUnavailableException;
1321    field public static final String ACTION_STATSD_STARTED = "android.app.action.STATSD_STARTED";
1322    field public static final String EXTRA_STATS_ACTIVE_CONFIG_KEYS = "android.app.extra.STATS_ACTIVE_CONFIG_KEYS";
1323    field public static final String EXTRA_STATS_BROADCAST_SUBSCRIBER_COOKIES = "android.app.extra.STATS_BROADCAST_SUBSCRIBER_COOKIES";
1324    field public static final String EXTRA_STATS_CONFIG_KEY = "android.app.extra.STATS_CONFIG_KEY";
1325    field public static final String EXTRA_STATS_CONFIG_UID = "android.app.extra.STATS_CONFIG_UID";
1326    field public static final String EXTRA_STATS_DIMENSIONS_VALUE = "android.app.extra.STATS_DIMENSIONS_VALUE";
1327    field public static final String EXTRA_STATS_RESTRICTED_METRIC_IDS = "android.app.extra.STATS_RESTRICTED_METRIC_IDS";
1328    field public static final String EXTRA_STATS_SUBSCRIPTION_ID = "android.app.extra.STATS_SUBSCRIPTION_ID";
1329    field public static final String EXTRA_STATS_SUBSCRIPTION_RULE_ID = "android.app.extra.STATS_SUBSCRIPTION_RULE_ID";
1330    field public static final int PULL_SKIP = 1; // 0x1
1331    field public static final int PULL_SUCCESS = 0; // 0x0
1332  }
1333
1334  public static class StatsManager.PullAtomMetadata {
1335    method @Nullable public int[] getAdditiveFields();
1336    method public long getCoolDownMillis();
1337    method public long getTimeoutMillis();
1338  }
1339
1340  public static class StatsManager.PullAtomMetadata.Builder {
1341    ctor public StatsManager.PullAtomMetadata.Builder();
1342    method @NonNull public android.app.StatsManager.PullAtomMetadata build();
1343    method @NonNull public android.app.StatsManager.PullAtomMetadata.Builder setAdditiveFields(@NonNull int[]);
1344    method @NonNull public android.app.StatsManager.PullAtomMetadata.Builder setCoolDownMillis(long);
1345    method @NonNull public android.app.StatsManager.PullAtomMetadata.Builder setTimeoutMillis(long);
1346  }
1347
1348  public static interface StatsManager.StatsPullAtomCallback {
1349    method public int onPullAtom(int, @NonNull java.util.List<android.util.StatsEvent>);
1350  }
1351
1352  public static class StatsManager.StatsQueryException extends android.util.AndroidException {
1353    ctor public StatsManager.StatsQueryException(@NonNull String);
1354    ctor public StatsManager.StatsQueryException(@NonNull String, @NonNull Throwable);
1355  }
1356
1357  public static class StatsManager.StatsUnavailableException extends android.util.AndroidException {
1358    ctor public StatsManager.StatsUnavailableException(String);
1359    ctor public StatsManager.StatsUnavailableException(String, Throwable);
1360  }
1361
1362  public final class StatsQuery {
1363    method @IntRange(from=0) public int getMinSqlClientVersion();
1364    method @Nullable public byte[] getPolicyConfig();
1365    method @NonNull public String getRawSql();
1366    method public int getSqlDialect();
1367    field public static final int DIALECT_SQLITE = 1; // 0x1
1368    field public static final int DIALECT_UNKNOWN = 0; // 0x0
1369  }
1370
1371  public static final class StatsQuery.Builder {
1372    ctor public StatsQuery.Builder(@NonNull String);
1373    method @NonNull public android.app.StatsQuery build();
1374    method @NonNull public android.app.StatsQuery.Builder setMinSqlClientVersion(@IntRange(from=0) int);
1375    method @NonNull public android.app.StatsQuery.Builder setPolicyConfig(@NonNull byte[]);
1376    method @NonNull public android.app.StatsQuery.Builder setSqlDialect(int);
1377  }
1378
1379  public class StatusBarManager {
1380    method @NonNull @RequiresPermission(android.Manifest.permission.STATUS_BAR) public android.app.StatusBarManager.DisableInfo getDisableInfo();
1381    method @RequiresPermission(android.Manifest.permission.STATUS_BAR) public int getNavBarMode();
1382    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void registerNearbyMediaDevicesProvider(@NonNull android.media.NearbyMediaDevicesProvider);
1383    method @RequiresPermission(android.Manifest.permission.STATUS_BAR) public void setDisabledForSetup(boolean);
1384    method @RequiresPermission(android.Manifest.permission.STATUS_BAR) public void setNavBarMode(int);
1385    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void unregisterNearbyMediaDevicesProvider(@NonNull android.media.NearbyMediaDevicesProvider);
1386    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void updateMediaTapToTransferReceiverDisplay(int, @NonNull android.media.MediaRoute2Info, @Nullable android.graphics.drawable.Icon, @Nullable CharSequence);
1387    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void updateMediaTapToTransferSenderDisplay(int, @NonNull android.media.MediaRoute2Info, @Nullable java.util.concurrent.Executor, @Nullable Runnable);
1388    field public static final int MEDIA_TRANSFER_RECEIVER_STATE_CLOSE_TO_SENDER = 0; // 0x0
1389    field public static final int MEDIA_TRANSFER_RECEIVER_STATE_FAR_FROM_SENDER = 1; // 0x1
1390    field public static final int MEDIA_TRANSFER_RECEIVER_STATE_TRANSFER_TO_RECEIVER_FAILED = 3; // 0x3
1391    field public static final int MEDIA_TRANSFER_RECEIVER_STATE_TRANSFER_TO_RECEIVER_SUCCEEDED = 2; // 0x2
1392    field public static final int MEDIA_TRANSFER_SENDER_STATE_ALMOST_CLOSE_TO_END_CAST = 1; // 0x1
1393    field public static final int MEDIA_TRANSFER_SENDER_STATE_ALMOST_CLOSE_TO_START_CAST = 0; // 0x0
1394    field public static final int MEDIA_TRANSFER_SENDER_STATE_FAR_FROM_RECEIVER = 8; // 0x8
1395    field public static final int MEDIA_TRANSFER_SENDER_STATE_TRANSFER_TO_RECEIVER_FAILED = 6; // 0x6
1396    field public static final int MEDIA_TRANSFER_SENDER_STATE_TRANSFER_TO_RECEIVER_SUCCEEDED = 4; // 0x4
1397    field public static final int MEDIA_TRANSFER_SENDER_STATE_TRANSFER_TO_RECEIVER_TRIGGERED = 2; // 0x2
1398    field public static final int MEDIA_TRANSFER_SENDER_STATE_TRANSFER_TO_THIS_DEVICE_FAILED = 7; // 0x7
1399    field public static final int MEDIA_TRANSFER_SENDER_STATE_TRANSFER_TO_THIS_DEVICE_SUCCEEDED = 5; // 0x5
1400    field public static final int MEDIA_TRANSFER_SENDER_STATE_TRANSFER_TO_THIS_DEVICE_TRIGGERED = 3; // 0x3
1401    field public static final int NAV_BAR_MODE_DEFAULT = 0; // 0x0
1402    field public static final int NAV_BAR_MODE_KIDS = 1; // 0x1
1403  }
1404
1405  public static final class StatusBarManager.DisableInfo {
1406    method public boolean areAllComponentsEnabled();
1407    method public boolean isNavigateToHomeDisabled();
1408    method public boolean isNotificationPeekingDisabled();
1409    method public boolean isRecentsDisabled();
1410    method public boolean isSearchDisabled();
1411    method public boolean isStatusBarExpansionDisabled();
1412  }
1413
1414  public final class SystemServiceRegistry {
1415    method public static <TServiceClass> void registerContextAwareService(@NonNull String, @NonNull Class<TServiceClass>, @NonNull android.app.SystemServiceRegistry.ContextAwareServiceProducerWithBinder<TServiceClass>);
1416    method public static <TServiceClass> void registerContextAwareService(@NonNull String, @NonNull Class<TServiceClass>, @NonNull android.app.SystemServiceRegistry.ContextAwareServiceProducerWithoutBinder<TServiceClass>);
1417    method public static <TServiceClass> void registerStaticService(@NonNull String, @NonNull Class<TServiceClass>, @NonNull android.app.SystemServiceRegistry.StaticServiceProducerWithBinder<TServiceClass>);
1418    method public static <TServiceClass> void registerStaticService(@NonNull String, @NonNull Class<TServiceClass>, @NonNull android.app.SystemServiceRegistry.StaticServiceProducerWithoutBinder<TServiceClass>);
1419  }
1420
1421  public static interface SystemServiceRegistry.ContextAwareServiceProducerWithBinder<TServiceClass> {
1422    method @NonNull public TServiceClass createService(@NonNull android.content.Context, @NonNull android.os.IBinder);
1423  }
1424
1425  public static interface SystemServiceRegistry.ContextAwareServiceProducerWithoutBinder<TServiceClass> {
1426    method @NonNull public TServiceClass createService(@NonNull android.content.Context);
1427  }
1428
1429  public static interface SystemServiceRegistry.StaticServiceProducerWithBinder<TServiceClass> {
1430    method @NonNull public TServiceClass createService(@NonNull android.os.IBinder);
1431  }
1432
1433  public static interface SystemServiceRegistry.StaticServiceProducerWithoutBinder<TServiceClass> {
1434    method @NonNull public TServiceClass createService();
1435  }
1436
1437  public class UiModeManager {
1438    method @RequiresPermission(android.Manifest.permission.READ_PROJECTION_STATE) public void addOnProjectionStateChangedListener(int, @NonNull java.util.concurrent.Executor, @NonNull android.app.UiModeManager.OnProjectionStateChangedListener);
1439    method @RequiresPermission(android.Manifest.permission.ENTER_CAR_MODE_PRIORITIZED) public void enableCarMode(@IntRange(from=0) int, int);
1440    method @RequiresPermission(android.Manifest.permission.READ_PROJECTION_STATE) public int getActiveProjectionTypes();
1441    method @RequiresPermission(android.Manifest.permission.MODIFY_DAY_NIGHT_MODE) public int getNightModeCustomType();
1442    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PROJECTION_STATE) public java.util.Set<java.lang.String> getProjectingPackages(int);
1443    method @RequiresPermission(value=android.Manifest.permission.TOGGLE_AUTOMOTIVE_PROJECTION, conditional=true) public boolean releaseProjection(int);
1444    method @RequiresPermission(android.Manifest.permission.READ_PROJECTION_STATE) public void removeOnProjectionStateChangedListener(@NonNull android.app.UiModeManager.OnProjectionStateChangedListener);
1445    method @RequiresPermission(value=android.Manifest.permission.TOGGLE_AUTOMOTIVE_PROJECTION, conditional=true) public boolean requestProjection(int);
1446    method @RequiresPermission(android.Manifest.permission.MODIFY_DAY_NIGHT_MODE) public boolean setNightModeActivatedForCustomMode(int, boolean);
1447    method @RequiresPermission(android.Manifest.permission.MODIFY_DAY_NIGHT_MODE) public void setNightModeCustomType(int);
1448    field public static final String ACTION_ENTER_CAR_MODE_PRIORITIZED = "android.app.action.ENTER_CAR_MODE_PRIORITIZED";
1449    field public static final String ACTION_EXIT_CAR_MODE_PRIORITIZED = "android.app.action.EXIT_CAR_MODE_PRIORITIZED";
1450    field public static final int DEFAULT_PRIORITY = 0; // 0x0
1451    field public static final String EXTRA_CALLING_PACKAGE = "android.app.extra.CALLING_PACKAGE";
1452    field public static final String EXTRA_PRIORITY = "android.app.extra.PRIORITY";
1453    field public static final int MODE_NIGHT_CUSTOM_TYPE_BEDTIME = 1; // 0x1
1454    field public static final int MODE_NIGHT_CUSTOM_TYPE_SCHEDULE = 0; // 0x0
1455    field public static final int MODE_NIGHT_CUSTOM_TYPE_UNKNOWN = -1; // 0xffffffff
1456    field public static final int PROJECTION_TYPE_ALL = -1; // 0xffffffff
1457    field public static final int PROJECTION_TYPE_AUTOMOTIVE = 1; // 0x1
1458    field public static final int PROJECTION_TYPE_NONE = 0; // 0x0
1459  }
1460
1461  public static interface UiModeManager.OnProjectionStateChangedListener {
1462    method public void onProjectionStateChanged(int, @NonNull java.util.Set<java.lang.String>);
1463  }
1464
1465  public final class Vr2dDisplayProperties implements android.os.Parcelable {
1466    ctor public Vr2dDisplayProperties(int, int, int);
1467    method public int describeContents();
1468    method public void dump(@NonNull java.io.PrintWriter, @NonNull String);
1469    method public int getAddedFlags();
1470    method public int getDpi();
1471    method public int getHeight();
1472    method public int getRemovedFlags();
1473    method public int getWidth();
1474    method public void writeToParcel(android.os.Parcel, int);
1475    field @NonNull public static final android.os.Parcelable.Creator<android.app.Vr2dDisplayProperties> CREATOR;
1476    field public static final int FLAG_VIRTUAL_DISPLAY_ENABLED = 1; // 0x1
1477  }
1478
1479  public static final class Vr2dDisplayProperties.Builder {
1480    ctor public Vr2dDisplayProperties.Builder();
1481    method @NonNull public android.app.Vr2dDisplayProperties.Builder addFlags(int);
1482    method @NonNull public android.app.Vr2dDisplayProperties build();
1483    method @NonNull public android.app.Vr2dDisplayProperties.Builder removeFlags(int);
1484    method @NonNull public android.app.Vr2dDisplayProperties.Builder setDimensions(int, int, int);
1485    method @NonNull public android.app.Vr2dDisplayProperties.Builder setEnabled(boolean);
1486  }
1487
1488  public class VrManager {
1489    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public int getVr2dDisplayId();
1490    method @RequiresPermission(anyOf={android.Manifest.permission.RESTRICTED_VR_ACCESS, "android.permission.ACCESS_VR_STATE"}) public boolean isPersistentVrModeEnabled();
1491    method @RequiresPermission(anyOf={android.Manifest.permission.RESTRICTED_VR_ACCESS, "android.permission.ACCESS_VR_STATE"}) public boolean isVrModeEnabled();
1492    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);
1493    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public void setAndBindVrCompositor(android.content.ComponentName);
1494    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public void setPersistentVrModeEnabled(boolean);
1495    method @RequiresPermission("android.permission.ACCESS_VR_MANAGER") public void setStandbyEnabled(boolean);
1496    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public void setVr2dDisplayProperties(@NonNull android.app.Vr2dDisplayProperties);
1497    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public void setVrInputMethod(@Nullable android.content.ComponentName);
1498    method @RequiresPermission(anyOf={android.Manifest.permission.RESTRICTED_VR_ACCESS, "android.permission.ACCESS_VR_STATE"}) public void unregisterVrStateCallback(@NonNull android.app.VrStateCallback);
1499  }
1500
1501  public abstract class VrStateCallback {
1502    ctor public VrStateCallback();
1503    method public void onPersistentVrStateChanged(boolean);
1504    method public void onVrStateChanged(boolean);
1505  }
1506
1507  public final class WallpaperInfo implements android.os.Parcelable {
1508    method public boolean supportsAmbientMode();
1509  }
1510
1511  public class WallpaperManager {
1512    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public void clearWallpaper(int, int);
1513    method @FloatRange(from=0.0f, to=1.0f) @RequiresPermission(android.Manifest.permission.SET_WALLPAPER_DIM_AMOUNT) public float getWallpaperDimAmount();
1514    method public void setDisplayOffset(android.os.IBinder, int, int);
1515    method @RequiresPermission(android.Manifest.permission.SET_WALLPAPER_COMPONENT) public boolean setWallpaperComponent(android.content.ComponentName);
1516    method @RequiresPermission(android.Manifest.permission.SET_WALLPAPER_COMPONENT) public boolean setWallpaperComponentWithFlags(@NonNull android.content.ComponentName, int);
1517    method @RequiresPermission(android.Manifest.permission.SET_WALLPAPER_DIM_AMOUNT) public void setWallpaperDimAmount(@FloatRange(from=0.0f, to=1.0f) float);
1518  }
1519
1520}
1521
1522package android.app.admin {
1523
1524  public final class AccountTypePolicyKey extends android.app.admin.PolicyKey {
1525    method public int describeContents();
1526    method @NonNull public String getAccountType();
1527    method public void writeToParcel(@NonNull android.os.Parcel, int);
1528    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.AccountTypePolicyKey> CREATOR;
1529  }
1530
1531  public abstract class Authority implements android.os.Parcelable {
1532    method public int describeContents();
1533  }
1534
1535  public final class DeviceAdminAuthority extends android.app.admin.Authority {
1536    ctor public DeviceAdminAuthority();
1537    method public void writeToParcel(@NonNull android.os.Parcel, int);
1538    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.DeviceAdminAuthority> CREATOR;
1539  }
1540
1541  public final class DevicePolicyDrawableResource implements android.os.Parcelable {
1542    ctor public DevicePolicyDrawableResource(@NonNull android.content.Context, @NonNull String, @NonNull String, @DrawableRes int);
1543    ctor public DevicePolicyDrawableResource(@NonNull android.content.Context, @NonNull String, @NonNull String, @NonNull String, @DrawableRes int);
1544    method public int describeContents();
1545    method @NonNull public String getDrawableId();
1546    method @NonNull public String getDrawableSource();
1547    method @NonNull public String getDrawableStyle();
1548    method @DrawableRes public int getResourceIdInCallingPackage();
1549    method public void writeToParcel(@NonNull android.os.Parcel, int);
1550    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.DevicePolicyDrawableResource> CREATOR;
1551  }
1552
1553  public final class DevicePolicyIdentifiers {
1554    field public static final String AUDIT_LOGGING_POLICY = "auditLogging";
1555  }
1556
1557  public class DevicePolicyKeyguardService extends android.app.Service {
1558    ctor public DevicePolicyKeyguardService();
1559    method @Nullable public void dismiss();
1560    method @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent);
1561    method @Nullable public android.view.SurfaceControlViewHost.SurfacePackage onCreateKeyguardSurface(@NonNull android.os.IBinder);
1562  }
1563
1564  public class DevicePolicyManager {
1565    method @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public int checkProvisioningPrecondition(@NonNull String, @NonNull String);
1566    method @RequiresPermission(android.Manifest.permission.MANAGE_DEVICE_POLICY_AUDIT_LOGGING) public void clearAuditLogEventCallback();
1567    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public android.os.UserHandle createAndProvisionManagedProfile(@NonNull android.app.admin.ManagedProfileProvisioningParams) throws android.app.admin.ProvisioningException;
1568    method @Nullable public android.content.Intent createProvisioningIntentFromNfcIntent(@NonNull android.content.Intent);
1569    method @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public void finalizeWorkProfileProvisioning(@NonNull android.os.UserHandle, @Nullable android.accounts.Account);
1570    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_DEVICE_POLICY_APP_EXEMPTIONS) public java.util.Set<java.lang.Integer> getApplicationExemptions(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
1571    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public boolean getBluetoothContactSharingDisabled(@NonNull android.os.UserHandle);
1572    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public String getDeviceOwner();
1573    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS}) public android.content.ComponentName getDeviceOwnerComponentOnAnyUser();
1574    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS}) public String getDeviceOwnerNameOnAnyUser();
1575    method @Nullable public CharSequence getDeviceOwnerOrganizationName();
1576    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public android.os.UserHandle getDeviceOwnerUser();
1577    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public android.app.admin.DevicePolicyState getDevicePolicyState();
1578    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public String getFinancedDeviceKioskRoleHolder();
1579    method @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public int getMaxPolicyStorageLimit();
1580    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.QUERY_ADMIN_POLICY}) public java.util.List<java.lang.String> getPermittedAccessibilityServices(int);
1581    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.QUERY_ADMIN_POLICY}) public java.util.List<java.lang.String> getPermittedInputMethodsForCurrentUser();
1582    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public java.util.List<android.os.UserHandle> getPolicyManagedProfiles(@NonNull android.os.UserHandle);
1583    method @Nullable public android.content.ComponentName getProfileOwner() throws java.lang.IllegalArgumentException;
1584    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS}) public String getProfileOwnerNameAsUser(int) throws java.lang.IllegalArgumentException;
1585    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS}) public int getUserProvisioningState();
1586    method @RequiresPermission(android.Manifest.permission.MANAGE_DEVICE_POLICY_AUDIT_LOGGING) public boolean isAuditLogEnabled();
1587    method public boolean isDeviceManaged();
1588    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isDeviceProvisioned();
1589    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isDeviceProvisioningConfigApplied();
1590    method @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public boolean isDpcDownloaded();
1591    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS}) public boolean isManagedKiosk();
1592    method public boolean isSecondaryLockscreenEnabled(@NonNull android.os.UserHandle);
1593    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS}) public boolean isUnattendedManagedKiosk();
1594    method @RequiresPermission("android.permission.NOTIFY_PENDING_SYSTEM_UPDATE") public void notifyPendingSystemUpdate(long);
1595    method @RequiresPermission("android.permission.NOTIFY_PENDING_SYSTEM_UPDATE") public void notifyPendingSystemUpdate(long, boolean);
1596    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public boolean packageHasActiveAdmins(String);
1597    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS, android.Manifest.permission.PROVISION_DEMO_DEVICE}) public void provisionFullyManagedDevice(@NonNull android.app.admin.FullyManagedDeviceProvisioningParams) throws android.app.admin.ProvisioningException;
1598    method @RequiresPermission(android.Manifest.permission.TRIGGER_LOST_MODE) public void sendLostModeLocationUpdate(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
1599    method @Deprecated @RequiresPermission(android.Manifest.permission.MANAGE_DEVICE_ADMINS) public boolean setActiveProfileOwner(@NonNull android.content.ComponentName, String) throws java.lang.IllegalArgumentException;
1600    method @RequiresPermission(android.Manifest.permission.MANAGE_DEVICE_POLICY_APP_EXEMPTIONS) public void setApplicationExemptions(@NonNull String, @NonNull java.util.Set<java.lang.Integer>) throws android.content.pm.PackageManager.NameNotFoundException;
1601    method @RequiresPermission(android.Manifest.permission.MANAGE_DEVICE_POLICY_AUDIT_LOGGING) public void setAuditLogEnabled(boolean);
1602    method @RequiresPermission(android.Manifest.permission.MANAGE_DEVICE_POLICY_AUDIT_LOGGING) public void setAuditLogEventCallback(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.util.List<android.app.admin.SecurityLog.SecurityEvent>>);
1603    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void setDeviceProvisioningConfigApplied();
1604    method @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public void setDpcDownloaded(boolean);
1605    method @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public void setMaxPolicyStorageLimit(int);
1606    method @Deprecated @RequiresPermission(value=android.Manifest.permission.GRANT_PROFILE_OWNER_DEVICE_IDS_ACCESS, conditional=true) public void setProfileOwnerCanAccessDeviceIds(@NonNull android.content.ComponentName);
1607    method public void setSecondaryLockscreenEnabled(@NonNull android.content.ComponentName, boolean);
1608    method @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public void setUserProvisioningState(int, @NonNull android.os.UserHandle);
1609    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public boolean shouldAllowBypassingDevicePolicyManagementRoleQualification();
1610    field public static final String ACCOUNT_FEATURE_DEVICE_OR_PROFILE_OWNER_ALLOWED = "android.account.DEVICE_OR_PROFILE_OWNER_ALLOWED";
1611    field public static final String ACCOUNT_FEATURE_DEVICE_OR_PROFILE_OWNER_DISALLOWED = "android.account.DEVICE_OR_PROFILE_OWNER_DISALLOWED";
1612    field public static final String ACTION_BIND_SECONDARY_LOCKSCREEN_SERVICE = "android.app.action.BIND_SECONDARY_LOCKSCREEN_SERVICE";
1613    field @RequiresPermission(android.Manifest.permission.DISPATCH_PROVISIONING_MESSAGE) public static final String ACTION_ESTABLISH_NETWORK_CONNECTION = "android.app.action.ESTABLISH_NETWORK_CONNECTION";
1614    field public static final String ACTION_LOST_MODE_LOCATION_UPDATE = "android.app.action.LOST_MODE_LOCATION_UPDATE";
1615    field public static final String ACTION_PROVISION_FINALIZATION = "android.app.action.PROVISION_FINALIZATION";
1616    field public static final String ACTION_PROVISION_FINANCED_DEVICE = "android.app.action.PROVISION_FINANCED_DEVICE";
1617    field public static final String ACTION_PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE = "android.app.action.PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE";
1618    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";
1619    field @RequiresPermission(android.Manifest.permission.LAUNCH_DEVICE_MANAGER_SETUP) public static final String ACTION_ROLE_HOLDER_PROVISION_FINALIZATION = "android.app.action.ROLE_HOLDER_PROVISION_FINALIZATION";
1620    field @RequiresPermission(android.Manifest.permission.LAUNCH_DEVICE_MANAGER_SETUP) public static final String ACTION_ROLE_HOLDER_PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE = "android.app.action.ROLE_HOLDER_PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE";
1621    field @RequiresPermission(android.Manifest.permission.LAUNCH_DEVICE_MANAGER_SETUP) public static final String ACTION_ROLE_HOLDER_PROVISION_MANAGED_PROFILE = "android.app.action.ROLE_HOLDER_PROVISION_MANAGED_PROFILE";
1622    field public static final String ACTION_SET_PROFILE_OWNER = "android.app.action.SET_PROFILE_OWNER";
1623    field @Deprecated public static final String ACTION_STATE_USER_SETUP_COMPLETE = "android.app.action.STATE_USER_SETUP_COMPLETE";
1624    field @RequiresPermission(android.Manifest.permission.LAUNCH_DEVICE_MANAGER_SETUP) public static final String ACTION_UPDATE_DEVICE_POLICY_MANAGEMENT_ROLE_HOLDER = "android.app.action.UPDATE_DEVICE_POLICY_MANAGEMENT_ROLE_HOLDER";
1625    field public static final int EXEMPT_FROM_ACTIVITY_BG_START_RESTRICTION = 2; // 0x2
1626    field public static final int EXEMPT_FROM_DISMISSIBLE_NOTIFICATIONS = 1; // 0x1
1627    field public static final int EXEMPT_FROM_HIBERNATION = 3; // 0x3
1628    field public static final int EXEMPT_FROM_POWER_RESTRICTIONS = 4; // 0x4
1629    field public static final int EXEMPT_FROM_SUSPENSION = 0; // 0x0
1630    field public static final String EXTRA_FORCE_UPDATE_ROLE_HOLDER = "android.app.extra.FORCE_UPDATE_ROLE_HOLDER";
1631    field public static final String EXTRA_LOST_MODE_LOCATION = "android.app.extra.LOST_MODE_LOCATION";
1632    field public static final String EXTRA_PROFILE_OWNER_NAME = "android.app.extra.PROFILE_OWNER_NAME";
1633    field @Deprecated public static final String EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_ICON_URI = "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_ICON_URI";
1634    field @Deprecated public static final String EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_LABEL = "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_LABEL";
1635    field public static final String EXTRA_PROVISIONING_ORGANIZATION_NAME = "android.app.extra.PROVISIONING_ORGANIZATION_NAME";
1636    field public static final String EXTRA_PROVISIONING_RETURN_BEFORE_POLICY_COMPLIANCE = "android.app.extra.PROVISIONING_RETURN_BEFORE_POLICY_COMPLIANCE";
1637    field public static final String EXTRA_PROVISIONING_ROLE_HOLDER_CUSTOM_USER_CONSENT_INTENT = "android.app.extra.PROVISIONING_ROLE_HOLDER_CUSTOM_USER_CONSENT_INTENT";
1638    field public static final String EXTRA_PROVISIONING_ROLE_HOLDER_EXTRAS_BUNDLE = "android.app.extra.PROVISIONING_ROLE_HOLDER_EXTRAS_BUNDLE";
1639    field public static final String EXTRA_PROVISIONING_ROLE_HOLDER_PACKAGE_DOWNLOAD_COOKIE_HEADER = "android.app.extra.PROVISIONING_ROLE_HOLDER_PACKAGE_DOWNLOAD_COOKIE_HEADER";
1640    field public static final String EXTRA_PROVISIONING_ROLE_HOLDER_PACKAGE_DOWNLOAD_LOCATION = "android.app.extra.PROVISIONING_ROLE_HOLDER_PACKAGE_DOWNLOAD_LOCATION";
1641    field public static final String EXTRA_PROVISIONING_ROLE_HOLDER_SIGNATURE_CHECKSUM = "android.app.extra.PROVISIONING_ROLE_HOLDER_SIGNATURE_CHECKSUM";
1642    field public static final String EXTRA_PROVISIONING_SKIP_OWNERSHIP_DISCLAIMER = "android.app.extra.PROVISIONING_SKIP_OWNERSHIP_DISCLAIMER";
1643    field public static final String EXTRA_PROVISIONING_SUPPORTED_MODES = "android.app.extra.PROVISIONING_SUPPORTED_MODES";
1644    field public static final String EXTRA_PROVISIONING_SUPPORT_URL = "android.app.extra.PROVISIONING_SUPPORT_URL";
1645    field public static final String EXTRA_PROVISIONING_TRIGGER = "android.app.extra.PROVISIONING_TRIGGER";
1646    field public static final String EXTRA_RESTRICTION = "android.app.extra.RESTRICTION";
1647    field public static final String EXTRA_ROLE_HOLDER_PROVISIONING_INITIATOR_PACKAGE = "android.app.extra.ROLE_HOLDER_PROVISIONING_INITIATOR_PACKAGE";
1648    field public static final String EXTRA_ROLE_HOLDER_STATE = "android.app.extra.ROLE_HOLDER_STATE";
1649    field public static final String EXTRA_ROLE_HOLDER_UPDATE_RESULT_CODE = "android.app.extra.ROLE_HOLDER_UPDATE_RESULT_CODE";
1650    field public static final int FLAG_SUPPORTED_MODES_DEVICE_OWNER = 4; // 0x4
1651    field public static final int FLAG_SUPPORTED_MODES_ORGANIZATION_OWNED = 1; // 0x1
1652    field public static final int FLAG_SUPPORTED_MODES_PERSONALLY_OWNED = 2; // 0x2
1653    field public static final int PROVISIONING_TRIGGER_CLOUD_ENROLLMENT = 1; // 0x1
1654    field public static final int PROVISIONING_TRIGGER_MANAGED_ACCOUNT = 4; // 0x4
1655    field public static final int PROVISIONING_TRIGGER_NFC = 5; // 0x5
1656    field @Deprecated public static final int PROVISIONING_TRIGGER_PERSISTENT_DEVICE_OWNER = 3; // 0x3
1657    field public static final int PROVISIONING_TRIGGER_QR_CODE = 2; // 0x2
1658    field public static final int PROVISIONING_TRIGGER_UNSPECIFIED = 0; // 0x0
1659    field public static final String REQUIRED_APP_MANAGED_DEVICE = "android.app.REQUIRED_APP_MANAGED_DEVICE";
1660    field public static final String REQUIRED_APP_MANAGED_PROFILE = "android.app.REQUIRED_APP_MANAGED_PROFILE";
1661    field public static final String REQUIRED_APP_MANAGED_USER = "android.app.REQUIRED_APP_MANAGED_USER";
1662    field public static final int RESULT_DEVICE_OWNER_SET = 123; // 0x7b
1663    field public static final int RESULT_UPDATE_DEVICE_POLICY_MANAGEMENT_ROLE_HOLDER_PROVISIONING_DISABLED = 3; // 0x3
1664    field public static final int RESULT_UPDATE_DEVICE_POLICY_MANAGEMENT_ROLE_HOLDER_RECOVERABLE_ERROR = 1; // 0x1
1665    field public static final int RESULT_UPDATE_DEVICE_POLICY_MANAGEMENT_ROLE_HOLDER_UNRECOVERABLE_ERROR = 2; // 0x2
1666    field public static final int RESULT_UPDATE_ROLE_HOLDER = 2; // 0x2
1667    field public static final int RESULT_WORK_PROFILE_CREATED = 122; // 0x7a
1668    field public static final int STATE_USER_PROFILE_COMPLETE = 4; // 0x4
1669    field public static final int STATE_USER_PROFILE_FINALIZED = 5; // 0x5
1670    field public static final int STATE_USER_SETUP_COMPLETE = 2; // 0x2
1671    field public static final int STATE_USER_SETUP_FINALIZED = 3; // 0x3
1672    field public static final int STATE_USER_SETUP_INCOMPLETE = 1; // 0x1
1673    field public static final int STATE_USER_UNMANAGED = 0; // 0x0
1674    field public static final int STATUS_ACCOUNTS_NOT_EMPTY = 6; // 0x6
1675    field public static final int STATUS_CANNOT_ADD_MANAGED_PROFILE = 11; // 0xb
1676    field public static final int STATUS_DEVICE_ADMIN_NOT_SUPPORTED = 13; // 0xd
1677    field public static final int STATUS_HAS_DEVICE_OWNER = 1; // 0x1
1678    field public static final int STATUS_HAS_PAIRED = 8; // 0x8
1679    field public static final int STATUS_HEADLESS_ONLY_SYSTEM_USER = 17; // 0x11
1680    field public static final int STATUS_HEADLESS_SYSTEM_USER_MODE_NOT_SUPPORTED = 16; // 0x10
1681    field public static final int STATUS_MANAGED_USERS_NOT_SUPPORTED = 9; // 0x9
1682    field public static final int STATUS_NONSYSTEM_USER_EXISTS = 5; // 0x5
1683    field public static final int STATUS_NOT_SYSTEM_USER = 7; // 0x7
1684    field public static final int STATUS_OK = 0; // 0x0
1685    field public static final int STATUS_PROVISIONING_NOT_ALLOWED_FOR_NON_DEVELOPER_USERS = 15; // 0xf
1686    field public static final int STATUS_SYSTEM_USER = 10; // 0xa
1687    field public static final int STATUS_UNKNOWN_ERROR = -1; // 0xffffffff
1688    field public static final int STATUS_USER_HAS_PROFILE_OWNER = 2; // 0x2
1689    field public static final int STATUS_USER_NOT_RUNNING = 3; // 0x3
1690    field public static final int STATUS_USER_SETUP_COMPLETED = 4; // 0x4
1691  }
1692
1693  public static final class DevicePolicyResources.Strings {
1694  }
1695
1696  public static final class DevicePolicyResources.Strings.DefaultAppSettings {
1697    field public static final String HOME_MISSING_WORK_PROFILE_SUPPORT_MESSAGE = "DefaultAppSettings.HOME_MISSING_WORK_PROFILE_SUPPORT_MESSAGE";
1698    field public static final String WORK_PROFILE_DEFAULT_APPS_TITLE = "DefaultAppSettings.WORK_PROFILE_DEFAULT_APPS_TITLE";
1699  }
1700
1701  public static final class DevicePolicyResources.Strings.PermissionSettings {
1702    field public static final String BACKGROUND_ACCESS_DISABLED_BY_ADMIN_MESSAGE = "PermissionSettings.BACKGROUND_ACCESS_DISABLED_BY_ADMIN_MESSAGE";
1703    field public static final String BACKGROUND_ACCESS_ENABLED_BY_ADMIN_MESSAGE = "PermissionSettings.BACKGROUND_ACCESS_ENABLED_BY_ADMIN_MESSAGE";
1704    field public static final String FOREGROUND_ACCESS_ENABLED_BY_ADMIN_MESSAGE = "PermissionSettings.FOREGROUND_ACCESS_ENABLED_BY_ADMIN_MESSAGE";
1705    field public static final String LOCATION_AUTO_GRANTED_MESSAGE = "PermissionSettings.LOCATION_AUTO_GRANTED_MESSAGE";
1706  }
1707
1708  public class DevicePolicyResourcesManager {
1709    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_MANAGEMENT_RESOURCES) public void resetDrawables(@NonNull java.util.Set<java.lang.String>);
1710    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_MANAGEMENT_RESOURCES) public void resetStrings(@NonNull java.util.Set<java.lang.String>);
1711    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_MANAGEMENT_RESOURCES) public void setDrawables(@NonNull java.util.Set<android.app.admin.DevicePolicyDrawableResource>);
1712    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_MANAGEMENT_RESOURCES) public void setStrings(@NonNull java.util.Set<android.app.admin.DevicePolicyStringResource>);
1713  }
1714
1715  public final class DevicePolicyState implements android.os.Parcelable {
1716    method public int describeContents();
1717    method @NonNull public java.util.Map<android.os.UserHandle,java.util.Map<android.app.admin.PolicyKey,android.app.admin.PolicyState<?>>> getPoliciesForAllUsers();
1718    method @NonNull public java.util.Map<android.app.admin.PolicyKey,android.app.admin.PolicyState<?>> getPoliciesForUser(@NonNull android.os.UserHandle);
1719    method public void writeToParcel(@NonNull android.os.Parcel, int);
1720    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.DevicePolicyState> CREATOR;
1721  }
1722
1723  public final class DevicePolicyStringResource implements android.os.Parcelable {
1724    ctor public DevicePolicyStringResource(@NonNull android.content.Context, @NonNull String, @StringRes int);
1725    method public int describeContents();
1726    method public int getResourceIdInCallingPackage();
1727    method @NonNull public String getStringId();
1728    method public void writeToParcel(@NonNull android.os.Parcel, int);
1729    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.DevicePolicyStringResource> CREATOR;
1730  }
1731
1732  public final class DpcAuthority extends android.app.admin.Authority {
1733    ctor public DpcAuthority();
1734    method public void writeToParcel(@NonNull android.os.Parcel, int);
1735    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.DpcAuthority> CREATOR;
1736  }
1737
1738  public final class EnforcingAdmin implements android.os.Parcelable {
1739    ctor public EnforcingAdmin(@NonNull String, @NonNull android.app.admin.Authority, @NonNull android.os.UserHandle);
1740    method public int describeContents();
1741    method @NonNull public android.app.admin.Authority getAuthority();
1742    method @NonNull public String getPackageName();
1743    method @NonNull public android.os.UserHandle getUserHandle();
1744    method public void writeToParcel(@NonNull android.os.Parcel, int);
1745    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.EnforcingAdmin> CREATOR;
1746  }
1747
1748  public final class FullyManagedDeviceProvisioningParams implements android.os.Parcelable {
1749    method public boolean canDeviceOwnerGrantSensorsPermissions();
1750    method public int describeContents();
1751    method @NonNull public android.os.PersistableBundle getAdminExtras();
1752    method @NonNull public android.content.ComponentName getDeviceAdminComponentName();
1753    method public long getLocalTime();
1754    method @Nullable public java.util.Locale getLocale();
1755    method @NonNull public String getOwnerName();
1756    method @Nullable public String getTimeZone();
1757    method public boolean isDemoDevice();
1758    method public boolean isLeaveAllSystemAppsEnabled();
1759    method public void writeToParcel(@NonNull android.os.Parcel, @Nullable int);
1760    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.FullyManagedDeviceProvisioningParams> CREATOR;
1761  }
1762
1763  public static final class FullyManagedDeviceProvisioningParams.Builder {
1764    ctor public FullyManagedDeviceProvisioningParams.Builder(@NonNull android.content.ComponentName, @NonNull String);
1765    method @NonNull public android.app.admin.FullyManagedDeviceProvisioningParams build();
1766    method @NonNull public android.app.admin.FullyManagedDeviceProvisioningParams.Builder setAdminExtras(@NonNull android.os.PersistableBundle);
1767    method @NonNull public android.app.admin.FullyManagedDeviceProvisioningParams.Builder setCanDeviceOwnerGrantSensorsPermissions(boolean);
1768    method @NonNull public android.app.admin.FullyManagedDeviceProvisioningParams.Builder setDemoDevice(boolean);
1769    method @NonNull public android.app.admin.FullyManagedDeviceProvisioningParams.Builder setLeaveAllSystemAppsEnabled(boolean);
1770    method @NonNull public android.app.admin.FullyManagedDeviceProvisioningParams.Builder setLocalTime(long);
1771    method @NonNull public android.app.admin.FullyManagedDeviceProvisioningParams.Builder setLocale(@Nullable java.util.Locale);
1772    method @NonNull public android.app.admin.FullyManagedDeviceProvisioningParams.Builder setTimeZone(@Nullable String);
1773  }
1774
1775  public final class IntentFilterPolicyKey extends android.app.admin.PolicyKey {
1776    method public int describeContents();
1777    method @NonNull public android.content.IntentFilter getIntentFilter();
1778    method public void writeToParcel(@NonNull android.os.Parcel, int);
1779    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.IntentFilterPolicyKey> CREATOR;
1780  }
1781
1782  public final class LockTaskPolicy implements android.os.Parcelable {
1783    method public int describeContents();
1784    method public int getFlags();
1785    method @NonNull public java.util.Set<java.lang.String> getPackages();
1786    method public void writeToParcel(@NonNull android.os.Parcel, int);
1787    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.LockTaskPolicy> CREATOR;
1788  }
1789
1790  public final class ManagedProfileProvisioningParams implements android.os.Parcelable {
1791    method public int describeContents();
1792    method @Nullable public android.accounts.Account getAccountToMigrate();
1793    method @NonNull public android.os.PersistableBundle getAdminExtras();
1794    method @NonNull public String getOwnerName();
1795    method @NonNull public android.content.ComponentName getProfileAdminComponentName();
1796    method @Nullable public String getProfileName();
1797    method public boolean isKeepingAccountOnMigration();
1798    method public boolean isLeaveAllSystemAppsEnabled();
1799    method public boolean isOrganizationOwnedProvisioning();
1800    method public void writeToParcel(@NonNull android.os.Parcel, @Nullable int);
1801    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.ManagedProfileProvisioningParams> CREATOR;
1802  }
1803
1804  public static final class ManagedProfileProvisioningParams.Builder {
1805    ctor public ManagedProfileProvisioningParams.Builder(@NonNull android.content.ComponentName, @NonNull String);
1806    method @NonNull public android.app.admin.ManagedProfileProvisioningParams build();
1807    method @NonNull public android.app.admin.ManagedProfileProvisioningParams.Builder setAccountToMigrate(@Nullable android.accounts.Account);
1808    method @NonNull public android.app.admin.ManagedProfileProvisioningParams.Builder setAdminExtras(@NonNull android.os.PersistableBundle);
1809    method @NonNull public android.app.admin.ManagedProfileProvisioningParams.Builder setKeepingAccountOnMigration(boolean);
1810    method @NonNull public android.app.admin.ManagedProfileProvisioningParams.Builder setLeaveAllSystemAppsEnabled(boolean);
1811    method @NonNull public android.app.admin.ManagedProfileProvisioningParams.Builder setOrganizationOwnedProvisioning(boolean);
1812    method @NonNull public android.app.admin.ManagedProfileProvisioningParams.Builder setProfileName(@Nullable String);
1813  }
1814
1815  public final class NoArgsPolicyKey extends android.app.admin.PolicyKey {
1816    method public int describeContents();
1817    method public void writeToParcel(@NonNull android.os.Parcel, int);
1818    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.NoArgsPolicyKey> CREATOR;
1819  }
1820
1821  public final class PackagePermissionPolicyKey extends android.app.admin.PolicyKey {
1822    method public int describeContents();
1823    method @NonNull public String getPackageName();
1824    method @NonNull public String getPermissionName();
1825    method public void writeToParcel(@NonNull android.os.Parcel, int);
1826    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.PackagePermissionPolicyKey> CREATOR;
1827  }
1828
1829  public final class PackagePolicyKey extends android.app.admin.PolicyKey {
1830    method public int describeContents();
1831    method @NonNull public String getPackageName();
1832    method public void writeToParcel(@NonNull android.os.Parcel, int);
1833    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.PackagePolicyKey> CREATOR;
1834  }
1835
1836  public abstract class PolicyKey implements android.os.Parcelable {
1837    method @NonNull public String getIdentifier();
1838  }
1839
1840  public final class PolicyState<V> implements android.os.Parcelable {
1841    method public int describeContents();
1842    method @Nullable public V getCurrentResolvedPolicy();
1843    method @NonNull public java.util.LinkedHashMap<android.app.admin.EnforcingAdmin,V> getPoliciesSetByAdmins();
1844    method public void writeToParcel(@NonNull android.os.Parcel, int);
1845    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.PolicyState<?>> CREATOR;
1846  }
1847
1848  public class ProvisioningException extends android.util.AndroidException {
1849    ctor public ProvisioningException(@NonNull Exception, int);
1850    ctor public ProvisioningException(@NonNull Exception, int, @Nullable String);
1851    method public int getProvisioningError();
1852    field public static final int ERROR_ADMIN_PACKAGE_INSTALLATION_FAILED = 3; // 0x3
1853    field public static final int ERROR_PRE_CONDITION_FAILED = 1; // 0x1
1854    field public static final int ERROR_PROFILE_CREATION_FAILED = 2; // 0x2
1855    field public static final int ERROR_REMOVE_NON_REQUIRED_APPS_FAILED = 6; // 0x6
1856    field public static final int ERROR_SETTING_PROFILE_OWNER_FAILED = 4; // 0x4
1857    field public static final int ERROR_SET_DEVICE_OWNER_FAILED = 7; // 0x7
1858    field public static final int ERROR_STARTING_PROFILE_FAILED = 5; // 0x5
1859    field public static final int ERROR_UNKNOWN = 0; // 0x0
1860  }
1861
1862  public final class RoleAuthority extends android.app.admin.Authority {
1863    ctor public RoleAuthority(@NonNull java.util.Set<java.lang.String>);
1864    method @NonNull public java.util.Set<java.lang.String> getRoles();
1865    method public void writeToParcel(@NonNull android.os.Parcel, int);
1866    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.RoleAuthority> CREATOR;
1867  }
1868
1869  public class SecurityLog {
1870    method @RequiresPermission(android.Manifest.permission.WRITE_SECURITY_LOG) public static int writeEvent(int, @NonNull java.lang.Object...);
1871  }
1872
1873  public final class SystemUpdatePolicy implements android.os.Parcelable {
1874    method public android.app.admin.SystemUpdatePolicy.InstallationOption getInstallationOptionAt(long);
1875    field public static final int TYPE_PAUSE = 4; // 0x4
1876  }
1877
1878  public static class SystemUpdatePolicy.InstallationOption {
1879    method public long getEffectiveTime();
1880    method public int getType();
1881  }
1882
1883  public final class UnknownAuthority extends android.app.admin.Authority {
1884    ctor public UnknownAuthority();
1885    method public void writeToParcel(@NonNull android.os.Parcel, int);
1886    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.UnknownAuthority> CREATOR;
1887  }
1888
1889  public final class UserRestrictionPolicyKey extends android.app.admin.PolicyKey {
1890    method public int describeContents();
1891    method @NonNull public String getRestriction();
1892    method public void writeToParcel(@NonNull android.os.Parcel, int);
1893    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.UserRestrictionPolicyKey> CREATOR;
1894  }
1895
1896}
1897
1898package android.app.ambientcontext {
1899
1900  public final class AmbientContextEvent implements android.os.Parcelable {
1901    method public int describeContents();
1902    method public int getConfidenceLevel();
1903    method public int getDensityLevel();
1904    method @NonNull public java.time.Instant getEndTime();
1905    method public int getEventType();
1906    method @NonNull public java.time.Instant getStartTime();
1907    method @NonNull public android.os.PersistableBundle getVendorData();
1908    method public void writeToParcel(@NonNull android.os.Parcel, int);
1909    field @NonNull public static final android.os.Parcelable.Creator<android.app.ambientcontext.AmbientContextEvent> CREATOR;
1910    field public static final int EVENT_BACK_DOUBLE_TAP = 3; // 0x3
1911    field public static final int EVENT_COUGH = 1; // 0x1
1912    field public static final int EVENT_SNORE = 2; // 0x2
1913    field public static final int EVENT_UNKNOWN = 0; // 0x0
1914    field public static final int EVENT_VENDOR_WEARABLE_START = 100000; // 0x186a0
1915    field public static final String KEY_VENDOR_WEARABLE_EVENT_NAME = "wearable_event_name";
1916    field public static final int LEVEL_HIGH = 5; // 0x5
1917    field public static final int LEVEL_LOW = 1; // 0x1
1918    field public static final int LEVEL_MEDIUM = 3; // 0x3
1919    field public static final int LEVEL_MEDIUM_HIGH = 4; // 0x4
1920    field public static final int LEVEL_MEDIUM_LOW = 2; // 0x2
1921    field public static final int LEVEL_UNKNOWN = 0; // 0x0
1922  }
1923
1924  public static final class AmbientContextEvent.Builder {
1925    ctor public AmbientContextEvent.Builder();
1926    method @NonNull public android.app.ambientcontext.AmbientContextEvent build();
1927    method @NonNull public android.app.ambientcontext.AmbientContextEvent.Builder setConfidenceLevel(int);
1928    method @NonNull public android.app.ambientcontext.AmbientContextEvent.Builder setDensityLevel(int);
1929    method @NonNull public android.app.ambientcontext.AmbientContextEvent.Builder setEndTime(@NonNull java.time.Instant);
1930    method @NonNull public android.app.ambientcontext.AmbientContextEvent.Builder setEventType(int);
1931    method @NonNull public android.app.ambientcontext.AmbientContextEvent.Builder setStartTime(@NonNull java.time.Instant);
1932    method @NonNull public android.app.ambientcontext.AmbientContextEvent.Builder setVendorData(@NonNull android.os.PersistableBundle);
1933  }
1934
1935  public final class AmbientContextEventRequest implements android.os.Parcelable {
1936    method public int describeContents();
1937    method @NonNull public java.util.Set<java.lang.Integer> getEventTypes();
1938    method @NonNull public android.os.PersistableBundle getOptions();
1939    method public void writeToParcel(@NonNull android.os.Parcel, int);
1940    field @NonNull public static final android.os.Parcelable.Creator<android.app.ambientcontext.AmbientContextEventRequest> CREATOR;
1941  }
1942
1943  public static final class AmbientContextEventRequest.Builder {
1944    ctor public AmbientContextEventRequest.Builder();
1945    method @NonNull public android.app.ambientcontext.AmbientContextEventRequest.Builder addEventType(int);
1946    method @NonNull public android.app.ambientcontext.AmbientContextEventRequest build();
1947    method @NonNull public android.app.ambientcontext.AmbientContextEventRequest.Builder setOptions(@NonNull android.os.PersistableBundle);
1948  }
1949
1950  public final class AmbientContextManager {
1951    method @NonNull public static java.util.List<android.app.ambientcontext.AmbientContextEvent> getEventsFromIntent(@NonNull android.content.Intent);
1952    method @RequiresPermission(android.Manifest.permission.ACCESS_AMBIENT_CONTEXT_EVENT) public void queryAmbientContextServiceStatus(@NonNull java.util.Set<java.lang.Integer>, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
1953    method @RequiresPermission(android.Manifest.permission.ACCESS_AMBIENT_CONTEXT_EVENT) public void registerObserver(@NonNull android.app.ambientcontext.AmbientContextEventRequest, @NonNull android.app.PendingIntent, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
1954    method @RequiresPermission(android.Manifest.permission.ACCESS_AMBIENT_CONTEXT_EVENT) public void startConsentActivity(@NonNull java.util.Set<java.lang.Integer>);
1955    method @RequiresPermission(android.Manifest.permission.ACCESS_AMBIENT_CONTEXT_EVENT) public void unregisterObserver();
1956    field public static final String EXTRA_AMBIENT_CONTEXT_EVENTS = "android.app.ambientcontext.extra.AMBIENT_CONTEXT_EVENTS";
1957    field public static final int STATUS_ACCESS_DENIED = 5; // 0x5
1958    field public static final int STATUS_MICROPHONE_DISABLED = 4; // 0x4
1959    field public static final int STATUS_NOT_SUPPORTED = 2; // 0x2
1960    field public static final int STATUS_SERVICE_UNAVAILABLE = 3; // 0x3
1961    field public static final int STATUS_SUCCESS = 1; // 0x1
1962    field public static final int STATUS_UNKNOWN = 0; // 0x0
1963  }
1964
1965}
1966
1967package android.app.appsearch {
1968
1969  public class AppSearchManagerFrameworkInitializer {
1970    method public static void initialize();
1971  }
1972
1973}
1974
1975package android.app.assist {
1976
1977  public final class ActivityId implements android.os.Parcelable {
1978    method public int describeContents();
1979    method public void writeToParcel(@NonNull android.os.Parcel, int);
1980    field @NonNull public static final android.os.Parcelable.Creator<android.app.assist.ActivityId> CREATOR;
1981  }
1982
1983  public static class AssistStructure.ViewNode {
1984    ctor public AssistStructure.ViewNode();
1985  }
1986
1987}
1988
1989package android.app.backup {
1990
1991  public class BackupDataInput {
1992    ctor public BackupDataInput(java.io.FileDescriptor);
1993  }
1994
1995  public class BackupDataOutput {
1996    ctor public BackupDataOutput(java.io.FileDescriptor);
1997    ctor public BackupDataOutput(java.io.FileDescriptor, long);
1998  }
1999
2000  public class BackupManager {
2001    method @RequiresPermission(android.Manifest.permission.BACKUP) public void backupNow();
2002    method @RequiresPermission(android.Manifest.permission.BACKUP) public android.app.backup.RestoreSession beginRestoreSession();
2003    method @RequiresPermission(android.Manifest.permission.BACKUP) public void cancelBackups();
2004    method @RequiresPermission(android.Manifest.permission.BACKUP) public void excludeKeysFromRestore(@NonNull String, @NonNull java.util.List<java.lang.String>);
2005    method @RequiresPermission(android.Manifest.permission.BACKUP) public long getAvailableRestoreToken(String);
2006    method @NonNull public android.app.backup.BackupRestoreEventLogger getBackupRestoreEventLogger(@NonNull android.app.backup.BackupAgent);
2007    method @RequiresPermission(android.Manifest.permission.BACKUP) public android.content.Intent getConfigurationIntent(String);
2008    method @RequiresPermission(android.Manifest.permission.BACKUP) public String getCurrentTransport();
2009    method @Nullable @RequiresPermission(android.Manifest.permission.BACKUP) public android.content.ComponentName getCurrentTransportComponent();
2010    method @RequiresPermission(android.Manifest.permission.BACKUP) public android.content.Intent getDataManagementIntent(String);
2011    method @Nullable @RequiresPermission(android.Manifest.permission.BACKUP) public CharSequence getDataManagementIntentLabel(@NonNull String);
2012    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.BACKUP) public String getDataManagementLabel(@NonNull String);
2013    method @NonNull public android.app.backup.BackupRestoreEventLogger getDelayedRestoreLogger();
2014    method @RequiresPermission(android.Manifest.permission.BACKUP) public String getDestinationString(String);
2015    method @RequiresPermission(android.Manifest.permission.BACKUP) public boolean isAppEligibleForBackup(String);
2016    method @RequiresPermission(android.Manifest.permission.BACKUP) public boolean isBackupEnabled();
2017    method @RequiresPermission(android.Manifest.permission.BACKUP) public boolean isBackupServiceActive(android.os.UserHandle);
2018    method @RequiresPermission(android.Manifest.permission.BACKUP) public String[] listAllTransports();
2019    method public void reportDelayedRestoreResult(@NonNull android.app.backup.BackupRestoreEventLogger);
2020    method @RequiresPermission(android.Manifest.permission.BACKUP) public int requestBackup(String[], android.app.backup.BackupObserver);
2021    method @RequiresPermission(android.Manifest.permission.BACKUP) public int requestBackup(String[], android.app.backup.BackupObserver, android.app.backup.BackupManagerMonitor, int);
2022    method @Deprecated public int requestRestore(android.app.backup.RestoreObserver, android.app.backup.BackupManagerMonitor);
2023    method @RequiresPermission(android.Manifest.permission.BACKUP) public void selectBackupTransport(android.content.ComponentName, android.app.backup.SelectBackupTransportCallback);
2024    method @Deprecated @RequiresPermission(android.Manifest.permission.BACKUP) public String selectBackupTransport(String);
2025    method @RequiresPermission(android.Manifest.permission.BACKUP) public void setAncestralSerialNumber(long);
2026    method @RequiresPermission(android.Manifest.permission.BACKUP) public void setAutoRestore(boolean);
2027    method @RequiresPermission(android.Manifest.permission.BACKUP) public void setBackupEnabled(boolean);
2028    method @RequiresPermission(allOf={android.Manifest.permission.BACKUP, android.Manifest.permission.INTERACT_ACROSS_USERS_FULL}, conditional=true) public void setFrameworkSchedulingEnabled(boolean);
2029    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);
2030    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);
2031    field public static final int ERROR_AGENT_FAILURE = -1003; // 0xfffffc15
2032    field public static final int ERROR_BACKUP_CANCELLED = -2003; // 0xfffff82d
2033    field public static final int ERROR_BACKUP_NOT_ALLOWED = -2001; // 0xfffff82f
2034    field public static final int ERROR_PACKAGE_NOT_FOUND = -2002; // 0xfffff82e
2035    field public static final int ERROR_TRANSPORT_ABORTED = -1000; // 0xfffffc18
2036    field public static final int ERROR_TRANSPORT_INVALID = -2; // 0xfffffffe
2037    field public static final int ERROR_TRANSPORT_PACKAGE_REJECTED = -1002; // 0xfffffc16
2038    field public static final int ERROR_TRANSPORT_QUOTA_EXCEEDED = -1005; // 0xfffffc13
2039    field public static final int ERROR_TRANSPORT_UNAVAILABLE = -1; // 0xffffffff
2040    field public static final int FLAG_NON_INCREMENTAL_BACKUP = 1; // 0x1
2041    field public static final String PACKAGE_MANAGER_SENTINEL = "@pm@";
2042    field public static final int SUCCESS = 0; // 0x0
2043  }
2044
2045  public class BackupManagerMonitor {
2046    ctor public BackupManagerMonitor();
2047    method public void onEvent(android.os.Bundle);
2048    field public static final String EXTRA_LOG_AGENT_LOGGING_RESULTS = "android.app.backup.extra.LOG_AGENT_LOGGING_RESULTS";
2049    field public static final String EXTRA_LOG_CANCEL_ALL = "android.app.backup.extra.LOG_CANCEL_ALL";
2050    field public static final String EXTRA_LOG_EVENT_CATEGORY = "android.app.backup.extra.LOG_EVENT_CATEGORY";
2051    field public static final String EXTRA_LOG_EVENT_ID = "android.app.backup.extra.LOG_EVENT_ID";
2052    field public static final String EXTRA_LOG_EVENT_PACKAGE_LONG_VERSION = "android.app.backup.extra.LOG_EVENT_PACKAGE_FULL_VERSION";
2053    field public static final String EXTRA_LOG_EVENT_PACKAGE_NAME = "android.app.backup.extra.LOG_EVENT_PACKAGE_NAME";
2054    field @Deprecated public static final String EXTRA_LOG_EVENT_PACKAGE_VERSION = "android.app.backup.extra.LOG_EVENT_PACKAGE_VERSION";
2055    field public static final String EXTRA_LOG_EXCEPTION_FULL_BACKUP = "android.app.backup.extra.LOG_EXCEPTION_FULL_BACKUP";
2056    field public static final String EXTRA_LOG_ILLEGAL_KEY = "android.app.backup.extra.LOG_ILLEGAL_KEY";
2057    field public static final String EXTRA_LOG_MANIFEST_PACKAGE_NAME = "android.app.backup.extra.LOG_MANIFEST_PACKAGE_NAME";
2058    field public static final String EXTRA_LOG_OLD_VERSION = "android.app.backup.extra.LOG_OLD_VERSION";
2059    field public static final String EXTRA_LOG_POLICY_ALLOW_APKS = "android.app.backup.extra.LOG_POLICY_ALLOW_APKS";
2060    field public static final String EXTRA_LOG_PREFLIGHT_ERROR = "android.app.backup.extra.LOG_PREFLIGHT_ERROR";
2061    field public static final String EXTRA_LOG_RESTORE_ANYWAY = "android.app.backup.extra.LOG_RESTORE_ANYWAY";
2062    field public static final String EXTRA_LOG_RESTORE_VERSION = "android.app.backup.extra.LOG_RESTORE_VERSION";
2063    field public static final String EXTRA_LOG_WIDGET_PACKAGE_NAME = "android.app.backup.extra.LOG_WIDGET_PACKAGE_NAME";
2064    field public static final int LOG_EVENT_CATEGORY_AGENT = 2; // 0x2
2065    field public static final int LOG_EVENT_CATEGORY_BACKUP_MANAGER_POLICY = 3; // 0x3
2066    field public static final int LOG_EVENT_CATEGORY_TRANSPORT = 1; // 0x1
2067    field public static final int LOG_EVENT_ID_AGENT_LOGGING_RESULTS = 52; // 0x34
2068    field public static final int LOG_EVENT_ID_APK_NOT_INSTALLED = 40; // 0x28
2069    field public static final int LOG_EVENT_ID_APP_HAS_NO_AGENT = 28; // 0x1c
2070    field public static final int LOG_EVENT_ID_BACKUP_DISABLED = 13; // 0xd
2071    field public static final int LOG_EVENT_ID_CANNOT_RESTORE_WITHOUT_APK = 41; // 0x29
2072    field public static final int LOG_EVENT_ID_CANT_FIND_AGENT = 30; // 0x1e
2073    field public static final int LOG_EVENT_ID_CORRUPT_MANIFEST = 46; // 0x2e
2074    field public static final int LOG_EVENT_ID_DEVICE_NOT_PROVISIONED = 14; // 0xe
2075    field public static final int LOG_EVENT_ID_ERROR_PREFLIGHT = 16; // 0x10
2076    field public static final int LOG_EVENT_ID_EXCEPTION_FULL_BACKUP = 19; // 0x13
2077    field public static final int LOG_EVENT_ID_EXPECTED_DIFFERENT_PACKAGE = 43; // 0x2b
2078    field public static final int LOG_EVENT_ID_FULL_BACKUP_CANCEL = 4; // 0x4
2079    field public static final int LOG_EVENT_ID_FULL_RESTORE_ALLOW_BACKUP_FALSE = 39; // 0x27
2080    field public static final int LOG_EVENT_ID_FULL_RESTORE_SIGNATURE_MISMATCH = 37; // 0x25
2081    field public static final int LOG_EVENT_ID_FULL_RESTORE_TIMEOUT = 45; // 0x2d
2082    field public static final int LOG_EVENT_ID_ILLEGAL_KEY = 5; // 0x5
2083    field public static final int LOG_EVENT_ID_KEY_VALUE_BACKUP_CANCEL = 21; // 0x15
2084    field public static final int LOG_EVENT_ID_KEY_VALUE_RESTORE_TIMEOUT = 31; // 0x1f
2085    field public static final int LOG_EVENT_ID_LOST_TRANSPORT = 25; // 0x19
2086    field public static final int LOG_EVENT_ID_MISSING_SIGNATURE = 42; // 0x2a
2087    field public static final int LOG_EVENT_ID_NO_DATA_TO_SEND = 7; // 0x7
2088    field public static final int LOG_EVENT_ID_NO_PACKAGES = 49; // 0x31
2089    field public static final int LOG_EVENT_ID_NO_PM_METADATA_RECEIVED = 23; // 0x17
2090    field public static final int LOG_EVENT_ID_NO_RESTORE_METADATA_AVAILABLE = 22; // 0x16
2091    field public static final int LOG_EVENT_ID_PACKAGE_INELIGIBLE = 9; // 0x9
2092    field public static final int LOG_EVENT_ID_PACKAGE_KEY_VALUE_PARTICIPANT = 10; // 0xa
2093    field public static final int LOG_EVENT_ID_PACKAGE_NOT_FOUND = 12; // 0xc
2094    field public static final int LOG_EVENT_ID_PACKAGE_NOT_PRESENT = 26; // 0x1a
2095    field public static final int LOG_EVENT_ID_PACKAGE_STOPPED = 11; // 0xb
2096    field public static final int LOG_EVENT_ID_PACKAGE_TRANSPORT_NOT_PRESENT = 15; // 0xf
2097    field public static final int LOG_EVENT_ID_PM_AGENT_HAS_NO_METADATA = 24; // 0x18
2098    field public static final int LOG_EVENT_ID_QUOTA_HIT_PREFLIGHT = 18; // 0x12
2099    field public static final int LOG_EVENT_ID_RESTORE_ANY_VERSION = 34; // 0x22
2100    field public static final int LOG_EVENT_ID_RESTORE_VERSION_HIGHER = 27; // 0x1b
2101    field public static final int LOG_EVENT_ID_SIGNATURE_MISMATCH = 29; // 0x1d
2102    field public static final int LOG_EVENT_ID_SYSTEM_APP_NO_AGENT = 38; // 0x26
2103    field public static final int LOG_EVENT_ID_TRANSPORT_IS_NULL = 50; // 0x32
2104    field public static final int LOG_EVENT_ID_TRANSPORT_NON_INCREMENTAL_BACKUP_REQUIRED = 51; // 0x33
2105    field public static final int LOG_EVENT_ID_UNKNOWN_VERSION = 44; // 0x2c
2106    field public static final int LOG_EVENT_ID_VERSIONS_MATCH = 35; // 0x23
2107    field public static final int LOG_EVENT_ID_VERSION_OF_BACKUP_OLDER = 36; // 0x24
2108    field public static final int LOG_EVENT_ID_WIDGET_METADATA_MISMATCH = 47; // 0x2f
2109    field public static final int LOG_EVENT_ID_WIDGET_UNKNOWN_VERSION = 48; // 0x30
2110  }
2111
2112  public abstract class BackupObserver {
2113    ctor public BackupObserver();
2114    method public void backupFinished(int);
2115    method public void onResult(String, int);
2116    method public void onUpdate(String, android.app.backup.BackupProgress);
2117  }
2118
2119  public class BackupProgress implements android.os.Parcelable {
2120    ctor public BackupProgress(long, long);
2121    method public int describeContents();
2122    method public void writeToParcel(android.os.Parcel, int);
2123    field @NonNull public static final android.os.Parcelable.Creator<android.app.backup.BackupProgress> CREATOR;
2124    field public final long bytesExpected;
2125    field public final long bytesTransferred;
2126  }
2127
2128  public final class BackupRestoreEventLogger {
2129    method public void logBackupMetadata(@NonNull String, @NonNull String);
2130    method public void logItemsBackedUp(@NonNull String, int);
2131    method public void logItemsBackupFailed(@NonNull String, int, @Nullable String);
2132    method public void logItemsRestoreFailed(@NonNull String, int, @Nullable String);
2133    method public void logItemsRestored(@NonNull String, int);
2134    method public void logRestoreMetadata(@NonNull String, @NonNull String);
2135  }
2136
2137  public static final class BackupRestoreEventLogger.DataTypeResult implements android.os.Parcelable {
2138    ctor public BackupRestoreEventLogger.DataTypeResult(@NonNull String);
2139    method public int describeContents();
2140    method @NonNull public String getDataType();
2141    method @NonNull public java.util.Map<java.lang.String,java.lang.Integer> getErrors();
2142    method public int getFailCount();
2143    method @Nullable public byte[] getMetadataHash();
2144    method public int getSuccessCount();
2145    method public void writeToParcel(@NonNull android.os.Parcel, int);
2146    field @NonNull public static final android.os.Parcelable.Creator<android.app.backup.BackupRestoreEventLogger.DataTypeResult> CREATOR;
2147  }
2148
2149  public class BackupTransport {
2150    ctor public BackupTransport();
2151    method public int abortFullRestore();
2152    method public void cancelFullBackup();
2153    method public int checkFullBackupSize(long);
2154    method public int clearBackupData(android.content.pm.PackageInfo);
2155    method public android.content.Intent configurationIntent();
2156    method public String currentDestinationString();
2157    method public android.content.Intent dataManagementIntent();
2158    method @Nullable public CharSequence dataManagementIntentLabel();
2159    method @Deprecated @Nullable public String dataManagementLabel();
2160    method public int finishBackup();
2161    method public void finishRestore();
2162    method public android.app.backup.RestoreSet[] getAvailableRestoreSets();
2163    method @Nullable public android.app.backup.BackupManagerMonitor getBackupManagerMonitor();
2164    method public long getBackupQuota(String, boolean);
2165    method public android.os.IBinder getBinder();
2166    method public long getCurrentRestoreSet();
2167    method public int getNextFullRestoreDataChunk(android.os.ParcelFileDescriptor);
2168    method public int getRestoreData(android.os.ParcelFileDescriptor);
2169    method public int getTransportFlags();
2170    method public int initializeDevice();
2171    method public boolean isAppEligibleForBackup(android.content.pm.PackageInfo, boolean);
2172    method public String name();
2173    method public android.app.backup.RestoreDescription nextRestorePackage();
2174    method public int performBackup(android.content.pm.PackageInfo, android.os.ParcelFileDescriptor);
2175    method public int performBackup(android.content.pm.PackageInfo, android.os.ParcelFileDescriptor, int);
2176    method public int performFullBackup(android.content.pm.PackageInfo, android.os.ParcelFileDescriptor);
2177    method public int performFullBackup(android.content.pm.PackageInfo, android.os.ParcelFileDescriptor, int);
2178    method public long requestBackupTime();
2179    method public long requestFullBackupTime();
2180    method public int sendBackupData(int);
2181    method public int startRestore(long, android.content.pm.PackageInfo[]);
2182    method public String transportDirName();
2183    field public static final int AGENT_ERROR = -1003; // 0xfffffc15
2184    field public static final int AGENT_UNKNOWN = -1004; // 0xfffffc14
2185    field public static final String EXTRA_TRANSPORT_REGISTRATION = "android.app.backup.extra.TRANSPORT_REGISTRATION";
2186    field public static final int FLAG_DATA_NOT_CHANGED = 8; // 0x8
2187    field public static final int FLAG_INCREMENTAL = 2; // 0x2
2188    field public static final int FLAG_NON_INCREMENTAL = 4; // 0x4
2189    field public static final int FLAG_USER_INITIATED = 1; // 0x1
2190    field public static final int NO_MORE_DATA = -1; // 0xffffffff
2191    field public static final int TRANSPORT_ERROR = -1000; // 0xfffffc18
2192    field public static final int TRANSPORT_NON_INCREMENTAL_BACKUP_REQUIRED = -1006; // 0xfffffc12
2193    field public static final int TRANSPORT_NOT_INITIALIZED = -1001; // 0xfffffc17
2194    field public static final int TRANSPORT_OK = 0; // 0x0
2195    field public static final int TRANSPORT_PACKAGE_REJECTED = -1002; // 0xfffffc16
2196    field public static final int TRANSPORT_QUOTA_EXCEEDED = -1005; // 0xfffffc13
2197  }
2198
2199  public class RestoreDescription implements android.os.Parcelable {
2200    ctor public RestoreDescription(String, int);
2201    method public int describeContents();
2202    method public int getDataType();
2203    method public String getPackageName();
2204    method public void writeToParcel(android.os.Parcel, int);
2205    field @NonNull public static final android.os.Parcelable.Creator<android.app.backup.RestoreDescription> CREATOR;
2206    field public static final android.app.backup.RestoreDescription NO_MORE_PACKAGES;
2207    field public static final int TYPE_FULL_STREAM = 2; // 0x2
2208    field public static final int TYPE_KEY_VALUE = 1; // 0x1
2209  }
2210
2211  public abstract class RestoreObserver {
2212    method public void restoreSetsAvailable(android.app.backup.RestoreSet[]);
2213  }
2214
2215  public class RestoreSession {
2216    method public void endRestoreSession();
2217    method public int getAvailableRestoreSets(android.app.backup.RestoreObserver);
2218    method public int getAvailableRestoreSets(android.app.backup.RestoreObserver, android.app.backup.BackupManagerMonitor);
2219    method public int restoreAll(long, android.app.backup.RestoreObserver);
2220    method public int restoreAll(long, android.app.backup.RestoreObserver, android.app.backup.BackupManagerMonitor);
2221    method public int restorePackage(String, android.app.backup.RestoreObserver);
2222    method public int restorePackage(String, android.app.backup.RestoreObserver, android.app.backup.BackupManagerMonitor);
2223    method public int restorePackages(long, @Nullable android.app.backup.RestoreObserver, @NonNull java.util.Set<java.lang.String>);
2224    method public int restorePackages(long, @Nullable android.app.backup.RestoreObserver, @NonNull java.util.Set<java.lang.String>, @Nullable android.app.backup.BackupManagerMonitor);
2225  }
2226
2227  public class RestoreSet implements android.os.Parcelable {
2228    ctor public RestoreSet();
2229    ctor public RestoreSet(@Nullable String, @Nullable String, long);
2230    ctor public RestoreSet(@Nullable String, @Nullable String, long, int);
2231    method public int describeContents();
2232    method public void writeToParcel(android.os.Parcel, int);
2233    field @NonNull public static final android.os.Parcelable.Creator<android.app.backup.RestoreSet> CREATOR;
2234    field public final int backupTransportFlags;
2235    field @Nullable public String device;
2236    field @Nullable public String name;
2237    field public long token;
2238  }
2239
2240  public abstract class SelectBackupTransportCallback {
2241    ctor public SelectBackupTransportCallback();
2242    method public void onFailure(int);
2243    method public void onSuccess(String);
2244  }
2245
2246}
2247
2248package android.app.cloudsearch {
2249
2250  public class CloudSearchManager {
2251    method @RequiresPermission(android.Manifest.permission.MANAGE_CLOUDSEARCH) public void search(@NonNull android.app.cloudsearch.SearchRequest, @NonNull java.util.concurrent.Executor, @NonNull android.app.cloudsearch.CloudSearchManager.CallBack);
2252  }
2253
2254  public static interface CloudSearchManager.CallBack {
2255    method public void onSearchFailed(@NonNull android.app.cloudsearch.SearchRequest, @NonNull android.app.cloudsearch.SearchResponse);
2256    method public void onSearchSucceeded(@NonNull android.app.cloudsearch.SearchRequest, @NonNull android.app.cloudsearch.SearchResponse);
2257  }
2258
2259  public final class SearchRequest implements android.os.Parcelable {
2260    method public int describeContents();
2261    method @NonNull public String getCallerPackageName();
2262    method public float getMaxLatencyMillis();
2263    method @NonNull public String getQuery();
2264    method @NonNull public String getRequestId();
2265    method public int getResultNumber();
2266    method public int getResultOffset();
2267    method @NonNull public android.os.Bundle getSearchConstraints();
2268    method public void writeToParcel(@NonNull android.os.Parcel, int);
2269    field public static final String CONSTRAINT_IS_PRESUBMIT_SUGGESTION = "android.app.cloudsearch.IS_PRESUBMIT_SUGGESTION";
2270    field public static final String CONSTRAINT_SEARCH_PROVIDER_FILTER = "android.app.cloudsearch.SEARCH_PROVIDER_FILTER";
2271    field @NonNull public static final android.os.Parcelable.Creator<android.app.cloudsearch.SearchRequest> CREATOR;
2272  }
2273
2274  public static final class SearchRequest.Builder {
2275    ctor public SearchRequest.Builder(@NonNull String);
2276    method @NonNull public android.app.cloudsearch.SearchRequest build();
2277    method @NonNull public android.app.cloudsearch.SearchRequest.Builder setMaxLatencyMillis(float);
2278    method @NonNull public android.app.cloudsearch.SearchRequest.Builder setQuery(@NonNull String);
2279    method @NonNull public android.app.cloudsearch.SearchRequest.Builder setResultNumber(int);
2280    method @NonNull public android.app.cloudsearch.SearchRequest.Builder setResultOffset(int);
2281    method @NonNull public android.app.cloudsearch.SearchRequest.Builder setSearchConstraints(@Nullable android.os.Bundle);
2282  }
2283
2284  public final class SearchResponse implements android.os.Parcelable {
2285    method public int describeContents();
2286    method @NonNull public java.util.List<android.app.cloudsearch.SearchResult> getSearchResults();
2287    method @NonNull public String getSource();
2288    method public int getStatusCode();
2289    method public void writeToParcel(@NonNull android.os.Parcel, int);
2290    field @NonNull public static final android.os.Parcelable.Creator<android.app.cloudsearch.SearchResponse> CREATOR;
2291    field public static final int SEARCH_STATUS_NO_INTERNET = 2; // 0x2
2292    field public static final int SEARCH_STATUS_OK = 0; // 0x0
2293    field public static final int SEARCH_STATUS_TIME_OUT = 1; // 0x1
2294    field public static final int SEARCH_STATUS_UNKNOWN = -1; // 0xffffffff
2295  }
2296
2297  public static final class SearchResponse.Builder {
2298    ctor public SearchResponse.Builder(int);
2299    method @NonNull public android.app.cloudsearch.SearchResponse build();
2300    method @NonNull public android.app.cloudsearch.SearchResponse.Builder setSearchResults(@NonNull java.util.List<android.app.cloudsearch.SearchResult>);
2301    method @NonNull public android.app.cloudsearch.SearchResponse.Builder setStatusCode(int);
2302  }
2303
2304  public final class SearchResult implements android.os.Parcelable {
2305    method public int describeContents();
2306    method @NonNull public android.os.Bundle getExtraInfos();
2307    method public float getScore();
2308    method @NonNull public String getSnippet();
2309    method @NonNull public String getTitle();
2310    method public void writeToParcel(@NonNull android.os.Parcel, int);
2311    field @NonNull public static final android.os.Parcelable.Creator<android.app.cloudsearch.SearchResult> CREATOR;
2312    field public static final String EXTRAINFO_ACTION_APP_CARD = "android.app.cloudsearch.ACTION_APP_CARD";
2313    field public static final String EXTRAINFO_ACTION_BUTTON_IMAGE_PREREGISTERING = "android.app.cloudsearch.ACTION_BUTTON_IMAGE";
2314    field public static final String EXTRAINFO_ACTION_BUTTON_TEXT_PREREGISTERING = "android.app.cloudsearch.ACTION_BUTTON_TEXT";
2315    field public static final String EXTRAINFO_ACTION_INSTALL_BUTTON = "android.app.cloudsearch.ACTION_INSTALL_BUTTON";
2316    field public static final String EXTRAINFO_APP_BADGES = "android.app.cloudsearch.APP_BADGES";
2317    field public static final String EXTRAINFO_APP_CONTAINS_ADS_DISCLAIMER = "android.app.cloudsearch.APP_CONTAINS_ADS_DISCLAIMER";
2318    field public static final String EXTRAINFO_APP_CONTAINS_IAP_DISCLAIMER = "android.app.cloudsearch.APP_CONTAINS_IAP_DISCLAIMER";
2319    field public static final String EXTRAINFO_APP_DEVELOPER_NAME = "android.app.cloudsearch.APP_DEVELOPER_NAME";
2320    field public static final String EXTRAINFO_APP_DOMAIN_URL = "android.app.cloudsearch.APP_DOMAIN_URL";
2321    field public static final String EXTRAINFO_APP_IARC = "android.app.cloudsearch.APP_IARC";
2322    field public static final String EXTRAINFO_APP_ICON = "android.app.cloudsearch.APP_ICON";
2323    field public static final String EXTRAINFO_APP_INSTALL_COUNT = "android.app.cloudsearch.APP_INSTALL_COUNT";
2324    field public static final String EXTRAINFO_APP_PACKAGE_NAME = "android.app.cloudsearch.APP_PACKAGE_NAME";
2325    field public static final String EXTRAINFO_APP_REVIEW_COUNT = "android.app.cloudsearch.APP_REVIEW_COUNT";
2326    field public static final String EXTRAINFO_APP_SIZE_BYTES = "android.app.cloudsearch.APP_SIZE_BYTES";
2327    field public static final String EXTRAINFO_APP_STAR_RATING = "android.app.cloudsearch.APP_STAR_RATING";
2328    field public static final String EXTRAINFO_LONG_DESCRIPTION = "android.app.cloudsearch.LONG_DESCRIPTION";
2329    field public static final String EXTRAINFO_SCREENSHOTS = "android.app.cloudsearch.SCREENSHOTS";
2330    field public static final String EXTRAINFO_SHORT_DESCRIPTION = "android.app.cloudsearch.SHORT_DESCRIPTION";
2331    field public static final String EXTRAINFO_WEB_ICON = "android.app.cloudsearch.WEB_ICON";
2332    field public static final String EXTRAINFO_WEB_URL = "android.app.cloudsearch.WEB_URL";
2333  }
2334
2335  public static final class SearchResult.Builder {
2336    ctor public SearchResult.Builder(@NonNull String, @NonNull android.os.Bundle);
2337    method @NonNull public android.app.cloudsearch.SearchResult build();
2338    method @NonNull public android.app.cloudsearch.SearchResult.Builder setExtraInfos(@NonNull android.os.Bundle);
2339    method @NonNull public android.app.cloudsearch.SearchResult.Builder setScore(float);
2340    method @NonNull public android.app.cloudsearch.SearchResult.Builder setSnippet(@NonNull String);
2341    method @NonNull public android.app.cloudsearch.SearchResult.Builder setTitle(@NonNull String);
2342  }
2343
2344}
2345
2346package android.app.compat {
2347
2348  public final class CompatChanges {
2349    method public static boolean isChangeEnabled(long);
2350    method @RequiresPermission(allOf={"android.permission.READ_COMPAT_CHANGE_CONFIG", "android.permission.LOG_COMPAT_CHANGE"}) public static boolean isChangeEnabled(long, int);
2351    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);
2352    method @RequiresPermission(android.Manifest.permission.OVERRIDE_COMPAT_CHANGE_CONFIG_ON_RELEASE_BUILD) public static void putAllPackageOverrides(@NonNull java.util.Map<java.lang.String,java.util.Map<java.lang.Long,android.app.compat.PackageOverride>>);
2353    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>);
2354    method @RequiresPermission(android.Manifest.permission.OVERRIDE_COMPAT_CHANGE_CONFIG_ON_RELEASE_BUILD) public static void removeAllPackageOverrides(@NonNull java.util.Map<java.lang.String,java.util.Set<java.lang.Long>>);
2355    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>);
2356  }
2357
2358  public final class PackageOverride {
2359    method public long getMaxVersionCode();
2360    method public long getMinVersionCode();
2361    method public boolean isEnabled();
2362  }
2363
2364  public static final class PackageOverride.Builder {
2365    ctor public PackageOverride.Builder();
2366    method @NonNull public android.app.compat.PackageOverride build();
2367    method @NonNull public android.app.compat.PackageOverride.Builder setEnabled(boolean);
2368    method @NonNull public android.app.compat.PackageOverride.Builder setMaxVersionCode(long);
2369    method @NonNull public android.app.compat.PackageOverride.Builder setMinVersionCode(long);
2370  }
2371
2372}
2373
2374package android.app.contentsuggestions {
2375
2376  public final class ClassificationsRequest implements android.os.Parcelable {
2377    method public int describeContents();
2378    method @NonNull public android.os.Bundle getExtras();
2379    method @NonNull public java.util.List<android.app.contentsuggestions.ContentSelection> getSelections();
2380    method public void writeToParcel(android.os.Parcel, int);
2381    field @NonNull public static final android.os.Parcelable.Creator<android.app.contentsuggestions.ClassificationsRequest> CREATOR;
2382  }
2383
2384  public static final class ClassificationsRequest.Builder {
2385    ctor public ClassificationsRequest.Builder(@NonNull java.util.List<android.app.contentsuggestions.ContentSelection>);
2386    method @NonNull public android.app.contentsuggestions.ClassificationsRequest build();
2387    method @NonNull public android.app.contentsuggestions.ClassificationsRequest.Builder setExtras(@NonNull android.os.Bundle);
2388  }
2389
2390  public final class ContentClassification implements android.os.Parcelable {
2391    ctor public ContentClassification(@NonNull String, @NonNull android.os.Bundle);
2392    method public int describeContents();
2393    method @NonNull public android.os.Bundle getExtras();
2394    method @NonNull public String getId();
2395    method public void writeToParcel(android.os.Parcel, int);
2396    field @NonNull public static final android.os.Parcelable.Creator<android.app.contentsuggestions.ContentClassification> CREATOR;
2397  }
2398
2399  public final class ContentSelection implements android.os.Parcelable {
2400    ctor public ContentSelection(@NonNull String, @NonNull android.os.Bundle);
2401    method public int describeContents();
2402    method @NonNull public android.os.Bundle getExtras();
2403    method @NonNull public String getId();
2404    method public void writeToParcel(android.os.Parcel, int);
2405    field @NonNull public static final android.os.Parcelable.Creator<android.app.contentsuggestions.ContentSelection> CREATOR;
2406  }
2407
2408  public final class ContentSuggestionsManager {
2409    method public void classifyContentSelections(@NonNull android.app.contentsuggestions.ClassificationsRequest, @NonNull java.util.concurrent.Executor, @NonNull android.app.contentsuggestions.ContentSuggestionsManager.ClassificationsCallback);
2410    method public boolean isEnabled();
2411    method public void notifyInteraction(@NonNull String, @NonNull android.os.Bundle);
2412    method public void provideContextImage(@NonNull android.graphics.Bitmap, @NonNull android.os.Bundle);
2413    method public void provideContextImage(int, @NonNull android.os.Bundle);
2414    method public void suggestContentSelections(@NonNull android.app.contentsuggestions.SelectionsRequest, @NonNull java.util.concurrent.Executor, @NonNull android.app.contentsuggestions.ContentSuggestionsManager.SelectionsCallback);
2415  }
2416
2417  public static interface ContentSuggestionsManager.ClassificationsCallback {
2418    method public void onContentClassificationsAvailable(int, @NonNull java.util.List<android.app.contentsuggestions.ContentClassification>);
2419  }
2420
2421  public static interface ContentSuggestionsManager.SelectionsCallback {
2422    method public void onContentSelectionsAvailable(int, @NonNull java.util.List<android.app.contentsuggestions.ContentSelection>);
2423  }
2424
2425  public final class SelectionsRequest implements android.os.Parcelable {
2426    method public int describeContents();
2427    method @NonNull public android.os.Bundle getExtras();
2428    method @Nullable public android.graphics.Point getInterestPoint();
2429    method public int getTaskId();
2430    method public void writeToParcel(android.os.Parcel, int);
2431    field @NonNull public static final android.os.Parcelable.Creator<android.app.contentsuggestions.SelectionsRequest> CREATOR;
2432  }
2433
2434  public static final class SelectionsRequest.Builder {
2435    ctor public SelectionsRequest.Builder(int);
2436    method @NonNull public android.app.contentsuggestions.SelectionsRequest build();
2437    method @NonNull public android.app.contentsuggestions.SelectionsRequest.Builder setExtras(@NonNull android.os.Bundle);
2438    method @NonNull public android.app.contentsuggestions.SelectionsRequest.Builder setInterestPoint(@NonNull android.graphics.Point);
2439  }
2440
2441}
2442
2443package android.app.contextualsearch {
2444
2445  public final class CallbackToken implements android.os.Parcelable {
2446    ctor public CallbackToken();
2447    method public int describeContents();
2448    method public void getContextualSearchState(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.app.contextualsearch.ContextualSearchState,java.lang.Throwable>);
2449    method public void writeToParcel(@NonNull android.os.Parcel, int);
2450    field @NonNull public static final android.os.Parcelable.Creator<android.app.contextualsearch.CallbackToken> CREATOR;
2451  }
2452
2453  public final class ContextualSearchManager {
2454    method @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXTUAL_SEARCH) public void startContextualSearch(int);
2455    field public static final String ACTION_LAUNCH_CONTEXTUAL_SEARCH = "android.app.contextualsearch.action.LAUNCH_CONTEXTUAL_SEARCH";
2456    field public static final int ENTRYPOINT_LONG_PRESS_HOME = 2; // 0x2
2457    field public static final int ENTRYPOINT_LONG_PRESS_META = 10; // 0xa
2458    field public static final int ENTRYPOINT_LONG_PRESS_NAV_HANDLE = 1; // 0x1
2459    field public static final int ENTRYPOINT_LONG_PRESS_OVERVIEW = 3; // 0x3
2460    field public static final int ENTRYPOINT_OVERVIEW_ACTION = 4; // 0x4
2461    field public static final int ENTRYPOINT_OVERVIEW_MENU = 5; // 0x5
2462    field public static final int ENTRYPOINT_SYSTEM_ACTION = 9; // 0x9
2463    field public static final String EXTRA_ENTRYPOINT = "android.app.contextualsearch.extra.ENTRYPOINT";
2464    field public static final String EXTRA_FLAG_SECURE_FOUND = "android.app.contextualsearch.extra.FLAG_SECURE_FOUND";
2465    field public static final String EXTRA_IS_MANAGED_PROFILE_VISIBLE = "android.app.contextualsearch.extra.IS_MANAGED_PROFILE_VISIBLE";
2466    field public static final String EXTRA_SCREENSHOT = "android.app.contextualsearch.extra.SCREENSHOT";
2467    field public static final String EXTRA_TOKEN = "android.app.contextualsearch.extra.TOKEN";
2468    field public static final String EXTRA_VISIBLE_PACKAGE_NAMES = "android.app.contextualsearch.extra.VISIBLE_PACKAGE_NAMES";
2469  }
2470
2471  public final class ContextualSearchState implements android.os.Parcelable {
2472    ctor public ContextualSearchState(@Nullable android.app.assist.AssistStructure, @Nullable android.app.assist.AssistContent, @NonNull android.os.Bundle);
2473    method public int describeContents();
2474    method @Nullable public android.app.assist.AssistContent getContent();
2475    method @NonNull public android.os.Bundle getExtras();
2476    method @Nullable public android.app.assist.AssistStructure getStructure();
2477    method public void writeToParcel(@NonNull android.os.Parcel, int);
2478    field @NonNull public static final android.os.Parcelable.Creator<android.app.contextualsearch.ContextualSearchState> CREATOR;
2479  }
2480
2481}
2482
2483package android.app.ecm {
2484
2485  public final class EnhancedConfirmationManager {
2486    method @RequiresPermission(android.Manifest.permission.MANAGE_ENHANCED_CONFIRMATION_STATES) public void clearRestriction(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
2487    method @NonNull public android.content.Intent createRestrictedSettingDialogIntent(@NonNull String, @NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
2488    method @RequiresPermission(android.Manifest.permission.MANAGE_ENHANCED_CONFIRMATION_STATES) public boolean isClearRestrictionAllowed(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
2489    method @RequiresPermission(android.Manifest.permission.MANAGE_ENHANCED_CONFIRMATION_STATES) public boolean isRestricted(@NonNull String, @NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
2490    method @RequiresPermission(android.Manifest.permission.MANAGE_ENHANCED_CONFIRMATION_STATES) public void setClearRestrictionAllowed(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
2491    field public static final String ACTION_SHOW_ECM_RESTRICTED_SETTING_DIALOG = "android.app.ecm.action.SHOW_ECM_RESTRICTED_SETTING_DIALOG";
2492  }
2493
2494}
2495
2496package android.app.job {
2497
2498  public abstract class JobScheduler {
2499    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public abstract int scheduleAsPackage(@NonNull android.app.job.JobInfo, @NonNull String, int, String);
2500  }
2501
2502  public class JobSchedulerFrameworkInitializer {
2503    method public static void registerServiceWrappers();
2504  }
2505
2506}
2507
2508package android.app.ondeviceintelligence {
2509
2510  public interface DownloadCallback {
2511    method public void onDownloadCompleted(@NonNull android.os.PersistableBundle);
2512    method public void onDownloadFailed(int, @Nullable String, @NonNull android.os.PersistableBundle);
2513    method public default void onDownloadProgress(long);
2514    method public default void onDownloadStarted(long);
2515    field public static final int DOWNLOAD_FAILURE_STATUS_DOWNLOADING = 3; // 0x3
2516    field public static final int DOWNLOAD_FAILURE_STATUS_NETWORK_FAILURE = 2; // 0x2
2517    field public static final int DOWNLOAD_FAILURE_STATUS_NOT_ENOUGH_DISK_SPACE = 1; // 0x1
2518    field public static final int DOWNLOAD_FAILURE_STATUS_UNAVAILABLE = 4; // 0x4
2519    field public static final int DOWNLOAD_FAILURE_STATUS_UNKNOWN = 0; // 0x0
2520  }
2521
2522  public final class Feature implements android.os.Parcelable {
2523    method public int describeContents();
2524    method @NonNull public android.os.PersistableBundle getFeatureParams();
2525    method public int getId();
2526    method @Nullable public String getModelName();
2527    method @Nullable public String getName();
2528    method public int getType();
2529    method public int getVariant();
2530    method public void writeToParcel(@NonNull android.os.Parcel, int);
2531    field @NonNull public static final android.os.Parcelable.Creator<android.app.ondeviceintelligence.Feature> CREATOR;
2532  }
2533
2534  public static final class Feature.Builder {
2535    ctor public Feature.Builder(int);
2536    method @NonNull public android.app.ondeviceintelligence.Feature build();
2537    method @NonNull public android.app.ondeviceintelligence.Feature.Builder setFeatureParams(@NonNull android.os.PersistableBundle);
2538    method @NonNull public android.app.ondeviceintelligence.Feature.Builder setModelName(@NonNull String);
2539    method @NonNull public android.app.ondeviceintelligence.Feature.Builder setName(@NonNull String);
2540    method @NonNull public android.app.ondeviceintelligence.Feature.Builder setType(int);
2541    method @NonNull public android.app.ondeviceintelligence.Feature.Builder setVariant(int);
2542  }
2543
2544  public final class FeatureDetails implements android.os.Parcelable {
2545    ctor public FeatureDetails(int);
2546    ctor public FeatureDetails(int, @NonNull android.os.PersistableBundle);
2547    method public int describeContents();
2548    method @NonNull public android.os.PersistableBundle getFeatureDetailParams();
2549    method public int getFeatureStatus();
2550    method public void writeToParcel(@NonNull android.os.Parcel, int);
2551    field @NonNull public static final android.os.Parcelable.Creator<android.app.ondeviceintelligence.FeatureDetails> CREATOR;
2552    field public static final int FEATURE_STATUS_AVAILABLE = 3; // 0x3
2553    field public static final int FEATURE_STATUS_DOWNLOADABLE = 1; // 0x1
2554    field public static final int FEATURE_STATUS_DOWNLOADING = 2; // 0x2
2555    field public static final int FEATURE_STATUS_SERVICE_UNAVAILABLE = 4; // 0x4
2556    field public static final int FEATURE_STATUS_UNAVAILABLE = 0; // 0x0
2557  }
2558
2559  public class OnDeviceIntelligenceException extends java.lang.Exception {
2560    ctor public OnDeviceIntelligenceException(int);
2561    ctor public OnDeviceIntelligenceException(int, @NonNull android.os.PersistableBundle);
2562    ctor public OnDeviceIntelligenceException(int, @NonNull String);
2563    ctor public OnDeviceIntelligenceException(int, @NonNull String, @NonNull android.os.PersistableBundle);
2564    method public int getErrorCode();
2565    method @NonNull public android.os.PersistableBundle getErrorParams();
2566    field public static final int ON_DEVICE_INTELLIGENCE_SERVICE_UNAVAILABLE = 100; // 0x64
2567    field public static final int PROCESSING_ERROR_BAD_DATA = 2; // 0x2
2568    field public static final int PROCESSING_ERROR_BAD_REQUEST = 3; // 0x3
2569    field public static final int PROCESSING_ERROR_BUSY = 9; // 0x9
2570    field public static final int PROCESSING_ERROR_CANCELLED = 7; // 0x7
2571    field public static final int PROCESSING_ERROR_COMPUTE_ERROR = 5; // 0x5
2572    field public static final int PROCESSING_ERROR_INTERNAL = 14; // 0xe
2573    field public static final int PROCESSING_ERROR_IPC_ERROR = 6; // 0x6
2574    field public static final int PROCESSING_ERROR_NOT_AVAILABLE = 8; // 0x8
2575    field public static final int PROCESSING_ERROR_REQUEST_NOT_SAFE = 4; // 0x4
2576    field public static final int PROCESSING_ERROR_REQUEST_TOO_LARGE = 12; // 0xc
2577    field public static final int PROCESSING_ERROR_RESPONSE_NOT_SAFE = 11; // 0xb
2578    field public static final int PROCESSING_ERROR_SAFETY_ERROR = 10; // 0xa
2579    field public static final int PROCESSING_ERROR_SERVICE_UNAVAILABLE = 15; // 0xf
2580    field public static final int PROCESSING_ERROR_SUSPENDED = 13; // 0xd
2581    field public static final int PROCESSING_ERROR_UNKNOWN = 1; // 0x1
2582    field public static final int PROCESSING_UPDATE_STATUS_CONNECTION_FAILED = 200; // 0xc8
2583  }
2584
2585  public final class OnDeviceIntelligenceManager {
2586    method @RequiresPermission(android.Manifest.permission.USE_ON_DEVICE_INTELLIGENCE) public void getFeature(int, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.app.ondeviceintelligence.Feature,android.app.ondeviceintelligence.OnDeviceIntelligenceException>);
2587    method @RequiresPermission(android.Manifest.permission.USE_ON_DEVICE_INTELLIGENCE) public void getFeatureDetails(@NonNull android.app.ondeviceintelligence.Feature, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.app.ondeviceintelligence.FeatureDetails,android.app.ondeviceintelligence.OnDeviceIntelligenceException>);
2588    method @Nullable @RequiresPermission(android.Manifest.permission.USE_ON_DEVICE_INTELLIGENCE) public String getRemoteServicePackageName();
2589    method @RequiresPermission(android.Manifest.permission.USE_ON_DEVICE_INTELLIGENCE) public void getVersion(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.LongConsumer);
2590    method @RequiresPermission(android.Manifest.permission.USE_ON_DEVICE_INTELLIGENCE) public void listFeatures(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.util.List<android.app.ondeviceintelligence.Feature>,android.app.ondeviceintelligence.OnDeviceIntelligenceException>);
2591    method @RequiresPermission(android.Manifest.permission.USE_ON_DEVICE_INTELLIGENCE) public void processRequest(@NonNull android.app.ondeviceintelligence.Feature, @NonNull android.os.Bundle, int, @Nullable android.os.CancellationSignal, @Nullable android.app.ondeviceintelligence.ProcessingSignal, @NonNull java.util.concurrent.Executor, @NonNull android.app.ondeviceintelligence.ProcessingCallback);
2592    method @RequiresPermission(android.Manifest.permission.USE_ON_DEVICE_INTELLIGENCE) public void processRequestStreaming(@NonNull android.app.ondeviceintelligence.Feature, @NonNull android.os.Bundle, int, @Nullable android.os.CancellationSignal, @Nullable android.app.ondeviceintelligence.ProcessingSignal, @NonNull java.util.concurrent.Executor, @NonNull android.app.ondeviceintelligence.StreamingProcessingCallback);
2593    method @RequiresPermission(android.Manifest.permission.USE_ON_DEVICE_INTELLIGENCE) public void requestFeatureDownload(@NonNull android.app.ondeviceintelligence.Feature, @Nullable android.os.CancellationSignal, @NonNull java.util.concurrent.Executor, @NonNull android.app.ondeviceintelligence.DownloadCallback);
2594    method @RequiresPermission(android.Manifest.permission.USE_ON_DEVICE_INTELLIGENCE) public void requestTokenInfo(@NonNull android.app.ondeviceintelligence.Feature, @NonNull android.os.Bundle, @Nullable android.os.CancellationSignal, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.app.ondeviceintelligence.TokenInfo,android.app.ondeviceintelligence.OnDeviceIntelligenceException>);
2595    field public static final int REQUEST_TYPE_EMBEDDINGS = 2; // 0x2
2596    field public static final int REQUEST_TYPE_INFERENCE = 0; // 0x0
2597    field public static final int REQUEST_TYPE_PREPARE = 1; // 0x1
2598  }
2599
2600  public interface ProcessingCallback {
2601    method public default void onDataAugmentRequest(@NonNull android.os.Bundle, @NonNull java.util.function.Consumer<android.os.Bundle>);
2602    method public void onError(@NonNull android.app.ondeviceintelligence.OnDeviceIntelligenceException);
2603    method public void onResult(@NonNull android.os.Bundle);
2604  }
2605
2606  public final class ProcessingSignal {
2607    ctor public ProcessingSignal();
2608    method public void sendSignal(@NonNull android.os.PersistableBundle);
2609    method public void setOnProcessingSignalCallback(@NonNull java.util.concurrent.Executor, @Nullable android.app.ondeviceintelligence.ProcessingSignal.OnProcessingSignalCallback);
2610  }
2611
2612  public static interface ProcessingSignal.OnProcessingSignalCallback {
2613    method public void onSignalReceived(@NonNull android.os.PersistableBundle);
2614  }
2615
2616  public interface StreamingProcessingCallback extends android.app.ondeviceintelligence.ProcessingCallback {
2617    method public void onPartialResult(@NonNull android.os.Bundle);
2618  }
2619
2620  public final class TokenInfo implements android.os.Parcelable {
2621    ctor public TokenInfo(long);
2622    ctor public TokenInfo(long, @NonNull android.os.PersistableBundle);
2623    method public int describeContents();
2624    method public long getCount();
2625    method @NonNull public android.os.PersistableBundle getInfoParams();
2626    method public void writeToParcel(@NonNull android.os.Parcel, int);
2627    field @NonNull public static final android.os.Parcelable.Creator<android.app.ondeviceintelligence.TokenInfo> CREATOR;
2628  }
2629
2630}
2631
2632package android.app.people {
2633
2634  public final class PeopleManager {
2635    method @RequiresPermission(android.Manifest.permission.READ_PEOPLE_DATA) public boolean isConversation(@NonNull String, @NonNull String);
2636  }
2637
2638}
2639
2640package android.app.prediction {
2641
2642  public final class AppPredictionContext implements android.os.Parcelable {
2643    method public int describeContents();
2644    method @Nullable public android.os.Bundle getExtras();
2645    method @NonNull public String getPackageName();
2646    method @IntRange(from=0) public int getPredictedTargetCount();
2647    method @NonNull public String getUiSurface();
2648    method public void writeToParcel(@NonNull android.os.Parcel, int);
2649    field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppPredictionContext> CREATOR;
2650  }
2651
2652  public static final class AppPredictionContext.Builder {
2653    ctor public AppPredictionContext.Builder(@NonNull android.content.Context);
2654    method @NonNull public android.app.prediction.AppPredictionContext build();
2655    method @NonNull public android.app.prediction.AppPredictionContext.Builder setExtras(@Nullable android.os.Bundle);
2656    method @NonNull public android.app.prediction.AppPredictionContext.Builder setPredictedTargetCount(@IntRange(from=0) int);
2657    method @NonNull public android.app.prediction.AppPredictionContext.Builder setUiSurface(@NonNull String);
2658  }
2659
2660  public final class AppPredictionManager {
2661    method @NonNull public android.app.prediction.AppPredictor createAppPredictionSession(@NonNull android.app.prediction.AppPredictionContext);
2662  }
2663
2664  public final class AppPredictionSessionId implements android.os.Parcelable {
2665    method public int describeContents();
2666    method public void writeToParcel(android.os.Parcel, int);
2667    field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppPredictionSessionId> CREATOR;
2668  }
2669
2670  public final class AppPredictor {
2671    method public void destroy();
2672    method public void notifyAppTargetEvent(@NonNull android.app.prediction.AppTargetEvent);
2673    method public void notifyLaunchLocationShown(@NonNull String, @NonNull java.util.List<android.app.prediction.AppTargetId>);
2674    method public void registerPredictionUpdates(@NonNull java.util.concurrent.Executor, @NonNull android.app.prediction.AppPredictor.Callback);
2675    method public void requestPredictionUpdate();
2676    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>>);
2677    method public void unregisterPredictionUpdates(@NonNull android.app.prediction.AppPredictor.Callback);
2678  }
2679
2680  public static interface AppPredictor.Callback {
2681    method public void onTargetsAvailable(@NonNull java.util.List<android.app.prediction.AppTarget>);
2682  }
2683
2684  public final class AppTarget implements android.os.Parcelable {
2685    method public int describeContents();
2686    method @Nullable public String getClassName();
2687    method @NonNull public android.app.prediction.AppTargetId getId();
2688    method @NonNull public String getPackageName();
2689    method @IntRange(from=0) public int getRank();
2690    method @Nullable public android.content.pm.ShortcutInfo getShortcutInfo();
2691    method @NonNull public android.os.UserHandle getUser();
2692    method public void writeToParcel(android.os.Parcel, int);
2693    field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppTarget> CREATOR;
2694  }
2695
2696  public static final class AppTarget.Builder {
2697    ctor public AppTarget.Builder(@NonNull android.app.prediction.AppTargetId, @NonNull android.content.pm.ShortcutInfo);
2698    ctor public AppTarget.Builder(@NonNull android.app.prediction.AppTargetId, @NonNull String, @NonNull android.os.UserHandle);
2699    method @NonNull public android.app.prediction.AppTarget build();
2700    method @NonNull public android.app.prediction.AppTarget.Builder setClassName(@NonNull String);
2701    method @NonNull public android.app.prediction.AppTarget.Builder setRank(@IntRange(from=0) int);
2702  }
2703
2704  public final class AppTargetEvent implements android.os.Parcelable {
2705    method public int describeContents();
2706    method public int getAction();
2707    method @Nullable public String getLaunchLocation();
2708    method @Nullable public android.app.prediction.AppTarget getTarget();
2709    method public void writeToParcel(android.os.Parcel, int);
2710    field public static final int ACTION_DISMISS = 2; // 0x2
2711    field public static final int ACTION_LAUNCH = 1; // 0x1
2712    field public static final int ACTION_PIN = 3; // 0x3
2713    field public static final int ACTION_UNDISMISS = 5; // 0x5
2714    field public static final int ACTION_UNPIN = 4; // 0x4
2715    field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppTargetEvent> CREATOR;
2716  }
2717
2718  public static final class AppTargetEvent.Builder {
2719    ctor public AppTargetEvent.Builder(@Nullable android.app.prediction.AppTarget, int);
2720    method @NonNull public android.app.prediction.AppTargetEvent build();
2721    method @NonNull public android.app.prediction.AppTargetEvent.Builder setLaunchLocation(@Nullable String);
2722  }
2723
2724  public final class AppTargetId implements android.os.Parcelable {
2725    ctor public AppTargetId(@NonNull String);
2726    method public int describeContents();
2727    method public void writeToParcel(android.os.Parcel, int);
2728    field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppTargetId> CREATOR;
2729  }
2730
2731}
2732
2733package android.app.role {
2734
2735  public interface OnRoleHoldersChangedListener {
2736    method public void onRoleHoldersChanged(@NonNull String, @NonNull android.os.UserHandle);
2737  }
2738
2739  @Deprecated public abstract class RoleControllerService extends android.app.Service {
2740    ctor @Deprecated public RoleControllerService();
2741    method @Deprecated @WorkerThread public abstract boolean onAddRoleHolder(@NonNull String, @NonNull String, int);
2742    method @Deprecated @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent);
2743    method @Deprecated @WorkerThread public abstract boolean onClearRoleHolders(@NonNull String, int);
2744    method @Deprecated @NonNull public java.util.List<java.lang.String> onGetLegacyFallbackDisabledRoles();
2745    method @Deprecated @WorkerThread public abstract boolean onGrantDefaultRoles();
2746    method @Deprecated public abstract boolean onIsApplicationQualifiedForRole(@NonNull String, @NonNull String);
2747    method @Deprecated public boolean onIsApplicationVisibleForRole(@NonNull String, @NonNull String);
2748    method @Deprecated public abstract boolean onIsRoleVisible(@NonNull String);
2749    method @Deprecated @WorkerThread public abstract boolean onRemoveRoleHolder(@NonNull String, @NonNull String, int);
2750    field @Deprecated public static final String SERVICE_INTERFACE = "android.app.role.RoleControllerService";
2751  }
2752
2753  public final class RoleManager {
2754    method @RequiresPermission(android.Manifest.permission.OBSERVE_ROLE_HOLDERS) public void addOnRoleHoldersChangedListenerAsUser(@NonNull java.util.concurrent.Executor, @NonNull android.app.role.OnRoleHoldersChangedListener, @NonNull android.os.UserHandle);
2755    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public void addRoleHolderAsUser(@NonNull String, @NonNull String, int, @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
2756    method @Deprecated @RequiresPermission("com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER") public boolean addRoleHolderFromController(@NonNull String, @NonNull String);
2757    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public void clearRoleHoldersAsUser(@NonNull String, int, @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
2758    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_DEFAULT_APPLICATIONS) public String getDefaultApplication(@NonNull String);
2759    method @Deprecated @NonNull @RequiresPermission("com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER") public java.util.List<java.lang.String> getHeldRolesFromController(@NonNull String);
2760    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public java.util.List<java.lang.String> getRoleHolders(@NonNull String);
2761    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public java.util.List<java.lang.String> getRoleHoldersAsUser(@NonNull String, @NonNull android.os.UserHandle);
2762    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public void isApplicationVisibleForRole(@NonNull String, @NonNull String, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
2763    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public boolean isBypassingRoleQualification();
2764    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public boolean isRoleFallbackEnabled(@NonNull String);
2765    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public void isRoleVisible(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
2766    method @RequiresPermission(android.Manifest.permission.OBSERVE_ROLE_HOLDERS) public void removeOnRoleHoldersChangedListenerAsUser(@NonNull android.app.role.OnRoleHoldersChangedListener, @NonNull android.os.UserHandle);
2767    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public void removeRoleHolderAsUser(@NonNull String, @NonNull String, int, @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
2768    method @Deprecated @RequiresPermission("com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER") public boolean removeRoleHolderFromController(@NonNull String, @NonNull String);
2769    method @RequiresPermission(android.Manifest.permission.BYPASS_ROLE_QUALIFICATION) public void setBypassingRoleQualification(boolean);
2770    method @RequiresPermission(android.Manifest.permission.MANAGE_DEFAULT_APPLICATIONS) public void setDefaultApplication(@NonNull String, @Nullable String, int, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
2771    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public void setRoleFallbackEnabled(@NonNull String, boolean);
2772    method @Deprecated @RequiresPermission("com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER") public void setRoleNamesFromController(@NonNull java.util.List<java.lang.String>);
2773    field public static final int MANAGE_HOLDERS_FLAG_DONT_KILL_APP = 1; // 0x1
2774    field public static final String ROLE_DEVICE_POLICY_MANAGEMENT = "android.app.role.DEVICE_POLICY_MANAGEMENT";
2775    field public static final String ROLE_FINANCED_DEVICE_KIOSK = "android.app.role.FINANCED_DEVICE_KIOSK";
2776    field public static final String ROLE_SYSTEM_ACTIVITY_RECOGNIZER = "android.app.role.SYSTEM_ACTIVITY_RECOGNIZER";
2777    field public static final String ROLE_SYSTEM_CALL_STREAMING = "android.app.role.SYSTEM_CALL_STREAMING";
2778    field public static final String ROLE_SYSTEM_SUPERVISION = "android.app.role.SYSTEM_SUPERVISION";
2779    field public static final String ROLE_SYSTEM_WELLBEING = "android.app.role.SYSTEM_WELLBEING";
2780  }
2781
2782}
2783
2784package android.app.search {
2785
2786  public final class Query implements android.os.Parcelable {
2787    ctor public Query(@NonNull String, long);
2788    ctor public Query(@NonNull String, long, @NonNull android.os.Bundle);
2789    method public int describeContents();
2790    method @NonNull public android.os.Bundle getExtras();
2791    method @NonNull public String getInput();
2792    method public long getTimestampMillis();
2793    method public void writeToParcel(@NonNull android.os.Parcel, int);
2794    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.Query> CREATOR;
2795    field public static final String EXTRA_IME_HEIGHT = "android.app.search.extra.IME_HEIGHT";
2796  }
2797
2798  public final class SearchAction implements android.os.Parcelable {
2799    method public int describeContents();
2800    method @Nullable public CharSequence getContentDescription();
2801    method @Nullable public android.os.Bundle getExtras();
2802    method @Nullable public android.graphics.drawable.Icon getIcon();
2803    method @NonNull public String getId();
2804    method @Nullable public android.content.Intent getIntent();
2805    method @Nullable public android.app.PendingIntent getPendingIntent();
2806    method @Nullable public CharSequence getSubtitle();
2807    method @NonNull public CharSequence getTitle();
2808    method @Nullable public android.os.UserHandle getUserHandle();
2809    method public void writeToParcel(@NonNull android.os.Parcel, int);
2810    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.SearchAction> CREATOR;
2811  }
2812
2813  public static final class SearchAction.Builder {
2814    ctor public SearchAction.Builder(@NonNull String, @NonNull String);
2815    method @NonNull public android.app.search.SearchAction build();
2816    method @NonNull public android.app.search.SearchAction.Builder setContentDescription(@Nullable CharSequence);
2817    method @NonNull public android.app.search.SearchAction.Builder setExtras(@Nullable android.os.Bundle);
2818    method @NonNull public android.app.search.SearchAction.Builder setIcon(@Nullable android.graphics.drawable.Icon);
2819    method @NonNull public android.app.search.SearchAction.Builder setIntent(@Nullable android.content.Intent);
2820    method @NonNull public android.app.search.SearchAction.Builder setPendingIntent(@Nullable android.app.PendingIntent);
2821    method @NonNull public android.app.search.SearchAction.Builder setSubtitle(@Nullable CharSequence);
2822    method @NonNull public android.app.search.SearchAction.Builder setUserHandle(@Nullable android.os.UserHandle);
2823  }
2824
2825  public final class SearchContext implements android.os.Parcelable {
2826    ctor public SearchContext(int, int);
2827    ctor public SearchContext(int, int, @NonNull android.os.Bundle);
2828    method public int describeContents();
2829    method @NonNull public android.os.Bundle getExtras();
2830    method @Nullable public String getPackageName();
2831    method @NonNull public int getResultTypes();
2832    method @NonNull public int getTimeoutMillis();
2833    method public void writeToParcel(@NonNull android.os.Parcel, int);
2834    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.SearchContext> CREATOR;
2835  }
2836
2837  public final class SearchSession implements java.lang.AutoCloseable {
2838    method public void close();
2839    method protected void finalize();
2840    method public void notifyEvent(@NonNull android.app.search.Query, @NonNull android.app.search.SearchTargetEvent);
2841    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>>);
2842    method public void registerEmptyQueryResultUpdateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.app.search.SearchSession.Callback);
2843    method public void unregisterEmptyQueryResultUpdateCallback(@NonNull android.app.search.SearchSession.Callback);
2844  }
2845
2846  public static interface SearchSession.Callback {
2847    method public void onTargetsAvailable(@NonNull java.util.List<android.app.search.SearchTarget>);
2848  }
2849
2850  public final class SearchSessionId implements android.os.Parcelable {
2851    method public int describeContents();
2852    method public void writeToParcel(@NonNull android.os.Parcel, int);
2853    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.SearchSessionId> CREATOR;
2854  }
2855
2856  public final class SearchTarget implements android.os.Parcelable {
2857    method public int describeContents();
2858    method @Nullable public android.appwidget.AppWidgetProviderInfo getAppWidgetProviderInfo();
2859    method @NonNull public android.os.Bundle getExtras();
2860    method @NonNull public String getId();
2861    method @NonNull public String getLayoutType();
2862    method @NonNull public String getPackageName();
2863    method @NonNull public String getParentId();
2864    method public int getResultType();
2865    method public float getScore();
2866    method @Nullable public android.app.search.SearchAction getSearchAction();
2867    method @Nullable public android.content.pm.ShortcutInfo getShortcutInfo();
2868    method @Nullable public android.net.Uri getSliceUri();
2869    method @NonNull public android.os.UserHandle getUserHandle();
2870    method public boolean isHidden();
2871    method public void writeToParcel(@NonNull android.os.Parcel, int);
2872    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.SearchTarget> CREATOR;
2873    field public static final String LAYOUT_TYPE_ICON = "icon";
2874    field public static final String LAYOUT_TYPE_ICON_ROW = "icon_row";
2875    field public static final String LAYOUT_TYPE_SHORT_ICON_ROW = "short_icon_row";
2876    field public static final int RESULT_TYPE_APPLICATION = 1; // 0x1
2877    field public static final int RESULT_TYPE_SHORTCUT = 2; // 0x2
2878    field public static final int RESULT_TYPE_SLICE = 4; // 0x4
2879    field public static final int RESULT_TYPE_WIDGETS = 8; // 0x8
2880  }
2881
2882  public static final class SearchTarget.Builder {
2883    ctor public SearchTarget.Builder(int, @NonNull String, @NonNull String);
2884    method @NonNull public android.app.search.SearchTarget build();
2885    method @NonNull public android.app.search.SearchTarget.Builder setAppWidgetProviderInfo(@NonNull android.appwidget.AppWidgetProviderInfo);
2886    method @NonNull public android.app.search.SearchTarget.Builder setExtras(@NonNull android.os.Bundle);
2887    method @NonNull public android.app.search.SearchTarget.Builder setHidden(boolean);
2888    method @NonNull public android.app.search.SearchTarget.Builder setPackageName(@NonNull String);
2889    method @NonNull public android.app.search.SearchTarget.Builder setParentId(@NonNull String);
2890    method @NonNull public android.app.search.SearchTarget.Builder setScore(@FloatRange(from=0.0f, to=1.0f) float);
2891    method @NonNull public android.app.search.SearchTarget.Builder setSearchAction(@Nullable android.app.search.SearchAction);
2892    method @NonNull public android.app.search.SearchTarget.Builder setShortcutInfo(@NonNull android.content.pm.ShortcutInfo);
2893    method @NonNull public android.app.search.SearchTarget.Builder setSliceUri(@NonNull android.net.Uri);
2894    method @NonNull public android.app.search.SearchTarget.Builder setUserHandle(@NonNull android.os.UserHandle);
2895  }
2896
2897  public final class SearchTargetEvent implements android.os.Parcelable {
2898    method public int describeContents();
2899    method public int getAction();
2900    method public int getFlags();
2901    method @Nullable public String getLaunchLocation();
2902    method @NonNull public String getTargetId();
2903    method @NonNull public java.util.List<java.lang.String> getTargetIds();
2904    method public void writeToParcel(@NonNull android.os.Parcel, int);
2905    field public static final int ACTION_DELETE = 9; // 0x9
2906    field public static final int ACTION_DISMISS = 10; // 0xa
2907    field public static final int ACTION_DRAGNDROP = 7; // 0x7
2908    field public static final int ACTION_LAUNCH_KEYBOARD_FOCUS = 6; // 0x6
2909    field public static final int ACTION_LAUNCH_TOUCH = 5; // 0x5
2910    field public static final int ACTION_LONGPRESS = 4; // 0x4
2911    field public static final int ACTION_SURFACE_INVISIBLE = 8; // 0x8
2912    field public static final int ACTION_SURFACE_VISIBLE = 1; // 0x1
2913    field public static final int ACTION_TAP = 3; // 0x3
2914    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.SearchTargetEvent> CREATOR;
2915    field public static final int FLAG_IME_SHOWN = 1; // 0x1
2916  }
2917
2918  public static final class SearchTargetEvent.Builder {
2919    ctor public SearchTargetEvent.Builder(@NonNull String, int);
2920    ctor public SearchTargetEvent.Builder(@NonNull java.util.List<java.lang.String>, int);
2921    method @NonNull public android.app.search.SearchTargetEvent build();
2922    method @NonNull public android.app.search.SearchTargetEvent.Builder setFlags(int);
2923    method @NonNull public android.app.search.SearchTargetEvent.Builder setLaunchLocation(@Nullable String);
2924  }
2925
2926  public final class SearchUiManager {
2927    method @NonNull public android.app.search.SearchSession createSearchSession(@NonNull android.app.search.SearchContext);
2928  }
2929
2930}
2931
2932package android.app.smartspace {
2933
2934  public final class SmartspaceAction implements android.os.Parcelable {
2935    method public int describeContents();
2936    method @Nullable public CharSequence getContentDescription();
2937    method @Nullable public android.os.Bundle getExtras();
2938    method @Nullable public android.graphics.drawable.Icon getIcon();
2939    method @NonNull public String getId();
2940    method @Nullable public android.content.Intent getIntent();
2941    method @Nullable public android.app.PendingIntent getPendingIntent();
2942    method @Nullable public CharSequence getSubtitle();
2943    method @NonNull public CharSequence getTitle();
2944    method @Nullable public android.os.UserHandle getUserHandle();
2945    method public void writeToParcel(@NonNull android.os.Parcel, int);
2946    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.SmartspaceAction> CREATOR;
2947  }
2948
2949  public static final class SmartspaceAction.Builder {
2950    ctor public SmartspaceAction.Builder(@NonNull String, @NonNull String);
2951    method @NonNull public android.app.smartspace.SmartspaceAction build();
2952    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setContentDescription(@Nullable CharSequence);
2953    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setExtras(@Nullable android.os.Bundle);
2954    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setIcon(@Nullable android.graphics.drawable.Icon);
2955    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setIntent(@Nullable android.content.Intent);
2956    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setPendingIntent(@Nullable android.app.PendingIntent);
2957    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setSubtitle(@Nullable CharSequence);
2958    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setUserHandle(@Nullable android.os.UserHandle);
2959  }
2960
2961  public final class SmartspaceConfig implements android.os.Parcelable {
2962    method public int describeContents();
2963    method @Nullable public android.os.Bundle getExtras();
2964    method @NonNull public String getPackageName();
2965    method @NonNull public int getSmartspaceTargetCount();
2966    method @NonNull public String getUiSurface();
2967    method public void writeToParcel(@NonNull android.os.Parcel, int);
2968    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.SmartspaceConfig> CREATOR;
2969  }
2970
2971  public static final class SmartspaceConfig.Builder {
2972    ctor public SmartspaceConfig.Builder(@NonNull android.content.Context, @NonNull String);
2973    method @NonNull public android.app.smartspace.SmartspaceConfig build();
2974    method @NonNull public android.app.smartspace.SmartspaceConfig.Builder setExtras(@NonNull android.os.Bundle);
2975    method @NonNull public android.app.smartspace.SmartspaceConfig.Builder setSmartspaceTargetCount(@IntRange(from=0, to=50) int);
2976  }
2977
2978  public final class SmartspaceManager {
2979    method @NonNull public android.app.smartspace.SmartspaceSession createSmartspaceSession(@NonNull android.app.smartspace.SmartspaceConfig);
2980  }
2981
2982  public final class SmartspaceSession implements java.lang.AutoCloseable {
2983    method public void addOnTargetsAvailableListener(@NonNull java.util.concurrent.Executor, @NonNull android.app.smartspace.SmartspaceSession.OnTargetsAvailableListener);
2984    method public void close();
2985    method protected void finalize();
2986    method public void notifySmartspaceEvent(@NonNull android.app.smartspace.SmartspaceTargetEvent);
2987    method public void removeOnTargetsAvailableListener(@NonNull android.app.smartspace.SmartspaceSession.OnTargetsAvailableListener);
2988    method public void requestSmartspaceUpdate();
2989  }
2990
2991  public static interface SmartspaceSession.OnTargetsAvailableListener {
2992    method public void onTargetsAvailable(@NonNull java.util.List<android.app.smartspace.SmartspaceTarget>);
2993  }
2994
2995  public final class SmartspaceSessionId implements android.os.Parcelable {
2996    method public int describeContents();
2997    method @Nullable public String getId();
2998    method @NonNull public android.os.UserHandle getUserHandle();
2999    method public void writeToParcel(@NonNull android.os.Parcel, int);
3000    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.SmartspaceSessionId> CREATOR;
3001  }
3002
3003  public final class SmartspaceTarget implements android.os.Parcelable {
3004    method public int describeContents();
3005    method @NonNull public java.util.List<android.app.smartspace.SmartspaceAction> getActionChips();
3006    method @Nullable public String getAssociatedSmartspaceTargetId();
3007    method @Nullable public android.app.smartspace.SmartspaceAction getBaseAction();
3008    method @NonNull public android.content.ComponentName getComponentName();
3009    method public long getCreationTimeMillis();
3010    method public long getExpiryTimeMillis();
3011    method public int getFeatureType();
3012    method @Nullable public android.app.smartspace.SmartspaceAction getHeaderAction();
3013    method @NonNull public java.util.List<android.app.smartspace.SmartspaceAction> getIconGrid();
3014    method @Nullable public android.widget.RemoteViews getRemoteViews();
3015    method public float getScore();
3016    method @Nullable public android.net.Uri getSliceUri();
3017    method @NonNull public String getSmartspaceTargetId();
3018    method @Nullable public String getSourceNotificationKey();
3019    method @Nullable public android.app.smartspace.uitemplatedata.BaseTemplateData getTemplateData();
3020    method @NonNull public android.os.UserHandle getUserHandle();
3021    method @Nullable public android.appwidget.AppWidgetProviderInfo getWidget();
3022    method public boolean isSensitive();
3023    method public boolean shouldShowExpanded();
3024    method public void writeToParcel(@NonNull android.os.Parcel, int);
3025    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.SmartspaceTarget> CREATOR;
3026    field public static final int FEATURE_ALARM = 7; // 0x7
3027    field public static final int FEATURE_BEDTIME_ROUTINE = 16; // 0x10
3028    field public static final int FEATURE_BLAZE_BUILD_PROGRESS = 40; // 0x28
3029    field public static final int FEATURE_CALENDAR = 2; // 0x2
3030    field public static final int FEATURE_COMMUTE_TIME = 3; // 0x3
3031    field public static final int FEATURE_CONSENT = 11; // 0xb
3032    field public static final int FEATURE_CROSS_DEVICE_TIMER = 32; // 0x20
3033    field public static final int FEATURE_DOORBELL = 30; // 0x1e
3034    field public static final int FEATURE_DRIVING_MODE = 26; // 0x1a
3035    field public static final int FEATURE_EARTHQUAKE_ALERT = 38; // 0x26
3036    field public static final int FEATURE_EARTHQUAKE_OCCURRED = 41; // 0x29
3037    field public static final int FEATURE_ETA_MONITORING = 18; // 0x12
3038    field public static final int FEATURE_FITNESS_TRACKING = 17; // 0x11
3039    field public static final int FEATURE_FLASHLIGHT = 28; // 0x1c
3040    field public static final int FEATURE_FLIGHT = 4; // 0x4
3041    field public static final int FEATURE_GAS_STATION_PAYMENT = 24; // 0x18
3042    field public static final int FEATURE_HOLIDAY_ALARM = 34; // 0x22
3043    field public static final int FEATURE_LOYALTY_CARD = 14; // 0xe
3044    field public static final int FEATURE_MEDIA = 15; // 0xf
3045    field public static final int FEATURE_MEDIA_HEADS_UP = 36; // 0x24
3046    field public static final int FEATURE_MEDIA_RESUME = 31; // 0x1f
3047    field public static final int FEATURE_MISSED_CALL = 19; // 0x13
3048    field public static final int FEATURE_ONBOARDING = 8; // 0x8
3049    field public static final int FEATURE_PACKAGE_TRACKING = 20; // 0x14
3050    field public static final int FEATURE_PAIRED_DEVICE_STATE = 25; // 0x19
3051    field public static final int FEATURE_REMINDER = 6; // 0x6
3052    field public static final int FEATURE_SAFETY_CHECK = 35; // 0x23
3053    field public static final int FEATURE_SEVERE_WEATHER_ALERT = 33; // 0x21
3054    field public static final int FEATURE_SHOPPING_LIST = 13; // 0xd
3055    field public static final int FEATURE_SLEEP_SUMMARY = 27; // 0x1b
3056    field public static final int FEATURE_SPORTS = 9; // 0x9
3057    field public static final int FEATURE_STEP_COUNTING = 37; // 0x25
3058    field public static final int FEATURE_STEP_DATE = 39; // 0x27
3059    field public static final int FEATURE_STOCK_PRICE_CHANGE = 12; // 0xc
3060    field public static final int FEATURE_STOPWATCH = 22; // 0x16
3061    field public static final int FEATURE_TIMER = 21; // 0x15
3062    field public static final int FEATURE_TIME_TO_LEAVE = 29; // 0x1d
3063    field public static final int FEATURE_TIPS = 5; // 0x5
3064    field public static final int FEATURE_UNDEFINED = 0; // 0x0
3065    field public static final int FEATURE_UPCOMING_ALARM = 23; // 0x17
3066    field public static final int FEATURE_WEATHER = 1; // 0x1
3067    field public static final int FEATURE_WEATHER_ALERT = 10; // 0xa
3068    field public static final int UI_TEMPLATE_CAROUSEL = 4; // 0x4
3069    field public static final int UI_TEMPLATE_COMBINED_CARDS = 6; // 0x6
3070    field public static final int UI_TEMPLATE_DEFAULT = 1; // 0x1
3071    field public static final int UI_TEMPLATE_HEAD_TO_HEAD = 5; // 0x5
3072    field public static final int UI_TEMPLATE_SUB_CARD = 7; // 0x7
3073    field public static final int UI_TEMPLATE_SUB_IMAGE = 2; // 0x2
3074    field public static final int UI_TEMPLATE_SUB_LIST = 3; // 0x3
3075    field public static final int UI_TEMPLATE_UNDEFINED = 0; // 0x0
3076  }
3077
3078  public static final class SmartspaceTarget.Builder {
3079    ctor public SmartspaceTarget.Builder(@NonNull String, @NonNull android.content.ComponentName, @NonNull android.os.UserHandle);
3080    method @NonNull public android.app.smartspace.SmartspaceTarget build();
3081    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setActionChips(@NonNull java.util.List<android.app.smartspace.SmartspaceAction>);
3082    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setAssociatedSmartspaceTargetId(@NonNull String);
3083    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setBaseAction(@NonNull android.app.smartspace.SmartspaceAction);
3084    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setCreationTimeMillis(long);
3085    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setExpiryTimeMillis(long);
3086    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setFeatureType(int);
3087    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setHeaderAction(@NonNull android.app.smartspace.SmartspaceAction);
3088    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setIconGrid(@NonNull java.util.List<android.app.smartspace.SmartspaceAction>);
3089    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setRemoteViews(@NonNull android.widget.RemoteViews);
3090    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setScore(float);
3091    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setSensitive(boolean);
3092    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setShouldShowExpanded(boolean);
3093    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setSliceUri(@NonNull android.net.Uri);
3094    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setSourceNotificationKey(@NonNull String);
3095    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setTemplateData(@Nullable android.app.smartspace.uitemplatedata.BaseTemplateData);
3096    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setWidget(@NonNull android.appwidget.AppWidgetProviderInfo);
3097  }
3098
3099  public final class SmartspaceTargetEvent implements android.os.Parcelable {
3100    method public int describeContents();
3101    method @NonNull public int getEventType();
3102    method @Nullable public String getSmartspaceActionId();
3103    method @Nullable public android.app.smartspace.SmartspaceTarget getSmartspaceTarget();
3104    method public void writeToParcel(@NonNull android.os.Parcel, int);
3105    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.SmartspaceTargetEvent> CREATOR;
3106    field public static final int EVENT_TARGET_BLOCK = 5; // 0x5
3107    field public static final int EVENT_TARGET_DISMISS = 4; // 0x4
3108    field public static final int EVENT_TARGET_HIDDEN = 3; // 0x3
3109    field public static final int EVENT_TARGET_INTERACTION = 1; // 0x1
3110    field public static final int EVENT_TARGET_SHOWN = 2; // 0x2
3111    field public static final int EVENT_UI_SURFACE_HIDDEN = 7; // 0x7
3112    field public static final int EVENT_UI_SURFACE_SHOWN = 6; // 0x6
3113  }
3114
3115  public static final class SmartspaceTargetEvent.Builder {
3116    ctor public SmartspaceTargetEvent.Builder(int);
3117    method @NonNull public android.app.smartspace.SmartspaceTargetEvent build();
3118    method @NonNull public android.app.smartspace.SmartspaceTargetEvent.Builder setSmartspaceActionId(@NonNull String);
3119    method @NonNull public android.app.smartspace.SmartspaceTargetEvent.Builder setSmartspaceTarget(@NonNull android.app.smartspace.SmartspaceTarget);
3120  }
3121
3122}
3123
3124package android.app.smartspace.uitemplatedata {
3125
3126  public class BaseTemplateData implements android.os.Parcelable {
3127    method public int describeContents();
3128    method public int getLayoutWeight();
3129    method @Nullable public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo getPrimaryItem();
3130    method @Nullable public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo getSubtitleItem();
3131    method @Nullable public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo getSubtitleSupplementalItem();
3132    method @Nullable public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo getSupplementalAlarmItem();
3133    method @Nullable public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo getSupplementalLineItem();
3134    method public int getTemplateType();
3135    method public void writeToParcel(@NonNull android.os.Parcel, int);
3136    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.BaseTemplateData> CREATOR;
3137  }
3138
3139  public static class BaseTemplateData.Builder {
3140    ctor public BaseTemplateData.Builder(int);
3141    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData build();
3142    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.Builder setLayoutWeight(int);
3143    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.Builder setPrimaryItem(@NonNull android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo);
3144    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.Builder setSubtitleItem(@NonNull android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo);
3145    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.Builder setSubtitleSupplementalItem(@NonNull android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo);
3146    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.Builder setSupplementalAlarmItem(@NonNull android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo);
3147    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.Builder setSupplementalLineItem(@NonNull android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo);
3148  }
3149
3150  public static final class BaseTemplateData.SubItemInfo implements android.os.Parcelable {
3151    method public int describeContents();
3152    method @Nullable public android.app.smartspace.uitemplatedata.Icon getIcon();
3153    method @Nullable public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemLoggingInfo getLoggingInfo();
3154    method @Nullable public android.app.smartspace.uitemplatedata.TapAction getTapAction();
3155    method @Nullable public android.app.smartspace.uitemplatedata.Text getText();
3156    method public void writeToParcel(@NonNull android.os.Parcel, int);
3157    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo> CREATOR;
3158  }
3159
3160  public static final class BaseTemplateData.SubItemInfo.Builder {
3161    ctor public BaseTemplateData.SubItemInfo.Builder();
3162    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo build();
3163    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo.Builder setIcon(@NonNull android.app.smartspace.uitemplatedata.Icon);
3164    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo.Builder setLoggingInfo(@NonNull android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemLoggingInfo);
3165    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo.Builder setTapAction(@NonNull android.app.smartspace.uitemplatedata.TapAction);
3166    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo.Builder setText(@NonNull android.app.smartspace.uitemplatedata.Text);
3167  }
3168
3169  public static final class BaseTemplateData.SubItemLoggingInfo implements android.os.Parcelable {
3170    method public int describeContents();
3171    method public int getFeatureType();
3172    method public int getInstanceId();
3173    method @Nullable public CharSequence getPackageName();
3174    method public void writeToParcel(@NonNull android.os.Parcel, int);
3175    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemLoggingInfo> CREATOR;
3176  }
3177
3178  public static final class BaseTemplateData.SubItemLoggingInfo.Builder {
3179    ctor public BaseTemplateData.SubItemLoggingInfo.Builder(int, int);
3180    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemLoggingInfo build();
3181    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemLoggingInfo.Builder setPackageName(@NonNull CharSequence);
3182  }
3183
3184  public final class CarouselTemplateData extends android.app.smartspace.uitemplatedata.BaseTemplateData {
3185    method @Nullable public android.app.smartspace.uitemplatedata.TapAction getCarouselAction();
3186    method @NonNull public java.util.List<android.app.smartspace.uitemplatedata.CarouselTemplateData.CarouselItem> getCarouselItems();
3187    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.CarouselTemplateData> CREATOR;
3188  }
3189
3190  public static final class CarouselTemplateData.Builder extends android.app.smartspace.uitemplatedata.BaseTemplateData.Builder {
3191    ctor public CarouselTemplateData.Builder(@NonNull java.util.List<android.app.smartspace.uitemplatedata.CarouselTemplateData.CarouselItem>);
3192    method @NonNull public android.app.smartspace.uitemplatedata.CarouselTemplateData build();
3193    method @NonNull public android.app.smartspace.uitemplatedata.CarouselTemplateData.Builder setCarouselAction(@NonNull android.app.smartspace.uitemplatedata.TapAction);
3194  }
3195
3196  public static final class CarouselTemplateData.CarouselItem implements android.os.Parcelable {
3197    method public int describeContents();
3198    method @Nullable public android.app.smartspace.uitemplatedata.Icon getImage();
3199    method @Nullable public android.app.smartspace.uitemplatedata.Text getLowerText();
3200    method @Nullable public android.app.smartspace.uitemplatedata.TapAction getTapAction();
3201    method @Nullable public android.app.smartspace.uitemplatedata.Text getUpperText();
3202    method public void writeToParcel(@NonNull android.os.Parcel, int);
3203    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.CarouselTemplateData.CarouselItem> CREATOR;
3204  }
3205
3206  public static final class CarouselTemplateData.CarouselItem.Builder {
3207    ctor public CarouselTemplateData.CarouselItem.Builder();
3208    method @NonNull public android.app.smartspace.uitemplatedata.CarouselTemplateData.CarouselItem build();
3209    method @NonNull public android.app.smartspace.uitemplatedata.CarouselTemplateData.CarouselItem.Builder setImage(@Nullable android.app.smartspace.uitemplatedata.Icon);
3210    method @NonNull public android.app.smartspace.uitemplatedata.CarouselTemplateData.CarouselItem.Builder setLowerText(@Nullable android.app.smartspace.uitemplatedata.Text);
3211    method @NonNull public android.app.smartspace.uitemplatedata.CarouselTemplateData.CarouselItem.Builder setTapAction(@Nullable android.app.smartspace.uitemplatedata.TapAction);
3212    method @NonNull public android.app.smartspace.uitemplatedata.CarouselTemplateData.CarouselItem.Builder setUpperText(@Nullable android.app.smartspace.uitemplatedata.Text);
3213  }
3214
3215  public final class CombinedCardsTemplateData extends android.app.smartspace.uitemplatedata.BaseTemplateData {
3216    method @NonNull public java.util.List<android.app.smartspace.uitemplatedata.BaseTemplateData> getCombinedCardDataList();
3217    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.CombinedCardsTemplateData> CREATOR;
3218  }
3219
3220  public static final class CombinedCardsTemplateData.Builder extends android.app.smartspace.uitemplatedata.BaseTemplateData.Builder {
3221    ctor public CombinedCardsTemplateData.Builder(@NonNull java.util.List<android.app.smartspace.uitemplatedata.BaseTemplateData>);
3222    method @NonNull public android.app.smartspace.uitemplatedata.CombinedCardsTemplateData build();
3223  }
3224
3225  public final class HeadToHeadTemplateData extends android.app.smartspace.uitemplatedata.BaseTemplateData {
3226    method @Nullable public android.app.smartspace.uitemplatedata.TapAction getHeadToHeadAction();
3227    method @Nullable public android.app.smartspace.uitemplatedata.Icon getHeadToHeadFirstCompetitorIcon();
3228    method @Nullable public android.app.smartspace.uitemplatedata.Text getHeadToHeadFirstCompetitorText();
3229    method @Nullable public android.app.smartspace.uitemplatedata.Icon getHeadToHeadSecondCompetitorIcon();
3230    method @Nullable public android.app.smartspace.uitemplatedata.Text getHeadToHeadSecondCompetitorText();
3231    method @Nullable public android.app.smartspace.uitemplatedata.Text getHeadToHeadTitle();
3232    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.HeadToHeadTemplateData> CREATOR;
3233  }
3234
3235  public static final class HeadToHeadTemplateData.Builder extends android.app.smartspace.uitemplatedata.BaseTemplateData.Builder {
3236    ctor public HeadToHeadTemplateData.Builder();
3237    method @NonNull public android.app.smartspace.uitemplatedata.HeadToHeadTemplateData build();
3238    method @NonNull public android.app.smartspace.uitemplatedata.HeadToHeadTemplateData.Builder setHeadToHeadAction(@Nullable android.app.smartspace.uitemplatedata.TapAction);
3239    method @NonNull public android.app.smartspace.uitemplatedata.HeadToHeadTemplateData.Builder setHeadToHeadFirstCompetitorIcon(@Nullable android.app.smartspace.uitemplatedata.Icon);
3240    method @NonNull public android.app.smartspace.uitemplatedata.HeadToHeadTemplateData.Builder setHeadToHeadFirstCompetitorText(@Nullable android.app.smartspace.uitemplatedata.Text);
3241    method @NonNull public android.app.smartspace.uitemplatedata.HeadToHeadTemplateData.Builder setHeadToHeadSecondCompetitorIcon(@Nullable android.app.smartspace.uitemplatedata.Icon);
3242    method @NonNull public android.app.smartspace.uitemplatedata.HeadToHeadTemplateData.Builder setHeadToHeadSecondCompetitorText(@Nullable android.app.smartspace.uitemplatedata.Text);
3243    method @NonNull public android.app.smartspace.uitemplatedata.HeadToHeadTemplateData.Builder setHeadToHeadTitle(@Nullable android.app.smartspace.uitemplatedata.Text);
3244  }
3245
3246  public final class Icon implements android.os.Parcelable {
3247    method public int describeContents();
3248    method @Nullable public CharSequence getContentDescription();
3249    method @NonNull public android.graphics.drawable.Icon getIcon();
3250    method public boolean shouldTint();
3251    method public void writeToParcel(@NonNull android.os.Parcel, int);
3252    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.Icon> CREATOR;
3253  }
3254
3255  public static final class Icon.Builder {
3256    ctor public Icon.Builder(@NonNull android.graphics.drawable.Icon);
3257    method @NonNull public android.app.smartspace.uitemplatedata.Icon build();
3258    method @NonNull public android.app.smartspace.uitemplatedata.Icon.Builder setContentDescription(@NonNull CharSequence);
3259    method @NonNull public android.app.smartspace.uitemplatedata.Icon.Builder setShouldTint(boolean);
3260  }
3261
3262  public final class SubCardTemplateData extends android.app.smartspace.uitemplatedata.BaseTemplateData {
3263    method @Nullable public android.app.smartspace.uitemplatedata.TapAction getSubCardAction();
3264    method @NonNull public android.app.smartspace.uitemplatedata.Icon getSubCardIcon();
3265    method @Nullable public android.app.smartspace.uitemplatedata.Text getSubCardText();
3266    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.SubCardTemplateData> CREATOR;
3267  }
3268
3269  public static final class SubCardTemplateData.Builder extends android.app.smartspace.uitemplatedata.BaseTemplateData.Builder {
3270    ctor public SubCardTemplateData.Builder(@NonNull android.app.smartspace.uitemplatedata.Icon);
3271    method @NonNull public android.app.smartspace.uitemplatedata.SubCardTemplateData build();
3272    method @NonNull public android.app.smartspace.uitemplatedata.SubCardTemplateData.Builder setSubCardAction(@NonNull android.app.smartspace.uitemplatedata.TapAction);
3273    method @NonNull public android.app.smartspace.uitemplatedata.SubCardTemplateData.Builder setSubCardText(@NonNull android.app.smartspace.uitemplatedata.Text);
3274  }
3275
3276  public final class SubImageTemplateData extends android.app.smartspace.uitemplatedata.BaseTemplateData {
3277    method @Nullable public android.app.smartspace.uitemplatedata.TapAction getSubImageAction();
3278    method @NonNull public java.util.List<android.app.smartspace.uitemplatedata.Text> getSubImageTexts();
3279    method @NonNull public java.util.List<android.app.smartspace.uitemplatedata.Icon> getSubImages();
3280    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.SubImageTemplateData> CREATOR;
3281  }
3282
3283  public static final class SubImageTemplateData.Builder extends android.app.smartspace.uitemplatedata.BaseTemplateData.Builder {
3284    ctor public SubImageTemplateData.Builder(@NonNull java.util.List<android.app.smartspace.uitemplatedata.Text>, @NonNull java.util.List<android.app.smartspace.uitemplatedata.Icon>);
3285    method @NonNull public android.app.smartspace.uitemplatedata.SubImageTemplateData build();
3286    method @NonNull public android.app.smartspace.uitemplatedata.SubImageTemplateData.Builder setSubImageAction(@NonNull android.app.smartspace.uitemplatedata.TapAction);
3287  }
3288
3289  public final class SubListTemplateData extends android.app.smartspace.uitemplatedata.BaseTemplateData {
3290    method @Nullable public android.app.smartspace.uitemplatedata.TapAction getSubListAction();
3291    method @Nullable public android.app.smartspace.uitemplatedata.Icon getSubListIcon();
3292    method @NonNull public java.util.List<android.app.smartspace.uitemplatedata.Text> getSubListTexts();
3293    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.SubListTemplateData> CREATOR;
3294  }
3295
3296  public static final class SubListTemplateData.Builder extends android.app.smartspace.uitemplatedata.BaseTemplateData.Builder {
3297    ctor public SubListTemplateData.Builder(@NonNull java.util.List<android.app.smartspace.uitemplatedata.Text>);
3298    method @NonNull public android.app.smartspace.uitemplatedata.SubListTemplateData build();
3299    method @NonNull public android.app.smartspace.uitemplatedata.SubListTemplateData.Builder setSubListAction(@NonNull android.app.smartspace.uitemplatedata.TapAction);
3300    method @NonNull public android.app.smartspace.uitemplatedata.SubListTemplateData.Builder setSubListIcon(@NonNull android.app.smartspace.uitemplatedata.Icon);
3301  }
3302
3303  public final class TapAction implements android.os.Parcelable {
3304    method public int describeContents();
3305    method @Nullable public android.os.Bundle getExtras();
3306    method @Nullable public CharSequence getId();
3307    method @Nullable public android.content.Intent getIntent();
3308    method @Nullable public android.app.PendingIntent getPendingIntent();
3309    method @Nullable public android.os.UserHandle getUserHandle();
3310    method public boolean shouldShowOnLockscreen();
3311    method public void writeToParcel(@NonNull android.os.Parcel, int);
3312    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.TapAction> CREATOR;
3313  }
3314
3315  public static final class TapAction.Builder {
3316    ctor public TapAction.Builder(@NonNull CharSequence);
3317    method @NonNull public android.app.smartspace.uitemplatedata.TapAction build();
3318    method @NonNull public android.app.smartspace.uitemplatedata.TapAction.Builder setExtras(@NonNull android.os.Bundle);
3319    method @NonNull public android.app.smartspace.uitemplatedata.TapAction.Builder setIntent(@NonNull android.content.Intent);
3320    method @NonNull public android.app.smartspace.uitemplatedata.TapAction.Builder setPendingIntent(@NonNull android.app.PendingIntent);
3321    method @NonNull public android.app.smartspace.uitemplatedata.TapAction.Builder setShouldShowOnLockscreen(@NonNull boolean);
3322    method @NonNull public android.app.smartspace.uitemplatedata.TapAction.Builder setUserHandle(@Nullable android.os.UserHandle);
3323  }
3324
3325  public final class Text implements android.os.Parcelable {
3326    method public int describeContents();
3327    method public int getMaxLines();
3328    method @NonNull public CharSequence getText();
3329    method @NonNull public android.text.TextUtils.TruncateAt getTruncateAtType();
3330    method public void writeToParcel(@NonNull android.os.Parcel, int);
3331    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.Text> CREATOR;
3332  }
3333
3334  public static final class Text.Builder {
3335    ctor public Text.Builder(@NonNull CharSequence);
3336    method @NonNull public android.app.smartspace.uitemplatedata.Text build();
3337    method @NonNull public android.app.smartspace.uitemplatedata.Text.Builder setMaxLines(int);
3338    method @NonNull public android.app.smartspace.uitemplatedata.Text.Builder setTruncateAtType(@NonNull android.text.TextUtils.TruncateAt);
3339  }
3340
3341}
3342
3343package android.app.time {
3344
3345  public final class Capabilities {
3346    field public static final int CAPABILITY_NOT_ALLOWED = 20; // 0x14
3347    field public static final int CAPABILITY_NOT_APPLICABLE = 30; // 0x1e
3348    field public static final int CAPABILITY_NOT_SUPPORTED = 10; // 0xa
3349    field public static final int CAPABILITY_POSSESSED = 40; // 0x28
3350  }
3351
3352  public final class ExternalTimeSuggestion implements android.os.Parcelable {
3353    ctor public ExternalTimeSuggestion(long, long);
3354    method public void addDebugInfo(@NonNull java.lang.String...);
3355    method public int describeContents();
3356    method @NonNull public java.util.List<java.lang.String> getDebugInfo();
3357    method public void writeToParcel(@NonNull android.os.Parcel, int);
3358    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.ExternalTimeSuggestion> CREATOR;
3359  }
3360
3361  public final class TimeCapabilities implements android.os.Parcelable {
3362    method public int describeContents();
3363    method public int getConfigureAutoDetectionEnabledCapability();
3364    method public int getSetManualTimeCapability();
3365    method public void writeToParcel(@NonNull android.os.Parcel, int);
3366    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.TimeCapabilities> CREATOR;
3367  }
3368
3369  public final class TimeCapabilitiesAndConfig implements android.os.Parcelable {
3370    method public int describeContents();
3371    method @NonNull public android.app.time.TimeCapabilities getCapabilities();
3372    method @NonNull public android.app.time.TimeConfiguration getConfiguration();
3373    method public void writeToParcel(@NonNull android.os.Parcel, int);
3374    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.TimeCapabilitiesAndConfig> CREATOR;
3375  }
3376
3377  public final class TimeConfiguration implements android.os.Parcelable {
3378    method public int describeContents();
3379    method public boolean isAutoDetectionEnabled();
3380    method public void writeToParcel(@NonNull android.os.Parcel, int);
3381    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.TimeConfiguration> CREATOR;
3382  }
3383
3384  public static final class TimeConfiguration.Builder {
3385    ctor public TimeConfiguration.Builder();
3386    ctor public TimeConfiguration.Builder(@NonNull android.app.time.TimeConfiguration);
3387    method @NonNull public android.app.time.TimeConfiguration build();
3388    method @NonNull public android.app.time.TimeConfiguration.Builder setAutoDetectionEnabled(boolean);
3389  }
3390
3391  public final class TimeManager {
3392    method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public void addTimeZoneDetectorListener(@NonNull java.util.concurrent.Executor, @NonNull android.app.time.TimeManager.TimeZoneDetectorListener);
3393    method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public boolean confirmTime(@NonNull android.app.time.UnixEpochTime);
3394    method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public boolean confirmTimeZone(@NonNull String);
3395    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public android.app.time.TimeCapabilitiesAndConfig getTimeCapabilitiesAndConfig();
3396    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public android.app.time.TimeState getTimeState();
3397    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public android.app.time.TimeZoneCapabilitiesAndConfig getTimeZoneCapabilitiesAndConfig();
3398    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public android.app.time.TimeZoneState getTimeZoneState();
3399    method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public void removeTimeZoneDetectorListener(@NonNull android.app.time.TimeManager.TimeZoneDetectorListener);
3400    method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public boolean setManualTime(@NonNull android.app.time.UnixEpochTime);
3401    method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public boolean setManualTimeZone(@NonNull String);
3402    method @RequiresPermission(android.Manifest.permission.SUGGEST_EXTERNAL_TIME) public void suggestExternalTime(@NonNull android.app.time.ExternalTimeSuggestion);
3403    method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public boolean updateTimeConfiguration(@NonNull android.app.time.TimeConfiguration);
3404    method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public boolean updateTimeZoneConfiguration(@NonNull android.app.time.TimeZoneConfiguration);
3405  }
3406
3407  @java.lang.FunctionalInterface public static interface TimeManager.TimeZoneDetectorListener {
3408    method public void onChange();
3409  }
3410
3411  public final class TimeState implements android.os.Parcelable {
3412    method public int describeContents();
3413    method @NonNull public android.app.time.UnixEpochTime getUnixEpochTime();
3414    method public boolean getUserShouldConfirmTime();
3415    method public void writeToParcel(@NonNull android.os.Parcel, int);
3416    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.TimeState> CREATOR;
3417  }
3418
3419  public final class TimeZoneCapabilities implements android.os.Parcelable {
3420    method public int describeContents();
3421    method public int getConfigureAutoDetectionEnabledCapability();
3422    method public int getConfigureGeoDetectionEnabledCapability();
3423    method public int getSetManualTimeZoneCapability();
3424    method public void writeToParcel(@NonNull android.os.Parcel, int);
3425    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.TimeZoneCapabilities> CREATOR;
3426  }
3427
3428  public final class TimeZoneCapabilitiesAndConfig implements android.os.Parcelable {
3429    method public int describeContents();
3430    method @NonNull public android.app.time.TimeZoneCapabilities getCapabilities();
3431    method @NonNull public android.app.time.TimeZoneConfiguration getConfiguration();
3432    method public void writeToParcel(@NonNull android.os.Parcel, int);
3433    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.TimeZoneCapabilitiesAndConfig> CREATOR;
3434  }
3435
3436  public final class TimeZoneConfiguration implements android.os.Parcelable {
3437    method public int describeContents();
3438    method public boolean isAutoDetectionEnabled();
3439    method public boolean isGeoDetectionEnabled();
3440    method public void writeToParcel(@NonNull android.os.Parcel, int);
3441    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.TimeZoneConfiguration> CREATOR;
3442  }
3443
3444  public static final class TimeZoneConfiguration.Builder {
3445    ctor public TimeZoneConfiguration.Builder();
3446    ctor public TimeZoneConfiguration.Builder(@NonNull android.app.time.TimeZoneConfiguration);
3447    method @NonNull public android.app.time.TimeZoneConfiguration build();
3448    method @NonNull public android.app.time.TimeZoneConfiguration.Builder setAutoDetectionEnabled(boolean);
3449    method @NonNull public android.app.time.TimeZoneConfiguration.Builder setGeoDetectionEnabled(boolean);
3450  }
3451
3452  public final class TimeZoneState implements android.os.Parcelable {
3453    method public int describeContents();
3454    method @NonNull public String getId();
3455    method public boolean getUserShouldConfirmId();
3456    method public void writeToParcel(@NonNull android.os.Parcel, int);
3457    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.TimeZoneState> CREATOR;
3458  }
3459
3460  public final class UnixEpochTime implements android.os.Parcelable {
3461    ctor public UnixEpochTime(long, long);
3462    method @NonNull public android.app.time.UnixEpochTime at(long);
3463    method public int describeContents();
3464    method public long getElapsedRealtimeMillis();
3465    method public long getUnixEpochTimeMillis();
3466    method public void writeToParcel(@NonNull android.os.Parcel, int);
3467    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.UnixEpochTime> CREATOR;
3468  }
3469
3470}
3471
3472package android.app.usage {
3473
3474  public final class BroadcastResponseStats implements android.os.Parcelable {
3475    ctor public BroadcastResponseStats(@NonNull String, @IntRange(from=1) long);
3476    method public int describeContents();
3477    method @IntRange(from=0) public int getBroadcastsDispatchedCount();
3478    method @IntRange(from=1) public long getId();
3479    method @IntRange(from=0) public int getNotificationsCancelledCount();
3480    method @IntRange(from=0) public int getNotificationsPostedCount();
3481    method @IntRange(from=0) public int getNotificationsUpdatedCount();
3482    method @NonNull public String getPackageName();
3483    method public void writeToParcel(@NonNull android.os.Parcel, int);
3484    field @NonNull public static final android.os.Parcelable.Creator<android.app.usage.BroadcastResponseStats> CREATOR;
3485  }
3486
3487  public final class CacheQuotaHint implements android.os.Parcelable {
3488    ctor public CacheQuotaHint(@NonNull android.app.usage.CacheQuotaHint.Builder);
3489    method public int describeContents();
3490    method public long getQuota();
3491    method public int getUid();
3492    method @Nullable public android.app.usage.UsageStats getUsageStats();
3493    method @Nullable public String getVolumeUuid();
3494    method public void writeToParcel(@NonNull android.os.Parcel, int);
3495    field @NonNull public static final android.os.Parcelable.Creator<android.app.usage.CacheQuotaHint> CREATOR;
3496    field public static final long QUOTA_NOT_SET = -1L; // 0xffffffffffffffffL
3497  }
3498
3499  public static final class CacheQuotaHint.Builder {
3500    ctor public CacheQuotaHint.Builder();
3501    ctor public CacheQuotaHint.Builder(@NonNull android.app.usage.CacheQuotaHint);
3502    method @NonNull public android.app.usage.CacheQuotaHint build();
3503    method @NonNull public android.app.usage.CacheQuotaHint.Builder setQuota(long);
3504    method @NonNull public android.app.usage.CacheQuotaHint.Builder setUid(int);
3505    method @NonNull public android.app.usage.CacheQuotaHint.Builder setUsageStats(@Nullable android.app.usage.UsageStats);
3506    method @NonNull public android.app.usage.CacheQuotaHint.Builder setVolumeUuid(@Nullable String);
3507  }
3508
3509  public abstract class CacheQuotaService extends android.app.Service {
3510    ctor public CacheQuotaService();
3511    method public android.os.IBinder onBind(android.content.Intent);
3512    method public abstract java.util.List<android.app.usage.CacheQuotaHint> onComputeCacheQuotaHints(java.util.List<android.app.usage.CacheQuotaHint>);
3513    field public static final String SERVICE_INTERFACE = "android.app.usage.CacheQuotaService";
3514  }
3515
3516  public class NetworkStatsManager {
3517    method @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);
3518    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STATS_PROVIDER, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void unregisterNetworkStatsProvider(@NonNull android.net.netstats.provider.NetworkStatsProvider);
3519  }
3520
3521  public static final class UsageEvents.Event {
3522    method public int getInstanceId();
3523    method @Nullable public String getNotificationChannelId();
3524    method @Nullable public String getTaskRootClassName();
3525    method @Nullable public String getTaskRootPackageName();
3526    method public boolean isInstantApp();
3527    field public static final int NOTIFICATION_INTERRUPTION = 12; // 0xc
3528    field public static final int NOTIFICATION_SEEN = 10; // 0xa
3529    field public static final int SLICE_PINNED = 14; // 0xe
3530    field public static final int SLICE_PINNED_PRIV = 13; // 0xd
3531    field public static final int SYSTEM_INTERACTION = 6; // 0x6
3532  }
3533
3534  public final class UsageStats implements android.os.Parcelable {
3535    method public int getAppLaunchCount();
3536    method public long getLastTimeAnyComponentUsed();
3537  }
3538
3539  public final class UsageStatsManager {
3540    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RESPONSE_STATS) public void clearBroadcastResponseStats(@Nullable String, @IntRange(from=0) long);
3541    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public int getAppStandbyBucket(String);
3542    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public java.util.Map<java.lang.String,java.lang.Integer> getAppStandbyBuckets();
3543    method @RequiresPermission(allOf={android.Manifest.permission.INTERACT_ACROSS_USERS, android.Manifest.permission.PACKAGE_USAGE_STATS}) public long getLastTimeAnyComponentUsed(@NonNull String);
3544    method public int getUsageSource();
3545    method @RequiresPermission(android.Manifest.permission.BIND_CARRIER_SERVICES) public void onCarrierPrivilegedAppsChanged();
3546    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RESPONSE_STATS) public java.util.List<android.app.usage.BroadcastResponseStats> queryBroadcastResponseStats(@Nullable String, @IntRange(from=0) long);
3547    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);
3548    method @RequiresPermission(android.Manifest.permission.OBSERVE_APP_USAGE) public void registerAppUsageObserver(int, @NonNull String[], long, @NonNull java.util.concurrent.TimeUnit, @NonNull android.app.PendingIntent);
3549    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);
3550    method public void reportUsageStart(@NonNull android.app.Activity, @NonNull String);
3551    method public void reportUsageStart(@NonNull android.app.Activity, @NonNull String, long);
3552    method public void reportUsageStop(@NonNull android.app.Activity, @NonNull String);
3553    method @RequiresPermission(android.Manifest.permission.CHANGE_APP_IDLE_STATE) public void setAppStandbyBucket(String, int);
3554    method @RequiresPermission(android.Manifest.permission.CHANGE_APP_IDLE_STATE) public void setAppStandbyBuckets(java.util.Map<java.lang.String,java.lang.Integer>);
3555    method @RequiresPermission(android.Manifest.permission.CHANGE_APP_LAUNCH_TIME_ESTIMATE) public void setEstimatedLaunchTimeMillis(@NonNull String, long);
3556    method @RequiresPermission(android.Manifest.permission.CHANGE_APP_LAUNCH_TIME_ESTIMATE) public void setEstimatedLaunchTimesMillis(@NonNull java.util.Map<java.lang.String,java.lang.Long>);
3557    method @RequiresPermission(allOf={android.Manifest.permission.SUSPEND_APPS, android.Manifest.permission.OBSERVE_APP_USAGE}) public void unregisterAppUsageLimitObserver(int);
3558    method @RequiresPermission(android.Manifest.permission.OBSERVE_APP_USAGE) public void unregisterAppUsageObserver(int);
3559    method @RequiresPermission(android.Manifest.permission.OBSERVE_APP_USAGE) public void unregisterUsageSessionObserver(int);
3560    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public void whitelistAppTemporarily(String, long, android.os.UserHandle);
3561    field public static final String EXTRA_OBSERVER_ID = "android.app.usage.extra.OBSERVER_ID";
3562    field public static final String EXTRA_TIME_LIMIT = "android.app.usage.extra.TIME_LIMIT";
3563    field public static final String EXTRA_TIME_USED = "android.app.usage.extra.TIME_USED";
3564    field public static final int STANDBY_BUCKET_EXEMPTED = 5; // 0x5
3565    field public static final int STANDBY_BUCKET_NEVER = 50; // 0x32
3566    field public static final int USAGE_SOURCE_CURRENT_ACTIVITY = 2; // 0x2
3567    field public static final int USAGE_SOURCE_TASK_ROOT_ACTIVITY = 1; // 0x1
3568  }
3569
3570}
3571
3572package android.app.wallpapereffectsgeneration {
3573
3574  public final class CameraAttributes implements android.os.Parcelable {
3575    method public int describeContents();
3576    method @NonNull public float[] getAnchorPointInOutputUvSpace();
3577    method @NonNull public float[] getAnchorPointInWorldSpace();
3578    method @FloatRange(from=-90.0F, to=90.0f) public float getCameraOrbitPitchDegrees();
3579    method @FloatRange(from=-180.0F, to=180.0f) public float getCameraOrbitYawDegrees();
3580    method public float getDollyDistanceInWorldSpace();
3581    method @FloatRange(from=0.0f) public float getFrustumFarInWorldSpace();
3582    method @FloatRange(from=0.0f) public float getFrustumNearInWorldSpace();
3583    method @FloatRange(from=0.0f, to=180.0f, fromInclusive=false) public float getVerticalFovDegrees();
3584    method public void writeToParcel(@NonNull android.os.Parcel, int);
3585    field @NonNull public static final android.os.Parcelable.Creator<android.app.wallpapereffectsgeneration.CameraAttributes> CREATOR;
3586  }
3587
3588  public static final class CameraAttributes.Builder {
3589    ctor public CameraAttributes.Builder(@NonNull @Size(3) float[], @NonNull @Size(2) float[]);
3590    method @NonNull public android.app.wallpapereffectsgeneration.CameraAttributes build();
3591    method @NonNull public android.app.wallpapereffectsgeneration.CameraAttributes.Builder setCameraOrbitPitchDegrees(@FloatRange(from=-90.0F, to=90.0f) float);
3592    method @NonNull public android.app.wallpapereffectsgeneration.CameraAttributes.Builder setCameraOrbitYawDegrees(@FloatRange(from=-180.0F, to=180.0f) float);
3593    method @NonNull public android.app.wallpapereffectsgeneration.CameraAttributes.Builder setDollyDistanceInWorldSpace(float);
3594    method @NonNull public android.app.wallpapereffectsgeneration.CameraAttributes.Builder setFrustumFarInWorldSpace(@FloatRange(from=0.0f) float);
3595    method @NonNull public android.app.wallpapereffectsgeneration.CameraAttributes.Builder setFrustumNearInWorldSpace(@FloatRange(from=0.0f) float);
3596    method @NonNull public android.app.wallpapereffectsgeneration.CameraAttributes.Builder setVerticalFovDegrees(@FloatRange(from=0.0f, to=180.0f, fromInclusive=false) float);
3597  }
3598
3599  public final class CinematicEffectRequest implements android.os.Parcelable {
3600    ctor public CinematicEffectRequest(@NonNull String, @NonNull android.graphics.Bitmap);
3601    method public int describeContents();
3602    method @NonNull public android.graphics.Bitmap getBitmap();
3603    method @NonNull public String getTaskId();
3604    method public void writeToParcel(@NonNull android.os.Parcel, int);
3605    field @NonNull public static final android.os.Parcelable.Creator<android.app.wallpapereffectsgeneration.CinematicEffectRequest> CREATOR;
3606  }
3607
3608  public final class CinematicEffectResponse implements android.os.Parcelable {
3609    method public int describeContents();
3610    method @Nullable public android.app.wallpapereffectsgeneration.CameraAttributes getEndKeyFrame();
3611    method public int getImageContentType();
3612    method @Nullable public android.app.wallpapereffectsgeneration.CameraAttributes getStartKeyFrame();
3613    method public int getStatusCode();
3614    method @NonNull public String getTaskId();
3615    method @NonNull public java.util.List<android.app.wallpapereffectsgeneration.TexturedMesh> getTexturedMeshes();
3616    method public void writeToParcel(@NonNull android.os.Parcel, int);
3617    field public static final int CINEMATIC_EFFECT_STATUS_ANIMATION_FAILURE = 10; // 0xa
3618    field public static final int CINEMATIC_EFFECT_STATUS_CONTENT_TARGET_ERROR = 8; // 0x8
3619    field public static final int CINEMATIC_EFFECT_STATUS_CONTENT_TOO_FLAT = 9; // 0x9
3620    field public static final int CINEMATIC_EFFECT_STATUS_CONTENT_UNSUPPORTED = 7; // 0x7
3621    field public static final int CINEMATIC_EFFECT_STATUS_ERROR = 0; // 0x0
3622    field public static final int CINEMATIC_EFFECT_STATUS_FEATURE_DISABLED = 5; // 0x5
3623    field public static final int CINEMATIC_EFFECT_STATUS_IMAGE_FORMAT_NOT_SUITABLE = 6; // 0x6
3624    field public static final int CINEMATIC_EFFECT_STATUS_NOT_READY = 2; // 0x2
3625    field public static final int CINEMATIC_EFFECT_STATUS_OK = 1; // 0x1
3626    field public static final int CINEMATIC_EFFECT_STATUS_PENDING = 3; // 0x3
3627    field public static final int CINEMATIC_EFFECT_STATUS_TOO_MANY_REQUESTS = 4; // 0x4
3628    field @NonNull public static final android.os.Parcelable.Creator<android.app.wallpapereffectsgeneration.CinematicEffectResponse> CREATOR;
3629    field public static final int IMAGE_CONTENT_TYPE_LANDSCAPE = 2; // 0x2
3630    field public static final int IMAGE_CONTENT_TYPE_OTHER = 3; // 0x3
3631    field public static final int IMAGE_CONTENT_TYPE_PEOPLE_PORTRAIT = 1; // 0x1
3632    field public static final int IMAGE_CONTENT_TYPE_UNKNOWN = 0; // 0x0
3633  }
3634
3635  public static final class CinematicEffectResponse.Builder {
3636    ctor public CinematicEffectResponse.Builder(int, @NonNull String);
3637    method @NonNull public android.app.wallpapereffectsgeneration.CinematicEffectResponse build();
3638    method @NonNull public android.app.wallpapereffectsgeneration.CinematicEffectResponse.Builder setEndKeyFrame(@Nullable android.app.wallpapereffectsgeneration.CameraAttributes);
3639    method @NonNull public android.app.wallpapereffectsgeneration.CinematicEffectResponse.Builder setImageContentType(int);
3640    method @NonNull public android.app.wallpapereffectsgeneration.CinematicEffectResponse.Builder setStartKeyFrame(@Nullable android.app.wallpapereffectsgeneration.CameraAttributes);
3641    method @NonNull public android.app.wallpapereffectsgeneration.CinematicEffectResponse.Builder setTexturedMeshes(@NonNull java.util.List<android.app.wallpapereffectsgeneration.TexturedMesh>);
3642  }
3643
3644  public final class TexturedMesh implements android.os.Parcelable {
3645    method public int describeContents();
3646    method @NonNull public android.graphics.Bitmap getBitmap();
3647    method @NonNull public int[] getIndices();
3648    method @NonNull public int getIndicesLayoutType();
3649    method @NonNull public float[] getVertices();
3650    method @NonNull public int getVerticesLayoutType();
3651    method public void writeToParcel(@NonNull android.os.Parcel, int);
3652    field @NonNull public static final android.os.Parcelable.Creator<android.app.wallpapereffectsgeneration.TexturedMesh> CREATOR;
3653    field public static final int INDICES_LAYOUT_TRIANGLES = 1; // 0x1
3654    field public static final int INDICES_LAYOUT_UNDEFINED = 0; // 0x0
3655    field public static final int VERTICES_LAYOUT_POSITION3_UV2 = 1; // 0x1
3656    field public static final int VERTICES_LAYOUT_UNDEFINED = 0; // 0x0
3657  }
3658
3659  public static final class TexturedMesh.Builder {
3660    ctor public TexturedMesh.Builder(@NonNull android.graphics.Bitmap);
3661    method @NonNull public android.app.wallpapereffectsgeneration.TexturedMesh build();
3662    method @NonNull public android.app.wallpapereffectsgeneration.TexturedMesh.Builder setIndices(@NonNull int[]);
3663    method @NonNull public android.app.wallpapereffectsgeneration.TexturedMesh.Builder setIndicesLayoutType(int);
3664    method @NonNull public android.app.wallpapereffectsgeneration.TexturedMesh.Builder setVertices(@NonNull float[]);
3665    method @NonNull public android.app.wallpapereffectsgeneration.TexturedMesh.Builder setVerticesLayoutType(int);
3666  }
3667
3668  public final class WallpaperEffectsGenerationManager {
3669    method @RequiresPermission(android.Manifest.permission.MANAGE_WALLPAPER_EFFECTS_GENERATION) public void generateCinematicEffect(@NonNull android.app.wallpapereffectsgeneration.CinematicEffectRequest, @NonNull java.util.concurrent.Executor, @NonNull android.app.wallpapereffectsgeneration.WallpaperEffectsGenerationManager.CinematicEffectListener);
3670  }
3671
3672  public static interface WallpaperEffectsGenerationManager.CinematicEffectListener {
3673    method public void onCinematicEffectGenerated(@NonNull android.app.wallpapereffectsgeneration.CinematicEffectResponse);
3674  }
3675
3676}
3677
3678package android.app.wearable {
3679
3680  public final class WearableSensingDataRequest implements android.os.Parcelable {
3681    method public int describeContents();
3682    method public int getDataSize();
3683    method public int getDataType();
3684    method public static int getMaxRequestSize();
3685    method public static int getRateLimit();
3686    method @NonNull public static java.time.Duration getRateLimitWindowSize();
3687    method @NonNull public android.os.PersistableBundle getRequestDetails();
3688    method public void writeToParcel(@NonNull android.os.Parcel, int);
3689    field @NonNull public static final android.os.Parcelable.Creator<android.app.wearable.WearableSensingDataRequest> CREATOR;
3690  }
3691
3692  public static final class WearableSensingDataRequest.Builder {
3693    ctor public WearableSensingDataRequest.Builder(int);
3694    method @NonNull public android.app.wearable.WearableSensingDataRequest build();
3695    method @NonNull public android.app.wearable.WearableSensingDataRequest.Builder setRequestDetails(@NonNull android.os.PersistableBundle);
3696  }
3697
3698  public class WearableSensingManager {
3699    method @Nullable public static android.app.wearable.WearableSensingDataRequest getDataRequestFromIntent(@NonNull android.content.Intent);
3700    method @RequiresPermission(android.Manifest.permission.MANAGE_WEARABLE_SENSING_SERVICE) public void provideConnection(@NonNull android.os.ParcelFileDescriptor, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
3701    method @RequiresPermission(android.Manifest.permission.MANAGE_WEARABLE_SENSING_SERVICE) public void provideData(@NonNull android.os.PersistableBundle, @Nullable android.os.SharedMemory, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
3702    method @Deprecated @RequiresPermission(android.Manifest.permission.MANAGE_WEARABLE_SENSING_SERVICE) public void provideDataStream(@NonNull android.os.ParcelFileDescriptor, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
3703    method @RequiresPermission(android.Manifest.permission.MANAGE_WEARABLE_SENSING_SERVICE) public void registerDataRequestObserver(int, @NonNull android.app.PendingIntent, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
3704    method @RequiresPermission(android.Manifest.permission.MANAGE_WEARABLE_SENSING_SERVICE) public void startHotwordRecognition(@Nullable android.content.ComponentName, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
3705    method @RequiresPermission(android.Manifest.permission.MANAGE_WEARABLE_SENSING_SERVICE) public void stopHotwordRecognition(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
3706    method @RequiresPermission(android.Manifest.permission.MANAGE_WEARABLE_SENSING_SERVICE) public void unregisterDataRequestObserver(int, @NonNull android.app.PendingIntent, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
3707    field public static final int STATUS_ACCESS_DENIED = 5; // 0x5
3708    field public static final int STATUS_CHANNEL_ERROR = 7; // 0x7
3709    field public static final int STATUS_SERVICE_UNAVAILABLE = 3; // 0x3
3710    field public static final int STATUS_SUCCESS = 1; // 0x1
3711    field public static final int STATUS_UNKNOWN = 0; // 0x0
3712    field @Deprecated public static final int STATUS_UNSUPPORTED = 2; // 0x2
3713    field public static final int STATUS_UNSUPPORTED_DATA_TYPE = 8; // 0x8
3714    field public static final int STATUS_UNSUPPORTED_OPERATION = 6; // 0x6
3715    field public static final int STATUS_WEARABLE_UNAVAILABLE = 4; // 0x4
3716  }
3717
3718}
3719
3720package android.apphibernation {
3721
3722  public class AppHibernationManager {
3723    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public java.util.List<java.lang.String> getHibernatingPackagesForUser();
3724    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public java.util.Map<java.lang.String,android.apphibernation.HibernationStats> getHibernationStatsForUser();
3725    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public java.util.Map<java.lang.String,android.apphibernation.HibernationStats> getHibernationStatsForUser(@NonNull java.util.Set<java.lang.String>);
3726    method @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public boolean isHibernatingForUser(@NonNull String);
3727    method @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public boolean isHibernatingGlobally(@NonNull String);
3728    method @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public boolean isOatArtifactDeletionEnabled();
3729    method @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public void setHibernatingForUser(@NonNull String, boolean);
3730    method @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public void setHibernatingGlobally(@NonNull String, boolean);
3731  }
3732
3733  public final class HibernationStats implements android.os.Parcelable {
3734    method public int describeContents();
3735    method public long getDiskBytesSaved();
3736    method public void writeToParcel(@NonNull android.os.Parcel, int);
3737    field @NonNull public static final android.os.Parcelable.Creator<android.apphibernation.HibernationStats> CREATOR;
3738  }
3739
3740}
3741
3742package android.bluetooth {
3743
3744  public final class BluetoothA2dp implements android.bluetooth.BluetoothProfile {
3745    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void disableOptionalCodecs(@NonNull android.bluetooth.BluetoothDevice);
3746    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void enableOptionalCodecs(@NonNull android.bluetooth.BluetoothDevice);
3747    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BufferConstraints getBufferConstraints();
3748    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BluetoothCodecStatus getCodecStatus(@NonNull android.bluetooth.BluetoothDevice);
3749    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
3750    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getDynamicBufferSupport();
3751    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int isOptionalCodecsEnabled(@NonNull android.bluetooth.BluetoothDevice);
3752    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int isOptionalCodecsSupported(@NonNull android.bluetooth.BluetoothDevice);
3753    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void setAvrcpAbsoluteVolume(int);
3754    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setBufferLengthMillis(int, int);
3755    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void setCodecConfigPreference(@NonNull android.bluetooth.BluetoothDevice, @NonNull android.bluetooth.BluetoothCodecConfig);
3756    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
3757    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void setOptionalCodecsEnabled(@NonNull android.bluetooth.BluetoothDevice, int);
3758    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_ACTIVE_DEVICE_CHANGED = "android.bluetooth.a2dp.profile.action.ACTIVE_DEVICE_CHANGED";
3759    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CODEC_CONFIG_CHANGED = "android.bluetooth.a2dp.profile.action.CODEC_CONFIG_CHANGED";
3760    field public static final int DYNAMIC_BUFFER_SUPPORT_A2DP_OFFLOAD = 1; // 0x1
3761    field public static final int DYNAMIC_BUFFER_SUPPORT_A2DP_SOFTWARE_ENCODING = 2; // 0x2
3762    field public static final int DYNAMIC_BUFFER_SUPPORT_NONE = 0; // 0x0
3763    field public static final int OPTIONAL_CODECS_NOT_SUPPORTED = 0; // 0x0
3764    field public static final int OPTIONAL_CODECS_PREF_DISABLED = 0; // 0x0
3765    field public static final int OPTIONAL_CODECS_PREF_ENABLED = 1; // 0x1
3766    field public static final int OPTIONAL_CODECS_PREF_UNKNOWN = -1; // 0xffffffff
3767    field public static final int OPTIONAL_CODECS_SUPPORTED = 1; // 0x1
3768    field public static final int OPTIONAL_CODECS_SUPPORT_UNKNOWN = -1; // 0xffffffff
3769  }
3770
3771  public final class BluetoothA2dpSink implements android.bluetooth.BluetoothProfile {
3772    method public void finalize();
3773    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
3774    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
3775    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(android.bluetooth.BluetoothDevice);
3776    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]);
3777    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isAudioPlaying(@NonNull android.bluetooth.BluetoothDevice);
3778    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
3779    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.a2dp-sink.profile.action.CONNECTION_STATE_CHANGED";
3780  }
3781
3782  public final class BluetoothActivityEnergyInfo implements android.os.Parcelable {
3783    method public int describeContents();
3784    method public int getBluetoothStackState();
3785    method public long getControllerEnergyUsed();
3786    method public long getControllerIdleTimeMillis();
3787    method public long getControllerRxTimeMillis();
3788    method public long getControllerTxTimeMillis();
3789    method public long getTimestampMillis();
3790    method @NonNull public java.util.List<android.bluetooth.UidTraffic> getUidTraffic();
3791    method public boolean isValid();
3792    method public void writeToParcel(android.os.Parcel, int);
3793    field public static final int BT_STACK_STATE_INVALID = 0; // 0x0
3794    field public static final int BT_STACK_STATE_STATE_ACTIVE = 1; // 0x1
3795    field public static final int BT_STACK_STATE_STATE_IDLE = 3; // 0x3
3796    field public static final int BT_STACK_STATE_STATE_SCANNING = 2; // 0x2
3797    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothActivityEnergyInfo> CREATOR;
3798  }
3799
3800  public final class BluetoothAdapter {
3801    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);
3802    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean clearBluetooth();
3803    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean disable(boolean);
3804    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean disableBLE();
3805    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean enableBLE();
3806    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean enableNoAutoConnect();
3807    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);
3808    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getActiveDevices(int);
3809    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public int getBluetoothHciSnoopLoggingMode();
3810    method public int getConnectionState();
3811    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public long getDiscoveryEndMillis();
3812    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.le.DistanceMeasurementManager getDistanceMeasurementManager();
3813    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getMostRecentlyConnectedDevices();
3814    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getOffloadedTransportDiscoveryDataScanSupported();
3815    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.os.Bundle getPreferredAudioProfiles(@NonNull android.bluetooth.BluetoothDevice);
3816    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<java.lang.Integer> getSupportedProfiles();
3817    method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.os.ParcelUuid> getUuidsList();
3818    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean isAutoOnEnabled();
3819    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean isAutoOnSupported();
3820    method public boolean isBleScanAlwaysAvailable();
3821    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int isDistanceMeasurementSupported();
3822    method public boolean isLeEnabled();
3823    method @NonNull public static String nameForState(int);
3824    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int notifyActiveDeviceChangeApplied(@NonNull android.bluetooth.BluetoothDevice);
3825    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean registerBluetoothConnectionCallback(@NonNull java.util.concurrent.Executor, @NonNull android.bluetooth.BluetoothAdapter.BluetoothConnectionCallback);
3826    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int registerBluetoothQualityReportReadyCallback(@NonNull java.util.concurrent.Executor, @NonNull android.bluetooth.BluetoothAdapter.BluetoothQualityReportReadyCallback);
3827    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int registerPreferredAudioProfilesChangedCallback(@NonNull java.util.concurrent.Executor, @NonNull android.bluetooth.BluetoothAdapter.PreferredAudioProfilesChangedCallback);
3828    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED, android.Manifest.permission.MODIFY_PHONE_STATE}) public boolean removeActiveDevice(int);
3829    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);
3830    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void requestControllerActivityEnergyInfo(@NonNull java.util.concurrent.Executor, @NonNull android.bluetooth.BluetoothAdapter.OnBluetoothActivityEnergyInfoCallback);
3831    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BluetoothSocket retrieveConnectedRfcommSocket(@NonNull java.util.UUID);
3832    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);
3833    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public void setAutoOnEnabled(boolean);
3834    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public int setBluetoothHciSnoopLoggingMode(int);
3835    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int setDiscoverableTimeout(@NonNull java.time.Duration);
3836    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int setPreferredAudioProfiles(@NonNull android.bluetooth.BluetoothDevice, @NonNull android.os.Bundle);
3837    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int setScanMode(int);
3838    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int startRfcommServer(@NonNull String, @NonNull java.util.UUID, @NonNull android.app.PendingIntent);
3839    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int stopRfcommServer(@NonNull java.util.UUID);
3840    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean unregisterBluetoothConnectionCallback(@NonNull android.bluetooth.BluetoothAdapter.BluetoothConnectionCallback);
3841    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int unregisterBluetoothQualityReportReadyCallback(@NonNull android.bluetooth.BluetoothAdapter.BluetoothQualityReportReadyCallback);
3842    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int unregisterPreferredAudioProfilesChangedCallback(@NonNull android.bluetooth.BluetoothAdapter.PreferredAudioProfilesChangedCallback);
3843    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public static final String ACTION_AUTO_ON_STATE_CHANGED = "android.bluetooth.action.AUTO_ON_STATE_CHANGED";
3844    field public static final String ACTION_BLE_STATE_CHANGED = "android.bluetooth.adapter.action.BLE_STATE_CHANGED";
3845    field public static final String ACTION_REQUEST_BLE_SCAN_ALWAYS_AVAILABLE = "android.bluetooth.adapter.action.REQUEST_BLE_SCAN_ALWAYS_AVAILABLE";
3846    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_REQUEST_DISABLE = "android.bluetooth.adapter.action.REQUEST_DISABLE";
3847    field public static final int ACTIVE_DEVICE_ALL = 2; // 0x2
3848    field public static final int ACTIVE_DEVICE_AUDIO = 0; // 0x0
3849    field public static final int ACTIVE_DEVICE_PHONE_CALL = 1; // 0x1
3850    field public static final String AUDIO_MODE_DUPLEX = "audio_mode_duplex";
3851    field public static final String AUDIO_MODE_OUTPUT_ONLY = "audio_mode_output_only";
3852    field public static final int AUTO_ON_STATE_DISABLED = 1; // 0x1
3853    field public static final int AUTO_ON_STATE_ENABLED = 2; // 0x2
3854    field public static final int BT_SNOOP_LOG_MODE_DISABLED = 0; // 0x0
3855    field public static final int BT_SNOOP_LOG_MODE_FILTERED = 1; // 0x1
3856    field public static final int BT_SNOOP_LOG_MODE_FULL = 2; // 0x2
3857    field public static final String EXTRA_AUTO_ON_STATE = "android.bluetooth.extra.AUTO_ON_STATE";
3858    field public static final String EXTRA_RFCOMM_LISTENER_ID = "android.bluetooth.adapter.extra.RFCOMM_LISTENER_ID";
3859    field public static final int STATE_BLE_ON = 15; // 0xf
3860  }
3861
3862  public abstract static class BluetoothAdapter.BluetoothConnectionCallback {
3863    ctor public BluetoothAdapter.BluetoothConnectionCallback();
3864    method @NonNull public static String disconnectReasonToString(int);
3865    method public void onDeviceConnected(@NonNull android.bluetooth.BluetoothDevice);
3866    method public void onDeviceDisconnected(@NonNull android.bluetooth.BluetoothDevice, int);
3867  }
3868
3869  public static interface BluetoothAdapter.BluetoothQualityReportReadyCallback {
3870    method public void onBluetoothQualityReportReady(@NonNull android.bluetooth.BluetoothDevice, @NonNull android.bluetooth.BluetoothQualityReport, int);
3871  }
3872
3873  public static interface BluetoothAdapter.OnBluetoothActivityEnergyInfoCallback {
3874    method public void onBluetoothActivityEnergyInfoAvailable(@NonNull android.bluetooth.BluetoothActivityEnergyInfo);
3875    method public void onBluetoothActivityEnergyInfoError(int);
3876  }
3877
3878  public static interface BluetoothAdapter.OnMetadataChangedListener {
3879    method public void onMetadataChanged(@NonNull android.bluetooth.BluetoothDevice, int, @Nullable byte[]);
3880  }
3881
3882  public static interface BluetoothAdapter.OobDataCallback {
3883    method public void onError(int);
3884    method public void onOobData(int, @NonNull android.bluetooth.OobData);
3885  }
3886
3887  public static interface BluetoothAdapter.PreferredAudioProfilesChangedCallback {
3888    method public void onPreferredAudioProfilesChanged(@NonNull android.bluetooth.BluetoothDevice, @NonNull android.os.Bundle, int);
3889  }
3890
3891  public static class BluetoothAssignedNumbers.OrganizationId {
3892    field public static final int BLUETOOTH_SIG = 1; // 0x1
3893    field public static final int WIFI_ALLIANCE_NEIGHBOR_AWARENESS_NETWORKING = 2; // 0x2
3894    field public static final int WIFI_ALLIANCE_SERVICE_ADVERTISEMENT = 3; // 0x3
3895  }
3896
3897  public final class BluetoothClass implements android.os.Parcelable {
3898    field public static final int PROFILE_A2DP_SINK = 6; // 0x6
3899    field public static final int PROFILE_NAP = 5; // 0x5
3900    field public static final int PROFILE_OPP = 2; // 0x2
3901    field public static final int PROFILE_PANU = 4; // 0x4
3902  }
3903
3904  public final class BluetoothCodecType implements android.os.Parcelable {
3905    ctor public BluetoothCodecType(int, long, @NonNull String);
3906    method @Nullable public static android.bluetooth.BluetoothCodecType createFromType(int);
3907  }
3908
3909  public final class BluetoothCsipSetCoordinator implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
3910    method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public java.util.List<java.lang.Integer> getAllGroupIds(@Nullable android.os.ParcelUuid);
3911    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public int getConnectionPolicy(@Nullable android.bluetooth.BluetoothDevice);
3912    method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public java.util.Map<java.lang.Integer,android.os.ParcelUuid> getGroupUuidMapByDevice(@Nullable android.bluetooth.BluetoothDevice);
3913    method @Nullable @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public java.util.UUID lockGroup(int, @NonNull java.util.concurrent.Executor, @NonNull android.bluetooth.BluetoothCsipSetCoordinator.ClientLockCallback);
3914    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean setConnectionPolicy(@Nullable android.bluetooth.BluetoothDevice, int);
3915    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean unlockGroup(@NonNull java.util.UUID);
3916    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public static final String ACTION_CSIS_DEVICE_AVAILABLE = "android.bluetooth.action.CSIS_DEVICE_AVAILABLE";
3917    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public static final String ACTION_CSIS_SET_MEMBER_AVAILABLE = "android.bluetooth.action.CSIS_SET_MEMBER_AVAILABLE";
3918    field public static final String EXTRA_CSIS_GROUP_ID = "android.bluetooth.extra.CSIS_GROUP_ID";
3919    field public static final int GROUP_ID_INVALID = -1; // 0xffffffff
3920  }
3921
3922  public static interface BluetoothCsipSetCoordinator.ClientLockCallback {
3923    method public void onGroupLockSet(int, int, boolean);
3924  }
3925
3926  public final class BluetoothDevice implements android.os.Parcelable {
3927    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean canBondWithoutDialog();
3928    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean cancelBondProcess();
3929    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED, android.Manifest.permission.MODIFY_PHONE_STATE}) public int connect();
3930    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean createBond(int);
3931    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean createBondOutOfBand(int, @Nullable android.bluetooth.OobData, @Nullable android.bluetooth.OobData);
3932    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int disconnect();
3933    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean fetchUuidsWithSdp(int);
3934    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getActiveAudioDevicePolicy();
3935    method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public String getAnonymizedAddress();
3936    method @IntRange(from=0xffffff9c, to=100) @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getBatteryLevel();
3937    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionHandle(int);
3938    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public String getIdentityAddress();
3939    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getMessageAccessPermission();
3940    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public byte[] getMetadata(int);
3941    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public String getPackageNameOfBondingApplication();
3942    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getPhonebookAccessPermission();
3943    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BluetoothSinkAudioPolicy getRequestedAudioPolicyAsSink();
3944    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getSimAccessPermission();
3945    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isBondingInitiatedLocally();
3946    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isConnected();
3947    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isEncrypted();
3948    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isInSilenceMode();
3949    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int isRequestAudioPolicyAsSinkSupported();
3950    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public void prepareToEnterProcess(@NonNull android.content.AttributionSource);
3951    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean removeBond();
3952    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int requestAudioPolicyAsSink(@NonNull android.bluetooth.BluetoothSinkAudioPolicy);
3953    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int setActiveAudioDevicePolicy(int);
3954    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setLowLatencyAudioAllowed(boolean);
3955    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setMessageAccessPermission(int);
3956    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setMetadata(int, @NonNull byte[]);
3957    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setPhonebookAccessPermission(int);
3958    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean setPin(@NonNull String);
3959    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setSilenceMode(boolean);
3960    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setSimAccessPermission(int);
3961    field public static final int ACCESS_ALLOWED = 1; // 0x1
3962    field public static final int ACCESS_REJECTED = 2; // 0x2
3963    field public static final int ACCESS_UNKNOWN = 0; // 0x0
3964    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_BATTERY_LEVEL_CHANGED = "android.bluetooth.device.action.BATTERY_LEVEL_CHANGED";
3965    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_ACCESS_CANCEL = "android.bluetooth.device.action.CONNECTION_ACCESS_CANCEL";
3966    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_ACCESS_REPLY = "android.bluetooth.device.action.CONNECTION_ACCESS_REPLY";
3967    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_ACCESS_REQUEST = "android.bluetooth.device.action.CONNECTION_ACCESS_REQUEST";
3968    field @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public static final String ACTION_KEY_MISSING = "android.bluetooth.device.action.KEY_MISSING";
3969    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_PAIRING_CANCEL = "android.bluetooth.device.action.PAIRING_CANCEL";
3970    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_SILENCE_MODE_CHANGED = "android.bluetooth.device.action.SILENCE_MODE_CHANGED";
3971    field @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public static final String ACTION_SWITCH_BUFFER_SIZE = "android.bluetooth.device.action.SWITCH_BUFFER_SIZE";
3972    field public static final int ACTIVE_AUDIO_DEVICE_POLICY_ALL_PROFILES_ACTIVE_UPON_CONNECTION = 1; // 0x1
3973    field public static final int ACTIVE_AUDIO_DEVICE_POLICY_ALL_PROFILES_INACTIVE_UPON_CONNECTION = 2; // 0x2
3974    field public static final int ACTIVE_AUDIO_DEVICE_POLICY_DEFAULT = 0; // 0x0
3975    field public static final int BATTERY_LEVEL_BLUETOOTH_OFF = -100; // 0xffffff9c
3976    field public static final int BATTERY_LEVEL_UNKNOWN = -1; // 0xffffffff
3977    field public static final int CONNECTION_ACCESS_NO = 2; // 0x2
3978    field public static final int CONNECTION_ACCESS_YES = 1; // 0x1
3979    field public static final String DEVICE_TYPE_DEFAULT = "Default";
3980    field public static final String DEVICE_TYPE_STYLUS = "Stylus";
3981    field public static final String DEVICE_TYPE_UNTETHERED_HEADSET = "Untethered Headset";
3982    field public static final String DEVICE_TYPE_WATCH = "Watch";
3983    field public static final String EXTRA_ACCESS_REQUEST_TYPE = "android.bluetooth.device.extra.ACCESS_REQUEST_TYPE";
3984    field public static final String EXTRA_ALWAYS_ALLOWED = "android.bluetooth.device.extra.ALWAYS_ALLOWED";
3985    field public static final String EXTRA_BATTERY_LEVEL = "android.bluetooth.device.extra.BATTERY_LEVEL";
3986    field public static final String EXTRA_CONNECTION_ACCESS_RESULT = "android.bluetooth.device.extra.CONNECTION_ACCESS_RESULT";
3987    field public static final String EXTRA_LOW_LATENCY_BUFFER_SIZE = "android.bluetooth.device.extra.LOW_LATENCY_BUFFER_SIZE";
3988    field public static final String EXTRA_PAIRING_INITIATOR = "android.bluetooth.device.extra.PAIRING_INITIATOR";
3989    field public static final int EXTRA_PAIRING_INITIATOR_BACKGROUND = 2; // 0x2
3990    field public static final int EXTRA_PAIRING_INITIATOR_FOREGROUND = 1; // 0x1
3991    field public static final String EXTRA_UNBOND_REASON = "android.bluetooth.device.extra.REASON";
3992    field public static final int METADATA_COMPANION_APP = 4; // 0x4
3993    field public static final int METADATA_DEVICE_TYPE = 17; // 0x11
3994    field public static final int METADATA_ENHANCED_SETTINGS_UI_URI = 16; // 0x10
3995    field public static final int METADATA_EXCLUSIVE_MANAGER = 29; // 0x1d
3996    field public static final int METADATA_HARDWARE_VERSION = 3; // 0x3
3997    field public static final int METADATA_IS_UNTETHERED_HEADSET = 6; // 0x6
3998    field public static final int METADATA_LE_AUDIO = 26; // 0x1a
3999    field public static final int METADATA_MAIN_BATTERY = 18; // 0x12
4000    field public static final int METADATA_MAIN_CHARGING = 19; // 0x13
4001    field public static final int METADATA_MAIN_ICON = 5; // 0x5
4002    field public static final int METADATA_MAIN_LOW_BATTERY_THRESHOLD = 20; // 0x14
4003    field public static final int METADATA_MANUFACTURER_NAME = 0; // 0x0
4004    field public static final int METADATA_MAX_LENGTH = 2048; // 0x800
4005    field public static final int METADATA_MODEL_NAME = 1; // 0x1
4006    field public static final int METADATA_SOFTWARE_VERSION = 2; // 0x2
4007    field public static final int METADATA_UNTETHERED_CASE_BATTERY = 12; // 0xc
4008    field public static final int METADATA_UNTETHERED_CASE_CHARGING = 15; // 0xf
4009    field public static final int METADATA_UNTETHERED_CASE_ICON = 9; // 0x9
4010    field public static final int METADATA_UNTETHERED_CASE_LOW_BATTERY_THRESHOLD = 23; // 0x17
4011    field public static final int METADATA_UNTETHERED_LEFT_BATTERY = 10; // 0xa
4012    field public static final int METADATA_UNTETHERED_LEFT_CHARGING = 13; // 0xd
4013    field public static final int METADATA_UNTETHERED_LEFT_ICON = 7; // 0x7
4014    field public static final int METADATA_UNTETHERED_LEFT_LOW_BATTERY_THRESHOLD = 21; // 0x15
4015    field public static final int METADATA_UNTETHERED_RIGHT_BATTERY = 11; // 0xb
4016    field public static final int METADATA_UNTETHERED_RIGHT_CHARGING = 14; // 0xe
4017    field public static final int METADATA_UNTETHERED_RIGHT_ICON = 8; // 0x8
4018    field public static final int METADATA_UNTETHERED_RIGHT_LOW_BATTERY_THRESHOLD = 22; // 0x16
4019    field public static final int PAIRING_VARIANT_CONSENT = 3; // 0x3
4020    field public static final int PAIRING_VARIANT_DISPLAY_PASSKEY = 4; // 0x4
4021    field public static final int PAIRING_VARIANT_DISPLAY_PIN = 5; // 0x5
4022    field public static final int PAIRING_VARIANT_OOB_CONSENT = 6; // 0x6
4023    field public static final int PAIRING_VARIANT_PASSKEY = 1; // 0x1
4024    field public static final int PAIRING_VARIANT_PIN_16_DIGITS = 7; // 0x7
4025    field public static final int REQUEST_TYPE_MESSAGE_ACCESS = 3; // 0x3
4026    field public static final int REQUEST_TYPE_PHONEBOOK_ACCESS = 2; // 0x2
4027    field public static final int REQUEST_TYPE_PROFILE_CONNECTION = 1; // 0x1
4028    field public static final int REQUEST_TYPE_SIM_ACCESS = 4; // 0x4
4029    field public static final int UNBOND_REASON_AUTH_CANCELED = 3; // 0x3
4030    field public static final int UNBOND_REASON_AUTH_FAILED = 1; // 0x1
4031    field public static final int UNBOND_REASON_AUTH_REJECTED = 2; // 0x2
4032    field public static final int UNBOND_REASON_AUTH_TIMEOUT = 6; // 0x6
4033    field public static final int UNBOND_REASON_DISCOVERY_IN_PROGRESS = 5; // 0x5
4034    field public static final int UNBOND_REASON_REMOTE_AUTH_CANCELED = 8; // 0x8
4035    field public static final int UNBOND_REASON_REMOTE_DEVICE_DOWN = 4; // 0x4
4036    field public static final int UNBOND_REASON_REMOVED = 9; // 0x9
4037    field public static final int UNBOND_REASON_REPEATED_ATTEMPTS = 7; // 0x7
4038  }
4039
4040  public interface BluetoothDevicePicker {
4041    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_DEVICE_SELECTED = "android.bluetooth.devicepicker.action.DEVICE_SELECTED";
4042    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_LAUNCH = "android.bluetooth.devicepicker.action.LAUNCH";
4043    field public static final String EXTRA_FILTER_TYPE = "android.bluetooth.devicepicker.extra.FILTER_TYPE";
4044    field public static final String EXTRA_LAUNCH_CLASS = "android.bluetooth.devicepicker.extra.DEVICE_PICKER_LAUNCH_CLASS";
4045    field public static final String EXTRA_LAUNCH_PACKAGE = "android.bluetooth.devicepicker.extra.LAUNCH_PACKAGE";
4046    field public static final String EXTRA_NEED_AUTH = "android.bluetooth.devicepicker.extra.NEED_AUTH";
4047    field public static final int FILTER_TYPE_ALL = 0; // 0x0
4048    field public static final int FILTER_TYPE_AUDIO = 1; // 0x1
4049    field public static final int FILTER_TYPE_NAP = 4; // 0x4
4050    field public static final int FILTER_TYPE_PANU = 3; // 0x3
4051    field public static final int FILTER_TYPE_TRANSFER = 2; // 0x2
4052  }
4053
4054  public final class BluetoothHapClient implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
4055    method public void close();
4056    method protected void finalize();
4057    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getActivePresetIndex(@NonNull android.bluetooth.BluetoothDevice);
4058    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BluetoothHapPresetInfo getActivePresetInfo(@NonNull android.bluetooth.BluetoothDevice);
4059    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothHapPresetInfo> getAllPresetInfo(@NonNull android.bluetooth.BluetoothDevice);
4060    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
4061    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@Nullable android.bluetooth.BluetoothDevice);
4062    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
4063    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(@NonNull int[]);
4064    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getHapGroup(@NonNull android.bluetooth.BluetoothDevice);
4065    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getHearingAidType(@NonNull android.bluetooth.BluetoothDevice);
4066    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BluetoothHapPresetInfo getPresetInfo(@NonNull android.bluetooth.BluetoothDevice, int);
4067    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void registerCallback(@NonNull java.util.concurrent.Executor, @NonNull android.bluetooth.BluetoothHapClient.Callback);
4068    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void selectPreset(@NonNull android.bluetooth.BluetoothDevice, int);
4069    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void selectPresetForGroup(int, int);
4070    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
4071    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void setPresetName(@NonNull android.bluetooth.BluetoothDevice, int, @NonNull String);
4072    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void setPresetNameForGroup(int, int, @NonNull String);
4073    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean supportsDynamicPresets(@NonNull android.bluetooth.BluetoothDevice);
4074    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean supportsIndependentPresets(@NonNull android.bluetooth.BluetoothDevice);
4075    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean supportsSynchronizedPresets(@NonNull android.bluetooth.BluetoothDevice);
4076    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean supportsWritablePresets(@NonNull android.bluetooth.BluetoothDevice);
4077    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void switchToNextPreset(@NonNull android.bluetooth.BluetoothDevice);
4078    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void switchToNextPresetForGroup(int);
4079    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void switchToPreviousPreset(@NonNull android.bluetooth.BluetoothDevice);
4080    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void switchToPreviousPresetForGroup(int);
4081    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void unregisterCallback(@NonNull android.bluetooth.BluetoothHapClient.Callback);
4082    field @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public static final String ACTION_HAP_CONNECTION_STATE_CHANGED = "android.bluetooth.action.HAP_CONNECTION_STATE_CHANGED";
4083    field public static final int PRESET_INDEX_UNAVAILABLE = 0; // 0x0
4084    field public static final int TYPE_BANDED = 2; // 0x2
4085    field public static final int TYPE_BINAURAL = 0; // 0x0
4086    field public static final int TYPE_MONAURAL = 1; // 0x1
4087    field public static final int TYPE_RFU = 3; // 0x3
4088  }
4089
4090  public static interface BluetoothHapClient.Callback {
4091    method public void onPresetInfoChanged(@NonNull android.bluetooth.BluetoothDevice, @NonNull java.util.List<android.bluetooth.BluetoothHapPresetInfo>, int);
4092    method public void onPresetSelected(@NonNull android.bluetooth.BluetoothDevice, int, int);
4093    method public void onPresetSelectionFailed(@NonNull android.bluetooth.BluetoothDevice, int);
4094    method public void onPresetSelectionForGroupFailed(int, int);
4095    method public void onSetPresetNameFailed(@NonNull android.bluetooth.BluetoothDevice, int);
4096    method public void onSetPresetNameForGroupFailed(int, int);
4097  }
4098
4099  public final class BluetoothHapPresetInfo implements android.os.Parcelable {
4100    method public int describeContents();
4101    method public int getIndex();
4102    method @NonNull public String getName();
4103    method public boolean isAvailable();
4104    method public boolean isWritable();
4105    method public void writeToParcel(@NonNull android.os.Parcel, int);
4106    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothHapPresetInfo> CREATOR;
4107  }
4108
4109  public final class BluetoothHeadset implements android.bluetooth.BluetoothProfile {
4110    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.MODIFY_PHONE_STATE}) public boolean connect(android.bluetooth.BluetoothDevice);
4111    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int connectAudio();
4112    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean disconnect(android.bluetooth.BluetoothDevice);
4113    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int disconnectAudio();
4114    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getAudioRouteAllowed();
4115    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getAudioState(@NonNull android.bluetooth.BluetoothDevice);
4116    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
4117    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isInbandRingingEnabled();
4118    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int setAudioRouteAllowed(boolean);
4119    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);
4120    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.MODIFY_PHONE_STATE, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean startScoUsingVirtualVoiceCall();
4121    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.MODIFY_PHONE_STATE, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean stopScoUsingVirtualVoiceCall();
4122    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_ACTIVE_DEVICE_CHANGED = "android.bluetooth.headset.profile.action.ACTIVE_DEVICE_CHANGED";
4123  }
4124
4125  public final class BluetoothHeadsetClient implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
4126    method public void close();
4127    method protected void finalize();
4128    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
4129    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
4130    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
4131    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(@NonNull int[]);
4132    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BluetoothHeadsetClient.NetworkServiceState getNetworkServiceState(@NonNull android.bluetooth.BluetoothDevice);
4133    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
4134    field @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.headsetclient.profile.action.CONNECTION_STATE_CHANGED";
4135    field @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public static final String ACTION_NETWORK_SERVICE_STATE_CHANGED = "android.bluetooth.headsetclient.profile.action.NETWORK_SERVICE_STATE_CHANGED";
4136    field public static final String EXTRA_NETWORK_SERVICE_STATE = "android.bluetooth.headsetclient.extra.EXTRA_NETWORK_SERVICE_STATE";
4137  }
4138
4139  public static final class BluetoothHeadsetClient.NetworkServiceState implements android.os.Parcelable {
4140    method public int describeContents();
4141    method @NonNull public android.bluetooth.BluetoothDevice getDevice();
4142    method @Nullable public String getNetworkOperatorName();
4143    method @IntRange(from=0, to=5) public int getSignalStrength();
4144    method public boolean isRoaming();
4145    method public boolean isServiceAvailable();
4146    method public void writeToParcel(@NonNull android.os.Parcel, int);
4147    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothHeadsetClient.NetworkServiceState> CREATOR;
4148  }
4149
4150  public final class BluetoothHearingAid implements android.bluetooth.BluetoothProfile {
4151    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BluetoothHearingAid.AdvertisementServiceData getAdvertisementServiceData(@NonNull android.bluetooth.BluetoothDevice);
4152    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
4153    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getDeviceMode(@NonNull android.bluetooth.BluetoothDevice);
4154    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getDeviceSide(@NonNull android.bluetooth.BluetoothDevice);
4155    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public long getHiSyncId(@NonNull android.bluetooth.BluetoothDevice);
4156    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
4157    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void setVolume(int);
4158    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_ACTIVE_DEVICE_CHANGED = "android.bluetooth.hearingaid.profile.action.ACTIVE_DEVICE_CHANGED";
4159    field public static final long HI_SYNC_ID_INVALID = 0L; // 0x0L
4160    field public static final int MODE_BINAURAL = 1; // 0x1
4161    field public static final int MODE_MONAURAL = 0; // 0x0
4162    field public static final int MODE_UNKNOWN = -1; // 0xffffffff
4163    field public static final int SIDE_LEFT = 0; // 0x0
4164    field public static final int SIDE_RIGHT = 1; // 0x1
4165    field public static final int SIDE_UNKNOWN = -1; // 0xffffffff
4166  }
4167
4168  public static final class BluetoothHearingAid.AdvertisementServiceData implements android.os.Parcelable {
4169    method public int describeContents();
4170    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getDeviceMode();
4171    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getDeviceSide();
4172    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getTruncatedHiSyncId();
4173    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isCsipSupported();
4174    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isInPairWith(@Nullable android.bluetooth.BluetoothHearingAid.AdvertisementServiceData);
4175    method public void writeToParcel(@NonNull android.os.Parcel, int);
4176    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothHearingAid.AdvertisementServiceData> CREATOR;
4177  }
4178
4179  public final class BluetoothHidDevice implements android.bluetooth.BluetoothProfile {
4180    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
4181  }
4182
4183  public final class BluetoothHidHost implements android.bluetooth.BluetoothProfile {
4184    method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
4185    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
4186    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
4187    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]);
4188    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getPreferredTransport(@NonNull android.bluetooth.BluetoothDevice);
4189    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
4190    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setPreferredTransport(@NonNull android.bluetooth.BluetoothDevice, int);
4191    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.input.profile.action.CONNECTION_STATE_CHANGED";
4192  }
4193
4194  public final class BluetoothLeAudio implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
4195    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getAudioLocation(@NonNull android.bluetooth.BluetoothDevice);
4196    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BluetoothLeAudioCodecStatus getCodecStatus(int);
4197    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@Nullable android.bluetooth.BluetoothDevice);
4198    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isInbandRingtoneEnabled(int);
4199    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void registerCallback(@NonNull java.util.concurrent.Executor, @NonNull android.bluetooth.BluetoothLeAudio.Callback);
4200    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void setCodecConfigPreference(int, @NonNull android.bluetooth.BluetoothLeAudioCodecConfig, @NonNull android.bluetooth.BluetoothLeAudioCodecConfig);
4201    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
4202    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void setVolume(@IntRange(from=0, to=255) int);
4203    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void unregisterCallback(@NonNull android.bluetooth.BluetoothLeAudio.Callback);
4204    field @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public static final String ACTION_LE_AUDIO_ACTIVE_DEVICE_CHANGED = "android.bluetooth.action.LE_AUDIO_ACTIVE_DEVICE_CHANGED";
4205    field public static final int AUDIO_LOCATION_BACK_CENTER = 256; // 0x100
4206    field public static final int AUDIO_LOCATION_BACK_LEFT = 16; // 0x10
4207    field public static final int AUDIO_LOCATION_BACK_RIGHT = 32; // 0x20
4208    field public static final int AUDIO_LOCATION_BOTTOM_FRONT_CENTER = 2097152; // 0x200000
4209    field public static final int AUDIO_LOCATION_BOTTOM_FRONT_LEFT = 4194304; // 0x400000
4210    field public static final int AUDIO_LOCATION_BOTTOM_FRONT_RIGHT = 8388608; // 0x800000
4211    field public static final int AUDIO_LOCATION_FRONT_CENTER = 4; // 0x4
4212    field public static final int AUDIO_LOCATION_FRONT_LEFT = 1; // 0x1
4213    field public static final int AUDIO_LOCATION_FRONT_LEFT_OF_CENTER = 64; // 0x40
4214    field public static final int AUDIO_LOCATION_FRONT_LEFT_WIDE = 16777216; // 0x1000000
4215    field public static final int AUDIO_LOCATION_FRONT_RIGHT = 2; // 0x2
4216    field public static final int AUDIO_LOCATION_FRONT_RIGHT_OF_CENTER = 128; // 0x80
4217    field public static final int AUDIO_LOCATION_FRONT_RIGHT_WIDE = 33554432; // 0x2000000
4218    field public static final int AUDIO_LOCATION_INVALID = 0; // 0x0
4219    field public static final int AUDIO_LOCATION_LEFT_SURROUND = 67108864; // 0x4000000
4220    field public static final int AUDIO_LOCATION_LOW_FREQ_EFFECTS_ONE = 8; // 0x8
4221    field public static final int AUDIO_LOCATION_LOW_FREQ_EFFECTS_TWO = 512; // 0x200
4222    field public static final int AUDIO_LOCATION_RIGHT_SURROUND = 134217728; // 0x8000000
4223    field public static final int AUDIO_LOCATION_SIDE_LEFT = 1024; // 0x400
4224    field public static final int AUDIO_LOCATION_SIDE_RIGHT = 2048; // 0x800
4225    field public static final int AUDIO_LOCATION_TOP_BACK_CENTER = 1048576; // 0x100000
4226    field public static final int AUDIO_LOCATION_TOP_BACK_LEFT = 65536; // 0x10000
4227    field public static final int AUDIO_LOCATION_TOP_BACK_RIGHT = 131072; // 0x20000
4228    field public static final int AUDIO_LOCATION_TOP_CENTER = 32768; // 0x8000
4229    field public static final int AUDIO_LOCATION_TOP_FRONT_CENTER = 16384; // 0x4000
4230    field public static final int AUDIO_LOCATION_TOP_FRONT_LEFT = 4096; // 0x1000
4231    field public static final int AUDIO_LOCATION_TOP_FRONT_RIGHT = 8192; // 0x2000
4232    field public static final int AUDIO_LOCATION_TOP_SIDE_LEFT = 262144; // 0x40000
4233    field public static final int AUDIO_LOCATION_TOP_SIDE_RIGHT = 524288; // 0x80000
4234    field public static final String EXTRA_LE_AUDIO_GROUP_ID = "android.bluetooth.extra.LE_AUDIO_GROUP_ID";
4235    field public static final int GROUP_STREAM_STATUS_IDLE = 0; // 0x0
4236    field public static final int GROUP_STREAM_STATUS_STREAMING = 1; // 0x1
4237  }
4238
4239  public static interface BluetoothLeAudio.Callback {
4240    method public void onCodecConfigChanged(int, @NonNull android.bluetooth.BluetoothLeAudioCodecStatus);
4241    method public void onGroupNodeAdded(@NonNull android.bluetooth.BluetoothDevice, int);
4242    method public void onGroupNodeRemoved(@NonNull android.bluetooth.BluetoothDevice, int);
4243    method public void onGroupStatusChanged(int, int);
4244    method public default void onGroupStreamStatusChanged(int, int);
4245  }
4246
4247  public final class BluetoothLeAudioCodecConfigMetadata implements android.os.Parcelable {
4248    method public int describeContents();
4249    method @NonNull public static android.bluetooth.BluetoothLeAudioCodecConfigMetadata fromRawBytes(@NonNull byte[]);
4250    method public long getAudioLocation();
4251    method public int getFrameDuration();
4252    method public int getOctetsPerFrame();
4253    method @NonNull public byte[] getRawMetadata();
4254    method public int getSampleRate();
4255    method public void writeToParcel(android.os.Parcel, int);
4256    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothLeAudioCodecConfigMetadata> CREATOR;
4257  }
4258
4259  public static final class BluetoothLeAudioCodecConfigMetadata.Builder {
4260    ctor public BluetoothLeAudioCodecConfigMetadata.Builder();
4261    ctor public BluetoothLeAudioCodecConfigMetadata.Builder(@NonNull android.bluetooth.BluetoothLeAudioCodecConfigMetadata);
4262    method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfigMetadata build();
4263    method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfigMetadata.Builder setAudioLocation(long);
4264    method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfigMetadata.Builder setFrameDuration(int);
4265    method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfigMetadata.Builder setOctetsPerFrame(int);
4266    method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfigMetadata.Builder setSampleRate(int);
4267  }
4268
4269  public final class BluetoothLeAudioContentMetadata implements android.os.Parcelable {
4270    method public int describeContents();
4271    method @NonNull public static android.bluetooth.BluetoothLeAudioContentMetadata fromRawBytes(@NonNull byte[]);
4272    method @Nullable public String getLanguage();
4273    method @Nullable public String getProgramInfo();
4274    method @NonNull public byte[] getRawMetadata();
4275    method public void writeToParcel(android.os.Parcel, int);
4276    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothLeAudioContentMetadata> CREATOR;
4277  }
4278
4279  public static final class BluetoothLeAudioContentMetadata.Builder {
4280    ctor public BluetoothLeAudioContentMetadata.Builder();
4281    ctor public BluetoothLeAudioContentMetadata.Builder(@NonNull android.bluetooth.BluetoothLeAudioContentMetadata);
4282    method @NonNull public android.bluetooth.BluetoothLeAudioContentMetadata build();
4283    method @NonNull public android.bluetooth.BluetoothLeAudioContentMetadata.Builder setLanguage(@Nullable String);
4284    method @NonNull public android.bluetooth.BluetoothLeAudioContentMetadata.Builder setProgramInfo(@Nullable String);
4285  }
4286
4287  public final class BluetoothLeBroadcast implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
4288    method public void close();
4289    method protected void finalize();
4290    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothLeBroadcastMetadata> getAllBroadcastMetadata();
4291    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
4292    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
4293    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(@NonNull int[]);
4294    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public int getMaximumNumberOfBroadcasts();
4295    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public int getMaximumStreamsPerBroadcast();
4296    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public int getMaximumSubgroupsPerBroadcast();
4297    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isPlaying(int);
4298    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void registerCallback(@NonNull java.util.concurrent.Executor, @NonNull android.bluetooth.BluetoothLeBroadcast.Callback);
4299    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void startBroadcast(@NonNull android.bluetooth.BluetoothLeAudioContentMetadata, @Nullable byte[]);
4300    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void startBroadcast(@NonNull android.bluetooth.BluetoothLeBroadcastSettings);
4301    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void stopBroadcast(int);
4302    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void unregisterCallback(@NonNull android.bluetooth.BluetoothLeBroadcast.Callback);
4303    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void updateBroadcast(int, @NonNull android.bluetooth.BluetoothLeAudioContentMetadata);
4304    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void updateBroadcast(int, @NonNull android.bluetooth.BluetoothLeBroadcastSettings);
4305  }
4306
4307  public static interface BluetoothLeBroadcast.Callback {
4308    method public void onBroadcastMetadataChanged(int, @NonNull android.bluetooth.BluetoothLeBroadcastMetadata);
4309    method public void onBroadcastStartFailed(int);
4310    method public void onBroadcastStarted(int, int);
4311    method public void onBroadcastStopFailed(int);
4312    method public void onBroadcastStopped(int, int);
4313    method public void onBroadcastUpdateFailed(int, int);
4314    method public void onBroadcastUpdated(int, int);
4315    method public void onPlaybackStarted(int, int);
4316    method public void onPlaybackStopped(int, int);
4317  }
4318
4319  public final class BluetoothLeBroadcastAssistant implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
4320    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void addSource(@NonNull android.bluetooth.BluetoothDevice, @NonNull android.bluetooth.BluetoothLeBroadcastMetadata, boolean);
4321    method public void close();
4322    method protected void finalize();
4323    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothLeBroadcastReceiveState> getAllSources(@NonNull android.bluetooth.BluetoothDevice);
4324    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
4325    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
4326    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
4327    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(@NonNull int[]);
4328    method public int getMaximumSourceCapacity(@NonNull android.bluetooth.BluetoothDevice);
4329    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isSearchInProgress();
4330    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void modifySource(@NonNull android.bluetooth.BluetoothDevice, int, @NonNull android.bluetooth.BluetoothLeBroadcastMetadata);
4331    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void registerCallback(@NonNull java.util.concurrent.Executor, @NonNull android.bluetooth.BluetoothLeBroadcastAssistant.Callback);
4332    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void removeSource(@NonNull android.bluetooth.BluetoothDevice, int);
4333    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
4334    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void startSearchingForSources(@NonNull java.util.List<android.bluetooth.le.ScanFilter>);
4335    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void stopSearchingForSources();
4336    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void unregisterCallback(@NonNull android.bluetooth.BluetoothLeBroadcastAssistant.Callback);
4337    field @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.action.CONNECTION_STATE_CHANGED";
4338  }
4339
4340  public static interface BluetoothLeBroadcastAssistant.Callback {
4341    method public void onReceiveStateChanged(@NonNull android.bluetooth.BluetoothDevice, int, @NonNull android.bluetooth.BluetoothLeBroadcastReceiveState);
4342    method public void onSearchStartFailed(int);
4343    method public void onSearchStarted(int);
4344    method public void onSearchStopFailed(int);
4345    method public void onSearchStopped(int);
4346    method public void onSourceAddFailed(@NonNull android.bluetooth.BluetoothDevice, @NonNull android.bluetooth.BluetoothLeBroadcastMetadata, int);
4347    method public void onSourceAdded(@NonNull android.bluetooth.BluetoothDevice, int, int);
4348    method public void onSourceFound(@NonNull android.bluetooth.BluetoothLeBroadcastMetadata);
4349    method public default void onSourceLost(int);
4350    method public void onSourceModified(@NonNull android.bluetooth.BluetoothDevice, int, int);
4351    method public void onSourceModifyFailed(@NonNull android.bluetooth.BluetoothDevice, int, int);
4352    method public void onSourceRemoveFailed(@NonNull android.bluetooth.BluetoothDevice, int, int);
4353    method public void onSourceRemoved(@NonNull android.bluetooth.BluetoothDevice, int, int);
4354  }
4355
4356  public final class BluetoothLeBroadcastChannel implements android.os.Parcelable {
4357    method public int describeContents();
4358    method public int getChannelIndex();
4359    method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfigMetadata getCodecMetadata();
4360    method public boolean isSelected();
4361    method public void writeToParcel(android.os.Parcel, int);
4362    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothLeBroadcastChannel> CREATOR;
4363  }
4364
4365  public static final class BluetoothLeBroadcastChannel.Builder {
4366    ctor public BluetoothLeBroadcastChannel.Builder();
4367    ctor public BluetoothLeBroadcastChannel.Builder(@NonNull android.bluetooth.BluetoothLeBroadcastChannel);
4368    method @NonNull public android.bluetooth.BluetoothLeBroadcastChannel build();
4369    method @NonNull public android.bluetooth.BluetoothLeBroadcastChannel.Builder setChannelIndex(int);
4370    method @NonNull public android.bluetooth.BluetoothLeBroadcastChannel.Builder setCodecMetadata(@NonNull android.bluetooth.BluetoothLeAudioCodecConfigMetadata);
4371    method @NonNull public android.bluetooth.BluetoothLeBroadcastChannel.Builder setSelected(boolean);
4372  }
4373
4374  public final class BluetoothLeBroadcastMetadata implements android.os.Parcelable {
4375    method public int describeContents();
4376    method public int getAudioConfigQuality();
4377    method @Nullable public byte[] getBroadcastCode();
4378    method public int getBroadcastId();
4379    method @Nullable public String getBroadcastName();
4380    method public int getPaSyncInterval();
4381    method @IntRange(from=0, to=16777215) public int getPresentationDelayMicros();
4382    method @Nullable public android.bluetooth.BluetoothLeAudioContentMetadata getPublicBroadcastMetadata();
4383    method @IntRange(from=0xffffff81, to=127) public int getRssi();
4384    method public int getSourceAddressType();
4385    method public int getSourceAdvertisingSid();
4386    method @NonNull public android.bluetooth.BluetoothDevice getSourceDevice();
4387    method @NonNull public java.util.List<android.bluetooth.BluetoothLeBroadcastSubgroup> getSubgroups();
4388    method public boolean isEncrypted();
4389    method public boolean isPublicBroadcast();
4390    method public void writeToParcel(android.os.Parcel, int);
4391    field public static final int AUDIO_CONFIG_QUALITY_HIGH = 2; // 0x2
4392    field public static final int AUDIO_CONFIG_QUALITY_NONE = 0; // 0x0
4393    field public static final int AUDIO_CONFIG_QUALITY_STANDARD = 1; // 0x1
4394    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothLeBroadcastMetadata> CREATOR;
4395    field public static final int PA_SYNC_INTERVAL_UNKNOWN = 65535; // 0xffff
4396    field public static final int RSSI_UNKNOWN = 127; // 0x7f
4397  }
4398
4399  public static final class BluetoothLeBroadcastMetadata.Builder {
4400    ctor public BluetoothLeBroadcastMetadata.Builder();
4401    ctor public BluetoothLeBroadcastMetadata.Builder(@NonNull android.bluetooth.BluetoothLeBroadcastMetadata);
4402    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder addSubgroup(@NonNull android.bluetooth.BluetoothLeBroadcastSubgroup);
4403    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata build();
4404    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder clearSubgroup();
4405    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setAudioConfigQuality(int);
4406    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setBroadcastCode(@Nullable byte[]);
4407    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setBroadcastId(int);
4408    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setBroadcastName(@Nullable String);
4409    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setEncrypted(boolean);
4410    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setPaSyncInterval(int);
4411    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setPresentationDelayMicros(@IntRange(from=0, to=16777215) int);
4412    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setPublicBroadcast(boolean);
4413    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setPublicBroadcastMetadata(@Nullable android.bluetooth.BluetoothLeAudioContentMetadata);
4414    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setRssi(@IntRange(from=0xffffff81, to=127) int);
4415    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setSourceAdvertisingSid(int);
4416    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setSourceDevice(@NonNull android.bluetooth.BluetoothDevice, int);
4417  }
4418
4419  public final class BluetoothLeBroadcastReceiveState implements android.os.Parcelable {
4420    method public int describeContents();
4421    method @Nullable public byte[] getBadCode();
4422    method public int getBigEncryptionState();
4423    method @NonNull public java.util.List<java.lang.Long> getBisSyncState();
4424    method public int getBroadcastId();
4425    method public int getNumSubgroups();
4426    method public int getPaSyncState();
4427    method public int getSourceAddressType();
4428    method public int getSourceAdvertisingSid();
4429    method @NonNull public android.bluetooth.BluetoothDevice getSourceDevice();
4430    method @IntRange(from=0, to=255) public int getSourceId();
4431    method @NonNull public java.util.List<android.bluetooth.BluetoothLeAudioContentMetadata> getSubgroupMetadata();
4432    method public void writeToParcel(android.os.Parcel, int);
4433    field public static final int BIG_ENCRYPTION_STATE_BAD_CODE = 3; // 0x3
4434    field public static final int BIG_ENCRYPTION_STATE_CODE_REQUIRED = 1; // 0x1
4435    field public static final int BIG_ENCRYPTION_STATE_DECRYPTING = 2; // 0x2
4436    field public static final int BIG_ENCRYPTION_STATE_NOT_ENCRYPTED = 0; // 0x0
4437    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothLeBroadcastReceiveState> CREATOR;
4438    field public static final int PA_SYNC_STATE_FAILED_TO_SYNCHRONIZE = 3; // 0x3
4439    field public static final int PA_SYNC_STATE_IDLE = 0; // 0x0
4440    field public static final int PA_SYNC_STATE_NO_PAST = 4; // 0x4
4441    field public static final int PA_SYNC_STATE_SYNCHRONIZED = 2; // 0x2
4442    field public static final int PA_SYNC_STATE_SYNCINFO_REQUEST = 1; // 0x1
4443  }
4444
4445  public final class BluetoothLeBroadcastSettings implements android.os.Parcelable {
4446    method public int describeContents();
4447    method @Nullable public byte[] getBroadcastCode();
4448    method @Nullable public String getBroadcastName();
4449    method @Nullable public android.bluetooth.BluetoothLeAudioContentMetadata getPublicBroadcastMetadata();
4450    method @NonNull public java.util.List<android.bluetooth.BluetoothLeBroadcastSubgroupSettings> getSubgroupSettings();
4451    method public boolean isPublicBroadcast();
4452    method public void writeToParcel(android.os.Parcel, int);
4453    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothLeBroadcastSettings> CREATOR;
4454  }
4455
4456  public static final class BluetoothLeBroadcastSettings.Builder {
4457    ctor public BluetoothLeBroadcastSettings.Builder();
4458    ctor public BluetoothLeBroadcastSettings.Builder(@NonNull android.bluetooth.BluetoothLeBroadcastSettings);
4459    method @NonNull public android.bluetooth.BluetoothLeBroadcastSettings.Builder addSubgroupSettings(@NonNull android.bluetooth.BluetoothLeBroadcastSubgroupSettings);
4460    method @NonNull public android.bluetooth.BluetoothLeBroadcastSettings build();
4461    method @NonNull public android.bluetooth.BluetoothLeBroadcastSettings.Builder clearSubgroupSettings();
4462    method @NonNull public android.bluetooth.BluetoothLeBroadcastSettings.Builder setBroadcastCode(@Nullable byte[]);
4463    method @NonNull public android.bluetooth.BluetoothLeBroadcastSettings.Builder setBroadcastName(@Nullable String);
4464    method @NonNull public android.bluetooth.BluetoothLeBroadcastSettings.Builder setPublicBroadcast(boolean);
4465    method @NonNull public android.bluetooth.BluetoothLeBroadcastSettings.Builder setPublicBroadcastMetadata(@Nullable android.bluetooth.BluetoothLeAudioContentMetadata);
4466  }
4467
4468  public final class BluetoothLeBroadcastSubgroup implements android.os.Parcelable {
4469    method public int describeContents();
4470    method @NonNull public java.util.List<android.bluetooth.BluetoothLeBroadcastChannel> getChannels();
4471    method public long getCodecId();
4472    method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfigMetadata getCodecSpecificConfig();
4473    method @NonNull public android.bluetooth.BluetoothLeAudioContentMetadata getContentMetadata();
4474    method public boolean hasChannelPreference();
4475    method public void writeToParcel(android.os.Parcel, int);
4476    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothLeBroadcastSubgroup> CREATOR;
4477  }
4478
4479  public static final class BluetoothLeBroadcastSubgroup.Builder {
4480    ctor public BluetoothLeBroadcastSubgroup.Builder();
4481    ctor public BluetoothLeBroadcastSubgroup.Builder(@NonNull android.bluetooth.BluetoothLeBroadcastSubgroup);
4482    method @NonNull public android.bluetooth.BluetoothLeBroadcastSubgroup.Builder addChannel(@NonNull android.bluetooth.BluetoothLeBroadcastChannel);
4483    method @NonNull public android.bluetooth.BluetoothLeBroadcastSubgroup build();
4484    method @NonNull public android.bluetooth.BluetoothLeBroadcastSubgroup.Builder clearChannel();
4485    method @NonNull public android.bluetooth.BluetoothLeBroadcastSubgroup.Builder setCodecId(long);
4486    method @NonNull public android.bluetooth.BluetoothLeBroadcastSubgroup.Builder setCodecSpecificConfig(@NonNull android.bluetooth.BluetoothLeAudioCodecConfigMetadata);
4487    method @NonNull public android.bluetooth.BluetoothLeBroadcastSubgroup.Builder setContentMetadata(@NonNull android.bluetooth.BluetoothLeAudioContentMetadata);
4488  }
4489
4490  public final class BluetoothLeBroadcastSubgroupSettings implements android.os.Parcelable {
4491    method public int describeContents();
4492    method @NonNull public android.bluetooth.BluetoothLeAudioContentMetadata getContentMetadata();
4493    method public int getPreferredQuality();
4494    method public void writeToParcel(android.os.Parcel, int);
4495    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothLeBroadcastSubgroupSettings> CREATOR;
4496    field public static final int QUALITY_HIGH = 1; // 0x1
4497    field public static final int QUALITY_STANDARD = 0; // 0x0
4498  }
4499
4500  public static final class BluetoothLeBroadcastSubgroupSettings.Builder {
4501    ctor public BluetoothLeBroadcastSubgroupSettings.Builder();
4502    ctor public BluetoothLeBroadcastSubgroupSettings.Builder(@NonNull android.bluetooth.BluetoothLeBroadcastSubgroupSettings);
4503    method @NonNull public android.bluetooth.BluetoothLeBroadcastSubgroupSettings build();
4504    method @NonNull public android.bluetooth.BluetoothLeBroadcastSubgroupSettings.Builder setContentMetadata(@NonNull android.bluetooth.BluetoothLeAudioContentMetadata);
4505    method @NonNull public android.bluetooth.BluetoothLeBroadcastSubgroupSettings.Builder setPreferredQuality(int);
4506  }
4507
4508  public final class BluetoothMap implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
4509    method public void close();
4510    method protected void finalize();
4511    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
4512    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
4513    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(android.bluetooth.BluetoothDevice);
4514    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]);
4515    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
4516    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.map.profile.action.CONNECTION_STATE_CHANGED";
4517  }
4518
4519  public final class BluetoothMapClient implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
4520    method public void close();
4521    method protected void finalize();
4522    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
4523    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
4524    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
4525    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(@NonNull int[]);
4526    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);
4527    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
4528    field @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.mapmce.profile.action.CONNECTION_STATE_CHANGED";
4529  }
4530
4531  public final class BluetoothPan implements android.bluetooth.BluetoothProfile {
4532    method protected void finalize();
4533    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
4534    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
4535    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]);
4536    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isTetheringOn();
4537    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED, android.Manifest.permission.TETHER_PRIVILEGED}) public void setBluetoothTethering(boolean);
4538    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
4539    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.pan.profile.action.CONNECTION_STATE_CHANGED";
4540    field public static final String ACTION_TETHERING_STATE_CHANGED = "android.bluetooth.action.TETHERING_STATE_CHANGED";
4541    field public static final String EXTRA_LOCAL_ROLE = "android.bluetooth.pan.extra.LOCAL_ROLE";
4542    field public static final String EXTRA_TETHERING_STATE = "android.bluetooth.extra.TETHERING_STATE";
4543    field public static final int LOCAL_NAP_ROLE = 1; // 0x1
4544    field public static final int LOCAL_PANU_ROLE = 2; // 0x2
4545    field public static final int PAN_ROLE_NONE = 0; // 0x0
4546    field public static final int REMOTE_NAP_ROLE = 1; // 0x1
4547    field public static final int REMOTE_PANU_ROLE = 2; // 0x2
4548    field public static final int TETHERING_STATE_OFF = 1; // 0x1
4549    field public static final int TETHERING_STATE_ON = 2; // 0x2
4550  }
4551
4552  public class BluetoothPbap implements android.bluetooth.BluetoothProfile {
4553    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
4554    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
4555    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]);
4556    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
4557    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.pbap.profile.action.CONNECTION_STATE_CHANGED";
4558  }
4559
4560  public final class BluetoothPbapClient implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
4561    method public void close();
4562    method protected void finalize();
4563    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
4564    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
4565    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
4566    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(@NonNull int[]);
4567    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
4568    field @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.pbapclient.profile.action.CONNECTION_STATE_CHANGED";
4569  }
4570
4571  public interface BluetoothProfile {
4572    method @NonNull public static String getConnectionStateName(int);
4573    method @NonNull public static String getProfileName(int);
4574    field public static final int A2DP_SINK = 11; // 0xb
4575    field public static final int AVRCP_CONTROLLER = 12; // 0xc
4576    field public static final int CONNECTION_POLICY_ALLOWED = 100; // 0x64
4577    field public static final int CONNECTION_POLICY_FORBIDDEN = 0; // 0x0
4578    field public static final int CONNECTION_POLICY_UNKNOWN = -1; // 0xffffffff
4579    field public static final int HEADSET_CLIENT = 16; // 0x10
4580    field public static final int HID_HOST = 4; // 0x4
4581    field public static final int LE_AUDIO_BROADCAST = 26; // 0x1a
4582    field public static final int LE_AUDIO_BROADCAST_ASSISTANT = 29; // 0x1d
4583    field public static final int MAP = 9; // 0x9
4584    field public static final int MAP_CLIENT = 18; // 0x12
4585    field public static final int OPP = 20; // 0x14
4586    field public static final int PAN = 5; // 0x5
4587    field public static final int PBAP = 6; // 0x6
4588    field public static final int PBAP_CLIENT = 17; // 0x11
4589    field @Deprecated public static final int PRIORITY_OFF = 0; // 0x0
4590    field @Deprecated public static final int PRIORITY_ON = 100; // 0x64
4591    field public static final int VOLUME_CONTROL = 23; // 0x17
4592  }
4593
4594  public final class BluetoothQualityReport implements android.os.Parcelable {
4595    method public int describeContents();
4596    method @Nullable public android.bluetooth.BluetoothClass getBluetoothClass();
4597    method @Nullable public android.bluetooth.BluetoothQualityReport.BqrCommon getBqrCommon();
4598    method @Nullable public android.os.Parcelable getBqrEvent();
4599    method public int getLmpSubVersion();
4600    method public int getLmpVersion();
4601    method public int getManufacturerId();
4602    method public int getQualityReportId();
4603    method @Nullable public String getRemoteAddress();
4604    method @Nullable public String getRemoteName();
4605    method @NonNull public static String qualityReportIdToString(int);
4606    method public void writeToParcel(@NonNull android.os.Parcel, int);
4607    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothQualityReport> CREATOR;
4608    field public static final int QUALITY_REPORT_ID_A2DP_CHOPPY = 3; // 0x3
4609    field public static final int QUALITY_REPORT_ID_APPROACH_LSTO = 2; // 0x2
4610    field public static final int QUALITY_REPORT_ID_CONN_FAIL = 8; // 0x8
4611    field public static final int QUALITY_REPORT_ID_MONITOR = 1; // 0x1
4612    field public static final int QUALITY_REPORT_ID_SCO_CHOPPY = 4; // 0x4
4613  }
4614
4615  public static final class BluetoothQualityReport.BqrCommon implements android.os.Parcelable {
4616    method @NonNull public static String connectionRoleToString(int);
4617    method public int describeContents();
4618    method public int getAfhSelectUnidealChannelCount();
4619    method public int getCalFailedItemCount();
4620    method public int getConnectionHandle();
4621    method public int getConnectionRole();
4622    method public long getFlowOffCount();
4623    method public long getLastFlowOnTimestamp();
4624    method public long getLastTxAckTimestamp();
4625    method public int getLsto();
4626    method public long getNakCount();
4627    method public long getNoRxCount();
4628    method public long getOverflowCount();
4629    method public int getPacketType();
4630    method public long getPiconetClock();
4631    method public long getRetransmissionCount();
4632    method public int getRssi();
4633    method public int getSnr();
4634    method public int getTxPowerLevel();
4635    method public long getUnderflowCount();
4636    method public int getUnusedAfhChannelCount();
4637    method @Nullable public static String packetTypeToString(int);
4638    method public void writeToParcel(@NonNull android.os.Parcel, int);
4639    field public static final int CONNECTION_ROLE_CENTRAL = 0; // 0x0
4640    field public static final int CONNECTION_ROLE_PERIPHERAL = 1; // 0x1
4641    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothQualityReport.BqrCommon> CREATOR;
4642  }
4643
4644  public static final class BluetoothQualityReport.BqrConnectFail implements android.os.Parcelable {
4645    method @NonNull public static String connectFailIdToString(int);
4646    method public int describeContents();
4647    method public int getFailReason();
4648    method public void writeToParcel(@NonNull android.os.Parcel, int);
4649    field public static final int CONNECT_FAIL_ID_ACL_ALREADY_EXIST = 11; // 0xb
4650    field public static final int CONNECT_FAIL_ID_CONNECTION_TIMEOUT = 8; // 0x8
4651    field public static final int CONNECT_FAIL_ID_CONTROLLER_BUSY = 58; // 0x3a
4652    field public static final int CONNECT_FAIL_ID_NO_ERROR = 0; // 0x0
4653    field public static final int CONNECT_FAIL_ID_PAGE_TIMEOUT = 4; // 0x4
4654    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothQualityReport.BqrConnectFail> CREATOR;
4655  }
4656
4657  public static final class BluetoothQualityReport.BqrVsA2dpChoppy implements android.os.Parcelable {
4658    method public int describeContents();
4659    method public int getAclTxQueueLength();
4660    method public long getArrivalTime();
4661    method public int getGlitchCount();
4662    method public int getLinkQuality();
4663    method public int getRxCxmDenials();
4664    method public long getScheduleTime();
4665    method public int getTxCxmDenials();
4666    method @Nullable public static String linkQualityToString(int);
4667    method public void writeToParcel(@NonNull android.os.Parcel, int);
4668    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothQualityReport.BqrVsA2dpChoppy> CREATOR;
4669  }
4670
4671  public static final class BluetoothQualityReport.BqrVsLsto implements android.os.Parcelable {
4672    method @Nullable public static String connStateToString(int);
4673    method public int describeContents();
4674    method public long getBasebandStats();
4675    method public int getConnState();
4676    method public int getCxmDenials();
4677    method public long getLastTxAckTimestamp();
4678    method public long getNativeClock();
4679    method public int getRfLoss();
4680    method public long getSlotsUsed();
4681    method public int getTxSkipped();
4682    method public void writeToParcel(@NonNull android.os.Parcel, int);
4683    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothQualityReport.BqrVsLsto> CREATOR;
4684  }
4685
4686  public static final class BluetoothQualityReport.BqrVsScoChoppy implements android.os.Parcelable {
4687    method @Nullable public static String airFormatToString(int);
4688    method public int describeContents();
4689    method public int getAirFormat();
4690    method public int getGlitchCount();
4691    method public int getGoodRxFrameCount();
4692    method public int getInstanceCount();
4693    method public int getIntervalEsco();
4694    method public int getLateDispatch();
4695    method public int getLpaIntrMiss();
4696    method public int getMicIntrMiss();
4697    method public int getMissedInstanceCount();
4698    method public int getPlcDiscardCount();
4699    method public int getPlcFillCount();
4700    method public int getRxCxmDenials();
4701    method public int getRxRetransmitSlotCount();
4702    method public int getSprIntrMiss();
4703    method public int getTxAbortCount();
4704    method public int getTxCxmDenials();
4705    method public int getTxRetransmitSlotCount();
4706    method public int getWindowEsco();
4707    method public void writeToParcel(@NonNull android.os.Parcel, int);
4708    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothQualityReport.BqrVsScoChoppy> CREATOR;
4709  }
4710
4711  public static final class BluetoothQualityReport.Builder {
4712    ctor public BluetoothQualityReport.Builder(@NonNull byte[]);
4713    method @NonNull public android.bluetooth.BluetoothQualityReport build();
4714    method @NonNull public android.bluetooth.BluetoothQualityReport.Builder setBluetoothClass(@Nullable android.bluetooth.BluetoothClass);
4715    method @NonNull public android.bluetooth.BluetoothQualityReport.Builder setLmpSubVersion(int);
4716    method @NonNull public android.bluetooth.BluetoothQualityReport.Builder setLmpVersion(int);
4717    method @NonNull public android.bluetooth.BluetoothQualityReport.Builder setManufacturerId(int);
4718    method @NonNull public android.bluetooth.BluetoothQualityReport.Builder setRemoteAddress(@Nullable String);
4719    method @NonNull public android.bluetooth.BluetoothQualityReport.Builder setRemoteName(@Nullable String);
4720  }
4721
4722  public final class BluetoothSap implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
4723    method public void close();
4724    method protected void finalize();
4725    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
4726    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
4727    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(android.bluetooth.BluetoothDevice);
4728    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]);
4729    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
4730    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.sap.profile.action.CONNECTION_STATE_CHANGED";
4731  }
4732
4733  public final class BluetoothSinkAudioPolicy implements android.os.Parcelable {
4734    method public int describeContents();
4735    method public int getActiveDevicePolicyAfterConnection();
4736    method public int getCallEstablishPolicy();
4737    method public int getInBandRingtonePolicy();
4738    method public void writeToParcel(@NonNull android.os.Parcel, int);
4739    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothSinkAudioPolicy> CREATOR;
4740    field public static final int POLICY_ALLOWED = 1; // 0x1
4741    field public static final int POLICY_NOT_ALLOWED = 2; // 0x2
4742    field public static final int POLICY_UNCONFIGURED = 0; // 0x0
4743  }
4744
4745  public static final class BluetoothSinkAudioPolicy.Builder {
4746    ctor public BluetoothSinkAudioPolicy.Builder();
4747    ctor public BluetoothSinkAudioPolicy.Builder(@NonNull android.bluetooth.BluetoothSinkAudioPolicy);
4748    method @NonNull public android.bluetooth.BluetoothSinkAudioPolicy build();
4749    method @NonNull public android.bluetooth.BluetoothSinkAudioPolicy.Builder setActiveDevicePolicyAfterConnection(int);
4750    method @NonNull public android.bluetooth.BluetoothSinkAudioPolicy.Builder setCallEstablishPolicy(int);
4751    method @NonNull public android.bluetooth.BluetoothSinkAudioPolicy.Builder setInBandRingtonePolicy(int);
4752  }
4753
4754  public final class BluetoothStatusCodes {
4755    field public static final int ALLOWED = 400; // 0x190
4756    field public static final int ERROR_ALREADY_IN_TARGET_STATE = 26; // 0x1a
4757    field public static final int ERROR_ANOTHER_ACTIVE_OOB_REQUEST = 1000; // 0x3e8
4758    field public static final int ERROR_ANOTHER_ACTIVE_REQUEST = 29; // 0x1d
4759    field public static final int ERROR_AUDIO_DEVICE_ALREADY_CONNECTED = 1116; // 0x45c
4760    field public static final int ERROR_AUDIO_DEVICE_ALREADY_DISCONNECTED = 1117; // 0x45d
4761    field public static final int ERROR_AUDIO_ROUTE_BLOCKED = 1118; // 0x45e
4762    field public static final int ERROR_BAD_PARAMETERS = 21; // 0x15
4763    field public static final int ERROR_CALLBACK_NOT_REGISTERED = 28; // 0x1c
4764    field public static final int ERROR_CALL_ACTIVE = 1119; // 0x45f
4765    field public static final int ERROR_CSIP_GROUP_LOCKED_BY_OTHER = 1208; // 0x4b8
4766    field public static final int ERROR_CSIP_INVALID_GROUP_ID = 1207; // 0x4b7
4767    field public static final int ERROR_CSIP_LOCKED_GROUP_MEMBER_LOST = 1209; // 0x4b9
4768    field public static final int ERROR_DISTANCE_MEASUREMENT_INTERNAL = 1301; // 0x515
4769    field public static final int ERROR_HAP_INVALID_PRESET_INDEX = 1211; // 0x4bb
4770    field public static final int ERROR_HAP_PRESET_NAME_TOO_LONG = 1210; // 0x4ba
4771    field public static final int ERROR_HARDWARE_GENERIC = 20; // 0x14
4772    field public static final int ERROR_LE_BROADCAST_ASSISTANT_DUPLICATE_ADDITION = 1203; // 0x4b3
4773    field public static final int ERROR_LE_BROADCAST_ASSISTANT_INVALID_SOURCE_ID = 1202; // 0x4b2
4774    field public static final int ERROR_LE_BROADCAST_INVALID_BROADCAST_ID = 1200; // 0x4b0
4775    field public static final int ERROR_LE_BROADCAST_INVALID_CODE = 1201; // 0x4b1
4776    field public static final int ERROR_LE_CONTENT_METADATA_INVALID_LANGUAGE = 1205; // 0x4b5
4777    field public static final int ERROR_LE_CONTENT_METADATA_INVALID_OTHER = 1206; // 0x4b6
4778    field public static final int ERROR_LE_CONTENT_METADATA_INVALID_PROGRAM_INFO = 1204; // 0x4b4
4779    field public static final int ERROR_LOCAL_NOT_ENOUGH_RESOURCES = 22; // 0x16
4780    field public static final int ERROR_NOT_ACTIVE_DEVICE = 12; // 0xc
4781    field public static final int ERROR_NOT_DUAL_MODE_AUDIO_DEVICE = 3000; // 0xbb8
4782    field public static final int ERROR_NO_ACTIVE_DEVICES = 13; // 0xd
4783    field public static final int ERROR_NO_LE_CONNECTION = 1300; // 0x514
4784    field public static final int ERROR_PROFILE_NOT_CONNECTED = 14; // 0xe
4785    field public static final int ERROR_REMOTE_LINK_ERROR = 25; // 0x19
4786    field public static final int ERROR_REMOTE_NOT_ENOUGH_RESOURCES = 23; // 0x17
4787    field public static final int ERROR_REMOTE_OPERATION_NOT_SUPPORTED = 27; // 0x1b
4788    field public static final int ERROR_REMOTE_OPERATION_REJECTED = 24; // 0x18
4789    field public static final int ERROR_TIMEOUT = 15; // 0xf
4790    field public static final int NOT_ALLOWED = 401; // 0x191
4791    field public static final int REASON_LOCAL_APP_REQUEST = 16; // 0x10
4792    field public static final int REASON_LOCAL_STACK_REQUEST = 17; // 0x11
4793    field public static final int REASON_REMOTE_REQUEST = 18; // 0x12
4794    field public static final int REASON_SYSTEM_POLICY = 19; // 0x13
4795    field public static final int RFCOMM_LISTENER_FAILED_TO_CLOSE_SERVER_SOCKET = 2004; // 0x7d4
4796    field public static final int RFCOMM_LISTENER_FAILED_TO_CREATE_SERVER_SOCKET = 2003; // 0x7d3
4797    field public static final int RFCOMM_LISTENER_NO_SOCKET_AVAILABLE = 2005; // 0x7d5
4798    field public static final int RFCOMM_LISTENER_OPERATION_FAILED_DIFFERENT_APP = 2002; // 0x7d2
4799    field public static final int RFCOMM_LISTENER_OPERATION_FAILED_NO_MATCHING_SERVICE_RECORD = 2001; // 0x7d1
4800    field public static final int RFCOMM_LISTENER_START_FAILED_UUID_IN_USE = 2000; // 0x7d0
4801  }
4802
4803  public final class BluetoothUuid {
4804    method public static boolean containsAnyUuid(@Nullable android.os.ParcelUuid[], @Nullable android.os.ParcelUuid[]);
4805    method @NonNull public static android.os.ParcelUuid parseUuidFrom(@Nullable byte[]);
4806    field @NonNull public static final android.os.ParcelUuid A2DP_SINK;
4807    field @NonNull public static final android.os.ParcelUuid A2DP_SOURCE;
4808    field @NonNull public static final android.os.ParcelUuid ADV_AUDIO_DIST;
4809    field @NonNull public static final android.os.ParcelUuid AVRCP;
4810    field @NonNull public static final android.os.ParcelUuid AVRCP_CONTROLLER;
4811    field @NonNull public static final android.os.ParcelUuid AVRCP_TARGET;
4812    field @NonNull public static final android.os.ParcelUuid BASE_UUID;
4813    field @NonNull public static final android.os.ParcelUuid BASS;
4814    field @NonNull public static final android.os.ParcelUuid BNEP;
4815    field @NonNull public static final android.os.ParcelUuid CAP;
4816    field @NonNull public static final android.os.ParcelUuid COORDINATED_SET;
4817    field @NonNull public static final android.os.ParcelUuid DIP;
4818    field @NonNull public static final android.os.ParcelUuid GENERIC_MEDIA_CONTROL;
4819    field @NonNull public static final android.os.ParcelUuid HAS;
4820    field @NonNull public static final android.os.ParcelUuid HEARING_AID;
4821    field @NonNull public static final android.os.ParcelUuid HFP;
4822    field @NonNull public static final android.os.ParcelUuid HFP_AG;
4823    field @NonNull public static final android.os.ParcelUuid HID;
4824    field @NonNull public static final android.os.ParcelUuid HOGP;
4825    field @NonNull public static final android.os.ParcelUuid HSP;
4826    field @NonNull public static final android.os.ParcelUuid HSP_AG;
4827    field @NonNull public static final android.os.ParcelUuid LE_AUDIO;
4828    field @NonNull public static final android.os.ParcelUuid MAP;
4829    field @NonNull public static final android.os.ParcelUuid MAS;
4830    field @NonNull public static final android.os.ParcelUuid MEDIA_CONTROL;
4831    field @NonNull public static final android.os.ParcelUuid MFI_HAS;
4832    field @NonNull public static final android.os.ParcelUuid MNS;
4833    field @NonNull public static final android.os.ParcelUuid NAP;
4834    field @NonNull public static final android.os.ParcelUuid OBEX_OBJECT_PUSH;
4835    field @NonNull public static final android.os.ParcelUuid PANU;
4836    field @NonNull public static final android.os.ParcelUuid PBAP_PCE;
4837    field @NonNull public static final android.os.ParcelUuid PBAP_PSE;
4838    field @NonNull public static final android.os.ParcelUuid SAP;
4839    field public static final int UUID_BYTES_128_BIT = 16; // 0x10
4840    field public static final int UUID_BYTES_16_BIT = 2; // 0x2
4841    field public static final int UUID_BYTES_32_BIT = 4; // 0x4
4842    field @NonNull public static final android.os.ParcelUuid VOLUME_CONTROL;
4843  }
4844
4845  public final class BluetoothVolumeControl implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
4846    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public void close();
4847    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) protected void finalize();
4848    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
4849    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
4850    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(android.bluetooth.BluetoothDevice);
4851    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]);
4852    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getNumberOfVolumeOffsetInstances(@NonNull android.bluetooth.BluetoothDevice);
4853    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isVolumeOffsetAvailable(@NonNull android.bluetooth.BluetoothDevice);
4854    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void registerCallback(@NonNull java.util.concurrent.Executor, @NonNull android.bluetooth.BluetoothVolumeControl.Callback);
4855    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
4856    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void setDeviceVolume(@NonNull android.bluetooth.BluetoothDevice, @IntRange(from=0, to=255) int, boolean);
4857    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void setVolumeOffset(@NonNull android.bluetooth.BluetoothDevice, @IntRange(from=0xffffff01, to=255) int);
4858    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void setVolumeOffset(@NonNull android.bluetooth.BluetoothDevice, @IntRange(from=1, to=255) int, @IntRange(from=0xffffff01, to=255) int);
4859    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void unregisterCallback(@NonNull android.bluetooth.BluetoothVolumeControl.Callback);
4860    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.volume-control.profile.action.CONNECTION_STATE_CHANGED";
4861  }
4862
4863  public static interface BluetoothVolumeControl.Callback {
4864    method public default void onDeviceVolumeChanged(@NonNull android.bluetooth.BluetoothDevice, @IntRange(from=0, to=255) int);
4865    method public default void onVolumeOffsetAudioDescriptionChanged(@NonNull android.bluetooth.BluetoothDevice, @IntRange(from=1, to=255) int, @NonNull String);
4866    method public default void onVolumeOffsetAudioLocationChanged(@NonNull android.bluetooth.BluetoothDevice, @IntRange(from=1, to=255) int, @IntRange(from=0xffffff01, to=255) int);
4867    method @Deprecated public default void onVolumeOffsetChanged(@NonNull android.bluetooth.BluetoothDevice, @IntRange(from=0xffffff01, to=255) int);
4868    method public default void onVolumeOffsetChanged(@NonNull android.bluetooth.BluetoothDevice, @IntRange(from=1, to=255) int, @IntRange(from=0xffffff01, to=255) int);
4869  }
4870
4871  public final class BufferConstraint implements android.os.Parcelable {
4872    ctor public BufferConstraint(int, int, int);
4873    method public int describeContents();
4874    method public int getDefaultMillis();
4875    method public int getMaxMillis();
4876    method public int getMinMillis();
4877    method public void writeToParcel(@NonNull android.os.Parcel, int);
4878    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BufferConstraint> CREATOR;
4879  }
4880
4881  public final class BufferConstraints implements android.os.Parcelable {
4882    ctor public BufferConstraints(@NonNull java.util.List<android.bluetooth.BufferConstraint>);
4883    method public int describeContents();
4884    method @Nullable public android.bluetooth.BufferConstraint forCodec(int);
4885    method public void writeToParcel(@NonNull android.os.Parcel, int);
4886    field public static final int BUFFER_CODEC_MAX_NUM = 32; // 0x20
4887    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BufferConstraints> CREATOR;
4888  }
4889
4890  public final class OobData implements android.os.Parcelable {
4891    method public int describeContents();
4892    method @NonNull public byte[] getClassOfDevice();
4893    method @NonNull public byte[] getClassicLength();
4894    method @NonNull public byte[] getConfirmationHash();
4895    method @NonNull public byte[] getDeviceAddressWithType();
4896    method @Nullable public byte[] getDeviceName();
4897    method @Nullable public byte[] getLeAppearance();
4898    method @NonNull public int getLeDeviceRole();
4899    method @NonNull public int getLeFlags();
4900    method @Nullable public byte[] getLeTemporaryKey();
4901    method @NonNull public byte[] getRandomizerHash();
4902    method public void writeToParcel(@NonNull android.os.Parcel, int);
4903    field public static final int CLASS_OF_DEVICE_OCTETS = 3; // 0x3
4904    field public static final int CONFIRMATION_OCTETS = 16; // 0x10
4905    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.OobData> CREATOR;
4906    field public static final int DEVICE_ADDRESS_OCTETS = 7; // 0x7
4907    field public static final int LE_APPEARANCE_OCTETS = 2; // 0x2
4908    field public static final int LE_DEVICE_FLAG_OCTETS = 1; // 0x1
4909    field public static final int LE_DEVICE_ROLE_BOTH_PREFER_CENTRAL = 3; // 0x3
4910    field public static final int LE_DEVICE_ROLE_BOTH_PREFER_PERIPHERAL = 2; // 0x2
4911    field public static final int LE_DEVICE_ROLE_CENTRAL_ONLY = 1; // 0x1
4912    field public static final int LE_DEVICE_ROLE_OCTETS = 1; // 0x1
4913    field public static final int LE_DEVICE_ROLE_PERIPHERAL_ONLY = 0; // 0x0
4914    field public static final int LE_FLAG_BREDR_NOT_SUPPORTED = 2; // 0x2
4915    field public static final int LE_FLAG_GENERAL_DISCOVERY_MODE = 1; // 0x1
4916    field public static final int LE_FLAG_LIMITED_DISCOVERY_MODE = 0; // 0x0
4917    field public static final int LE_FLAG_SIMULTANEOUS_CONTROLLER = 3; // 0x3
4918    field public static final int LE_FLAG_SIMULTANEOUS_HOST = 4; // 0x4
4919    field public static final int LE_TK_OCTETS = 16; // 0x10
4920    field public static final int OOB_LENGTH_OCTETS = 2; // 0x2
4921    field public static final int RANDOMIZER_OCTETS = 16; // 0x10
4922  }
4923
4924  public static final class OobData.ClassicBuilder {
4925    ctor public OobData.ClassicBuilder(@NonNull byte[], @NonNull byte[], @NonNull byte[]);
4926    method @NonNull public android.bluetooth.OobData build();
4927    method @NonNull public android.bluetooth.OobData.ClassicBuilder setClassOfDevice(@NonNull byte[]);
4928    method @NonNull public android.bluetooth.OobData.ClassicBuilder setDeviceName(@NonNull byte[]);
4929    method @NonNull public android.bluetooth.OobData.ClassicBuilder setRandomizerHash(@NonNull byte[]);
4930  }
4931
4932  public static final class OobData.LeBuilder {
4933    ctor public OobData.LeBuilder(@NonNull byte[], @NonNull byte[], int);
4934    method @NonNull public android.bluetooth.OobData build();
4935    method @NonNull public android.bluetooth.OobData.LeBuilder setDeviceName(@NonNull byte[]);
4936    method @NonNull public android.bluetooth.OobData.LeBuilder setLeFlags(int);
4937    method @NonNull public android.bluetooth.OobData.LeBuilder setLeTemporaryKey(@NonNull byte[]);
4938    method @NonNull public android.bluetooth.OobData.LeBuilder setRandomizerHash(@NonNull byte[]);
4939  }
4940
4941  public final class UidTraffic implements java.lang.Cloneable android.os.Parcelable {
4942    method public android.bluetooth.UidTraffic clone();
4943    method public int describeContents();
4944    method public long getRxBytes();
4945    method public long getTxBytes();
4946    method public int getUid();
4947    method public void writeToParcel(android.os.Parcel, int);
4948    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.UidTraffic> CREATOR;
4949  }
4950
4951}
4952
4953package android.bluetooth.le {
4954
4955  public final class AdvertiseSettings implements android.os.Parcelable {
4956    method public int getOwnAddressType();
4957  }
4958
4959  public static final class AdvertiseSettings.Builder {
4960    method @NonNull public android.bluetooth.le.AdvertiseSettings.Builder setOwnAddressType(int);
4961  }
4962
4963  public final class AdvertisingSet {
4964    method public int getAdvertiserId();
4965  }
4966
4967  public final class AdvertisingSetParameters implements android.os.Parcelable {
4968    method public int getOwnAddressType();
4969    field public static final int ADDRESS_TYPE_DEFAULT = -1; // 0xffffffff
4970    field public static final int ADDRESS_TYPE_PUBLIC = 0; // 0x0
4971    field public static final int ADDRESS_TYPE_RANDOM = 1; // 0x1
4972    field public static final int ADDRESS_TYPE_RANDOM_NON_RESOLVABLE = 2; // 0x2
4973  }
4974
4975  public static final class AdvertisingSetParameters.Builder {
4976    method @NonNull public android.bluetooth.le.AdvertisingSetParameters.Builder setOwnAddressType(int);
4977  }
4978
4979  public final class BluetoothLeAdvertiser {
4980    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_PRIVILEGED, android.Manifest.permission.BLUETOOTH_ADVERTISE, android.Manifest.permission.BLUETOOTH_CONNECT}) public void startAdvertisingSet(@NonNull android.bluetooth.le.AdvertisingSetParameters, @Nullable android.bluetooth.le.AdvertiseData, @Nullable android.bluetooth.le.AdvertiseData, @Nullable android.bluetooth.le.PeriodicAdvertisingParameters, @Nullable android.bluetooth.le.AdvertiseData, int, int, @Nullable android.bluetooth.BluetoothGattServer, @Nullable android.bluetooth.le.AdvertisingSetCallback, @NonNull android.os.Handler);
4981  }
4982
4983  public final class BluetoothLeScanner {
4984    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.UPDATE_DEVICE_STATS}) public void startScanFromSource(android.os.WorkSource, android.bluetooth.le.ScanCallback);
4985    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);
4986    method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_SCAN) public void startTruncatedScan(java.util.List<android.bluetooth.le.TruncatedFilter>, android.bluetooth.le.ScanSettings, android.bluetooth.le.ScanCallback);
4987  }
4988
4989  public final class ChannelSoundingParams implements android.os.Parcelable {
4990    method public int describeContents();
4991    method public int getCsSecurityLevel();
4992    method public int getLocationType();
4993    method public int getSightType();
4994    method public void writeToParcel(@NonNull android.os.Parcel, int);
4995    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.ChannelSoundingParams> CREATOR;
4996    field public static final int CS_SECURITY_LEVEL_FOUR = 4; // 0x4
4997    field public static final int CS_SECURITY_LEVEL_ONE = 1; // 0x1
4998    field public static final int CS_SECURITY_LEVEL_THREE = 3; // 0x3
4999    field public static final int CS_SECURITY_LEVEL_TWO = 2; // 0x2
5000    field public static final int CS_SECURITY_LEVEL_UNKNOWN = 0; // 0x0
5001    field public static final int LOCATION_TYPE_INDOOR = 1; // 0x1
5002    field public static final int LOCATION_TYPE_OUTDOOR = 2; // 0x2
5003    field public static final int LOCATION_TYPE_UNKNOWN = 0; // 0x0
5004    field public static final int SIGHT_TYPE_LINE_OF_SIGHT = 1; // 0x1
5005    field public static final int SIGHT_TYPE_NON_LINE_OF_SIGHT = 2; // 0x2
5006    field public static final int SIGHT_TYPE_UNKNOWN = 0; // 0x0
5007  }
5008
5009  public static final class ChannelSoundingParams.Builder {
5010    ctor public ChannelSoundingParams.Builder();
5011    method @NonNull public android.bluetooth.le.ChannelSoundingParams build();
5012    method @NonNull public android.bluetooth.le.ChannelSoundingParams.Builder setCsSecurityLevel(int);
5013    method @NonNull public android.bluetooth.le.ChannelSoundingParams.Builder setLocationType(int);
5014    method @NonNull public android.bluetooth.le.ChannelSoundingParams.Builder setSightType(int);
5015  }
5016
5017  public final class DistanceMeasurementManager {
5018    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getChannelSoundingMaxSupportedSecurityLevel(@NonNull android.bluetooth.BluetoothDevice);
5019    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getLocalChannelSoundingMaxSupportedSecurityLevel();
5020    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.le.DistanceMeasurementMethod> getSupportedMethods();
5021    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.os.CancellationSignal startMeasurementSession(@NonNull android.bluetooth.le.DistanceMeasurementParams, @NonNull java.util.concurrent.Executor, @NonNull android.bluetooth.le.DistanceMeasurementSession.Callback);
5022  }
5023
5024  public final class DistanceMeasurementMethod implements android.os.Parcelable {
5025    method public int describeContents();
5026    method public double getId();
5027    method public boolean isAltitudeAngleSupported();
5028    method public boolean isAzimuthAngleSupported();
5029    method public void writeToParcel(android.os.Parcel, int);
5030    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.DistanceMeasurementMethod> CREATOR;
5031    field public static final int DISTANCE_MEASUREMENT_METHOD_AUTO = 0; // 0x0
5032    field public static final int DISTANCE_MEASUREMENT_METHOD_CHANNEL_SOUNDING = 2; // 0x2
5033    field public static final int DISTANCE_MEASUREMENT_METHOD_RSSI = 1; // 0x1
5034  }
5035
5036  public static final class DistanceMeasurementMethod.Builder {
5037    ctor public DistanceMeasurementMethod.Builder(int);
5038    method @NonNull public android.bluetooth.le.DistanceMeasurementMethod build();
5039    method @NonNull public android.bluetooth.le.DistanceMeasurementMethod.Builder setAltitudeAngleSupported(boolean);
5040    method @NonNull public android.bluetooth.le.DistanceMeasurementMethod.Builder setAzimuthAngleSupported(boolean);
5041  }
5042
5043  public final class DistanceMeasurementParams implements android.os.Parcelable {
5044    method public int describeContents();
5045    method @Nullable public android.bluetooth.le.ChannelSoundingParams getChannelSoundingParams();
5046    method public static int getDefaultDurationSeconds();
5047    method @NonNull public android.bluetooth.BluetoothDevice getDevice();
5048    method @IntRange(from=0) public int getDurationSeconds();
5049    method public int getFrequency();
5050    method public static int getMaxDurationSeconds();
5051    method public int getMethodId();
5052    method public void writeToParcel(android.os.Parcel, int);
5053    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.DistanceMeasurementParams> CREATOR;
5054    field public static final int REPORT_FREQUENCY_HIGH = 2; // 0x2
5055    field public static final int REPORT_FREQUENCY_LOW = 0; // 0x0
5056    field public static final int REPORT_FREQUENCY_MEDIUM = 1; // 0x1
5057  }
5058
5059  public static final class DistanceMeasurementParams.Builder {
5060    ctor public DistanceMeasurementParams.Builder(@NonNull android.bluetooth.BluetoothDevice);
5061    method @NonNull public android.bluetooth.le.DistanceMeasurementParams build();
5062    method @NonNull public android.bluetooth.le.DistanceMeasurementParams.Builder setChannelSoundingParams(@NonNull android.bluetooth.le.ChannelSoundingParams);
5063    method @NonNull public android.bluetooth.le.DistanceMeasurementParams.Builder setDurationSeconds(@IntRange(from=0) int);
5064    method @NonNull public android.bluetooth.le.DistanceMeasurementParams.Builder setFrequency(int);
5065    method @NonNull public android.bluetooth.le.DistanceMeasurementParams.Builder setMethodId(int);
5066  }
5067
5068  public final class DistanceMeasurementResult implements android.os.Parcelable {
5069    method public int describeContents();
5070    method @FloatRange(from=-90.0, to=90.0) public double getAltitudeAngle();
5071    method @FloatRange(from=0.0, to=360.0) public double getAzimuthAngle();
5072    method @FloatRange(from=0.0, to=1.0) public double getConfidenceLevel();
5073    method public double getDelaySpreadMeters();
5074    method public int getDetectedAttackLevel();
5075    method public double getErrorAltitudeAngle();
5076    method public double getErrorAzimuthAngle();
5077    method @FloatRange(from=0.0) public double getErrorMeters();
5078    method public double getResultMeters();
5079    method public double getVelocityMetersPerSecond();
5080    method public void writeToParcel(android.os.Parcel, int);
5081    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.DistanceMeasurementResult> CREATOR;
5082    field public static final int NADM_ATTACK_IS_EXTREMELY_LIKELY = 6; // 0x6
5083    field public static final int NADM_ATTACK_IS_EXTREMELY_UNLIKELY = 0; // 0x0
5084    field public static final int NADM_ATTACK_IS_LIKELY = 4; // 0x4
5085    field public static final int NADM_ATTACK_IS_POSSIBLE = 3; // 0x3
5086    field public static final int NADM_ATTACK_IS_UNLIKELY = 2; // 0x2
5087    field public static final int NADM_ATTACK_IS_VERY_LIKELY = 5; // 0x5
5088    field public static final int NADM_ATTACK_IS_VERY_UNLIKELY = 1; // 0x1
5089    field public static final int NADM_UNKNOWN = 255; // 0xff
5090  }
5091
5092  public static final class DistanceMeasurementResult.Builder {
5093    ctor public DistanceMeasurementResult.Builder(@FloatRange(from=0.0) double, @FloatRange(from=0.0) double);
5094    method @NonNull public android.bluetooth.le.DistanceMeasurementResult build();
5095    method @NonNull public android.bluetooth.le.DistanceMeasurementResult.Builder setAltitudeAngle(@FloatRange(from=-90.0, to=90.0) double);
5096    method @NonNull public android.bluetooth.le.DistanceMeasurementResult.Builder setAzimuthAngle(@FloatRange(from=0.0, to=360.0) double);
5097    method @NonNull public android.bluetooth.le.DistanceMeasurementResult.Builder setConfidenceLevel(@FloatRange(from=0.0, to=1.0) double);
5098    method @NonNull public android.bluetooth.le.DistanceMeasurementResult.Builder setDelaySpreadMeters(double);
5099    method @NonNull public android.bluetooth.le.DistanceMeasurementResult.Builder setDetectedAttackLevel(int);
5100    method @NonNull public android.bluetooth.le.DistanceMeasurementResult.Builder setErrorAltitudeAngle(@FloatRange(from=0.0, to=180.0) double);
5101    method @NonNull public android.bluetooth.le.DistanceMeasurementResult.Builder setErrorAzimuthAngle(@FloatRange(from=0.0, to=360.0) double);
5102    method @NonNull public android.bluetooth.le.DistanceMeasurementResult.Builder setVelocityMetersPerSecond(double);
5103  }
5104
5105  public final class DistanceMeasurementSession {
5106    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int stopSession();
5107  }
5108
5109  public static interface DistanceMeasurementSession.Callback {
5110    method public void onResult(@NonNull android.bluetooth.BluetoothDevice, @NonNull android.bluetooth.le.DistanceMeasurementResult);
5111    method public void onStartFail(@NonNull int);
5112    method public void onStarted(@NonNull android.bluetooth.le.DistanceMeasurementSession);
5113    method public void onStopped(@NonNull android.bluetooth.le.DistanceMeasurementSession, @NonNull int);
5114  }
5115
5116  @Deprecated public final class ResultStorageDescriptor implements android.os.Parcelable {
5117    ctor @Deprecated public ResultStorageDescriptor(int, int, int);
5118    method @Deprecated public int describeContents();
5119    method @Deprecated public int getLength();
5120    method @Deprecated public int getOffset();
5121    method @Deprecated public int getType();
5122    method @Deprecated public void writeToParcel(android.os.Parcel, int);
5123    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.ResultStorageDescriptor> CREATOR;
5124  }
5125
5126  public final class ScanFilter implements android.os.Parcelable {
5127    method public int getAddressType();
5128    method @Nullable public byte[] getIrk();
5129    method @Nullable public android.bluetooth.le.TransportBlockFilter getTransportBlockFilter();
5130  }
5131
5132  public static final class ScanFilter.Builder {
5133    method @NonNull public android.bluetooth.le.ScanFilter.Builder setDeviceAddress(@NonNull String, int);
5134    method @NonNull public android.bluetooth.le.ScanFilter.Builder setDeviceAddress(@NonNull String, int, @NonNull byte[]);
5135    method @NonNull public android.bluetooth.le.ScanFilter.Builder setTransportBlockFilter(@NonNull android.bluetooth.le.TransportBlockFilter);
5136    field public static final int LEN_IRK_OCTETS = 16; // 0x10
5137  }
5138
5139  public final class ScanRecord {
5140    method @Nullable public android.bluetooth.le.TransportDiscoveryData getTransportDiscoveryData();
5141  }
5142
5143  public final class ScanSettings implements android.os.Parcelable {
5144    field public static final int SCAN_MODE_AMBIENT_DISCOVERY = 3; // 0x3
5145    field public static final int SCAN_RESULT_TYPE_ABBREVIATED = 1; // 0x1
5146    field public static final int SCAN_RESULT_TYPE_FULL = 0; // 0x0
5147  }
5148
5149  public static final class ScanSettings.Builder {
5150    method public android.bluetooth.le.ScanSettings.Builder setScanResultType(int);
5151  }
5152
5153  public final class TransportBlockFilter implements android.os.Parcelable {
5154    method public int describeContents();
5155    method public int getOrgId();
5156    method public int getTdsFlags();
5157    method public int getTdsFlagsMask();
5158    method @Nullable public byte[] getTransportData();
5159    method @Nullable public byte[] getTransportDataMask();
5160    method @Nullable public byte[] getWifiNanHash();
5161    method public void writeToParcel(@NonNull android.os.Parcel, int);
5162    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.TransportBlockFilter> CREATOR;
5163    field public static final int WIFI_NAN_HASH_LENGTH_BYTES = 8; // 0x8
5164  }
5165
5166  public static final class TransportBlockFilter.Builder {
5167    ctor public TransportBlockFilter.Builder(int);
5168    method @NonNull public android.bluetooth.le.TransportBlockFilter build();
5169    method @NonNull public android.bluetooth.le.TransportBlockFilter.Builder setTdsFlags(int, int);
5170    method @NonNull public android.bluetooth.le.TransportBlockFilter.Builder setTransportData(@NonNull byte[], @NonNull byte[]);
5171    method @NonNull public android.bluetooth.le.TransportBlockFilter.Builder setWifiNanHash(@NonNull byte[]);
5172  }
5173
5174  @Deprecated public final class TruncatedFilter {
5175    ctor @Deprecated public TruncatedFilter(android.bluetooth.le.ScanFilter, java.util.List<android.bluetooth.le.ResultStorageDescriptor>);
5176    method @Deprecated public android.bluetooth.le.ScanFilter getFilter();
5177    method @Deprecated public java.util.List<android.bluetooth.le.ResultStorageDescriptor> getStorageDescriptors();
5178  }
5179
5180}
5181
5182package android.companion {
5183
5184  public final class AssociationInfo implements android.os.Parcelable {
5185    method @NonNull public String getPackageName();
5186  }
5187
5188  public final class CompanionDeviceManager {
5189    method @RequiresPermission("android.permission.MANAGE_COMPANION_DEVICES") public void addOnAssociationsChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.companion.CompanionDeviceManager.OnAssociationsChangedListener);
5190    method @RequiresPermission(android.Manifest.permission.ASSOCIATE_COMPANION_DEVICES) public void associate(@NonNull String, @NonNull android.net.MacAddress, @NonNull byte[]);
5191    method @RequiresPermission("android.permission.MANAGE_COMPANION_DEVICES") public boolean canPairWithoutPrompt(@NonNull String, @NonNull String, @NonNull android.os.UserHandle);
5192    method @NonNull @RequiresPermission("android.permission.MANAGE_COMPANION_DEVICES") public java.util.List<android.companion.AssociationInfo> getAllAssociations();
5193    method @RequiresPermission("android.permission.MANAGE_COMPANION_DEVICES") public boolean isDeviceAssociatedForWifiConnection(@NonNull String, @NonNull android.net.MacAddress, @NonNull android.os.UserHandle);
5194    method @RequiresPermission(android.Manifest.permission.REQUEST_COMPANION_SELF_MANAGED) public void notifyDeviceAppeared(int);
5195    method @RequiresPermission(android.Manifest.permission.REQUEST_COMPANION_SELF_MANAGED) public void notifyDeviceDisappeared(int);
5196    method @RequiresPermission("android.permission.MANAGE_COMPANION_DEVICES") public void removeOnAssociationsChangedListener(@NonNull android.companion.CompanionDeviceManager.OnAssociationsChangedListener);
5197  }
5198
5199  public static interface CompanionDeviceManager.OnAssociationsChangedListener {
5200    method public void onAssociationsChanged(@NonNull java.util.List<android.companion.AssociationInfo>);
5201  }
5202
5203}
5204
5205package android.companion.virtual {
5206
5207  public final class VirtualDevice implements android.os.Parcelable {
5208    method public boolean hasCustomAudioInputSupport();
5209    method public boolean hasCustomCameraSupport();
5210  }
5211
5212  public final class VirtualDeviceManager {
5213    method @NonNull @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public android.companion.virtual.VirtualDeviceManager.VirtualDevice createVirtualDevice(int, @NonNull android.companion.virtual.VirtualDeviceParams);
5214    method @NonNull public java.util.Set<java.lang.String> getAllPersistentDeviceIds();
5215    method @Nullable public CharSequence getDisplayNameForPersistentDeviceId(@NonNull String);
5216    field public static final int LAUNCH_FAILURE_NO_ACTIVITY = 2; // 0x2
5217    field public static final int LAUNCH_FAILURE_PENDING_INTENT_CANCELED = 1; // 0x1
5218    field public static final int LAUNCH_SUCCESS = 0; // 0x0
5219    field public static final String PERSISTENT_DEVICE_ID_DEFAULT = "default:0";
5220  }
5221
5222  public static interface VirtualDeviceManager.ActivityListener {
5223    method public void onDisplayEmpty(int);
5224    method @Deprecated public void onTopActivityChanged(int, @NonNull android.content.ComponentName);
5225    method public default void onTopActivityChanged(int, @NonNull android.content.ComponentName, int);
5226  }
5227
5228  public static interface VirtualDeviceManager.IntentInterceptorCallback {
5229    method public void onIntentIntercepted(@NonNull android.content.Intent);
5230  }
5231
5232  public static interface VirtualDeviceManager.SoundEffectListener {
5233    method public void onPlaySoundEffect(int);
5234  }
5235
5236  public static class VirtualDeviceManager.VirtualDevice implements java.lang.AutoCloseable {
5237    method public void addActivityListener(@NonNull java.util.concurrent.Executor, @NonNull android.companion.virtual.VirtualDeviceManager.ActivityListener);
5238    method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void addActivityPolicyExemption(@NonNull android.content.ComponentName);
5239    method public void addSoundEffectListener(@NonNull java.util.concurrent.Executor, @NonNull android.companion.virtual.VirtualDeviceManager.SoundEffectListener);
5240    method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void close();
5241    method @NonNull public android.content.Context createContext();
5242    method @NonNull @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public android.companion.virtual.audio.VirtualAudioDevice createVirtualAudioDevice(@NonNull android.hardware.display.VirtualDisplay, @Nullable java.util.concurrent.Executor, @Nullable android.companion.virtual.audio.VirtualAudioDevice.AudioConfigurationChangeCallback);
5243    method @NonNull @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public android.companion.virtual.camera.VirtualCamera createVirtualCamera(@NonNull android.companion.virtual.camera.VirtualCameraConfig);
5244    method @Nullable public android.hardware.display.VirtualDisplay createVirtualDisplay(@NonNull android.hardware.display.VirtualDisplayConfig, @Nullable java.util.concurrent.Executor, @Nullable android.hardware.display.VirtualDisplay.Callback);
5245    method @Deprecated @Nullable public android.hardware.display.VirtualDisplay createVirtualDisplay(@IntRange(from=1) int, @IntRange(from=1) int, @IntRange(from=1) int, @Nullable android.view.Surface, int, @Nullable java.util.concurrent.Executor, @Nullable android.hardware.display.VirtualDisplay.Callback);
5246    method @NonNull @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public android.hardware.input.VirtualDpad createVirtualDpad(@NonNull android.hardware.input.VirtualDpadConfig);
5247    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public android.hardware.input.VirtualKeyboard createVirtualKeyboard(@NonNull android.hardware.display.VirtualDisplay, @NonNull String, int, int);
5248    method @NonNull @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public android.hardware.input.VirtualKeyboard createVirtualKeyboard(@NonNull android.hardware.input.VirtualKeyboardConfig);
5249    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public android.hardware.input.VirtualMouse createVirtualMouse(@NonNull android.hardware.display.VirtualDisplay, @NonNull String, int, int);
5250    method @NonNull @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public android.hardware.input.VirtualMouse createVirtualMouse(@NonNull android.hardware.input.VirtualMouseConfig);
5251    method @NonNull @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public android.hardware.input.VirtualNavigationTouchpad createVirtualNavigationTouchpad(@NonNull android.hardware.input.VirtualNavigationTouchpadConfig);
5252    method @NonNull @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public android.hardware.input.VirtualStylus createVirtualStylus(@NonNull android.hardware.input.VirtualStylusConfig);
5253    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public android.hardware.input.VirtualTouchscreen createVirtualTouchscreen(@NonNull android.hardware.display.VirtualDisplay, @NonNull String, int, int);
5254    method @NonNull @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public android.hardware.input.VirtualTouchscreen createVirtualTouchscreen(@NonNull android.hardware.input.VirtualTouchscreenConfig);
5255    method public int getDeviceId();
5256    method @Nullable public String getPersistentDeviceId();
5257    method @NonNull public java.util.List<android.companion.virtual.sensor.VirtualSensor> getVirtualSensorList();
5258    method public void launchPendingIntent(int, @NonNull android.app.PendingIntent, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.IntConsumer);
5259    method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void registerIntentInterceptor(@NonNull android.content.IntentFilter, @NonNull java.util.concurrent.Executor, @NonNull android.companion.virtual.VirtualDeviceManager.IntentInterceptorCallback);
5260    method public void removeActivityListener(@NonNull android.companion.virtual.VirtualDeviceManager.ActivityListener);
5261    method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void removeActivityPolicyExemption(@NonNull android.content.ComponentName);
5262    method public void removeSoundEffectListener(@NonNull android.companion.virtual.VirtualDeviceManager.SoundEffectListener);
5263    method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void setDevicePolicy(int, int);
5264    method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void setDisplayImePolicy(int, int);
5265    method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void setShowPointerIcon(boolean);
5266    method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void unregisterIntentInterceptor(@NonNull android.companion.virtual.VirtualDeviceManager.IntentInterceptorCallback);
5267  }
5268
5269  public final class VirtualDeviceParams implements android.os.Parcelable {
5270    method public int describeContents();
5271    method @Deprecated @NonNull public java.util.Set<android.content.ComponentName> getAllowedActivities();
5272    method @Deprecated @NonNull public java.util.Set<android.content.ComponentName> getAllowedCrossTaskNavigations();
5273    method public int getAudioPlaybackSessionId();
5274    method public int getAudioRecordingSessionId();
5275    method @Deprecated @NonNull public java.util.Set<android.content.ComponentName> getBlockedActivities();
5276    method @Deprecated @NonNull public java.util.Set<android.content.ComponentName> getBlockedCrossTaskNavigations();
5277    method @Deprecated public int getDefaultActivityPolicy();
5278    method @Deprecated public int getDefaultNavigationPolicy();
5279    method public int getDevicePolicy(int);
5280    method @Nullable public android.content.ComponentName getHomeComponent();
5281    method @Nullable public android.content.ComponentName getInputMethodComponent();
5282    method public int getLockState();
5283    method @Nullable public String getName();
5284    method @NonNull public java.util.Set<android.os.UserHandle> getUsersWithMatchingAccounts();
5285    method @NonNull public java.util.List<android.companion.virtual.sensor.VirtualSensorConfig> getVirtualSensorConfigs();
5286    method public void writeToParcel(@NonNull android.os.Parcel, int);
5287    field @Deprecated public static final int ACTIVITY_POLICY_DEFAULT_ALLOWED = 0; // 0x0
5288    field @Deprecated public static final int ACTIVITY_POLICY_DEFAULT_BLOCKED = 1; // 0x1
5289    field @NonNull public static final android.os.Parcelable.Creator<android.companion.virtual.VirtualDeviceParams> CREATOR;
5290    field public static final int DEVICE_POLICY_CUSTOM = 1; // 0x1
5291    field public static final int DEVICE_POLICY_DEFAULT = 0; // 0x0
5292    field public static final int LOCK_STATE_ALWAYS_UNLOCKED = 1; // 0x1
5293    field public static final int LOCK_STATE_DEFAULT = 0; // 0x0
5294    field @Deprecated public static final int NAVIGATION_POLICY_DEFAULT_ALLOWED = 0; // 0x0
5295    field @Deprecated public static final int NAVIGATION_POLICY_DEFAULT_BLOCKED = 1; // 0x1
5296    field public static final int POLICY_TYPE_ACTIVITY = 3; // 0x3
5297    field public static final int POLICY_TYPE_AUDIO = 1; // 0x1
5298    field public static final int POLICY_TYPE_CAMERA = 5; // 0x5
5299    field public static final int POLICY_TYPE_CLIPBOARD = 4; // 0x4
5300    field public static final int POLICY_TYPE_RECENTS = 2; // 0x2
5301    field public static final int POLICY_TYPE_SENSORS = 0; // 0x0
5302  }
5303
5304  public static final class VirtualDeviceParams.Builder {
5305    ctor public VirtualDeviceParams.Builder();
5306    method @NonNull public android.companion.virtual.VirtualDeviceParams.Builder addVirtualSensorConfig(@NonNull android.companion.virtual.sensor.VirtualSensorConfig);
5307    method @NonNull public android.companion.virtual.VirtualDeviceParams build();
5308    method @Deprecated @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setAllowedActivities(@NonNull java.util.Set<android.content.ComponentName>);
5309    method @Deprecated @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setAllowedCrossTaskNavigations(@NonNull java.util.Set<android.content.ComponentName>);
5310    method @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setAudioPlaybackSessionId(int);
5311    method @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setAudioRecordingSessionId(int);
5312    method @Deprecated @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setBlockedActivities(@NonNull java.util.Set<android.content.ComponentName>);
5313    method @Deprecated @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setBlockedCrossTaskNavigations(@NonNull java.util.Set<android.content.ComponentName>);
5314    method @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setDevicePolicy(int, int);
5315    method @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setHomeComponent(@Nullable android.content.ComponentName);
5316    method @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setInputMethodComponent(@Nullable android.content.ComponentName);
5317    method @NonNull @RequiresPermission(value=android.Manifest.permission.ADD_ALWAYS_UNLOCKED_DISPLAY, conditional=true) public android.companion.virtual.VirtualDeviceParams.Builder setLockState(int);
5318    method @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setName(@NonNull String);
5319    method @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setUsersWithMatchingAccounts(@NonNull java.util.Set<android.os.UserHandle>);
5320    method @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setVirtualSensorCallback(@NonNull java.util.concurrent.Executor, @NonNull android.companion.virtual.sensor.VirtualSensorCallback);
5321    method @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setVirtualSensorDirectChannelCallback(@NonNull java.util.concurrent.Executor, @NonNull android.companion.virtual.sensor.VirtualSensorDirectChannelCallback);
5322  }
5323
5324}
5325
5326package android.companion.virtual.audio {
5327
5328  public final class AudioCapture {
5329    method @NonNull public android.media.AudioFormat getFormat();
5330    method public int getRecordingState();
5331    method public int read(@NonNull byte[], int, int);
5332    method public int read(@NonNull byte[], int, int, int);
5333    method public int read(@NonNull float[], int, int, int);
5334    method public int read(@NonNull java.nio.ByteBuffer, int);
5335    method public int read(@NonNull java.nio.ByteBuffer, int, int);
5336    method public int read(@NonNull short[], int, int);
5337    method public int read(@NonNull short[], int, int, int);
5338    method public void startRecording();
5339    method public void stop();
5340  }
5341
5342  public final class AudioInjection {
5343    method @NonNull public android.media.AudioFormat getFormat();
5344    method public int getPlayState();
5345    method public void play();
5346    method public void stop();
5347    method public int write(@NonNull byte[], int, int);
5348    method public int write(@NonNull byte[], int, int, int);
5349    method public int write(@NonNull float[], int, int, int);
5350    method public int write(@NonNull java.nio.ByteBuffer, int, int);
5351    method public int write(@NonNull java.nio.ByteBuffer, int, int, long);
5352    method public int write(@NonNull short[], int, int);
5353    method public int write(@NonNull short[], int, int, int);
5354  }
5355
5356  public final class VirtualAudioDevice implements java.io.Closeable {
5357    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void close();
5358    method @Nullable public android.companion.virtual.audio.AudioCapture getAudioCapture();
5359    method @Nullable public android.companion.virtual.audio.AudioInjection getAudioInjection();
5360    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public android.companion.virtual.audio.AudioCapture startAudioCapture(@NonNull android.media.AudioFormat);
5361    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public android.companion.virtual.audio.AudioInjection startAudioInjection(@NonNull android.media.AudioFormat);
5362  }
5363
5364  public static interface VirtualAudioDevice.AudioConfigurationChangeCallback {
5365    method public void onPlaybackConfigChanged(@NonNull java.util.List<android.media.AudioPlaybackConfiguration>);
5366    method public void onRecordingConfigChanged(@NonNull java.util.List<android.media.AudioRecordingConfiguration>);
5367  }
5368
5369}
5370
5371package android.companion.virtual.camera {
5372
5373  public final class VirtualCamera implements java.io.Closeable {
5374    method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void close();
5375    method @NonNull public android.companion.virtual.camera.VirtualCameraConfig getConfig();
5376  }
5377
5378  public interface VirtualCameraCallback {
5379    method public default void onProcessCaptureRequest(int, long);
5380    method public void onStreamClosed(int);
5381    method public void onStreamConfigured(int, @NonNull android.view.Surface, @IntRange(from=1) int, @IntRange(from=1) int, int);
5382  }
5383
5384  public final class VirtualCameraConfig implements android.os.Parcelable {
5385    method public int describeContents();
5386    method public int getLensFacing();
5387    method @NonNull public String getName();
5388    method public int getSensorOrientation();
5389    method @NonNull public java.util.Set<android.companion.virtual.camera.VirtualCameraStreamConfig> getStreamConfigs();
5390    method public void writeToParcel(@NonNull android.os.Parcel, int);
5391    field @NonNull public static final android.os.Parcelable.Creator<android.companion.virtual.camera.VirtualCameraConfig> CREATOR;
5392    field public static final int SENSOR_ORIENTATION_0 = 0; // 0x0
5393    field public static final int SENSOR_ORIENTATION_180 = 180; // 0xb4
5394    field public static final int SENSOR_ORIENTATION_270 = 270; // 0x10e
5395    field public static final int SENSOR_ORIENTATION_90 = 90; // 0x5a
5396  }
5397
5398  public static final class VirtualCameraConfig.Builder {
5399    ctor public VirtualCameraConfig.Builder(@NonNull String);
5400    method @NonNull public android.companion.virtual.camera.VirtualCameraConfig.Builder addStreamConfig(@IntRange(from=1) int, @IntRange(from=1) int, int, @IntRange(from=1) int);
5401    method @NonNull public android.companion.virtual.camera.VirtualCameraConfig build();
5402    method @NonNull public android.companion.virtual.camera.VirtualCameraConfig.Builder setLensFacing(int);
5403    method @NonNull public android.companion.virtual.camera.VirtualCameraConfig.Builder setSensorOrientation(int);
5404    method @NonNull public android.companion.virtual.camera.VirtualCameraConfig.Builder setVirtualCameraCallback(@NonNull java.util.concurrent.Executor, @NonNull android.companion.virtual.camera.VirtualCameraCallback);
5405  }
5406
5407  public final class VirtualCameraStreamConfig implements android.os.Parcelable {
5408    method public int describeContents();
5409    method public int getFormat();
5410    method @IntRange(from=1) public int getHeight();
5411    method @IntRange(from=1) public int getMaximumFramesPerSecond();
5412    method @IntRange(from=1) public int getWidth();
5413    method public void writeToParcel(@NonNull android.os.Parcel, int);
5414    field @NonNull public static final android.os.Parcelable.Creator<android.companion.virtual.camera.VirtualCameraStreamConfig> CREATOR;
5415  }
5416
5417}
5418
5419package android.companion.virtual.sensor {
5420
5421  public final class VirtualSensor implements android.os.Parcelable {
5422    method public int describeContents();
5423    method public int getDeviceId();
5424    method @NonNull public String getName();
5425    method public int getType();
5426    method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void sendEvent(@NonNull android.companion.virtual.sensor.VirtualSensorEvent);
5427    method public void writeToParcel(@NonNull android.os.Parcel, int);
5428    field @NonNull public static final android.os.Parcelable.Creator<android.companion.virtual.sensor.VirtualSensor> CREATOR;
5429  }
5430
5431  public interface VirtualSensorCallback {
5432    method public void onConfigurationChanged(@NonNull android.companion.virtual.sensor.VirtualSensor, boolean, @NonNull java.time.Duration, @NonNull java.time.Duration);
5433  }
5434
5435  public final class VirtualSensorConfig implements android.os.Parcelable {
5436    method public int describeContents();
5437    method public int getDirectChannelTypesSupported();
5438    method public int getHighestDirectReportRateLevel();
5439    method public int getMaxDelay();
5440    method public float getMaximumRange();
5441    method public int getMinDelay();
5442    method @NonNull public String getName();
5443    method public float getPower();
5444    method public float getResolution();
5445    method public int getType();
5446    method @Nullable public String getVendor();
5447    method public void writeToParcel(@NonNull android.os.Parcel, int);
5448    field @NonNull public static final android.os.Parcelable.Creator<android.companion.virtual.sensor.VirtualSensorConfig> CREATOR;
5449  }
5450
5451  public static final class VirtualSensorConfig.Builder {
5452    ctor public VirtualSensorConfig.Builder(@IntRange(from=1) int, @NonNull String);
5453    method @NonNull public android.companion.virtual.sensor.VirtualSensorConfig build();
5454    method @NonNull public android.companion.virtual.sensor.VirtualSensorConfig.Builder setDirectChannelTypesSupported(int);
5455    method @NonNull public android.companion.virtual.sensor.VirtualSensorConfig.Builder setHighestDirectReportRateLevel(int);
5456    method @NonNull public android.companion.virtual.sensor.VirtualSensorConfig.Builder setMaxDelay(int);
5457    method @NonNull public android.companion.virtual.sensor.VirtualSensorConfig.Builder setMaximumRange(float);
5458    method @NonNull public android.companion.virtual.sensor.VirtualSensorConfig.Builder setMinDelay(int);
5459    method @NonNull public android.companion.virtual.sensor.VirtualSensorConfig.Builder setPower(float);
5460    method @NonNull public android.companion.virtual.sensor.VirtualSensorConfig.Builder setResolution(float);
5461    method @NonNull public android.companion.virtual.sensor.VirtualSensorConfig.Builder setVendor(@Nullable String);
5462  }
5463
5464  public interface VirtualSensorDirectChannelCallback {
5465    method public void onDirectChannelConfigured(@IntRange(from=1) int, @NonNull android.companion.virtual.sensor.VirtualSensor, int, @IntRange(from=1) int);
5466    method public void onDirectChannelCreated(@IntRange(from=1) int, @NonNull android.os.SharedMemory);
5467    method public void onDirectChannelDestroyed(@IntRange(from=1) int);
5468  }
5469
5470  public final class VirtualSensorDirectChannelWriter implements java.lang.AutoCloseable {
5471    ctor public VirtualSensorDirectChannelWriter();
5472    method public void addChannel(@IntRange(from=1) int, @NonNull android.os.SharedMemory) throws android.system.ErrnoException;
5473    method public void close();
5474    method public boolean configureChannel(@IntRange(from=1) int, @NonNull android.companion.virtual.sensor.VirtualSensor, int, @IntRange(from=1) int);
5475    method public void removeChannel(@IntRange(from=1) int);
5476    method public boolean writeSensorEvent(@NonNull android.companion.virtual.sensor.VirtualSensor, @NonNull android.companion.virtual.sensor.VirtualSensorEvent);
5477  }
5478
5479  public final class VirtualSensorEvent implements android.os.Parcelable {
5480    method public int describeContents();
5481    method public long getTimestampNanos();
5482    method @NonNull public float[] getValues();
5483    method public void writeToParcel(@NonNull android.os.Parcel, int);
5484    field @NonNull public static final android.os.Parcelable.Creator<android.companion.virtual.sensor.VirtualSensorEvent> CREATOR;
5485  }
5486
5487  public static final class VirtualSensorEvent.Builder {
5488    ctor public VirtualSensorEvent.Builder(@NonNull float[]);
5489    method @NonNull public android.companion.virtual.sensor.VirtualSensorEvent build();
5490    method @NonNull public android.companion.virtual.sensor.VirtualSensorEvent.Builder setTimestampNanos(long);
5491  }
5492
5493}
5494
5495package android.content {
5496
5497  public class ApexEnvironment {
5498    method @NonNull public static android.content.ApexEnvironment getApexEnvironment(@NonNull String);
5499    method @NonNull public java.io.File getCredentialProtectedDataDirForUser(@NonNull android.os.UserHandle);
5500    method @NonNull public java.io.File getDeviceProtectedDataDir();
5501    method @NonNull public java.io.File getDeviceProtectedDataDirForUser(@NonNull android.os.UserHandle);
5502  }
5503
5504  public final class AttributionSource implements android.os.Parcelable {
5505    method @NonNull @RequiresPermission(android.Manifest.permission.RENOUNCE_PERMISSIONS) public java.util.Set<java.lang.String> getRenouncedPermissions();
5506  }
5507
5508  public static final class AttributionSource.Builder {
5509    method @NonNull @RequiresPermission(android.Manifest.permission.RENOUNCE_PERMISSIONS) public android.content.AttributionSource.Builder setRenouncedPermissions(@Nullable java.util.Set<java.lang.String>);
5510  }
5511
5512  public abstract class BroadcastReceiver {
5513    method @NonNull public final android.os.UserHandle getSendingUser();
5514  }
5515
5516  public class ClipboardManager extends android.text.ClipboardManager {
5517    method @RequiresPermission(android.Manifest.permission.MANAGE_CLIPBOARD_ACCESS_NOTIFICATION) public boolean areClipboardAccessNotificationsEnabled();
5518    method @RequiresPermission(android.Manifest.permission.MANAGE_CLIPBOARD_ACCESS_NOTIFICATION) public void setClipboardAccessNotificationsEnabled(boolean);
5519    method @RequiresPermission(android.Manifest.permission.SET_CLIP_SOURCE) public void setPrimaryClipAsPackage(@NonNull android.content.ClipData, @NonNull String);
5520  }
5521
5522  public abstract class ContentProvider implements android.content.ComponentCallbacks2 {
5523    method public int checkUriPermission(@NonNull android.net.Uri, int, int);
5524  }
5525
5526  public class ContentProviderClient implements java.lang.AutoCloseable {
5527    method @RequiresPermission(android.Manifest.permission.REMOVE_TASKS) public void setDetectNotResponding(long);
5528  }
5529
5530  public abstract class ContentResolver {
5531    method public int checkUriPermission(@NonNull android.net.Uri, int, int);
5532    method @NonNull public static android.net.Uri decodeFromFile(@NonNull java.io.File);
5533    method @NonNull public static java.io.File encodeToFile(@NonNull android.net.Uri);
5534    method @Nullable @RequiresPermission("android.permission.CACHE_CONTENT") public android.os.Bundle getCache(@NonNull android.net.Uri);
5535    method @RequiresPermission("android.permission.CACHE_CONTENT") public void putCache(@NonNull android.net.Uri, @Nullable android.os.Bundle);
5536  }
5537
5538  public abstract class Context {
5539    method @NonNull public android.content.Context createContextAsUser(@NonNull android.os.UserHandle, int);
5540    method public abstract android.content.Context createCredentialProtectedStorageContext();
5541    method @NonNull public android.content.Context createPackageContextAsUser(@NonNull String, int, @NonNull android.os.UserHandle) throws android.content.pm.PackageManager.NameNotFoundException;
5542    method @Nullable public abstract java.io.File getPreloadsFileCache();
5543    method public abstract boolean isCredentialProtectedStorage();
5544    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);
5545    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, int);
5546    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);
5547    method public void sendBroadcastMultiplePermissions(@NonNull android.content.Intent, @NonNull String[], @Nullable android.app.BroadcastOptions);
5548    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public void startActivityAsUser(@NonNull @RequiresPermission android.content.Intent, @Nullable android.os.Bundle, @NonNull android.os.UserHandle);
5549    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public void startActivityAsUser(@NonNull @RequiresPermission android.content.Intent, @NonNull android.os.UserHandle);
5550    field public static final String AMBIENT_CONTEXT_SERVICE = "ambient_context";
5551    field public static final String APP_HIBERNATION_SERVICE = "app_hibernation";
5552    field public static final String APP_INTEGRITY_SERVICE = "app_integrity";
5553    field public static final String APP_PREDICTION_SERVICE = "app_prediction";
5554    field public static final String AUDIO_DEVICE_VOLUME_SERVICE = "audio_device_volume";
5555    field public static final String BACKUP_SERVICE = "backup";
5556    field public static final String BATTERY_STATS_SERVICE = "batterystats";
5557    field public static final int BIND_ALLOW_BACKGROUND_ACTIVITY_STARTS = 1048576; // 0x100000
5558    field @Deprecated public static final int BIND_ALLOW_FOREGROUND_SERVICE_STARTS_FROM_BACKGROUND = 262144; // 0x40000
5559    field public static final String CLOUDSEARCH_SERVICE = "cloudsearch";
5560    field public static final String CONTENT_SUGGESTIONS_SERVICE = "content_suggestions";
5561    field public static final String CONTEXTHUB_SERVICE = "contexthub";
5562    field public static final String CONTEXTUAL_SEARCH_SERVICE = "contextual_search";
5563    field public static final String ECM_ENHANCED_CONFIRMATION_SERVICE = "ecm_enhanced_confirmation";
5564    field public static final String ETHERNET_SERVICE = "ethernet";
5565    field public static final String EUICC_CARD_SERVICE = "euicc_card";
5566    field public static final String FONT_SERVICE = "font";
5567    field public static final String HDMI_CONTROL_SERVICE = "hdmi_control";
5568    field public static final String MEDIA_TRANSCODING_SERVICE = "media_transcoding";
5569    field public static final String MUSIC_RECOGNITION_SERVICE = "music_recognition";
5570    field public static final String NEARBY_SERVICE = "nearby";
5571    field public static final String NETD_SERVICE = "netd";
5572    field @Deprecated public static final String NETWORK_SCORE_SERVICE = "network_score";
5573    field public static final String OEM_LOCK_SERVICE = "oem_lock";
5574    field public static final String ON_DEVICE_INTELLIGENCE_SERVICE = "on_device_intelligence";
5575    field public static final String PERMISSION_CONTROLLER_SERVICE = "permission_controller";
5576    field public static final String PERMISSION_SERVICE = "permission";
5577    field public static final String REBOOT_READINESS_SERVICE = "reboot_readiness";
5578    field public static final String ROLLBACK_SERVICE = "rollback";
5579    field public static final String SAFETY_CENTER_SERVICE = "safety_center";
5580    field public static final String SEARCH_UI_SERVICE = "search_ui";
5581    field public static final String SECURE_ELEMENT_SERVICE = "secure_element";
5582    field public static final String SHARED_CONNECTIVITY_SERVICE = "shared_connectivity";
5583    field public static final String SMARTSPACE_SERVICE = "smartspace";
5584    field public static final String STATS_MANAGER = "stats";
5585    field public static final String SYSTEM_CONFIG_SERVICE = "system_config";
5586    field public static final String SYSTEM_UPDATE_SERVICE = "system_update";
5587    field public static final String TETHERING_SERVICE = "tethering";
5588    field public static final String TIME_MANAGER_SERVICE = "time_manager";
5589    field public static final String TRANSLATION_MANAGER_SERVICE = "translation";
5590    field public static final String UI_TRANSLATION_SERVICE = "ui_translation";
5591    field public static final String UWB_SERVICE = "uwb";
5592    field public static final String VIRTUALIZATION_SERVICE = "virtualization";
5593    field public static final String VR_SERVICE = "vrmanager";
5594    field public static final String WALLPAPER_EFFECTS_GENERATION_SERVICE = "wallpaper_effects_generation";
5595    field public static final String WEARABLE_SENSING_SERVICE = "wearable_sensing";
5596    field public static final String WIFI_NL80211_SERVICE = "wifinl80211";
5597    field @Deprecated public static final String WIFI_RTT_SERVICE = "rttmanager";
5598    field public static final String WIFI_SCANNING_SERVICE = "wifiscanner";
5599  }
5600
5601  public final class ContextParams {
5602    method @NonNull @RequiresPermission(android.Manifest.permission.RENOUNCE_PERMISSIONS) public java.util.Set<java.lang.String> getRenouncedPermissions();
5603  }
5604
5605  public static final class ContextParams.Builder {
5606    method @NonNull @RequiresPermission(android.Manifest.permission.RENOUNCE_PERMISSIONS) public android.content.ContextParams.Builder setRenouncedPermissions(@Nullable java.util.Set<java.lang.String>);
5607  }
5608
5609  public class ContextWrapper extends android.content.Context {
5610    method public android.content.Context createCredentialProtectedStorageContext();
5611    method @Nullable public java.io.File getPreloadsFileCache();
5612    method public boolean isCredentialProtectedStorage();
5613    method public void sendBroadcastAsUser(android.content.Intent, android.os.UserHandle, @Nullable String, @Nullable android.os.Bundle);
5614  }
5615
5616  public class Intent implements java.lang.Cloneable android.os.Parcelable {
5617    field public static final String ACTION_ACTIVITY_RECOGNIZER = "android.intent.action.ACTIVITY_RECOGNIZER";
5618    field public static final String ACTION_BATTERY_LEVEL_CHANGED = "android.intent.action.BATTERY_LEVEL_CHANGED";
5619    field public static final String ACTION_CALL_EMERGENCY = "android.intent.action.CALL_EMERGENCY";
5620    field public static final String ACTION_CALL_PRIVILEGED = "android.intent.action.CALL_PRIVILEGED";
5621    field public static final String ACTION_DEVICE_CUSTOMIZATION_READY = "android.intent.action.DEVICE_CUSTOMIZATION_READY";
5622    field public static final String ACTION_DIAL_EMERGENCY = "android.intent.action.DIAL_EMERGENCY";
5623    field public static final String ACTION_DOMAINS_NEED_VERIFICATION = "android.intent.action.DOMAINS_NEED_VERIFICATION";
5624    field public static final String ACTION_FACTORY_RESET = "android.intent.action.FACTORY_RESET";
5625    field public static final String ACTION_GLOBAL_BUTTON = "android.intent.action.GLOBAL_BUTTON";
5626    field public static final String ACTION_INCIDENT_REPORT_READY = "android.intent.action.INCIDENT_REPORT_READY";
5627    field public static final String ACTION_INSTALL_INSTANT_APP_PACKAGE = "android.intent.action.INSTALL_INSTANT_APP_PACKAGE";
5628    field public static final String ACTION_INSTANT_APP_RESOLVER_SETTINGS = "android.intent.action.INSTANT_APP_RESOLVER_SETTINGS";
5629    field @Deprecated public static final String ACTION_INTENT_FILTER_NEEDS_VERIFICATION = "android.intent.action.INTENT_FILTER_NEEDS_VERIFICATION";
5630    field public static final String ACTION_LOAD_DATA = "android.intent.action.LOAD_DATA";
5631    field public static final String ACTION_MAIN_USER_LOCKSCREEN_KNOWLEDGE_FACTOR_CHANGED = "android.intent.action.MAIN_USER_LOCKSCREEN_KNOWLEDGE_FACTOR_CHANGED";
5632    field @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public static final String ACTION_MANAGE_APP_PERMISSION = "android.intent.action.MANAGE_APP_PERMISSION";
5633    field @Deprecated public static final String ACTION_MANAGE_APP_PERMISSIONS = "android.intent.action.MANAGE_APP_PERMISSIONS";
5634    field @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public static final String ACTION_MANAGE_DEFAULT_APP = "android.intent.action.MANAGE_DEFAULT_APP";
5635    field public static final String ACTION_MANAGE_PERMISSIONS = "android.intent.action.MANAGE_PERMISSIONS";
5636    field public static final String ACTION_MANAGE_PERMISSION_APPS = "android.intent.action.MANAGE_PERMISSION_APPS";
5637    field @RequiresPermission(android.Manifest.permission.START_VIEW_PERMISSION_USAGE) public static final String ACTION_MANAGE_PERMISSION_USAGE = "android.intent.action.MANAGE_PERMISSION_USAGE";
5638    field @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public static final String ACTION_MANAGE_SPECIAL_APP_ACCESSES = "android.intent.action.MANAGE_SPECIAL_APP_ACCESSES";
5639    field @RequiresPermission(android.Manifest.permission.MASTER_CLEAR) public static final String ACTION_MASTER_CLEAR_NOTIFICATION = "android.intent.action.MASTER_CLEAR_NOTIFICATION";
5640    field public static final String ACTION_PACKAGE_NEEDS_INTEGRITY_VERIFICATION = "android.intent.action.PACKAGE_NEEDS_INTEGRITY_VERIFICATION";
5641    field public static final String ACTION_PACKAGE_UNSUSPENDED_MANUALLY = "android.intent.action.PACKAGE_UNSUSPENDED_MANUALLY";
5642    field public static final String ACTION_PENDING_INCIDENT_REPORTS_CHANGED = "android.intent.action.PENDING_INCIDENT_REPORTS_CHANGED";
5643    field public static final String ACTION_PRE_BOOT_COMPLETED = "android.intent.action.PRE_BOOT_COMPLETED";
5644    field public static final String ACTION_QUERY_PACKAGE_RESTART = "android.intent.action.QUERY_PACKAGE_RESTART";
5645    field public static final String ACTION_RESOLVE_INSTANT_APP_PACKAGE = "android.intent.action.RESOLVE_INSTANT_APP_PACKAGE";
5646    field @RequiresPermission(android.Manifest.permission.REVIEW_ACCESSIBILITY_SERVICES) public static final String ACTION_REVIEW_ACCESSIBILITY_SERVICES = "android.intent.action.REVIEW_ACCESSIBILITY_SERVICES";
5647    field @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public static final String ACTION_REVIEW_APP_DATA_SHARING_UPDATES = "android.intent.action.REVIEW_APP_DATA_SHARING_UPDATES";
5648    field @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public static final String ACTION_REVIEW_ONGOING_PERMISSION_USAGE = "android.intent.action.REVIEW_ONGOING_PERMISSION_USAGE";
5649    field public static final String ACTION_REVIEW_PERMISSIONS = "android.intent.action.REVIEW_PERMISSIONS";
5650    field @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public static final String ACTION_REVIEW_PERMISSION_HISTORY = "android.intent.action.REVIEW_PERMISSION_HISTORY";
5651    field @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public static final String ACTION_REVIEW_PERMISSION_USAGE = "android.intent.action.REVIEW_PERMISSION_USAGE";
5652    field public static final String ACTION_ROLLBACK_COMMITTED = "android.intent.action.ROLLBACK_COMMITTED";
5653    field public static final String ACTION_SHOW_SUSPENDED_APP_DETAILS = "android.intent.action.SHOW_SUSPENDED_APP_DETAILS";
5654    field @Deprecated public static final String ACTION_SIM_STATE_CHANGED = "android.intent.action.SIM_STATE_CHANGED";
5655    field public static final String ACTION_SPLIT_CONFIGURATION_CHANGED = "android.intent.action.SPLIT_CONFIGURATION_CHANGED";
5656    field public static final String ACTION_UPGRADE_SETUP = "android.intent.action.UPGRADE_SETUP";
5657    field public static final String ACTION_USER_ADDED = "android.intent.action.USER_ADDED";
5658    field public static final String ACTION_USER_REMOVED = "android.intent.action.USER_REMOVED";
5659    field public static final String ACTION_USER_SWITCHED = "android.intent.action.USER_SWITCHED";
5660    field @RequiresPermission(android.Manifest.permission.START_VIEW_APP_FEATURES) public static final String ACTION_VIEW_APP_FEATURES = "android.intent.action.VIEW_APP_FEATURES";
5661    field @RequiresPermission(android.Manifest.permission.MANAGE_SENSOR_PRIVACY) public static final String ACTION_VIEW_SAFETY_CENTER_QS = "android.intent.action.VIEW_SAFETY_CENTER_QS";
5662    field public static final String ACTION_VOICE_ASSIST = "android.intent.action.VOICE_ASSIST";
5663    field public static final String CATEGORY_LEANBACK_SETTINGS = "android.intent.category.LEANBACK_SETTINGS";
5664    field public static final String EXTRA_CALLING_PACKAGE = "android.intent.extra.CALLING_PACKAGE";
5665    field public static final String EXTRA_FORCE_FACTORY_RESET = "android.intent.extra.FORCE_FACTORY_RESET";
5666    field public static final String EXTRA_INSTALL_RESULT = "android.intent.extra.INSTALL_RESULT";
5667    field public static final String EXTRA_INSTANT_APP_ACTION = "android.intent.extra.INSTANT_APP_ACTION";
5668    field public static final String EXTRA_INSTANT_APP_BUNDLES = "android.intent.extra.INSTANT_APP_BUNDLES";
5669    field public static final String EXTRA_INSTANT_APP_EXTRAS = "android.intent.extra.INSTANT_APP_EXTRAS";
5670    field public static final String EXTRA_INSTANT_APP_FAILURE = "android.intent.extra.INSTANT_APP_FAILURE";
5671    field public static final String EXTRA_INSTANT_APP_HOSTNAME = "android.intent.extra.INSTANT_APP_HOSTNAME";
5672    field public static final String EXTRA_INSTANT_APP_SUCCESS = "android.intent.extra.INSTANT_APP_SUCCESS";
5673    field public static final String EXTRA_INSTANT_APP_TOKEN = "android.intent.extra.INSTANT_APP_TOKEN";
5674    field public static final String EXTRA_LONG_VERSION_CODE = "android.intent.extra.LONG_VERSION_CODE";
5675    field public static final String EXTRA_ORIGINATING_UID = "android.intent.extra.ORIGINATING_UID";
5676    field public static final String EXTRA_PERMISSION_NAME = "android.intent.extra.PERMISSION_NAME";
5677    field public static final String EXTRA_REASON = "android.intent.extra.REASON";
5678    field public static final String EXTRA_REMOTE_CALLBACK = "android.intent.extra.REMOTE_CALLBACK";
5679    field public static final String EXTRA_RESULT_NEEDED = "android.intent.extra.RESULT_NEEDED";
5680    field public static final String EXTRA_ROLE_NAME = "android.intent.extra.ROLE_NAME";
5681    field public static final String EXTRA_SHOWING_ATTRIBUTION = "android.intent.extra.SHOWING_ATTRIBUTION";
5682    field public static final String EXTRA_UNINSTALL_ALL_USERS = "android.intent.extra.UNINSTALL_ALL_USERS";
5683    field public static final String EXTRA_UNKNOWN_INSTANT_APP = "android.intent.extra.UNKNOWN_INSTANT_APP";
5684    field public static final String EXTRA_USER_HANDLE = "android.intent.extra.user_handle";
5685    field public static final String EXTRA_VERIFICATION_BUNDLE = "android.intent.extra.VERIFICATION_BUNDLE";
5686    field public static final int FLAG_RECEIVER_INCLUDE_BACKGROUND = 16777216; // 0x1000000
5687    field public static final int FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT = 67108864; // 0x4000000
5688    field public static final String METADATA_SETUP_VERSION = "android.SETUP_VERSION";
5689  }
5690
5691  public class IntentFilter implements android.os.Parcelable {
5692    method public final int getOrder();
5693    method public final void setOrder(int);
5694  }
5695
5696}
5697
5698package android.content.integrity {
5699
5700  public class AppIntegrityManager {
5701    method @NonNull public String getCurrentRuleSetProvider();
5702    method @NonNull public String getCurrentRuleSetVersion();
5703    method public void updateRuleSet(@NonNull android.content.integrity.RuleSet, @NonNull android.content.IntentSender);
5704    field public static final String EXTRA_STATUS = "android.content.integrity.extra.STATUS";
5705    field public static final int STATUS_FAILURE = 1; // 0x1
5706    field public static final int STATUS_SUCCESS = 0; // 0x0
5707  }
5708
5709  public abstract class IntegrityFormula {
5710    method @NonNull public static android.content.integrity.IntegrityFormula all(@NonNull android.content.integrity.IntegrityFormula...);
5711    method @NonNull public static android.content.integrity.IntegrityFormula any(@NonNull android.content.integrity.IntegrityFormula...);
5712    method @NonNull public static android.content.integrity.IntegrityFormula not(@NonNull android.content.integrity.IntegrityFormula);
5713  }
5714
5715  public static final class IntegrityFormula.Application {
5716    method @NonNull public static android.content.integrity.IntegrityFormula certificateLineageContains(@NonNull String);
5717    method @NonNull public static android.content.integrity.IntegrityFormula certificatesContain(@NonNull String);
5718    method @NonNull public static android.content.integrity.IntegrityFormula isPreInstalled();
5719    method @NonNull public static android.content.integrity.IntegrityFormula packageNameEquals(@NonNull String);
5720    method @NonNull public static android.content.integrity.IntegrityFormula versionCodeEquals(@NonNull long);
5721    method @NonNull public static android.content.integrity.IntegrityFormula versionCodeGreaterThan(@NonNull long);
5722    method @NonNull public static android.content.integrity.IntegrityFormula versionCodeGreaterThanOrEqualTo(@NonNull long);
5723  }
5724
5725  public static final class IntegrityFormula.Installer {
5726    method @NonNull public static android.content.integrity.IntegrityFormula certificatesContain(@NonNull String);
5727    method @NonNull public static android.content.integrity.IntegrityFormula notAllowedByManifest();
5728    method @NonNull public static android.content.integrity.IntegrityFormula packageNameEquals(@NonNull String);
5729  }
5730
5731  public static final class IntegrityFormula.SourceStamp {
5732    method @NonNull public static android.content.integrity.IntegrityFormula notTrusted();
5733    method @NonNull public static android.content.integrity.IntegrityFormula stampCertificateHashEquals(@NonNull String);
5734  }
5735
5736  public final class Rule implements android.os.Parcelable {
5737    ctor public Rule(@NonNull android.content.integrity.IntegrityFormula, int);
5738    method public int describeContents();
5739    method public int getEffect();
5740    method @NonNull public android.content.integrity.IntegrityFormula getFormula();
5741    method public void writeToParcel(@NonNull android.os.Parcel, int);
5742    field @NonNull public static final android.os.Parcelable.Creator<android.content.integrity.Rule> CREATOR;
5743    field public static final int DENY = 0; // 0x0
5744    field public static final int FORCE_ALLOW = 1; // 0x1
5745  }
5746
5747  public class RuleSet {
5748    method @NonNull public java.util.List<android.content.integrity.Rule> getRules();
5749    method @NonNull public String getVersion();
5750  }
5751
5752  public static class RuleSet.Builder {
5753    ctor public RuleSet.Builder();
5754    method @NonNull public android.content.integrity.RuleSet.Builder addRules(@NonNull java.util.List<android.content.integrity.Rule>);
5755    method @NonNull public android.content.integrity.RuleSet build();
5756    method @NonNull public android.content.integrity.RuleSet.Builder setVersion(@NonNull String);
5757  }
5758
5759}
5760
5761package android.content.om {
5762
5763  public final class OverlayInfo implements android.os.Parcelable {
5764    method @Nullable public String getCategory();
5765    method @NonNull public String getPackageName();
5766    method public int getUserId();
5767    method public boolean isEnabled();
5768  }
5769
5770  public class OverlayManager {
5771    method @Nullable public android.content.om.OverlayInfo getOverlayInfo(@NonNull String, @NonNull android.os.UserHandle);
5772    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);
5773    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;
5774    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;
5775  }
5776
5777}
5778
5779package android.content.pm {
5780
5781  public class ApplicationInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
5782    method @RequiresPermission(android.Manifest.permission.DELETE_PACKAGES) public boolean hasFragileUserData();
5783    method public boolean isEncryptionAware();
5784    method public boolean isInstantApp();
5785    method public boolean isOem();
5786    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public boolean isPrivilegedApp();
5787    method public boolean isProduct();
5788    method public boolean isVendor();
5789    field public String credentialProtectedDataDir;
5790    field public int targetSandboxVersion;
5791  }
5792
5793  public class CrossProfileApps {
5794    method @RequiresPermission(anyOf={android.Manifest.permission.INTERACT_ACROSS_PROFILES, android.Manifest.permission.START_CROSS_PROFILE_ACTIVITIES}) public void startActivity(@NonNull android.content.ComponentName, @NonNull android.os.UserHandle);
5795    method @RequiresPermission(anyOf={android.Manifest.permission.INTERACT_ACROSS_PROFILES, android.Manifest.permission.START_CROSS_PROFILE_ACTIVITIES}) public void startActivity(@NonNull android.content.ComponentName, @NonNull android.os.UserHandle, @Nullable android.app.Activity, @Nullable android.os.Bundle);
5796  }
5797
5798  public class DataLoaderParams {
5799    method @NonNull public static final android.content.pm.DataLoaderParams forIncremental(@NonNull android.content.ComponentName, @NonNull String);
5800    method @NonNull public static final android.content.pm.DataLoaderParams forStreaming(@NonNull android.content.ComponentName, @NonNull String);
5801    method @NonNull public final String getArguments();
5802    method @NonNull public final android.content.ComponentName getComponentName();
5803    method @NonNull public final int getType();
5804  }
5805
5806  public final class InstallationFile {
5807    method public long getLengthBytes();
5808    method public int getLocation();
5809    method @Nullable public byte[] getMetadata();
5810    method @NonNull public String getName();
5811    method @Nullable public byte[] getSignature();
5812  }
5813
5814  public final class InstantAppInfo implements android.os.Parcelable {
5815    ctor public InstantAppInfo(android.content.pm.ApplicationInfo, String[], String[]);
5816    ctor public InstantAppInfo(String, CharSequence, String[], String[]);
5817    method public int describeContents();
5818    method @Nullable public android.content.pm.ApplicationInfo getApplicationInfo();
5819    method @Nullable public String[] getGrantedPermissions();
5820    method @NonNull public String getPackageName();
5821    method @Nullable public String[] getRequestedPermissions();
5822    method @NonNull public android.graphics.drawable.Drawable loadIcon(@NonNull android.content.pm.PackageManager);
5823    method @NonNull public CharSequence loadLabel(@NonNull android.content.pm.PackageManager);
5824    method public void writeToParcel(android.os.Parcel, int);
5825    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppInfo> CREATOR;
5826  }
5827
5828  public final class InstantAppIntentFilter implements android.os.Parcelable {
5829    ctor public InstantAppIntentFilter(@Nullable String, @NonNull java.util.List<android.content.IntentFilter>);
5830    method public int describeContents();
5831    method public java.util.List<android.content.IntentFilter> getFilters();
5832    method public String getSplitName();
5833    method public void writeToParcel(android.os.Parcel, int);
5834    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppIntentFilter> CREATOR;
5835  }
5836
5837  public final class InstantAppRequestInfo implements android.os.Parcelable {
5838    ctor public InstantAppRequestInfo(@NonNull android.content.Intent, @Nullable int[], @NonNull android.os.UserHandle, boolean, @NonNull String);
5839    method public int describeContents();
5840    method @Nullable public int[] getHostDigestPrefix();
5841    method @NonNull public android.content.Intent getIntent();
5842    method @NonNull public String getToken();
5843    method @NonNull public android.os.UserHandle getUserHandle();
5844    method public boolean isRequesterInstantApp();
5845    method public void writeToParcel(@NonNull android.os.Parcel, int);
5846    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppRequestInfo> CREATOR;
5847  }
5848
5849  public final class InstantAppResolveInfo implements android.os.Parcelable {
5850    ctor public InstantAppResolveInfo(@NonNull android.content.pm.InstantAppResolveInfo.InstantAppDigest, @Nullable String, @Nullable java.util.List<android.content.pm.InstantAppIntentFilter>, int);
5851    ctor public InstantAppResolveInfo(@NonNull android.content.pm.InstantAppResolveInfo.InstantAppDigest, @Nullable String, @Nullable java.util.List<android.content.pm.InstantAppIntentFilter>, long, @Nullable android.os.Bundle);
5852    ctor public InstantAppResolveInfo(@Nullable android.os.Bundle);
5853    ctor public InstantAppResolveInfo(@NonNull String, @Nullable String, @Nullable java.util.List<android.content.pm.InstantAppIntentFilter>);
5854    method public int describeContents();
5855    method public byte[] getDigestBytes();
5856    method public int getDigestPrefix();
5857    method @Nullable public android.os.Bundle getExtras();
5858    method public java.util.List<android.content.pm.InstantAppIntentFilter> getIntentFilters();
5859    method public long getLongVersionCode();
5860    method public String getPackageName();
5861    method @Deprecated public int getVersionCode();
5862    method public boolean shouldLetInstallerDecide();
5863    method public void writeToParcel(android.os.Parcel, int);
5864    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppResolveInfo> CREATOR;
5865  }
5866
5867  public static final class InstantAppResolveInfo.InstantAppDigest implements android.os.Parcelable {
5868    ctor public InstantAppResolveInfo.InstantAppDigest(@NonNull String);
5869    method public int describeContents();
5870    method public byte[][] getDigestBytes();
5871    method public int[] getDigestPrefix();
5872    method public void writeToParcel(android.os.Parcel, int);
5873    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppResolveInfo.InstantAppDigest> CREATOR;
5874    field public static final android.content.pm.InstantAppResolveInfo.InstantAppDigest UNDEFINED;
5875  }
5876
5877  public final class IntentFilterVerificationInfo implements android.os.Parcelable {
5878    method public int describeContents();
5879    method public java.util.Set<java.lang.String> getDomains();
5880    method public String getPackageName();
5881    method public int getStatus();
5882    method public void writeToParcel(android.os.Parcel, int);
5883    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.IntentFilterVerificationInfo> CREATOR;
5884  }
5885
5886  public class LauncherApps {
5887    method @Nullable public android.content.pm.LauncherApps.AppUsageLimit getAppUsageLimit(@NonNull String, @NonNull android.os.UserHandle);
5888  }
5889
5890  public static final class LauncherApps.AppUsageLimit implements android.os.Parcelable {
5891    method public int describeContents();
5892    method public long getTotalUsageLimit();
5893    method public long getUsageRemaining();
5894    method public void writeToParcel(android.os.Parcel, int);
5895    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.LauncherApps.AppUsageLimit> CREATOR;
5896  }
5897
5898  public static class LauncherApps.ShortcutQuery {
5899    field public static final int FLAG_GET_PERSISTED_DATA = 4096; // 0x1000
5900    field @RequiresPermission(android.Manifest.permission.ACCESS_SHORTCUTS) public static final int FLAG_GET_PERSONS_DATA = 2048; // 0x800
5901  }
5902
5903  public class PackageInstaller {
5904    method @NonNull public android.content.pm.PackageInstaller.InstallInfo readInstallInfo(@NonNull android.os.ParcelFileDescriptor, @Nullable String, int) throws android.content.pm.PackageInstaller.PackageParsingException;
5905    method @NonNull public android.content.pm.PackageInstaller.InstallInfo readInstallInfo(@NonNull java.io.File, int) throws android.content.pm.PackageInstaller.PackageParsingException;
5906    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void setPermissionsResult(int, boolean);
5907    field public static final String ACTION_CONFIRM_INSTALL = "android.content.pm.action.CONFIRM_INSTALL";
5908    field public static final String ACTION_CONFIRM_PRE_APPROVAL = "android.content.pm.action.CONFIRM_PRE_APPROVAL";
5909    field public static final int DATA_LOADER_TYPE_INCREMENTAL = 2; // 0x2
5910    field public static final int DATA_LOADER_TYPE_NONE = 0; // 0x0
5911    field public static final int DATA_LOADER_TYPE_STREAMING = 1; // 0x1
5912    field public static final String EXTRA_CALLBACK = "android.content.pm.extra.CALLBACK";
5913    field public static final String EXTRA_DATA_LOADER_TYPE = "android.content.pm.extra.DATA_LOADER_TYPE";
5914    field public static final String EXTRA_DELETE_FLAGS = "android.content.pm.extra.DELETE_FLAGS";
5915    field public static final String EXTRA_LEGACY_STATUS = "android.content.pm.extra.LEGACY_STATUS";
5916    field @Deprecated public static final String EXTRA_RESOLVED_BASE_PATH = "android.content.pm.extra.RESOLVED_BASE_PATH";
5917    field public static final int LOCATION_DATA_APP = 0; // 0x0
5918    field public static final int LOCATION_MEDIA_DATA = 2; // 0x2
5919    field public static final int LOCATION_MEDIA_OBB = 1; // 0x1
5920    field public static final int REASON_CONFIRM_PACKAGE_CHANGE = 0; // 0x0
5921    field public static final int REASON_OWNERSHIP_CHANGED = 1; // 0x1
5922    field public static final int REASON_REMIND_OWNERSHIP = 2; // 0x2
5923  }
5924
5925  public static class PackageInstaller.InstallInfo {
5926    method public long calculateInstalledSize(@NonNull android.content.pm.PackageInstaller.SessionParams) throws java.io.IOException;
5927    method public long calculateInstalledSize(@NonNull android.content.pm.PackageInstaller.SessionParams, @NonNull android.os.ParcelFileDescriptor) throws java.io.IOException;
5928    method public int getInstallLocation();
5929    method @NonNull public String getPackageName();
5930  }
5931
5932  public static class PackageInstaller.PackageParsingException extends java.lang.Exception {
5933    method public int getErrorCode();
5934  }
5935
5936  public static class PackageInstaller.Session implements java.io.Closeable {
5937    method @RequiresPermission("com.android.permission.USE_INSTALLER_V2") public void addFile(int, @NonNull String, long, @NonNull byte[], @Nullable byte[]);
5938    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void commitTransferred(@NonNull android.content.IntentSender);
5939    method @Nullable @RequiresPermission("com.android.permission.USE_INSTALLER_V2") public android.content.pm.DataLoaderParams getDataLoaderParams();
5940    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_INSTANT_APPS) public java.util.Set<java.lang.String> getPreVerifiedDomains();
5941    method @RequiresPermission("com.android.permission.USE_INSTALLER_V2") public void removeFile(int, @NonNull String);
5942    method @RequiresPermission(android.Manifest.permission.ACCESS_INSTANT_APPS) public void setPreVerifiedDomains(@NonNull java.util.Set<java.lang.String>);
5943  }
5944
5945  public static class PackageInstaller.SessionInfo implements android.os.Parcelable {
5946    method public boolean getAllocateAggressive();
5947    method @Deprecated public boolean getAllowDowngrade();
5948    method public int getAutoRevokePermissionsMode();
5949    method public boolean getEnableRollback();
5950    method @Nullable public String[] getGrantedRuntimePermissions();
5951    method public boolean getInstallAsFullApp(boolean);
5952    method public boolean getInstallAsInstantApp(boolean);
5953    method public boolean getInstallAsVirtualPreload();
5954    method public int getPendingUserActionReason();
5955    method public boolean getRequestDowngrade();
5956    method @Nullable @RequiresPermission(android.Manifest.permission.READ_INSTALLED_SESSION_PATHS) public String getResolvedBaseApkPath();
5957    method public int getRollbackDataPolicy();
5958    method @NonNull public java.util.Set<java.lang.String> getWhitelistedRestrictedPermissions();
5959  }
5960
5961  public static class PackageInstaller.SessionParams implements android.os.Parcelable {
5962    method @RequiresPermission(android.Manifest.permission.ALLOCATE_AGGRESSIVE) public void setAllocateAggressive(boolean);
5963    method @Deprecated public void setAllowDowngrade(boolean);
5964    method @RequiresPermission(allOf={android.Manifest.permission.INSTALL_PACKAGES, "com.android.permission.USE_INSTALLER_V2"}) public void setDataLoaderParams(@NonNull android.content.pm.DataLoaderParams);
5965    method public void setEnableRollback(boolean);
5966    method public void setEnableRollback(boolean, int);
5967    method @Deprecated @RequiresPermission(android.Manifest.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS) public void setGrantedRuntimePermissions(String[]);
5968    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void setInstallAsApex();
5969    method public void setInstallAsInstantApp(boolean);
5970    method public void setInstallAsVirtualPreload();
5971    method public void setRequestDowngrade(boolean);
5972    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLLBACKS) public void setRollbackImpactLevel(int);
5973    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLLBACKS) public void setRollbackLifetimeMillis(long);
5974    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void setStaged();
5975  }
5976
5977  public class PackageItemInfo {
5978    method public static void forceSafeLabels();
5979    method @Deprecated @NonNull public CharSequence loadSafeLabel(@NonNull android.content.pm.PackageManager);
5980    method @NonNull public CharSequence loadSafeLabel(@NonNull android.content.pm.PackageManager, @FloatRange(from=0) float, int);
5981  }
5982
5983  public abstract class PackageManager {
5984    method @RequiresPermission("android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS") public abstract void addOnPermissionsChangeListener(@NonNull android.content.pm.PackageManager.OnPermissionsChangedListener);
5985    method public abstract boolean arePermissionsIndividuallyControlled();
5986    method @NonNull public boolean canUserUninstall(@NonNull String, @NonNull android.os.UserHandle);
5987    method @NonNull public abstract java.util.List<android.content.IntentFilter> getAllIntentFilters(@NonNull String);
5988    method @NonNull @RequiresPermission(android.Manifest.permission.GET_APP_METADATA) public android.os.PersistableBundle getAppMetadata(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
5989    method @RequiresPermission(android.Manifest.permission.GET_APP_METADATA) public int getAppMetadataSource(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
5990    method @NonNull @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public android.content.pm.ApplicationInfo getApplicationInfoAsUser(@NonNull String, @NonNull android.content.pm.PackageManager.ApplicationInfoFlags, @NonNull android.os.UserHandle) throws android.content.pm.PackageManager.NameNotFoundException;
5991    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;
5992    method @NonNull public android.content.pm.dex.ArtManager getArtManager();
5993    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_SHARED_LIBRARIES) public java.util.List<android.content.pm.SharedLibraryInfo> getDeclaredSharedLibraries(@NonNull String, @NonNull android.content.pm.PackageManager.PackageInfoFlags);
5994    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_SHARED_LIBRARIES) public java.util.List<android.content.pm.SharedLibraryInfo> getDeclaredSharedLibraries(@NonNull String, int);
5995    method @Nullable @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public abstract String getDefaultBrowserPackageNameAsUser(int);
5996    method @Nullable @RequiresPermission(android.Manifest.permission.SET_HARMFUL_APP_WARNINGS) public CharSequence getHarmfulAppWarning(@NonNull String);
5997    method @Nullable public String getIncidentReportApproverPackageName();
5998    method @NonNull @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public java.util.List<android.content.pm.PackageInfo> getInstalledPackagesAsUser(@NonNull android.content.pm.PackageManager.PackageInfoFlags, int);
5999    method @NonNull @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public abstract java.util.List<android.content.pm.PackageInfo> getInstalledPackagesAsUser(int, int);
6000    method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_INSTANT_APPS) public abstract android.graphics.drawable.Drawable getInstantAppIcon(String);
6001    method @Nullable public abstract android.content.ComponentName getInstantAppInstallerComponent();
6002    method @Nullable public abstract android.content.ComponentName getInstantAppResolverSettingsComponent();
6003    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_INSTANT_APPS) public abstract java.util.List<android.content.pm.InstantAppInfo> getInstantApps();
6004    method @Deprecated @NonNull public abstract java.util.List<android.content.pm.IntentFilterVerificationInfo> getIntentFilterVerifications(@NonNull String);
6005    method @Deprecated @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public abstract int getIntentVerificationStatusAsUser(@NonNull String, int);
6006    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public int getPackageUidAsUser(@NonNull String, @NonNull android.content.pm.PackageManager.PackageInfoFlags, int) throws android.content.pm.PackageManager.NameNotFoundException;
6007    method @NonNull public String getPermissionControllerPackageName();
6008    method @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);
6009    method @NonNull @RequiresPermission(android.Manifest.permission.SUSPEND_APPS) public String[] getUnsuspendablePackages(@NonNull String[]);
6010    method @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public abstract void grantRuntimePermission(@NonNull String, @NonNull String, @NonNull android.os.UserHandle);
6011    method @Deprecated public abstract int installExistingPackage(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
6012    method @Deprecated public abstract int installExistingPackage(@NonNull String, int) throws android.content.pm.PackageManager.NameNotFoundException;
6013    method @NonNull @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public java.util.List<android.content.pm.ResolveInfo> queryBroadcastReceiversAsUser(@NonNull android.content.Intent, @NonNull android.content.pm.PackageManager.ResolveInfoFlags, @NonNull android.os.UserHandle);
6014    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);
6015    method @NonNull @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public java.util.List<android.content.pm.ResolveInfo> queryIntentActivitiesAsUser(@NonNull android.content.Intent, @NonNull android.content.pm.PackageManager.ResolveInfoFlags, @NonNull android.os.UserHandle);
6016    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);
6017    method @NonNull @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public java.util.List<android.content.pm.ResolveInfo> queryIntentContentProvidersAsUser(@NonNull android.content.Intent, @NonNull android.content.pm.PackageManager.ResolveInfoFlags, @NonNull android.os.UserHandle);
6018    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);
6019    method @NonNull @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public java.util.List<android.content.pm.ResolveInfo> queryIntentServicesAsUser(@NonNull android.content.Intent, @NonNull android.content.pm.PackageManager.ResolveInfoFlags, @NonNull android.os.UserHandle);
6020    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);
6021    method public abstract void registerDexModule(@NonNull String, @Nullable android.content.pm.PackageManager.DexModuleRegisterCallback);
6022    method @RequiresPermission("android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS") public abstract void removeOnPermissionsChangeListener(@NonNull android.content.pm.PackageManager.OnPermissionsChangedListener);
6023    method public void replacePreferredActivity(@NonNull android.content.IntentFilter, int, @NonNull java.util.List<android.content.ComponentName>, @NonNull android.content.ComponentName);
6024    method @RequiresPermission(android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS) public abstract void revokeRuntimePermission(@NonNull String, @NonNull String, @NonNull android.os.UserHandle);
6025    method @RequiresPermission(android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS) public void revokeRuntimePermission(@NonNull String, @NonNull String, @NonNull android.os.UserHandle, @NonNull String);
6026    method public void sendDeviceCustomizationReadyBroadcast();
6027    method @RequiresPermission(allOf={android.Manifest.permission.SET_PREFERRED_APPLICATIONS, android.Manifest.permission.INTERACT_ACROSS_USERS_FULL}) public abstract boolean setDefaultBrowserPackageNameAsUser(@Nullable String, int);
6028    method @NonNull @RequiresPermission(android.Manifest.permission.SUSPEND_APPS) public String[] setDistractingPackageRestrictions(@NonNull String[], int);
6029    method @RequiresPermission(android.Manifest.permission.SET_HARMFUL_APP_WARNINGS) public void setHarmfulAppWarning(@NonNull String, @Nullable CharSequence);
6030    method @Nullable @RequiresPermission(value=android.Manifest.permission.SUSPEND_APPS, conditional=true) public String[] setPackagesSuspended(@Nullable String[], boolean, @Nullable android.os.PersistableBundle, @Nullable android.os.PersistableBundle, @Nullable android.content.pm.SuspendDialogInfo);
6031    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);
6032    method @RequiresPermission(value=android.Manifest.permission.CHANGE_COMPONENT_ENABLED_STATE, conditional=true) public void setSyntheticAppDetailsActivityEnabled(@NonNull String, boolean);
6033    method public void setSystemAppState(@NonNull String, int);
6034    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public abstract void setUpdateAvailable(@NonNull String, boolean);
6035    method @NonNull public boolean shouldShowNewAppInstalledNotification();
6036    method @Deprecated @RequiresPermission(android.Manifest.permission.SET_PREFERRED_APPLICATIONS) public abstract boolean updateIntentVerificationStatusAsUser(@NonNull String, int, int);
6037    method @RequiresPermission(anyOf={android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS, android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS}) public abstract void updatePermissionFlags(@NonNull String, @NonNull String, int, int, @NonNull android.os.UserHandle);
6038    method @Deprecated @RequiresPermission(android.Manifest.permission.INTENT_FILTER_VERIFICATION_AGENT) public abstract void verifyIntentFilter(int, int, @NonNull java.util.List<java.lang.String>);
6039    field public static final String ACTION_REQUEST_PERMISSIONS = "android.content.pm.action.REQUEST_PERMISSIONS";
6040    field public static final String ACTION_REQUEST_PERMISSIONS_FOR_OTHER = "android.content.pm.action.REQUEST_PERMISSIONS_FOR_OTHER";
6041    field public static final int APP_METADATA_SOURCE_APK = 1; // 0x1
6042    field public static final int APP_METADATA_SOURCE_INSTALLER = 2; // 0x2
6043    field public static final int APP_METADATA_SOURCE_SYSTEM_IMAGE = 3; // 0x3
6044    field public static final int APP_METADATA_SOURCE_UNKNOWN = 0; // 0x0
6045    field public static final int DELETE_ALL_USERS = 2; // 0x2
6046    field public static final int DELETE_FAILED_ABORTED = -5; // 0xfffffffb
6047    field public static final int DELETE_FAILED_DEVICE_POLICY_MANAGER = -2; // 0xfffffffe
6048    field public static final int DELETE_FAILED_INTERNAL_ERROR = -1; // 0xffffffff
6049    field public static final int DELETE_FAILED_OWNER_BLOCKED = -4; // 0xfffffffc
6050    field public static final int DELETE_KEEP_DATA = 1; // 0x1
6051    field public static final int DELETE_SUCCEEDED = 1; // 0x1
6052    field public static final String EXTRA_REQUEST_PERMISSIONS_DEVICE_ID = "android.content.pm.extra.REQUEST_PERMISSIONS_DEVICE_ID";
6053    field public static final String EXTRA_REQUEST_PERMISSIONS_LEGACY_ACCESS_PERMISSION_NAMES = "android.content.pm.extra.REQUEST_PERMISSIONS_LEGACY_ACCESS_PERMISSION_NAMES";
6054    field public static final String EXTRA_REQUEST_PERMISSIONS_NAMES = "android.content.pm.extra.REQUEST_PERMISSIONS_NAMES";
6055    field public static final String EXTRA_REQUEST_PERMISSIONS_RESULTS = "android.content.pm.extra.REQUEST_PERMISSIONS_RESULTS";
6056    field public static final String FEATURE_BROADCAST_RADIO = "android.hardware.broadcastradio";
6057    field public static final String FEATURE_CONTEXT_HUB = "android.hardware.context_hub";
6058    field public static final String FEATURE_EROFS = "android.software.erofs";
6059    field public static final String FEATURE_EROFS_LEGACY = "android.software.erofs_legacy";
6060    field public static final String FEATURE_GAME_SERVICE = "android.software.game_service";
6061    field public static final String FEATURE_INCREMENTAL_DELIVERY = "android.software.incremental_delivery";
6062    field public static final String FEATURE_REBOOT_ESCROW = "android.hardware.reboot_escrow";
6063    field public static final String FEATURE_TELEPHONY_CARRIERLOCK = "android.hardware.telephony.carrierlock";
6064    field public static final String FEATURE_TELEPHONY_IMS_SINGLE_REGISTRATION = "android.hardware.telephony.ims.singlereg";
6065    field public static final String FEATURE_VIRTUALIZATION_FRAMEWORK = "android.software.virtualization_framework";
6066    field public static final int FLAGS_PERMISSION_RESERVED_PERMISSION_CONTROLLER = -268435456; // 0xf0000000
6067    field public static final int FLAG_PERMISSION_APPLY_RESTRICTION = 16384; // 0x4000
6068    field public static final int FLAG_PERMISSION_AUTO_REVOKED = 131072; // 0x20000
6069    field public static final int FLAG_PERMISSION_GRANTED_BY_DEFAULT = 32; // 0x20
6070    field public static final int FLAG_PERMISSION_GRANTED_BY_ROLE = 32768; // 0x8000
6071    field public static final int FLAG_PERMISSION_ONE_TIME = 65536; // 0x10000
6072    field public static final int FLAG_PERMISSION_POLICY_FIXED = 4; // 0x4
6073    field public static final int FLAG_PERMISSION_RESTRICTION_INSTALLER_EXEMPT = 2048; // 0x800
6074    field public static final int FLAG_PERMISSION_RESTRICTION_SYSTEM_EXEMPT = 4096; // 0x1000
6075    field public static final int FLAG_PERMISSION_RESTRICTION_UPGRADE_EXEMPT = 8192; // 0x2000
6076    field public static final int FLAG_PERMISSION_REVIEW_REQUIRED = 64; // 0x40
6077    field public static final int FLAG_PERMISSION_REVOKED_COMPAT = 8; // 0x8
6078    field @Deprecated public static final int FLAG_PERMISSION_REVOKE_ON_UPGRADE = 8; // 0x8
6079    field public static final int FLAG_PERMISSION_REVOKE_WHEN_REQUESTED = 128; // 0x80
6080    field public static final int FLAG_PERMISSION_SELECTED_LOCATION_ACCURACY = 524288; // 0x80000
6081    field public static final int FLAG_PERMISSION_SYSTEM_FIXED = 16; // 0x10
6082    field public static final int FLAG_PERMISSION_USER_FIXED = 2; // 0x2
6083    field public static final int FLAG_PERMISSION_USER_SENSITIVE_WHEN_DENIED = 512; // 0x200
6084    field public static final int FLAG_PERMISSION_USER_SENSITIVE_WHEN_GRANTED = 256; // 0x100
6085    field public static final int FLAG_PERMISSION_USER_SET = 1; // 0x1
6086    field public static final int INSTALL_FAILED_ALREADY_EXISTS = -1; // 0xffffffff
6087    field public static final int INSTALL_FAILED_CONFLICTING_PROVIDER = -13; // 0xfffffff3
6088    field public static final int INSTALL_FAILED_CONTAINER_ERROR = -18; // 0xffffffee
6089    field public static final int INSTALL_FAILED_CPU_ABI_INCOMPATIBLE = -16; // 0xfffffff0
6090    field public static final int INSTALL_FAILED_DEXOPT = -11; // 0xfffffff5
6091    field public static final int INSTALL_FAILED_DUPLICATE_PACKAGE = -5; // 0xfffffffb
6092    field public static final int INSTALL_FAILED_INSUFFICIENT_STORAGE = -4; // 0xfffffffc
6093    field public static final int INSTALL_FAILED_INTERNAL_ERROR = -110; // 0xffffff92
6094    field public static final int INSTALL_FAILED_INVALID_APK = -2; // 0xfffffffe
6095    field public static final int INSTALL_FAILED_INVALID_INSTALL_LOCATION = -19; // 0xffffffed
6096    field public static final int INSTALL_FAILED_INVALID_URI = -3; // 0xfffffffd
6097    field public static final int INSTALL_FAILED_MEDIA_UNAVAILABLE = -20; // 0xffffffec
6098    field public static final int INSTALL_FAILED_MISSING_FEATURE = -17; // 0xffffffef
6099    field public static final int INSTALL_FAILED_MISSING_SHARED_LIBRARY = -9; // 0xfffffff7
6100    field public static final int INSTALL_FAILED_NEWER_SDK = -14; // 0xfffffff2
6101    field public static final int INSTALL_FAILED_NO_SHARED_USER = -6; // 0xfffffffa
6102    field public static final int INSTALL_FAILED_OLDER_SDK = -12; // 0xfffffff4
6103    field public static final int INSTALL_FAILED_PACKAGE_CHANGED = -23; // 0xffffffe9
6104    field public static final int INSTALL_FAILED_PERMISSION_MODEL_DOWNGRADE = -26; // 0xffffffe6
6105    field public static final int INSTALL_FAILED_REPLACE_COULDNT_DELETE = -10; // 0xfffffff6
6106    field public static final int INSTALL_FAILED_SANDBOX_VERSION_DOWNGRADE = -27; // 0xffffffe5
6107    field public static final int INSTALL_FAILED_SHARED_USER_INCOMPATIBLE = -8; // 0xfffffff8
6108    field public static final int INSTALL_FAILED_TEST_ONLY = -15; // 0xfffffff1
6109    field public static final int INSTALL_FAILED_UPDATE_INCOMPATIBLE = -7; // 0xfffffff9
6110    field public static final int INSTALL_FAILED_VERIFICATION_FAILURE = -22; // 0xffffffea
6111    field public static final int INSTALL_FAILED_VERIFICATION_TIMEOUT = -21; // 0xffffffeb
6112    field public static final int INSTALL_PARSE_FAILED_BAD_MANIFEST = -101; // 0xffffff9b
6113    field public static final int INSTALL_PARSE_FAILED_BAD_PACKAGE_NAME = -106; // 0xffffff96
6114    field public static final int INSTALL_PARSE_FAILED_BAD_SHARED_USER_ID = -107; // 0xffffff95
6115    field public static final int INSTALL_PARSE_FAILED_CERTIFICATE_ENCODING = -105; // 0xffffff97
6116    field public static final int INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES = -104; // 0xffffff98
6117    field public static final int INSTALL_PARSE_FAILED_MANIFEST_EMPTY = -109; // 0xffffff93
6118    field public static final int INSTALL_PARSE_FAILED_MANIFEST_MALFORMED = -108; // 0xffffff94
6119    field public static final int INSTALL_PARSE_FAILED_NOT_APK = -100; // 0xffffff9c
6120    field public static final int INSTALL_PARSE_FAILED_NO_CERTIFICATES = -103; // 0xffffff99
6121    field public static final int INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION = -102; // 0xffffff9a
6122    field public static final int INSTALL_SUCCEEDED = 1; // 0x1
6123    field @Deprecated public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ALWAYS = 2; // 0x2
6124    field @Deprecated public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ALWAYS_ASK = 4; // 0x4
6125    field @Deprecated public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ASK = 1; // 0x1
6126    field @Deprecated public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_NEVER = 3; // 0x3
6127    field @Deprecated public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_UNDEFINED = 0; // 0x0
6128    field @Deprecated public static final int INTENT_FILTER_VERIFICATION_FAILURE = -1; // 0xffffffff
6129    field @Deprecated public static final int INTENT_FILTER_VERIFICATION_SUCCESS = 1; // 0x1
6130    field @Deprecated public static final int MASK_PERMISSION_FLAGS = 255; // 0xff
6131    field public static final int MATCH_ANY_USER = 4194304; // 0x400000
6132    field @Deprecated public static final int MATCH_CLONE_PROFILE = 536870912; // 0x20000000
6133    field public static final long MATCH_CLONE_PROFILE_LONG = 17179869184L; // 0x400000000L
6134    field public static final int MATCH_FACTORY_ONLY = 2097152; // 0x200000
6135    field public static final int MATCH_HIDDEN_UNTIL_INSTALLED_COMPONENTS = 536870912; // 0x20000000
6136    field public static final int MATCH_INSTANT = 8388608; // 0x800000
6137    field public static final int MODULE_APEX_NAME = 1; // 0x1
6138    field public static final int RESTRICTION_HIDE_FROM_SUGGESTIONS = 1; // 0x1
6139    field public static final int RESTRICTION_HIDE_NOTIFICATIONS = 2; // 0x2
6140    field public static final int RESTRICTION_NONE = 0; // 0x0
6141    field public static final int ROLLBACK_DATA_POLICY_RESTORE = 0; // 0x0
6142    field public static final int ROLLBACK_DATA_POLICY_RETAIN = 2; // 0x2
6143    field public static final int ROLLBACK_DATA_POLICY_WIPE = 1; // 0x1
6144    field public static final int ROLLBACK_USER_IMPACT_HIGH = 1; // 0x1
6145    field public static final int ROLLBACK_USER_IMPACT_LOW = 0; // 0x0
6146    field public static final int ROLLBACK_USER_IMPACT_ONLY_MANUAL = 2; // 0x2
6147    field public static final int SYSTEM_APP_STATE_HIDDEN_UNTIL_INSTALLED_HIDDEN = 0; // 0x0
6148    field public static final int SYSTEM_APP_STATE_HIDDEN_UNTIL_INSTALLED_VISIBLE = 1; // 0x1
6149    field public static final int SYSTEM_APP_STATE_INSTALLED = 2; // 0x2
6150    field public static final int SYSTEM_APP_STATE_UNINSTALLED = 3; // 0x3
6151  }
6152
6153  public abstract static class PackageManager.DexModuleRegisterCallback {
6154    ctor public PackageManager.DexModuleRegisterCallback();
6155    method public abstract void onDexModuleRegistered(String, boolean, String);
6156  }
6157
6158  public static interface PackageManager.OnPermissionsChangedListener {
6159    method public void onPermissionsChanged(int);
6160    method public default void onPermissionsChanged(int, @NonNull String);
6161  }
6162
6163  public static final class PackageManager.UninstallCompleteCallback implements android.os.Parcelable {
6164    method public int describeContents();
6165    method public void onUninstallComplete(@NonNull String, int, @Nullable String);
6166    method public void writeToParcel(@NonNull android.os.Parcel, int);
6167    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.PackageManager.UninstallCompleteCallback> CREATOR;
6168  }
6169
6170  public class PermissionGroupInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
6171    field @StringRes public final int backgroundRequestDetailResourceId;
6172    field @StringRes public final int backgroundRequestResourceId;
6173    field @StringRes public final int requestDetailResourceId;
6174    field @StringRes public int requestRes;
6175  }
6176
6177  public class PermissionInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
6178    field public static final int FLAG_REMOVED = 2; // 0x2
6179    field public static final int PROTECTION_FLAG_APP_PREDICTOR = 2097152; // 0x200000
6180    field public static final int PROTECTION_FLAG_COMPANION = 8388608; // 0x800000
6181    field public static final int PROTECTION_FLAG_CONFIGURATOR = 524288; // 0x80000
6182    field @Deprecated public static final int PROTECTION_FLAG_DOCUMENTER = 262144; // 0x40000
6183    field public static final int PROTECTION_FLAG_INCIDENT_REPORT_APPROVER = 1048576; // 0x100000
6184    field public static final int PROTECTION_FLAG_KNOWN_SIGNER = 134217728; // 0x8000000
6185    field public static final int PROTECTION_FLAG_MODULE = 4194304; // 0x400000
6186    field public static final int PROTECTION_FLAG_OEM = 16384; // 0x4000
6187    field public static final int PROTECTION_FLAG_RECENTS = 33554432; // 0x2000000
6188    field @Deprecated public static final int PROTECTION_FLAG_RETAIL_DEMO = 16777216; // 0x1000000
6189    field public static final int PROTECTION_FLAG_ROLE = 67108864; // 0x4000000
6190    field public static final int PROTECTION_FLAG_SYSTEM_TEXT_CLASSIFIER = 65536; // 0x10000
6191    field public static final int PROTECTION_FLAG_VENDOR_PRIVILEGED = 32768; // 0x8000
6192    field @Deprecated public static final int PROTECTION_FLAG_WELLBEING = 131072; // 0x20000
6193    field @Nullable public final String backgroundPermission;
6194    field @NonNull public java.util.Set<java.lang.String> knownCerts;
6195    field @StringRes public int requestRes;
6196  }
6197
6198  public class ResolveInfo implements android.os.Parcelable {
6199    field public boolean handleAllWebDataURI;
6200  }
6201
6202  public final class ShortcutInfo implements android.os.Parcelable {
6203    method @Nullable public android.app.Person[] getPersons();
6204  }
6205
6206  public class ShortcutManager {
6207    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_APP_PREDICTIONS) @WorkerThread public java.util.List<android.content.pm.ShortcutManager.ShareShortcutInfo> getShareTargets(@NonNull android.content.IntentFilter);
6208    method public boolean hasShareTargets(@NonNull String);
6209  }
6210
6211  public static final class ShortcutManager.ShareShortcutInfo implements android.os.Parcelable {
6212    method public int describeContents();
6213    method @NonNull public android.content.pm.ShortcutInfo getShortcutInfo();
6214    method @NonNull public android.content.ComponentName getTargetComponent();
6215    method public void writeToParcel(@NonNull android.os.Parcel, int);
6216    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.ShortcutManager.ShareShortcutInfo> CREATOR;
6217  }
6218
6219  public final class SuspendDialogInfo implements android.os.Parcelable {
6220    method public int describeContents();
6221    method public void writeToParcel(android.os.Parcel, int);
6222    field public static final int BUTTON_ACTION_MORE_DETAILS = 0; // 0x0
6223    field public static final int BUTTON_ACTION_UNSUSPEND = 1; // 0x1
6224    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.SuspendDialogInfo> CREATOR;
6225  }
6226
6227  public static final class SuspendDialogInfo.Builder {
6228    ctor public SuspendDialogInfo.Builder();
6229    method @NonNull public android.content.pm.SuspendDialogInfo build();
6230    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setIcon(@DrawableRes int);
6231    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setMessage(@StringRes int);
6232    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setMessage(@NonNull String);
6233    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setNeutralButtonAction(int);
6234    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setNeutralButtonText(@StringRes int);
6235    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setNeutralButtonText(@NonNull String);
6236    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setTitle(@StringRes int);
6237    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setTitle(@NonNull String);
6238  }
6239
6240  public final class UserProperties implements android.os.Parcelable {
6241    method public int describeContents();
6242    method public int getCrossProfileContentSharingStrategy();
6243    method public int getShowInQuietMode();
6244    method public int getShowInSharingSurfaces();
6245    method public boolean isCredentialShareableWithParent();
6246    method public boolean isMediaSharedWithParent();
6247    method public void writeToParcel(@NonNull android.os.Parcel, int);
6248    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.UserProperties> CREATOR;
6249    field public static final int CROSS_PROFILE_CONTENT_SHARING_DELEGATE_FROM_PARENT = 1; // 0x1
6250    field public static final int CROSS_PROFILE_CONTENT_SHARING_NO_DELEGATION = 0; // 0x0
6251    field public static final int CROSS_PROFILE_CONTENT_SHARING_UNKNOWN = -1; // 0xffffffff
6252    field public static final int SHOW_IN_QUIET_MODE_DEFAULT = 2; // 0x2
6253    field public static final int SHOW_IN_QUIET_MODE_HIDDEN = 1; // 0x1
6254    field public static final int SHOW_IN_QUIET_MODE_PAUSED = 0; // 0x0
6255    field public static final int SHOW_IN_QUIET_MODE_UNKNOWN = -1; // 0xffffffff
6256    field public static final int SHOW_IN_SHARING_SURFACES_NO = 2; // 0x2
6257    field public static final int SHOW_IN_SHARING_SURFACES_SEPARATE = 1; // 0x1
6258    field public static final int SHOW_IN_SHARING_SURFACES_UNKNOWN = -1; // 0xffffffff
6259    field public static final int SHOW_IN_SHARING_SURFACES_WITH_PARENT = 0; // 0x0
6260  }
6261
6262}
6263
6264package android.content.pm.dex {
6265
6266  public class ArtManager {
6267    method @RequiresPermission(allOf={android.Manifest.permission.READ_RUNTIME_PROFILES, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean isRuntimeProfilingEnabled(int);
6268    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);
6269    field public static final int PROFILE_APPS = 0; // 0x0
6270    field public static final int PROFILE_BOOT_IMAGE = 1; // 0x1
6271    field public static final int SNAPSHOT_FAILED_CODE_PATH_NOT_FOUND = 1; // 0x1
6272    field public static final int SNAPSHOT_FAILED_INTERNAL_ERROR = 2; // 0x2
6273    field public static final int SNAPSHOT_FAILED_PACKAGE_NOT_FOUND = 0; // 0x0
6274  }
6275
6276  public abstract static class ArtManager.SnapshotRuntimeProfileCallback {
6277    ctor public ArtManager.SnapshotRuntimeProfileCallback();
6278    method public abstract void onError(int);
6279    method public abstract void onSuccess(android.os.ParcelFileDescriptor);
6280  }
6281
6282}
6283
6284package android.content.pm.permission {
6285
6286  @Deprecated public final class RuntimePermissionPresentationInfo implements android.os.Parcelable {
6287    ctor @Deprecated public RuntimePermissionPresentationInfo(CharSequence, boolean, boolean);
6288    method @Deprecated public int describeContents();
6289    method @Deprecated @NonNull public CharSequence getLabel();
6290    method @Deprecated public boolean isGranted();
6291    method @Deprecated public boolean isStandard();
6292    method @Deprecated public void writeToParcel(android.os.Parcel, int);
6293    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.content.pm.permission.RuntimePermissionPresentationInfo> CREATOR;
6294  }
6295
6296}
6297
6298package android.content.pm.verify.domain {
6299
6300  public final class DomainOwner implements android.os.Parcelable {
6301    ctor public DomainOwner(@NonNull String, boolean);
6302    method public int describeContents();
6303    method @NonNull public String getPackageName();
6304    method public boolean isOverrideable();
6305    method public void writeToParcel(@NonNull android.os.Parcel, int);
6306    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.verify.domain.DomainOwner> CREATOR;
6307  }
6308
6309  public final class DomainVerificationInfo implements android.os.Parcelable {
6310    method public int describeContents();
6311    method @NonNull public java.util.Map<java.lang.String,java.lang.Integer> getHostToStateMap();
6312    method @NonNull public java.util.UUID getIdentifier();
6313    method @NonNull public String getPackageName();
6314    method public void writeToParcel(@NonNull android.os.Parcel, int);
6315    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.verify.domain.DomainVerificationInfo> CREATOR;
6316    field public static final int STATE_FIRST_VERIFIER_DEFINED = 1024; // 0x400
6317    field public static final int STATE_MODIFIABLE_UNVERIFIED = 3; // 0x3
6318    field public static final int STATE_MODIFIABLE_VERIFIED = 4; // 0x4
6319    field public static final int STATE_NO_RESPONSE = 0; // 0x0
6320    field public static final int STATE_SUCCESS = 1; // 0x1
6321    field public static final int STATE_UNMODIFIABLE = 2; // 0x2
6322  }
6323
6324  public final class DomainVerificationManager {
6325    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;
6326    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DOMAIN_VERIFICATION_USER_SELECTION) public java.util.SortedSet<android.content.pm.verify.domain.DomainOwner> getOwnersForDomain(@NonNull String);
6327    method @NonNull public java.util.Map<java.lang.String,java.util.List<android.content.UriRelativeFilterGroup>> getUriRelativeFilterGroups(@NonNull String, @NonNull java.util.List<java.lang.String>);
6328    method @NonNull @RequiresPermission(android.Manifest.permission.DOMAIN_VERIFICATION_AGENT) public java.util.List<java.lang.String> queryValidVerificationPackageNames();
6329    method @RequiresPermission(android.Manifest.permission.UPDATE_DOMAIN_VERIFICATION_USER_SELECTION) public void setDomainVerificationLinkHandlingAllowed(@NonNull String, boolean) throws android.content.pm.PackageManager.NameNotFoundException;
6330    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;
6331    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;
6332    method @RequiresPermission(android.Manifest.permission.DOMAIN_VERIFICATION_AGENT) public void setUriRelativeFilterGroups(@NonNull String, @NonNull java.util.Map<java.lang.String,java.util.List<android.content.UriRelativeFilterGroup>>);
6333    field public static final int ERROR_DOMAIN_SET_ID_INVALID = 1; // 0x1
6334    field public static final int ERROR_UNABLE_TO_APPROVE = 3; // 0x3
6335    field public static final int ERROR_UNKNOWN_DOMAIN = 2; // 0x2
6336    field public static final String EXTRA_VERIFICATION_REQUEST = "android.content.pm.verify.domain.extra.VERIFICATION_REQUEST";
6337    field public static final int STATUS_OK = 0; // 0x0
6338  }
6339
6340  public final class DomainVerificationRequest implements android.os.Parcelable {
6341    method public int describeContents();
6342    method @NonNull public java.util.Set<java.lang.String> getPackageNames();
6343    method public void writeToParcel(@NonNull android.os.Parcel, int);
6344    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.verify.domain.DomainVerificationRequest> CREATOR;
6345  }
6346
6347  public final class DomainVerificationUserState implements android.os.Parcelable {
6348    method @NonNull public java.util.UUID getIdentifier();
6349  }
6350
6351}
6352
6353package android.content.rollback {
6354
6355  public final class PackageRollbackInfo implements android.os.Parcelable {
6356    method public int describeContents();
6357    method @NonNull public String getPackageName();
6358    method @NonNull public android.content.pm.VersionedPackage getVersionRolledBackFrom();
6359    method @NonNull public android.content.pm.VersionedPackage getVersionRolledBackTo();
6360    method public void writeToParcel(android.os.Parcel, int);
6361    field @NonNull public static final android.os.Parcelable.Creator<android.content.rollback.PackageRollbackInfo> CREATOR;
6362  }
6363
6364  public final class RollbackInfo implements android.os.Parcelable {
6365    method public int describeContents();
6366    method @NonNull public java.util.List<android.content.pm.VersionedPackage> getCausePackages();
6367    method public int getCommittedSessionId();
6368    method @NonNull public java.util.List<android.content.rollback.PackageRollbackInfo> getPackages();
6369    method public int getRollbackId();
6370    method public boolean isStaged();
6371    method public void writeToParcel(android.os.Parcel, int);
6372    field @NonNull public static final android.os.Parcelable.Creator<android.content.rollback.RollbackInfo> CREATOR;
6373  }
6374
6375  public final class RollbackManager {
6376    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);
6377    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_ROLLBACKS, "android.permission.TEST_MANAGE_ROLLBACKS"}) public java.util.List<android.content.rollback.RollbackInfo> getAvailableRollbacks();
6378    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_ROLLBACKS, "android.permission.TEST_MANAGE_ROLLBACKS"}) public java.util.List<android.content.rollback.RollbackInfo> getRecentlyCommittedRollbacks();
6379    field public static final String EXTRA_STATUS = "android.content.rollback.extra.STATUS";
6380    field public static final String EXTRA_STATUS_MESSAGE = "android.content.rollback.extra.STATUS_MESSAGE";
6381    field public static final int STATUS_FAILURE = 1; // 0x1
6382    field public static final int STATUS_FAILURE_INSTALL = 3; // 0x3
6383    field public static final int STATUS_FAILURE_ROLLBACK_UNAVAILABLE = 2; // 0x2
6384    field public static final int STATUS_SUCCESS = 0; // 0x0
6385  }
6386
6387}
6388
6389package android.credentials.selection {
6390
6391  public final class AuthenticationEntry implements android.os.Parcelable {
6392    ctor public AuthenticationEntry(@NonNull String, @NonNull String, @NonNull android.app.slice.Slice, int, @NonNull android.content.Intent);
6393    method public int describeContents();
6394    method @Nullable public android.content.Intent getFrameworkExtrasIntent();
6395    method @NonNull public String getKey();
6396    method @NonNull public android.app.slice.Slice getSlice();
6397    method @NonNull public int getStatus();
6398    method @NonNull public String getSubkey();
6399    method public void writeToParcel(@NonNull android.os.Parcel, int);
6400    field @NonNull public static final android.os.Parcelable.Creator<android.credentials.selection.AuthenticationEntry> CREATOR;
6401    field public static final int STATUS_LOCKED = 0; // 0x0
6402    field public static final int STATUS_UNLOCKED_BUT_EMPTY_LESS_RECENT = 1; // 0x1
6403    field public static final int STATUS_UNLOCKED_BUT_EMPTY_MOST_RECENT = 2; // 0x2
6404  }
6405
6406  public final class CancelSelectionRequest implements android.os.Parcelable {
6407    ctor public CancelSelectionRequest(@NonNull android.credentials.selection.RequestToken, boolean, @NonNull String);
6408    method public int describeContents();
6409    method @NonNull public String getPackageName();
6410    method @NonNull public android.credentials.selection.RequestToken getRequestToken();
6411    method public boolean shouldShowCancellationExplanation();
6412    method public void writeToParcel(@NonNull android.os.Parcel, int);
6413    field @NonNull public static final android.os.Parcelable.Creator<android.credentials.selection.CancelSelectionRequest> CREATOR;
6414  }
6415
6416  public final class CreateCredentialProviderInfo {
6417    method @NonNull public String getProviderName();
6418    method @Nullable public android.credentials.selection.Entry getRemoteEntry();
6419    method @NonNull public java.util.List<android.credentials.selection.Entry> getSaveEntries();
6420  }
6421
6422  public static final class CreateCredentialProviderInfo.Builder {
6423    ctor public CreateCredentialProviderInfo.Builder(@NonNull String);
6424    method @NonNull public android.credentials.selection.CreateCredentialProviderInfo build();
6425    method @NonNull public android.credentials.selection.CreateCredentialProviderInfo.Builder setRemoteEntry(@Nullable android.credentials.selection.Entry);
6426    method @NonNull public android.credentials.selection.CreateCredentialProviderInfo.Builder setSaveEntries(@NonNull java.util.List<android.credentials.selection.Entry>);
6427  }
6428
6429  public final class DisabledProviderInfo {
6430    ctor public DisabledProviderInfo(@NonNull String);
6431    method @NonNull public String getProviderName();
6432  }
6433
6434  public final class Entry implements android.os.Parcelable {
6435    ctor public Entry(@NonNull String, @NonNull String, @NonNull android.app.slice.Slice, @NonNull android.content.Intent);
6436    method public int describeContents();
6437    method @Nullable public android.content.Intent getFrameworkExtrasIntent();
6438    method @NonNull public String getKey();
6439    method @NonNull public android.app.slice.Slice getSlice();
6440    method @NonNull public String getSubkey();
6441    method public void writeToParcel(@NonNull android.os.Parcel, int);
6442    field @NonNull public static final android.os.Parcelable.Creator<android.credentials.selection.Entry> CREATOR;
6443  }
6444
6445  public final class FailureResult {
6446    ctor public FailureResult(int, @Nullable String);
6447    method public int getErrorCode();
6448    method @Nullable public String getErrorMessage();
6449    method public static void sendFailureResult(@NonNull android.os.ResultReceiver, @NonNull android.credentials.selection.FailureResult);
6450    field public static final int ERROR_CODE_CANCELED_AND_LAUNCHED_SETTINGS = 2; // 0x2
6451    field public static final int ERROR_CODE_DIALOG_CANCELED_BY_USER = 1; // 0x1
6452    field public static final int ERROR_CODE_UI_FAILURE = 0; // 0x0
6453  }
6454
6455  public final class GetCredentialProviderInfo {
6456    method @NonNull public java.util.List<android.credentials.selection.Entry> getActionChips();
6457    method @NonNull public java.util.List<android.credentials.selection.AuthenticationEntry> getAuthenticationEntries();
6458    method @NonNull public java.util.List<android.credentials.selection.Entry> getCredentialEntries();
6459    method @NonNull public String getProviderName();
6460    method @Nullable public android.credentials.selection.Entry getRemoteEntry();
6461  }
6462
6463  public static final class GetCredentialProviderInfo.Builder {
6464    ctor public GetCredentialProviderInfo.Builder(@NonNull String);
6465    method @NonNull public android.credentials.selection.GetCredentialProviderInfo build();
6466    method @NonNull public android.credentials.selection.GetCredentialProviderInfo.Builder setActionChips(@NonNull java.util.List<android.credentials.selection.Entry>);
6467    method @NonNull public android.credentials.selection.GetCredentialProviderInfo.Builder setAuthenticationEntries(@NonNull java.util.List<android.credentials.selection.AuthenticationEntry>);
6468    method @NonNull public android.credentials.selection.GetCredentialProviderInfo.Builder setCredentialEntries(@NonNull java.util.List<android.credentials.selection.Entry>);
6469    method @NonNull public android.credentials.selection.GetCredentialProviderInfo.Builder setRemoteEntry(@Nullable android.credentials.selection.Entry);
6470  }
6471
6472  public final class IntentHelper {
6473    method @Nullable public static android.credentials.selection.CancelSelectionRequest extractCancelUiRequest(@NonNull android.content.Intent);
6474    method @NonNull public static java.util.List<android.credentials.selection.CreateCredentialProviderInfo> extractCreateCredentialProviderInfoList(@NonNull android.content.Intent);
6475    method @NonNull public static java.util.List<android.credentials.selection.DisabledProviderInfo> extractDisabledProviderInfoList(@NonNull android.content.Intent);
6476    method @NonNull public static java.util.List<android.credentials.selection.GetCredentialProviderInfo> extractGetCredentialProviderInfoList(@NonNull android.content.Intent);
6477    method @Nullable public static android.credentials.selection.RequestInfo extractRequestInfo(@NonNull android.content.Intent);
6478    method @Nullable public static android.os.ResultReceiver extractResultReceiver(@NonNull android.content.Intent);
6479  }
6480
6481  public final class ProviderPendingIntentResponse implements android.os.Parcelable {
6482    ctor public ProviderPendingIntentResponse(int, @Nullable android.content.Intent);
6483    method public int describeContents();
6484    method public int getResultCode();
6485    method @Nullable public android.content.Intent getResultData();
6486    method public void writeToParcel(@NonNull android.os.Parcel, int);
6487    field @NonNull public static final android.os.Parcelable.Creator<android.credentials.selection.ProviderPendingIntentResponse> CREATOR;
6488  }
6489
6490  public final class RequestInfo implements android.os.Parcelable {
6491    method public int describeContents();
6492    method @Nullable public android.credentials.CreateCredentialRequest getCreateCredentialRequest();
6493    method @NonNull public java.util.List<java.lang.String> getDefaultProviderIds();
6494    method @Nullable public android.credentials.GetCredentialRequest getGetCredentialRequest();
6495    method @NonNull public String getPackageName();
6496    method @NonNull public java.util.List<java.lang.String> getRegistryProviderIds();
6497    method @NonNull public android.credentials.selection.RequestToken getRequestToken();
6498    method @NonNull public String getType();
6499    method public boolean hasPermissionToOverrideDefault();
6500    method public boolean isShowAllOptionsRequested();
6501    method public void writeToParcel(@NonNull android.os.Parcel, int);
6502    field @NonNull public static final android.os.Parcelable.Creator<android.credentials.selection.RequestInfo> CREATOR;
6503    field @NonNull public static final String TYPE_CREATE = "android.credentials.selection.TYPE_CREATE";
6504    field @NonNull public static final String TYPE_GET = "android.credentials.selection.TYPE_GET";
6505    field @NonNull public static final String TYPE_UNDEFINED = "android.credentials.selection.TYPE_UNDEFINED";
6506  }
6507
6508  public final class RequestToken {
6509  }
6510
6511  public final class UserSelectionResult {
6512    ctor public UserSelectionResult(@NonNull String, @NonNull String, @NonNull String, @Nullable android.credentials.selection.ProviderPendingIntentResponse);
6513    method @NonNull public String getEntryKey();
6514    method @NonNull public String getEntrySubkey();
6515    method @Nullable public android.credentials.selection.ProviderPendingIntentResponse getPendingIntentProviderResponse();
6516    method @NonNull public String getProviderId();
6517    method public static void sendUserSelectionResult(@NonNull android.os.ResultReceiver, @NonNull android.credentials.selection.UserSelectionResult);
6518  }
6519
6520}
6521
6522package android.database {
6523
6524  public abstract class ContentObserver {
6525    method public void onChange(boolean, @NonNull java.util.Collection<android.net.Uri>, int, @NonNull android.os.UserHandle);
6526  }
6527
6528}
6529
6530package android.debug {
6531
6532  public class AdbManager {
6533    method @RequiresPermission(android.Manifest.permission.MANAGE_DEBUGGING) public boolean isAdbWifiQrSupported();
6534    method @RequiresPermission(android.Manifest.permission.MANAGE_DEBUGGING) public boolean isAdbWifiSupported();
6535  }
6536
6537}
6538
6539package android.graphics.fonts {
6540
6541  public final class FontFamilyUpdateRequest {
6542    method @NonNull public java.util.List<android.graphics.fonts.FontFamilyUpdateRequest.FontFamily> getFontFamilies();
6543    method @NonNull public java.util.List<android.graphics.fonts.FontFileUpdateRequest> getFontFileUpdateRequests();
6544  }
6545
6546  public static final class FontFamilyUpdateRequest.Builder {
6547    ctor public FontFamilyUpdateRequest.Builder();
6548    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.Builder addFontFamily(@NonNull android.graphics.fonts.FontFamilyUpdateRequest.FontFamily);
6549    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.Builder addFontFileUpdateRequest(@NonNull android.graphics.fonts.FontFileUpdateRequest);
6550    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest build();
6551  }
6552
6553  public static final class FontFamilyUpdateRequest.Font {
6554    method @NonNull public java.util.List<android.graphics.fonts.FontVariationAxis> getAxes();
6555    method @IntRange(from=0) public int getIndex();
6556    method @NonNull public String getPostScriptName();
6557    method @NonNull public android.graphics.fonts.FontStyle getStyle();
6558  }
6559
6560  public static final class FontFamilyUpdateRequest.Font.Builder {
6561    ctor public FontFamilyUpdateRequest.Font.Builder(@NonNull String, @NonNull android.graphics.fonts.FontStyle);
6562    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.Font build();
6563    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.Font.Builder setAxes(@NonNull java.util.List<android.graphics.fonts.FontVariationAxis>);
6564    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.Font.Builder setIndex(@IntRange(from=0) int);
6565  }
6566
6567  public static final class FontFamilyUpdateRequest.FontFamily {
6568    method @NonNull public java.util.List<android.graphics.fonts.FontFamilyUpdateRequest.Font> getFonts();
6569    method @NonNull public String getName();
6570  }
6571
6572  public static final class FontFamilyUpdateRequest.FontFamily.Builder {
6573    ctor public FontFamilyUpdateRequest.FontFamily.Builder(@NonNull String, @NonNull java.util.List<android.graphics.fonts.FontFamilyUpdateRequest.Font>);
6574    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.FontFamily.Builder addFont(@NonNull android.graphics.fonts.FontFamilyUpdateRequest.Font);
6575    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.FontFamily build();
6576  }
6577
6578  public final class FontFileUpdateRequest {
6579    ctor public FontFileUpdateRequest(@NonNull android.os.ParcelFileDescriptor, @NonNull byte[]);
6580    method @NonNull public android.os.ParcelFileDescriptor getParcelFileDescriptor();
6581    method @NonNull public byte[] getSignature();
6582  }
6583
6584  public class FontManager {
6585    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_FONTS) public android.text.FontConfig getFontConfig();
6586    method @RequiresPermission(android.Manifest.permission.UPDATE_FONTS) public int updateFontFamily(@NonNull android.graphics.fonts.FontFamilyUpdateRequest, @IntRange(from=0) int);
6587    field public static final int RESULT_ERROR_DOWNGRADING = -5; // 0xfffffffb
6588    field public static final int RESULT_ERROR_FAILED_TO_WRITE_FONT_FILE = -1; // 0xffffffff
6589    field public static final int RESULT_ERROR_FAILED_UPDATE_CONFIG = -6; // 0xfffffffa
6590    field public static final int RESULT_ERROR_FONT_NOT_FOUND = -9; // 0xfffffff7
6591    field public static final int RESULT_ERROR_FONT_UPDATER_DISABLED = -7; // 0xfffffff9
6592    field public static final int RESULT_ERROR_INVALID_FONT_FILE = -3; // 0xfffffffd
6593    field public static final int RESULT_ERROR_INVALID_FONT_NAME = -4; // 0xfffffffc
6594    field public static final int RESULT_ERROR_VERIFICATION_FAILURE = -2; // 0xfffffffe
6595    field public static final int RESULT_ERROR_VERSION_MISMATCH = -8; // 0xfffffff8
6596    field public static final int RESULT_SUCCESS = 0; // 0x0
6597  }
6598
6599}
6600
6601package android.hardware {
6602
6603  public final class Sensor {
6604    method public java.util.UUID getUuid();
6605    method public boolean isDataInjectionSupported();
6606    field public static final String STRING_TYPE_DYNAMIC_SENSOR_META = "android.sensor.dynamic_sensor_meta";
6607    field public static final String STRING_TYPE_WRIST_TILT_GESTURE = "android.sensor.wrist_tilt_gesture";
6608    field public static final int TYPE_DYNAMIC_SENSOR_META = 32; // 0x20
6609    field public static final int TYPE_WRIST_TILT_GESTURE = 26; // 0x1a
6610  }
6611
6612  public abstract class SensorManager {
6613    method public boolean initDataInjection(boolean);
6614    method public boolean injectSensorData(android.hardware.Sensor, float[], int, long);
6615  }
6616
6617  public final class SensorPrivacyManager {
6618    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public void addSensorPrivacyListener(@NonNull android.hardware.SensorPrivacyManager.OnSensorPrivacyChangedListener);
6619    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public void addSensorPrivacyListener(int, @NonNull android.hardware.SensorPrivacyManager.OnSensorPrivacyChangedListener);
6620    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public void addSensorPrivacyListener(int, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.SensorPrivacyManager.OnSensorPrivacyChangedListener);
6621    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public void addSensorPrivacyListener(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.SensorPrivacyManager.OnSensorPrivacyChangedListener);
6622    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public boolean areAnySensorPrivacyTogglesEnabled(int);
6623    method @NonNull @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public java.util.List<java.lang.String> getCameraPrivacyAllowlist();
6624    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public int getSensorPrivacyState(int, int);
6625    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public boolean isCameraPrivacyEnabled(@NonNull String);
6626    method @Deprecated @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public boolean isSensorPrivacyEnabled(int);
6627    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public boolean isSensorPrivacyEnabled(int, int);
6628    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public void removeSensorPrivacyListener(@NonNull android.hardware.SensorPrivacyManager.OnSensorPrivacyChangedListener);
6629    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public void removeSensorPrivacyListener(int, @NonNull android.hardware.SensorPrivacyManager.OnSensorPrivacyChangedListener);
6630    method @RequiresPermission(android.Manifest.permission.MANAGE_SENSOR_PRIVACY) public void setSensorPrivacy(int, boolean);
6631    method @RequiresPermission(android.Manifest.permission.MANAGE_SENSOR_PRIVACY) public void setSensorPrivacyState(int, int);
6632  }
6633
6634  public static interface SensorPrivacyManager.OnSensorPrivacyChangedListener {
6635    method public default void onSensorPrivacyChanged(@NonNull android.hardware.SensorPrivacyManager.OnSensorPrivacyChangedListener.SensorPrivacyChangedParams);
6636    method @Deprecated public void onSensorPrivacyChanged(int, boolean);
6637  }
6638
6639  public static class SensorPrivacyManager.OnSensorPrivacyChangedListener.SensorPrivacyChangedParams {
6640    method public int getSensor();
6641    method public int getState();
6642    method public int getToggleType();
6643    method public boolean isEnabled();
6644  }
6645
6646  public static class SensorPrivacyManager.StateTypes {
6647    field public static final int DISABLED = 2; // 0x2
6648    field public static final int ENABLED = 1; // 0x1
6649    field public static final int ENABLED_EXCEPT_ALLOWLISTED_APPS = 3; // 0x3
6650  }
6651
6652}
6653
6654package android.hardware.biometrics {
6655
6656  public static interface BiometricManager.Authenticators {
6657    field @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static final int BIOMETRIC_CONVENIENCE = 4095; // 0xfff
6658    field @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static final int EMPTY_SET = 0; // 0x0
6659  }
6660
6661}
6662
6663package android.hardware.camera2 {
6664
6665  public abstract class CameraDevice implements java.lang.AutoCloseable {
6666    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;
6667    field public static final int SESSION_OPERATION_MODE_CONSTRAINED_HIGH_SPEED = 1; // 0x1
6668    field public static final int SESSION_OPERATION_MODE_NORMAL = 0; // 0x0
6669    field public static final int SESSION_OPERATION_MODE_VENDOR_START = 32768; // 0x8000
6670  }
6671
6672  public final class CameraManager {
6673    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;
6674  }
6675
6676  public abstract static class CameraManager.AvailabilityCallback {
6677    method @RequiresPermission(android.Manifest.permission.CAMERA_OPEN_CLOSE_LISTENER) public void onCameraClosed(@NonNull String);
6678    method @RequiresPermission(android.Manifest.permission.CAMERA_OPEN_CLOSE_LISTENER) public void onCameraOpened(@NonNull String, @NonNull String);
6679  }
6680
6681}
6682
6683package android.hardware.camera2.extension {
6684
6685  public abstract class AdvancedExtender {
6686    ctor public AdvancedExtender(@NonNull android.hardware.camera2.CameraManager);
6687    method @NonNull public abstract java.util.List<android.hardware.camera2.CaptureRequest.Key> getAvailableCaptureRequestKeys(@NonNull String);
6688    method @NonNull public abstract java.util.List<android.hardware.camera2.CaptureResult.Key> getAvailableCaptureResultKeys(@NonNull String);
6689    method @NonNull public abstract java.util.List<android.util.Pair<android.hardware.camera2.CameraCharacteristics.Key,java.lang.Object>> getAvailableCharacteristicsKeyValues();
6690    method public long getMetadataVendorId(@NonNull String);
6691    method @NonNull public abstract android.hardware.camera2.extension.SessionProcessor getSessionProcessor();
6692    method @NonNull public abstract java.util.Map<java.lang.Integer,java.util.List<android.util.Size>> getSupportedCaptureOutputResolutions(@NonNull String);
6693    method @NonNull public abstract java.util.Map<java.lang.Integer,java.util.List<android.util.Size>> getSupportedPreviewOutputResolutions(@NonNull String);
6694    method public abstract void initialize(@NonNull String, @NonNull android.hardware.camera2.extension.CharacteristicsMap);
6695    method public abstract boolean isExtensionAvailable(@NonNull String, @NonNull android.hardware.camera2.extension.CharacteristicsMap);
6696  }
6697
6698  public abstract class CameraExtensionService extends android.app.Service {
6699    ctor protected CameraExtensionService();
6700    method @NonNull public final android.os.IBinder onBind(@Nullable android.content.Intent);
6701    method @NonNull public abstract android.hardware.camera2.extension.AdvancedExtender onInitializeAdvancedExtension(int);
6702    method public abstract boolean onRegisterClient(@NonNull android.os.IBinder);
6703    method public abstract void onUnregisterClient(@NonNull android.os.IBinder);
6704  }
6705
6706  public final class CameraOutputSurface {
6707    ctor public CameraOutputSurface(@NonNull android.view.Surface, @NonNull android.util.Size);
6708    method public int getColorSpace();
6709    method public long getDynamicRangeProfile();
6710    method public int getImageFormat();
6711    method @NonNull public android.util.Size getSize();
6712    method @NonNull public android.view.Surface getSurface();
6713    method public void setDynamicRangeProfile(long);
6714  }
6715
6716  public class CharacteristicsMap {
6717    method @Nullable public android.hardware.camera2.CameraCharacteristics get(@NonNull String);
6718    method @NonNull public java.util.Set<java.lang.String> getCameraIds();
6719  }
6720
6721  public class ExtensionConfiguration {
6722    ctor public ExtensionConfiguration(int, int, @NonNull java.util.List<android.hardware.camera2.extension.ExtensionOutputConfiguration>, @Nullable android.hardware.camera2.CaptureRequest);
6723    method public void setColorSpace(int);
6724  }
6725
6726  public class ExtensionOutputConfiguration {
6727    ctor public ExtensionOutputConfiguration(@NonNull java.util.List<android.hardware.camera2.extension.CameraOutputSurface>, int, @Nullable String, int);
6728  }
6729
6730  public final class RequestProcessor {
6731    method public void abortCaptures();
6732    method public int setRepeating(@NonNull android.hardware.camera2.extension.RequestProcessor.Request, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.camera2.extension.RequestProcessor.RequestCallback) throws android.hardware.camera2.CameraAccessException;
6733    method public void stopRepeating();
6734    method public int submit(@NonNull android.hardware.camera2.extension.RequestProcessor.Request, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.camera2.extension.RequestProcessor.RequestCallback) throws android.hardware.camera2.CameraAccessException;
6735    method public int submitBurst(@NonNull java.util.List<android.hardware.camera2.extension.RequestProcessor.Request>, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.camera2.extension.RequestProcessor.RequestCallback) throws android.hardware.camera2.CameraAccessException;
6736  }
6737
6738  public static final class RequestProcessor.Request {
6739    ctor public RequestProcessor.Request(@NonNull java.util.List<java.lang.Integer>, @NonNull java.util.List<android.util.Pair<android.hardware.camera2.CaptureRequest.Key,java.lang.Object>>, int);
6740    method @NonNull public java.util.List<android.util.Pair<android.hardware.camera2.CaptureRequest.Key,java.lang.Object>> getParameters();
6741  }
6742
6743  public static interface RequestProcessor.RequestCallback {
6744    method public void onCaptureBufferLost(@NonNull android.hardware.camera2.extension.RequestProcessor.Request, long, int);
6745    method public void onCaptureCompleted(@NonNull android.hardware.camera2.extension.RequestProcessor.Request, @Nullable android.hardware.camera2.TotalCaptureResult);
6746    method public void onCaptureFailed(@NonNull android.hardware.camera2.extension.RequestProcessor.Request, @NonNull android.hardware.camera2.CaptureFailure);
6747    method public void onCaptureProgressed(@NonNull android.hardware.camera2.extension.RequestProcessor.Request, @NonNull android.hardware.camera2.CaptureResult);
6748    method public void onCaptureSequenceAborted(int);
6749    method public void onCaptureSequenceCompleted(int, long);
6750    method public void onCaptureStarted(@NonNull android.hardware.camera2.extension.RequestProcessor.Request, long, long);
6751  }
6752
6753  public abstract class SessionProcessor {
6754    ctor public SessionProcessor();
6755    method public abstract void deInitSession(@NonNull android.os.IBinder);
6756    method @NonNull public abstract android.hardware.camera2.extension.ExtensionConfiguration initSession(@NonNull android.os.IBinder, @NonNull String, @NonNull android.hardware.camera2.extension.CharacteristicsMap, @NonNull android.hardware.camera2.extension.CameraOutputSurface, @NonNull android.hardware.camera2.extension.CameraOutputSurface);
6757    method public abstract void onCaptureSessionEnd();
6758    method public abstract void onCaptureSessionStart(@NonNull android.hardware.camera2.extension.RequestProcessor, @NonNull String);
6759    method public abstract void setParameters(@NonNull android.hardware.camera2.CaptureRequest);
6760    method public abstract int startMultiFrameCapture(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.camera2.extension.SessionProcessor.CaptureCallback);
6761    method public abstract int startRepeating(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.camera2.extension.SessionProcessor.CaptureCallback);
6762    method public abstract int startTrigger(@NonNull android.hardware.camera2.CaptureRequest, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.camera2.extension.SessionProcessor.CaptureCallback);
6763    method public abstract void stopRepeating();
6764  }
6765
6766  public static interface SessionProcessor.CaptureCallback {
6767    method public void onCaptureCompleted(long, int, @NonNull java.util.Map<android.hardware.camera2.CaptureResult.Key,java.lang.Object>);
6768    method public void onCaptureFailed(int, int);
6769    method public void onCaptureProcessStarted(int);
6770    method public void onCaptureSequenceAborted(int);
6771    method public void onCaptureSequenceCompleted(int);
6772    method public void onCaptureStarted(int, long);
6773  }
6774
6775}
6776
6777package android.hardware.camera2.params {
6778
6779  public final class OutputConfiguration implements android.os.Parcelable {
6780    ctor public OutputConfiguration(@NonNull android.view.Surface, int);
6781    ctor public OutputConfiguration(int, @NonNull android.view.Surface, int);
6782    method public int getRotation();
6783    field public static final int ROTATION_0 = 0; // 0x0
6784    field public static final int ROTATION_180 = 2; // 0x2
6785    field public static final int ROTATION_270 = 3; // 0x3
6786    field public static final int ROTATION_90 = 1; // 0x1
6787  }
6788
6789}
6790
6791package android.hardware.devicestate {
6792
6793  public final class DeviceState {
6794    method @IntRange(from=0x0) public int getIdentifier();
6795    method @NonNull public String getName();
6796    method public boolean hasProperties(@NonNull int...);
6797    method public boolean hasProperty(int);
6798    field public static final int PROPERTY_EMULATED_ONLY = 10; // 0xa
6799    field public static final int PROPERTY_EXTENDED_DEVICE_STATE_EXTERNAL_DISPLAY = 15; // 0xf
6800    field public static final int PROPERTY_FEATURE_DUAL_DISPLAY_INTERNAL_DEFAULT = 17; // 0x11
6801    field public static final int PROPERTY_FEATURE_REAR_DISPLAY = 16; // 0x10
6802    field public static final int PROPERTY_FOLDABLE_DISPLAY_CONFIGURATION_INNER_PRIMARY = 12; // 0xc
6803    field public static final int PROPERTY_FOLDABLE_DISPLAY_CONFIGURATION_OUTER_PRIMARY = 11; // 0xb
6804    field public static final int PROPERTY_FOLDABLE_HARDWARE_CONFIGURATION_FOLD_IN_CLOSED = 1; // 0x1
6805    field public static final int PROPERTY_FOLDABLE_HARDWARE_CONFIGURATION_FOLD_IN_HALF_OPEN = 2; // 0x2
6806    field public static final int PROPERTY_FOLDABLE_HARDWARE_CONFIGURATION_FOLD_IN_OPEN = 3; // 0x3
6807    field public static final int PROPERTY_POWER_CONFIGURATION_TRIGGER_SLEEP = 13; // 0xd
6808    field public static final int PROPERTY_POWER_CONFIGURATION_TRIGGER_WAKE = 14; // 0xe
6809  }
6810
6811  public final class DeviceStateManager {
6812    method @NonNull public java.util.List<android.hardware.devicestate.DeviceState> getSupportedDeviceStates();
6813    method public void registerCallback(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.devicestate.DeviceStateManager.DeviceStateCallback);
6814    method public void unregisterCallback(@NonNull android.hardware.devicestate.DeviceStateManager.DeviceStateCallback);
6815  }
6816
6817  public static interface DeviceStateManager.DeviceStateCallback {
6818    method public void onDeviceStateChanged(@NonNull android.hardware.devicestate.DeviceState);
6819    method public default void onSupportedStatesChanged(@NonNull java.util.List<android.hardware.devicestate.DeviceState>);
6820  }
6821
6822}
6823
6824package android.hardware.display {
6825
6826  public final class AmbientBrightnessDayStats implements android.os.Parcelable {
6827    method public int describeContents();
6828    method public float[] getBucketBoundaries();
6829    method public java.time.LocalDate getLocalDate();
6830    method public float[] getStats();
6831    method public void writeToParcel(android.os.Parcel, int);
6832    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.display.AmbientBrightnessDayStats> CREATOR;
6833  }
6834
6835  public final class BrightnessChangeEvent implements android.os.Parcelable {
6836    method public int describeContents();
6837    method public void writeToParcel(android.os.Parcel, int);
6838    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.display.BrightnessChangeEvent> CREATOR;
6839    field public final float batteryLevel;
6840    field public final float brightness;
6841    field public final long colorSampleDuration;
6842    field public final int colorTemperature;
6843    field @Nullable public final long[] colorValueBuckets;
6844    field public final boolean isDefaultBrightnessConfig;
6845    field public final boolean isUserSetBrightness;
6846    field public final float lastBrightness;
6847    field public final long[] luxTimestamps;
6848    field public final float[] luxValues;
6849    field public final boolean nightMode;
6850    field public final String packageName;
6851    field public final float powerBrightnessFactor;
6852    field public final boolean reduceBrightColors;
6853    field public final float reduceBrightColorsOffset;
6854    field public final int reduceBrightColorsStrength;
6855    field public final long timeStamp;
6856    field @NonNull public final String uniqueDisplayId;
6857  }
6858
6859  public final class BrightnessConfiguration implements android.os.Parcelable {
6860    method public int describeContents();
6861    method @Nullable public android.hardware.display.BrightnessCorrection getCorrectionByCategory(int);
6862    method @Nullable public android.hardware.display.BrightnessCorrection getCorrectionByPackageName(@NonNull String);
6863    method public android.util.Pair<float[],float[]> getCurve();
6864    method public float getShortTermModelLowerLuxMultiplier();
6865    method public long getShortTermModelTimeoutMillis();
6866    method public float getShortTermModelUpperLuxMultiplier();
6867    method public boolean shouldCollectColorSamples();
6868    method public void writeToParcel(android.os.Parcel, int);
6869    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.display.BrightnessConfiguration> CREATOR;
6870    field public static final long SHORT_TERM_TIMEOUT_UNSET = -1L; // 0xffffffffffffffffL
6871  }
6872
6873  public static class BrightnessConfiguration.Builder {
6874    ctor public BrightnessConfiguration.Builder(float[], float[]);
6875    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder addCorrectionByCategory(int, @NonNull android.hardware.display.BrightnessCorrection);
6876    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder addCorrectionByPackageName(@NonNull String, @NonNull android.hardware.display.BrightnessCorrection);
6877    method @NonNull public android.hardware.display.BrightnessConfiguration build();
6878    method public int getMaxCorrectionsByCategory();
6879    method public int getMaxCorrectionsByPackageName();
6880    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setDescription(@Nullable String);
6881    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setShortTermModelLowerLuxMultiplier(@FloatRange(from=0.0f) float);
6882    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setShortTermModelTimeoutMillis(long);
6883    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setShortTermModelUpperLuxMultiplier(@FloatRange(from=0.0f) float);
6884    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setShouldCollectColorSamples(boolean);
6885  }
6886
6887  public final class BrightnessCorrection implements android.os.Parcelable {
6888    method @FloatRange(from=0.0) public float apply(@FloatRange(from=0.0) float);
6889    method @NonNull public static android.hardware.display.BrightnessCorrection createScaleAndTranslateLog(float, float);
6890    method public int describeContents();
6891    method public void writeToParcel(android.os.Parcel, int);
6892    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.display.BrightnessCorrection> CREATOR;
6893  }
6894
6895  public final class ColorDisplayManager {
6896    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public int getNightDisplayAutoMode();
6897    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public int getTransformCapabilities();
6898    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public boolean setAppSaturationLevel(@NonNull String, @IntRange(from=0, to=100) int);
6899    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public boolean setNightDisplayAutoMode(int);
6900    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public boolean setNightDisplayCustomEndTime(@NonNull java.time.LocalTime);
6901    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public boolean setNightDisplayCustomStartTime(@NonNull java.time.LocalTime);
6902    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public boolean setSaturationLevel(@IntRange(from=0, to=100) int);
6903    field public static final int AUTO_MODE_CUSTOM_TIME = 1; // 0x1
6904    field public static final int AUTO_MODE_DISABLED = 0; // 0x0
6905    field public static final int AUTO_MODE_TWILIGHT = 2; // 0x2
6906    field public static final int CAPABILITY_HARDWARE_ACCELERATION_GLOBAL = 2; // 0x2
6907    field public static final int CAPABILITY_HARDWARE_ACCELERATION_PER_APP = 4; // 0x4
6908    field public static final int CAPABILITY_NONE = 0; // 0x0
6909    field public static final int CAPABILITY_PROTECTED_CONTENT = 1; // 0x1
6910  }
6911
6912  public final class DisplayManager {
6913    method @Nullable @RequiresPermission("android.permission.CAPTURE_VIDEO_OUTPUT") public static android.hardware.display.VirtualDisplay createVirtualDisplay(@NonNull String, int, int, int, @Nullable android.view.Surface);
6914    method @RequiresPermission(android.Manifest.permission.ACCESS_AMBIENT_LIGHT_STATS) public java.util.List<android.hardware.display.AmbientBrightnessDayStats> getAmbientBrightnessStats();
6915    method @RequiresPermission(android.Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS) public android.hardware.display.BrightnessConfiguration getBrightnessConfiguration();
6916    method @Nullable @RequiresPermission(android.Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS) public android.hardware.display.BrightnessConfiguration getBrightnessConfigurationForDisplay(@NonNull String);
6917    method @RequiresPermission(android.Manifest.permission.BRIGHTNESS_SLIDER_USAGE) public java.util.List<android.hardware.display.BrightnessChangeEvent> getBrightnessEvents();
6918    method @Nullable @RequiresPermission(android.Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS) public android.hardware.display.BrightnessConfiguration getDefaultBrightnessConfiguration();
6919    method public android.util.Pair<float[],float[]> getMinimumBrightnessCurve();
6920    method public android.graphics.Point getStableDisplaySize();
6921    method @RequiresPermission(android.Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS) public void setBrightnessConfiguration(android.hardware.display.BrightnessConfiguration);
6922    method @RequiresPermission(android.Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS) public void setBrightnessConfigurationForDisplay(@NonNull android.hardware.display.BrightnessConfiguration, @NonNull String);
6923    method @Deprecated @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_SATURATION) public void setSaturationLevel(float);
6924    field public static final int VIRTUAL_DISPLAY_FLAG_ROTATES_WITH_CONTENT = 128; // 0x80
6925    field public static final int VIRTUAL_DISPLAY_FLAG_STEAL_TOP_FOCUS_DISABLED = 65536; // 0x10000
6926    field public static final int VIRTUAL_DISPLAY_FLAG_TRUSTED = 1024; // 0x400
6927  }
6928
6929  public final class VirtualDisplayConfig implements android.os.Parcelable {
6930    method public boolean isHomeSupported();
6931  }
6932
6933  public static final class VirtualDisplayConfig.Builder {
6934    method @NonNull public android.hardware.display.VirtualDisplayConfig.Builder setHomeSupported(boolean);
6935  }
6936
6937}
6938
6939package android.hardware.hdmi {
6940
6941  public abstract class HdmiClient {
6942    method public android.hardware.hdmi.HdmiDeviceInfo getActiveSource();
6943    method public void selectDevice(int, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.hdmi.HdmiClient.OnDeviceSelectedListener);
6944    method public void sendKeyEvent(int, boolean);
6945    method public void sendVendorCommand(int, byte[], boolean);
6946    method public void setVendorCommandListener(@NonNull android.hardware.hdmi.HdmiControlManager.VendorCommandListener);
6947    method public void setVendorCommandListener(@NonNull android.hardware.hdmi.HdmiControlManager.VendorCommandListener, int);
6948  }
6949
6950  public static interface HdmiClient.OnDeviceSelectedListener {
6951    method public void onDeviceSelected(int, int);
6952  }
6953
6954  public final class HdmiControlManager {
6955    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void addHdmiCecEnabledChangeListener(@NonNull android.hardware.hdmi.HdmiControlManager.CecSettingChangeListener);
6956    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void addHdmiCecEnabledChangeListener(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.hdmi.HdmiControlManager.CecSettingChangeListener);
6957    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void addHotplugEventListener(android.hardware.hdmi.HdmiControlManager.HotplugEventListener);
6958    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void addHotplugEventListener(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.hdmi.HdmiControlManager.HotplugEventListener);
6959    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public java.util.List<java.lang.Integer> getAllowedCecSettingIntValues(@NonNull String);
6960    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public java.util.List<java.lang.String> getAllowedCecSettingStringValues(@NonNull String);
6961    method @Nullable public android.hardware.hdmi.HdmiClient getClient(int);
6962    method @NonNull public java.util.List<android.hardware.hdmi.HdmiDeviceInfo> getConnectedDevices();
6963    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getEarcEnabled();
6964    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getHdmiCecEnabled();
6965    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getHdmiCecVersion();
6966    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getHdmiCecVolumeControlEnabled();
6967    method public int getPhysicalAddress();
6968    method @Nullable public android.hardware.hdmi.HdmiPlaybackClient getPlaybackClient();
6969    method @NonNull public java.util.List<android.hardware.hdmi.HdmiPortInfo> getPortInfo();
6970    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public String getPowerControlMode();
6971    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public String getPowerStateChangeOnActiveSourceLost();
6972    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getRoutingControl();
6973    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getSadPresenceInQuery(@NonNull String);
6974    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getSoundbarMode();
6975    method @Nullable public android.hardware.hdmi.HdmiSwitchClient getSwitchClient();
6976    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getSystemAudioControl();
6977    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getSystemAudioModeMuting();
6978    method @Nullable public android.hardware.hdmi.HdmiTvClient getTvClient();
6979    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getTvSendStandbyOnSleep();
6980    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getTvWakeOnOneTouchPlay();
6981    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public java.util.List<java.lang.String> getUserCecSettings();
6982    method public boolean isDeviceConnected(@NonNull android.hardware.hdmi.HdmiDeviceInfo);
6983    method public void powerOffDevice(@NonNull android.hardware.hdmi.HdmiDeviceInfo);
6984    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void removeHdmiCecEnabledChangeListener(@NonNull android.hardware.hdmi.HdmiControlManager.CecSettingChangeListener);
6985    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void removeHotplugEventListener(android.hardware.hdmi.HdmiControlManager.HotplugEventListener);
6986    method public void setActiveSource(@NonNull android.hardware.hdmi.HdmiDeviceInfo);
6987    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setEarcEnabled(@NonNull int);
6988    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setHdmiCecEnabled(@NonNull int);
6989    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setHdmiCecVersion(@NonNull int);
6990    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setHdmiCecVolumeControlEnabled(int);
6991    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setPowerControlMode(@NonNull String);
6992    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setPowerStateChangeOnActiveSourceLost(@NonNull String);
6993    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setRoutingControl(@NonNull int);
6994    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setSadPresenceInQuery(@NonNull String, int);
6995    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setSadsPresenceInQuery(@NonNull java.util.List<java.lang.String>, int);
6996    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setSoundbarMode(int);
6997    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setStandbyMode(boolean);
6998    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setSystemAudioControl(@NonNull int);
6999    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setSystemAudioModeMuting(@NonNull int);
7000    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setTvSendStandbyOnSleep(@NonNull int);
7001    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setTvWakeOnOneTouchPlay(@NonNull int);
7002    field public static final String ACTION_OSD_MESSAGE = "android.hardware.hdmi.action.OSD_MESSAGE";
7003    field public static final int AVR_VOLUME_MUTED = 101; // 0x65
7004    field public static final String CEC_SETTING_NAME_HDMI_CEC_ENABLED = "hdmi_cec_enabled";
7005    field public static final String CEC_SETTING_NAME_HDMI_CEC_VERSION = "hdmi_cec_version";
7006    field public static final String CEC_SETTING_NAME_POWER_CONTROL_MODE = "power_control_mode";
7007    field public static final String CEC_SETTING_NAME_POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST = "power_state_change_on_active_source_lost";
7008    field public static final String CEC_SETTING_NAME_QUERY_SAD_AAC = "query_sad_aac";
7009    field public static final String CEC_SETTING_NAME_QUERY_SAD_ATRAC = "query_sad_atrac";
7010    field public static final String CEC_SETTING_NAME_QUERY_SAD_DD = "query_sad_dd";
7011    field public static final String CEC_SETTING_NAME_QUERY_SAD_DDP = "query_sad_ddp";
7012    field public static final String CEC_SETTING_NAME_QUERY_SAD_DST = "query_sad_dst";
7013    field public static final String CEC_SETTING_NAME_QUERY_SAD_DTS = "query_sad_dts";
7014    field public static final String CEC_SETTING_NAME_QUERY_SAD_DTSHD = "query_sad_dtshd";
7015    field public static final String CEC_SETTING_NAME_QUERY_SAD_LPCM = "query_sad_lpcm";
7016    field public static final String CEC_SETTING_NAME_QUERY_SAD_MAX = "query_sad_max";
7017    field public static final String CEC_SETTING_NAME_QUERY_SAD_MP3 = "query_sad_mp3";
7018    field public static final String CEC_SETTING_NAME_QUERY_SAD_MPEG1 = "query_sad_mpeg1";
7019    field public static final String CEC_SETTING_NAME_QUERY_SAD_MPEG2 = "query_sad_mpeg2";
7020    field public static final String CEC_SETTING_NAME_QUERY_SAD_ONEBITAUDIO = "query_sad_onebitaudio";
7021    field public static final String CEC_SETTING_NAME_QUERY_SAD_TRUEHD = "query_sad_truehd";
7022    field public static final String CEC_SETTING_NAME_QUERY_SAD_WMAPRO = "query_sad_wmapro";
7023    field public static final String CEC_SETTING_NAME_ROUTING_CONTROL = "routing_control";
7024    field public static final String CEC_SETTING_NAME_SOUNDBAR_MODE = "soundbar_mode";
7025    field public static final String CEC_SETTING_NAME_SYSTEM_AUDIO_CONTROL = "system_audio_control";
7026    field public static final String CEC_SETTING_NAME_SYSTEM_AUDIO_MODE_MUTING = "system_audio_mode_muting";
7027    field public static final String CEC_SETTING_NAME_TV_SEND_STANDBY_ON_SLEEP = "tv_send_standby_on_sleep";
7028    field public static final String CEC_SETTING_NAME_TV_WAKE_ON_ONE_TOUCH_PLAY = "tv_wake_on_one_touch_play";
7029    field public static final String CEC_SETTING_NAME_VOLUME_CONTROL_MODE = "volume_control_enabled";
7030    field public static final int CLEAR_TIMER_STATUS_CEC_DISABLE = 162; // 0xa2
7031    field public static final int CLEAR_TIMER_STATUS_CHECK_RECORDER_CONNECTION = 160; // 0xa0
7032    field public static final int CLEAR_TIMER_STATUS_FAIL_TO_CLEAR_SELECTED_SOURCE = 161; // 0xa1
7033    field public static final int CLEAR_TIMER_STATUS_TIMER_CLEARED = 128; // 0x80
7034    field public static final int CLEAR_TIMER_STATUS_TIMER_NOT_CLEARED_NO_INFO_AVAILABLE = 2; // 0x2
7035    field public static final int CLEAR_TIMER_STATUS_TIMER_NOT_CLEARED_NO_MATCHING = 1; // 0x1
7036    field public static final int CLEAR_TIMER_STATUS_TIMER_NOT_CLEARED_RECORDING = 0; // 0x0
7037    field public static final int CONTROL_STATE_CHANGED_REASON_SETTING = 1; // 0x1
7038    field public static final int CONTROL_STATE_CHANGED_REASON_STANDBY = 3; // 0x3
7039    field public static final int CONTROL_STATE_CHANGED_REASON_START = 0; // 0x0
7040    field public static final int CONTROL_STATE_CHANGED_REASON_WAKEUP = 2; // 0x2
7041    field public static final int DEVICE_EVENT_ADD_DEVICE = 1; // 0x1
7042    field public static final int DEVICE_EVENT_REMOVE_DEVICE = 2; // 0x2
7043    field public static final int DEVICE_EVENT_UPDATE_DEVICE = 3; // 0x3
7044    field public static final int EARC_FEATURE_DISABLED = 0; // 0x0
7045    field public static final int EARC_FEATURE_ENABLED = 1; // 0x1
7046    field public static final String EXTRA_MESSAGE_EXTRA_PARAM1 = "android.hardware.hdmi.extra.MESSAGE_EXTRA_PARAM1";
7047    field public static final String EXTRA_MESSAGE_ID = "android.hardware.hdmi.extra.MESSAGE_ID";
7048    field public static final int HDMI_CEC_CONTROL_DISABLED = 0; // 0x0
7049    field public static final int HDMI_CEC_CONTROL_ENABLED = 1; // 0x1
7050    field public static final int HDMI_CEC_VERSION_1_4_B = 5; // 0x5
7051    field public static final int HDMI_CEC_VERSION_2_0 = 6; // 0x6
7052    field public static final int ONE_TOUCH_RECORD_ALREADY_RECORDING = 18; // 0x12
7053    field public static final int ONE_TOUCH_RECORD_CEC_DISABLED = 51; // 0x33
7054    field public static final int ONE_TOUCH_RECORD_CHECK_RECORDER_CONNECTION = 49; // 0x31
7055    field public static final int ONE_TOUCH_RECORD_DISALLOW_TO_COPY = 13; // 0xd
7056    field public static final int ONE_TOUCH_RECORD_DISALLOW_TO_FUTHER_COPIES = 14; // 0xe
7057    field public static final int ONE_TOUCH_RECORD_FAIL_TO_RECORD_DISPLAYED_SCREEN = 50; // 0x32
7058    field public static final int ONE_TOUCH_RECORD_INVALID_EXTERNAL_PHYSICAL_ADDRESS = 10; // 0xa
7059    field public static final int ONE_TOUCH_RECORD_INVALID_EXTERNAL_PLUG_NUMBER = 9; // 0x9
7060    field public static final int ONE_TOUCH_RECORD_MEDIA_PROBLEM = 21; // 0x15
7061    field public static final int ONE_TOUCH_RECORD_MEDIA_PROTECTED = 19; // 0x13
7062    field public static final int ONE_TOUCH_RECORD_NOT_ENOUGH_SPACE = 22; // 0x16
7063    field public static final int ONE_TOUCH_RECORD_NO_MEDIA = 16; // 0x10
7064    field public static final int ONE_TOUCH_RECORD_NO_OR_INSUFFICIENT_CA_ENTITLEMENTS = 12; // 0xc
7065    field public static final int ONE_TOUCH_RECORD_NO_SOURCE_SIGNAL = 20; // 0x14
7066    field public static final int ONE_TOUCH_RECORD_OTHER_REASON = 31; // 0x1f
7067    field public static final int ONE_TOUCH_RECORD_PARENT_LOCK_ON = 23; // 0x17
7068    field public static final int ONE_TOUCH_RECORD_PLAYING = 17; // 0x11
7069    field public static final int ONE_TOUCH_RECORD_PREVIOUS_RECORDING_IN_PROGRESS = 48; // 0x30
7070    field public static final int ONE_TOUCH_RECORD_RECORDING_ALREADY_TERMINATED = 27; // 0x1b
7071    field public static final int ONE_TOUCH_RECORD_RECORDING_ANALOGUE_SERVICE = 3; // 0x3
7072    field public static final int ONE_TOUCH_RECORD_RECORDING_CURRENTLY_SELECTED_SOURCE = 1; // 0x1
7073    field public static final int ONE_TOUCH_RECORD_RECORDING_DIGITAL_SERVICE = 2; // 0x2
7074    field public static final int ONE_TOUCH_RECORD_RECORDING_EXTERNAL_INPUT = 4; // 0x4
7075    field public static final int ONE_TOUCH_RECORD_RECORDING_TERMINATED_NORMALLY = 26; // 0x1a
7076    field public static final int ONE_TOUCH_RECORD_UNABLE_ANALOGUE_SERVICE = 6; // 0x6
7077    field public static final int ONE_TOUCH_RECORD_UNABLE_DIGITAL_SERVICE = 5; // 0x5
7078    field public static final int ONE_TOUCH_RECORD_UNABLE_SELECTED_SERVICE = 7; // 0x7
7079    field public static final int ONE_TOUCH_RECORD_UNSUPPORTED_CA = 11; // 0xb
7080    field public static final int OSD_MESSAGE_ARC_CONNECTED_INVALID_PORT = 1; // 0x1
7081    field public static final int OSD_MESSAGE_AVR_VOLUME_CHANGED = 2; // 0x2
7082    field public static final String POWER_CONTROL_MODE_BROADCAST = "broadcast";
7083    field public static final String POWER_CONTROL_MODE_NONE = "none";
7084    field public static final String POWER_CONTROL_MODE_TV = "to_tv";
7085    field public static final String POWER_CONTROL_MODE_TV_AND_AUDIO_SYSTEM = "to_tv_and_audio_system";
7086    field public static final String POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST_NONE = "none";
7087    field public static final String POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST_STANDBY_NOW = "standby_now";
7088    field public static final int POWER_STATUS_ON = 0; // 0x0
7089    field public static final int POWER_STATUS_STANDBY = 1; // 0x1
7090    field public static final int POWER_STATUS_TRANSIENT_TO_ON = 2; // 0x2
7091    field public static final int POWER_STATUS_TRANSIENT_TO_STANDBY = 3; // 0x3
7092    field public static final int POWER_STATUS_UNKNOWN = -1; // 0xffffffff
7093    field public static final int QUERY_SAD_DISABLED = 0; // 0x0
7094    field public static final int QUERY_SAD_ENABLED = 1; // 0x1
7095    field @Deprecated public static final int RESULT_ALREADY_IN_PROGRESS = 4; // 0x4
7096    field public static final int RESULT_COMMUNICATION_FAILED = 7; // 0x7
7097    field public static final int RESULT_EXCEPTION = 5; // 0x5
7098    field public static final int RESULT_INCORRECT_MODE = 6; // 0x6
7099    field public static final int RESULT_SOURCE_NOT_AVAILABLE = 2; // 0x2
7100    field public static final int RESULT_SUCCESS = 0; // 0x0
7101    field public static final int RESULT_TARGET_NOT_AVAILABLE = 3; // 0x3
7102    field public static final int RESULT_TIMEOUT = 1; // 0x1
7103    field public static final int ROUTING_CONTROL_DISABLED = 0; // 0x0
7104    field public static final int ROUTING_CONTROL_ENABLED = 1; // 0x1
7105    field public static final String SETTING_NAME_EARC_ENABLED = "earc_enabled";
7106    field public static final int SOUNDBAR_MODE_DISABLED = 0; // 0x0
7107    field public static final int SOUNDBAR_MODE_ENABLED = 1; // 0x1
7108    field public static final int SYSTEM_AUDIO_CONTROL_DISABLED = 0; // 0x0
7109    field public static final int SYSTEM_AUDIO_CONTROL_ENABLED = 1; // 0x1
7110    field public static final int SYSTEM_AUDIO_MODE_MUTING_DISABLED = 0; // 0x0
7111    field public static final int SYSTEM_AUDIO_MODE_MUTING_ENABLED = 1; // 0x1
7112    field public static final int TIMER_RECORDING_RESULT_EXTRA_CEC_DISABLED = 3; // 0x3
7113    field public static final int TIMER_RECORDING_RESULT_EXTRA_CHECK_RECORDER_CONNECTION = 1; // 0x1
7114    field public static final int TIMER_RECORDING_RESULT_EXTRA_FAIL_TO_RECORD_SELECTED_SOURCE = 2; // 0x2
7115    field public static final int TIMER_RECORDING_RESULT_EXTRA_NO_ERROR = 0; // 0x0
7116    field public static final int TIMER_RECORDING_TYPE_ANALOGUE = 2; // 0x2
7117    field public static final int TIMER_RECORDING_TYPE_DIGITAL = 1; // 0x1
7118    field public static final int TIMER_RECORDING_TYPE_EXTERNAL = 3; // 0x3
7119    field public static final int TIMER_STATUS_MEDIA_INFO_NOT_PRESENT = 2; // 0x2
7120    field public static final int TIMER_STATUS_MEDIA_INFO_PRESENT_NOT_PROTECTED = 0; // 0x0
7121    field public static final int TIMER_STATUS_MEDIA_INFO_PRESENT_PROTECTED = 1; // 0x1
7122    field public static final int TIMER_STATUS_NOT_PROGRAMMED_CA_NOT_SUPPORTED = 6; // 0x6
7123    field public static final int TIMER_STATUS_NOT_PROGRAMMED_CLOCK_FAILURE = 10; // 0xa
7124    field public static final int TIMER_STATUS_NOT_PROGRAMMED_DATE_OUT_OF_RANGE = 2; // 0x2
7125    field public static final int TIMER_STATUS_NOT_PROGRAMMED_DUPLICATED = 14; // 0xe
7126    field public static final int TIMER_STATUS_NOT_PROGRAMMED_INVALID_EXTERNAL_PHYSICAL_NUMBER = 5; // 0x5
7127    field public static final int TIMER_STATUS_NOT_PROGRAMMED_INVALID_EXTERNAL_PLUG_NUMBER = 4; // 0x4
7128    field public static final int TIMER_STATUS_NOT_PROGRAMMED_INVALID_SEQUENCE = 3; // 0x3
7129    field public static final int TIMER_STATUS_NOT_PROGRAMMED_NO_CA_ENTITLEMENTS = 7; // 0x7
7130    field public static final int TIMER_STATUS_NOT_PROGRAMMED_NO_FREE_TIME = 1; // 0x1
7131    field public static final int TIMER_STATUS_NOT_PROGRAMMED_PARENTAL_LOCK_ON = 9; // 0x9
7132    field public static final int TIMER_STATUS_NOT_PROGRAMMED_UNSUPPORTED_RESOLUTION = 8; // 0x8
7133    field public static final int TIMER_STATUS_PROGRAMMED_INFO_ENOUGH_SPACE = 8; // 0x8
7134    field public static final int TIMER_STATUS_PROGRAMMED_INFO_MIGHT_NOT_ENOUGH_SPACE = 11; // 0xb
7135    field public static final int TIMER_STATUS_PROGRAMMED_INFO_NOT_ENOUGH_SPACE = 9; // 0x9
7136    field public static final int TIMER_STATUS_PROGRAMMED_INFO_NO_MEDIA_INFO = 10; // 0xa
7137    field public static final int TV_SEND_STANDBY_ON_SLEEP_DISABLED = 0; // 0x0
7138    field public static final int TV_SEND_STANDBY_ON_SLEEP_ENABLED = 1; // 0x1
7139    field public static final int TV_WAKE_ON_ONE_TOUCH_PLAY_DISABLED = 0; // 0x0
7140    field public static final int TV_WAKE_ON_ONE_TOUCH_PLAY_ENABLED = 1; // 0x1
7141    field public static final int VOLUME_CONTROL_DISABLED = 0; // 0x0
7142    field public static final int VOLUME_CONTROL_ENABLED = 1; // 0x1
7143  }
7144
7145  public static interface HdmiControlManager.CecSettingChangeListener {
7146    method public void onChange(@NonNull String);
7147  }
7148
7149  public static interface HdmiControlManager.HotplugEventListener {
7150    method public void onReceived(android.hardware.hdmi.HdmiHotplugEvent);
7151  }
7152
7153  public static interface HdmiControlManager.VendorCommandListener {
7154    method public void onControlStateChanged(boolean, int);
7155    method public void onReceived(int, int, byte[], boolean);
7156  }
7157
7158  public class HdmiDeviceInfo implements android.os.Parcelable {
7159    ctor @Deprecated public HdmiDeviceInfo();
7160    method public int describeContents();
7161    method public int getAdopterId();
7162    method public int getDeviceId();
7163    method public int getDevicePowerStatus();
7164    method public int getDeviceType();
7165    method public String getDisplayName();
7166    method public int getId();
7167    method public int getLogicalAddress();
7168    method public int getPhysicalAddress();
7169    method public int getPortId();
7170    method public int getVendorId();
7171    method public static int idForCecDevice(int);
7172    method public static int idForHardware(int);
7173    method public static int idForMhlDevice(int);
7174    method public boolean isCecDevice();
7175    method public boolean isInactivated();
7176    method public boolean isMhlDevice();
7177    method public boolean isSourceType();
7178    method public void writeToParcel(android.os.Parcel, int);
7179    field public static final int ADDR_INTERNAL = 0; // 0x0
7180    field public static final int ADDR_INVALID = -1; // 0xffffffff
7181    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.hdmi.HdmiDeviceInfo> CREATOR;
7182    field public static final int DEVICE_AUDIO_SYSTEM = 5; // 0x5
7183    field public static final int DEVICE_INACTIVE = -1; // 0xffffffff
7184    field public static final int DEVICE_PLAYBACK = 4; // 0x4
7185    field public static final int DEVICE_RECORDER = 1; // 0x1
7186    field public static final int DEVICE_RESERVED = 2; // 0x2
7187    field public static final int DEVICE_TUNER = 3; // 0x3
7188    field public static final int DEVICE_TV = 0; // 0x0
7189    field public static final int ID_INVALID = 65535; // 0xffff
7190    field public static final android.hardware.hdmi.HdmiDeviceInfo INACTIVE_DEVICE;
7191    field public static final int PATH_INTERNAL = 0; // 0x0
7192    field public static final int PATH_INVALID = 65535; // 0xffff
7193    field public static final int PORT_INVALID = -1; // 0xffffffff
7194    field public static final int VENDOR_ID_UNKNOWN = 16777215; // 0xffffff
7195  }
7196
7197  public final class HdmiHotplugEvent implements android.os.Parcelable {
7198    method public int describeContents();
7199    method public int getPort();
7200    method public boolean isConnected();
7201    method public void writeToParcel(android.os.Parcel, int);
7202    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.hdmi.HdmiHotplugEvent> CREATOR;
7203  }
7204
7205  public final class HdmiPlaybackClient extends android.hardware.hdmi.HdmiClient {
7206    method public int getDeviceType();
7207    method public void oneTouchPlay(android.hardware.hdmi.HdmiPlaybackClient.OneTouchPlayCallback);
7208    method public void queryDisplayStatus(android.hardware.hdmi.HdmiPlaybackClient.DisplayStatusCallback);
7209    method public void sendStandby();
7210  }
7211
7212  public static interface HdmiPlaybackClient.DisplayStatusCallback {
7213    method public void onComplete(int);
7214  }
7215
7216  public static interface HdmiPlaybackClient.OneTouchPlayCallback {
7217    method public void onComplete(int);
7218  }
7219
7220  public final class HdmiPortInfo implements android.os.Parcelable {
7221    ctor @Deprecated public HdmiPortInfo(int, int, int, boolean, boolean, boolean);
7222    method public int describeContents();
7223    method public int getAddress();
7224    method public int getId();
7225    method public int getType();
7226    method public boolean isArcSupported();
7227    method public boolean isCecSupported();
7228    method public boolean isEarcSupported();
7229    method public boolean isMhlSupported();
7230    method public void writeToParcel(android.os.Parcel, int);
7231    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.hdmi.HdmiPortInfo> CREATOR;
7232    field public static final int PORT_INPUT = 0; // 0x0
7233    field public static final int PORT_OUTPUT = 1; // 0x1
7234  }
7235
7236  public static final class HdmiPortInfo.Builder {
7237    ctor public HdmiPortInfo.Builder(int, int, int);
7238    method @NonNull public android.hardware.hdmi.HdmiPortInfo build();
7239    method @NonNull public android.hardware.hdmi.HdmiPortInfo.Builder setArcSupported(boolean);
7240    method @NonNull public android.hardware.hdmi.HdmiPortInfo.Builder setCecSupported(boolean);
7241    method @NonNull public android.hardware.hdmi.HdmiPortInfo.Builder setEarcSupported(boolean);
7242    method @NonNull public android.hardware.hdmi.HdmiPortInfo.Builder setMhlSupported(boolean);
7243  }
7244
7245  public abstract class HdmiRecordListener {
7246    ctor public HdmiRecordListener();
7247    method public void onClearTimerRecordingResult(int, int);
7248    method public void onOneTouchRecordResult(int, int);
7249    method public abstract android.hardware.hdmi.HdmiRecordSources.RecordSource onOneTouchRecordSourceRequested(int);
7250    method public void onTimerRecordingResult(int, android.hardware.hdmi.HdmiRecordListener.TimerStatusData);
7251  }
7252
7253  public static class HdmiRecordListener.TimerStatusData {
7254    method public int getDurationHour();
7255    method public int getDurationMinute();
7256    method public int getExtraError();
7257    method public int getMediaInfo();
7258    method public int getNotProgammedError();
7259    method public int getProgrammedInfo();
7260    method public boolean isOverlapped();
7261    method public boolean isProgrammed();
7262  }
7263
7264  public final class HdmiRecordSources {
7265    method public static boolean checkRecordSource(byte[]);
7266    method public static android.hardware.hdmi.HdmiRecordSources.OwnSource ofOwnSource();
7267  }
7268
7269  public static final class HdmiRecordSources.AnalogueServiceSource extends android.hardware.hdmi.HdmiRecordSources.RecordSource {
7270  }
7271
7272  public static final class HdmiRecordSources.DigitalServiceSource extends android.hardware.hdmi.HdmiRecordSources.RecordSource {
7273  }
7274
7275  public static final class HdmiRecordSources.ExternalPhysicalAddress extends android.hardware.hdmi.HdmiRecordSources.RecordSource {
7276  }
7277
7278  public static final class HdmiRecordSources.ExternalPlugData extends android.hardware.hdmi.HdmiRecordSources.RecordSource {
7279  }
7280
7281  public static final class HdmiRecordSources.OwnSource extends android.hardware.hdmi.HdmiRecordSources.RecordSource {
7282  }
7283
7284  public abstract static class HdmiRecordSources.RecordSource {
7285  }
7286
7287  public class HdmiSwitchClient extends android.hardware.hdmi.HdmiClient {
7288    method public int getDeviceType();
7289    method @Deprecated @NonNull public java.util.List<android.hardware.hdmi.HdmiPortInfo> getPortInfo();
7290    method public void selectPort(int, @NonNull android.hardware.hdmi.HdmiSwitchClient.OnSelectListener);
7291    method public void selectPort(int, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.hdmi.HdmiSwitchClient.OnSelectListener);
7292  }
7293
7294  public static interface HdmiSwitchClient.OnSelectListener {
7295    method public void onSelect(int);
7296  }
7297
7298  public class HdmiTimerRecordSources {
7299    method public static boolean checkTimerRecordSource(int, byte[]);
7300    method public static android.hardware.hdmi.HdmiTimerRecordSources.Duration durationOf(int, int);
7301    method public static android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource ofAnalogueSource(android.hardware.hdmi.HdmiTimerRecordSources.TimerInfo, android.hardware.hdmi.HdmiRecordSources.AnalogueServiceSource);
7302    method public static android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource ofDigitalSource(android.hardware.hdmi.HdmiTimerRecordSources.TimerInfo, android.hardware.hdmi.HdmiRecordSources.DigitalServiceSource);
7303    method public static android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource ofExternalPhysicalAddress(android.hardware.hdmi.HdmiTimerRecordSources.TimerInfo, android.hardware.hdmi.HdmiRecordSources.ExternalPhysicalAddress);
7304    method public static android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource ofExternalPlug(android.hardware.hdmi.HdmiTimerRecordSources.TimerInfo, android.hardware.hdmi.HdmiRecordSources.ExternalPlugData);
7305    method public static android.hardware.hdmi.HdmiTimerRecordSources.Time timeOf(int, int);
7306    method public static android.hardware.hdmi.HdmiTimerRecordSources.TimerInfo timerInfoOf(int, int, android.hardware.hdmi.HdmiTimerRecordSources.Time, android.hardware.hdmi.HdmiTimerRecordSources.Duration, int);
7307    field public static final int RECORDING_SEQUENCE_REPEAT_FRIDAY = 32; // 0x20
7308    field public static final int RECORDING_SEQUENCE_REPEAT_MONDAY = 2; // 0x2
7309    field public static final int RECORDING_SEQUENCE_REPEAT_ONCE_ONLY = 0; // 0x0
7310    field public static final int RECORDING_SEQUENCE_REPEAT_SATUREDAY = 64; // 0x40
7311    field public static final int RECORDING_SEQUENCE_REPEAT_SUNDAY = 1; // 0x1
7312    field public static final int RECORDING_SEQUENCE_REPEAT_THURSDAY = 16; // 0x10
7313    field public static final int RECORDING_SEQUENCE_REPEAT_TUESDAY = 4; // 0x4
7314    field public static final int RECORDING_SEQUENCE_REPEAT_WEDNESDAY = 8; // 0x8
7315  }
7316
7317  public static final class HdmiTimerRecordSources.Duration {
7318  }
7319
7320  public static final class HdmiTimerRecordSources.Time {
7321  }
7322
7323  public static final class HdmiTimerRecordSources.TimerInfo {
7324  }
7325
7326  public static final class HdmiTimerRecordSources.TimerRecordSource {
7327  }
7328
7329  public final class HdmiTvClient extends android.hardware.hdmi.HdmiClient {
7330    method public void clearTimerRecording(int, int, android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource);
7331    method @Deprecated public void deviceSelect(int, @NonNull android.hardware.hdmi.HdmiTvClient.SelectCallback);
7332    method @Deprecated public java.util.List<android.hardware.hdmi.HdmiDeviceInfo> getDeviceList();
7333    method public int getDeviceType();
7334    method public void portSelect(int, @NonNull android.hardware.hdmi.HdmiTvClient.SelectCallback);
7335    method public void sendMhlVendorCommand(int, int, int, byte[]);
7336    method public void sendStandby(int);
7337    method public void setHdmiMhlVendorCommandListener(android.hardware.hdmi.HdmiTvClient.HdmiMhlVendorCommandListener);
7338    method public void setInputChangeListener(android.hardware.hdmi.HdmiTvClient.InputChangeListener);
7339    method public void setRecordListener(@NonNull android.hardware.hdmi.HdmiRecordListener);
7340    method public void setSystemAudioMode(boolean, android.hardware.hdmi.HdmiTvClient.SelectCallback);
7341    method public void setSystemAudioMute(boolean);
7342    method public void setSystemAudioVolume(int, int, int);
7343    method public void startOneTouchRecord(int, @NonNull android.hardware.hdmi.HdmiRecordSources.RecordSource);
7344    method public void startTimerRecording(int, int, android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource);
7345    method public void stopOneTouchRecord(int);
7346    field public static final int VENDOR_DATA_SIZE = 16; // 0x10
7347  }
7348
7349  public static interface HdmiTvClient.HdmiMhlVendorCommandListener {
7350    method public void onReceived(int, int, int, byte[]);
7351  }
7352
7353  public static interface HdmiTvClient.InputChangeListener {
7354    method public void onChanged(android.hardware.hdmi.HdmiDeviceInfo);
7355  }
7356
7357  public static interface HdmiTvClient.SelectCallback {
7358    method public void onComplete(int);
7359  }
7360
7361}
7362
7363package android.hardware.input {
7364
7365  public class VirtualDpad implements java.io.Closeable {
7366    method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void close();
7367    method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void sendKeyEvent(@NonNull android.hardware.input.VirtualKeyEvent);
7368  }
7369
7370  public final class VirtualDpadConfig extends android.hardware.input.VirtualInputDeviceConfig implements android.os.Parcelable {
7371    method public int describeContents();
7372    method public void writeToParcel(@NonNull android.os.Parcel, int);
7373    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualDpadConfig> CREATOR;
7374  }
7375
7376  public static final class VirtualDpadConfig.Builder extends android.hardware.input.VirtualInputDeviceConfig.Builder<android.hardware.input.VirtualDpadConfig.Builder> {
7377    ctor public VirtualDpadConfig.Builder();
7378    method @NonNull public android.hardware.input.VirtualDpadConfig build();
7379  }
7380
7381  public abstract class VirtualInputDeviceConfig {
7382    ctor protected VirtualInputDeviceConfig(@NonNull android.hardware.input.VirtualInputDeviceConfig.Builder<? extends android.hardware.input.VirtualInputDeviceConfig.Builder<?>>);
7383    ctor protected VirtualInputDeviceConfig(@NonNull android.os.Parcel);
7384    method public int getAssociatedDisplayId();
7385    method @NonNull public String getInputDeviceName();
7386    method public int getProductId();
7387    method public int getVendorId();
7388  }
7389
7390  public abstract static class VirtualInputDeviceConfig.Builder<T extends android.hardware.input.VirtualInputDeviceConfig.Builder<T>> {
7391    ctor public VirtualInputDeviceConfig.Builder();
7392    method @NonNull public T setAssociatedDisplayId(int);
7393    method @NonNull public T setInputDeviceName(@NonNull String);
7394    method @NonNull public T setProductId(int);
7395    method @NonNull public T setVendorId(int);
7396  }
7397
7398  public final class VirtualKeyEvent implements android.os.Parcelable {
7399    method public int describeContents();
7400    method public int getAction();
7401    method public long getEventTimeNanos();
7402    method public int getKeyCode();
7403    method public void writeToParcel(@NonNull android.os.Parcel, int);
7404    field public static final int ACTION_DOWN = 0; // 0x0
7405    field public static final int ACTION_UP = 1; // 0x1
7406    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualKeyEvent> CREATOR;
7407  }
7408
7409  public static final class VirtualKeyEvent.Builder {
7410    ctor public VirtualKeyEvent.Builder();
7411    method @NonNull public android.hardware.input.VirtualKeyEvent build();
7412    method @NonNull public android.hardware.input.VirtualKeyEvent.Builder setAction(int);
7413    method @NonNull public android.hardware.input.VirtualKeyEvent.Builder setEventTimeNanos(long);
7414    method @NonNull public android.hardware.input.VirtualKeyEvent.Builder setKeyCode(int);
7415  }
7416
7417  public class VirtualKeyboard implements java.io.Closeable {
7418    method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void close();
7419    method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void sendKeyEvent(@NonNull android.hardware.input.VirtualKeyEvent);
7420  }
7421
7422  public final class VirtualKeyboardConfig extends android.hardware.input.VirtualInputDeviceConfig implements android.os.Parcelable {
7423    method public int describeContents();
7424    method @NonNull public String getLanguageTag();
7425    method @NonNull public String getLayoutType();
7426    method public void writeToParcel(@NonNull android.os.Parcel, int);
7427    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualKeyboardConfig> CREATOR;
7428    field public static final String DEFAULT_LANGUAGE_TAG = "en-Latn-US";
7429    field public static final String DEFAULT_LAYOUT_TYPE = "qwerty";
7430  }
7431
7432  public static final class VirtualKeyboardConfig.Builder extends android.hardware.input.VirtualInputDeviceConfig.Builder<android.hardware.input.VirtualKeyboardConfig.Builder> {
7433    ctor public VirtualKeyboardConfig.Builder();
7434    method @NonNull public android.hardware.input.VirtualKeyboardConfig build();
7435    method @NonNull public android.hardware.input.VirtualKeyboardConfig.Builder setLanguageTag(@NonNull String);
7436    method @NonNull public android.hardware.input.VirtualKeyboardConfig.Builder setLayoutType(@NonNull String);
7437  }
7438
7439  public class VirtualMouse implements java.io.Closeable {
7440    method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void close();
7441    method @NonNull @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public android.graphics.PointF getCursorPosition();
7442    method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void sendButtonEvent(@NonNull android.hardware.input.VirtualMouseButtonEvent);
7443    method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void sendRelativeEvent(@NonNull android.hardware.input.VirtualMouseRelativeEvent);
7444    method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void sendScrollEvent(@NonNull android.hardware.input.VirtualMouseScrollEvent);
7445  }
7446
7447  public final class VirtualMouseButtonEvent implements android.os.Parcelable {
7448    method public int describeContents();
7449    method public int getAction();
7450    method public int getButtonCode();
7451    method public long getEventTimeNanos();
7452    method public void writeToParcel(@NonNull android.os.Parcel, int);
7453    field public static final int ACTION_BUTTON_PRESS = 11; // 0xb
7454    field public static final int ACTION_BUTTON_RELEASE = 12; // 0xc
7455    field public static final int BUTTON_BACK = 8; // 0x8
7456    field public static final int BUTTON_FORWARD = 16; // 0x10
7457    field public static final int BUTTON_PRIMARY = 1; // 0x1
7458    field public static final int BUTTON_SECONDARY = 2; // 0x2
7459    field public static final int BUTTON_TERTIARY = 4; // 0x4
7460    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualMouseButtonEvent> CREATOR;
7461  }
7462
7463  public static final class VirtualMouseButtonEvent.Builder {
7464    ctor public VirtualMouseButtonEvent.Builder();
7465    method @NonNull public android.hardware.input.VirtualMouseButtonEvent build();
7466    method @NonNull public android.hardware.input.VirtualMouseButtonEvent.Builder setAction(int);
7467    method @NonNull public android.hardware.input.VirtualMouseButtonEvent.Builder setButtonCode(int);
7468    method @NonNull public android.hardware.input.VirtualMouseButtonEvent.Builder setEventTimeNanos(long);
7469  }
7470
7471  public final class VirtualMouseConfig extends android.hardware.input.VirtualInputDeviceConfig implements android.os.Parcelable {
7472    method public int describeContents();
7473    method public void writeToParcel(@NonNull android.os.Parcel, int);
7474    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualMouseConfig> CREATOR;
7475  }
7476
7477  public static final class VirtualMouseConfig.Builder extends android.hardware.input.VirtualInputDeviceConfig.Builder<android.hardware.input.VirtualMouseConfig.Builder> {
7478    ctor public VirtualMouseConfig.Builder();
7479    method @NonNull public android.hardware.input.VirtualMouseConfig build();
7480  }
7481
7482  public final class VirtualMouseRelativeEvent implements android.os.Parcelable {
7483    method public int describeContents();
7484    method public long getEventTimeNanos();
7485    method public float getRelativeX();
7486    method public float getRelativeY();
7487    method public void writeToParcel(@NonNull android.os.Parcel, int);
7488    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualMouseRelativeEvent> CREATOR;
7489  }
7490
7491  public static final class VirtualMouseRelativeEvent.Builder {
7492    ctor public VirtualMouseRelativeEvent.Builder();
7493    method @NonNull public android.hardware.input.VirtualMouseRelativeEvent build();
7494    method @NonNull public android.hardware.input.VirtualMouseRelativeEvent.Builder setEventTimeNanos(long);
7495    method @NonNull public android.hardware.input.VirtualMouseRelativeEvent.Builder setRelativeX(float);
7496    method @NonNull public android.hardware.input.VirtualMouseRelativeEvent.Builder setRelativeY(float);
7497  }
7498
7499  public final class VirtualMouseScrollEvent implements android.os.Parcelable {
7500    method public int describeContents();
7501    method public long getEventTimeNanos();
7502    method public float getXAxisMovement();
7503    method public float getYAxisMovement();
7504    method public void writeToParcel(@NonNull android.os.Parcel, int);
7505    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualMouseScrollEvent> CREATOR;
7506  }
7507
7508  public static final class VirtualMouseScrollEvent.Builder {
7509    ctor public VirtualMouseScrollEvent.Builder();
7510    method @NonNull public android.hardware.input.VirtualMouseScrollEvent build();
7511    method @NonNull public android.hardware.input.VirtualMouseScrollEvent.Builder setEventTimeNanos(long);
7512    method @NonNull public android.hardware.input.VirtualMouseScrollEvent.Builder setXAxisMovement(@FloatRange(from=-1.0F, to=1.0f) float);
7513    method @NonNull public android.hardware.input.VirtualMouseScrollEvent.Builder setYAxisMovement(@FloatRange(from=-1.0F, to=1.0f) float);
7514  }
7515
7516  public class VirtualNavigationTouchpad implements java.io.Closeable {
7517    method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void close();
7518    method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void sendTouchEvent(@NonNull android.hardware.input.VirtualTouchEvent);
7519  }
7520
7521  public final class VirtualNavigationTouchpadConfig extends android.hardware.input.VirtualInputDeviceConfig implements android.os.Parcelable {
7522    method public int describeContents();
7523    method @IntRange(from=1) public int getHeight();
7524    method @IntRange(from=1) public int getWidth();
7525    method public void writeToParcel(@NonNull android.os.Parcel, int);
7526    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualNavigationTouchpadConfig> CREATOR;
7527  }
7528
7529  public static final class VirtualNavigationTouchpadConfig.Builder extends android.hardware.input.VirtualInputDeviceConfig.Builder<android.hardware.input.VirtualNavigationTouchpadConfig.Builder> {
7530    ctor public VirtualNavigationTouchpadConfig.Builder(@IntRange(from=1) int, @IntRange(from=1) int);
7531    method @NonNull public android.hardware.input.VirtualNavigationTouchpadConfig build();
7532  }
7533
7534  public class VirtualStylus implements java.io.Closeable {
7535    method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void close();
7536    method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void sendButtonEvent(@NonNull android.hardware.input.VirtualStylusButtonEvent);
7537    method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void sendMotionEvent(@NonNull android.hardware.input.VirtualStylusMotionEvent);
7538  }
7539
7540  public final class VirtualStylusButtonEvent implements android.os.Parcelable {
7541    method public int describeContents();
7542    method public int getAction();
7543    method public int getButtonCode();
7544    method public long getEventTimeNanos();
7545    method public void writeToParcel(@NonNull android.os.Parcel, int);
7546    field public static final int ACTION_BUTTON_PRESS = 11; // 0xb
7547    field public static final int ACTION_BUTTON_RELEASE = 12; // 0xc
7548    field public static final int BUTTON_PRIMARY = 32; // 0x20
7549    field public static final int BUTTON_SECONDARY = 64; // 0x40
7550    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualStylusButtonEvent> CREATOR;
7551  }
7552
7553  public static final class VirtualStylusButtonEvent.Builder {
7554    ctor public VirtualStylusButtonEvent.Builder();
7555    method @NonNull public android.hardware.input.VirtualStylusButtonEvent build();
7556    method @NonNull public android.hardware.input.VirtualStylusButtonEvent.Builder setAction(int);
7557    method @NonNull public android.hardware.input.VirtualStylusButtonEvent.Builder setButtonCode(int);
7558    method @NonNull public android.hardware.input.VirtualStylusButtonEvent.Builder setEventTimeNanos(long);
7559  }
7560
7561  public final class VirtualStylusConfig extends android.hardware.input.VirtualInputDeviceConfig implements android.os.Parcelable {
7562    method public int describeContents();
7563    method public int getHeight();
7564    method public int getWidth();
7565    method public void writeToParcel(@NonNull android.os.Parcel, int);
7566    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualStylusConfig> CREATOR;
7567  }
7568
7569  public static final class VirtualStylusConfig.Builder extends android.hardware.input.VirtualInputDeviceConfig.Builder<android.hardware.input.VirtualStylusConfig.Builder> {
7570    ctor public VirtualStylusConfig.Builder(@IntRange(from=1) int, @IntRange(from=1) int);
7571    method @NonNull public android.hardware.input.VirtualStylusConfig build();
7572  }
7573
7574  public final class VirtualStylusMotionEvent implements android.os.Parcelable {
7575    method public int describeContents();
7576    method public int getAction();
7577    method public long getEventTimeNanos();
7578    method public int getPressure();
7579    method public int getTiltX();
7580    method public int getTiltY();
7581    method public int getToolType();
7582    method public int getX();
7583    method public int getY();
7584    method public void writeToParcel(@NonNull android.os.Parcel, int);
7585    field public static final int ACTION_DOWN = 0; // 0x0
7586    field public static final int ACTION_MOVE = 2; // 0x2
7587    field public static final int ACTION_UP = 1; // 0x1
7588    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualStylusMotionEvent> CREATOR;
7589    field public static final int TOOL_TYPE_ERASER = 4; // 0x4
7590    field public static final int TOOL_TYPE_STYLUS = 2; // 0x2
7591  }
7592
7593  public static final class VirtualStylusMotionEvent.Builder {
7594    ctor public VirtualStylusMotionEvent.Builder();
7595    method @NonNull public android.hardware.input.VirtualStylusMotionEvent build();
7596    method @NonNull public android.hardware.input.VirtualStylusMotionEvent.Builder setAction(int);
7597    method @NonNull public android.hardware.input.VirtualStylusMotionEvent.Builder setEventTimeNanos(long);
7598    method @NonNull public android.hardware.input.VirtualStylusMotionEvent.Builder setPressure(@IntRange(from=0x0, to=0xff) int);
7599    method @NonNull public android.hardware.input.VirtualStylusMotionEvent.Builder setTiltX(@IntRange(from=0xffffffa6, to=0x5a) int);
7600    method @NonNull public android.hardware.input.VirtualStylusMotionEvent.Builder setTiltY(@IntRange(from=0xffffffa6, to=0x5a) int);
7601    method @NonNull public android.hardware.input.VirtualStylusMotionEvent.Builder setToolType(int);
7602    method @NonNull public android.hardware.input.VirtualStylusMotionEvent.Builder setX(int);
7603    method @NonNull public android.hardware.input.VirtualStylusMotionEvent.Builder setY(int);
7604  }
7605
7606  public final class VirtualTouchEvent implements android.os.Parcelable {
7607    method public int describeContents();
7608    method public int getAction();
7609    method public long getEventTimeNanos();
7610    method public float getMajorAxisSize();
7611    method public int getPointerId();
7612    method public float getPressure();
7613    method public int getToolType();
7614    method public float getX();
7615    method public float getY();
7616    method public void writeToParcel(@NonNull android.os.Parcel, int);
7617    field public static final int ACTION_CANCEL = 3; // 0x3
7618    field public static final int ACTION_DOWN = 0; // 0x0
7619    field public static final int ACTION_MOVE = 2; // 0x2
7620    field public static final int ACTION_UP = 1; // 0x1
7621    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualTouchEvent> CREATOR;
7622    field public static final int TOOL_TYPE_FINGER = 1; // 0x1
7623    field public static final int TOOL_TYPE_PALM = 5; // 0x5
7624  }
7625
7626  public static final class VirtualTouchEvent.Builder {
7627    ctor public VirtualTouchEvent.Builder();
7628    method @NonNull public android.hardware.input.VirtualTouchEvent build();
7629    method @NonNull public android.hardware.input.VirtualTouchEvent.Builder setAction(int);
7630    method @NonNull public android.hardware.input.VirtualTouchEvent.Builder setEventTimeNanos(long);
7631    method @NonNull public android.hardware.input.VirtualTouchEvent.Builder setMajorAxisSize(@FloatRange(from=0.0f) float);
7632    method @NonNull public android.hardware.input.VirtualTouchEvent.Builder setPointerId(@IntRange(from=0, to=0x10 - 1) int);
7633    method @NonNull public android.hardware.input.VirtualTouchEvent.Builder setPressure(@FloatRange(from=0.0f) float);
7634    method @NonNull public android.hardware.input.VirtualTouchEvent.Builder setToolType(int);
7635    method @NonNull public android.hardware.input.VirtualTouchEvent.Builder setX(float);
7636    method @NonNull public android.hardware.input.VirtualTouchEvent.Builder setY(float);
7637  }
7638
7639  public class VirtualTouchscreen implements java.io.Closeable {
7640    method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void close();
7641    method @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public void sendTouchEvent(@NonNull android.hardware.input.VirtualTouchEvent);
7642  }
7643
7644  public final class VirtualTouchscreenConfig extends android.hardware.input.VirtualInputDeviceConfig implements android.os.Parcelable {
7645    method public int describeContents();
7646    method public int getHeight();
7647    method public int getWidth();
7648    method public void writeToParcel(@NonNull android.os.Parcel, int);
7649    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualTouchscreenConfig> CREATOR;
7650  }
7651
7652  public static final class VirtualTouchscreenConfig.Builder extends android.hardware.input.VirtualInputDeviceConfig.Builder<android.hardware.input.VirtualTouchscreenConfig.Builder> {
7653    ctor public VirtualTouchscreenConfig.Builder(@IntRange(from=1) int, @IntRange(from=1) int);
7654    method @NonNull public android.hardware.input.VirtualTouchscreenConfig build();
7655  }
7656
7657}
7658
7659package android.hardware.lights {
7660
7661  public final class LightState implements android.os.Parcelable {
7662    ctor @Deprecated public LightState(@ColorInt int);
7663  }
7664
7665  public abstract class LightsManager {
7666    field @Deprecated public static final int LIGHT_TYPE_MICROPHONE = 8; // 0x8
7667  }
7668
7669  public static final class LightsRequest.Builder {
7670    method @Deprecated @NonNull public android.hardware.lights.LightsRequest.Builder setLight(@NonNull android.hardware.lights.Light, @NonNull android.hardware.lights.LightState);
7671  }
7672
7673}
7674
7675package android.hardware.location {
7676
7677  public class ContextHubClient implements java.io.Closeable {
7678    method public void close();
7679    method @NonNull public android.hardware.location.ContextHubInfo getAttachedHub();
7680    method @IntRange(from=0, to=65535) public int getId();
7681    method @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public int sendMessageToNanoApp(@NonNull android.hardware.location.NanoAppMessage);
7682    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public android.hardware.location.ContextHubTransaction<java.lang.Void> sendReliableMessageToNanoApp(@NonNull android.hardware.location.NanoAppMessage);
7683  }
7684
7685  public class ContextHubClientCallback {
7686    ctor public ContextHubClientCallback();
7687    method public void onClientAuthorizationChanged(@NonNull android.hardware.location.ContextHubClient, long, int);
7688    method public void onHubReset(android.hardware.location.ContextHubClient);
7689    method public void onMessageFromNanoApp(android.hardware.location.ContextHubClient, android.hardware.location.NanoAppMessage);
7690    method public void onNanoAppAborted(android.hardware.location.ContextHubClient, long, int);
7691    method public void onNanoAppDisabled(android.hardware.location.ContextHubClient, long);
7692    method public void onNanoAppEnabled(android.hardware.location.ContextHubClient, long);
7693    method public void onNanoAppLoaded(android.hardware.location.ContextHubClient, long);
7694    method public void onNanoAppUnloaded(android.hardware.location.ContextHubClient, long);
7695  }
7696
7697  public class ContextHubInfo implements android.os.Parcelable {
7698    ctor public ContextHubInfo();
7699    method public int describeContents();
7700    method public byte getChreApiMajorVersion();
7701    method public byte getChreApiMinorVersion();
7702    method public short getChrePatchVersion();
7703    method public long getChrePlatformId();
7704    method public int getId();
7705    method public int getMaxPacketLengthBytes();
7706    method public android.hardware.location.MemoryRegion[] getMemoryRegions();
7707    method public String getName();
7708    method public float getPeakMips();
7709    method public float getPeakPowerDrawMw();
7710    method public int getPlatformVersion();
7711    method public float getSleepPowerDrawMw();
7712    method public int getStaticSwVersion();
7713    method public float getStoppedPowerDrawMw();
7714    method public int[] getSupportedSensors();
7715    method public String getToolchain();
7716    method public int getToolchainVersion();
7717    method public String getVendor();
7718    method public boolean supportsReliableMessages();
7719    method public void writeToParcel(android.os.Parcel, int);
7720    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.ContextHubInfo> CREATOR;
7721  }
7722
7723  public class ContextHubIntentEvent {
7724    method @NonNull public static android.hardware.location.ContextHubIntentEvent fromIntent(@NonNull android.content.Intent);
7725    method public int getClientAuthorizationState();
7726    method @NonNull public android.hardware.location.ContextHubInfo getContextHubInfo();
7727    method public int getEventType();
7728    method public int getNanoAppAbortCode();
7729    method public long getNanoAppId();
7730    method @NonNull public android.hardware.location.NanoAppMessage getNanoAppMessage();
7731  }
7732
7733  public final class ContextHubManager {
7734    method @NonNull @RequiresPermission(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);
7735    method @NonNull @RequiresPermission(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);
7736    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public android.hardware.location.ContextHubClient createClient(@NonNull android.hardware.location.ContextHubInfo, @NonNull android.app.PendingIntent, long);
7737    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public android.hardware.location.ContextHubClient createClient(@NonNull android.hardware.location.ContextHubInfo, @NonNull android.hardware.location.ContextHubClientCallback);
7738    method @NonNull @RequiresPermission(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);
7739    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public android.hardware.location.ContextHubTransaction<java.lang.Void> disableNanoApp(@NonNull android.hardware.location.ContextHubInfo, long);
7740    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public android.hardware.location.ContextHubTransaction<java.lang.Void> enableNanoApp(@NonNull android.hardware.location.ContextHubInfo, long);
7741    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public int[] findNanoAppOnHub(int, @NonNull android.hardware.location.NanoAppFilter);
7742    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public int[] getContextHubHandles();
7743    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public android.hardware.location.ContextHubInfo getContextHubInfo(int);
7744    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public java.util.List<android.hardware.location.ContextHubInfo> getContextHubs();
7745    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public android.hardware.location.NanoAppInstanceInfo getNanoAppInstanceInfo(int);
7746    method @NonNull @RequiresPermission(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);
7747    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public int loadNanoApp(int, @NonNull android.hardware.location.NanoApp);
7748    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public android.hardware.location.ContextHubTransaction<java.util.List<android.hardware.location.NanoAppState>> queryNanoApps(@NonNull android.hardware.location.ContextHubInfo);
7749    method @Deprecated public int registerCallback(@NonNull android.hardware.location.ContextHubManager.Callback);
7750    method @Deprecated public int registerCallback(android.hardware.location.ContextHubManager.Callback, android.os.Handler);
7751    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public int sendMessage(int, int, @NonNull android.hardware.location.ContextHubMessage);
7752    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public android.hardware.location.ContextHubTransaction<java.lang.Void> unloadNanoApp(@NonNull android.hardware.location.ContextHubInfo, long);
7753    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public int unloadNanoApp(int);
7754    method @Deprecated public int unregisterCallback(@NonNull android.hardware.location.ContextHubManager.Callback);
7755    field public static final int AUTHORIZATION_DENIED = 0; // 0x0
7756    field public static final int AUTHORIZATION_DENIED_GRACE_PERIOD = 1; // 0x1
7757    field public static final int AUTHORIZATION_GRANTED = 2; // 0x2
7758    field public static final int EVENT_CLIENT_AUTHORIZATION = 7; // 0x7
7759    field public static final int EVENT_HUB_RESET = 6; // 0x6
7760    field public static final int EVENT_NANOAPP_ABORTED = 4; // 0x4
7761    field public static final int EVENT_NANOAPP_DISABLED = 3; // 0x3
7762    field public static final int EVENT_NANOAPP_ENABLED = 2; // 0x2
7763    field public static final int EVENT_NANOAPP_LOADED = 0; // 0x0
7764    field public static final int EVENT_NANOAPP_MESSAGE = 5; // 0x5
7765    field public static final int EVENT_NANOAPP_UNLOADED = 1; // 0x1
7766    field public static final String EXTRA_CLIENT_AUTHORIZATION_STATE = "android.hardware.location.extra.CLIENT_AUTHORIZATION_STATE";
7767    field public static final String EXTRA_CONTEXT_HUB_INFO = "android.hardware.location.extra.CONTEXT_HUB_INFO";
7768    field public static final String EXTRA_EVENT_TYPE = "android.hardware.location.extra.EVENT_TYPE";
7769    field public static final String EXTRA_MESSAGE = "android.hardware.location.extra.MESSAGE";
7770    field public static final String EXTRA_NANOAPP_ABORT_CODE = "android.hardware.location.extra.NANOAPP_ABORT_CODE";
7771    field public static final String EXTRA_NANOAPP_ID = "android.hardware.location.extra.NANOAPP_ID";
7772  }
7773
7774  @Deprecated public abstract static class ContextHubManager.Callback {
7775    ctor @Deprecated protected ContextHubManager.Callback();
7776    method @Deprecated public abstract void onMessageReceipt(int, int, @NonNull android.hardware.location.ContextHubMessage);
7777  }
7778
7779  @Deprecated public class ContextHubMessage implements android.os.Parcelable {
7780    ctor @Deprecated public ContextHubMessage(int, int, byte[]);
7781    method @Deprecated public int describeContents();
7782    method @Deprecated public byte[] getData();
7783    method @Deprecated public int getMsgType();
7784    method @Deprecated public int getVersion();
7785    method @Deprecated public void setMsgData(byte[]);
7786    method @Deprecated public void setMsgType(int);
7787    method @Deprecated public void setVersion(int);
7788    method @Deprecated public void writeToParcel(android.os.Parcel, int);
7789    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.ContextHubMessage> CREATOR;
7790  }
7791
7792  public class ContextHubTransaction<T> {
7793    method public int getType();
7794    method public void setOnCompleteListener(@NonNull android.hardware.location.ContextHubTransaction.OnCompleteListener<T>);
7795    method public void setOnCompleteListener(@NonNull android.hardware.location.ContextHubTransaction.OnCompleteListener<T>, @NonNull java.util.concurrent.Executor);
7796    method public static String typeToString(int, boolean);
7797    method public android.hardware.location.ContextHubTransaction.Response<T> waitForResponse(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException, java.util.concurrent.TimeoutException;
7798    field public static final int RESULT_FAILED_AT_HUB = 5; // 0x5
7799    field public static final int RESULT_FAILED_BAD_PARAMS = 2; // 0x2
7800    field public static final int RESULT_FAILED_BUSY = 4; // 0x4
7801    field public static final int RESULT_FAILED_HAL_UNAVAILABLE = 8; // 0x8
7802    field public static final int RESULT_FAILED_NOT_SUPPORTED = 9; // 0x9
7803    field public static final int RESULT_FAILED_SERVICE_INTERNAL_FAILURE = 7; // 0x7
7804    field public static final int RESULT_FAILED_TIMEOUT = 6; // 0x6
7805    field public static final int RESULT_FAILED_UNINITIALIZED = 3; // 0x3
7806    field public static final int RESULT_FAILED_UNKNOWN = 1; // 0x1
7807    field public static final int RESULT_SUCCESS = 0; // 0x0
7808    field public static final int TYPE_DISABLE_NANOAPP = 3; // 0x3
7809    field public static final int TYPE_ENABLE_NANOAPP = 2; // 0x2
7810    field public static final int TYPE_LOAD_NANOAPP = 0; // 0x0
7811    field public static final int TYPE_QUERY_NANOAPPS = 4; // 0x4
7812    field public static final int TYPE_RELIABLE_MESSAGE = 5; // 0x5
7813    field public static final int TYPE_UNLOAD_NANOAPP = 1; // 0x1
7814  }
7815
7816  @java.lang.FunctionalInterface public static interface ContextHubTransaction.OnCompleteListener<L> {
7817    method public void onComplete(android.hardware.location.ContextHubTransaction<L>, android.hardware.location.ContextHubTransaction.Response<L>);
7818  }
7819
7820  public static class ContextHubTransaction.Response<R> {
7821    method public R getContents();
7822    method public int getResult();
7823  }
7824
7825  public final class GeofenceHardware {
7826    method public boolean addGeofence(int, int, android.hardware.location.GeofenceHardwareRequest, android.hardware.location.GeofenceHardwareCallback);
7827    method public int[] getMonitoringTypes();
7828    method public int getStatusOfMonitoringType(int);
7829    method public boolean pauseGeofence(int, int);
7830    method public boolean registerForMonitorStateChangeCallback(int, android.hardware.location.GeofenceHardwareMonitorCallback);
7831    method public boolean removeGeofence(int, int);
7832    method public boolean resumeGeofence(int, int, int);
7833    method public boolean unregisterForMonitorStateChangeCallback(int, android.hardware.location.GeofenceHardwareMonitorCallback);
7834    field public static final int GEOFENCE_ENTERED = 1; // 0x1
7835    field public static final int GEOFENCE_ERROR_ID_EXISTS = 2; // 0x2
7836    field public static final int GEOFENCE_ERROR_ID_UNKNOWN = 3; // 0x3
7837    field public static final int GEOFENCE_ERROR_INSUFFICIENT_MEMORY = 6; // 0x6
7838    field public static final int GEOFENCE_ERROR_INVALID_TRANSITION = 4; // 0x4
7839    field public static final int GEOFENCE_ERROR_TOO_MANY_GEOFENCES = 1; // 0x1
7840    field public static final int GEOFENCE_EXITED = 2; // 0x2
7841    field public static final int GEOFENCE_FAILURE = 5; // 0x5
7842    field public static final int GEOFENCE_SUCCESS = 0; // 0x0
7843    field public static final int GEOFENCE_UNCERTAIN = 4; // 0x4
7844    field public static final int MONITORING_TYPE_FUSED_HARDWARE = 1; // 0x1
7845    field public static final int MONITORING_TYPE_GPS_HARDWARE = 0; // 0x0
7846    field public static final int MONITOR_CURRENTLY_AVAILABLE = 0; // 0x0
7847    field public static final int MONITOR_CURRENTLY_UNAVAILABLE = 1; // 0x1
7848    field public static final int MONITOR_UNSUPPORTED = 2; // 0x2
7849    field public static final int SOURCE_TECHNOLOGY_BLUETOOTH = 16; // 0x10
7850    field public static final int SOURCE_TECHNOLOGY_CELL = 8; // 0x8
7851    field public static final int SOURCE_TECHNOLOGY_GNSS = 1; // 0x1
7852    field public static final int SOURCE_TECHNOLOGY_SENSORS = 4; // 0x4
7853    field public static final int SOURCE_TECHNOLOGY_WIFI = 2; // 0x2
7854  }
7855
7856  public abstract class GeofenceHardwareCallback {
7857    ctor public GeofenceHardwareCallback();
7858    method public void onGeofenceAdd(int, int);
7859    method public void onGeofencePause(int, int);
7860    method public void onGeofenceRemove(int, int);
7861    method public void onGeofenceResume(int, int);
7862    method public void onGeofenceTransition(int, int, android.location.Location, long, int);
7863  }
7864
7865  public abstract class GeofenceHardwareMonitorCallback {
7866    ctor public GeofenceHardwareMonitorCallback();
7867    method public void onMonitoringSystemChange(android.hardware.location.GeofenceHardwareMonitorEvent);
7868    method @Deprecated public void onMonitoringSystemChange(int, boolean, android.location.Location);
7869  }
7870
7871  public class GeofenceHardwareMonitorEvent implements android.os.Parcelable {
7872    ctor public GeofenceHardwareMonitorEvent(int, int, int, android.location.Location);
7873    method public int describeContents();
7874    method public android.location.Location getLocation();
7875    method public int getMonitoringStatus();
7876    method public int getMonitoringType();
7877    method public int getSourceTechnologies();
7878    method public void writeToParcel(android.os.Parcel, int);
7879    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.GeofenceHardwareMonitorEvent> CREATOR;
7880  }
7881
7882  public final class GeofenceHardwareRequest {
7883    ctor public GeofenceHardwareRequest();
7884    method public static android.hardware.location.GeofenceHardwareRequest createCircularGeofence(double, double, double);
7885    method public int getLastTransition();
7886    method public double getLatitude();
7887    method public double getLongitude();
7888    method public int getMonitorTransitions();
7889    method public int getNotificationResponsiveness();
7890    method public double getRadius();
7891    method public int getSourceTechnologies();
7892    method public int getUnknownTimer();
7893    method public void setLastTransition(int);
7894    method public void setMonitorTransitions(int);
7895    method public void setNotificationResponsiveness(int);
7896    method public void setSourceTechnologies(int);
7897    method public void setUnknownTimer(int);
7898  }
7899
7900  public class MemoryRegion implements android.os.Parcelable {
7901    ctor public MemoryRegion(android.os.Parcel);
7902    method public int describeContents();
7903    method public int getCapacityBytes();
7904    method public int getFreeCapacityBytes();
7905    method public boolean isExecutable();
7906    method public boolean isReadable();
7907    method public boolean isWritable();
7908    method public void writeToParcel(android.os.Parcel, int);
7909    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.MemoryRegion> CREATOR;
7910  }
7911
7912  @Deprecated public class NanoApp implements android.os.Parcelable {
7913    ctor @Deprecated public NanoApp();
7914    ctor @Deprecated public NanoApp(int, byte[]);
7915    ctor @Deprecated public NanoApp(long, byte[]);
7916    method @Deprecated public int describeContents();
7917    method @Deprecated public byte[] getAppBinary();
7918    method @Deprecated public long getAppId();
7919    method @Deprecated public int getAppVersion();
7920    method @Deprecated public String getName();
7921    method @Deprecated public int getNeededExecMemBytes();
7922    method @Deprecated public int getNeededReadMemBytes();
7923    method @Deprecated public int[] getNeededSensors();
7924    method @Deprecated public int getNeededWriteMemBytes();
7925    method @Deprecated public int[] getOutputEvents();
7926    method @Deprecated public String getPublisher();
7927    method @Deprecated public void setAppBinary(byte[]);
7928    method @Deprecated public void setAppId(long);
7929    method @Deprecated public void setAppVersion(int);
7930    method @Deprecated public void setName(String);
7931    method @Deprecated public void setNeededExecMemBytes(int);
7932    method @Deprecated public void setNeededReadMemBytes(int);
7933    method @Deprecated public void setNeededSensors(int[]);
7934    method @Deprecated public void setNeededWriteMemBytes(int);
7935    method @Deprecated public void setOutputEvents(int[]);
7936    method @Deprecated public void setPublisher(String);
7937    method @Deprecated public void writeToParcel(android.os.Parcel, int);
7938    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoApp> CREATOR;
7939  }
7940
7941  public final class NanoAppBinary implements android.os.Parcelable {
7942    ctor public NanoAppBinary(byte[]);
7943    method public int describeContents();
7944    method public byte[] getBinary();
7945    method public byte[] getBinaryNoHeader();
7946    method public int getFlags();
7947    method public int getHeaderVersion();
7948    method public long getHwHubType();
7949    method public long getNanoAppId();
7950    method public int getNanoAppVersion();
7951    method public byte getTargetChreApiMajorVersion();
7952    method public byte getTargetChreApiMinorVersion();
7953    method public boolean hasValidHeader();
7954    method public boolean isEncrypted();
7955    method public boolean isSigned();
7956    method public void writeToParcel(android.os.Parcel, int);
7957    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppBinary> CREATOR;
7958  }
7959
7960  @Deprecated public class NanoAppFilter implements android.os.Parcelable {
7961    ctor @Deprecated public NanoAppFilter(long, int, int, long);
7962    method @Deprecated public int describeContents();
7963    method @Deprecated public boolean testMatch(android.hardware.location.NanoAppInstanceInfo);
7964    method @Deprecated public void writeToParcel(android.os.Parcel, int);
7965    field @Deprecated public static final int APP_ANY = -1; // 0xffffffff
7966    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppFilter> CREATOR;
7967    field @Deprecated public static final int FLAGS_VERSION_ANY = -1; // 0xffffffff
7968    field @Deprecated public static final int FLAGS_VERSION_GREAT_THAN = 2; // 0x2
7969    field @Deprecated public static final int FLAGS_VERSION_LESS_THAN = 4; // 0x4
7970    field @Deprecated public static final int FLAGS_VERSION_STRICTLY_EQUAL = 8; // 0x8
7971    field @Deprecated public static final int HUB_ANY = -1; // 0xffffffff
7972    field @Deprecated public static final int VENDOR_ANY = -1; // 0xffffffff
7973  }
7974
7975  @Deprecated public class NanoAppInstanceInfo implements android.os.Parcelable {
7976    ctor @Deprecated public NanoAppInstanceInfo();
7977    method @Deprecated public int describeContents();
7978    method @Deprecated public long getAppId();
7979    method @Deprecated public int getAppVersion();
7980    method @Deprecated public int getContexthubId();
7981    method @Deprecated public int getHandle();
7982    method @Deprecated public String getName();
7983    method @Deprecated public int getNeededExecMemBytes();
7984    method @Deprecated public int getNeededReadMemBytes();
7985    method @Deprecated @NonNull public int[] getNeededSensors();
7986    method @Deprecated public int getNeededWriteMemBytes();
7987    method @Deprecated @NonNull public int[] getOutputEvents();
7988    method @Deprecated public String getPublisher();
7989    method @Deprecated public void writeToParcel(android.os.Parcel, int);
7990    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppInstanceInfo> CREATOR;
7991  }
7992
7993  public final class NanoAppMessage implements android.os.Parcelable {
7994    method public static android.hardware.location.NanoAppMessage createMessageFromNanoApp(long, int, byte[], boolean);
7995    method @NonNull public static android.hardware.location.NanoAppMessage createMessageFromNanoApp(long, int, @NonNull byte[], boolean, boolean, int);
7996    method public static android.hardware.location.NanoAppMessage createMessageToNanoApp(long, int, byte[]);
7997    method public int describeContents();
7998    method public byte[] getMessageBody();
7999    method public int getMessageSequenceNumber();
8000    method public int getMessageType();
8001    method public long getNanoAppId();
8002    method public boolean isBroadcastMessage();
8003    method public boolean isReliable();
8004    method public void writeToParcel(android.os.Parcel, int);
8005    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppMessage> CREATOR;
8006  }
8007
8008  public final class NanoAppRpcService implements android.os.Parcelable {
8009    ctor public NanoAppRpcService(long, int);
8010    method public int describeContents();
8011    method public long getId();
8012    method public int getVersion();
8013    method public void writeToParcel(@NonNull android.os.Parcel, int);
8014    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppRpcService> CREATOR;
8015  }
8016
8017  public final class NanoAppState implements android.os.Parcelable {
8018    ctor public NanoAppState(long, int, boolean);
8019    ctor public NanoAppState(long, int, boolean, @NonNull java.util.List<java.lang.String>);
8020    ctor public NanoAppState(long, int, boolean, @NonNull java.util.List<java.lang.String>, @NonNull java.util.List<android.hardware.location.NanoAppRpcService>);
8021    method public int describeContents();
8022    method public long getNanoAppId();
8023    method @NonNull public java.util.List<java.lang.String> getNanoAppPermissions();
8024    method public long getNanoAppVersion();
8025    method @NonNull public java.util.List<android.hardware.location.NanoAppRpcService> getRpcServices();
8026    method public boolean isEnabled();
8027    method public void writeToParcel(android.os.Parcel, int);
8028    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppState> CREATOR;
8029  }
8030
8031}
8032
8033package android.hardware.radio {
8034
8035  public final class Announcement implements android.os.Parcelable {
8036    method public int describeContents();
8037    method @NonNull public android.hardware.radio.ProgramSelector getSelector();
8038    method public int getType();
8039    method @NonNull public java.util.Map<java.lang.String,java.lang.String> getVendorInfo();
8040    method public void writeToParcel(android.os.Parcel, int);
8041    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.Announcement> CREATOR;
8042    field public static final int TYPE_EMERGENCY = 1; // 0x1
8043    field public static final int TYPE_EVENT = 6; // 0x6
8044    field public static final int TYPE_MISC = 8; // 0x8
8045    field public static final int TYPE_NEWS = 5; // 0x5
8046    field public static final int TYPE_SPORT = 7; // 0x7
8047    field public static final int TYPE_TRAFFIC = 3; // 0x3
8048    field public static final int TYPE_WARNING = 2; // 0x2
8049    field public static final int TYPE_WEATHER = 4; // 0x4
8050  }
8051
8052  public static interface Announcement.OnListUpdatedListener {
8053    method public void onListUpdated(java.util.Collection<android.hardware.radio.Announcement>);
8054  }
8055
8056  public final class ProgramList implements java.lang.AutoCloseable {
8057    method public void addOnCompleteListener(@NonNull android.hardware.radio.ProgramList.OnCompleteListener);
8058    method public void addOnCompleteListener(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.radio.ProgramList.OnCompleteListener);
8059    method public void close();
8060    method @Deprecated @Nullable public android.hardware.radio.RadioManager.ProgramInfo get(@NonNull android.hardware.radio.ProgramSelector.Identifier);
8061    method @NonNull public java.util.List<android.hardware.radio.RadioManager.ProgramInfo> getProgramInfos(@NonNull android.hardware.radio.ProgramSelector.Identifier);
8062    method public void registerListCallback(@NonNull android.hardware.radio.ProgramList.ListCallback);
8063    method public void registerListCallback(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.radio.ProgramList.ListCallback);
8064    method public void removeOnCompleteListener(@NonNull android.hardware.radio.ProgramList.OnCompleteListener);
8065    method @NonNull public java.util.List<android.hardware.radio.RadioManager.ProgramInfo> toList();
8066    method public void unregisterListCallback(@NonNull android.hardware.radio.ProgramList.ListCallback);
8067  }
8068
8069  public static final class ProgramList.Filter implements android.os.Parcelable {
8070    ctor public ProgramList.Filter(@NonNull java.util.Set<java.lang.Integer>, @NonNull java.util.Set<android.hardware.radio.ProgramSelector.Identifier>, boolean, boolean);
8071    method public boolean areCategoriesIncluded();
8072    method public boolean areModificationsExcluded();
8073    method public int describeContents();
8074    method @NonNull public java.util.Set<java.lang.Integer> getIdentifierTypes();
8075    method @NonNull public java.util.Set<android.hardware.radio.ProgramSelector.Identifier> getIdentifiers();
8076    method public void writeToParcel(android.os.Parcel, int);
8077    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.ProgramList.Filter> CREATOR;
8078  }
8079
8080  public abstract static class ProgramList.ListCallback {
8081    ctor public ProgramList.ListCallback();
8082    method public void onItemChanged(@NonNull android.hardware.radio.ProgramSelector.Identifier);
8083    method public void onItemRemoved(@NonNull android.hardware.radio.ProgramSelector.Identifier);
8084  }
8085
8086  public static interface ProgramList.OnCompleteListener {
8087    method public void onComplete();
8088  }
8089
8090  public final class ProgramSelector implements android.os.Parcelable {
8091    ctor public ProgramSelector(int, @NonNull android.hardware.radio.ProgramSelector.Identifier, @Nullable android.hardware.radio.ProgramSelector.Identifier[], @Nullable long[]);
8092    method @NonNull public static android.hardware.radio.ProgramSelector createAmFmSelector(int, int);
8093    method @NonNull public static android.hardware.radio.ProgramSelector createAmFmSelector(int, int, int);
8094    method public int describeContents();
8095    method @NonNull public android.hardware.radio.ProgramSelector.Identifier[] getAllIds(int);
8096    method public long getFirstId(int);
8097    method @NonNull public android.hardware.radio.ProgramSelector.Identifier getPrimaryId();
8098    method @Deprecated public int getProgramType();
8099    method @NonNull public android.hardware.radio.ProgramSelector.Identifier[] getSecondaryIds();
8100    method @Deprecated @NonNull public long[] getVendorIds();
8101    method @NonNull public android.hardware.radio.ProgramSelector withSecondaryPreferred(@NonNull android.hardware.radio.ProgramSelector.Identifier);
8102    method public void writeToParcel(android.os.Parcel, int);
8103    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.ProgramSelector> CREATOR;
8104    field public static final int IDENTIFIER_TYPE_AMFM_FREQUENCY = 1; // 0x1
8105    field public static final int IDENTIFIER_TYPE_DAB_DMB_SID_EXT = 14; // 0xe
8106    field public static final int IDENTIFIER_TYPE_DAB_ENSEMBLE = 6; // 0x6
8107    field public static final int IDENTIFIER_TYPE_DAB_FREQUENCY = 8; // 0x8
8108    field public static final int IDENTIFIER_TYPE_DAB_SCID = 7; // 0x7
8109    field @Deprecated public static final int IDENTIFIER_TYPE_DAB_SIDECC = 5; // 0x5
8110    field @Deprecated public static final int IDENTIFIER_TYPE_DAB_SID_EXT = 5; // 0x5
8111    field public static final int IDENTIFIER_TYPE_DRMO_FREQUENCY = 10; // 0xa
8112    field @Deprecated public static final int IDENTIFIER_TYPE_DRMO_MODULATION = 11; // 0xb
8113    field public static final int IDENTIFIER_TYPE_DRMO_SERVICE_ID = 9; // 0x9
8114    field public static final int IDENTIFIER_TYPE_HD_STATION_ID_EXT = 3; // 0x3
8115    field public static final int IDENTIFIER_TYPE_HD_STATION_LOCATION = 15; // 0xf
8116    field public static final int IDENTIFIER_TYPE_HD_STATION_NAME = 10004; // 0x2714
8117    field @Deprecated public static final int IDENTIFIER_TYPE_HD_SUBCHANNEL = 4; // 0x4
8118    field public static final int IDENTIFIER_TYPE_INVALID = 0; // 0x0
8119    field public static final int IDENTIFIER_TYPE_RDS_PI = 2; // 0x2
8120    field @Deprecated public static final int IDENTIFIER_TYPE_SXM_CHANNEL = 13; // 0xd
8121    field @Deprecated public static final int IDENTIFIER_TYPE_SXM_SERVICE_ID = 12; // 0xc
8122    field public static final int IDENTIFIER_TYPE_VENDOR_END = 1999; // 0x7cf
8123    field @Deprecated public static final int IDENTIFIER_TYPE_VENDOR_PRIMARY_END = 1999; // 0x7cf
8124    field @Deprecated public static final int IDENTIFIER_TYPE_VENDOR_PRIMARY_START = 1000; // 0x3e8
8125    field public static final int IDENTIFIER_TYPE_VENDOR_START = 1000; // 0x3e8
8126    field @Deprecated public static final int PROGRAM_TYPE_AM = 1; // 0x1
8127    field @Deprecated public static final int PROGRAM_TYPE_AM_HD = 3; // 0x3
8128    field @Deprecated public static final int PROGRAM_TYPE_DAB = 5; // 0x5
8129    field @Deprecated public static final int PROGRAM_TYPE_DRMO = 6; // 0x6
8130    field @Deprecated public static final int PROGRAM_TYPE_FM = 2; // 0x2
8131    field @Deprecated public static final int PROGRAM_TYPE_FM_HD = 4; // 0x4
8132    field @Deprecated public static final int PROGRAM_TYPE_INVALID = 0; // 0x0
8133    field @Deprecated public static final int PROGRAM_TYPE_SXM = 7; // 0x7
8134    field @Deprecated public static final int PROGRAM_TYPE_VENDOR_END = 1999; // 0x7cf
8135    field @Deprecated public static final int PROGRAM_TYPE_VENDOR_START = 1000; // 0x3e8
8136    field public static final int SUB_CHANNEL_HD_1 = 1; // 0x1
8137    field public static final int SUB_CHANNEL_HD_2 = 2; // 0x2
8138    field public static final int SUB_CHANNEL_HD_3 = 4; // 0x4
8139    field public static final int SUB_CHANNEL_HD_4 = 8; // 0x8
8140    field public static final int SUB_CHANNEL_HD_5 = 16; // 0x10
8141    field public static final int SUB_CHANNEL_HD_6 = 32; // 0x20
8142    field public static final int SUB_CHANNEL_HD_7 = 64; // 0x40
8143    field public static final int SUB_CHANNEL_HD_8 = 128; // 0x80
8144  }
8145
8146  public static final class ProgramSelector.Identifier implements android.os.Parcelable {
8147    ctor public ProgramSelector.Identifier(int, long);
8148    method public int describeContents();
8149    method public int getType();
8150    method public long getValue();
8151    method public boolean isCategoryType();
8152    method public void writeToParcel(android.os.Parcel, int);
8153    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.ProgramSelector.Identifier> CREATOR;
8154  }
8155
8156  public class RadioManager {
8157    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);
8158    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public void addAnnouncementListener(@NonNull java.util.Set<java.lang.Integer>, @NonNull android.hardware.radio.Announcement.OnListUpdatedListener);
8159    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public int listModules(java.util.List<android.hardware.radio.RadioManager.ModuleProperties>);
8160    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);
8161    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public void removeAnnouncementListener(@NonNull android.hardware.radio.Announcement.OnListUpdatedListener);
8162    field public static final int BAND_AM = 0; // 0x0
8163    field public static final int BAND_AM_HD = 3; // 0x3
8164    field public static final int BAND_FM = 1; // 0x1
8165    field public static final int BAND_FM_HD = 2; // 0x2
8166    field public static final int BAND_INVALID = -1; // 0xffffffff
8167    field public static final int CLASS_AM_FM = 0; // 0x0
8168    field public static final int CLASS_DT = 2; // 0x2
8169    field public static final int CLASS_SAT = 1; // 0x1
8170    field public static final int CONFIG_DAB_DAB_LINKING = 6; // 0x6
8171    field public static final int CONFIG_DAB_DAB_SOFT_LINKING = 8; // 0x8
8172    field public static final int CONFIG_DAB_FM_LINKING = 7; // 0x7
8173    field public static final int CONFIG_DAB_FM_SOFT_LINKING = 9; // 0x9
8174    field @Deprecated public static final int CONFIG_FORCE_ANALOG = 2; // 0x2
8175    field public static final int CONFIG_FORCE_ANALOG_AM = 11; // 0xb
8176    field public static final int CONFIG_FORCE_ANALOG_FM = 10; // 0xa
8177    field public static final int CONFIG_FORCE_DIGITAL = 3; // 0x3
8178    field public static final int CONFIG_FORCE_MONO = 1; // 0x1
8179    field public static final int CONFIG_RDS_AF = 4; // 0x4
8180    field public static final int CONFIG_RDS_REG = 5; // 0x5
8181    field public static final int REGION_ITU_1 = 0; // 0x0
8182    field public static final int REGION_ITU_2 = 1; // 0x1
8183    field public static final int REGION_JAPAN = 3; // 0x3
8184    field public static final int REGION_KOREA = 4; // 0x4
8185    field public static final int REGION_OIRT = 2; // 0x2
8186    field public static final int STATUS_BAD_VALUE = -22; // 0xffffffea
8187    field public static final int STATUS_DEAD_OBJECT = -32; // 0xffffffe0
8188    field public static final int STATUS_ERROR = -2147483648; // 0x80000000
8189    field public static final int STATUS_INVALID_OPERATION = -38; // 0xffffffda
8190    field public static final int STATUS_NO_INIT = -19; // 0xffffffed
8191    field public static final int STATUS_OK = 0; // 0x0
8192    field public static final int STATUS_PERMISSION_DENIED = -1; // 0xffffffff
8193    field public static final int STATUS_TIMED_OUT = -110; // 0xffffff92
8194  }
8195
8196  public static class RadioManager.AmBandConfig extends android.hardware.radio.RadioManager.BandConfig {
8197    method public boolean getStereo();
8198    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.AmBandConfig> CREATOR;
8199  }
8200
8201  public static class RadioManager.AmBandConfig.Builder {
8202    ctor public RadioManager.AmBandConfig.Builder(android.hardware.radio.RadioManager.AmBandConfig);
8203    ctor public RadioManager.AmBandConfig.Builder(android.hardware.radio.RadioManager.AmBandDescriptor);
8204    method public android.hardware.radio.RadioManager.AmBandConfig build();
8205    method public android.hardware.radio.RadioManager.AmBandConfig.Builder setStereo(boolean);
8206  }
8207
8208  public static class RadioManager.AmBandDescriptor extends android.hardware.radio.RadioManager.BandDescriptor {
8209    method public boolean isStereoSupported();
8210    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.AmBandDescriptor> CREATOR;
8211  }
8212
8213  public static class RadioManager.BandConfig implements android.os.Parcelable {
8214    method public int describeContents();
8215    method public int getLowerLimit();
8216    method public int getRegion();
8217    method public int getSpacing();
8218    method public int getType();
8219    method public int getUpperLimit();
8220    method public void writeToParcel(android.os.Parcel, int);
8221    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.BandConfig> CREATOR;
8222  }
8223
8224  public static class RadioManager.BandDescriptor implements android.os.Parcelable {
8225    method public int describeContents();
8226    method public int getLowerLimit();
8227    method public int getRegion();
8228    method public int getSpacing();
8229    method public int getType();
8230    method public int getUpperLimit();
8231    method public boolean isAmBand();
8232    method public boolean isFmBand();
8233    method public void writeToParcel(android.os.Parcel, int);
8234    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.BandDescriptor> CREATOR;
8235  }
8236
8237  public static class RadioManager.FmBandConfig extends android.hardware.radio.RadioManager.BandConfig {
8238    method public boolean getAf();
8239    method public boolean getEa();
8240    method public boolean getRds();
8241    method public boolean getStereo();
8242    method public boolean getTa();
8243    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.FmBandConfig> CREATOR;
8244  }
8245
8246  public static class RadioManager.FmBandConfig.Builder {
8247    ctor public RadioManager.FmBandConfig.Builder(android.hardware.radio.RadioManager.FmBandConfig);
8248    ctor public RadioManager.FmBandConfig.Builder(android.hardware.radio.RadioManager.FmBandDescriptor);
8249    method public android.hardware.radio.RadioManager.FmBandConfig build();
8250    method public android.hardware.radio.RadioManager.FmBandConfig.Builder setAf(boolean);
8251    method public android.hardware.radio.RadioManager.FmBandConfig.Builder setEa(boolean);
8252    method public android.hardware.radio.RadioManager.FmBandConfig.Builder setRds(boolean);
8253    method public android.hardware.radio.RadioManager.FmBandConfig.Builder setStereo(boolean);
8254    method public android.hardware.radio.RadioManager.FmBandConfig.Builder setTa(boolean);
8255  }
8256
8257  public static class RadioManager.FmBandDescriptor extends android.hardware.radio.RadioManager.BandDescriptor {
8258    method public boolean isAfSupported();
8259    method public boolean isEaSupported();
8260    method public boolean isRdsSupported();
8261    method public boolean isStereoSupported();
8262    method public boolean isTaSupported();
8263    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.FmBandDescriptor> CREATOR;
8264  }
8265
8266  public static class RadioManager.ModuleProperties implements android.os.Parcelable {
8267    method public int describeContents();
8268    method public android.hardware.radio.RadioManager.BandDescriptor[] getBands();
8269    method public int getClassId();
8270    method @Nullable public java.util.Map<java.lang.String,java.lang.Integer> getDabFrequencyTable();
8271    method public int getId();
8272    method public String getImplementor();
8273    method public int getNumAudioSources();
8274    method public int getNumTuners();
8275    method public String getProduct();
8276    method public String getSerial();
8277    method @NonNull public String getServiceName();
8278    method @NonNull public java.util.Map<java.lang.String,java.lang.String> getVendorInfo();
8279    method public String getVersion();
8280    method public boolean isBackgroundScanningSupported();
8281    method public boolean isCaptureSupported();
8282    method public boolean isInitializationRequired();
8283    method public boolean isProgramIdentifierSupported(int);
8284    method public boolean isProgramTypeSupported(int);
8285    method public void writeToParcel(android.os.Parcel, int);
8286    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.ModuleProperties> CREATOR;
8287  }
8288
8289  public static class RadioManager.ProgramInfo implements android.os.Parcelable {
8290    method public int describeContents();
8291    method @Deprecated public int getChannel();
8292    method @Nullable public android.hardware.radio.ProgramSelector.Identifier getLogicallyTunedTo();
8293    method public android.hardware.radio.RadioMetadata getMetadata();
8294    method @Nullable public android.hardware.radio.ProgramSelector.Identifier getPhysicallyTunedTo();
8295    method @Nullable public java.util.Collection<android.hardware.radio.ProgramSelector.Identifier> getRelatedContent();
8296    method @NonNull public android.hardware.radio.ProgramSelector getSelector();
8297    method public int getSignalStrength();
8298    method @Deprecated public int getSubChannel();
8299    method @NonNull public java.util.Map<java.lang.String,java.lang.String> getVendorInfo();
8300    method @Deprecated public boolean isDigital();
8301    method public boolean isHdAudioAvailable();
8302    method public boolean isHdSisAvailable();
8303    method public boolean isLive();
8304    method public boolean isMuted();
8305    method public boolean isSignalAcquired();
8306    method public boolean isStereo();
8307    method public boolean isTrafficAnnouncementActive();
8308    method public boolean isTrafficProgram();
8309    method public boolean isTuned();
8310    method public void writeToParcel(android.os.Parcel, int);
8311    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.ProgramInfo> CREATOR;
8312  }
8313
8314  public final class RadioMetadata implements android.os.Parcelable {
8315    method public boolean containsKey(String);
8316    method public int describeContents();
8317    method @Deprecated public android.graphics.Bitmap getBitmap(String);
8318    method public int getBitmapId(@NonNull String);
8319    method public android.hardware.radio.RadioMetadata.Clock getClock(String);
8320    method public int getInt(String);
8321    method public String getString(String);
8322    method @NonNull public String[] getStringArray(@NonNull String);
8323    method public java.util.Set<java.lang.String> keySet();
8324    method public int size();
8325    method public void writeToParcel(android.os.Parcel, int);
8326    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioMetadata> CREATOR;
8327    field public static final String METADATA_KEY_ALBUM = "android.hardware.radio.metadata.ALBUM";
8328    field public static final String METADATA_KEY_ART = "android.hardware.radio.metadata.ART";
8329    field public static final String METADATA_KEY_ARTIST = "android.hardware.radio.metadata.ARTIST";
8330    field public static final String METADATA_KEY_CLOCK = "android.hardware.radio.metadata.CLOCK";
8331    field public static final String METADATA_KEY_COMMENT_ACTUAL_TEXT = "android.hardware.radio.metadata.COMMENT_ACTUAL_TEXT";
8332    field public static final String METADATA_KEY_COMMENT_SHORT_DESCRIPTION = "android.hardware.radio.metadata.COMMENT_SHORT_DESCRIPTION";
8333    field public static final String METADATA_KEY_COMMERCIAL = "android.hardware.radio.metadata.COMMERCIAL";
8334    field public static final String METADATA_KEY_DAB_COMPONENT_NAME = "android.hardware.radio.metadata.DAB_COMPONENT_NAME";
8335    field public static final String METADATA_KEY_DAB_COMPONENT_NAME_SHORT = "android.hardware.radio.metadata.DAB_COMPONENT_NAME_SHORT";
8336    field public static final String METADATA_KEY_DAB_ENSEMBLE_NAME = "android.hardware.radio.metadata.DAB_ENSEMBLE_NAME";
8337    field public static final String METADATA_KEY_DAB_ENSEMBLE_NAME_SHORT = "android.hardware.radio.metadata.DAB_ENSEMBLE_NAME_SHORT";
8338    field public static final String METADATA_KEY_DAB_SERVICE_NAME = "android.hardware.radio.metadata.DAB_SERVICE_NAME";
8339    field public static final String METADATA_KEY_DAB_SERVICE_NAME_SHORT = "android.hardware.radio.metadata.DAB_SERVICE_NAME_SHORT";
8340    field public static final String METADATA_KEY_GENRE = "android.hardware.radio.metadata.GENRE";
8341    field public static final String METADATA_KEY_HD_STATION_NAME_LONG = "android.hardware.radio.metadata.HD_STATION_NAME_LONG";
8342    field public static final String METADATA_KEY_HD_STATION_NAME_SHORT = "android.hardware.radio.metadata.HD_STATION_NAME_SHORT";
8343    field public static final String METADATA_KEY_HD_SUBCHANNELS_AVAILABLE = "android.hardware.radio.metadata.HD_SUBCHANNELS_AVAILABLE";
8344    field public static final String METADATA_KEY_ICON = "android.hardware.radio.metadata.ICON";
8345    field public static final String METADATA_KEY_PROGRAM_NAME = "android.hardware.radio.metadata.PROGRAM_NAME";
8346    field public static final String METADATA_KEY_RBDS_PTY = "android.hardware.radio.metadata.RBDS_PTY";
8347    field public static final String METADATA_KEY_RDS_PI = "android.hardware.radio.metadata.RDS_PI";
8348    field public static final String METADATA_KEY_RDS_PS = "android.hardware.radio.metadata.RDS_PS";
8349    field public static final String METADATA_KEY_RDS_PTY = "android.hardware.radio.metadata.RDS_PTY";
8350    field public static final String METADATA_KEY_RDS_RT = "android.hardware.radio.metadata.RDS_RT";
8351    field public static final String METADATA_KEY_TITLE = "android.hardware.radio.metadata.TITLE";
8352    field public static final String METADATA_KEY_UFIDS = "android.hardware.radio.metadata.UFIDS";
8353  }
8354
8355  public static final class RadioMetadata.Builder {
8356    ctor public RadioMetadata.Builder();
8357    ctor public RadioMetadata.Builder(android.hardware.radio.RadioMetadata);
8358    method public android.hardware.radio.RadioMetadata build();
8359    method public android.hardware.radio.RadioMetadata.Builder putBitmap(String, android.graphics.Bitmap);
8360    method public android.hardware.radio.RadioMetadata.Builder putClock(String, long, int);
8361    method public android.hardware.radio.RadioMetadata.Builder putInt(String, int);
8362    method public android.hardware.radio.RadioMetadata.Builder putString(String, String);
8363    method @NonNull public android.hardware.radio.RadioMetadata.Builder putStringArray(@NonNull String, @NonNull String[]);
8364  }
8365
8366  public static final class RadioMetadata.Clock implements android.os.Parcelable {
8367    ctor public RadioMetadata.Clock(long, int);
8368    method public int describeContents();
8369    method public int getTimezoneOffsetMinutes();
8370    method public long getUtcEpochSeconds();
8371    method public void writeToParcel(android.os.Parcel, int);
8372    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioMetadata.Clock> CREATOR;
8373  }
8374
8375  public abstract class RadioTuner {
8376    ctor public RadioTuner();
8377    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract int cancel();
8378    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract void cancelAnnouncement();
8379    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract void close();
8380    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract int getConfiguration(android.hardware.radio.RadioManager.BandConfig[]);
8381    method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public android.hardware.radio.ProgramList getDynamicProgramList(@Nullable android.hardware.radio.ProgramList.Filter);
8382    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public android.graphics.Bitmap getMetadataImage(int);
8383    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract boolean getMute();
8384    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public java.util.Map<java.lang.String,java.lang.String> getParameters(@NonNull java.util.List<java.lang.String>);
8385    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract int getProgramInformation(android.hardware.radio.RadioManager.ProgramInfo[]);
8386    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract java.util.List<android.hardware.radio.RadioManager.ProgramInfo> getProgramList(@Nullable java.util.Map<java.lang.String,java.lang.String>);
8387    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract boolean hasControl();
8388    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract boolean isAnalogForced();
8389    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract boolean isAntennaConnected();
8390    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public boolean isConfigFlagSet(int);
8391    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public boolean isConfigFlagSupported(int);
8392    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract int scan(int, boolean);
8393    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public int seek(int, boolean);
8394    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract void setAnalogForced(boolean);
8395    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public void setConfigFlag(int, boolean);
8396    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract int setConfiguration(android.hardware.radio.RadioManager.BandConfig);
8397    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract int setMute(boolean);
8398    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public java.util.Map<java.lang.String,java.lang.String> setParameters(@NonNull java.util.Map<java.lang.String,java.lang.String>);
8399    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract boolean startBackgroundScan();
8400    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract int step(int, boolean);
8401    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract void tune(@NonNull android.hardware.radio.ProgramSelector);
8402    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract int tune(int, int);
8403    field public static final int DIRECTION_DOWN = 1; // 0x1
8404    field public static final int DIRECTION_UP = 0; // 0x0
8405    field @Deprecated public static final int ERROR_BACKGROUND_SCAN_FAILED = 6; // 0x6
8406    field @Deprecated public static final int ERROR_BACKGROUND_SCAN_UNAVAILABLE = 5; // 0x5
8407    field @Deprecated public static final int ERROR_CANCELLED = 2; // 0x2
8408    field @Deprecated public static final int ERROR_CONFIG = 4; // 0x4
8409    field @Deprecated public static final int ERROR_HARDWARE_FAILURE = 0; // 0x0
8410    field @Deprecated public static final int ERROR_SCAN_TIMEOUT = 3; // 0x3
8411    field @Deprecated public static final int ERROR_SERVER_DIED = 1; // 0x1
8412    field public static final int TUNER_RESULT_CANCELED = 6; // 0x6
8413    field public static final int TUNER_RESULT_INTERNAL_ERROR = 1; // 0x1
8414    field public static final int TUNER_RESULT_INVALID_ARGUMENTS = 2; // 0x2
8415    field public static final int TUNER_RESULT_INVALID_STATE = 3; // 0x3
8416    field public static final int TUNER_RESULT_NOT_SUPPORTED = 4; // 0x4
8417    field public static final int TUNER_RESULT_OK = 0; // 0x0
8418    field public static final int TUNER_RESULT_TIMEOUT = 5; // 0x5
8419    field public static final int TUNER_RESULT_UNKNOWN_ERROR = 7; // 0x7
8420  }
8421
8422  public abstract static class RadioTuner.Callback {
8423    ctor public RadioTuner.Callback();
8424    method public void onAntennaState(boolean);
8425    method public void onBackgroundScanAvailabilityChange(boolean);
8426    method public void onBackgroundScanComplete();
8427    method public void onConfigFlagUpdated(int, boolean);
8428    method @Deprecated public void onConfigurationChanged(android.hardware.radio.RadioManager.BandConfig);
8429    method public void onControlChanged(boolean);
8430    method public void onEmergencyAnnouncement(boolean);
8431    method @Deprecated public void onError(int);
8432    method @Deprecated public void onMetadataChanged(android.hardware.radio.RadioMetadata);
8433    method public void onParametersUpdated(@NonNull java.util.Map<java.lang.String,java.lang.String>);
8434    method public void onProgramInfoChanged(android.hardware.radio.RadioManager.ProgramInfo);
8435    method public void onProgramListChanged();
8436    method public void onTrafficAnnouncement(boolean);
8437    method public void onTuneFailed(int, @Nullable android.hardware.radio.ProgramSelector);
8438  }
8439
8440}
8441
8442package android.hardware.soundtrigger {
8443
8444  public class SoundTrigger {
8445    field public static final int RECOGNITION_MODE_GENERIC = 8; // 0x8
8446    field public static final int RECOGNITION_MODE_USER_AUTHENTICATION = 4; // 0x4
8447    field public static final int RECOGNITION_MODE_USER_IDENTIFICATION = 2; // 0x2
8448    field public static final int RECOGNITION_MODE_VOICE_TRIGGER = 1; // 0x1
8449    field public static final int STATUS_OK = 0; // 0x0
8450  }
8451
8452  public static final class SoundTrigger.Keyphrase implements android.os.Parcelable {
8453    ctor public SoundTrigger.Keyphrase(int, int, @NonNull java.util.Locale, @NonNull String, @Nullable int[]);
8454    method public int describeContents();
8455    method public int getId();
8456    method @NonNull public java.util.Locale getLocale();
8457    method public int getRecognitionModes();
8458    method @NonNull public String getText();
8459    method @NonNull public int[] getUsers();
8460    method @NonNull public static android.hardware.soundtrigger.SoundTrigger.Keyphrase readFromParcel(@NonNull android.os.Parcel);
8461    method public void writeToParcel(@NonNull android.os.Parcel, int);
8462    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.Keyphrase> CREATOR;
8463  }
8464
8465  public static final class SoundTrigger.KeyphraseRecognitionExtra implements android.os.Parcelable {
8466    method public int describeContents();
8467    method @IntRange(from=0, to=100) public int getCoarseConfidenceLevel();
8468    method public int getKeyphraseId();
8469    method public int getRecognitionModes();
8470    method public void writeToParcel(@NonNull android.os.Parcel, int);
8471    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.KeyphraseRecognitionExtra> CREATOR;
8472  }
8473
8474  public static final class SoundTrigger.KeyphraseSoundModel extends android.hardware.soundtrigger.SoundTrigger.SoundModel implements android.os.Parcelable {
8475    ctor public SoundTrigger.KeyphraseSoundModel(@NonNull java.util.UUID, @NonNull java.util.UUID, @Nullable byte[], @Nullable android.hardware.soundtrigger.SoundTrigger.Keyphrase[]);
8476    ctor public SoundTrigger.KeyphraseSoundModel(@NonNull java.util.UUID, @NonNull java.util.UUID, @Nullable byte[], @Nullable android.hardware.soundtrigger.SoundTrigger.Keyphrase[], int);
8477    method public int describeContents();
8478    method @NonNull public android.hardware.soundtrigger.SoundTrigger.Keyphrase[] getKeyphrases();
8479    method @NonNull public static android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel readFromParcel(@NonNull android.os.Parcel);
8480    method public void writeToParcel(@NonNull android.os.Parcel, int);
8481    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel> CREATOR;
8482  }
8483
8484  public static final class SoundTrigger.ModelParamRange implements android.os.Parcelable {
8485    method public int describeContents();
8486    method public int getEnd();
8487    method public int getStart();
8488    method public void writeToParcel(@NonNull android.os.Parcel, int);
8489    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.ModelParamRange> CREATOR;
8490  }
8491
8492  public static final class SoundTrigger.ModuleProperties implements android.os.Parcelable {
8493    method public int describeContents();
8494    method public int getAudioCapabilities();
8495    method @NonNull public String getDescription();
8496    method public int getId();
8497    method @NonNull public String getImplementor();
8498    method public int getMaxBufferMillis();
8499    method public int getMaxKeyphrases();
8500    method public int getMaxSoundModels();
8501    method public int getMaxUsers();
8502    method public int getPowerConsumptionMw();
8503    method public int getRecognitionModes();
8504    method @NonNull public String getSupportedModelArch();
8505    method @NonNull public java.util.UUID getUuid();
8506    method public int getVersion();
8507    method public boolean isCaptureTransitionSupported();
8508    method public boolean isConcurrentCaptureSupported();
8509    method public boolean isTriggerReturnedInEvent();
8510    method public void writeToParcel(android.os.Parcel, int);
8511    field public static final int AUDIO_CAPABILITY_ECHO_CANCELLATION = 1; // 0x1
8512    field public static final int AUDIO_CAPABILITY_NOISE_SUPPRESSION = 2; // 0x2
8513    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.ModuleProperties> CREATOR;
8514  }
8515
8516  public static class SoundTrigger.RecognitionEvent {
8517    method @Nullable public android.media.AudioFormat getCaptureFormat();
8518    method public int getCaptureSession();
8519    method public byte[] getData();
8520    method public long getHalEventReceivedMillis();
8521    method public boolean isCaptureAvailable();
8522  }
8523
8524  public static class SoundTrigger.SoundModel {
8525    method @NonNull public byte[] getData();
8526    method public int getType();
8527    method @NonNull public java.util.UUID getUuid();
8528    method @NonNull public java.util.UUID getVendorUuid();
8529    method public int getVersion();
8530    field public static final int TYPE_GENERIC_SOUND = 1; // 0x1
8531    field public static final int TYPE_KEYPHRASE = 0; // 0x0
8532  }
8533
8534}
8535
8536package android.hardware.usb {
8537
8538  public final class DisplayPortAltModeInfo implements android.os.Parcelable {
8539    method public int describeContents();
8540    method public int getCableStatus();
8541    method public int getLinkTrainingStatus();
8542    method public int getNumberOfLanes();
8543    method public int getPartnerSinkStatus();
8544    method public boolean isHotPlugDetectActive();
8545    method public void writeToParcel(@NonNull android.os.Parcel, int);
8546    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.usb.DisplayPortAltModeInfo> CREATOR;
8547    field public static final int DISPLAYPORT_ALT_MODE_STATUS_CAPABLE_DISABLED = 2; // 0x2
8548    field public static final int DISPLAYPORT_ALT_MODE_STATUS_ENABLED = 3; // 0x3
8549    field public static final int DISPLAYPORT_ALT_MODE_STATUS_NOT_CAPABLE = 1; // 0x1
8550    field public static final int DISPLAYPORT_ALT_MODE_STATUS_UNKNOWN = 0; // 0x0
8551    field public static final int LINK_TRAINING_STATUS_FAILURE = 2; // 0x2
8552    field public static final int LINK_TRAINING_STATUS_SUCCESS = 1; // 0x1
8553    field public static final int LINK_TRAINING_STATUS_UNKNOWN = 0; // 0x0
8554  }
8555
8556  public class UsbDeviceConnection {
8557    method public boolean resetDevice();
8558  }
8559
8560  public class UsbManager {
8561    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public long getCurrentFunctions();
8562    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_USB) public java.util.List<android.hardware.usb.UsbPort> getPorts();
8563    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void grantPermission(android.hardware.usb.UsbDevice, String);
8564    method public static boolean isUvcSupportEnabled();
8565    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void registerDisplayPortAltModeInfoListener(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.usb.UsbManager.DisplayPortAltModeInfoListener);
8566    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void resetUsbGadget();
8567    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void setCurrentFunctions(long);
8568    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void unregisterDisplayPortAltModeInfoListener(@NonNull android.hardware.usb.UsbManager.DisplayPortAltModeInfoListener);
8569    field @RequiresPermission(android.Manifest.permission.MANAGE_USB) public static final String ACTION_USB_ACCESSORY_HANDSHAKE = "android.hardware.usb.action.USB_ACCESSORY_HANDSHAKE";
8570    field @RequiresPermission(android.Manifest.permission.MANAGE_USB) public static final String ACTION_USB_PORT_CHANGED = "android.hardware.usb.action.USB_PORT_CHANGED";
8571    field @RequiresPermission(android.Manifest.permission.MANAGE_USB) public static final String ACTION_USB_PORT_COMPLIANCE_CHANGED = "android.hardware.usb.action.USB_PORT_COMPLIANCE_CHANGED";
8572    field public static final String ACTION_USB_STATE = "android.hardware.usb.action.USB_STATE";
8573    field public static final String EXTRA_ACCESSORY_HANDSHAKE_END = "android.hardware.usb.extra.ACCESSORY_HANDSHAKE_END";
8574    field public static final String EXTRA_ACCESSORY_START = "android.hardware.usb.extra.ACCESSORY_START";
8575    field public static final String EXTRA_ACCESSORY_STRING_COUNT = "android.hardware.usb.extra.ACCESSORY_STRING_COUNT";
8576    field public static final String EXTRA_ACCESSORY_UEVENT_TIME = "android.hardware.usb.extra.ACCESSORY_UEVENT_TIME";
8577    field public static final long FUNCTION_ACCESSORY = 2L; // 0x2L
8578    field public static final long FUNCTION_ADB = 1L; // 0x1L
8579    field public static final long FUNCTION_AUDIO_SOURCE = 64L; // 0x40L
8580    field public static final long FUNCTION_MIDI = 8L; // 0x8L
8581    field public static final long FUNCTION_MTP = 4L; // 0x4L
8582    field public static final long FUNCTION_NCM = 1024L; // 0x400L
8583    field public static final long FUNCTION_NONE = 0L; // 0x0L
8584    field public static final long FUNCTION_PTP = 16L; // 0x10L
8585    field public static final long FUNCTION_RNDIS = 32L; // 0x20L
8586    field public static final long FUNCTION_UVC = 128L; // 0x80L
8587    field public static final String USB_CONFIGURED = "configured";
8588    field public static final String USB_CONNECTED = "connected";
8589    field public static final String USB_FUNCTION_NCM = "ncm";
8590    field public static final String USB_FUNCTION_RNDIS = "rndis";
8591  }
8592
8593  public static interface UsbManager.DisplayPortAltModeInfoListener {
8594    method public void onDisplayPortAltModeInfoChanged(@NonNull String, @NonNull android.hardware.usb.DisplayPortAltModeInfo);
8595  }
8596
8597  public final class UsbPort {
8598    method @CheckResult @RequiresPermission(android.Manifest.permission.MANAGE_USB) public int enableLimitPowerTransfer(boolean);
8599    method @CheckResult @RequiresPermission(android.Manifest.permission.MANAGE_USB) public int enableUsbData(boolean);
8600    method @CheckResult @RequiresPermission(android.Manifest.permission.MANAGE_USB) public int enableUsbDataWhileDocked();
8601    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USB) public android.hardware.usb.UsbPortStatus getStatus();
8602    method public boolean isAltModeSupported(int);
8603    method @CheckResult @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void resetUsbPort(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
8604    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void setRoles(int, int);
8605    method @CheckResult @RequiresPermission(android.Manifest.permission.MANAGE_USB) public boolean supportsComplianceWarnings();
8606    field public static final int ENABLE_LIMIT_POWER_TRANSFER_ERROR_INTERNAL = 1; // 0x1
8607    field public static final int ENABLE_LIMIT_POWER_TRANSFER_ERROR_NOT_SUPPORTED = 2; // 0x2
8608    field public static final int ENABLE_LIMIT_POWER_TRANSFER_ERROR_OTHER = 4; // 0x4
8609    field public static final int ENABLE_LIMIT_POWER_TRANSFER_ERROR_PORT_MISMATCH = 3; // 0x3
8610    field public static final int ENABLE_LIMIT_POWER_TRANSFER_SUCCESS = 0; // 0x0
8611    field public static final int ENABLE_USB_DATA_ERROR_INTERNAL = 1; // 0x1
8612    field public static final int ENABLE_USB_DATA_ERROR_NOT_SUPPORTED = 2; // 0x2
8613    field public static final int ENABLE_USB_DATA_ERROR_OTHER = 4; // 0x4
8614    field public static final int ENABLE_USB_DATA_ERROR_PORT_MISMATCH = 3; // 0x3
8615    field public static final int ENABLE_USB_DATA_SUCCESS = 0; // 0x0
8616    field public static final int ENABLE_USB_DATA_WHILE_DOCKED_ERROR_DATA_ENABLED = 4; // 0x4
8617    field public static final int ENABLE_USB_DATA_WHILE_DOCKED_ERROR_INTERNAL = 1; // 0x1
8618    field public static final int ENABLE_USB_DATA_WHILE_DOCKED_ERROR_NOT_SUPPORTED = 2; // 0x2
8619    field public static final int ENABLE_USB_DATA_WHILE_DOCKED_ERROR_OTHER = 5; // 0x5
8620    field public static final int ENABLE_USB_DATA_WHILE_DOCKED_ERROR_PORT_MISMATCH = 3; // 0x3
8621    field public static final int ENABLE_USB_DATA_WHILE_DOCKED_SUCCESS = 0; // 0x0
8622    field public static final int FLAG_ALT_MODE_TYPE_DISPLAYPORT = 1; // 0x1
8623    field public static final int RESET_USB_PORT_ERROR_INTERNAL = 1; // 0x1
8624    field public static final int RESET_USB_PORT_ERROR_NOT_SUPPORTED = 2; // 0x2
8625    field public static final int RESET_USB_PORT_ERROR_OTHER = 4; // 0x4
8626    field public static final int RESET_USB_PORT_ERROR_PORT_MISMATCH = 3; // 0x3
8627    field public static final int RESET_USB_PORT_SUCCESS = 0; // 0x0
8628  }
8629
8630  public final class UsbPortStatus implements android.os.Parcelable {
8631    method public int describeContents();
8632    method @NonNull @CheckResult public int[] getComplianceWarnings();
8633    method public int getCurrentDataRole();
8634    method public int getCurrentMode();
8635    method public int getCurrentPowerRole();
8636    method @Nullable public android.hardware.usb.DisplayPortAltModeInfo getDisplayPortAltModeInfo();
8637    method public int getPlugState();
8638    method public int getPowerBrickConnectionStatus();
8639    method public int getSupportedRoleCombinations();
8640    method public int getUsbDataStatus();
8641    method public boolean isConnected();
8642    method public boolean isPdCompliant();
8643    method public boolean isPowerTransferLimited();
8644    method public boolean isRoleCombinationSupported(int, int);
8645    method public void writeToParcel(android.os.Parcel, int);
8646    field public static final int COMPLIANCE_WARNING_BC_1_2 = 3; // 0x3
8647    field public static final int COMPLIANCE_WARNING_DEBUG_ACCESSORY = 2; // 0x2
8648    field public static final int COMPLIANCE_WARNING_ENUMERATION_FAIL = 7; // 0x7
8649    field public static final int COMPLIANCE_WARNING_FLAKY_CONNECTION = 8; // 0x8
8650    field public static final int COMPLIANCE_WARNING_INPUT_POWER_LIMITED = 5; // 0x5
8651    field public static final int COMPLIANCE_WARNING_MISSING_DATA_LINES = 6; // 0x6
8652    field public static final int COMPLIANCE_WARNING_MISSING_RP = 4; // 0x4
8653    field public static final int COMPLIANCE_WARNING_OTHER = 1; // 0x1
8654    field public static final int COMPLIANCE_WARNING_UNRELIABLE_IO = 9; // 0x9
8655    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.usb.UsbPortStatus> CREATOR;
8656    field public static final int DATA_ROLE_DEVICE = 2; // 0x2
8657    field public static final int DATA_ROLE_HOST = 1; // 0x1
8658    field public static final int DATA_ROLE_NONE = 0; // 0x0
8659    field public static final int DATA_STATUS_DISABLED_CONTAMINANT = 4; // 0x4
8660    field public static final int DATA_STATUS_DISABLED_DEBUG = 32; // 0x20
8661    field public static final int DATA_STATUS_DISABLED_DOCK = 8; // 0x8
8662    field public static final int DATA_STATUS_DISABLED_DOCK_DEVICE_MODE = 128; // 0x80
8663    field public static final int DATA_STATUS_DISABLED_DOCK_HOST_MODE = 64; // 0x40
8664    field public static final int DATA_STATUS_DISABLED_FORCE = 16; // 0x10
8665    field public static final int DATA_STATUS_DISABLED_OVERHEAT = 2; // 0x2
8666    field public static final int DATA_STATUS_ENABLED = 1; // 0x1
8667    field public static final int DATA_STATUS_UNKNOWN = 0; // 0x0
8668    field public static final int MODE_AUDIO_ACCESSORY = 4; // 0x4
8669    field public static final int MODE_DEBUG_ACCESSORY = 8; // 0x8
8670    field public static final int MODE_DFP = 2; // 0x2
8671    field public static final int MODE_NONE = 0; // 0x0
8672    field public static final int MODE_UFP = 1; // 0x1
8673    field public static final int PLUG_STATE_PLUGGED_ORIENTATION_FLIPPED = 4; // 0x4
8674    field public static final int PLUG_STATE_PLUGGED_ORIENTATION_NORMAL = 3; // 0x3
8675    field public static final int PLUG_STATE_PLUGGED_ORIENTATION_UNKNOWN = 2; // 0x2
8676    field public static final int PLUG_STATE_UNKNOWN = 0; // 0x0
8677    field public static final int PLUG_STATE_UNPLUGGED = 1; // 0x1
8678    field public static final int POWER_BRICK_STATUS_CONNECTED = 1; // 0x1
8679    field public static final int POWER_BRICK_STATUS_DISCONNECTED = 2; // 0x2
8680    field public static final int POWER_BRICK_STATUS_UNKNOWN = 0; // 0x0
8681    field public static final int POWER_ROLE_NONE = 0; // 0x0
8682    field public static final int POWER_ROLE_SINK = 2; // 0x2
8683    field public static final int POWER_ROLE_SOURCE = 1; // 0x1
8684  }
8685
8686}
8687
8688package android.health.connect {
8689
8690  public class ApplicationInfoResponse {
8691    method @NonNull public java.util.List<android.health.connect.datatypes.AppInfo> getApplicationInfoList();
8692  }
8693
8694  public final class DeleteUsingFiltersRequest {
8695    method @NonNull public java.util.Set<android.health.connect.datatypes.DataOrigin> getDataOrigins();
8696    method @NonNull public java.util.Set<java.lang.Class<? extends android.health.connect.datatypes.Record>> getRecordTypes();
8697    method @Nullable public android.health.connect.TimeRangeFilter getTimeRangeFilter();
8698  }
8699
8700  public static final class DeleteUsingFiltersRequest.Builder {
8701    ctor public DeleteUsingFiltersRequest.Builder();
8702    method @NonNull public android.health.connect.DeleteUsingFiltersRequest.Builder addDataOrigin(@NonNull android.health.connect.datatypes.DataOrigin);
8703    method @NonNull public android.health.connect.DeleteUsingFiltersRequest.Builder addRecordType(@NonNull Class<? extends android.health.connect.datatypes.Record>);
8704    method @NonNull public android.health.connect.DeleteUsingFiltersRequest build();
8705    method @NonNull public android.health.connect.DeleteUsingFiltersRequest.Builder clearDataOrigins();
8706    method @NonNull public android.health.connect.DeleteUsingFiltersRequest.Builder clearRecordTypes();
8707    method @NonNull public android.health.connect.DeleteUsingFiltersRequest.Builder setTimeRangeFilter(@Nullable android.health.connect.TimeRangeFilter);
8708  }
8709
8710  public final class FetchDataOriginsPriorityOrderResponse {
8711    method @NonNull public java.util.List<android.health.connect.datatypes.DataOrigin> getDataOriginsPriorityOrder();
8712  }
8713
8714  public final class HealthConnectDataState implements android.os.Parcelable {
8715    method public int describeContents();
8716    method public int getDataMigrationState();
8717    method public int getDataRestoreError();
8718    method public int getDataRestoreState();
8719    method public void writeToParcel(@NonNull android.os.Parcel, int);
8720    field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.HealthConnectDataState> CREATOR;
8721    field public static final int MIGRATION_STATE_ALLOWED = 4; // 0x4
8722    field public static final int MIGRATION_STATE_APP_UPGRADE_REQUIRED = 1; // 0x1
8723    field public static final int MIGRATION_STATE_COMPLETE = 5; // 0x5
8724    field public static final int MIGRATION_STATE_IDLE = 0; // 0x0
8725    field public static final int MIGRATION_STATE_IN_PROGRESS = 3; // 0x3
8726    field public static final int MIGRATION_STATE_MODULE_UPGRADE_REQUIRED = 2; // 0x2
8727    field public static final int RESTORE_ERROR_FETCHING_DATA = 2; // 0x2
8728    field public static final int RESTORE_ERROR_NONE = 0; // 0x0
8729    field public static final int RESTORE_ERROR_UNKNOWN = 1; // 0x1
8730    field public static final int RESTORE_ERROR_VERSION_DIFF = 3; // 0x3
8731    field public static final int RESTORE_STATE_IDLE = 0; // 0x0
8732    field public static final int RESTORE_STATE_IN_PROGRESS = 2; // 0x2
8733    field public static final int RESTORE_STATE_PENDING = 1; // 0x1
8734  }
8735
8736  public class HealthConnectManager {
8737    method @RequiresPermission(android.health.connect.HealthPermissions.MANAGE_HEALTH_PERMISSIONS) public void deleteRecords(@NonNull android.health.connect.DeleteUsingFiltersRequest, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Void,android.health.connect.HealthConnectException>);
8738    method @RequiresPermission(android.health.connect.HealthPermissions.MANAGE_HEALTH_DATA_PERMISSION) public void fetchDataOriginsPriorityOrder(int, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.health.connect.FetchDataOriginsPriorityOrderResponse,android.health.connect.HealthConnectException>);
8739    method @RequiresPermission(android.Manifest.permission.MIGRATE_HEALTH_CONNECT_DATA) public void finishMigration(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Void,android.health.connect.migration.MigrationException>);
8740    method @NonNull @RequiresPermission(android.health.connect.HealthPermissions.MANAGE_HEALTH_DATA_PERMISSION) public void getContributorApplicationsInfo(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.health.connect.ApplicationInfoResponse,android.health.connect.HealthConnectException>);
8741    method @NonNull @RequiresPermission(anyOf={android.health.connect.HealthPermissions.MANAGE_HEALTH_DATA_PERMISSION, android.Manifest.permission.MIGRATE_HEALTH_CONNECT_DATA}) public void getHealthConnectDataState(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.health.connect.HealthConnectDataState,android.health.connect.HealthConnectException>);
8742    method @NonNull public static java.util.Set<java.lang.String> getHealthPermissions(@NonNull android.content.Context);
8743    method @IntRange(from=0, to=7300) @RequiresPermission(android.health.connect.HealthPermissions.MANAGE_HEALTH_DATA_PERMISSION) public int getRecordRetentionPeriodInDays();
8744    method @RequiresPermission(android.Manifest.permission.MIGRATE_HEALTH_CONNECT_DATA) public void insertMinDataMigrationSdkExtensionVersion(int, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Void,android.health.connect.migration.MigrationException>);
8745    method public static boolean isHealthPermission(@NonNull android.content.Context, @NonNull String);
8746    method @RequiresPermission(android.health.connect.HealthPermissions.MANAGE_HEALTH_DATA_PERMISSION) public void queryAccessLogs(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.util.List<android.health.connect.accesslog.AccessLog>,android.health.connect.HealthConnectException>);
8747    method @NonNull @RequiresPermission(android.health.connect.HealthPermissions.MANAGE_HEALTH_DATA_PERMISSION) public void queryActivityDates(@NonNull java.util.List<java.lang.Class<? extends android.health.connect.datatypes.Record>>, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.util.List<java.time.LocalDate>,android.health.connect.HealthConnectException>);
8748    method @RequiresPermission(android.health.connect.HealthPermissions.MANAGE_HEALTH_DATA_PERMISSION) public void queryAllRecordTypesInfo(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.util.Map<java.lang.Class<? extends android.health.connect.datatypes.Record>,android.health.connect.RecordTypeInfoResponse>,android.health.connect.HealthConnectException>);
8749    method @RequiresPermission(android.health.connect.HealthPermissions.MANAGE_HEALTH_DATA_PERMISSION) public void setRecordRetentionPeriodInDays(@IntRange(from=0, to=7300) int, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Void,android.health.connect.HealthConnectException>);
8750    method @RequiresPermission(android.Manifest.permission.STAGE_HEALTH_CONNECT_REMOTE_DATA) public void stageAllHealthConnectRemoteData(@NonNull java.util.Map<java.lang.String,android.os.ParcelFileDescriptor>, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Void,android.health.connect.restore.StageRemoteDataException>) throws java.lang.NullPointerException;
8751    method @RequiresPermission(android.Manifest.permission.MIGRATE_HEALTH_CONNECT_DATA) public void startMigration(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Void,android.health.connect.migration.MigrationException>);
8752    method @RequiresPermission(android.Manifest.permission.STAGE_HEALTH_CONNECT_REMOTE_DATA) public void updateDataDownloadState(int);
8753    method @RequiresPermission(android.health.connect.HealthPermissions.MANAGE_HEALTH_DATA_PERMISSION) public void updateDataOriginPriorityOrder(@NonNull android.health.connect.UpdateDataOriginPriorityOrderRequest, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Void,android.health.connect.HealthConnectException>);
8754    method @RequiresPermission(android.Manifest.permission.MIGRATE_HEALTH_CONNECT_DATA) public void writeMigrationData(@NonNull java.util.List<android.health.connect.migration.MigrationEntity>, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Void,android.health.connect.migration.MigrationException>);
8755    field public static final String ACTION_HEALTH_CONNECT_MIGRATION_READY = "android.health.connect.action.HEALTH_CONNECT_MIGRATION_READY";
8756    field public static final String ACTION_HEALTH_HOME_SETTINGS = "android.health.connect.action.HEALTH_HOME_SETTINGS";
8757    field public static final String ACTION_MANAGE_HEALTH_DATA = "android.health.connect.action.MANAGE_HEALTH_DATA";
8758    field public static final String ACTION_REQUEST_HEALTH_PERMISSIONS = "android.health.connect.action.REQUEST_HEALTH_PERMISSIONS";
8759    field public static final String ACTION_SHOW_MIGRATION_INFO = "android.health.connect.action.SHOW_MIGRATION_INFO";
8760    field public static final int DATA_DOWNLOAD_COMPLETE = 4; // 0x4
8761    field public static final int DATA_DOWNLOAD_FAILED = 3; // 0x3
8762    field public static final int DATA_DOWNLOAD_RETRY = 2; // 0x2
8763    field public static final int DATA_DOWNLOAD_STARTED = 1; // 0x1
8764    field public static final int DATA_DOWNLOAD_STATE_UNKNOWN = 0; // 0x0
8765  }
8766
8767  public class HealthDataCategory {
8768    field public static final int ACTIVITY = 1; // 0x1
8769    field public static final int BODY_MEASUREMENTS = 2; // 0x2
8770    field public static final int CYCLE_TRACKING = 3; // 0x3
8771    field public static final int NUTRITION = 4; // 0x4
8772    field public static final int SLEEP = 5; // 0x5
8773    field public static final int UNKNOWN = 0; // 0x0
8774    field public static final int VITALS = 6; // 0x6
8775  }
8776
8777  public class HealthPermissionCategory {
8778    field public static final int ACTIVE_CALORIES_BURNED = 1; // 0x1
8779    field public static final int BASAL_BODY_TEMPERATURE = 33; // 0x21
8780    field public static final int BASAL_METABOLIC_RATE = 9; // 0x9
8781    field public static final int BLOOD_GLUCOSE = 26; // 0x1a
8782    field public static final int BLOOD_PRESSURE = 27; // 0x1b
8783    field public static final int BODY_FAT = 10; // 0xa
8784    field public static final int BODY_TEMPERATURE = 28; // 0x1c
8785    field public static final int BODY_WATER_MASS = 11; // 0xb
8786    field public static final int BONE_MASS = 12; // 0xc
8787    field public static final int CERVICAL_MUCUS = 18; // 0x12
8788    field public static final int DISTANCE = 2; // 0x2
8789    field public static final int ELEVATION_GAINED = 3; // 0x3
8790    field public static final int EXERCISE = 4; // 0x4
8791    field public static final int FLOORS_CLIMBED = 5; // 0x5
8792    field public static final int HEART_RATE = 29; // 0x1d
8793    field public static final int HEART_RATE_VARIABILITY = 30; // 0x1e
8794    field public static final int HEIGHT = 13; // 0xd
8795    field public static final int HYDRATION = 23; // 0x17
8796    field public static final int INTERMENSTRUAL_BLEEDING = 38; // 0x26
8797    field public static final int LEAN_BODY_MASS = 15; // 0xf
8798    field public static final int MENSTRUATION = 20; // 0x14
8799    field public static final int NUTRITION = 24; // 0x18
8800    field public static final int OVULATION_TEST = 21; // 0x15
8801    field public static final int OXYGEN_SATURATION = 31; // 0x1f
8802    field public static final int PLANNED_EXERCISE = 40; // 0x28
8803    field public static final int POWER = 36; // 0x24
8804    field public static final int RESPIRATORY_RATE = 32; // 0x20
8805    field public static final int RESTING_HEART_RATE = 34; // 0x22
8806    field public static final int SEXUAL_ACTIVITY = 22; // 0x16
8807    field public static final int SKIN_TEMPERATURE = 39; // 0x27
8808    field public static final int SLEEP = 25; // 0x19
8809    field public static final int SPEED = 37; // 0x25
8810    field public static final int STEPS = 6; // 0x6
8811    field public static final int TOTAL_CALORIES_BURNED = 35; // 0x23
8812    field public static final int UNKNOWN = 0; // 0x0
8813    field public static final int VO2_MAX = 7; // 0x7
8814    field public static final int WEIGHT = 17; // 0x11
8815    field public static final int WHEELCHAIR_PUSHES = 8; // 0x8
8816  }
8817
8818  public final class HealthPermissions {
8819    field public static final String HEALTH_PERMISSION_GROUP = "android.permission-group.HEALTH";
8820    field public static final String MANAGE_HEALTH_DATA_PERMISSION = "android.permission.MANAGE_HEALTH_DATA";
8821    field public static final String MANAGE_HEALTH_PERMISSIONS = "android.permission.MANAGE_HEALTH_PERMISSIONS";
8822  }
8823
8824  public class RecordTypeInfoResponse {
8825    method @NonNull public java.util.List<android.health.connect.datatypes.DataOrigin> getContributingPackages();
8826    method public int getDataCategory();
8827    method public int getPermissionCategory();
8828  }
8829
8830  public final class UpdateDataOriginPriorityOrderRequest {
8831    ctor public UpdateDataOriginPriorityOrderRequest(@NonNull java.util.List<android.health.connect.datatypes.DataOrigin>, int);
8832    method public int getDataCategory();
8833    method @NonNull public java.util.List<android.health.connect.datatypes.DataOrigin> getDataOriginInOrder();
8834  }
8835
8836}
8837
8838package android.health.connect.accesslog {
8839
8840  public final class AccessLog implements android.os.Parcelable {
8841    method public int describeContents();
8842    method @NonNull public java.time.Instant getAccessTime();
8843    method public int getOperationType();
8844    method @NonNull public String getPackageName();
8845    method @NonNull public java.util.List<java.lang.Class<? extends android.health.connect.datatypes.Record>> getRecordTypes();
8846    method public void writeToParcel(@NonNull android.os.Parcel, int);
8847    field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.accesslog.AccessLog> CREATOR;
8848  }
8849
8850  public static final class AccessLog.OperationType {
8851    field public static final int OPERATION_TYPE_DELETE = 1; // 0x1
8852    field public static final int OPERATION_TYPE_READ = 2; // 0x2
8853    field public static final int OPERATION_TYPE_UPSERT = 0; // 0x0
8854  }
8855
8856}
8857
8858package android.health.connect.datatypes {
8859
8860  public abstract class Record {
8861    method public int getRecordType();
8862  }
8863
8864  public final class RecordTypeIdentifier {
8865    field public static final int RECORD_TYPE_ACTIVE_CALORIES_BURNED = 2; // 0x2
8866    field public static final int RECORD_TYPE_BASAL_BODY_TEMPERATURE = 20; // 0x14
8867    field public static final int RECORD_TYPE_BASAL_METABOLIC_RATE = 16; // 0x10
8868    field public static final int RECORD_TYPE_BLOOD_GLUCOSE = 25; // 0x19
8869    field public static final int RECORD_TYPE_BLOOD_PRESSURE = 23; // 0x17
8870    field public static final int RECORD_TYPE_BODY_FAT = 17; // 0x11
8871    field public static final int RECORD_TYPE_BODY_TEMPERATURE = 29; // 0x1d
8872    field public static final int RECORD_TYPE_BODY_WATER_MASS = 34; // 0x22
8873    field public static final int RECORD_TYPE_BONE_MASS = 32; // 0x20
8874    field public static final int RECORD_TYPE_CERVICAL_MUCUS = 19; // 0x13
8875    field public static final int RECORD_TYPE_CYCLING_PEDALING_CADENCE = 12; // 0xc
8876    field public static final int RECORD_TYPE_DISTANCE = 7; // 0x7
8877    field public static final int RECORD_TYPE_ELEVATION_GAINED = 4; // 0x4
8878    field public static final int RECORD_TYPE_EXERCISE_SESSION = 37; // 0x25
8879    field public static final int RECORD_TYPE_FLOORS_CLIMBED = 5; // 0x5
8880    field public static final int RECORD_TYPE_HEART_RATE = 11; // 0xb
8881    field public static final int RECORD_TYPE_HEART_RATE_VARIABILITY_RMSSD = 35; // 0x23
8882    field public static final int RECORD_TYPE_HEIGHT = 24; // 0x18
8883    field public static final int RECORD_TYPE_HYDRATION = 3; // 0x3
8884    field public static final int RECORD_TYPE_INTERMENSTRUAL_BLEEDING = 36; // 0x24
8885    field public static final int RECORD_TYPE_LEAN_BODY_MASS = 27; // 0x1b
8886    field public static final int RECORD_TYPE_MENSTRUATION_FLOW = 21; // 0x15
8887    field public static final int RECORD_TYPE_MENSTRUATION_PERIOD = 10; // 0xa
8888    field public static final int RECORD_TYPE_NUTRITION = 8; // 0x8
8889    field public static final int RECORD_TYPE_OVULATION_TEST = 30; // 0x1e
8890    field public static final int RECORD_TYPE_OXYGEN_SATURATION = 22; // 0x16
8891    field public static final int RECORD_TYPE_PLANNED_EXERCISE_SESSION = 40; // 0x28
8892    field public static final int RECORD_TYPE_POWER = 13; // 0xd
8893    field public static final int RECORD_TYPE_RESPIRATORY_RATE = 31; // 0x1f
8894    field public static final int RECORD_TYPE_RESTING_HEART_RATE = 33; // 0x21
8895    field public static final int RECORD_TYPE_SEXUAL_ACTIVITY = 28; // 0x1c
8896    field public static final int RECORD_TYPE_SKIN_TEMPERATURE = 39; // 0x27
8897    field public static final int RECORD_TYPE_SLEEP_SESSION = 38; // 0x26
8898    field public static final int RECORD_TYPE_SPEED = 14; // 0xe
8899    field public static final int RECORD_TYPE_STEPS = 1; // 0x1
8900    field public static final int RECORD_TYPE_STEPS_CADENCE = 15; // 0xf
8901    field public static final int RECORD_TYPE_TOTAL_CALORIES_BURNED = 9; // 0x9
8902    field public static final int RECORD_TYPE_UNKNOWN = 0; // 0x0
8903    field public static final int RECORD_TYPE_VO2_MAX = 18; // 0x12
8904    field public static final int RECORD_TYPE_WEIGHT = 26; // 0x1a
8905    field public static final int RECORD_TYPE_WHEELCHAIR_PUSHES = 6; // 0x6
8906  }
8907
8908}
8909
8910package android.health.connect.migration {
8911
8912  public final class AppInfoMigrationPayload extends android.health.connect.migration.MigrationPayload implements android.os.Parcelable {
8913    method @Nullable public byte[] getAppIcon();
8914    method @NonNull public String getAppName();
8915    method @NonNull public String getPackageName();
8916    method public void writeToParcel(@NonNull android.os.Parcel, int);
8917    field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.migration.AppInfoMigrationPayload> CREATOR;
8918  }
8919
8920  public static final class AppInfoMigrationPayload.Builder {
8921    ctor public AppInfoMigrationPayload.Builder(@NonNull String, @NonNull String);
8922    method @NonNull public android.health.connect.migration.AppInfoMigrationPayload build();
8923    method @NonNull public android.health.connect.migration.AppInfoMigrationPayload.Builder setAppIcon(@Nullable byte[]);
8924    method @NonNull public android.health.connect.migration.AppInfoMigrationPayload.Builder setAppName(@NonNull String);
8925    method @NonNull public android.health.connect.migration.AppInfoMigrationPayload.Builder setPackageName(@NonNull String);
8926  }
8927
8928  public final class MetadataMigrationPayload extends android.health.connect.migration.MigrationPayload implements android.os.Parcelable {
8929    method public int getRecordRetentionPeriodDays();
8930    method public void writeToParcel(@NonNull android.os.Parcel, int);
8931    field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.migration.MetadataMigrationPayload> CREATOR;
8932  }
8933
8934  public static final class MetadataMigrationPayload.Builder {
8935    ctor public MetadataMigrationPayload.Builder();
8936    method @NonNull public android.health.connect.migration.MetadataMigrationPayload build();
8937    method @NonNull public android.health.connect.migration.MetadataMigrationPayload.Builder setRecordRetentionPeriodDays(@IntRange(from=0x0, to=0x1c84) int);
8938  }
8939
8940  public final class MigrationEntity implements android.os.Parcelable {
8941    ctor public MigrationEntity(@NonNull String, @NonNull android.health.connect.migration.MigrationPayload);
8942    method public int describeContents();
8943    method @NonNull public String getEntityId();
8944    method @NonNull public android.health.connect.migration.MigrationPayload getPayload();
8945    method public void writeToParcel(@NonNull android.os.Parcel, int);
8946    field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.migration.MigrationEntity> CREATOR;
8947  }
8948
8949  public final class MigrationException extends java.lang.RuntimeException implements android.os.Parcelable {
8950    ctor public MigrationException(@Nullable String, int, @Nullable String);
8951    method public int describeContents();
8952    method public int getErrorCode();
8953    method @Nullable public String getFailedEntityId();
8954    method public void writeToParcel(@NonNull android.os.Parcel, int);
8955    field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.migration.MigrationException> CREATOR;
8956    field public static final int ERROR_INTERNAL = 1; // 0x1
8957    field public static final int ERROR_MIGRATE_ENTITY = 2; // 0x2
8958    field public static final int ERROR_MIGRATION_UNAVAILABLE = 3; // 0x3
8959  }
8960
8961  public abstract class MigrationPayload implements android.os.Parcelable {
8962    method public int describeContents();
8963    field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.migration.MigrationPayload> CREATOR;
8964  }
8965
8966  public final class PermissionMigrationPayload extends android.health.connect.migration.MigrationPayload implements android.os.Parcelable {
8967    method @NonNull public java.time.Instant getFirstGrantTime();
8968    method @NonNull public String getHoldingPackageName();
8969    method @NonNull public java.util.List<java.lang.String> getPermissions();
8970    method public void writeToParcel(@NonNull android.os.Parcel, int);
8971    field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.migration.PermissionMigrationPayload> CREATOR;
8972  }
8973
8974  public static final class PermissionMigrationPayload.Builder {
8975    ctor public PermissionMigrationPayload.Builder(@NonNull String, @NonNull java.time.Instant);
8976    method @NonNull public android.health.connect.migration.PermissionMigrationPayload.Builder addPermission(@NonNull String);
8977    method @NonNull public android.health.connect.migration.PermissionMigrationPayload build();
8978    method @NonNull public android.health.connect.migration.PermissionMigrationPayload.Builder setFirstGrantTime(@NonNull java.time.Instant);
8979    method @NonNull public android.health.connect.migration.PermissionMigrationPayload.Builder setHoldingPackageName(@NonNull String);
8980  }
8981
8982  public final class PriorityMigrationPayload extends android.health.connect.migration.MigrationPayload implements android.os.Parcelable {
8983    method public int getDataCategory();
8984    method @NonNull public java.util.List<android.health.connect.datatypes.DataOrigin> getDataOrigins();
8985    method public void writeToParcel(@NonNull android.os.Parcel, int);
8986    field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.migration.PriorityMigrationPayload> CREATOR;
8987  }
8988
8989  public static final class PriorityMigrationPayload.Builder {
8990    ctor public PriorityMigrationPayload.Builder();
8991    method @NonNull public android.health.connect.migration.PriorityMigrationPayload.Builder addDataOrigin(@NonNull android.health.connect.datatypes.DataOrigin);
8992    method @NonNull public android.health.connect.migration.PriorityMigrationPayload build();
8993    method @NonNull public android.health.connect.migration.PriorityMigrationPayload.Builder setDataCategory(int);
8994  }
8995
8996  public final class RecordMigrationPayload extends android.health.connect.migration.MigrationPayload implements android.os.Parcelable {
8997    method @NonNull public String getOriginAppName();
8998    method @NonNull public String getOriginPackageName();
8999    method @NonNull public android.health.connect.datatypes.Record getRecord();
9000    method public void writeToParcel(@NonNull android.os.Parcel, int);
9001    field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.migration.RecordMigrationPayload> CREATOR;
9002  }
9003
9004  public static final class RecordMigrationPayload.Builder {
9005    ctor public RecordMigrationPayload.Builder(@NonNull String, @NonNull String, @NonNull android.health.connect.datatypes.Record);
9006    method @NonNull public android.health.connect.migration.RecordMigrationPayload build();
9007    method @NonNull public android.health.connect.migration.RecordMigrationPayload.Builder setOriginAppName(@NonNull String);
9008    method @NonNull public android.health.connect.migration.RecordMigrationPayload.Builder setOriginPackageName(@NonNull String);
9009    method @NonNull public android.health.connect.migration.RecordMigrationPayload.Builder setRecord(@NonNull android.health.connect.datatypes.Record);
9010  }
9011
9012}
9013
9014package android.health.connect.restore {
9015
9016  public final class StageRemoteDataException extends java.lang.RuntimeException implements android.os.Parcelable {
9017    method public int describeContents();
9018    method @NonNull public java.util.Map<java.lang.String,android.health.connect.HealthConnectException> getExceptionsByFileNames();
9019    method public void writeToParcel(@NonNull android.os.Parcel, int);
9020    field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.restore.StageRemoteDataException> CREATOR;
9021  }
9022
9023}
9024
9025package android.location {
9026
9027  public abstract class BatchedLocationCallback {
9028    ctor public BatchedLocationCallback();
9029    method public void onLocationBatch(java.util.List<android.location.Location>);
9030  }
9031
9032  public final class CorrelationVector implements android.os.Parcelable {
9033    method public int describeContents();
9034    method @FloatRange(from=0.0f) public double getFrequencyOffsetMetersPerSecond();
9035    method @NonNull public int[] getMagnitude();
9036    method @FloatRange(from=0.0f) public double getSamplingStartMeters();
9037    method @FloatRange(from=0.0f, fromInclusive=false) public double getSamplingWidthMeters();
9038    method public void writeToParcel(@NonNull android.os.Parcel, int);
9039    field @NonNull public static final android.os.Parcelable.Creator<android.location.CorrelationVector> CREATOR;
9040  }
9041
9042  public static final class CorrelationVector.Builder {
9043    ctor public CorrelationVector.Builder();
9044    method @NonNull public android.location.CorrelationVector build();
9045    method @NonNull public android.location.CorrelationVector.Builder setFrequencyOffsetMetersPerSecond(@FloatRange(from=0.0f) double);
9046    method @NonNull public android.location.CorrelationVector.Builder setMagnitude(@NonNull int[]);
9047    method @NonNull public android.location.CorrelationVector.Builder setSamplingStartMeters(@FloatRange(from=0.0f) double);
9048    method @NonNull public android.location.CorrelationVector.Builder setSamplingWidthMeters(@FloatRange(from=0.0f, fromInclusive=false) double);
9049  }
9050
9051  public final class Country implements android.os.Parcelable {
9052    ctor public Country(@NonNull String, int);
9053    method public int describeContents();
9054    method @NonNull public String getCountryCode();
9055    method public int getSource();
9056    method public void writeToParcel(@NonNull android.os.Parcel, int);
9057    field public static final int COUNTRY_SOURCE_LOCALE = 3; // 0x3
9058    field public static final int COUNTRY_SOURCE_LOCATION = 1; // 0x1
9059    field public static final int COUNTRY_SOURCE_NETWORK = 0; // 0x0
9060    field public static final int COUNTRY_SOURCE_SIM = 2; // 0x2
9061    field @NonNull public static final android.os.Parcelable.Creator<android.location.Country> CREATOR;
9062  }
9063
9064  public class CountryDetector {
9065    method public void registerCountryDetectorCallback(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.location.Country>);
9066    method public void unregisterCountryDetectorCallback(@NonNull java.util.function.Consumer<android.location.Country>);
9067  }
9068
9069  public final class GnssCapabilities implements android.os.Parcelable {
9070    method @Deprecated public boolean hasMeasurementCorrectionsReflectingPane();
9071    method @Deprecated public boolean hasNavMessages();
9072    method @Deprecated public boolean hasSatelliteBlacklist();
9073  }
9074
9075  public final class GnssExcessPathInfo implements android.os.Parcelable {
9076    method public int describeContents();
9077    method @FloatRange(from=0.0f) public float getAttenuationDb();
9078    method @FloatRange(from=0.0f) public float getExcessPathLengthMeters();
9079    method @FloatRange(from=0.0f) public float getExcessPathLengthUncertaintyMeters();
9080    method @NonNull public android.location.GnssReflectingPlane getReflectingPlane();
9081    method public boolean hasAttenuation();
9082    method public boolean hasExcessPathLength();
9083    method public boolean hasExcessPathLengthUncertainty();
9084    method public boolean hasReflectingPlane();
9085    method public void writeToParcel(@NonNull android.os.Parcel, int);
9086    field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssExcessPathInfo> CREATOR;
9087  }
9088
9089  public static final class GnssExcessPathInfo.Builder {
9090    ctor public GnssExcessPathInfo.Builder();
9091    method @NonNull public android.location.GnssExcessPathInfo build();
9092    method @NonNull public android.location.GnssExcessPathInfo.Builder clearAttenuationDb();
9093    method @NonNull public android.location.GnssExcessPathInfo.Builder clearExcessPathLengthMeters();
9094    method @NonNull public android.location.GnssExcessPathInfo.Builder clearExcessPathLengthUncertaintyMeters();
9095    method @NonNull public android.location.GnssExcessPathInfo.Builder setAttenuationDb(@FloatRange(from=0.0f) float);
9096    method @NonNull public android.location.GnssExcessPathInfo.Builder setExcessPathLengthMeters(@FloatRange(from=0.0f) float);
9097    method @NonNull public android.location.GnssExcessPathInfo.Builder setExcessPathLengthUncertaintyMeters(@FloatRange(from=0.0f) float);
9098    method @NonNull public android.location.GnssExcessPathInfo.Builder setReflectingPlane(@Nullable android.location.GnssReflectingPlane);
9099  }
9100
9101  public final class GnssMeasurement implements android.os.Parcelable {
9102    method @Nullable public java.util.Collection<android.location.CorrelationVector> getCorrelationVectors();
9103    method @Nullable public android.location.SatellitePvt getSatellitePvt();
9104    method public boolean hasCorrelationVectors();
9105    method public boolean hasSatellitePvt();
9106  }
9107
9108  public final class GnssMeasurementCorrections implements android.os.Parcelable {
9109    method public int describeContents();
9110    method @FloatRange(from=-1000.0F, to=10000.0f) public double getAltitudeMeters();
9111    method @FloatRange(from=0.0f, to=360.0f) public float getEnvironmentBearingDegrees();
9112    method @FloatRange(from=0.0f, to=180.0f) public float getEnvironmentBearingUncertaintyDegrees();
9113    method @FloatRange(from=0.0f) public double getHorizontalPositionUncertaintyMeters();
9114    method @FloatRange(from=-90.0F, to=90.0f) public double getLatitudeDegrees();
9115    method @FloatRange(from=-180.0F, to=180.0f) public double getLongitudeDegrees();
9116    method @NonNull public java.util.List<android.location.GnssSingleSatCorrection> getSingleSatelliteCorrectionList();
9117    method @IntRange(from=0) public long getToaGpsNanosecondsOfWeek();
9118    method @FloatRange(from=0.0f) public double getVerticalPositionUncertaintyMeters();
9119    method public boolean hasEnvironmentBearing();
9120    method public void writeToParcel(@NonNull android.os.Parcel, int);
9121    field public static final android.os.Parcelable.Creator<android.location.GnssMeasurementCorrections> CREATOR;
9122  }
9123
9124  public static final class GnssMeasurementCorrections.Builder {
9125    ctor public GnssMeasurementCorrections.Builder();
9126    method @NonNull public android.location.GnssMeasurementCorrections build();
9127    method @NonNull public android.location.GnssMeasurementCorrections.Builder setAltitudeMeters(@FloatRange(from=-1000.0F, to=10000.0f) double);
9128    method @NonNull public android.location.GnssMeasurementCorrections.Builder setEnvironmentBearingDegrees(@FloatRange(from=0.0f, to=360.0f) float);
9129    method @NonNull public android.location.GnssMeasurementCorrections.Builder setEnvironmentBearingUncertaintyDegrees(@FloatRange(from=0.0f, to=180.0f) float);
9130    method @NonNull public android.location.GnssMeasurementCorrections.Builder setHorizontalPositionUncertaintyMeters(@FloatRange(from=0.0f) double);
9131    method @NonNull public android.location.GnssMeasurementCorrections.Builder setLatitudeDegrees(@FloatRange(from=-90.0F, to=90.0f) double);
9132    method @NonNull public android.location.GnssMeasurementCorrections.Builder setLongitudeDegrees(@FloatRange(from=-180.0F, to=180.0f) double);
9133    method @NonNull public android.location.GnssMeasurementCorrections.Builder setSingleSatelliteCorrectionList(@NonNull java.util.List<android.location.GnssSingleSatCorrection>);
9134    method @NonNull public android.location.GnssMeasurementCorrections.Builder setToaGpsNanosecondsOfWeek(@IntRange(from=0) long);
9135    method @NonNull public android.location.GnssMeasurementCorrections.Builder setVerticalPositionUncertaintyMeters(@FloatRange(from=0.0f) double);
9136  }
9137
9138  public final class GnssMeasurementRequest implements android.os.Parcelable {
9139    method @NonNull public android.os.WorkSource getWorkSource();
9140    method public boolean isCorrelationVectorOutputsEnabled();
9141  }
9142
9143  public static final class GnssMeasurementRequest.Builder {
9144    method @NonNull public android.location.GnssMeasurementRequest.Builder setCorrelationVectorOutputsEnabled(boolean);
9145    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public android.location.GnssMeasurementRequest.Builder setWorkSource(@Nullable android.os.WorkSource);
9146  }
9147
9148  public final class GnssReflectingPlane implements android.os.Parcelable {
9149    method public int describeContents();
9150    method @FloatRange(from=-1000.0F, to=10000.0f) public double getAltitudeMeters();
9151    method @FloatRange(from=0.0f, to=360.0f) public double getAzimuthDegrees();
9152    method @FloatRange(from=-90.0F, to=90.0f) public double getLatitudeDegrees();
9153    method @FloatRange(from=-180.0F, to=180.0f) public double getLongitudeDegrees();
9154    method public void writeToParcel(@NonNull android.os.Parcel, int);
9155    field public static final android.os.Parcelable.Creator<android.location.GnssReflectingPlane> CREATOR;
9156  }
9157
9158  public static final class GnssReflectingPlane.Builder {
9159    ctor public GnssReflectingPlane.Builder();
9160    method @NonNull public android.location.GnssReflectingPlane build();
9161    method @NonNull public android.location.GnssReflectingPlane.Builder setAltitudeMeters(@FloatRange(from=-1000.0F, to=10000.0f) double);
9162    method @NonNull public android.location.GnssReflectingPlane.Builder setAzimuthDegrees(@FloatRange(from=0.0f, to=360.0f) double);
9163    method @NonNull public android.location.GnssReflectingPlane.Builder setLatitudeDegrees(@FloatRange(from=-90.0F, to=90.0f) double);
9164    method @NonNull public android.location.GnssReflectingPlane.Builder setLongitudeDegrees(@FloatRange(from=-180.0F, to=180.0f) double);
9165  }
9166
9167  public final class GnssRequest implements android.os.Parcelable {
9168    method public int describeContents();
9169    method public boolean isFullTracking();
9170    method public void writeToParcel(@NonNull android.os.Parcel, int);
9171    field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssRequest> CREATOR;
9172  }
9173
9174  public static final class GnssRequest.Builder {
9175    ctor public GnssRequest.Builder();
9176    ctor public GnssRequest.Builder(@NonNull android.location.GnssRequest);
9177    method @NonNull public android.location.GnssRequest build();
9178    method @NonNull public android.location.GnssRequest.Builder setFullTracking(boolean);
9179  }
9180
9181  public final class GnssSingleSatCorrection implements android.os.Parcelable {
9182    method public int describeContents();
9183    method @FloatRange(from=0.0f, fromInclusive=false) public float getCarrierFrequencyHz();
9184    method @FloatRange(from=0.0f) public float getCombinedAttenuationDb();
9185    method public int getConstellationType();
9186    method @FloatRange(from=0.0f) public float getExcessPathLengthMeters();
9187    method @FloatRange(from=0.0f) public float getExcessPathLengthUncertaintyMeters();
9188    method @NonNull public java.util.List<android.location.GnssExcessPathInfo> getGnssExcessPathInfoList();
9189    method @FloatRange(from=0.0f, to=1.0f) public float getProbabilityLineOfSight();
9190    method @Deprecated @Nullable public android.location.GnssReflectingPlane getReflectingPlane();
9191    method @IntRange(from=0) public int getSatelliteId();
9192    method public boolean hasCombinedAttenuation();
9193    method public boolean hasExcessPathLength();
9194    method public boolean hasExcessPathLengthUncertainty();
9195    method @Deprecated public boolean hasReflectingPlane();
9196    method public boolean hasValidSatelliteLineOfSight();
9197    method public void writeToParcel(@NonNull android.os.Parcel, int);
9198    field public static final android.os.Parcelable.Creator<android.location.GnssSingleSatCorrection> CREATOR;
9199  }
9200
9201  public static final class GnssSingleSatCorrection.Builder {
9202    ctor public GnssSingleSatCorrection.Builder();
9203    method @NonNull public android.location.GnssSingleSatCorrection build();
9204    method @NonNull public android.location.GnssSingleSatCorrection.Builder clearCombinedAttenuationDb();
9205    method @NonNull public android.location.GnssSingleSatCorrection.Builder clearExcessPathLengthMeters();
9206    method @NonNull public android.location.GnssSingleSatCorrection.Builder clearExcessPathLengthUncertaintyMeters();
9207    method @NonNull public android.location.GnssSingleSatCorrection.Builder clearProbabilityLineOfSight();
9208    method @NonNull public android.location.GnssSingleSatCorrection.Builder setCarrierFrequencyHz(@FloatRange(from=0.0f, fromInclusive=false) float);
9209    method @NonNull public android.location.GnssSingleSatCorrection.Builder setCombinedAttenuationDb(@FloatRange(from=0.0f) float);
9210    method @NonNull public android.location.GnssSingleSatCorrection.Builder setConstellationType(int);
9211    method @NonNull public android.location.GnssSingleSatCorrection.Builder setExcessPathLengthMeters(@FloatRange(from=0.0f) float);
9212    method @NonNull public android.location.GnssSingleSatCorrection.Builder setExcessPathLengthUncertaintyMeters(@FloatRange(from=0.0f) float);
9213    method @NonNull public android.location.GnssSingleSatCorrection.Builder setGnssExcessPathInfoList(@NonNull java.util.List<android.location.GnssExcessPathInfo>);
9214    method @NonNull public android.location.GnssSingleSatCorrection.Builder setProbabilityLineOfSight(@FloatRange(from=0.0f, to=1.0f) float);
9215    method @Deprecated @NonNull public android.location.GnssSingleSatCorrection.Builder setReflectingPlane(@Nullable android.location.GnssReflectingPlane);
9216    method @NonNull public android.location.GnssSingleSatCorrection.Builder setSatelliteId(@IntRange(from=0) int);
9217  }
9218
9219  @Deprecated public class GpsClock implements android.os.Parcelable {
9220    method @Deprecated public int describeContents();
9221    method @Deprecated public double getBiasInNs();
9222    method @Deprecated public double getBiasUncertaintyInNs();
9223    method @Deprecated public double getDriftInNsPerSec();
9224    method @Deprecated public double getDriftUncertaintyInNsPerSec();
9225    method @Deprecated public long getFullBiasInNs();
9226    method @Deprecated public short getLeapSecond();
9227    method @Deprecated public long getTimeInNs();
9228    method @Deprecated public double getTimeUncertaintyInNs();
9229    method @Deprecated public byte getType();
9230    method @Deprecated public boolean hasBiasInNs();
9231    method @Deprecated public boolean hasBiasUncertaintyInNs();
9232    method @Deprecated public boolean hasDriftInNsPerSec();
9233    method @Deprecated public boolean hasDriftUncertaintyInNsPerSec();
9234    method @Deprecated public boolean hasFullBiasInNs();
9235    method @Deprecated public boolean hasLeapSecond();
9236    method @Deprecated public boolean hasTimeUncertaintyInNs();
9237    method @Deprecated public void reset();
9238    method @Deprecated public void resetBiasInNs();
9239    method @Deprecated public void resetBiasUncertaintyInNs();
9240    method @Deprecated public void resetDriftInNsPerSec();
9241    method @Deprecated public void resetDriftUncertaintyInNsPerSec();
9242    method @Deprecated public void resetFullBiasInNs();
9243    method @Deprecated public void resetLeapSecond();
9244    method @Deprecated public void resetTimeUncertaintyInNs();
9245    method @Deprecated public void set(android.location.GpsClock);
9246    method @Deprecated public void setBiasInNs(double);
9247    method @Deprecated public void setBiasUncertaintyInNs(double);
9248    method @Deprecated public void setDriftInNsPerSec(double);
9249    method @Deprecated public void setDriftUncertaintyInNsPerSec(double);
9250    method @Deprecated public void setFullBiasInNs(long);
9251    method @Deprecated public void setLeapSecond(short);
9252    method @Deprecated public void setTimeInNs(long);
9253    method @Deprecated public void setTimeUncertaintyInNs(double);
9254    method @Deprecated public void setType(byte);
9255    method @Deprecated public void writeToParcel(android.os.Parcel, int);
9256    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsClock> CREATOR;
9257    field @Deprecated public static final byte TYPE_GPS_TIME = 2; // 0x2
9258    field @Deprecated public static final byte TYPE_LOCAL_HW_TIME = 1; // 0x1
9259    field @Deprecated public static final byte TYPE_UNKNOWN = 0; // 0x0
9260  }
9261
9262  @Deprecated public class GpsMeasurement implements android.os.Parcelable {
9263    method @Deprecated public int describeContents();
9264    method @Deprecated public double getAccumulatedDeltaRangeInMeters();
9265    method @Deprecated public short getAccumulatedDeltaRangeState();
9266    method @Deprecated public double getAccumulatedDeltaRangeUncertaintyInMeters();
9267    method @Deprecated public double getAzimuthInDeg();
9268    method @Deprecated public double getAzimuthUncertaintyInDeg();
9269    method @Deprecated public int getBitNumber();
9270    method @Deprecated public long getCarrierCycles();
9271    method @Deprecated public float getCarrierFrequencyInHz();
9272    method @Deprecated public double getCarrierPhase();
9273    method @Deprecated public double getCarrierPhaseUncertainty();
9274    method @Deprecated public double getCn0InDbHz();
9275    method @Deprecated public double getCodePhaseInChips();
9276    method @Deprecated public double getCodePhaseUncertaintyInChips();
9277    method @Deprecated public double getDopplerShiftInHz();
9278    method @Deprecated public double getDopplerShiftUncertaintyInHz();
9279    method @Deprecated public double getElevationInDeg();
9280    method @Deprecated public double getElevationUncertaintyInDeg();
9281    method @Deprecated public byte getLossOfLock();
9282    method @Deprecated public byte getMultipathIndicator();
9283    method @Deprecated public byte getPrn();
9284    method @Deprecated public double getPseudorangeInMeters();
9285    method @Deprecated public double getPseudorangeRateInMetersPerSec();
9286    method @Deprecated public double getPseudorangeRateUncertaintyInMetersPerSec();
9287    method @Deprecated public double getPseudorangeUncertaintyInMeters();
9288    method @Deprecated public long getReceivedGpsTowInNs();
9289    method @Deprecated public long getReceivedGpsTowUncertaintyInNs();
9290    method @Deprecated public double getSnrInDb();
9291    method @Deprecated public short getState();
9292    method @Deprecated public short getTimeFromLastBitInMs();
9293    method @Deprecated public double getTimeOffsetInNs();
9294    method @Deprecated public boolean hasAzimuthInDeg();
9295    method @Deprecated public boolean hasAzimuthUncertaintyInDeg();
9296    method @Deprecated public boolean hasBitNumber();
9297    method @Deprecated public boolean hasCarrierCycles();
9298    method @Deprecated public boolean hasCarrierFrequencyInHz();
9299    method @Deprecated public boolean hasCarrierPhase();
9300    method @Deprecated public boolean hasCarrierPhaseUncertainty();
9301    method @Deprecated public boolean hasCodePhaseInChips();
9302    method @Deprecated public boolean hasCodePhaseUncertaintyInChips();
9303    method @Deprecated public boolean hasDopplerShiftInHz();
9304    method @Deprecated public boolean hasDopplerShiftUncertaintyInHz();
9305    method @Deprecated public boolean hasElevationInDeg();
9306    method @Deprecated public boolean hasElevationUncertaintyInDeg();
9307    method @Deprecated public boolean hasPseudorangeInMeters();
9308    method @Deprecated public boolean hasPseudorangeUncertaintyInMeters();
9309    method @Deprecated public boolean hasSnrInDb();
9310    method @Deprecated public boolean hasTimeFromLastBitInMs();
9311    method @Deprecated public boolean isPseudorangeRateCorrected();
9312    method @Deprecated public boolean isUsedInFix();
9313    method @Deprecated public void reset();
9314    method @Deprecated public void resetAzimuthInDeg();
9315    method @Deprecated public void resetAzimuthUncertaintyInDeg();
9316    method @Deprecated public void resetBitNumber();
9317    method @Deprecated public void resetCarrierCycles();
9318    method @Deprecated public void resetCarrierFrequencyInHz();
9319    method @Deprecated public void resetCarrierPhase();
9320    method @Deprecated public void resetCarrierPhaseUncertainty();
9321    method @Deprecated public void resetCodePhaseInChips();
9322    method @Deprecated public void resetCodePhaseUncertaintyInChips();
9323    method @Deprecated public void resetDopplerShiftInHz();
9324    method @Deprecated public void resetDopplerShiftUncertaintyInHz();
9325    method @Deprecated public void resetElevationInDeg();
9326    method @Deprecated public void resetElevationUncertaintyInDeg();
9327    method @Deprecated public void resetPseudorangeInMeters();
9328    method @Deprecated public void resetPseudorangeUncertaintyInMeters();
9329    method @Deprecated public void resetSnrInDb();
9330    method @Deprecated public void resetTimeFromLastBitInMs();
9331    method @Deprecated public void set(android.location.GpsMeasurement);
9332    method @Deprecated public void setAccumulatedDeltaRangeInMeters(double);
9333    method @Deprecated public void setAccumulatedDeltaRangeState(short);
9334    method @Deprecated public void setAccumulatedDeltaRangeUncertaintyInMeters(double);
9335    method @Deprecated public void setAzimuthInDeg(double);
9336    method @Deprecated public void setAzimuthUncertaintyInDeg(double);
9337    method @Deprecated public void setBitNumber(int);
9338    method @Deprecated public void setCarrierCycles(long);
9339    method @Deprecated public void setCarrierFrequencyInHz(float);
9340    method @Deprecated public void setCarrierPhase(double);
9341    method @Deprecated public void setCarrierPhaseUncertainty(double);
9342    method @Deprecated public void setCn0InDbHz(double);
9343    method @Deprecated public void setCodePhaseInChips(double);
9344    method @Deprecated public void setCodePhaseUncertaintyInChips(double);
9345    method @Deprecated public void setDopplerShiftInHz(double);
9346    method @Deprecated public void setDopplerShiftUncertaintyInHz(double);
9347    method @Deprecated public void setElevationInDeg(double);
9348    method @Deprecated public void setElevationUncertaintyInDeg(double);
9349    method @Deprecated public void setLossOfLock(byte);
9350    method @Deprecated public void setMultipathIndicator(byte);
9351    method @Deprecated public void setPrn(byte);
9352    method @Deprecated public void setPseudorangeInMeters(double);
9353    method @Deprecated public void setPseudorangeRateInMetersPerSec(double);
9354    method @Deprecated public void setPseudorangeRateUncertaintyInMetersPerSec(double);
9355    method @Deprecated public void setPseudorangeUncertaintyInMeters(double);
9356    method @Deprecated public void setReceivedGpsTowInNs(long);
9357    method @Deprecated public void setReceivedGpsTowUncertaintyInNs(long);
9358    method @Deprecated public void setSnrInDb(double);
9359    method @Deprecated public void setState(short);
9360    method @Deprecated public void setTimeFromLastBitInMs(short);
9361    method @Deprecated public void setTimeOffsetInNs(double);
9362    method @Deprecated public void setUsedInFix(boolean);
9363    method @Deprecated public void writeToParcel(android.os.Parcel, int);
9364    field @Deprecated public static final short ADR_STATE_CYCLE_SLIP = 4; // 0x4
9365    field @Deprecated public static final short ADR_STATE_RESET = 2; // 0x2
9366    field @Deprecated public static final short ADR_STATE_UNKNOWN = 0; // 0x0
9367    field @Deprecated public static final short ADR_STATE_VALID = 1; // 0x1
9368    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsMeasurement> CREATOR;
9369    field @Deprecated public static final byte LOSS_OF_LOCK_CYCLE_SLIP = 2; // 0x2
9370    field @Deprecated public static final byte LOSS_OF_LOCK_OK = 1; // 0x1
9371    field @Deprecated public static final byte LOSS_OF_LOCK_UNKNOWN = 0; // 0x0
9372    field @Deprecated public static final byte MULTIPATH_INDICATOR_DETECTED = 1; // 0x1
9373    field @Deprecated public static final byte MULTIPATH_INDICATOR_NOT_USED = 2; // 0x2
9374    field @Deprecated public static final byte MULTIPATH_INDICATOR_UNKNOWN = 0; // 0x0
9375    field @Deprecated public static final short STATE_BIT_SYNC = 2; // 0x2
9376    field @Deprecated public static final short STATE_CODE_LOCK = 1; // 0x1
9377    field @Deprecated public static final short STATE_MSEC_AMBIGUOUS = 16; // 0x10
9378    field @Deprecated public static final short STATE_SUBFRAME_SYNC = 4; // 0x4
9379    field @Deprecated public static final short STATE_TOW_DECODED = 8; // 0x8
9380    field @Deprecated public static final short STATE_UNKNOWN = 0; // 0x0
9381  }
9382
9383  @Deprecated public class GpsMeasurementsEvent implements android.os.Parcelable {
9384    ctor @Deprecated public GpsMeasurementsEvent(android.location.GpsClock, android.location.GpsMeasurement[]);
9385    method @Deprecated public int describeContents();
9386    method @Deprecated @NonNull public android.location.GpsClock getClock();
9387    method @Deprecated @NonNull public java.util.Collection<android.location.GpsMeasurement> getMeasurements();
9388    method @Deprecated public void writeToParcel(android.os.Parcel, int);
9389    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsMeasurementsEvent> CREATOR;
9390    field @Deprecated public static final int STATUS_GPS_LOCATION_DISABLED = 2; // 0x2
9391    field @Deprecated public static final int STATUS_NOT_SUPPORTED = 0; // 0x0
9392    field @Deprecated public static final int STATUS_READY = 1; // 0x1
9393  }
9394
9395  @Deprecated public static interface GpsMeasurementsEvent.Listener {
9396    method @Deprecated public void onGpsMeasurementsReceived(android.location.GpsMeasurementsEvent);
9397    method @Deprecated public void onStatusChanged(int);
9398  }
9399
9400  @Deprecated public class GpsNavigationMessage implements android.os.Parcelable {
9401    method @Deprecated public int describeContents();
9402    method @Deprecated @NonNull public byte[] getData();
9403    method @Deprecated public short getMessageId();
9404    method @Deprecated public byte getPrn();
9405    method @Deprecated public short getStatus();
9406    method @Deprecated public short getSubmessageId();
9407    method @Deprecated public byte getType();
9408    method @Deprecated public void reset();
9409    method @Deprecated public void set(android.location.GpsNavigationMessage);
9410    method @Deprecated public void setData(byte[]);
9411    method @Deprecated public void setMessageId(short);
9412    method @Deprecated public void setPrn(byte);
9413    method @Deprecated public void setStatus(short);
9414    method @Deprecated public void setSubmessageId(short);
9415    method @Deprecated public void setType(byte);
9416    method @Deprecated public void writeToParcel(android.os.Parcel, int);
9417    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsNavigationMessage> CREATOR;
9418    field @Deprecated public static final short STATUS_PARITY_PASSED = 1; // 0x1
9419    field @Deprecated public static final short STATUS_PARITY_REBUILT = 2; // 0x2
9420    field @Deprecated public static final short STATUS_UNKNOWN = 0; // 0x0
9421    field @Deprecated public static final byte TYPE_CNAV2 = 4; // 0x4
9422    field @Deprecated public static final byte TYPE_L1CA = 1; // 0x1
9423    field @Deprecated public static final byte TYPE_L2CNAV = 2; // 0x2
9424    field @Deprecated public static final byte TYPE_L5CNAV = 3; // 0x3
9425    field @Deprecated public static final byte TYPE_UNKNOWN = 0; // 0x0
9426  }
9427
9428  @Deprecated public class GpsNavigationMessageEvent implements android.os.Parcelable {
9429    ctor @Deprecated public GpsNavigationMessageEvent(android.location.GpsNavigationMessage);
9430    method @Deprecated public int describeContents();
9431    method @Deprecated @NonNull public android.location.GpsNavigationMessage getNavigationMessage();
9432    method @Deprecated public void writeToParcel(android.os.Parcel, int);
9433    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsNavigationMessageEvent> CREATOR;
9434    field @Deprecated public static int STATUS_GPS_LOCATION_DISABLED;
9435    field @Deprecated public static int STATUS_NOT_SUPPORTED;
9436    field @Deprecated public static int STATUS_READY;
9437  }
9438
9439  @Deprecated public static interface GpsNavigationMessageEvent.Listener {
9440    method @Deprecated public void onGpsNavigationMessageReceived(android.location.GpsNavigationMessageEvent);
9441    method @Deprecated public void onStatusChanged(int);
9442  }
9443
9444  public final class LastLocationRequest implements android.os.Parcelable {
9445    method public int describeContents();
9446    method public boolean isAdasGnssBypass();
9447    method public boolean isHiddenFromAppOps();
9448    method public boolean isLocationSettingsIgnored();
9449    method public void writeToParcel(@NonNull android.os.Parcel, int);
9450    field @NonNull public static final android.os.Parcelable.Creator<android.location.LastLocationRequest> CREATOR;
9451  }
9452
9453  public static final class LastLocationRequest.Builder {
9454    ctor public LastLocationRequest.Builder();
9455    ctor public LastLocationRequest.Builder(@NonNull android.location.LastLocationRequest);
9456    method @NonNull public android.location.LastLocationRequest build();
9457    method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_BYPASS) public android.location.LastLocationRequest.Builder setAdasGnssBypass(boolean);
9458    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_APP_OPS_STATS) public android.location.LastLocationRequest.Builder setHiddenFromAppOps(boolean);
9459    method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_BYPASS) public android.location.LastLocationRequest.Builder setLocationSettingsIgnored(boolean);
9460  }
9461
9462  public class Location implements android.os.Parcelable {
9463    method public void makeComplete();
9464    method @Deprecated public void setIsFromMockProvider(boolean);
9465    field @Deprecated public static final String EXTRA_NO_GPS_LOCATION = "noGPSLocation";
9466  }
9467
9468  public class LocationManager {
9469    method @RequiresPermission(allOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.INTERACT_ACROSS_USERS}) public void addProviderRequestChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.location.provider.ProviderRequest.ChangedListener);
9470    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void flushGnssBatch();
9471    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>);
9472    method @Nullable public String getExtraLocationControllerPackage();
9473    method @Deprecated public int getGnssBatchSize();
9474    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);
9475    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public void injectGnssMeasurementCorrections(@NonNull android.location.GnssMeasurementCorrections);
9476    method public boolean isAdasGnssLocationEnabled();
9477    method public boolean isExtraLocationControllerPackageEnabled();
9478    method public boolean isLocationEnabledForUser(@NonNull android.os.UserHandle);
9479    method public boolean isProviderEnabledForUser(@NonNull String, @NonNull android.os.UserHandle);
9480    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public boolean isProviderPackage(@NonNull String);
9481    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public boolean isProviderPackage(@Nullable String, @NonNull String, @Nullable String);
9482    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);
9483    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);
9484    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void removeProviderRequestChangedListener(@NonNull android.location.provider.ProviderRequest.ChangedListener);
9485    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);
9486    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);
9487    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);
9488    method @RequiresPermission(android.Manifest.permission.LOCATION_BYPASS) public void setAdasGnssLocationEnabled(boolean);
9489    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void setExtraLocationControllerPackage(@Nullable String);
9490    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void setExtraLocationControllerPackageEnabled(boolean);
9491    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void setLocationEnabledForUser(boolean, @NonNull android.os.UserHandle);
9492    method @Deprecated @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean setProviderEnabledForUser(@NonNull String, boolean, @NonNull android.os.UserHandle);
9493    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public boolean unregisterGnssBatchedLocationCallback(@NonNull android.location.BatchedLocationCallback);
9494    field public static final String ACTION_ADAS_GNSS_ENABLED_CHANGED = "android.location.action.ADAS_GNSS_ENABLED_CHANGED";
9495    field public static final String EXTRA_ADAS_GNSS_ENABLED = "android.location.extra.ADAS_GNSS_ENABLED";
9496    field @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public static final String GPS_HARDWARE_PROVIDER = "gps_hardware";
9497  }
9498
9499  public final class LocationRequest implements android.os.Parcelable {
9500    method @Deprecated @NonNull public static android.location.LocationRequest create();
9501    method @Deprecated @NonNull public static android.location.LocationRequest createFromDeprecatedCriteria(@NonNull android.location.Criteria, long, float, boolean);
9502    method @Deprecated @NonNull public static android.location.LocationRequest createFromDeprecatedProvider(@NonNull String, long, float, boolean);
9503    method @Deprecated public long getExpireAt();
9504    method @Deprecated public long getExpireIn();
9505    method @Deprecated public long getFastestInterval();
9506    method @Deprecated public boolean getHideFromAppOps();
9507    method @Deprecated public long getInterval();
9508    method @Deprecated public int getNumUpdates();
9509    method @Deprecated @NonNull public String getProvider();
9510    method @Deprecated public float getSmallestDisplacement();
9511    method @NonNull public android.os.WorkSource getWorkSource();
9512    method public boolean isAdasGnssBypass();
9513    method public boolean isHiddenFromAppOps();
9514    method public boolean isLocationSettingsIgnored();
9515    method public boolean isLowPower();
9516    method @Deprecated public boolean isLowPowerMode();
9517    method @Deprecated @NonNull public android.location.LocationRequest setExpireAt(long);
9518    method @Deprecated @NonNull public android.location.LocationRequest setExpireIn(long);
9519    method @Deprecated @NonNull public android.location.LocationRequest setFastestInterval(long);
9520    method @Deprecated public void setHideFromAppOps(boolean);
9521    method @Deprecated @NonNull public android.location.LocationRequest setInterval(long);
9522    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_BYPASS) public android.location.LocationRequest setLocationSettingsIgnored(boolean);
9523    method @Deprecated @NonNull public android.location.LocationRequest setLowPowerMode(boolean);
9524    method @Deprecated @NonNull public android.location.LocationRequest setNumUpdates(int);
9525    method @Deprecated @NonNull public android.location.LocationRequest setProvider(@NonNull String);
9526    method @Deprecated @NonNull public android.location.LocationRequest setQuality(int);
9527    method @Deprecated @NonNull public android.location.LocationRequest setSmallestDisplacement(float);
9528    method @Deprecated public void setWorkSource(@Nullable android.os.WorkSource);
9529    field @Deprecated public static final int ACCURACY_BLOCK = 102; // 0x66
9530    field @Deprecated public static final int ACCURACY_CITY = 104; // 0x68
9531    field @Deprecated public static final int ACCURACY_FINE = 100; // 0x64
9532    field @Deprecated public static final int POWER_HIGH = 203; // 0xcb
9533    field @Deprecated public static final int POWER_LOW = 201; // 0xc9
9534    field @Deprecated public static final int POWER_NONE = 200; // 0xc8
9535  }
9536
9537  public static final class LocationRequest.Builder {
9538    method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_BYPASS) public android.location.LocationRequest.Builder setAdasGnssBypass(boolean);
9539    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_APP_OPS_STATS) public android.location.LocationRequest.Builder setHiddenFromAppOps(boolean);
9540    method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_BYPASS) public android.location.LocationRequest.Builder setLocationSettingsIgnored(boolean);
9541    method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public android.location.LocationRequest.Builder setLowPower(boolean);
9542    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public android.location.LocationRequest.Builder setWorkSource(@Nullable android.os.WorkSource);
9543  }
9544
9545  public final class SatellitePvt implements android.os.Parcelable {
9546    method public int describeContents();
9547    method @Nullable public android.location.SatellitePvt.ClockInfo getClockInfo();
9548    method public int getEphemerisSource();
9549    method @FloatRange public double getIonoDelayMeters();
9550    method @IntRange(from=0, to=1023) public int getIssueOfDataClock();
9551    method @IntRange(from=0, to=1023) public int getIssueOfDataEphemeris();
9552    method @Nullable public android.location.SatellitePvt.PositionEcef getPositionEcef();
9553    method @IntRange(from=0) public long getTimeOfClockSeconds();
9554    method @IntRange(from=0) public long getTimeOfEphemerisSeconds();
9555    method @FloatRange public double getTropoDelayMeters();
9556    method @Nullable public android.location.SatellitePvt.VelocityEcef getVelocityEcef();
9557    method public boolean hasIono();
9558    method public boolean hasIssueOfDataClock();
9559    method public boolean hasIssueOfDataEphemeris();
9560    method public boolean hasPositionVelocityClockInfo();
9561    method public boolean hasTimeOfClockSeconds();
9562    method public boolean hasTimeOfEphemerisSeconds();
9563    method public boolean hasTropo();
9564    method public void writeToParcel(@NonNull android.os.Parcel, int);
9565    field @NonNull public static final android.os.Parcelable.Creator<android.location.SatellitePvt> CREATOR;
9566    field public static final int EPHEMERIS_SOURCE_DEMODULATED = 0; // 0x0
9567    field public static final int EPHEMERIS_SOURCE_OTHER = 3; // 0x3
9568    field public static final int EPHEMERIS_SOURCE_SERVER_LONG_TERM = 2; // 0x2
9569    field public static final int EPHEMERIS_SOURCE_SERVER_NORMAL = 1; // 0x1
9570  }
9571
9572  public static final class SatellitePvt.Builder {
9573    ctor public SatellitePvt.Builder();
9574    method @NonNull public android.location.SatellitePvt build();
9575    method @NonNull public android.location.SatellitePvt.Builder setClockInfo(@NonNull android.location.SatellitePvt.ClockInfo);
9576    method @NonNull public android.location.SatellitePvt.Builder setEphemerisSource(int);
9577    method @NonNull public android.location.SatellitePvt.Builder setIonoDelayMeters(@FloatRange(from=0.0f, to=100.0f) double);
9578    method @NonNull public android.location.SatellitePvt.Builder setIssueOfDataClock(@IntRange(from=0, to=1023) int);
9579    method @NonNull public android.location.SatellitePvt.Builder setIssueOfDataEphemeris(@IntRange(from=0, to=1023) int);
9580    method @NonNull public android.location.SatellitePvt.Builder setPositionEcef(@NonNull android.location.SatellitePvt.PositionEcef);
9581    method @NonNull public android.location.SatellitePvt.Builder setTimeOfClockSeconds(@IntRange(from=0) long);
9582    method @NonNull public android.location.SatellitePvt.Builder setTimeOfEphemerisSeconds(@IntRange(from=0) long);
9583    method @NonNull public android.location.SatellitePvt.Builder setTropoDelayMeters(@FloatRange(from=0.0f, to=100.0f) double);
9584    method @NonNull public android.location.SatellitePvt.Builder setVelocityEcef(@NonNull android.location.SatellitePvt.VelocityEcef);
9585  }
9586
9587  public static final class SatellitePvt.ClockInfo implements android.os.Parcelable {
9588    ctor public SatellitePvt.ClockInfo(double, double, double);
9589    method public int describeContents();
9590    method @FloatRange public double getClockDriftMetersPerSecond();
9591    method @FloatRange public double getHardwareCodeBiasMeters();
9592    method @FloatRange public double getTimeCorrectionMeters();
9593    method public void writeToParcel(@NonNull android.os.Parcel, int);
9594    field @NonNull public static final android.os.Parcelable.Creator<android.location.SatellitePvt.ClockInfo> CREATOR;
9595  }
9596
9597  public static final class SatellitePvt.PositionEcef implements android.os.Parcelable {
9598    ctor public SatellitePvt.PositionEcef(double, double, double, double);
9599    method public int describeContents();
9600    method @FloatRange(from=0.0f, fromInclusive=false) public double getUreMeters();
9601    method @FloatRange public double getXMeters();
9602    method @FloatRange public double getYMeters();
9603    method @FloatRange public double getZMeters();
9604    method public void writeToParcel(@NonNull android.os.Parcel, int);
9605    field @NonNull public static final android.os.Parcelable.Creator<android.location.SatellitePvt.PositionEcef> CREATOR;
9606  }
9607
9608  public static final class SatellitePvt.VelocityEcef implements android.os.Parcelable {
9609    ctor public SatellitePvt.VelocityEcef(double, double, double, double);
9610    method public int describeContents();
9611    method @FloatRange(from=0.0f, fromInclusive=false) public double getUreRateMetersPerSecond();
9612    method @FloatRange public double getXMetersPerSecond();
9613    method @FloatRange public double getYMetersPerSecond();
9614    method @FloatRange public double getZMetersPerSecond();
9615    method public void writeToParcel(@NonNull android.os.Parcel, int);
9616    field @NonNull public static final android.os.Parcelable.Creator<android.location.SatellitePvt.VelocityEcef> CREATOR;
9617  }
9618
9619}
9620
9621package android.location.provider {
9622
9623  public final class ForwardGeocodeRequest implements android.os.Parcelable {
9624    method public int describeContents();
9625    method @Nullable public String getCallingAttributionTag();
9626    method @NonNull public String getCallingPackage();
9627    method public int getCallingUid();
9628    method @NonNull public java.util.Locale getLocale();
9629    method @NonNull public String getLocationName();
9630    method @FloatRange(from=-90.0, to=90.0) public double getLowerLeftLatitude();
9631    method @FloatRange(from=-180.0, to=180.0) public double getLowerLeftLongitude();
9632    method @IntRange(from=1) public int getMaxResults();
9633    method @FloatRange(from=-90.0, to=90.0) public double getUpperRightLatitude();
9634    method @FloatRange(from=-180.0, to=180.0) public double getUpperRightLongitude();
9635    method public void writeToParcel(@NonNull android.os.Parcel, int);
9636    field @NonNull public static final android.os.Parcelable.Creator<android.location.provider.ForwardGeocodeRequest> CREATOR;
9637  }
9638
9639  public static final class ForwardGeocodeRequest.Builder {
9640    ctor public ForwardGeocodeRequest.Builder(@NonNull String, @FloatRange(from=-90.0, to=90.0) double, @FloatRange(from=-180.0, to=180.0) double, @FloatRange(from=-90.0, to=90.0) double, @FloatRange(from=-180.0, to=180.0) double, @IntRange(from=1) int, @NonNull java.util.Locale, int, @NonNull String);
9641    method @NonNull public android.location.provider.ForwardGeocodeRequest build();
9642    method @NonNull public android.location.provider.ForwardGeocodeRequest.Builder setCallingAttributionTag(@NonNull String);
9643  }
9644
9645  public abstract class GeocodeProviderBase {
9646    ctor public GeocodeProviderBase(@NonNull android.content.Context, @NonNull String);
9647    method @NonNull public final android.os.IBinder getBinder();
9648    method public abstract void onForwardGeocode(@NonNull android.location.provider.ForwardGeocodeRequest, @NonNull android.os.OutcomeReceiver<java.util.List<android.location.Address>,java.lang.Throwable>);
9649    method public abstract void onReverseGeocode(@NonNull android.location.provider.ReverseGeocodeRequest, @NonNull android.os.OutcomeReceiver<java.util.List<android.location.Address>,java.lang.Throwable>);
9650    field public static final String ACTION_GEOCODE_PROVIDER = "com.android.location.service.GeocodeProvider";
9651  }
9652
9653  public abstract class LocationProviderBase {
9654    ctor public LocationProviderBase(@NonNull android.content.Context, @NonNull String, @NonNull android.location.provider.ProviderProperties);
9655    method @Nullable public final android.os.IBinder getBinder();
9656    method @NonNull public android.location.provider.ProviderProperties getProperties();
9657    method public boolean isAllowed();
9658    method public abstract void onFlush(@NonNull android.location.provider.LocationProviderBase.OnFlushCompleteCallback);
9659    method public abstract void onSendExtraCommand(@NonNull String, @Nullable android.os.Bundle);
9660    method public abstract void onSetRequest(@NonNull android.location.provider.ProviderRequest);
9661    method public void reportLocation(@NonNull android.location.Location);
9662    method public void reportLocations(@NonNull java.util.List<android.location.Location>);
9663    method public void setAllowed(boolean);
9664    method public void setProperties(@NonNull android.location.provider.ProviderProperties);
9665    field public static final String ACTION_FUSED_PROVIDER = "com.android.location.service.FusedLocationProvider";
9666    field public static final String ACTION_GNSS_PROVIDER = "android.location.provider.action.GNSS_PROVIDER";
9667    field public static final String ACTION_NETWORK_PROVIDER = "com.android.location.service.v3.NetworkLocationProvider";
9668  }
9669
9670  public static interface LocationProviderBase.OnFlushCompleteCallback {
9671    method public void onFlushComplete();
9672  }
9673
9674  public final class ProviderRequest implements android.os.Parcelable {
9675    method public int describeContents();
9676    method @IntRange(from=0) public long getIntervalMillis();
9677    method @IntRange(from=0) public long getMaxUpdateDelayMillis();
9678    method public int getQuality();
9679    method @NonNull public android.os.WorkSource getWorkSource();
9680    method public boolean isActive();
9681    method public boolean isLocationSettingsIgnored();
9682    method public boolean isLowPower();
9683    method public void writeToParcel(@NonNull android.os.Parcel, int);
9684    field @NonNull public static final android.os.Parcelable.Creator<android.location.provider.ProviderRequest> CREATOR;
9685    field @NonNull public static final android.location.provider.ProviderRequest EMPTY_REQUEST;
9686    field public static final long INTERVAL_DISABLED = 9223372036854775807L; // 0x7fffffffffffffffL
9687  }
9688
9689  public static final class ProviderRequest.Builder {
9690    ctor public ProviderRequest.Builder();
9691    method @NonNull public android.location.provider.ProviderRequest build();
9692    method @NonNull public android.location.provider.ProviderRequest.Builder setIntervalMillis(@IntRange(from=0) long);
9693    method @NonNull public android.location.provider.ProviderRequest.Builder setLocationSettingsIgnored(boolean);
9694    method @NonNull public android.location.provider.ProviderRequest.Builder setLowPower(boolean);
9695    method @NonNull public android.location.provider.ProviderRequest.Builder setMaxUpdateDelayMillis(@IntRange(from=0) long);
9696    method @NonNull public android.location.provider.ProviderRequest.Builder setQuality(int);
9697    method @NonNull public android.location.provider.ProviderRequest.Builder setWorkSource(@NonNull android.os.WorkSource);
9698  }
9699
9700  public static interface ProviderRequest.ChangedListener {
9701    method public void onProviderRequestChanged(@NonNull String, @NonNull android.location.provider.ProviderRequest);
9702  }
9703
9704  public final class ReverseGeocodeRequest implements android.os.Parcelable {
9705    method public int describeContents();
9706    method @Nullable public String getCallingAttributionTag();
9707    method @NonNull public String getCallingPackage();
9708    method public int getCallingUid();
9709    method @FloatRange(from=-90.0, to=90.0) public double getLatitude();
9710    method @NonNull public java.util.Locale getLocale();
9711    method @FloatRange(from=-180.0, to=180.0) public double getLongitude();
9712    method @IntRange(from=1) public int getMaxResults();
9713    method public void writeToParcel(@NonNull android.os.Parcel, int);
9714    field @NonNull public static final android.os.Parcelable.Creator<android.location.provider.ReverseGeocodeRequest> CREATOR;
9715  }
9716
9717  public static final class ReverseGeocodeRequest.Builder {
9718    ctor public ReverseGeocodeRequest.Builder(@FloatRange(from=-90.0, to=90.0) double, @FloatRange(from=-180.0, to=180.0) double, @IntRange(from=0) int, @NonNull java.util.Locale, int, @NonNull String);
9719    method @NonNull public android.location.provider.ReverseGeocodeRequest build();
9720    method @NonNull public android.location.provider.ReverseGeocodeRequest.Builder setCallingAttributionTag(@NonNull String);
9721  }
9722
9723}
9724
9725package android.media {
9726
9727  public final class AudioAttributes implements android.os.Parcelable {
9728    method public int getAllFlags();
9729    method public android.os.Bundle getBundle();
9730    method public int getCapturePreset();
9731    method public int getSystemUsage();
9732    method public static boolean isSystemUsage(int);
9733    field @RequiresPermission(android.Manifest.permission.ACCESS_ULTRASOUND) public static final int CONTENT_TYPE_ULTRASOUND = 1997; // 0x7cd
9734    field public static final int FLAG_BEACON = 8; // 0x8
9735    field public static final int FLAG_BYPASS_INTERRUPTION_POLICY = 64; // 0x40
9736    field public static final int FLAG_BYPASS_MUTE = 128; // 0x80
9737    field public static final int FLAG_HW_HOTWORD = 32; // 0x20
9738    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int USAGE_ANNOUNCEMENT = 1003; // 0x3eb
9739    field @RequiresPermission(allOf={android.Manifest.permission.MODIFY_PHONE_STATE, android.Manifest.permission.MODIFY_AUDIO_ROUTING}) public static final int USAGE_CALL_ASSISTANT = 17; // 0x11
9740    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int USAGE_EMERGENCY = 1000; // 0x3e8
9741    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int USAGE_SAFETY = 1001; // 0x3e9
9742    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int USAGE_VEHICLE_STATUS = 1002; // 0x3ea
9743  }
9744
9745  public static class AudioAttributes.Builder {
9746    method public android.media.AudioAttributes.Builder addBundle(@NonNull android.os.Bundle);
9747    method public android.media.AudioAttributes.Builder setCapturePreset(int);
9748    method @NonNull @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_HOTWORD) public android.media.AudioAttributes.Builder setHotwordModeEnabled(boolean);
9749    method public android.media.AudioAttributes.Builder setInternalCapturePreset(int);
9750    method @NonNull public android.media.AudioAttributes.Builder setInternalContentType(int);
9751    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public android.media.AudioAttributes.Builder setSystemUsage(int);
9752  }
9753
9754  public class AudioDescriptor implements android.os.Parcelable {
9755    ctor public AudioDescriptor(int, int, @NonNull byte[]);
9756  }
9757
9758  public final class AudioDeviceAttributes implements android.os.Parcelable {
9759    ctor public AudioDeviceAttributes(@NonNull android.media.AudioDeviceInfo);
9760    ctor public AudioDeviceAttributes(int, int, @NonNull String);
9761    ctor public AudioDeviceAttributes(int, int, @NonNull String, @NonNull String, @NonNull java.util.List<android.media.AudioProfile>, @NonNull java.util.List<android.media.AudioDescriptor>);
9762    method public int describeContents();
9763    method public boolean equalTypeAddress(@Nullable Object);
9764    method @NonNull public String getAddress();
9765    method @NonNull public java.util.List<android.media.AudioDescriptor> getAudioDescriptors();
9766    method @NonNull public java.util.List<android.media.AudioProfile> getAudioProfiles();
9767    method @NonNull public String getName();
9768    method public int getRole();
9769    method public int getType();
9770    method public void writeToParcel(@NonNull android.os.Parcel, int);
9771    field @NonNull public static final android.os.Parcelable.Creator<android.media.AudioDeviceAttributes> CREATOR;
9772    field public static final int ROLE_INPUT = 1; // 0x1
9773    field public static final int ROLE_OUTPUT = 2; // 0x2
9774  }
9775
9776  public class AudioDeviceVolumeManager {
9777    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_ROUTING, android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED}) public android.media.VolumeInfo getDeviceVolume(@NonNull android.media.VolumeInfo, @NonNull android.media.AudioDeviceAttributes);
9778    method @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_ROUTING, android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED}) public void setDeviceVolume(@NonNull android.media.VolumeInfo, @NonNull android.media.AudioDeviceAttributes);
9779  }
9780
9781  public final class AudioFocusInfo implements android.os.Parcelable {
9782    method public int describeContents();
9783    method @NonNull public android.media.AudioAttributes getAttributes();
9784    method @NonNull public String getClientId();
9785    method public int getClientUid();
9786    method public int getFlags();
9787    method public int getGainRequest();
9788    method public int getLossReceived();
9789    method @NonNull public String getPackageName();
9790    method public void writeToParcel(android.os.Parcel, int);
9791    field @NonNull public static final android.os.Parcelable.Creator<android.media.AudioFocusInfo> CREATOR;
9792  }
9793
9794  public final class AudioFocusRequest {
9795    method public boolean locksFocus();
9796  }
9797
9798  public static final class AudioFocusRequest.Builder {
9799    method @NonNull public android.media.AudioFocusRequest.Builder setLocksFocus(boolean);
9800  }
9801
9802  public class AudioManager {
9803    method @Deprecated public int abandonAudioFocus(android.media.AudioManager.OnAudioFocusChangeListener, android.media.AudioAttributes);
9804    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void addAssistantServicesUids(@NonNull int[]);
9805    method @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_ROUTING, "android.permission.QUERY_AUDIO_STATE"}) public void addOnDevicesForAttributesChangedListener(@NonNull android.media.AudioAttributes, @NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.OnDevicesForAttributesChangedListener);
9806    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void addOnNonDefaultDevicesForStrategyChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.OnNonDefaultDevicesForStrategyChangedListener) throws java.lang.SecurityException;
9807    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;
9808    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;
9809    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;
9810    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public void addOnStreamAliasingChangedListener(@NonNull java.util.concurrent.Executor, @NonNull Runnable);
9811    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void cancelMuteAwaitConnection(@NonNull android.media.AudioDeviceAttributes) throws java.lang.IllegalStateException;
9812    method public void clearAudioServerStateCallback();
9813    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean clearPreferredDevicesForCapturePreset(int);
9814    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int dispatchAudioFocusChange(@NonNull android.media.AudioFocusInfo, int, @NonNull android.media.audiopolicy.AudioPolicy);
9815    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public int dispatchAudioFocusChangeWithFade(@NonNull android.media.AudioFocusInfo, int, @NonNull android.media.audiopolicy.AudioPolicy, @NonNull java.util.List<android.media.AudioFocusInfo>, @Nullable android.media.FadeManagerConfiguration);
9816    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int[] getActiveAssistantServicesUids();
9817    method @IntRange(from=0) public long getAdditionalOutputDeviceDelay(@NonNull android.media.AudioDeviceInfo);
9818    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int[] getAssistantServicesUids();
9819    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static java.util.List<android.media.audiopolicy.AudioProductStrategy> getAudioProductStrategies();
9820    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static java.util.List<android.media.audiopolicy.AudioVolumeGroup> getAudioVolumeGroups();
9821    method @NonNull @RequiresPermission(android.Manifest.permission.CALL_AUDIO_INTERCEPTION) public android.media.AudioRecord getCallDownlinkExtractionAudioRecord(@NonNull android.media.AudioFormat);
9822    method @NonNull @RequiresPermission(android.Manifest.permission.CALL_AUDIO_INTERCEPTION) public android.media.AudioTrack getCallUplinkInjectionAudioTrack(@NonNull android.media.AudioFormat);
9823    method @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_ROUTING, "android.permission.QUERY_AUDIO_STATE", android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED}) public int getDeviceVolumeBehavior(@NonNull android.media.AudioDeviceAttributes);
9824    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);
9825    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public java.util.List<java.lang.Integer> getIndependentStreamTypes();
9826    method @RequiresPermission("android.permission.QUERY_AUDIO_STATE") public int getLastAudibleStreamVolume(int);
9827    method @IntRange(from=0) @RequiresPermission("android.permission.QUERY_AUDIO_STATE") public int getLastAudibleVolumeForVolumeGroup(int);
9828    method @IntRange(from=0) public long getMaxAdditionalOutputDeviceDelay(@NonNull android.media.AudioDeviceInfo);
9829    method @IntRange(from=0) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getMaxVolumeIndexForAttributes(@NonNull android.media.AudioAttributes);
9830    method @IntRange(from=0) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getMinVolumeIndexForAttributes(@NonNull android.media.AudioAttributes);
9831    method @Nullable @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public android.media.AudioDeviceAttributes getMutingExpectedDevice();
9832    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public java.util.List<android.media.AudioDeviceAttributes> getNonDefaultDevicesForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy);
9833    method @Nullable @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public android.media.AudioDeviceAttributes getPreferredDeviceForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy);
9834    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public java.util.List<android.media.AudioDeviceAttributes> getPreferredDevicesForCapturePreset(int);
9835    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public java.util.List<android.media.AudioDeviceAttributes> getPreferredDevicesForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy);
9836    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public int getStreamTypeAlias(int);
9837    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int[] getSupportedSystemUsages();
9838    method @IntRange(from=0) @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED, android.Manifest.permission.MODIFY_AUDIO_ROUTING}) public int getVolumeGroupMaxVolumeIndex(int);
9839    method @IntRange(from=0) @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED, android.Manifest.permission.MODIFY_AUDIO_ROUTING}) public int getVolumeGroupMinVolumeIndex(int);
9840    method @IntRange(from=0) @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED, android.Manifest.permission.MODIFY_AUDIO_ROUTING}) public int getVolumeGroupVolumeIndex(int);
9841    method @IntRange(from=0) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getVolumeIndexForAttributes(@NonNull android.media.AudioAttributes);
9842    method public boolean isAudioServerRunning();
9843    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean isBluetoothVariableLatencyEnabled();
9844    method public boolean isHdmiSystemAudioSupported();
9845    method @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_HOTWORD) public boolean isHotwordStreamSupported(boolean);
9846    method @RequiresPermission(android.Manifest.permission.CALL_AUDIO_INTERCEPTION) public boolean isPstnCallAudioInterceptable();
9847    method @RequiresPermission(android.Manifest.permission.ACCESS_ULTRASOUND) public boolean isUltrasoundSupported();
9848    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void muteAwaitConnection(@NonNull int[], @NonNull android.media.AudioDeviceAttributes, long, @NonNull java.util.concurrent.TimeUnit) throws java.lang.IllegalStateException;
9849    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int registerAudioPolicy(@NonNull android.media.audiopolicy.AudioPolicy);
9850    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void registerMuteAwaitConnectionCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.MuteAwaitConnectionCallback);
9851    method public void registerVolumeGroupCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.VolumeGroupCallback);
9852    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void removeAssistantServicesUids(@NonNull int[]);
9853    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean removeDeviceAsNonDefaultForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy, @NonNull android.media.AudioDeviceAttributes);
9854    method @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_ROUTING, "android.permission.QUERY_AUDIO_STATE"}) public void removeOnDevicesForAttributesChangedListener(@NonNull android.media.AudioManager.OnDevicesForAttributesChangedListener);
9855    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void removeOnNonDefaultDevicesForStrategyChangedListener(@NonNull android.media.AudioManager.OnNonDefaultDevicesForStrategyChangedListener);
9856    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void removeOnPreferredDeviceForStrategyChangedListener(@NonNull android.media.AudioManager.OnPreferredDeviceForStrategyChangedListener);
9857    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void removeOnPreferredDevicesForCapturePresetChangedListener(@NonNull android.media.AudioManager.OnPreferredDevicesForCapturePresetChangedListener);
9858    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void removeOnPreferredDevicesForStrategyChangedListener(@NonNull android.media.AudioManager.OnPreferredDevicesForStrategyChangedListener);
9859    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public void removeOnStreamAliasingChangedListener(@NonNull Runnable);
9860    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean removePreferredDeviceForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy);
9861    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int requestAudioFocus(@NonNull android.media.AudioFocusRequest, @Nullable android.media.audiopolicy.AudioPolicy);
9862    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;
9863    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;
9864    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setActiveAssistantServiceUids(@NonNull int[]);
9865    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean setAdditionalOutputDeviceDelay(@NonNull android.media.AudioDeviceInfo, @IntRange(from=0) long);
9866    method public void setAudioServerStateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.AudioServerStateCallback);
9867    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setBluetoothVariableLatencyEnabled(boolean);
9868    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean setDeviceAsNonDefaultForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy, @NonNull android.media.AudioDeviceAttributes);
9869    method @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_ROUTING, android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED}) public void setDeviceVolumeBehavior(@NonNull android.media.AudioDeviceAttributes, int);
9870    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setFocusRequestResult(@NonNull android.media.AudioFocusInfo, int, @NonNull android.media.audiopolicy.AudioPolicy);
9871    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean setPreferredDeviceForCapturePreset(int, @NonNull android.media.AudioDeviceAttributes);
9872    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean setPreferredDeviceForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy, @NonNull android.media.AudioDeviceAttributes);
9873    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean setPreferredDevicesForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy, @NonNull java.util.List<android.media.AudioDeviceAttributes>);
9874    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setSupportedSystemUsages(@NonNull int[]);
9875    method @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED, android.Manifest.permission.MODIFY_AUDIO_ROUTING}) public void setVolumeGroupVolumeIndex(int, int, int);
9876    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setVolumeIndexForAttributes(@NonNull android.media.AudioAttributes, int, int);
9877    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean supportsBluetoothVariableLatency();
9878    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void unregisterAudioPolicy(@NonNull android.media.audiopolicy.AudioPolicy);
9879    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void unregisterAudioPolicyAsync(@NonNull android.media.audiopolicy.AudioPolicy);
9880    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void unregisterMuteAwaitConnectionCallback(@NonNull android.media.AudioManager.MuteAwaitConnectionCallback);
9881    method public void unregisterVolumeGroupCallback(@NonNull android.media.AudioManager.VolumeGroupCallback);
9882    field public static final String ACTION_VOLUME_CHANGED = "android.media.VOLUME_CHANGED_ACTION";
9883    field public static final int AUDIOFOCUS_FLAG_DELAY_OK = 1; // 0x1
9884    field public static final int AUDIOFOCUS_FLAG_LOCK = 4; // 0x4
9885    field public static final int AUDIOFOCUS_FLAG_PAUSES_ON_DUCKABLE_LOSS = 2; // 0x2
9886    field public static final int DEVICE_VOLUME_BEHAVIOR_ABSOLUTE = 3; // 0x3
9887    field public static final int DEVICE_VOLUME_BEHAVIOR_ABSOLUTE_ADJUST_ONLY = 5; // 0x5
9888    field public static final int DEVICE_VOLUME_BEHAVIOR_ABSOLUTE_MULTI_MODE = 4; // 0x4
9889    field public static final int DEVICE_VOLUME_BEHAVIOR_FIXED = 2; // 0x2
9890    field public static final int DEVICE_VOLUME_BEHAVIOR_FULL = 1; // 0x1
9891    field public static final int DEVICE_VOLUME_BEHAVIOR_VARIABLE = 0; // 0x0
9892    field public static final String EXTRA_VOLUME_STREAM_TYPE = "android.media.EXTRA_VOLUME_STREAM_TYPE";
9893    field public static final String EXTRA_VOLUME_STREAM_VALUE = "android.media.EXTRA_VOLUME_STREAM_VALUE";
9894    field public static final int FLAG_BLUETOOTH_ABS_VOLUME = 64; // 0x40
9895    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int STREAM_ASSISTANT = 11; // 0xb
9896    field public static final int STREAM_BLUETOOTH_SCO = 6; // 0x6
9897    field public static final int SUCCESS = 0; // 0x0
9898  }
9899
9900  public abstract static class AudioManager.AudioServerStateCallback {
9901    ctor public AudioManager.AudioServerStateCallback();
9902    method public void onAudioServerDown();
9903    method public void onAudioServerUp();
9904  }
9905
9906  public abstract static class AudioManager.MuteAwaitConnectionCallback {
9907    ctor public AudioManager.MuteAwaitConnectionCallback();
9908    method public void onMutedUntilConnection(@NonNull android.media.AudioDeviceAttributes, @NonNull int[]);
9909    method public void onUnmutedEvent(int, @NonNull android.media.AudioDeviceAttributes, @NonNull int[]);
9910    field public static final int EVENT_CANCEL = 3; // 0x3
9911    field public static final int EVENT_CONNECTION = 1; // 0x1
9912    field public static final int EVENT_TIMEOUT = 2; // 0x2
9913  }
9914
9915  public static interface AudioManager.OnDevicesForAttributesChangedListener {
9916    method public void onDevicesForAttributesChanged(@NonNull android.media.AudioAttributes, @NonNull java.util.List<android.media.AudioDeviceAttributes>);
9917  }
9918
9919  public static interface AudioManager.OnNonDefaultDevicesForStrategyChangedListener {
9920    method public void onNonDefaultDevicesForStrategyChanged(@NonNull android.media.audiopolicy.AudioProductStrategy, @NonNull java.util.List<android.media.AudioDeviceAttributes>);
9921  }
9922
9923  @Deprecated public static interface AudioManager.OnPreferredDeviceForStrategyChangedListener {
9924    method @Deprecated public void onPreferredDeviceForStrategyChanged(@NonNull android.media.audiopolicy.AudioProductStrategy, @Nullable android.media.AudioDeviceAttributes);
9925  }
9926
9927  public static interface AudioManager.OnPreferredDevicesForCapturePresetChangedListener {
9928    method public void onPreferredDevicesForCapturePresetChanged(int, @NonNull java.util.List<android.media.AudioDeviceAttributes>);
9929  }
9930
9931  public static interface AudioManager.OnPreferredDevicesForStrategyChangedListener {
9932    method public void onPreferredDevicesForStrategyChanged(@NonNull android.media.audiopolicy.AudioProductStrategy, @NonNull java.util.List<android.media.AudioDeviceAttributes>);
9933  }
9934
9935  public abstract static class AudioManager.VolumeGroupCallback {
9936    ctor public AudioManager.VolumeGroupCallback();
9937    method public void onAudioVolumeGroupChanged(int, int);
9938  }
9939
9940  public final class AudioPlaybackConfiguration implements android.os.Parcelable {
9941    method public int getChannelMask();
9942    method public int getClientPid();
9943    method public int getClientUid();
9944    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getMutedBy();
9945    method public int getPlayerInterfaceId();
9946    method public android.media.PlayerProxy getPlayerProxy();
9947    method public int getPlayerState();
9948    method public int getPlayerType();
9949    method @IntRange(from=0) public int getSampleRate();
9950    method @IntRange(from=0) public int getSessionId();
9951    method public boolean isActive();
9952    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean isMuted();
9953    method public boolean isSpatialized();
9954    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int MUTED_BY_APP_OPS = 8; // 0x8
9955    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int MUTED_BY_CLIENT_VOLUME = 16; // 0x10
9956    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int MUTED_BY_MASTER = 1; // 0x1
9957    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int MUTED_BY_STREAM_MUTED = 4; // 0x4
9958    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int MUTED_BY_STREAM_VOLUME = 2; // 0x2
9959    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int MUTED_BY_VOLUME_SHAPER = 32; // 0x20
9960    field public static final int PLAYER_STATE_IDLE = 1; // 0x1
9961    field public static final int PLAYER_STATE_PAUSED = 3; // 0x3
9962    field public static final int PLAYER_STATE_RELEASED = 0; // 0x0
9963    field public static final int PLAYER_STATE_STARTED = 2; // 0x2
9964    field public static final int PLAYER_STATE_STOPPED = 4; // 0x4
9965    field public static final int PLAYER_STATE_UNKNOWN = -1; // 0xffffffff
9966    field public static final int PLAYER_TYPE_AAUDIO = 13; // 0xd
9967    field public static final int PLAYER_TYPE_JAM_AUDIOTRACK = 1; // 0x1
9968    field public static final int PLAYER_TYPE_JAM_MEDIAPLAYER = 2; // 0x2
9969    field public static final int PLAYER_TYPE_JAM_SOUNDPOOL = 3; // 0x3
9970    field public static final int PLAYER_TYPE_SLES_AUDIOPLAYER_BUFFERQUEUE = 11; // 0xb
9971    field public static final int PLAYER_TYPE_SLES_AUDIOPLAYER_URI_FD = 12; // 0xc
9972    field public static final int PLAYER_TYPE_UNKNOWN = -1; // 0xffffffff
9973  }
9974
9975  public class AudioProfile implements android.os.Parcelable {
9976    ctor public AudioProfile(int, @NonNull int[], @NonNull int[], @NonNull int[], int);
9977  }
9978
9979  public class AudioRecord implements android.media.AudioRecordingMonitor android.media.AudioRouting android.media.MicrophoneDirection {
9980    ctor @RequiresPermission(android.Manifest.permission.RECORD_AUDIO) public AudioRecord(android.media.AudioAttributes, android.media.AudioFormat, int, int) throws java.lang.IllegalArgumentException;
9981    method public static long getMaxSharedAudioHistoryMillis();
9982    method public boolean isHotwordLookbackStream();
9983    method public boolean isHotwordStream();
9984    method @NonNull @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_HOTWORD) public android.media.MediaSyncEvent shareAudioHistory(@NonNull String, @IntRange(from=0) long);
9985  }
9986
9987  public static class AudioRecord.Builder {
9988    method public android.media.AudioRecord.Builder setAudioAttributes(@NonNull android.media.AudioAttributes) throws java.lang.IllegalArgumentException;
9989    method @NonNull @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_HOTWORD) public android.media.AudioRecord.Builder setMaxSharedAudioHistoryMillis(long) throws java.lang.IllegalArgumentException;
9990    method @NonNull @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_HOTWORD) public android.media.AudioRecord.Builder setRequestHotwordLookbackStream(boolean);
9991    method @NonNull @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_HOTWORD) public android.media.AudioRecord.Builder setRequestHotwordStream(boolean);
9992    method public android.media.AudioRecord.Builder setSessionId(int) throws java.lang.IllegalArgumentException;
9993    method @NonNull public android.media.AudioRecord.Builder setSharedAudioEvent(@NonNull android.media.MediaSyncEvent) throws java.lang.IllegalArgumentException;
9994  }
9995
9996  public final class AudioRecordingConfiguration implements android.os.Parcelable {
9997    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getClientUid();
9998  }
9999
10000  public class AudioTrack implements android.media.AudioRouting android.media.VolumeAutomation {
10001    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int ENCAPSULATION_MODE_HANDLE = 2; // 0x2
10002  }
10003
10004  public static class AudioTrack.Builder {
10005    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public android.media.AudioTrack.Builder setTunerConfiguration(@NonNull android.media.AudioTrack.TunerConfiguration);
10006  }
10007
10008  public static class AudioTrack.TunerConfiguration {
10009    ctor @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public AudioTrack.TunerConfiguration(@IntRange(from=0) int, @IntRange(from=1) int);
10010    method @IntRange(from=1) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getContentId();
10011    method @IntRange(from=1) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getSyncId();
10012    field public static final int CONTENT_ID_NONE = 0; // 0x0
10013  }
10014
10015  public final class FadeManagerConfiguration implements android.os.Parcelable {
10016    method public int describeContents();
10017    method @NonNull public java.util.List<android.media.AudioAttributes> getAudioAttributesWithVolumeShaperConfigs();
10018    method @IntRange(from=1) public static long getDefaultFadeInDurationMillis();
10019    method @IntRange(from=1) public static long getDefaultFadeOutDurationMillis();
10020    method @IntRange(from=0) public long getFadeInDelayForOffenders();
10021    method @IntRange(from=0) public long getFadeInDurationForAudioAttributes(@NonNull android.media.AudioAttributes);
10022    method @IntRange(from=0) public long getFadeInDurationForUsage(int);
10023    method @Nullable public android.media.VolumeShaper.Configuration getFadeInVolumeShaperConfigForAudioAttributes(@NonNull android.media.AudioAttributes);
10024    method @Nullable public android.media.VolumeShaper.Configuration getFadeInVolumeShaperConfigForUsage(int);
10025    method @IntRange(from=0) public long getFadeOutDurationForAudioAttributes(@NonNull android.media.AudioAttributes);
10026    method @IntRange(from=0) public long getFadeOutDurationForUsage(int);
10027    method @Nullable public android.media.VolumeShaper.Configuration getFadeOutVolumeShaperConfigForAudioAttributes(@NonNull android.media.AudioAttributes);
10028    method @Nullable public android.media.VolumeShaper.Configuration getFadeOutVolumeShaperConfigForUsage(int);
10029    method public int getFadeState();
10030    method @NonNull public java.util.List<java.lang.Integer> getFadeableUsages();
10031    method @NonNull public java.util.List<android.media.AudioAttributes> getUnfadeableAudioAttributes();
10032    method @NonNull public java.util.List<java.lang.Integer> getUnfadeableContentTypes();
10033    method @NonNull public java.util.List<java.lang.Integer> getUnfadeablePlayerTypes();
10034    method @NonNull public java.util.List<java.lang.Integer> getUnfadeableUids();
10035    method public boolean isAudioAttributesUnfadeable(@NonNull android.media.AudioAttributes);
10036    method public boolean isContentTypeUnfadeable(int);
10037    method public boolean isFadeEnabled();
10038    method public boolean isPlayerTypeUnfadeable(int);
10039    method public boolean isUidUnfadeable(int);
10040    method public boolean isUsageFadeable(int);
10041    method public void writeToParcel(@NonNull android.os.Parcel, int);
10042    field @NonNull public static final android.os.Parcelable.Creator<android.media.FadeManagerConfiguration> CREATOR;
10043    field public static final long DURATION_NOT_SET = 0L; // 0x0L
10044    field public static final int FADE_STATE_DISABLED = 0; // 0x0
10045    field public static final int FADE_STATE_ENABLED_DEFAULT = 1; // 0x1
10046    field public static final String TAG = "FadeManagerConfiguration";
10047    field public static final int VOLUME_SHAPER_SYSTEM_FADE_ID = 2; // 0x2
10048  }
10049
10050  public static final class FadeManagerConfiguration.Builder {
10051    ctor public FadeManagerConfiguration.Builder();
10052    ctor public FadeManagerConfiguration.Builder(@NonNull android.media.FadeManagerConfiguration);
10053    ctor public FadeManagerConfiguration.Builder(@IntRange(from=1) long, @IntRange(from=1) long);
10054    method @NonNull public android.media.FadeManagerConfiguration.Builder addFadeableUsage(int);
10055    method @NonNull public android.media.FadeManagerConfiguration.Builder addUnfadeableAudioAttributes(@NonNull android.media.AudioAttributes);
10056    method @NonNull public android.media.FadeManagerConfiguration.Builder addUnfadeableContentType(int);
10057    method @NonNull public android.media.FadeManagerConfiguration.Builder addUnfadeableUid(int);
10058    method @NonNull public android.media.FadeManagerConfiguration build();
10059    method @NonNull public android.media.FadeManagerConfiguration.Builder clearFadeableUsages();
10060    method @NonNull public android.media.FadeManagerConfiguration.Builder clearUnfadeableAudioAttributes();
10061    method @NonNull public android.media.FadeManagerConfiguration.Builder clearUnfadeableContentTypes();
10062    method @NonNull public android.media.FadeManagerConfiguration.Builder clearUnfadeableUids();
10063    method @NonNull public android.media.FadeManagerConfiguration.Builder setFadeInDelayForOffenders(@IntRange(from=0) long);
10064    method @NonNull public android.media.FadeManagerConfiguration.Builder setFadeInDurationForAudioAttributes(@NonNull android.media.AudioAttributes, @IntRange(from=0) long);
10065    method @NonNull public android.media.FadeManagerConfiguration.Builder setFadeInDurationForUsage(int, @IntRange(from=0) long);
10066    method @NonNull public android.media.FadeManagerConfiguration.Builder setFadeInVolumeShaperConfigForAudioAttributes(@NonNull android.media.AudioAttributes, @Nullable android.media.VolumeShaper.Configuration);
10067    method @NonNull public android.media.FadeManagerConfiguration.Builder setFadeInVolumeShaperConfigForUsage(int, @Nullable android.media.VolumeShaper.Configuration);
10068    method @NonNull public android.media.FadeManagerConfiguration.Builder setFadeOutDurationForAudioAttributes(@NonNull android.media.AudioAttributes, @IntRange(from=0) long);
10069    method @NonNull public android.media.FadeManagerConfiguration.Builder setFadeOutDurationForUsage(int, @IntRange(from=0) long);
10070    method @NonNull public android.media.FadeManagerConfiguration.Builder setFadeOutVolumeShaperConfigForAudioAttributes(@NonNull android.media.AudioAttributes, @Nullable android.media.VolumeShaper.Configuration);
10071    method @NonNull public android.media.FadeManagerConfiguration.Builder setFadeOutVolumeShaperConfigForUsage(int, @Nullable android.media.VolumeShaper.Configuration);
10072    method @NonNull public android.media.FadeManagerConfiguration.Builder setFadeState(int);
10073    method @NonNull public android.media.FadeManagerConfiguration.Builder setFadeableUsages(@NonNull java.util.List<java.lang.Integer>);
10074    method @NonNull public android.media.FadeManagerConfiguration.Builder setUnfadeableAudioAttributes(@NonNull java.util.List<android.media.AudioAttributes>);
10075    method @NonNull public android.media.FadeManagerConfiguration.Builder setUnfadeableContentTypes(@NonNull java.util.List<java.lang.Integer>);
10076    method @NonNull public android.media.FadeManagerConfiguration.Builder setUnfadeableUids(@NonNull java.util.List<java.lang.Integer>);
10077  }
10078
10079  public class HwAudioSource {
10080    method public boolean isPlaying();
10081    method public void start();
10082    method public void stop();
10083  }
10084
10085  public static final class HwAudioSource.Builder {
10086    ctor public HwAudioSource.Builder();
10087    method @NonNull public android.media.HwAudioSource build();
10088    method @NonNull public android.media.HwAudioSource.Builder setAudioAttributes(@NonNull android.media.AudioAttributes);
10089    method @NonNull public android.media.HwAudioSource.Builder setAudioDeviceInfo(@NonNull android.media.AudioDeviceInfo);
10090  }
10091
10092  public final class MediaCodec {
10093    method @NonNull @RequiresPermission(android.Manifest.permission.MEDIA_RESOURCE_OVERRIDE_PID) public static android.media.MediaCodec createByCodecNameForClient(@NonNull String, int, int) throws java.io.IOException;
10094  }
10095
10096  public class MediaPlayer implements android.media.AudioRouting android.media.VolumeAutomation {
10097    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);
10098  }
10099
10100  public static interface MediaPlayer.OnRtpRxNoticeListener {
10101    method public void onRtpRxNotice(@NonNull android.media.MediaPlayer, int, @NonNull int[]);
10102  }
10103
10104  public final class MediaRecorder.AudioSource {
10105    field @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_OUTPUT) public static final int ECHO_REFERENCE = 1997; // 0x7cd
10106    field @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_HOTWORD) public static final int HOTWORD = 1999; // 0x7cf
10107    field @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_OUTPUT) public static final int RADIO_TUNER = 1998; // 0x7ce
10108    field @RequiresPermission(android.Manifest.permission.ACCESS_ULTRASOUND) public static final int ULTRASOUND = 2000; // 0x7d0
10109  }
10110
10111  public final class MediaRouter2 {
10112    method @NonNull public java.util.List<android.media.MediaRoute2Info> getAllRoutes();
10113    method @Nullable public String getClientPackageName();
10114    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MEDIA_CONTENT_CONTROL, android.Manifest.permission.MEDIA_ROUTING_CONTROL}) public static android.media.MediaRouter2 getInstance(@NonNull android.content.Context, @NonNull String);
10115    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void startScan();
10116    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void stopScan();
10117    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void transfer(@NonNull android.media.MediaRouter2.RoutingController, @NonNull android.media.MediaRoute2Info);
10118  }
10119
10120  public abstract static class MediaRouter2.RouteCallback {
10121    method public void onPreferredFeaturesChanged(@NonNull java.util.List<java.lang.String>);
10122  }
10123
10124  public class MediaSyncEvent implements android.os.Parcelable {
10125    field public static final int SYNC_EVENT_SHARE_AUDIO_HISTORY = 100; // 0x64
10126  }
10127
10128  public final class MediaTranscodingManager {
10129    method @Nullable public android.media.MediaTranscodingManager.TranscodingSession enqueueRequest(@NonNull android.media.MediaTranscodingManager.TranscodingRequest, @NonNull java.util.concurrent.Executor, @NonNull android.media.MediaTranscodingManager.OnTranscodingFinishedListener);
10130  }
10131
10132  @java.lang.FunctionalInterface public static interface MediaTranscodingManager.OnTranscodingFinishedListener {
10133    method public void onTranscodingFinished(@NonNull android.media.MediaTranscodingManager.TranscodingSession);
10134  }
10135
10136  public abstract static class MediaTranscodingManager.TranscodingRequest {
10137    method public int getClientPid();
10138    method public int getClientUid();
10139    method @Nullable public android.os.ParcelFileDescriptor getDestinationFileDescriptor();
10140    method @NonNull public android.net.Uri getDestinationUri();
10141    method @Nullable public android.os.ParcelFileDescriptor getSourceFileDescriptor();
10142    method @NonNull public android.net.Uri getSourceUri();
10143  }
10144
10145  public static class MediaTranscodingManager.TranscodingRequest.VideoFormatResolver {
10146    ctor public MediaTranscodingManager.TranscodingRequest.VideoFormatResolver(@NonNull android.media.ApplicationMediaCapabilities, @NonNull android.media.MediaFormat);
10147    method @Nullable public android.media.MediaFormat resolveVideoFormat();
10148    method public boolean shouldTranscode();
10149  }
10150
10151  public static final class MediaTranscodingManager.TranscodingSession {
10152    method public boolean addClientUid(int);
10153    method public void cancel();
10154    method public void clearOnProgressUpdateListener();
10155    method @NonNull public java.util.List<java.lang.Integer> getClientUids();
10156    method public int getErrorCode();
10157    method @IntRange(from=0, to=100) public int getProgress();
10158    method public int getResult();
10159    method public int getSessionId();
10160    method public int getStatus();
10161    method public void setOnProgressUpdateListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaTranscodingManager.TranscodingSession.OnProgressUpdateListener);
10162    field public static final int ERROR_DROPPED_BY_SERVICE = 1; // 0x1
10163    field public static final int ERROR_NONE = 0; // 0x0
10164    field public static final int ERROR_SERVICE_DIED = 2; // 0x2
10165    field public static final int RESULT_CANCELED = 4; // 0x4
10166    field public static final int RESULT_ERROR = 3; // 0x3
10167    field public static final int RESULT_NONE = 1; // 0x1
10168    field public static final int RESULT_SUCCESS = 2; // 0x2
10169    field public static final int STATUS_FINISHED = 3; // 0x3
10170    field public static final int STATUS_PAUSED = 4; // 0x4
10171    field public static final int STATUS_PENDING = 1; // 0x1
10172    field public static final int STATUS_RUNNING = 2; // 0x2
10173  }
10174
10175  @java.lang.FunctionalInterface public static interface MediaTranscodingManager.TranscodingSession.OnProgressUpdateListener {
10176    method public void onProgressUpdate(@NonNull android.media.MediaTranscodingManager.TranscodingSession, @IntRange(from=0, to=100) int);
10177  }
10178
10179  public static final class MediaTranscodingManager.VideoTranscodingRequest extends android.media.MediaTranscodingManager.TranscodingRequest {
10180    method @NonNull public android.media.MediaFormat getVideoTrackFormat();
10181  }
10182
10183  public static final class MediaTranscodingManager.VideoTranscodingRequest.Builder {
10184    ctor public MediaTranscodingManager.VideoTranscodingRequest.Builder(@NonNull android.net.Uri, @NonNull android.net.Uri, @NonNull android.media.MediaFormat);
10185    method @NonNull public android.media.MediaTranscodingManager.VideoTranscodingRequest build();
10186    method @NonNull public android.media.MediaTranscodingManager.VideoTranscodingRequest.Builder setClientPid(int);
10187    method @NonNull public android.media.MediaTranscodingManager.VideoTranscodingRequest.Builder setClientUid(int);
10188    method @NonNull public android.media.MediaTranscodingManager.VideoTranscodingRequest.Builder setDestinationFileDescriptor(@NonNull android.os.ParcelFileDescriptor);
10189    method @NonNull public android.media.MediaTranscodingManager.VideoTranscodingRequest.Builder setSourceFileDescriptor(@NonNull android.os.ParcelFileDescriptor);
10190  }
10191
10192  public final class NearbyDevice implements android.os.Parcelable {
10193    ctor public NearbyDevice(@NonNull String, int);
10194    method public int describeContents();
10195    method @NonNull public String getMediaRoute2Id();
10196    method public int getRangeZone();
10197    method public void writeToParcel(@NonNull android.os.Parcel, int);
10198    field @NonNull public static final android.os.Parcelable.Creator<android.media.NearbyDevice> CREATOR;
10199    field public static final int RANGE_CLOSE = 3; // 0x3
10200    field public static final int RANGE_FAR = 1; // 0x1
10201    field public static final int RANGE_LONG = 2; // 0x2
10202    field public static final int RANGE_UNKNOWN = 0; // 0x0
10203    field public static final int RANGE_WITHIN_REACH = 4; // 0x4
10204  }
10205
10206  public interface NearbyMediaDevicesProvider {
10207    method public void registerNearbyDevicesCallback(@NonNull java.util.function.Consumer<java.util.List<android.media.NearbyDevice>>);
10208    method public void unregisterNearbyDevicesCallback(@NonNull java.util.function.Consumer<java.util.List<android.media.NearbyDevice>>);
10209  }
10210
10211  public class PlayerProxy {
10212    method public void pause();
10213    method public void setPan(float);
10214    method public void setStartDelayMs(int);
10215    method public void setVolume(float);
10216    method public void start();
10217    method public void stop();
10218  }
10219
10220  public class RingtoneManager {
10221    method @RequiresPermission(android.Manifest.permission.WRITE_SETTINGS) public static void ensureDefaultRingtones(@NonNull android.content.Context);
10222  }
10223
10224  public final class RouteDiscoveryPreference implements android.os.Parcelable {
10225    field public static final android.media.RouteDiscoveryPreference EMPTY;
10226  }
10227
10228  public class Spatializer {
10229    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void addCompatibleAudioDevice(@NonNull android.media.AudioDeviceAttributes);
10230    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void addOnHeadTrackingModeChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.Spatializer.OnHeadTrackingModeChangedListener);
10231    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void clearOnHeadToSoundstagePoseUpdatedListener();
10232    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void clearOnSpatializerOutputChangedListener();
10233    method @NonNull @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public java.util.List<android.media.AudioDeviceAttributes> getCompatibleAudioDevices();
10234    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public int getDesiredHeadTrackingMode();
10235    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void getEffectParameter(int, @NonNull byte[]);
10236    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public int getHeadTrackingMode();
10237    method @IntRange(from=0) @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public int getOutput();
10238    method @NonNull @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public java.util.List<java.lang.Integer> getSupportedHeadTrackingModes();
10239    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public boolean hasHeadTracker(@NonNull android.media.AudioDeviceAttributes);
10240    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public boolean isAvailableForDevice(@NonNull android.media.AudioDeviceAttributes);
10241    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public boolean isHeadTrackerEnabled(@NonNull android.media.AudioDeviceAttributes);
10242    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void recenterHeadTracker();
10243    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void removeCompatibleAudioDevice(@NonNull android.media.AudioDeviceAttributes);
10244    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void removeOnHeadTrackingModeChangedListener(@NonNull android.media.Spatializer.OnHeadTrackingModeChangedListener);
10245    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setDesiredHeadTrackingMode(int);
10246    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setEffectParameter(int, @NonNull byte[]);
10247    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setEnabled(boolean);
10248    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setGlobalTransform(@NonNull float[]);
10249    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setHeadTrackerEnabled(boolean, @NonNull android.media.AudioDeviceAttributes);
10250    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setOnHeadToSoundstagePoseUpdatedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.Spatializer.OnHeadToSoundstagePoseUpdatedListener);
10251    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setOnSpatializerOutputChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.Spatializer.OnSpatializerOutputChangedListener);
10252    field @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static final int HEAD_TRACKING_MODE_DISABLED = -1; // 0xffffffff
10253    field @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static final int HEAD_TRACKING_MODE_OTHER = 0; // 0x0
10254    field @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static final int HEAD_TRACKING_MODE_RELATIVE_DEVICE = 2; // 0x2
10255    field @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static final int HEAD_TRACKING_MODE_RELATIVE_WORLD = 1; // 0x1
10256    field @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static final int HEAD_TRACKING_MODE_UNSUPPORTED = -2; // 0xfffffffe
10257  }
10258
10259  public static interface Spatializer.OnHeadToSoundstagePoseUpdatedListener {
10260    method public void onHeadToSoundstagePoseUpdated(@NonNull android.media.Spatializer, @NonNull float[]);
10261  }
10262
10263  public static interface Spatializer.OnHeadTrackingModeChangedListener {
10264    method public void onDesiredHeadTrackingModeChanged(@NonNull android.media.Spatializer, int);
10265    method public void onHeadTrackingModeChanged(@NonNull android.media.Spatializer, int);
10266  }
10267
10268  public static interface Spatializer.OnSpatializerOutputChangedListener {
10269    method public void onSpatializerOutputChanged(@NonNull android.media.Spatializer, @IntRange(from=0) int);
10270  }
10271
10272  public final class VolumeInfo implements android.os.Parcelable {
10273    method public int describeContents();
10274    method @NonNull public static android.media.VolumeInfo getDefaultVolumeInfo();
10275    method public int getMaxVolumeIndex();
10276    method public int getMinVolumeIndex();
10277    method public int getStreamType();
10278    method @NonNull public android.media.audiopolicy.AudioVolumeGroup getVolumeGroup();
10279    method public int getVolumeIndex();
10280    method public boolean hasMuteCommand();
10281    method public boolean hasStreamType();
10282    method public boolean hasVolumeGroup();
10283    method public boolean isMuted();
10284    method public void writeToParcel(@NonNull android.os.Parcel, int);
10285    field @NonNull public static final android.os.Parcelable.Creator<android.media.VolumeInfo> CREATOR;
10286    field public static final int INDEX_NOT_SET = -100; // 0xffffff9c
10287  }
10288
10289  public static final class VolumeInfo.Builder {
10290    ctor public VolumeInfo.Builder(@NonNull android.media.audiopolicy.AudioVolumeGroup);
10291    ctor public VolumeInfo.Builder(@NonNull android.media.VolumeInfo);
10292    ctor public VolumeInfo.Builder(int);
10293    method @NonNull public android.media.VolumeInfo build();
10294    method @NonNull public android.media.VolumeInfo.Builder setMaxVolumeIndex(int);
10295    method @NonNull public android.media.VolumeInfo.Builder setMinVolumeIndex(int);
10296    method @NonNull public android.media.VolumeInfo.Builder setMuted(boolean);
10297    method @NonNull public android.media.VolumeInfo.Builder setVolumeIndex(int);
10298  }
10299
10300}
10301
10302package android.media.audiofx {
10303
10304  public class AudioEffect {
10305    ctor @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public AudioEffect(@NonNull java.util.UUID, @NonNull android.media.AudioDeviceAttributes);
10306    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static boolean isEffectSupportedForDevice(@NonNull java.util.UUID, @NonNull android.media.AudioDeviceAttributes);
10307  }
10308
10309}
10310
10311package android.media.audiopolicy {
10312
10313  public class AudioMix implements android.os.Parcelable {
10314    method public int describeContents();
10315    method public int getMixState();
10316    method public void writeToParcel(@NonNull android.os.Parcel, int);
10317    field @NonNull public static final android.os.Parcelable.Creator<android.media.audiopolicy.AudioMix> CREATOR;
10318    field public static final int MIX_STATE_DISABLED = -1; // 0xffffffff
10319    field public static final int MIX_STATE_IDLE = 0; // 0x0
10320    field public static final int MIX_STATE_MIXING = 1; // 0x1
10321    field public static final int ROUTE_FLAG_LOOP_BACK = 2; // 0x2
10322    field public static final int ROUTE_FLAG_RENDER = 1; // 0x1
10323  }
10324
10325  public static class AudioMix.Builder {
10326    ctor public AudioMix.Builder(@NonNull android.media.audiopolicy.AudioMixingRule) throws java.lang.IllegalArgumentException;
10327    method public android.media.audiopolicy.AudioMix build() throws java.lang.IllegalArgumentException;
10328    method public android.media.audiopolicy.AudioMix.Builder setDevice(@NonNull android.media.AudioDeviceInfo) throws java.lang.IllegalArgumentException;
10329    method public android.media.audiopolicy.AudioMix.Builder setFormat(@NonNull android.media.AudioFormat) throws java.lang.IllegalArgumentException;
10330    method public android.media.audiopolicy.AudioMix.Builder setRouteFlags(int) throws java.lang.IllegalArgumentException;
10331  }
10332
10333  public class AudioMixingRule implements android.os.Parcelable {
10334    method public int describeContents();
10335    method public int getTargetMixRole();
10336    method public void writeToParcel(@NonNull android.os.Parcel, int);
10337    field @NonNull public static final android.os.Parcelable.Creator<android.media.audiopolicy.AudioMixingRule> CREATOR;
10338    field public static final int MIX_ROLE_INJECTOR = 1; // 0x1
10339    field public static final int MIX_ROLE_PLAYERS = 0; // 0x0
10340    field public static final int RULE_MATCH_ATTRIBUTE_CAPTURE_PRESET = 2; // 0x2
10341    field public static final int RULE_MATCH_ATTRIBUTE_USAGE = 1; // 0x1
10342    field public static final int RULE_MATCH_AUDIO_SESSION_ID = 16; // 0x10
10343    field public static final int RULE_MATCH_UID = 4; // 0x4
10344    field public static final int RULE_MATCH_USERID = 8; // 0x8
10345  }
10346
10347  public static class AudioMixingRule.Builder {
10348    ctor public AudioMixingRule.Builder();
10349    method public android.media.audiopolicy.AudioMixingRule.Builder addMixRule(int, Object) throws java.lang.IllegalArgumentException;
10350    method public android.media.audiopolicy.AudioMixingRule.Builder addRule(android.media.AudioAttributes, int) throws java.lang.IllegalArgumentException;
10351    method @NonNull public android.media.audiopolicy.AudioMixingRule.Builder allowPrivilegedPlaybackCapture(boolean);
10352    method public android.media.audiopolicy.AudioMixingRule build();
10353    method public android.media.audiopolicy.AudioMixingRule.Builder excludeMixRule(int, Object) throws java.lang.IllegalArgumentException;
10354    method public android.media.audiopolicy.AudioMixingRule.Builder excludeRule(android.media.AudioAttributes, int) throws java.lang.IllegalArgumentException;
10355    method @NonNull public android.media.audiopolicy.AudioMixingRule.Builder setTargetMixRole(int);
10356  }
10357
10358  public class AudioPolicy {
10359    method public int attachMixes(@NonNull java.util.List<android.media.audiopolicy.AudioMix>);
10360    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public int clearFadeManagerConfigurationForFocusLoss();
10361    method public android.media.AudioRecord createAudioRecordSink(android.media.audiopolicy.AudioMix) throws java.lang.IllegalArgumentException;
10362    method public android.media.AudioTrack createAudioTrackSource(android.media.audiopolicy.AudioMix) throws java.lang.IllegalArgumentException;
10363    method public int detachMixes(@NonNull java.util.List<android.media.audiopolicy.AudioMix>);
10364    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public android.media.FadeManagerConfiguration getFadeManagerConfigurationForFocusLoss();
10365    method public int getFocusDuckingBehavior();
10366    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public java.util.List<android.media.AudioFocusInfo> getFocusStack();
10367    method public int getStatus();
10368    method public boolean removeUidDeviceAffinity(int);
10369    method public boolean removeUserIdDeviceAffinity(int);
10370    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean sendFocusLoss(@NonNull android.media.AudioFocusInfo) throws java.lang.IllegalStateException;
10371    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public int setFadeManagerConfigurationForFocusLoss(@NonNull android.media.FadeManagerConfiguration);
10372    method public int setFocusDuckingBehavior(int) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException;
10373    method public void setRegistration(String);
10374    method public boolean setUidDeviceAffinity(int, @NonNull java.util.List<android.media.AudioDeviceInfo>);
10375    method public boolean setUserIdDeviceAffinity(int, @NonNull java.util.List<android.media.AudioDeviceInfo>);
10376    method public String toLogFriendlyString();
10377    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int updateMixingRules(@NonNull java.util.List<android.util.Pair<android.media.audiopolicy.AudioMix,android.media.audiopolicy.AudioMixingRule>>);
10378    field public static final int FOCUS_POLICY_DUCKING_DEFAULT = 0; // 0x0
10379    field public static final int FOCUS_POLICY_DUCKING_IN_APP = 0; // 0x0
10380    field public static final int FOCUS_POLICY_DUCKING_IN_POLICY = 1; // 0x1
10381    field public static final int POLICY_STATUS_REGISTERED = 2; // 0x2
10382    field public static final int POLICY_STATUS_UNREGISTERED = 1; // 0x1
10383  }
10384
10385  public abstract static class AudioPolicy.AudioPolicyFocusListener {
10386    ctor public AudioPolicy.AudioPolicyFocusListener();
10387    method public void onAudioFocusAbandon(android.media.AudioFocusInfo);
10388    method public void onAudioFocusGrant(android.media.AudioFocusInfo, int);
10389    method public void onAudioFocusLoss(android.media.AudioFocusInfo, boolean);
10390    method public void onAudioFocusRequest(android.media.AudioFocusInfo, int);
10391  }
10392
10393  public abstract static class AudioPolicy.AudioPolicyStatusListener {
10394    ctor public AudioPolicy.AudioPolicyStatusListener();
10395    method public void onMixStateUpdate(android.media.audiopolicy.AudioMix);
10396    method public void onStatusChange();
10397  }
10398
10399  public abstract static class AudioPolicy.AudioPolicyVolumeCallback {
10400    ctor public AudioPolicy.AudioPolicyVolumeCallback();
10401    method public void onVolumeAdjustment(int);
10402  }
10403
10404  public static class AudioPolicy.Builder {
10405    ctor public AudioPolicy.Builder(android.content.Context);
10406    method @NonNull public android.media.audiopolicy.AudioPolicy.Builder addMix(@NonNull android.media.audiopolicy.AudioMix) throws java.lang.IllegalArgumentException;
10407    method @NonNull public android.media.audiopolicy.AudioPolicy build();
10408    method public void setAudioPolicyFocusListener(android.media.audiopolicy.AudioPolicy.AudioPolicyFocusListener);
10409    method public void setAudioPolicyStatusListener(android.media.audiopolicy.AudioPolicy.AudioPolicyStatusListener);
10410    method @NonNull public android.media.audiopolicy.AudioPolicy.Builder setAudioPolicyVolumeCallback(@NonNull android.media.audiopolicy.AudioPolicy.AudioPolicyVolumeCallback);
10411    method @NonNull public android.media.audiopolicy.AudioPolicy.Builder setIsAudioFocusPolicy(boolean);
10412    method @NonNull public android.media.audiopolicy.AudioPolicy.Builder setLooper(@NonNull android.os.Looper) throws java.lang.IllegalArgumentException;
10413  }
10414
10415  public final class AudioProductStrategy implements android.os.Parcelable {
10416    method @NonNull public static android.media.audiopolicy.AudioProductStrategy createInvalidAudioProductStrategy(int);
10417    method public int describeContents();
10418    method @NonNull public android.media.AudioAttributes getAudioAttributes();
10419    method public int getId();
10420    method @NonNull public String getName();
10421    method public boolean supportsAudioAttributes(@NonNull android.media.AudioAttributes);
10422    method public void writeToParcel(@NonNull android.os.Parcel, int);
10423    field @NonNull public static final android.os.Parcelable.Creator<android.media.audiopolicy.AudioProductStrategy> CREATOR;
10424  }
10425
10426  public final class AudioVolumeGroup implements android.os.Parcelable {
10427    method public int describeContents();
10428    method @NonNull public java.util.List<android.media.AudioAttributes> getAudioAttributes();
10429    method public int getId();
10430    method @NonNull public int[] getLegacyStreamTypes();
10431    method @NonNull public String name();
10432    method public void writeToParcel(@NonNull android.os.Parcel, int);
10433    field public static final android.os.Parcelable.Creator<android.media.audiopolicy.AudioVolumeGroup> CREATOR;
10434    field public static final int DEFAULT_VOLUME_GROUP = -1; // 0xffffffff
10435  }
10436
10437}
10438
10439package android.media.musicrecognition {
10440
10441  public class MusicRecognitionManager {
10442    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);
10443    field public static final int RECOGNITION_FAILED_AUDIO_UNAVAILABLE = 7; // 0x7
10444    field public static final int RECOGNITION_FAILED_NOT_FOUND = 1; // 0x1
10445    field public static final int RECOGNITION_FAILED_NO_CONNECTIVITY = 2; // 0x2
10446    field public static final int RECOGNITION_FAILED_SERVICE_KILLED = 5; // 0x5
10447    field public static final int RECOGNITION_FAILED_SERVICE_UNAVAILABLE = 3; // 0x3
10448    field public static final int RECOGNITION_FAILED_TIMEOUT = 6; // 0x6
10449    field public static final int RECOGNITION_FAILED_UNKNOWN = -1; // 0xffffffff
10450  }
10451
10452  public static interface MusicRecognitionManager.RecognitionCallback {
10453    method public void onAudioStreamClosed();
10454    method public void onRecognitionFailed(@NonNull android.media.musicrecognition.RecognitionRequest, int);
10455    method public void onRecognitionSucceeded(@NonNull android.media.musicrecognition.RecognitionRequest, @NonNull android.media.MediaMetadata, @Nullable android.os.Bundle);
10456  }
10457
10458  public abstract class MusicRecognitionService extends android.app.Service {
10459    ctor public MusicRecognitionService();
10460    method @Nullable public android.os.IBinder onBind(@NonNull android.content.Intent);
10461    method public abstract void onRecognize(@NonNull android.os.ParcelFileDescriptor, @NonNull android.media.AudioFormat, @NonNull android.media.musicrecognition.MusicRecognitionService.Callback);
10462  }
10463
10464  public static interface MusicRecognitionService.Callback {
10465    method public void onRecognitionFailed(int);
10466    method public void onRecognitionSucceeded(@NonNull android.media.MediaMetadata, @Nullable android.os.Bundle);
10467  }
10468
10469  public final class RecognitionRequest implements android.os.Parcelable {
10470    method public int describeContents();
10471    method @NonNull public android.media.AudioAttributes getAudioAttributes();
10472    method @NonNull public android.media.AudioFormat getAudioFormat();
10473    method public int getCaptureSession();
10474    method public int getIgnoreBeginningFrames();
10475    method public int getMaxAudioLengthSeconds();
10476    method public void writeToParcel(@NonNull android.os.Parcel, int);
10477    field @NonNull public static final android.os.Parcelable.Creator<android.media.musicrecognition.RecognitionRequest> CREATOR;
10478  }
10479
10480  public static final class RecognitionRequest.Builder {
10481    ctor public RecognitionRequest.Builder();
10482    method @NonNull public android.media.musicrecognition.RecognitionRequest build();
10483    method @NonNull public android.media.musicrecognition.RecognitionRequest.Builder setAudioAttributes(@NonNull android.media.AudioAttributes);
10484    method @NonNull public android.media.musicrecognition.RecognitionRequest.Builder setAudioFormat(@NonNull android.media.AudioFormat);
10485    method @NonNull public android.media.musicrecognition.RecognitionRequest.Builder setCaptureSession(int);
10486    method @NonNull public android.media.musicrecognition.RecognitionRequest.Builder setIgnoreBeginningFrames(int);
10487    method @NonNull public android.media.musicrecognition.RecognitionRequest.Builder setMaxAudioLengthSeconds(int);
10488  }
10489
10490}
10491
10492package android.media.session {
10493
10494  public final class MediaSessionManager {
10495    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void addOnMediaKeyEventDispatchedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.session.MediaSessionManager.OnMediaKeyEventDispatchedListener);
10496    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void removeOnMediaKeyEventDispatchedListener(@NonNull android.media.session.MediaSessionManager.OnMediaKeyEventDispatchedListener);
10497    method @RequiresPermission(android.Manifest.permission.SET_MEDIA_KEY_LISTENER) public void setOnMediaKeyListener(android.media.session.MediaSessionManager.OnMediaKeyListener, @Nullable android.os.Handler);
10498    method @RequiresPermission(android.Manifest.permission.SET_VOLUME_KEY_LONG_PRESS_LISTENER) public void setOnVolumeKeyLongPressListener(android.media.session.MediaSessionManager.OnVolumeKeyLongPressListener, @Nullable android.os.Handler);
10499  }
10500
10501  public static interface MediaSessionManager.OnMediaKeyEventDispatchedListener {
10502    method public void onMediaKeyEventDispatched(@NonNull android.view.KeyEvent, @NonNull String, @Nullable android.media.session.MediaSession.Token);
10503  }
10504
10505  public static interface MediaSessionManager.OnMediaKeyListener {
10506    method public boolean onMediaKey(android.view.KeyEvent);
10507  }
10508
10509  public static interface MediaSessionManager.OnVolumeKeyLongPressListener {
10510    method public void onVolumeKeyLongPress(android.view.KeyEvent);
10511  }
10512
10513}
10514
10515package android.media.soundtrigger {
10516
10517  public abstract class SoundTriggerDetectionService extends android.app.Service {
10518    ctor public SoundTriggerDetectionService();
10519    method public final android.os.IBinder onBind(android.content.Intent);
10520    method @MainThread public void onConnected(@NonNull java.util.UUID, @Nullable android.os.Bundle);
10521    method @MainThread public void onDisconnected(@NonNull java.util.UUID, @Nullable android.os.Bundle);
10522    method @MainThread public void onError(@NonNull java.util.UUID, @Nullable android.os.Bundle, int, int);
10523    method @MainThread public void onGenericRecognitionEvent(@NonNull java.util.UUID, @Nullable android.os.Bundle, int, @NonNull android.hardware.soundtrigger.SoundTrigger.RecognitionEvent);
10524    method @MainThread public abstract void onStopOperation(@NonNull java.util.UUID, @Nullable android.os.Bundle, int);
10525    method public final void operationFinished(@Nullable java.util.UUID, int);
10526  }
10527
10528  @Deprecated public final class SoundTriggerDetector {
10529    method @Deprecated @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public boolean startRecognition(int);
10530    method @Deprecated @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public boolean stopRecognition();
10531    field @Deprecated public static final int RECOGNITION_FLAG_ALLOW_MULTIPLE_TRIGGERS = 2; // 0x2
10532    field @Deprecated public static final int RECOGNITION_FLAG_CAPTURE_TRIGGER_AUDIO = 1; // 0x1
10533    field @Deprecated public static final int RECOGNITION_FLAG_ENABLE_AUDIO_ECHO_CANCELLATION = 4; // 0x4
10534    field @Deprecated public static final int RECOGNITION_FLAG_ENABLE_AUDIO_NOISE_SUPPRESSION = 8; // 0x8
10535    field @Deprecated public static final int RECOGNITION_FLAG_RUN_IN_BATTERY_SAVER = 16; // 0x10
10536  }
10537
10538  @Deprecated public abstract static class SoundTriggerDetector.Callback {
10539    ctor @Deprecated public SoundTriggerDetector.Callback();
10540    method @Deprecated public abstract void onAvailabilityChanged(int);
10541    method @Deprecated public abstract void onDetected(@NonNull android.media.soundtrigger.SoundTriggerDetector.EventPayload);
10542    method @Deprecated public abstract void onError();
10543    method @Deprecated public abstract void onRecognitionPaused();
10544    method @Deprecated public abstract void onRecognitionResumed();
10545  }
10546
10547  @Deprecated public static class SoundTriggerDetector.EventPayload {
10548    method @Deprecated @Nullable public android.media.AudioFormat getCaptureAudioFormat();
10549    method @Deprecated @Nullable public byte[] getTriggerAudio();
10550  }
10551
10552  public final class SoundTriggerManager {
10553    method @Deprecated @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);
10554    method @Deprecated @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public void deleteModel(java.util.UUID);
10555    method public int getDetectionServiceOperationsTimeout();
10556    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public android.media.soundtrigger.SoundTriggerManager.Model getModel(java.util.UUID);
10557    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public android.hardware.soundtrigger.SoundTrigger.ModuleProperties getModuleProperties();
10558    method @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public int getParameter(@NonNull java.util.UUID, int);
10559    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public android.hardware.soundtrigger.SoundTrigger.ModelParamRange queryParameter(@Nullable java.util.UUID, int);
10560    method @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public int setParameter(@Nullable java.util.UUID, int, int);
10561    method @Deprecated @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public void updateModel(android.media.soundtrigger.SoundTriggerManager.Model);
10562  }
10563
10564  public static class SoundTriggerManager.Model {
10565    method @NonNull public static android.media.soundtrigger.SoundTriggerManager.Model create(@NonNull java.util.UUID, @NonNull java.util.UUID, @Nullable byte[]);
10566    method @NonNull public static android.media.soundtrigger.SoundTriggerManager.Model create(@NonNull java.util.UUID, @NonNull java.util.UUID, @Nullable byte[], int);
10567    method @Nullable public byte[] getModelData();
10568    method @NonNull public java.util.UUID getModelUuid();
10569    method @NonNull public java.util.UUID getVendorUuid();
10570    method public int getVersion();
10571  }
10572
10573}
10574
10575package android.media.tv {
10576
10577  public final class DvbDeviceInfo implements android.os.Parcelable {
10578    ctor public DvbDeviceInfo(int, int);
10579    method public int describeContents();
10580    method @IntRange(from=0) public int getAdapterId();
10581    method @IntRange(from=0) public int getDeviceId();
10582    method public void writeToParcel(@NonNull android.os.Parcel, int);
10583    field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.DvbDeviceInfo> CREATOR;
10584  }
10585
10586  public final class TunedInfo implements android.os.Parcelable {
10587    method public int describeContents();
10588    method public int getAppTag();
10589    method public int getAppType();
10590    method @Nullable public android.net.Uri getChannelUri();
10591    method @NonNull public String getInputId();
10592    method public boolean isMainSession();
10593    method public boolean isRecordingSession();
10594    method public boolean isVisible();
10595    method public void writeToParcel(@NonNull android.os.Parcel, int);
10596    field public static final int APP_TAG_SELF = 0; // 0x0
10597    field public static final int APP_TYPE_NON_SYSTEM = 3; // 0x3
10598    field public static final int APP_TYPE_SELF = 1; // 0x1
10599    field public static final int APP_TYPE_SYSTEM = 2; // 0x2
10600    field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.TunedInfo> CREATOR;
10601  }
10602
10603  public final class TvContentRatingSystemInfo implements android.os.Parcelable {
10604    method public static android.media.tv.TvContentRatingSystemInfo createTvContentRatingSystemInfo(int, android.content.pm.ApplicationInfo);
10605    method public int describeContents();
10606    method public android.net.Uri getXmlUri();
10607    method public boolean isSystemDefined();
10608    method public void writeToParcel(android.os.Parcel, int);
10609  }
10610
10611  public final class TvContract {
10612    method public static android.net.Uri buildChannelsUriForInput(@Nullable String, boolean);
10613    method public static android.net.Uri buildChannelsUriForInput(@Nullable String, @Nullable String, boolean);
10614    field public static final String ACTION_CHANNEL_BROWSABLE_REQUESTED = "android.media.tv.action.CHANNEL_BROWSABLE_REQUESTED";
10615    field public static final String EXTRA_BLOCKED_PACKAGES = "android.media.tv.extra.BLOCKED_PACKAGES";
10616    field public static final String EXTRA_COLUMN_NAME = "android.media.tv.extra.COLUMN_NAME";
10617    field public static final String EXTRA_DATA_TYPE = "android.media.tv.extra.DATA_TYPE";
10618    field public static final String EXTRA_DEFAULT_VALUE = "android.media.tv.extra.DEFAULT_VALUE";
10619    field public static final String EXTRA_EXISTING_COLUMN_NAMES = "android.media.tv.extra.EXISTING_COLUMN_NAMES";
10620    field public static final String EXTRA_PACKAGE_NAME = "android.media.tv.extra.PACKAGE_NAME";
10621    field public static final String EXTRA_RESULT_CODE = "android.media.tv.extra.RESULT_CODE";
10622    field public static final String METHOD_ADD_COLUMN = "add_column";
10623    field public static final String METHOD_BLOCK_PACKAGE = "block_package";
10624    field public static final String METHOD_GET_BLOCKED_PACKAGES = "get_blocked_packages";
10625    field public static final String METHOD_GET_COLUMNS = "get_columns";
10626    field public static final String METHOD_UNBLOCK_PACKAGE = "unblock_package";
10627    field public static final int RESULT_ERROR_INVALID_ARGUMENT = 2; // 0x2
10628    field public static final int RESULT_ERROR_IO = 1; // 0x1
10629    field public static final int RESULT_OK = 0; // 0x0
10630  }
10631
10632  public static final class TvContract.WatchedPrograms implements android.media.tv.TvContract.BaseTvColumns {
10633    field public static final String COLUMN_CHANNEL_ID = "channel_id";
10634    field public static final String COLUMN_DESCRIPTION = "description";
10635    field public static final String COLUMN_END_TIME_UTC_MILLIS = "end_time_utc_millis";
10636    field public static final String COLUMN_INTERNAL_SESSION_TOKEN = "session_token";
10637    field public static final String COLUMN_INTERNAL_TUNE_PARAMS = "tune_params";
10638    field public static final String COLUMN_START_TIME_UTC_MILLIS = "start_time_utc_millis";
10639    field public static final String COLUMN_TITLE = "title";
10640    field public static final String COLUMN_WATCH_END_TIME_UTC_MILLIS = "watch_end_time_utc_millis";
10641    field public static final String COLUMN_WATCH_START_TIME_UTC_MILLIS = "watch_start_time_utc_millis";
10642    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/watched_program";
10643    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/watched_program";
10644    field public static final android.net.Uri CONTENT_URI;
10645  }
10646
10647  public final class TvInputHardwareInfo implements android.os.Parcelable {
10648    method public int describeContents();
10649    method public String getAudioAddress();
10650    method public int getAudioType();
10651    method public int getCableConnectionStatus();
10652    method public int getDeviceId();
10653    method public int getHdmiPortId();
10654    method public int getType();
10655    method public void readFromParcel(android.os.Parcel);
10656    method public void writeToParcel(android.os.Parcel, int);
10657    field public static final int CABLE_CONNECTION_STATUS_CONNECTED = 1; // 0x1
10658    field public static final int CABLE_CONNECTION_STATUS_DISCONNECTED = 2; // 0x2
10659    field public static final int CABLE_CONNECTION_STATUS_UNKNOWN = 0; // 0x0
10660    field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.TvInputHardwareInfo> CREATOR;
10661    field public static final int TV_INPUT_TYPE_COMPONENT = 6; // 0x6
10662    field public static final int TV_INPUT_TYPE_COMPOSITE = 3; // 0x3
10663    field public static final int TV_INPUT_TYPE_DISPLAY_PORT = 10; // 0xa
10664    field public static final int TV_INPUT_TYPE_DVI = 8; // 0x8
10665    field public static final int TV_INPUT_TYPE_HDMI = 9; // 0x9
10666    field public static final int TV_INPUT_TYPE_OTHER_HARDWARE = 1; // 0x1
10667    field public static final int TV_INPUT_TYPE_SCART = 5; // 0x5
10668    field public static final int TV_INPUT_TYPE_SVIDEO = 4; // 0x4
10669    field public static final int TV_INPUT_TYPE_TUNER = 2; // 0x2
10670    field public static final int TV_INPUT_TYPE_VGA = 7; // 0x7
10671  }
10672
10673  public static final class TvInputHardwareInfo.Builder {
10674    ctor public TvInputHardwareInfo.Builder();
10675    method public android.media.tv.TvInputHardwareInfo.Builder audioAddress(String);
10676    method public android.media.tv.TvInputHardwareInfo.Builder audioType(int);
10677    method public android.media.tv.TvInputHardwareInfo build();
10678    method public android.media.tv.TvInputHardwareInfo.Builder cableConnectionStatus(int);
10679    method public android.media.tv.TvInputHardwareInfo.Builder deviceId(int);
10680    method public android.media.tv.TvInputHardwareInfo.Builder hdmiPortId(int);
10681    method public android.media.tv.TvInputHardwareInfo.Builder type(int);
10682  }
10683
10684  public final class TvInputInfo implements android.os.Parcelable {
10685    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;
10686    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;
10687    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;
10688    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;
10689    method public android.hardware.hdmi.HdmiDeviceInfo getHdmiDeviceInfo();
10690    method public boolean isConnectedToHdmiSwitch();
10691    method public boolean isHardwareInput();
10692    method public android.graphics.drawable.Drawable loadIcon(@NonNull android.content.Context, int);
10693  }
10694
10695  public static final class TvInputInfo.Builder {
10696    method public android.media.tv.TvInputInfo.Builder setHdmiDeviceInfo(android.hardware.hdmi.HdmiDeviceInfo);
10697    method public android.media.tv.TvInputInfo.Builder setIcon(android.graphics.drawable.Icon);
10698    method public android.media.tv.TvInputInfo.Builder setIcon(android.graphics.drawable.Icon, int);
10699    method public android.media.tv.TvInputInfo.Builder setLabel(@StringRes int);
10700    method public android.media.tv.TvInputInfo.Builder setLabel(CharSequence);
10701    method public android.media.tv.TvInputInfo.Builder setParentId(String);
10702    method public android.media.tv.TvInputInfo.Builder setTvInputHardwareInfo(android.media.tv.TvInputHardwareInfo);
10703  }
10704
10705  public static final class TvInputInfo.TvInputSettings {
10706    method public static java.util.Map<java.lang.String,java.lang.String> getCustomLabels(android.content.Context, int);
10707    method public static java.util.Set<java.lang.String> getHiddenTvInputIds(android.content.Context, int);
10708    method public static void putCustomLabels(android.content.Context, java.util.Map<java.lang.String,java.lang.String>, int);
10709    method public static void putHiddenTvInputs(android.content.Context, java.util.Set<java.lang.String>, int);
10710  }
10711
10712  public final class TvInputManager {
10713    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);
10714    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);
10715    method @RequiresPermission(android.Manifest.permission.MODIFY_PARENTAL_CONTROLS) public void addBlockedRating(@NonNull android.media.tv.TvContentRating);
10716    method @RequiresPermission(android.Manifest.permission.CAPTURE_TV_INPUT) public boolean captureFrame(String, android.view.Surface, android.media.tv.TvStreamConfig);
10717    method @NonNull @RequiresPermission(android.Manifest.permission.TIS_EXTENSION_INTERFACE) public java.util.List<java.lang.String> getAvailableExtensionInterfaceNames(@NonNull String);
10718    method @RequiresPermission(android.Manifest.permission.CAPTURE_TV_INPUT) public java.util.List<android.media.tv.TvStreamConfig> getAvailableTvStreamConfigList(String);
10719    method @RequiresPermission("android.permission.TUNER_RESOURCE_ACCESS") public int getClientPid(@NonNull String);
10720    method @RequiresPermission("android.permission.TUNER_RESOURCE_ACCESS") public int getClientPriority(int);
10721    method @RequiresPermission("android.permission.TUNER_RESOURCE_ACCESS") public int getClientPriority(int, @NonNull String);
10722    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_TUNED_INFO) public java.util.List<android.media.tv.TunedInfo> getCurrentTunedInfos();
10723    method @NonNull @RequiresPermission("android.permission.DVB_DEVICE") public java.util.List<android.media.tv.DvbDeviceInfo> getDvbDeviceList();
10724    method @Nullable @RequiresPermission(android.Manifest.permission.TIS_EXTENSION_INTERFACE) public android.os.IBinder getExtensionInterface(@NonNull String, @NonNull String);
10725    method @RequiresPermission(android.Manifest.permission.TV_INPUT_HARDWARE) public java.util.List<android.media.tv.TvInputHardwareInfo> getHardwareList();
10726    method @RequiresPermission(android.Manifest.permission.READ_CONTENT_RATING_SYSTEMS) public java.util.List<android.media.tv.TvContentRatingSystemInfo> getTvContentRatingSystemList();
10727    method @RequiresPermission(android.Manifest.permission.CAPTURE_TV_INPUT) public boolean isSingleSessionActive();
10728    method @RequiresPermission(android.Manifest.permission.NOTIFY_TV_INPUTS) public void notifyPreviewProgramAddedToWatchNext(String, long, long);
10729    method @RequiresPermission(android.Manifest.permission.NOTIFY_TV_INPUTS) public void notifyPreviewProgramBrowsableDisabled(String, long);
10730    method @RequiresPermission(android.Manifest.permission.NOTIFY_TV_INPUTS) public void notifyWatchNextProgramBrowsableDisabled(String, long);
10731    method @Nullable @RequiresPermission("android.permission.DVB_DEVICE") public android.os.ParcelFileDescriptor openDvbDevice(@NonNull android.media.tv.DvbDeviceInfo, int);
10732    method @RequiresPermission(android.Manifest.permission.TV_INPUT_HARDWARE) public void releaseTvInputHardware(int, android.media.tv.TvInputManager.Hardware);
10733    method @RequiresPermission(android.Manifest.permission.MODIFY_PARENTAL_CONTROLS) public void removeBlockedRating(@NonNull android.media.tv.TvContentRating);
10734    method @RequiresPermission(android.Manifest.permission.MODIFY_PARENTAL_CONTROLS) public void setParentalControlsEnabled(boolean);
10735  }
10736
10737  public static final class TvInputManager.Hardware {
10738    method public void overrideAudioSink(@NonNull android.media.AudioDeviceInfo, @IntRange(from=0) int, int, int);
10739    method public void overrideAudioSink(int, String, int, int, int);
10740    method public void setStreamVolume(float);
10741    method public boolean setSurface(android.view.Surface, android.media.tv.TvStreamConfig);
10742  }
10743
10744  public abstract static class TvInputManager.HardwareCallback {
10745    ctor public TvInputManager.HardwareCallback();
10746    method public abstract void onReleased();
10747    method public abstract void onStreamConfigChanged(android.media.tv.TvStreamConfig[]);
10748  }
10749
10750  public abstract static class TvInputManager.TvInputCallback {
10751    method @RequiresPermission(android.Manifest.permission.ACCESS_TUNED_INFO) public void onCurrentTunedInfosUpdated(@NonNull java.util.List<android.media.tv.TunedInfo>);
10752  }
10753
10754  public abstract class TvInputService extends android.app.Service {
10755    method @Nullable public android.os.IBinder createExtension();
10756    method @NonNull public java.util.List<java.lang.String> getAvailableExtensionInterfaceNames();
10757    method @Nullable public android.os.IBinder getExtensionInterface(@NonNull String);
10758    method @Nullable public String getExtensionInterfacePermission(@NonNull String);
10759    method @Nullable public android.media.tv.TvInputInfo onHardwareAdded(android.media.tv.TvInputHardwareInfo);
10760    method @Nullable public String onHardwareRemoved(android.media.tv.TvInputHardwareInfo);
10761    method @Nullable public android.media.tv.TvInputInfo onHdmiDeviceAdded(android.hardware.hdmi.HdmiDeviceInfo);
10762    method @Nullable public String onHdmiDeviceRemoved(android.hardware.hdmi.HdmiDeviceInfo);
10763    method public void onHdmiDeviceUpdated(@NonNull android.hardware.hdmi.HdmiDeviceInfo);
10764  }
10765
10766  public abstract static class TvInputService.RecordingSession {
10767    method public void notifySessionEvent(@NonNull String, android.os.Bundle);
10768  }
10769
10770  public abstract static class TvInputService.Session implements android.view.KeyEvent.Callback {
10771    method public void notifySessionEvent(@NonNull String, android.os.Bundle);
10772    method public void onSetMain(boolean);
10773  }
10774
10775  public abstract static class TvRecordingClient.RecordingCallback {
10776    method public void onEvent(String, String, android.os.Bundle);
10777  }
10778
10779  public class TvStreamConfig implements android.os.Parcelable {
10780    method public int describeContents();
10781    method public int getGeneration();
10782    method public int getMaxHeight();
10783    method public int getMaxWidth();
10784    method public int getStreamId();
10785    method public int getType();
10786    method public void writeToParcel(android.os.Parcel, int);
10787    field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.TvStreamConfig> CREATOR;
10788    field public static final int STREAM_TYPE_BUFFER_PRODUCER = 2; // 0x2
10789    field public static final int STREAM_TYPE_INDEPENDENT_VIDEO_SOURCE = 1; // 0x1
10790  }
10791
10792  public static final class TvStreamConfig.Builder {
10793    ctor public TvStreamConfig.Builder();
10794    method public android.media.tv.TvStreamConfig build();
10795    method public android.media.tv.TvStreamConfig.Builder generation(int);
10796    method public android.media.tv.TvStreamConfig.Builder maxHeight(int);
10797    method public android.media.tv.TvStreamConfig.Builder maxWidth(int);
10798    method public android.media.tv.TvStreamConfig.Builder streamId(int);
10799    method public android.media.tv.TvStreamConfig.Builder type(int);
10800  }
10801
10802  public class TvView extends android.view.ViewGroup {
10803    method @RequiresPermission("android.permission.CHANGE_HDMI_CEC_ACTIVE_SOURCE") public void setMain();
10804    method @RequiresPermission(android.Manifest.permission.MODIFY_PARENTAL_CONTROLS) public void unblockContent(android.media.tv.TvContentRating);
10805  }
10806
10807  public abstract static class TvView.TvInputCallback {
10808    method public void onEvent(String, String, android.os.Bundle);
10809  }
10810
10811}
10812
10813package android.media.tv.tuner {
10814
10815  public class DemuxCapabilities {
10816    method public int getAudioFilterCount();
10817    method public int getDemuxCount();
10818    method public int getFilterCapabilities();
10819    method @NonNull public int[] getFilterTypeCapabilityList();
10820    method @NonNull @Size(5) public int[] getLinkCapabilities();
10821    method public int getPcrFilterCount();
10822    method public int getPesFilterCount();
10823    method public int getPlaybackCount();
10824    method public int getRecordCount();
10825    method public int getSectionFilterCount();
10826    method public long getSectionFilterLength();
10827    method public int getTsFilterCount();
10828    method public int getVideoFilterCount();
10829    method public boolean isTimeFilterSupported();
10830  }
10831
10832  public class DemuxInfo {
10833    ctor public DemuxInfo(int);
10834    method public int getFilterTypes();
10835    method public void setFilterTypes(int);
10836  }
10837
10838  public class Descrambler implements java.lang.AutoCloseable {
10839    method public int addPid(int, int, @Nullable android.media.tv.tuner.filter.Filter);
10840    method public void close();
10841    method public static boolean isValidKeyToken(@NonNull byte[]);
10842    method public int removePid(int, int, @Nullable android.media.tv.tuner.filter.Filter);
10843    method public int setKeyToken(@NonNull byte[]);
10844    field public static final int PID_TYPE_MMTP = 2; // 0x2
10845    field public static final int PID_TYPE_T = 1; // 0x1
10846  }
10847
10848  public class Lnb implements java.lang.AutoCloseable {
10849    method public void addCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.LnbCallback);
10850    method public void close();
10851    method public boolean removeCallback(@NonNull android.media.tv.tuner.LnbCallback);
10852    method public int sendDiseqcMessage(@NonNull byte[]);
10853    method public int setSatellitePosition(int);
10854    method public int setTone(int);
10855    method public int setVoltage(int);
10856    field public static final int EVENT_TYPE_DISEQC_RX_OVERFLOW = 0; // 0x0
10857    field public static final int EVENT_TYPE_DISEQC_RX_PARITY_ERROR = 2; // 0x2
10858    field public static final int EVENT_TYPE_DISEQC_RX_TIMEOUT = 1; // 0x1
10859    field public static final int EVENT_TYPE_LNB_OVERLOAD = 3; // 0x3
10860    field public static final int POSITION_A = 1; // 0x1
10861    field public static final int POSITION_B = 2; // 0x2
10862    field public static final int POSITION_UNDEFINED = 0; // 0x0
10863    field public static final int TONE_CONTINUOUS = 1; // 0x1
10864    field public static final int TONE_NONE = 0; // 0x0
10865    field public static final int VOLTAGE_11V = 2; // 0x2
10866    field public static final int VOLTAGE_12V = 3; // 0x3
10867    field public static final int VOLTAGE_13V = 4; // 0x4
10868    field public static final int VOLTAGE_14V = 5; // 0x5
10869    field public static final int VOLTAGE_15V = 6; // 0x6
10870    field public static final int VOLTAGE_18V = 7; // 0x7
10871    field public static final int VOLTAGE_19V = 8; // 0x8
10872    field public static final int VOLTAGE_5V = 1; // 0x1
10873    field public static final int VOLTAGE_NONE = 0; // 0x0
10874  }
10875
10876  public interface LnbCallback {
10877    method public void onDiseqcMessage(@NonNull byte[]);
10878    method public void onEvent(int);
10879  }
10880
10881  public class Tuner implements java.lang.AutoCloseable {
10882    ctor @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public Tuner(@NonNull android.content.Context, @Nullable String, int);
10883    method public int applyFrontend(@NonNull android.media.tv.tuner.frontend.FrontendInfo);
10884    method public int cancelScanning();
10885    method public int cancelTuning();
10886    method public void clearOnTuneEventListener();
10887    method public void clearResourceLostListener();
10888    method public void close();
10889    method public void closeFrontend();
10890    method public int configureDemux(@Nullable android.media.tv.tuner.DemuxInfo);
10891    method public int connectCiCam(int);
10892    method public int connectFrontendToCiCam(int);
10893    method public int disconnectCiCam();
10894    method public int disconnectFrontendToCiCam(int);
10895    method public int getAvSyncHwId(@NonNull android.media.tv.tuner.filter.Filter);
10896    method public long getAvSyncTime(int);
10897    method @Nullable public java.util.List<android.media.tv.tuner.frontend.FrontendInfo> getAvailableFrontendInfos();
10898    method @Nullable public android.media.tv.tuner.DemuxInfo getCurrentDemuxInfo();
10899    method @Nullable public String getCurrentFrontendHardwareInfo();
10900    method @Nullable public android.media.tv.tuner.DemuxCapabilities getDemuxCapabilities();
10901    method @Nullable public android.media.tv.tuner.frontend.FrontendInfo getFrontendInfo();
10902    method @Nullable public android.media.tv.tuner.frontend.FrontendStatus getFrontendStatus(@NonNull int[]);
10903    method @NonNull public java.util.List<android.media.tv.tuner.frontend.FrontendStatusReadiness> getFrontendStatusReadiness(@NonNull int[]);
10904    method @IntRange(from=0xffffffff) public int getMaxNumberOfFrontends(int);
10905    method @RequiresPermission("android.permission.TUNER_RESOURCE_ACCESS") public boolean hasUnusedFrontend(int);
10906    method public boolean isLnaSupported();
10907    method public boolean isLowestPriority(int);
10908    method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_TV_DESCRAMBLER) public android.media.tv.tuner.Descrambler openDescrambler();
10909    method @Nullable public android.media.tv.tuner.dvr.DvrPlayback openDvrPlayback(long, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.dvr.OnPlaybackStatusChangedListener);
10910    method @Nullable public android.media.tv.tuner.dvr.DvrRecorder openDvrRecorder(long, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.dvr.OnRecordStatusChangedListener);
10911    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);
10912    method @Nullable public android.media.tv.tuner.Lnb openLnb(@NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.LnbCallback);
10913    method @Nullable public android.media.tv.tuner.Lnb openLnbByName(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.LnbCallback);
10914    method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_TV_SHARED_FILTER) public static android.media.tv.tuner.filter.SharedFilter openSharedFilter(@NonNull android.content.Context, @NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.filter.SharedFilterCallback);
10915    method @Nullable public android.media.tv.tuner.filter.TimeFilter openTimeFilter();
10916    method public int removeOutputPid(@IntRange(from=0) int);
10917    method public int scan(@NonNull android.media.tv.tuner.frontend.FrontendSettings, int, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.frontend.ScanCallback);
10918    method public int setLnaEnabled(boolean);
10919    method public int setMaxNumberOfFrontends(int, @IntRange(from=0) int);
10920    method public void setOnTuneEventListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.frontend.OnTuneEventListener);
10921    method public void setResourceLostListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.Tuner.OnResourceLostListener);
10922    method public void shareFrontendFromTuner(@NonNull android.media.tv.tuner.Tuner);
10923    method public int transferOwner(@NonNull android.media.tv.tuner.Tuner);
10924    method public int tune(@NonNull android.media.tv.tuner.frontend.FrontendSettings);
10925    method @RequiresPermission("android.permission.TUNER_RESOURCE_ACCESS") public void updateResourcePriority(int, int);
10926    field public static final int INVALID_AV_SYNC_ID = -1; // 0xffffffff
10927    field public static final int INVALID_FILTER_ID = -1; // 0xffffffff
10928    field public static final long INVALID_FILTER_ID_LONG = -1L; // 0xffffffffffffffffL
10929    field public static final int INVALID_FIRST_MACROBLOCK_IN_SLICE = -1; // 0xffffffff
10930    field public static final int INVALID_FRONTEND_ID = -1; // 0xffffffff
10931    field public static final int INVALID_FRONTEND_SETTING_FREQUENCY = -1; // 0xffffffff
10932    field public static final int INVALID_LTS_ID = -1; // 0xffffffff
10933    field public static final int INVALID_MMTP_RECORD_EVENT_MPT_SEQUENCE_NUM = -1; // 0xffffffff
10934    field public static final int INVALID_STREAM_ID = 65535; // 0xffff
10935    field public static final long INVALID_TIMESTAMP = -1L; // 0xffffffffffffffffL
10936    field public static final int INVALID_TS_PID = 65535; // 0xffff
10937    field public static final int RESULT_INVALID_ARGUMENT = 4; // 0x4
10938    field public static final int RESULT_INVALID_STATE = 3; // 0x3
10939    field public static final int RESULT_NOT_INITIALIZED = 2; // 0x2
10940    field public static final int RESULT_OUT_OF_MEMORY = 5; // 0x5
10941    field public static final int RESULT_SUCCESS = 0; // 0x0
10942    field public static final int RESULT_UNAVAILABLE = 1; // 0x1
10943    field public static final int RESULT_UNKNOWN_ERROR = 6; // 0x6
10944    field public static final int SCAN_TYPE_AUTO = 1; // 0x1
10945    field public static final int SCAN_TYPE_BLIND = 2; // 0x2
10946    field public static final int SCAN_TYPE_UNDEFINED = 0; // 0x0
10947    field @NonNull public static final byte[] VOID_KEYTOKEN;
10948  }
10949
10950  public static interface Tuner.OnResourceLostListener {
10951    method public void onResourceLost(@NonNull android.media.tv.tuner.Tuner);
10952  }
10953
10954  public final class TunerVersionChecker {
10955    method public static int getTunerVersion();
10956    field public static final int TUNER_VERSION_1_0 = 65536; // 0x10000
10957    field public static final int TUNER_VERSION_1_1 = 65537; // 0x10001
10958    field public static final int TUNER_VERSION_2_0 = 131072; // 0x20000
10959    field public static final int TUNER_VERSION_3_0 = 196608; // 0x30000
10960    field public static final int TUNER_VERSION_UNKNOWN = 0; // 0x0
10961  }
10962
10963}
10964
10965package android.media.tv.tuner.dvr {
10966
10967  public class DvrPlayback implements java.lang.AutoCloseable {
10968    method @Deprecated public int attachFilter(@NonNull android.media.tv.tuner.filter.Filter);
10969    method public void close();
10970    method public int configure(@NonNull android.media.tv.tuner.dvr.DvrSettings);
10971    method @Deprecated public int detachFilter(@NonNull android.media.tv.tuner.filter.Filter);
10972    method public int flush();
10973    method public long read(@NonNull byte[], long, long);
10974    method public long read(long);
10975    method public long seek(long);
10976    method public void setFileDescriptor(@NonNull android.os.ParcelFileDescriptor);
10977    method public int setPlaybackBufferStatusCheckIntervalHint(long);
10978    method public int start();
10979    method public int stop();
10980    field public static final int PLAYBACK_STATUS_ALMOST_EMPTY = 2; // 0x2
10981    field public static final int PLAYBACK_STATUS_ALMOST_FULL = 4; // 0x4
10982    field public static final int PLAYBACK_STATUS_EMPTY = 1; // 0x1
10983    field public static final int PLAYBACK_STATUS_FULL = 8; // 0x8
10984  }
10985
10986  public class DvrRecorder implements java.lang.AutoCloseable {
10987    method public int attachFilter(@NonNull android.media.tv.tuner.filter.Filter);
10988    method public void close();
10989    method public int configure(@NonNull android.media.tv.tuner.dvr.DvrSettings);
10990    method public int detachFilter(@NonNull android.media.tv.tuner.filter.Filter);
10991    method public int flush();
10992    method public void setFileDescriptor(@NonNull android.os.ParcelFileDescriptor);
10993    method public int setRecordBufferStatusCheckIntervalHint(long);
10994    method public int start();
10995    method public int stop();
10996    method public long write(@NonNull byte[], long, long);
10997    method public long write(long);
10998  }
10999
11000  public class DvrSettings {
11001    method @NonNull public static android.media.tv.tuner.dvr.DvrSettings.Builder builder();
11002    method public int getDataFormat();
11003    method public long getHighThreshold();
11004    method public long getLowThreshold();
11005    method public long getPacketSize();
11006    method public int getStatusMask();
11007    field public static final int DATA_FORMAT_ES = 2; // 0x2
11008    field public static final int DATA_FORMAT_PES = 1; // 0x1
11009    field public static final int DATA_FORMAT_SHV_TLV = 3; // 0x3
11010    field public static final int DATA_FORMAT_TS = 0; // 0x0
11011  }
11012
11013  public static final class DvrSettings.Builder {
11014    ctor public DvrSettings.Builder();
11015    method @NonNull public android.media.tv.tuner.dvr.DvrSettings build();
11016    method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setDataFormat(int);
11017    method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setHighThreshold(long);
11018    method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setLowThreshold(long);
11019    method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setPacketSize(long);
11020    method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setStatusMask(int);
11021  }
11022
11023  public interface OnPlaybackStatusChangedListener {
11024    method public void onPlaybackStatusChanged(int);
11025  }
11026
11027  public interface OnRecordStatusChangedListener {
11028    method public void onRecordStatusChanged(int);
11029  }
11030
11031}
11032
11033package android.media.tv.tuner.filter {
11034
11035  public final class AlpFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
11036    method @NonNull public static android.media.tv.tuner.filter.AlpFilterConfiguration.Builder builder();
11037    method public int getLengthType();
11038    method public int getPacketType();
11039    method public int getType();
11040    field public static final int LENGTH_TYPE_UNDEFINED = 0; // 0x0
11041    field public static final int LENGTH_TYPE_WITHOUT_ADDITIONAL_HEADER = 1; // 0x1
11042    field public static final int LENGTH_TYPE_WITH_ADDITIONAL_HEADER = 2; // 0x2
11043    field public static final int PACKET_TYPE_COMPRESSED = 2; // 0x2
11044    field public static final int PACKET_TYPE_EXTENSION = 6; // 0x6
11045    field public static final int PACKET_TYPE_IPV4 = 0; // 0x0
11046    field public static final int PACKET_TYPE_MPEG2_TS = 7; // 0x7
11047    field public static final int PACKET_TYPE_SIGNALING = 4; // 0x4
11048  }
11049
11050  public static final class AlpFilterConfiguration.Builder {
11051    method @NonNull public android.media.tv.tuner.filter.AlpFilterConfiguration build();
11052    method @NonNull public android.media.tv.tuner.filter.AlpFilterConfiguration.Builder setLengthType(int);
11053    method @NonNull public android.media.tv.tuner.filter.AlpFilterConfiguration.Builder setPacketType(int);
11054    method @NonNull public android.media.tv.tuner.filter.AlpFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings);
11055  }
11056
11057  public class AudioDescriptor {
11058    method public byte getAdFade();
11059    method public byte getAdGainCenter();
11060    method public byte getAdGainFront();
11061    method public byte getAdGainSurround();
11062    method public byte getAdPan();
11063    method public char getAdVersionTextTag();
11064  }
11065
11066  public class AvSettings extends android.media.tv.tuner.filter.Settings {
11067    method @NonNull public static android.media.tv.tuner.filter.AvSettings.Builder builder(int, boolean);
11068    method public int getAudioStreamType();
11069    method public int getVideoStreamType();
11070    method public boolean isPassthrough();
11071    method public boolean useSecureMemory();
11072    field public static final int AUDIO_STREAM_TYPE_AAC = 6; // 0x6
11073    field public static final int AUDIO_STREAM_TYPE_AAC_ADTS = 16; // 0x10
11074    field public static final int AUDIO_STREAM_TYPE_AAC_HE_ADTS = 18; // 0x12
11075    field public static final int AUDIO_STREAM_TYPE_AAC_HE_LATM = 19; // 0x13
11076    field public static final int AUDIO_STREAM_TYPE_AAC_LATM = 17; // 0x11
11077    field public static final int AUDIO_STREAM_TYPE_AC3 = 7; // 0x7
11078    field public static final int AUDIO_STREAM_TYPE_AC4 = 9; // 0x9
11079    field public static final int AUDIO_STREAM_TYPE_DRA = 15; // 0xf
11080    field public static final int AUDIO_STREAM_TYPE_DTS = 10; // 0xa
11081    field public static final int AUDIO_STREAM_TYPE_DTS_HD = 11; // 0xb
11082    field public static final int AUDIO_STREAM_TYPE_EAC3 = 8; // 0x8
11083    field public static final int AUDIO_STREAM_TYPE_MP3 = 2; // 0x2
11084    field public static final int AUDIO_STREAM_TYPE_MPEG1 = 3; // 0x3
11085    field public static final int AUDIO_STREAM_TYPE_MPEG2 = 4; // 0x4
11086    field public static final int AUDIO_STREAM_TYPE_MPEGH = 5; // 0x5
11087    field public static final int AUDIO_STREAM_TYPE_OPUS = 13; // 0xd
11088    field public static final int AUDIO_STREAM_TYPE_PCM = 1; // 0x1
11089    field public static final int AUDIO_STREAM_TYPE_UNDEFINED = 0; // 0x0
11090    field public static final int AUDIO_STREAM_TYPE_VORBIS = 14; // 0xe
11091    field public static final int AUDIO_STREAM_TYPE_WMA = 12; // 0xc
11092    field public static final int VIDEO_STREAM_TYPE_AV1 = 10; // 0xa
11093    field public static final int VIDEO_STREAM_TYPE_AVC = 5; // 0x5
11094    field public static final int VIDEO_STREAM_TYPE_AVS = 11; // 0xb
11095    field public static final int VIDEO_STREAM_TYPE_AVS2 = 12; // 0xc
11096    field public static final int VIDEO_STREAM_TYPE_HEVC = 6; // 0x6
11097    field public static final int VIDEO_STREAM_TYPE_MPEG1 = 2; // 0x2
11098    field public static final int VIDEO_STREAM_TYPE_MPEG2 = 3; // 0x3
11099    field public static final int VIDEO_STREAM_TYPE_MPEG4P2 = 4; // 0x4
11100    field public static final int VIDEO_STREAM_TYPE_RESERVED = 1; // 0x1
11101    field public static final int VIDEO_STREAM_TYPE_UNDEFINED = 0; // 0x0
11102    field public static final int VIDEO_STREAM_TYPE_VC1 = 7; // 0x7
11103    field public static final int VIDEO_STREAM_TYPE_VP8 = 8; // 0x8
11104    field public static final int VIDEO_STREAM_TYPE_VP9 = 9; // 0x9
11105    field public static final int VIDEO_STREAM_TYPE_VVC = 13; // 0xd
11106  }
11107
11108  public static class AvSettings.Builder {
11109    method @NonNull public android.media.tv.tuner.filter.AvSettings build();
11110    method @NonNull public android.media.tv.tuner.filter.AvSettings.Builder setAudioStreamType(int);
11111    method @NonNull public android.media.tv.tuner.filter.AvSettings.Builder setPassthrough(boolean);
11112    method @NonNull public android.media.tv.tuner.filter.AvSettings.Builder setUseSecureMemory(boolean);
11113    method @NonNull public android.media.tv.tuner.filter.AvSettings.Builder setVideoStreamType(int);
11114  }
11115
11116  public class DownloadEvent extends android.media.tv.tuner.filter.FilterEvent {
11117    method public int getDataLength();
11118    method public int getDownloadId();
11119    method public int getItemFragmentIndex();
11120    method public int getItemId();
11121    method public int getLastItemFragmentIndex();
11122    method @IntRange(from=0) public int getMpuSequenceNumber();
11123  }
11124
11125  public class DownloadSettings extends android.media.tv.tuner.filter.Settings {
11126    method @NonNull public static android.media.tv.tuner.filter.DownloadSettings.Builder builder(int);
11127    method public int getDownloadId();
11128    method public boolean useDownloadId();
11129  }
11130
11131  public static class DownloadSettings.Builder {
11132    method @NonNull public android.media.tv.tuner.filter.DownloadSettings build();
11133    method @NonNull public android.media.tv.tuner.filter.DownloadSettings.Builder setDownloadId(int);
11134    method @NonNull public android.media.tv.tuner.filter.DownloadSettings.Builder setUseDownloadId(boolean);
11135  }
11136
11137  public class Filter implements java.lang.AutoCloseable {
11138    method @Nullable public String acquireSharedFilterToken();
11139    method public void close();
11140    method public int configure(@NonNull android.media.tv.tuner.filter.FilterConfiguration);
11141    method public int delayCallbackForDurationMillis(long);
11142    method public int delayCallbackUntilBytesAccumulated(int);
11143    method public int flush();
11144    method public void freeSharedFilterToken(@NonNull String);
11145    method @Deprecated public int getId();
11146    method public long getIdLong();
11147    method public int read(@NonNull byte[], long, long);
11148    method public int setDataSource(@Nullable android.media.tv.tuner.filter.Filter);
11149    method public int setMonitorEventMask(int);
11150    method public int start();
11151    method public int stop();
11152    field public static final int MONITOR_EVENT_IP_CID_CHANGE = 2; // 0x2
11153    field public static final int MONITOR_EVENT_SCRAMBLING_STATUS = 1; // 0x1
11154    field public static final int SCRAMBLING_STATUS_NOT_SCRAMBLED = 2; // 0x2
11155    field public static final int SCRAMBLING_STATUS_SCRAMBLED = 4; // 0x4
11156    field public static final int SCRAMBLING_STATUS_UNKNOWN = 1; // 0x1
11157    field public static final int STATUS_DATA_READY = 1; // 0x1
11158    field public static final int STATUS_HIGH_WATER = 4; // 0x4
11159    field public static final int STATUS_LOW_WATER = 2; // 0x2
11160    field public static final int STATUS_NO_DATA = 16; // 0x10
11161    field public static final int STATUS_OVERFLOW = 8; // 0x8
11162    field public static final int SUBTYPE_AUDIO = 3; // 0x3
11163    field public static final int SUBTYPE_DOWNLOAD = 5; // 0x5
11164    field public static final int SUBTYPE_IP = 13; // 0xd
11165    field public static final int SUBTYPE_IP_PAYLOAD = 12; // 0xc
11166    field public static final int SUBTYPE_MMTP = 10; // 0xa
11167    field public static final int SUBTYPE_NTP = 11; // 0xb
11168    field public static final int SUBTYPE_PAYLOAD_THROUGH = 14; // 0xe
11169    field public static final int SUBTYPE_PCR = 8; // 0x8
11170    field public static final int SUBTYPE_PES = 2; // 0x2
11171    field public static final int SUBTYPE_PTP = 16; // 0x10
11172    field public static final int SUBTYPE_RECORD = 6; // 0x6
11173    field public static final int SUBTYPE_SECTION = 1; // 0x1
11174    field public static final int SUBTYPE_TEMI = 9; // 0x9
11175    field public static final int SUBTYPE_TLV = 15; // 0xf
11176    field public static final int SUBTYPE_TS = 7; // 0x7
11177    field public static final int SUBTYPE_UNDEFINED = 0; // 0x0
11178    field public static final int SUBTYPE_VIDEO = 4; // 0x4
11179    field public static final int TYPE_ALP = 16; // 0x10
11180    field public static final int TYPE_IP = 4; // 0x4
11181    field public static final int TYPE_MMTP = 2; // 0x2
11182    field public static final int TYPE_TLV = 8; // 0x8
11183    field public static final int TYPE_TS = 1; // 0x1
11184    field public static final int TYPE_UNDEFINED = 0; // 0x0
11185  }
11186
11187  public interface FilterCallback {
11188    method public void onFilterEvent(@NonNull android.media.tv.tuner.filter.Filter, @NonNull android.media.tv.tuner.filter.FilterEvent[]);
11189    method public void onFilterStatusChanged(@NonNull android.media.tv.tuner.filter.Filter, int);
11190  }
11191
11192  public abstract class FilterConfiguration {
11193    method @Nullable public android.media.tv.tuner.filter.Settings getSettings();
11194    method public abstract int getType();
11195  }
11196
11197  public abstract class FilterEvent {
11198    ctor public FilterEvent();
11199  }
11200
11201  public final class IpCidChangeEvent extends android.media.tv.tuner.filter.FilterEvent {
11202    method public int getIpCid();
11203  }
11204
11205  public final class IpFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
11206    method @NonNull public static android.media.tv.tuner.filter.IpFilterConfiguration.Builder builder();
11207    method @NonNull @Size(min=4, max=16) public byte[] getDstIpAddress();
11208    method public int getDstPort();
11209    method @IntRange(from=0, to=61439) public int getIpFilterContextId();
11210    method @NonNull @Size(min=4, max=16) public byte[] getSrcIpAddress();
11211    method public int getSrcPort();
11212    method public int getType();
11213    method public boolean isPassthrough();
11214    field public static final int INVALID_IP_FILTER_CONTEXT_ID = -1; // 0xffffffff
11215  }
11216
11217  public static final class IpFilterConfiguration.Builder {
11218    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration build();
11219    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setDstIpAddress(@NonNull byte[]);
11220    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setDstPort(int);
11221    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setIpFilterContextId(int);
11222    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setPassthrough(boolean);
11223    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings);
11224    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setSrcIpAddress(@NonNull byte[]);
11225    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setSrcPort(int);
11226  }
11227
11228  public class IpPayloadEvent extends android.media.tv.tuner.filter.FilterEvent {
11229    method public int getDataLength();
11230  }
11231
11232  public class MediaEvent extends android.media.tv.tuner.filter.FilterEvent {
11233    method protected void finalize();
11234    method public long getAudioHandle();
11235    method @NonNull public java.util.List<android.media.AudioPresentation> getAudioPresentations();
11236    method public long getAvDataId();
11237    method public long getDataLength();
11238    method public long getDts();
11239    method @Nullable public android.media.tv.tuner.filter.AudioDescriptor getExtraMetaData();
11240    method @Nullable public android.media.MediaCodec.LinearBlock getLinearBlock();
11241    method @IntRange(from=0) public int getMpuSequenceNumber();
11242    method public long getOffset();
11243    method public long getPts();
11244    method public int getScIndexMask();
11245    method public int getStreamId();
11246    method public boolean isDtsPresent();
11247    method public boolean isPrivateData();
11248    method public boolean isPtsPresent();
11249    method public boolean isSecureMemory();
11250    method public void release();
11251  }
11252
11253  public final class MmtpFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
11254    method @NonNull public static android.media.tv.tuner.filter.MmtpFilterConfiguration.Builder builder();
11255    method public int getMmtpPacketId();
11256    method public int getType();
11257  }
11258
11259  public static final class MmtpFilterConfiguration.Builder {
11260    method @NonNull public android.media.tv.tuner.filter.MmtpFilterConfiguration build();
11261    method @NonNull public android.media.tv.tuner.filter.MmtpFilterConfiguration.Builder setMmtpPacketId(int);
11262    method @NonNull public android.media.tv.tuner.filter.MmtpFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings);
11263  }
11264
11265  public class MmtpRecordEvent extends android.media.tv.tuner.filter.FilterEvent {
11266    method public long getDataLength();
11267    method public int getFirstMacroblockInSlice();
11268    method @IntRange(from=0) public int getMpuSequenceNumber();
11269    method public long getPts();
11270    method public int getScHevcIndexMask();
11271    method public int getTsIndexMask();
11272  }
11273
11274  public class PesEvent extends android.media.tv.tuner.filter.FilterEvent {
11275    method public int getDataLength();
11276    method @IntRange(from=0) public int getMpuSequenceNumber();
11277    method public int getStreamId();
11278  }
11279
11280  public class PesSettings extends android.media.tv.tuner.filter.Settings {
11281    method @NonNull public static android.media.tv.tuner.filter.PesSettings.Builder builder(int);
11282    method public int getStreamId();
11283    method public boolean isRaw();
11284  }
11285
11286  public static class PesSettings.Builder {
11287    method @NonNull public android.media.tv.tuner.filter.PesSettings build();
11288    method @NonNull public android.media.tv.tuner.filter.PesSettings.Builder setRaw(boolean);
11289    method @NonNull public android.media.tv.tuner.filter.PesSettings.Builder setStreamId(int);
11290  }
11291
11292  public class RecordSettings extends android.media.tv.tuner.filter.Settings {
11293    method @NonNull public static android.media.tv.tuner.filter.RecordSettings.Builder builder(int);
11294    method public int getScIndexMask();
11295    method public int getScIndexType();
11296    method public int getTsIndexMask();
11297    field public static final int INDEX_TYPE_NONE = 0; // 0x0
11298    field public static final int INDEX_TYPE_SC = 1; // 0x1
11299    field public static final int INDEX_TYPE_SC_AVC = 3; // 0x3
11300    field public static final int INDEX_TYPE_SC_HEVC = 2; // 0x2
11301    field public static final int INDEX_TYPE_SC_VVC = 4; // 0x4
11302    field public static final int MPT_INDEX_AUDIO = 262144; // 0x40000
11303    field public static final int MPT_INDEX_MPT = 65536; // 0x10000
11304    field public static final int MPT_INDEX_TIMESTAMP_TARGET_AUDIO = 1048576; // 0x100000
11305    field public static final int MPT_INDEX_TIMESTAMP_TARGET_VIDEO = 524288; // 0x80000
11306    field public static final int MPT_INDEX_VIDEO = 131072; // 0x20000
11307    field public static final int SC_HEVC_INDEX_AUD = 2; // 0x2
11308    field public static final int SC_HEVC_INDEX_SLICE_BLA_N_LP = 16; // 0x10
11309    field public static final int SC_HEVC_INDEX_SLICE_BLA_W_RADL = 8; // 0x8
11310    field public static final int SC_HEVC_INDEX_SLICE_CE_BLA_W_LP = 4; // 0x4
11311    field public static final int SC_HEVC_INDEX_SLICE_IDR_N_LP = 64; // 0x40
11312    field public static final int SC_HEVC_INDEX_SLICE_IDR_W_RADL = 32; // 0x20
11313    field public static final int SC_HEVC_INDEX_SLICE_TRAIL_CRA = 128; // 0x80
11314    field public static final int SC_HEVC_INDEX_SPS = 1; // 0x1
11315    field public static final int SC_INDEX_B_FRAME = 4; // 0x4
11316    field public static final int SC_INDEX_B_SLICE = 64; // 0x40
11317    field public static final int SC_INDEX_I_FRAME = 1; // 0x1
11318    field public static final int SC_INDEX_I_SLICE = 16; // 0x10
11319    field public static final int SC_INDEX_P_FRAME = 2; // 0x2
11320    field public static final int SC_INDEX_P_SLICE = 32; // 0x20
11321    field public static final int SC_INDEX_SEQUENCE = 8; // 0x8
11322    field public static final int SC_INDEX_SI_SLICE = 128; // 0x80
11323    field public static final int SC_INDEX_SP_SLICE = 256; // 0x100
11324    field public static final int SC_VVC_INDEX_AUD = 64; // 0x40
11325    field public static final int SC_VVC_INDEX_SLICE_CRA = 4; // 0x4
11326    field public static final int SC_VVC_INDEX_SLICE_GDR = 8; // 0x8
11327    field public static final int SC_VVC_INDEX_SLICE_IDR_N_LP = 2; // 0x2
11328    field public static final int SC_VVC_INDEX_SLICE_IDR_W_RADL = 1; // 0x1
11329    field public static final int SC_VVC_INDEX_SPS = 32; // 0x20
11330    field public static final int SC_VVC_INDEX_VPS = 16; // 0x10
11331    field public static final int TS_INDEX_ADAPTATION_EXTENSION_FLAG = 4096; // 0x1000
11332    field public static final int TS_INDEX_CHANGE_TO_EVEN_SCRAMBLED = 8; // 0x8
11333    field public static final int TS_INDEX_CHANGE_TO_NOT_SCRAMBLED = 4; // 0x4
11334    field public static final int TS_INDEX_CHANGE_TO_ODD_SCRAMBLED = 16; // 0x10
11335    field public static final int TS_INDEX_DISCONTINUITY_INDICATOR = 32; // 0x20
11336    field public static final int TS_INDEX_FIRST_PACKET = 1; // 0x1
11337    field public static final int TS_INDEX_INVALID = 0; // 0x0
11338    field public static final int TS_INDEX_OPCR_FLAG = 512; // 0x200
11339    field public static final int TS_INDEX_PAYLOAD_UNIT_START_INDICATOR = 2; // 0x2
11340    field public static final int TS_INDEX_PCR_FLAG = 256; // 0x100
11341    field public static final int TS_INDEX_PRIORITY_INDICATOR = 128; // 0x80
11342    field public static final int TS_INDEX_PRIVATE_DATA = 2048; // 0x800
11343    field public static final int TS_INDEX_RANDOM_ACCESS_INDICATOR = 64; // 0x40
11344    field public static final int TS_INDEX_SPLICING_POINT_FLAG = 1024; // 0x400
11345  }
11346
11347  public static class RecordSettings.Builder {
11348    method @NonNull public android.media.tv.tuner.filter.RecordSettings build();
11349    method @NonNull public android.media.tv.tuner.filter.RecordSettings.Builder setScIndexMask(int);
11350    method @NonNull public android.media.tv.tuner.filter.RecordSettings.Builder setScIndexType(int);
11351    method @NonNull public android.media.tv.tuner.filter.RecordSettings.Builder setTsIndexMask(int);
11352  }
11353
11354  public final class RestartEvent extends android.media.tv.tuner.filter.FilterEvent {
11355    method public int getStartId();
11356    field public static final int NEW_FILTER_FIRST_START_ID = 0; // 0x0
11357  }
11358
11359  public final class ScramblingStatusEvent extends android.media.tv.tuner.filter.FilterEvent {
11360    method public int getScramblingStatus();
11361  }
11362
11363  public class SectionEvent extends android.media.tv.tuner.filter.FilterEvent {
11364    method @Deprecated public int getDataLength();
11365    method public long getDataLengthLong();
11366    method public int getSectionNumber();
11367    method public int getTableId();
11368    method public int getVersion();
11369  }
11370
11371  public abstract class SectionSettings extends android.media.tv.tuner.filter.Settings {
11372    method public int getLengthFieldBitWidth();
11373    method public boolean isCrcEnabled();
11374    method public boolean isRaw();
11375    method public boolean isRepeat();
11376  }
11377
11378  public abstract static class SectionSettings.Builder<T extends android.media.tv.tuner.filter.SectionSettings.Builder<T>> {
11379    method @NonNull public T setBitWidthOfLengthField(@IntRange(from=0) int);
11380    method @NonNull public T setCrcEnabled(boolean);
11381    method @NonNull public T setRaw(boolean);
11382    method @NonNull public T setRepeat(boolean);
11383  }
11384
11385  public class SectionSettingsWithSectionBits extends android.media.tv.tuner.filter.SectionSettings {
11386    method @NonNull public static android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder builder(int);
11387    method @NonNull public byte[] getFilterBytes();
11388    method @NonNull public byte[] getMask();
11389    method @NonNull public byte[] getMode();
11390  }
11391
11392  public static class SectionSettingsWithSectionBits.Builder extends android.media.tv.tuner.filter.SectionSettings.Builder<android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder> {
11393    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithSectionBits build();
11394    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder setFilter(@NonNull byte[]);
11395    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder setMask(@NonNull byte[]);
11396    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder setMode(@NonNull byte[]);
11397  }
11398
11399  public class SectionSettingsWithTableInfo extends android.media.tv.tuner.filter.SectionSettings {
11400    method @NonNull public static android.media.tv.tuner.filter.SectionSettingsWithTableInfo.Builder builder(int);
11401    method public int getTableId();
11402    method public int getVersion();
11403    field public static final int INVALID_TABLE_INFO_VERSION = -1; // 0xffffffff
11404  }
11405
11406  public static class SectionSettingsWithTableInfo.Builder extends android.media.tv.tuner.filter.SectionSettings.Builder<android.media.tv.tuner.filter.SectionSettingsWithTableInfo.Builder> {
11407    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithTableInfo build();
11408    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithTableInfo.Builder setTableId(int);
11409    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithTableInfo.Builder setVersion(int);
11410  }
11411
11412  public abstract class Settings {
11413    method public int getType();
11414  }
11415
11416  public final class SharedFilter implements java.lang.AutoCloseable {
11417    method public void close();
11418    method public int flush();
11419    method public int read(@NonNull byte[], long, long);
11420    method public int start();
11421    method public int stop();
11422    field public static final int STATUS_INACCESSIBLE = 128; // 0x80
11423  }
11424
11425  public interface SharedFilterCallback {
11426    method public void onFilterEvent(@NonNull android.media.tv.tuner.filter.SharedFilter, @NonNull android.media.tv.tuner.filter.FilterEvent[]);
11427    method public void onFilterStatusChanged(@NonNull android.media.tv.tuner.filter.SharedFilter, int);
11428  }
11429
11430  public class TemiEvent extends android.media.tv.tuner.filter.FilterEvent {
11431    method @NonNull public byte[] getDescriptorData();
11432    method public byte getDescriptorTag();
11433    method public long getPts();
11434  }
11435
11436  public class TimeFilter implements java.lang.AutoCloseable {
11437    method public int clearTimestamp();
11438    method public void close();
11439    method public long getSourceTime();
11440    method public long getTimeStamp();
11441    method public int setCurrentTimestamp(long);
11442  }
11443
11444  public final class TlvFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
11445    method @NonNull public static android.media.tv.tuner.filter.TlvFilterConfiguration.Builder builder();
11446    method public int getPacketType();
11447    method public int getType();
11448    method public boolean isCompressedIpPacket();
11449    method public boolean isPassthrough();
11450    field public static final int PACKET_TYPE_COMPRESSED = 3; // 0x3
11451    field public static final int PACKET_TYPE_IPV4 = 1; // 0x1
11452    field public static final int PACKET_TYPE_IPV6 = 2; // 0x2
11453    field public static final int PACKET_TYPE_NULL = 255; // 0xff
11454    field public static final int PACKET_TYPE_SIGNALING = 254; // 0xfe
11455  }
11456
11457  public static final class TlvFilterConfiguration.Builder {
11458    method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration build();
11459    method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration.Builder setCompressedIpPacket(boolean);
11460    method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration.Builder setPacketType(int);
11461    method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration.Builder setPassthrough(boolean);
11462    method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings);
11463  }
11464
11465  public final class TsFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
11466    method @NonNull public static android.media.tv.tuner.filter.TsFilterConfiguration.Builder builder();
11467    method public int getTpid();
11468    method public int getType();
11469  }
11470
11471  public static final class TsFilterConfiguration.Builder {
11472    method @NonNull public android.media.tv.tuner.filter.TsFilterConfiguration build();
11473    method @NonNull public android.media.tv.tuner.filter.TsFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings);
11474    method @NonNull public android.media.tv.tuner.filter.TsFilterConfiguration.Builder setTpid(int);
11475  }
11476
11477  public class TsRecordEvent extends android.media.tv.tuner.filter.FilterEvent {
11478    method public long getDataLength();
11479    method public int getFirstMacroblockInSlice();
11480    method public int getPacketId();
11481    method public long getPts();
11482    method public int getScIndexMask();
11483    method public int getTsIndexMask();
11484  }
11485
11486}
11487
11488package android.media.tv.tuner.frontend {
11489
11490  public class AnalogFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
11491    method public int getSifStandardCapability();
11492    method public int getSignalTypeCapability();
11493  }
11494
11495  public class AnalogFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
11496    method @NonNull public static android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder builder();
11497    method public int getAftFlag();
11498    method public int getSifStandard();
11499    method public int getSignalType();
11500    method public int getType();
11501    field public static final int AFT_FLAG_FALSE = 2; // 0x2
11502    field public static final int AFT_FLAG_TRUE = 1; // 0x1
11503    field public static final int AFT_FLAG_UNDEFINED = 0; // 0x0
11504    field public static final int SIF_AUTO = 1; // 0x1
11505    field public static final int SIF_BG = 2; // 0x2
11506    field public static final int SIF_BG_A2 = 4; // 0x4
11507    field public static final int SIF_BG_NICAM = 8; // 0x8
11508    field public static final int SIF_DK = 32; // 0x20
11509    field public static final int SIF_DK1_A2 = 64; // 0x40
11510    field public static final int SIF_DK2_A2 = 128; // 0x80
11511    field public static final int SIF_DK3_A2 = 256; // 0x100
11512    field public static final int SIF_DK_NICAM = 512; // 0x200
11513    field public static final int SIF_I = 16; // 0x10
11514    field public static final int SIF_I_NICAM = 32768; // 0x8000
11515    field public static final int SIF_L = 1024; // 0x400
11516    field public static final int SIF_L_NICAM = 65536; // 0x10000
11517    field public static final int SIF_L_PRIME = 131072; // 0x20000
11518    field public static final int SIF_M = 2048; // 0x800
11519    field public static final int SIF_M_A2 = 8192; // 0x2000
11520    field public static final int SIF_M_BTSC = 4096; // 0x1000
11521    field public static final int SIF_M_EIAJ = 16384; // 0x4000
11522    field public static final int SIF_UNDEFINED = 0; // 0x0
11523    field public static final int SIGNAL_TYPE_AUTO = 1; // 0x1
11524    field public static final int SIGNAL_TYPE_NTSC = 32; // 0x20
11525    field public static final int SIGNAL_TYPE_NTSC_443 = 64; // 0x40
11526    field public static final int SIGNAL_TYPE_PAL = 2; // 0x2
11527    field public static final int SIGNAL_TYPE_PAL_60 = 16; // 0x10
11528    field public static final int SIGNAL_TYPE_PAL_M = 4; // 0x4
11529    field public static final int SIGNAL_TYPE_PAL_N = 8; // 0x8
11530    field public static final int SIGNAL_TYPE_SECAM = 128; // 0x80
11531    field public static final int SIGNAL_TYPE_UNDEFINED = 0; // 0x0
11532  }
11533
11534  public static class AnalogFrontendSettings.Builder {
11535    method @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings build();
11536    method @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder setAftFlag(int);
11537    method @Deprecated @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder setFrequency(int);
11538    method @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder setFrequencyLong(long);
11539    method @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder setSifStandard(int);
11540    method @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder setSignalType(int);
11541  }
11542
11543  public class Atsc3FrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
11544    method public int getBandwidthCapability();
11545    method public int getDemodOutputFormatCapability();
11546    method public int getFecCapability();
11547    method public int getModulationCapability();
11548    method public int getPlpCodeRateCapability();
11549    method public int getTimeInterleaveModeCapability();
11550  }
11551
11552  public class Atsc3FrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
11553    method @NonNull public static android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder builder();
11554    method public int getBandwidth();
11555    method public int getDemodOutputFormat();
11556    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings[] getPlpSettings();
11557    method public int getType();
11558    field public static final int BANDWIDTH_AUTO = 1; // 0x1
11559    field public static final int BANDWIDTH_BANDWIDTH_6MHZ = 2; // 0x2
11560    field public static final int BANDWIDTH_BANDWIDTH_7MHZ = 4; // 0x4
11561    field public static final int BANDWIDTH_BANDWIDTH_8MHZ = 8; // 0x8
11562    field public static final int BANDWIDTH_UNDEFINED = 0; // 0x0
11563    field public static final int CODERATE_10_15 = 512; // 0x200
11564    field public static final int CODERATE_11_15 = 1024; // 0x400
11565    field public static final int CODERATE_12_15 = 2048; // 0x800
11566    field public static final int CODERATE_13_15 = 4096; // 0x1000
11567    field public static final int CODERATE_2_15 = 2; // 0x2
11568    field public static final int CODERATE_3_15 = 4; // 0x4
11569    field public static final int CODERATE_4_15 = 8; // 0x8
11570    field public static final int CODERATE_5_15 = 16; // 0x10
11571    field public static final int CODERATE_6_15 = 32; // 0x20
11572    field public static final int CODERATE_7_15 = 64; // 0x40
11573    field public static final int CODERATE_8_15 = 128; // 0x80
11574    field public static final int CODERATE_9_15 = 256; // 0x100
11575    field public static final int CODERATE_AUTO = 1; // 0x1
11576    field public static final int CODERATE_UNDEFINED = 0; // 0x0
11577    field public static final int DEMOD_OUTPUT_FORMAT_ATSC3_LINKLAYER_PACKET = 1; // 0x1
11578    field public static final int DEMOD_OUTPUT_FORMAT_BASEBAND_PACKET = 2; // 0x2
11579    field public static final int DEMOD_OUTPUT_FORMAT_UNDEFINED = 0; // 0x0
11580    field public static final int FEC_AUTO = 1; // 0x1
11581    field public static final int FEC_BCH_LDPC_16K = 2; // 0x2
11582    field public static final int FEC_BCH_LDPC_64K = 4; // 0x4
11583    field public static final int FEC_CRC_LDPC_16K = 8; // 0x8
11584    field public static final int FEC_CRC_LDPC_64K = 16; // 0x10
11585    field public static final int FEC_LDPC_16K = 32; // 0x20
11586    field public static final int FEC_LDPC_64K = 64; // 0x40
11587    field public static final int FEC_UNDEFINED = 0; // 0x0
11588    field public static final int MODULATION_AUTO = 1; // 0x1
11589    field public static final int MODULATION_MOD_1024QAM = 32; // 0x20
11590    field public static final int MODULATION_MOD_16QAM = 4; // 0x4
11591    field public static final int MODULATION_MOD_256QAM = 16; // 0x10
11592    field public static final int MODULATION_MOD_4096QAM = 64; // 0x40
11593    field public static final int MODULATION_MOD_64QAM = 8; // 0x8
11594    field public static final int MODULATION_MOD_QPSK = 2; // 0x2
11595    field public static final int MODULATION_UNDEFINED = 0; // 0x0
11596    field public static final int TIME_INTERLEAVE_MODE_AUTO = 1; // 0x1
11597    field public static final int TIME_INTERLEAVE_MODE_CTI = 2; // 0x2
11598    field public static final int TIME_INTERLEAVE_MODE_HTI = 4; // 0x4
11599    field public static final int TIME_INTERLEAVE_MODE_UNDEFINED = 0; // 0x0
11600  }
11601
11602  public static class Atsc3FrontendSettings.Builder {
11603    method @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings build();
11604    method @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setBandwidth(int);
11605    method @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setDemodOutputFormat(int);
11606    method @Deprecated @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setFrequency(int);
11607    method @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setFrequencyLong(long);
11608    method @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setPlpSettings(@NonNull android.media.tv.tuner.frontend.Atsc3PlpSettings[]);
11609  }
11610
11611  public class Atsc3PlpInfo {
11612    method public boolean getLlsFlag();
11613    method public int getPlpId();
11614  }
11615
11616  public class Atsc3PlpSettings {
11617    method @NonNull public static android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder builder();
11618    method public int getCodeRate();
11619    method public int getFec();
11620    method public int getInterleaveMode();
11621    method public int getModulation();
11622    method public int getPlpId();
11623  }
11624
11625  public static class Atsc3PlpSettings.Builder {
11626    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings build();
11627    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setCodeRate(int);
11628    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setFec(int);
11629    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setInterleaveMode(int);
11630    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setModulation(int);
11631    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setPlpId(int);
11632  }
11633
11634  public class AtscFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
11635    method public int getModulationCapability();
11636  }
11637
11638  public class AtscFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
11639    method @NonNull public static android.media.tv.tuner.frontend.AtscFrontendSettings.Builder builder();
11640    method public int getModulation();
11641    method public int getType();
11642    field public static final int MODULATION_AUTO = 1; // 0x1
11643    field public static final int MODULATION_MOD_16VSB = 8; // 0x8
11644    field public static final int MODULATION_MOD_8VSB = 4; // 0x4
11645    field public static final int MODULATION_UNDEFINED = 0; // 0x0
11646  }
11647
11648  public static class AtscFrontendSettings.Builder {
11649    method @NonNull public android.media.tv.tuner.frontend.AtscFrontendSettings build();
11650    method @Deprecated @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.AtscFrontendSettings.Builder setFrequency(int);
11651    method @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.AtscFrontendSettings.Builder setFrequencyLong(long);
11652    method @NonNull public android.media.tv.tuner.frontend.AtscFrontendSettings.Builder setModulation(int);
11653  }
11654
11655  public final class DtmbFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
11656    method public int getBandwidthCapability();
11657    method public int getCodeRateCapability();
11658    method public int getGuardIntervalCapability();
11659    method public int getModulationCapability();
11660    method public int getTimeInterleaveModeCapability();
11661    method public int getTransmissionModeCapability();
11662  }
11663
11664  public final class DtmbFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
11665    method @NonNull public static android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder builder();
11666    method public int getBandwidth();
11667    method public int getCodeRate();
11668    method public int getGuardInterval();
11669    method public int getModulation();
11670    method public int getTimeInterleaveMode();
11671    method public int getTransmissionMode();
11672    method public int getType();
11673    field public static final int BANDWIDTH_6MHZ = 4; // 0x4
11674    field public static final int BANDWIDTH_8MHZ = 2; // 0x2
11675    field public static final int BANDWIDTH_AUTO = 1; // 0x1
11676    field public static final int BANDWIDTH_UNDEFINED = 0; // 0x0
11677    field public static final int CODERATE_2_5 = 2; // 0x2
11678    field public static final int CODERATE_3_5 = 4; // 0x4
11679    field public static final int CODERATE_4_5 = 8; // 0x8
11680    field public static final int CODERATE_AUTO = 1; // 0x1
11681    field public static final int CODERATE_UNDEFINED = 0; // 0x0
11682    field public static final int GUARD_INTERVAL_AUTO = 1; // 0x1
11683    field public static final int GUARD_INTERVAL_PN_420_CONST = 16; // 0x10
11684    field public static final int GUARD_INTERVAL_PN_420_VARIOUS = 2; // 0x2
11685    field public static final int GUARD_INTERVAL_PN_595_CONST = 4; // 0x4
11686    field public static final int GUARD_INTERVAL_PN_945_CONST = 32; // 0x20
11687    field public static final int GUARD_INTERVAL_PN_945_VARIOUS = 8; // 0x8
11688    field public static final int GUARD_INTERVAL_PN_RESERVED = 64; // 0x40
11689    field public static final int GUARD_INTERVAL_UNDEFINED = 0; // 0x0
11690    field public static final int MODULATION_CONSTELLATION_16QAM = 8; // 0x8
11691    field public static final int MODULATION_CONSTELLATION_32QAM = 16; // 0x10
11692    field public static final int MODULATION_CONSTELLATION_4QAM = 2; // 0x2
11693    field public static final int MODULATION_CONSTELLATION_4QAM_NR = 4; // 0x4
11694    field public static final int MODULATION_CONSTELLATION_64QAM = 32; // 0x20
11695    field public static final int MODULATION_CONSTELLATION_AUTO = 1; // 0x1
11696    field public static final int MODULATION_CONSTELLATION_UNDEFINED = 0; // 0x0
11697    field public static final int TIME_INTERLEAVE_MODE_AUTO = 1; // 0x1
11698    field public static final int TIME_INTERLEAVE_MODE_TIMER_INT_240 = 2; // 0x2
11699    field public static final int TIME_INTERLEAVE_MODE_TIMER_INT_720 = 4; // 0x4
11700    field public static final int TIME_INTERLEAVE_MODE_UNDEFINED = 0; // 0x0
11701    field public static final int TRANSMISSION_MODE_AUTO = 1; // 0x1
11702    field public static final int TRANSMISSION_MODE_C1 = 2; // 0x2
11703    field public static final int TRANSMISSION_MODE_C3780 = 4; // 0x4
11704    field public static final int TRANSMISSION_MODE_UNDEFINED = 0; // 0x0
11705  }
11706
11707  public static final class DtmbFrontendSettings.Builder {
11708    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings build();
11709    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setBandwidth(int);
11710    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setCodeRate(int);
11711    method @Deprecated @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setFrequency(int);
11712    method @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setFrequencyLong(long);
11713    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setGuardInterval(int);
11714    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setModulation(int);
11715    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setTimeInterleaveMode(int);
11716    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setTransmissionMode(int);
11717  }
11718
11719  public class DvbcFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
11720    method public int getAnnexCapability();
11721    method public long getCodeRateCapability();
11722    method @Deprecated public int getFecCapability();
11723    method public int getModulationCapability();
11724  }
11725
11726  public class DvbcFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
11727    method @NonNull public static android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder builder();
11728    method public int getAnnex();
11729    method public int getBandwidth();
11730    method public long getInnerFec();
11731    method public int getModulation();
11732    method public int getOuterFec();
11733    method public int getSpectralInversion();
11734    method public int getSymbolRate();
11735    method public int getTimeInterleaveMode();
11736    method public int getType();
11737    field public static final int ANNEX_A = 1; // 0x1
11738    field public static final int ANNEX_B = 2; // 0x2
11739    field public static final int ANNEX_C = 4; // 0x4
11740    field public static final int ANNEX_UNDEFINED = 0; // 0x0
11741    field public static final int BANDWIDTH_5MHZ = 1; // 0x1
11742    field public static final int BANDWIDTH_6MHZ = 2; // 0x2
11743    field public static final int BANDWIDTH_7MHZ = 4; // 0x4
11744    field public static final int BANDWIDTH_8MHZ = 8; // 0x8
11745    field public static final int BANDWIDTH_UNDEFINED = 0; // 0x0
11746    field public static final int MODULATION_AUTO = 1; // 0x1
11747    field public static final int MODULATION_MOD_128QAM = 16; // 0x10
11748    field public static final int MODULATION_MOD_16QAM = 2; // 0x2
11749    field public static final int MODULATION_MOD_256QAM = 32; // 0x20
11750    field public static final int MODULATION_MOD_32QAM = 4; // 0x4
11751    field public static final int MODULATION_MOD_64QAM = 8; // 0x8
11752    field public static final int MODULATION_UNDEFINED = 0; // 0x0
11753    field public static final int OUTER_FEC_OUTER_FEC_NONE = 1; // 0x1
11754    field public static final int OUTER_FEC_OUTER_FEC_RS = 2; // 0x2
11755    field public static final int OUTER_FEC_UNDEFINED = 0; // 0x0
11756    field @Deprecated public static final int SPECTRAL_INVERSION_INVERTED = 2; // 0x2
11757    field @Deprecated public static final int SPECTRAL_INVERSION_NORMAL = 1; // 0x1
11758    field @Deprecated public static final int SPECTRAL_INVERSION_UNDEFINED = 0; // 0x0
11759    field public static final int TIME_INTERLEAVE_MODE_128_1_0 = 2; // 0x2
11760    field public static final int TIME_INTERLEAVE_MODE_128_1_1 = 4; // 0x4
11761    field public static final int TIME_INTERLEAVE_MODE_128_2 = 128; // 0x80
11762    field public static final int TIME_INTERLEAVE_MODE_128_3 = 256; // 0x100
11763    field public static final int TIME_INTERLEAVE_MODE_128_4 = 512; // 0x200
11764    field public static final int TIME_INTERLEAVE_MODE_16_8 = 32; // 0x20
11765    field public static final int TIME_INTERLEAVE_MODE_32_4 = 16; // 0x10
11766    field public static final int TIME_INTERLEAVE_MODE_64_2 = 8; // 0x8
11767    field public static final int TIME_INTERLEAVE_MODE_8_16 = 64; // 0x40
11768    field public static final int TIME_INTERLEAVE_MODE_AUTO = 1; // 0x1
11769    field public static final int TIME_INTERLEAVE_MODE_UNDEFINED = 0; // 0x0
11770  }
11771
11772  public static class DvbcFrontendSettings.Builder {
11773    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings build();
11774    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setAnnex(int);
11775    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setBandwidth(int);
11776    method @Deprecated @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setFrequency(int);
11777    method @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setFrequencyLong(long);
11778    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setInnerFec(long);
11779    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setModulation(int);
11780    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setOuterFec(int);
11781    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setSpectralInversion(int);
11782    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setSymbolRate(int);
11783    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setTimeInterleaveMode(int);
11784  }
11785
11786  public class DvbsCodeRate {
11787    method @NonNull public static android.media.tv.tuner.frontend.DvbsCodeRate.Builder builder();
11788    method public int getBitsPer1000Symbol();
11789    method public long getInnerFec();
11790    method public boolean isLinear();
11791    method public boolean isShortFrameEnabled();
11792  }
11793
11794  public static class DvbsCodeRate.Builder {
11795    method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate build();
11796    method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate.Builder setBitsPer1000Symbol(int);
11797    method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate.Builder setInnerFec(long);
11798    method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate.Builder setLinear(boolean);
11799    method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate.Builder setShortFrameEnabled(boolean);
11800  }
11801
11802  public class DvbsFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
11803    method public long getInnerFecCapability();
11804    method public int getModulationCapability();
11805    method public int getStandardCapability();
11806  }
11807
11808  public class DvbsFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
11809    method @NonNull public static android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder builder();
11810    method public boolean canHandleDiseqcRxMessage();
11811    method @Nullable public android.media.tv.tuner.frontend.DvbsCodeRate getCodeRate();
11812    method public int getInputStreamId();
11813    method public int getModulation();
11814    method public int getPilot();
11815    method public int getRolloff();
11816    method public int getScanType();
11817    method public int getStandard();
11818    method public int getSymbolRate();
11819    method public int getType();
11820    method public int getVcmMode();
11821    field public static final int MODULATION_AUTO = 1; // 0x1
11822    field public static final int MODULATION_MOD_128APSK = 2048; // 0x800
11823    field public static final int MODULATION_MOD_16APSK = 256; // 0x100
11824    field public static final int MODULATION_MOD_16PSK = 16; // 0x10
11825    field public static final int MODULATION_MOD_16QAM = 8; // 0x8
11826    field public static final int MODULATION_MOD_256APSK = 4096; // 0x1000
11827    field public static final int MODULATION_MOD_32APSK = 512; // 0x200
11828    field public static final int MODULATION_MOD_32PSK = 32; // 0x20
11829    field public static final int MODULATION_MOD_64APSK = 1024; // 0x400
11830    field public static final int MODULATION_MOD_8APSK = 128; // 0x80
11831    field public static final int MODULATION_MOD_8PSK = 4; // 0x4
11832    field public static final int MODULATION_MOD_ACM = 64; // 0x40
11833    field public static final int MODULATION_MOD_QPSK = 2; // 0x2
11834    field public static final int MODULATION_MOD_RESERVED = 8192; // 0x2000
11835    field public static final int MODULATION_UNDEFINED = 0; // 0x0
11836    field public static final int PILOT_AUTO = 3; // 0x3
11837    field public static final int PILOT_OFF = 2; // 0x2
11838    field public static final int PILOT_ON = 1; // 0x1
11839    field public static final int PILOT_UNDEFINED = 0; // 0x0
11840    field public static final int ROLLOFF_0_10 = 5; // 0x5
11841    field public static final int ROLLOFF_0_15 = 4; // 0x4
11842    field public static final int ROLLOFF_0_20 = 3; // 0x3
11843    field public static final int ROLLOFF_0_25 = 2; // 0x2
11844    field public static final int ROLLOFF_0_35 = 1; // 0x1
11845    field public static final int ROLLOFF_0_5 = 6; // 0x6
11846    field public static final int ROLLOFF_UNDEFINED = 0; // 0x0
11847    field public static final int SCAN_TYPE_DIRECT = 1; // 0x1
11848    field public static final int SCAN_TYPE_DISEQC = 2; // 0x2
11849    field public static final int SCAN_TYPE_JESS = 4; // 0x4
11850    field public static final int SCAN_TYPE_UNDEFINED = 0; // 0x0
11851    field public static final int SCAN_TYPE_UNICABLE = 3; // 0x3
11852    field public static final int STANDARD_AUTO = 1; // 0x1
11853    field public static final int STANDARD_S = 2; // 0x2
11854    field public static final int STANDARD_S2 = 4; // 0x4
11855    field public static final int STANDARD_S2X = 8; // 0x8
11856    field public static final int VCM_MODE_AUTO = 1; // 0x1
11857    field public static final int VCM_MODE_MANUAL = 2; // 0x2
11858    field public static final int VCM_MODE_UNDEFINED = 0; // 0x0
11859  }
11860
11861  public static class DvbsFrontendSettings.Builder {
11862    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings build();
11863    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setCanHandleDiseqcRxMessage(boolean);
11864    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setCodeRate(@Nullable android.media.tv.tuner.frontend.DvbsCodeRate);
11865    method @Deprecated @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setFrequency(int);
11866    method @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setFrequencyLong(long);
11867    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setInputStreamId(int);
11868    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setModulation(int);
11869    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setPilot(int);
11870    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setRolloff(int);
11871    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setScanType(int);
11872    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setStandard(int);
11873    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setSymbolRate(int);
11874    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setVcmMode(int);
11875  }
11876
11877  public class DvbtFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
11878    method public int getBandwidthCapability();
11879    method public int getCodeRateCapability();
11880    method public int getConstellationCapability();
11881    method public int getGuardIntervalCapability();
11882    method public int getHierarchyCapability();
11883    method public int getTransmissionModeCapability();
11884    method public boolean isMisoSupported();
11885    method public boolean isT2Supported();
11886  }
11887
11888  public class DvbtFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
11889    method @NonNull public static android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder builder();
11890    method public int getBandwidth();
11891    method public int getConstellation();
11892    method public int getGuardInterval();
11893    method public int getHierarchy();
11894    method public int getHighPriorityCodeRate();
11895    method public int getLowPriorityCodeRate();
11896    method public int getPlpGroupId();
11897    method public int getPlpId();
11898    method public int getPlpMode();
11899    method public int getStandard();
11900    method public int getTransmissionMode();
11901    method public int getType();
11902    method public boolean isHighPriority();
11903    method public boolean isMiso();
11904    field public static final int BANDWIDTH_10MHZ = 64; // 0x40
11905    field public static final int BANDWIDTH_1_7MHZ = 32; // 0x20
11906    field public static final int BANDWIDTH_5MHZ = 16; // 0x10
11907    field public static final int BANDWIDTH_6MHZ = 8; // 0x8
11908    field public static final int BANDWIDTH_7MHZ = 4; // 0x4
11909    field public static final int BANDWIDTH_8MHZ = 2; // 0x2
11910    field public static final int BANDWIDTH_AUTO = 1; // 0x1
11911    field public static final int BANDWIDTH_UNDEFINED = 0; // 0x0
11912    field public static final int CODERATE_1_2 = 2; // 0x2
11913    field public static final int CODERATE_2_3 = 4; // 0x4
11914    field public static final int CODERATE_3_4 = 8; // 0x8
11915    field public static final int CODERATE_3_5 = 64; // 0x40
11916    field public static final int CODERATE_4_5 = 128; // 0x80
11917    field public static final int CODERATE_5_6 = 16; // 0x10
11918    field public static final int CODERATE_6_7 = 256; // 0x100
11919    field public static final int CODERATE_7_8 = 32; // 0x20
11920    field public static final int CODERATE_8_9 = 512; // 0x200
11921    field public static final int CODERATE_AUTO = 1; // 0x1
11922    field public static final int CODERATE_UNDEFINED = 0; // 0x0
11923    field public static final int CONSTELLATION_16QAM = 4; // 0x4
11924    field public static final int CONSTELLATION_16QAM_R = 64; // 0x40
11925    field public static final int CONSTELLATION_256QAM = 16; // 0x10
11926    field public static final int CONSTELLATION_256QAM_R = 256; // 0x100
11927    field public static final int CONSTELLATION_64QAM = 8; // 0x8
11928    field public static final int CONSTELLATION_64QAM_R = 128; // 0x80
11929    field public static final int CONSTELLATION_AUTO = 1; // 0x1
11930    field public static final int CONSTELLATION_QPSK = 2; // 0x2
11931    field public static final int CONSTELLATION_QPSK_R = 32; // 0x20
11932    field public static final int CONSTELLATION_UNDEFINED = 0; // 0x0
11933    field public static final int GUARD_INTERVAL_19_128 = 64; // 0x40
11934    field public static final int GUARD_INTERVAL_19_256 = 128; // 0x80
11935    field public static final int GUARD_INTERVAL_1_128 = 32; // 0x20
11936    field public static final int GUARD_INTERVAL_1_16 = 4; // 0x4
11937    field public static final int GUARD_INTERVAL_1_32 = 2; // 0x2
11938    field public static final int GUARD_INTERVAL_1_4 = 16; // 0x10
11939    field public static final int GUARD_INTERVAL_1_8 = 8; // 0x8
11940    field public static final int GUARD_INTERVAL_AUTO = 1; // 0x1
11941    field public static final int GUARD_INTERVAL_UNDEFINED = 0; // 0x0
11942    field public static final int HIERARCHY_1_INDEPTH = 64; // 0x40
11943    field public static final int HIERARCHY_1_NATIVE = 4; // 0x4
11944    field public static final int HIERARCHY_2_INDEPTH = 128; // 0x80
11945    field public static final int HIERARCHY_2_NATIVE = 8; // 0x8
11946    field public static final int HIERARCHY_4_INDEPTH = 256; // 0x100
11947    field public static final int HIERARCHY_4_NATIVE = 16; // 0x10
11948    field public static final int HIERARCHY_AUTO = 1; // 0x1
11949    field public static final int HIERARCHY_NON_INDEPTH = 32; // 0x20
11950    field public static final int HIERARCHY_NON_NATIVE = 2; // 0x2
11951    field public static final int HIERARCHY_UNDEFINED = 0; // 0x0
11952    field public static final int PLP_MODE_AUTO = 1; // 0x1
11953    field public static final int PLP_MODE_MANUAL = 2; // 0x2
11954    field public static final int PLP_MODE_UNDEFINED = 0; // 0x0
11955    field public static final int STANDARD_AUTO = 1; // 0x1
11956    field public static final int STANDARD_T = 2; // 0x2
11957    field public static final int STANDARD_T2 = 4; // 0x4
11958    field public static final int TRANSMISSION_MODE_16K = 32; // 0x20
11959    field public static final int TRANSMISSION_MODE_1K = 16; // 0x10
11960    field public static final int TRANSMISSION_MODE_2K = 2; // 0x2
11961    field public static final int TRANSMISSION_MODE_32K = 64; // 0x40
11962    field public static final int TRANSMISSION_MODE_4K = 8; // 0x8
11963    field public static final int TRANSMISSION_MODE_8K = 4; // 0x4
11964    field public static final int TRANSMISSION_MODE_AUTO = 1; // 0x1
11965    field public static final int TRANSMISSION_MODE_EXTENDED_16K = 256; // 0x100
11966    field public static final int TRANSMISSION_MODE_EXTENDED_32K = 512; // 0x200
11967    field public static final int TRANSMISSION_MODE_EXTENDED_8K = 128; // 0x80
11968    field public static final int TRANSMISSION_MODE_UNDEFINED = 0; // 0x0
11969  }
11970
11971  public static class DvbtFrontendSettings.Builder {
11972    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings build();
11973    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setBandwidth(int);
11974    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setConstellation(int);
11975    method @Deprecated @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setFrequency(int);
11976    method @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setFrequencyLong(long);
11977    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setGuardInterval(int);
11978    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setHierarchy(int);
11979    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setHighPriority(boolean);
11980    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setHighPriorityCodeRate(int);
11981    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setLowPriorityCodeRate(int);
11982    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setMiso(boolean);
11983    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setPlpGroupId(int);
11984    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setPlpId(int);
11985    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setPlpMode(int);
11986    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setStandard(int);
11987    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setTransmissionMode(int);
11988  }
11989
11990  public abstract class FrontendCapabilities {
11991    ctor public FrontendCapabilities();
11992  }
11993
11994  public class FrontendInfo {
11995    method @Deprecated public int getAcquireRange();
11996    method public long getAcquireRangeLong();
11997    method public int getExclusiveGroupId();
11998    method @Deprecated @NonNull public android.util.Range<java.lang.Integer> getFrequencyRange();
11999    method @NonNull public android.util.Range<java.lang.Long> getFrequencyRangeLong();
12000    method @NonNull public android.media.tv.tuner.frontend.FrontendCapabilities getFrontendCapabilities();
12001    method public int getId();
12002    method @NonNull public int[] getStatusCapabilities();
12003    method @NonNull public android.util.Range<java.lang.Integer> getSymbolRateRange();
12004    method public int getType();
12005  }
12006
12007  public abstract class FrontendSettings {
12008    method @Deprecated @IntRange(from=1) public int getEndFrequency();
12009    method @IntRange(from=1) public long getEndFrequencyLong();
12010    method @Deprecated public int getFrequency();
12011    method public long getFrequencyLong();
12012    method public int getFrontendSpectralInversion();
12013    method public abstract int getType();
12014    method @Deprecated @IntRange(from=1) public void setEndFrequency(int);
12015    method @IntRange(from=1) public void setEndFrequencyLong(long);
12016    method public void setSpectralInversion(int);
12017    field public static final long FEC_11_15 = 4194304L; // 0x400000L
12018    field public static final long FEC_11_20 = 8388608L; // 0x800000L
12019    field public static final long FEC_11_45 = 16777216L; // 0x1000000L
12020    field public static final long FEC_13_18 = 33554432L; // 0x2000000L
12021    field public static final long FEC_13_45 = 67108864L; // 0x4000000L
12022    field public static final long FEC_14_45 = 134217728L; // 0x8000000L
12023    field public static final long FEC_1_2 = 2L; // 0x2L
12024    field public static final long FEC_1_3 = 4L; // 0x4L
12025    field public static final long FEC_1_4 = 8L; // 0x8L
12026    field public static final long FEC_1_5 = 16L; // 0x10L
12027    field public static final long FEC_23_36 = 268435456L; // 0x10000000L
12028    field public static final long FEC_25_36 = 536870912L; // 0x20000000L
12029    field public static final long FEC_26_45 = 1073741824L; // 0x40000000L
12030    field public static final long FEC_28_45 = 2147483648L; // 0x80000000L
12031    field public static final long FEC_29_45 = 4294967296L; // 0x100000000L
12032    field public static final long FEC_2_3 = 32L; // 0x20L
12033    field public static final long FEC_2_5 = 64L; // 0x40L
12034    field public static final long FEC_2_9 = 128L; // 0x80L
12035    field public static final long FEC_31_45 = 8589934592L; // 0x200000000L
12036    field public static final long FEC_32_45 = 17179869184L; // 0x400000000L
12037    field public static final long FEC_3_4 = 256L; // 0x100L
12038    field public static final long FEC_3_5 = 512L; // 0x200L
12039    field public static final long FEC_4_15 = 2048L; // 0x800L
12040    field public static final long FEC_4_5 = 1024L; // 0x400L
12041    field public static final long FEC_5_6 = 4096L; // 0x1000L
12042    field public static final long FEC_5_9 = 8192L; // 0x2000L
12043    field public static final long FEC_6_7 = 16384L; // 0x4000L
12044    field public static final long FEC_77_90 = 34359738368L; // 0x800000000L
12045    field public static final long FEC_7_15 = 131072L; // 0x20000L
12046    field public static final long FEC_7_8 = 32768L; // 0x8000L
12047    field public static final long FEC_7_9 = 65536L; // 0x10000L
12048    field public static final long FEC_8_15 = 524288L; // 0x80000L
12049    field public static final long FEC_8_9 = 262144L; // 0x40000L
12050    field public static final long FEC_9_10 = 1048576L; // 0x100000L
12051    field public static final long FEC_9_20 = 2097152L; // 0x200000L
12052    field public static final long FEC_AUTO = 1L; // 0x1L
12053    field public static final long FEC_UNDEFINED = 0L; // 0x0L
12054    field public static final int FRONTEND_SPECTRAL_INVERSION_INVERTED = 2; // 0x2
12055    field public static final int FRONTEND_SPECTRAL_INVERSION_NORMAL = 1; // 0x1
12056    field public static final int FRONTEND_SPECTRAL_INVERSION_UNDEFINED = 0; // 0x0
12057    field public static final int TYPE_ANALOG = 1; // 0x1
12058    field public static final int TYPE_ATSC = 2; // 0x2
12059    field public static final int TYPE_ATSC3 = 3; // 0x3
12060    field public static final int TYPE_DTMB = 10; // 0xa
12061    field public static final int TYPE_DVBC = 4; // 0x4
12062    field public static final int TYPE_DVBS = 5; // 0x5
12063    field public static final int TYPE_DVBT = 6; // 0x6
12064    field public static final int TYPE_IPTV = 11; // 0xb
12065    field public static final int TYPE_ISDBS = 7; // 0x7
12066    field public static final int TYPE_ISDBS3 = 8; // 0x8
12067    field public static final int TYPE_ISDBT = 9; // 0x9
12068    field public static final int TYPE_UNDEFINED = 0; // 0x0
12069  }
12070
12071  public class FrontendStatus {
12072    method public int getAgc();
12073    method @NonNull public java.util.List<android.media.tv.tuner.frontend.Atsc3PlpInfo> getAllAtsc3PlpInfo();
12074    method @NonNull public android.media.tv.tuner.frontend.FrontendStatus.Atsc3PlpTuningInfo[] getAtsc3PlpTuningInfo();
12075    method public int getBandwidth();
12076    method public int getBer();
12077    method @NonNull public int[] getBers();
12078    method @NonNull public int[] getCodeRates();
12079    method @NonNull public int[] getDvbtCellIds();
12080    method @NonNull public int[] getExtendedModulations();
12081    method @Deprecated public int getFreqOffset();
12082    method public long getFreqOffsetLong();
12083    method public int getGuardInterval();
12084    method public int getHierarchy();
12085    method public long getInnerFec();
12086    method @NonNull public int[] getInterleaving();
12087    method @IntRange(from=0) public int getIptvAverageJitterMillis();
12088    method @NonNull public String getIptvContentUrl();
12089    method @IntRange(from=0) public long getIptvPacketsLost();
12090    method @IntRange(from=0) public long getIptvPacketsReceived();
12091    method @IntRange(from=0) public int getIptvWorstJitterMillis();
12092    method public int getIsdbtMode();
12093    method public int getIsdbtPartialReceptionFlag();
12094    method @NonNull @IntRange(from=0, to=255) public int[] getIsdbtSegment();
12095    method @NonNull public boolean[] getLayerErrors();
12096    method public int getLnbVoltage();
12097    method public int getMer();
12098    method public int getModulation();
12099    method public int getPer();
12100    method public int getPerBer();
12101    method public int getPlpId();
12102    method public int getRollOff();
12103    method public int getSignalQuality();
12104    method public int getSignalStrength();
12105    method public int getSnr();
12106    method public int getSpectralInversion();
12107    method @NonNull public int[] getStreamIds();
12108    method public int getSymbolRate();
12109    method @IntRange(from=0, to=65535) public int getSystemId();
12110    method public int getTransmissionMode();
12111    method @NonNull public int[] getTsDataRate();
12112    method public int getUec();
12113    method public boolean isDemodLocked();
12114    method public boolean isEwbs();
12115    method public boolean isLinear();
12116    method public boolean isLnaOn();
12117    method public boolean isMisoEnabled();
12118    method public boolean isRfLocked();
12119    method public boolean isShortFramesEnabled();
12120    field public static final int FRONTEND_STATUS_TYPE_AGC = 14; // 0xe
12121    field public static final int FRONTEND_STATUS_TYPE_ATSC3_ALL_PLP_INFO = 41; // 0x29
12122    field public static final int FRONTEND_STATUS_TYPE_ATSC3_PLP_INFO = 21; // 0x15
12123    field public static final int FRONTEND_STATUS_TYPE_BANDWIDTH = 25; // 0x19
12124    field public static final int FRONTEND_STATUS_TYPE_BER = 2; // 0x2
12125    field public static final int FRONTEND_STATUS_TYPE_BERS = 23; // 0x17
12126    field public static final int FRONTEND_STATUS_TYPE_CODERATES = 24; // 0x18
12127    field public static final int FRONTEND_STATUS_TYPE_DEMOD_LOCK = 0; // 0x0
12128    field public static final int FRONTEND_STATUS_TYPE_DVBT_CELL_IDS = 40; // 0x28
12129    field public static final int FRONTEND_STATUS_TYPE_EWBS = 13; // 0xd
12130    field public static final int FRONTEND_STATUS_TYPE_FEC = 8; // 0x8
12131    field public static final int FRONTEND_STATUS_TYPE_FREQ_OFFSET = 18; // 0x12
12132    field public static final int FRONTEND_STATUS_TYPE_GUARD_INTERVAL = 26; // 0x1a
12133    field public static final int FRONTEND_STATUS_TYPE_HIERARCHY = 19; // 0x13
12134    field public static final int FRONTEND_STATUS_TYPE_INTERLEAVINGS = 30; // 0x1e
12135    field public static final int FRONTEND_STATUS_TYPE_IPTV_AVERAGE_JITTER_MS = 46; // 0x2e
12136    field public static final int FRONTEND_STATUS_TYPE_IPTV_CONTENT_URL = 42; // 0x2a
12137    field public static final int FRONTEND_STATUS_TYPE_IPTV_PACKETS_LOST = 43; // 0x2b
12138    field public static final int FRONTEND_STATUS_TYPE_IPTV_PACKETS_RECEIVED = 44; // 0x2c
12139    field public static final int FRONTEND_STATUS_TYPE_IPTV_WORST_JITTER_MS = 45; // 0x2d
12140    field public static final int FRONTEND_STATUS_TYPE_ISDBT_MODE = 37; // 0x25
12141    field public static final int FRONTEND_STATUS_TYPE_ISDBT_PARTIAL_RECEPTION_FLAG = 38; // 0x26
12142    field public static final int FRONTEND_STATUS_TYPE_ISDBT_SEGMENTS = 31; // 0x1f
12143    field public static final int FRONTEND_STATUS_TYPE_IS_LINEAR = 35; // 0x23
12144    field public static final int FRONTEND_STATUS_TYPE_IS_MISO_ENABLED = 34; // 0x22
12145    field public static final int FRONTEND_STATUS_TYPE_IS_SHORT_FRAMES_ENABLED = 36; // 0x24
12146    field public static final int FRONTEND_STATUS_TYPE_LAYER_ERROR = 16; // 0x10
12147    field public static final int FRONTEND_STATUS_TYPE_LNA = 15; // 0xf
12148    field public static final int FRONTEND_STATUS_TYPE_LNB_VOLTAGE = 11; // 0xb
12149    field public static final int FRONTEND_STATUS_TYPE_MER = 17; // 0x11
12150    field public static final int FRONTEND_STATUS_TYPE_MODULATION = 9; // 0x9
12151    field public static final int FRONTEND_STATUS_TYPE_MODULATIONS_EXT = 22; // 0x16
12152    field public static final int FRONTEND_STATUS_TYPE_PER = 3; // 0x3
12153    field public static final int FRONTEND_STATUS_TYPE_PLP_ID = 12; // 0xc
12154    field public static final int FRONTEND_STATUS_TYPE_PRE_BER = 4; // 0x4
12155    field public static final int FRONTEND_STATUS_TYPE_RF_LOCK = 20; // 0x14
12156    field public static final int FRONTEND_STATUS_TYPE_ROLL_OFF = 33; // 0x21
12157    field public static final int FRONTEND_STATUS_TYPE_SIGNAL_QUALITY = 5; // 0x5
12158    field public static final int FRONTEND_STATUS_TYPE_SIGNAL_STRENGTH = 6; // 0x6
12159    field public static final int FRONTEND_STATUS_TYPE_SNR = 1; // 0x1
12160    field public static final int FRONTEND_STATUS_TYPE_SPECTRAL = 10; // 0xa
12161    field public static final int FRONTEND_STATUS_TYPE_STREAM_IDS = 39; // 0x27
12162    field public static final int FRONTEND_STATUS_TYPE_SYMBOL_RATE = 7; // 0x7
12163    field public static final int FRONTEND_STATUS_TYPE_T2_SYSTEM_ID = 29; // 0x1d
12164    field public static final int FRONTEND_STATUS_TYPE_TRANSMISSION_MODE = 27; // 0x1b
12165    field public static final int FRONTEND_STATUS_TYPE_TS_DATA_RATES = 32; // 0x20
12166    field public static final int FRONTEND_STATUS_TYPE_UEC = 28; // 0x1c
12167  }
12168
12169  public static class FrontendStatus.Atsc3PlpTuningInfo {
12170    method public int getPlpId();
12171    method public int getUec();
12172    method public boolean isLocked();
12173  }
12174
12175  public final class FrontendStatusReadiness {
12176    method public int getStatusReadiness();
12177    method public int getStatusType();
12178    field public static final int FRONTEND_STATUS_READINESS_STABLE = 3; // 0x3
12179    field public static final int FRONTEND_STATUS_READINESS_UNAVAILABLE = 1; // 0x1
12180    field public static final int FRONTEND_STATUS_READINESS_UNDEFINED = 0; // 0x0
12181    field public static final int FRONTEND_STATUS_READINESS_UNSTABLE = 2; // 0x2
12182    field public static final int FRONTEND_STATUS_READINESS_UNSUPPORTED = 4; // 0x4
12183  }
12184
12185  public class IptvFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
12186    method public int getProtocolCapability();
12187  }
12188
12189  public final class IptvFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
12190    method @IntRange(from=0) public long getBitrate();
12191    method @NonNull public String getContentUrl();
12192    method @NonNull @Size(min=4, max=16) public byte[] getDstIpAddress();
12193    method public int getDstPort();
12194    method @Nullable public android.media.tv.tuner.frontend.IptvFrontendSettingsFec getFec();
12195    method public int getIgmp();
12196    method public int getProtocol();
12197    method @NonNull @Size(min=4, max=16) public byte[] getSrcIpAddress();
12198    method public int getSrcPort();
12199    method public int getType();
12200    field public static final int IGMP_UNDEFINED = 0; // 0x0
12201    field public static final int IGMP_V1 = 1; // 0x1
12202    field public static final int IGMP_V2 = 2; // 0x2
12203    field public static final int IGMP_V3 = 4; // 0x4
12204    field public static final int PROTOCOL_RTP = 2; // 0x2
12205    field public static final int PROTOCOL_UDP = 1; // 0x1
12206    field public static final int PROTOCOL_UNDEFINED = 0; // 0x0
12207  }
12208
12209  public static final class IptvFrontendSettings.Builder {
12210    ctor public IptvFrontendSettings.Builder();
12211    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettings build();
12212    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettings.Builder setBitrate(@IntRange(from=0) long);
12213    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettings.Builder setContentUrl(@NonNull String);
12214    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettings.Builder setDstIpAddress(@NonNull byte[]);
12215    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettings.Builder setDstPort(int);
12216    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettings.Builder setFec(@Nullable android.media.tv.tuner.frontend.IptvFrontendSettingsFec);
12217    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettings.Builder setIgmp(int);
12218    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettings.Builder setProtocol(int);
12219    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettings.Builder setSrcIpAddress(@NonNull byte[]);
12220    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettings.Builder setSrcPort(int);
12221  }
12222
12223  public final class IptvFrontendSettingsFec {
12224    method @IntRange(from=0) public int getFecColNum();
12225    method @IntRange(from=0) public int getFecRowNum();
12226    method public int getFecType();
12227    field public static final int FEC_TYPE_COLUMN = 1; // 0x1
12228    field public static final int FEC_TYPE_COLUMN_ROW = 4; // 0x4
12229    field public static final int FEC_TYPE_ROW = 2; // 0x2
12230    field public static final int FEC_TYPE_UNDEFINED = 0; // 0x0
12231  }
12232
12233  public static final class IptvFrontendSettingsFec.Builder {
12234    ctor public IptvFrontendSettingsFec.Builder();
12235    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettingsFec build();
12236    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettingsFec.Builder setFecColNum(@IntRange(from=0) int);
12237    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettingsFec.Builder setFecRowNum(@IntRange(from=0) int);
12238    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettingsFec.Builder setFecType(int);
12239  }
12240
12241  public class Isdbs3FrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
12242    method public int getCodeRateCapability();
12243    method public int getModulationCapability();
12244  }
12245
12246  public class Isdbs3FrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
12247    method @NonNull public static android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder builder();
12248    method public int getCodeRate();
12249    method public int getModulation();
12250    method public int getRolloff();
12251    method public int getStreamId();
12252    method public int getStreamIdType();
12253    method public int getSymbolRate();
12254    method public int getType();
12255    field public static final int CODERATE_1_2 = 8; // 0x8
12256    field public static final int CODERATE_1_3 = 2; // 0x2
12257    field public static final int CODERATE_2_3 = 32; // 0x20
12258    field public static final int CODERATE_2_5 = 4; // 0x4
12259    field public static final int CODERATE_3_4 = 64; // 0x40
12260    field public static final int CODERATE_3_5 = 16; // 0x10
12261    field public static final int CODERATE_4_5 = 256; // 0x100
12262    field public static final int CODERATE_5_6 = 512; // 0x200
12263    field public static final int CODERATE_7_8 = 1024; // 0x400
12264    field public static final int CODERATE_7_9 = 128; // 0x80
12265    field public static final int CODERATE_9_10 = 2048; // 0x800
12266    field public static final int CODERATE_AUTO = 1; // 0x1
12267    field public static final int CODERATE_UNDEFINED = 0; // 0x0
12268    field public static final int MODULATION_AUTO = 1; // 0x1
12269    field public static final int MODULATION_MOD_16APSK = 16; // 0x10
12270    field public static final int MODULATION_MOD_32APSK = 32; // 0x20
12271    field public static final int MODULATION_MOD_8PSK = 8; // 0x8
12272    field public static final int MODULATION_MOD_BPSK = 2; // 0x2
12273    field public static final int MODULATION_MOD_QPSK = 4; // 0x4
12274    field public static final int MODULATION_UNDEFINED = 0; // 0x0
12275    field public static final int ROLLOFF_0_03 = 1; // 0x1
12276    field public static final int ROLLOFF_UNDEFINED = 0; // 0x0
12277  }
12278
12279  public static class Isdbs3FrontendSettings.Builder {
12280    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings build();
12281    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setCodeRate(int);
12282    method @Deprecated @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setFrequency(int);
12283    method @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setFrequencyLong(long);
12284    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setModulation(int);
12285    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setRolloff(int);
12286    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setStreamId(int);
12287    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setStreamIdType(int);
12288    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setSymbolRate(int);
12289  }
12290
12291  public class IsdbsFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
12292    method public int getCodeRateCapability();
12293    method public int getModulationCapability();
12294  }
12295
12296  public class IsdbsFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
12297    method @NonNull public static android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder builder();
12298    method public int getCodeRate();
12299    method public int getModulation();
12300    method public int getRolloff();
12301    method public int getStreamId();
12302    method public int getStreamIdType();
12303    method public int getSymbolRate();
12304    method public int getType();
12305    field public static final int CODERATE_1_2 = 2; // 0x2
12306    field public static final int CODERATE_2_3 = 4; // 0x4
12307    field public static final int CODERATE_3_4 = 8; // 0x8
12308    field public static final int CODERATE_5_6 = 16; // 0x10
12309    field public static final int CODERATE_7_8 = 32; // 0x20
12310    field public static final int CODERATE_AUTO = 1; // 0x1
12311    field public static final int CODERATE_UNDEFINED = 0; // 0x0
12312    field public static final int MODULATION_AUTO = 1; // 0x1
12313    field public static final int MODULATION_MOD_BPSK = 2; // 0x2
12314    field public static final int MODULATION_MOD_QPSK = 4; // 0x4
12315    field public static final int MODULATION_MOD_TC8PSK = 8; // 0x8
12316    field public static final int MODULATION_UNDEFINED = 0; // 0x0
12317    field public static final int ROLLOFF_0_35 = 1; // 0x1
12318    field public static final int ROLLOFF_UNDEFINED = 0; // 0x0
12319    field public static final int STREAM_ID_TYPE_ID = 0; // 0x0
12320    field public static final int STREAM_ID_TYPE_RELATIVE_NUMBER = 1; // 0x1
12321  }
12322
12323  public static class IsdbsFrontendSettings.Builder {
12324    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings build();
12325    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setCodeRate(int);
12326    method @Deprecated @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setFrequency(int);
12327    method @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setFrequencyLong(long);
12328    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setModulation(int);
12329    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setRolloff(int);
12330    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setStreamId(int);
12331    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setStreamIdType(int);
12332    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setSymbolRate(int);
12333  }
12334
12335  public class IsdbtFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
12336    method public int getBandwidthCapability();
12337    method public int getCodeRateCapability();
12338    method public int getGuardIntervalCapability();
12339    method public int getModeCapability();
12340    method public int getModulationCapability();
12341    method public int getTimeInterleaveModeCapability();
12342    method public boolean isFullSegmentSupported();
12343    method public boolean isSegmentAutoSupported();
12344  }
12345
12346  public class IsdbtFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
12347    method @NonNull public static android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder builder();
12348    method public int getBandwidth();
12349    method @Deprecated public int getCodeRate();
12350    method public int getGuardInterval();
12351    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.IsdbtLayerSettings[] getLayerSettings();
12352    method public int getMode();
12353    method @Deprecated public int getModulation();
12354    method public int getPartialReceptionFlag();
12355    method public int getServiceAreaId();
12356    method public int getType();
12357    field public static final int BANDWIDTH_6MHZ = 8; // 0x8
12358    field public static final int BANDWIDTH_7MHZ = 4; // 0x4
12359    field public static final int BANDWIDTH_8MHZ = 2; // 0x2
12360    field public static final int BANDWIDTH_AUTO = 1; // 0x1
12361    field public static final int BANDWIDTH_UNDEFINED = 0; // 0x0
12362    field public static final int MODE_1 = 2; // 0x2
12363    field public static final int MODE_2 = 4; // 0x4
12364    field public static final int MODE_3 = 8; // 0x8
12365    field public static final int MODE_AUTO = 1; // 0x1
12366    field public static final int MODE_UNDEFINED = 0; // 0x0
12367    field public static final int MODULATION_AUTO = 1; // 0x1
12368    field public static final int MODULATION_MOD_16QAM = 8; // 0x8
12369    field public static final int MODULATION_MOD_64QAM = 16; // 0x10
12370    field public static final int MODULATION_MOD_DQPSK = 2; // 0x2
12371    field public static final int MODULATION_MOD_QPSK = 4; // 0x4
12372    field public static final int MODULATION_UNDEFINED = 0; // 0x0
12373    field public static final int PARTIAL_RECEPTION_FLAG_FALSE = 2; // 0x2
12374    field public static final int PARTIAL_RECEPTION_FLAG_TRUE = 4; // 0x4
12375    field public static final int PARTIAL_RECEPTION_FLAG_UNDEFINED = 0; // 0x0
12376    field public static final int TIME_INTERLEAVE_MODE_1_0 = 2; // 0x2
12377    field public static final int TIME_INTERLEAVE_MODE_1_16 = 16; // 0x10
12378    field public static final int TIME_INTERLEAVE_MODE_1_4 = 4; // 0x4
12379    field public static final int TIME_INTERLEAVE_MODE_1_8 = 8; // 0x8
12380    field public static final int TIME_INTERLEAVE_MODE_2_0 = 32; // 0x20
12381    field public static final int TIME_INTERLEAVE_MODE_2_2 = 64; // 0x40
12382    field public static final int TIME_INTERLEAVE_MODE_2_4 = 128; // 0x80
12383    field public static final int TIME_INTERLEAVE_MODE_2_8 = 256; // 0x100
12384    field public static final int TIME_INTERLEAVE_MODE_3_0 = 512; // 0x200
12385    field public static final int TIME_INTERLEAVE_MODE_3_1 = 1024; // 0x400
12386    field public static final int TIME_INTERLEAVE_MODE_3_2 = 2048; // 0x800
12387    field public static final int TIME_INTERLEAVE_MODE_3_4 = 4096; // 0x1000
12388    field public static final int TIME_INTERLEAVE_MODE_AUTO = 1; // 0x1
12389    field public static final int TIME_INTERLEAVE_MODE_UNDEFINED = 0; // 0x0
12390  }
12391
12392  public static class IsdbtFrontendSettings.Builder {
12393    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings build();
12394    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setBandwidth(int);
12395    method @Deprecated @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setCodeRate(int);
12396    method @Deprecated @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setFrequency(int);
12397    method @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setFrequencyLong(long);
12398    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setGuardInterval(int);
12399    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setLayerSettings(@NonNull android.media.tv.tuner.frontend.IsdbtFrontendSettings.IsdbtLayerSettings[]);
12400    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setMode(int);
12401    method @Deprecated @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setModulation(int);
12402    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setPartialReceptionFlag(int);
12403    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setServiceAreaId(int);
12404  }
12405
12406  public static final class IsdbtFrontendSettings.IsdbtLayerSettings {
12407    method @NonNull public static android.media.tv.tuner.frontend.IsdbtFrontendSettings.IsdbtLayerSettings.Builder builder();
12408    method public int getCodeRate();
12409    method public int getModulation();
12410    method @IntRange(from=0, to=255) public int getNumberOfSegments();
12411    method public int getTimeInterleaveMode();
12412  }
12413
12414  public static final class IsdbtFrontendSettings.IsdbtLayerSettings.Builder {
12415    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.IsdbtLayerSettings build();
12416    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.IsdbtLayerSettings.Builder setCodeRate(int);
12417    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.IsdbtLayerSettings.Builder setModulation(int);
12418    method @NonNull @IntRange(from=0, to=255) public android.media.tv.tuner.frontend.IsdbtFrontendSettings.IsdbtLayerSettings.Builder setNumberOfSegments(int);
12419    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.IsdbtLayerSettings.Builder setTimeInterleaveMode(int);
12420  }
12421
12422  public interface OnTuneEventListener {
12423    method public void onTuneEvent(int);
12424    field public static final int SIGNAL_LOCKED = 0; // 0x0
12425    field public static final int SIGNAL_LOST_LOCK = 2; // 0x2
12426    field public static final int SIGNAL_NO_SIGNAL = 1; // 0x1
12427  }
12428
12429  public interface ScanCallback {
12430    method public void onAnalogSifStandardReported(int);
12431    method public void onAtsc3PlpInfosReported(@NonNull android.media.tv.tuner.frontend.Atsc3PlpInfo[]);
12432    method public default void onDvbcAnnexReported(int);
12433    method public void onDvbsStandardReported(int);
12434    method public default void onDvbtCellIdsReported(@NonNull int[]);
12435    method public void onDvbtStandardReported(int);
12436    method public default void onFrequenciesLongReported(@NonNull long[]);
12437    method @Deprecated public void onFrequenciesReported(@NonNull int[]);
12438    method public void onGroupIdsReported(@NonNull int[]);
12439    method public void onHierarchyReported(int);
12440    method public void onInputStreamIdsReported(@NonNull int[]);
12441    method public void onLocked();
12442    method public default void onModulationReported(int);
12443    method public void onPlpIdsReported(@NonNull int[]);
12444    method public default void onPriorityReported(boolean);
12445    method public void onProgress(@IntRange(from=0, to=100) int);
12446    method public void onScanStopped();
12447    method public void onSignalTypeReported(int);
12448    method public void onSymbolRatesReported(@NonNull int[]);
12449    method public default void onUnlocked();
12450  }
12451
12452}
12453
12454package android.media.voice {
12455
12456  public final class KeyphraseModelManager {
12457    method @RequiresPermission(android.Manifest.permission.MANAGE_VOICE_KEYPHRASES) public void deleteKeyphraseSoundModel(int, @NonNull java.util.Locale);
12458    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_VOICE_KEYPHRASES) public android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel getKeyphraseSoundModel(int, @NonNull java.util.Locale);
12459    method @RequiresPermission(android.Manifest.permission.MANAGE_VOICE_KEYPHRASES) public void updateKeyphraseSoundModel(@NonNull android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel);
12460  }
12461
12462}
12463
12464package android.metrics {
12465
12466  public class LogMaker {
12467    ctor public LogMaker(int);
12468    ctor public LogMaker(Object[]);
12469    method public android.metrics.LogMaker addTaggedData(int, Object);
12470    method public android.metrics.LogMaker clearCategory();
12471    method public android.metrics.LogMaker clearPackageName();
12472    method public android.metrics.LogMaker clearSubtype();
12473    method public android.metrics.LogMaker clearTaggedData(int);
12474    method public android.metrics.LogMaker clearType();
12475    method public void deserialize(Object[]);
12476    method public int getCategory();
12477    method public long getCounterBucket();
12478    method public String getCounterName();
12479    method public int getCounterValue();
12480    method public String getPackageName();
12481    method public int getProcessId();
12482    method public int getSubtype();
12483    method public Object getTaggedData(int);
12484    method public long getTimestamp();
12485    method public int getType();
12486    method public int getUid();
12487    method public boolean isLongCounterBucket();
12488    method public boolean isSubsetOf(android.metrics.LogMaker);
12489    method public boolean isValidValue(Object);
12490    method public Object[] serialize();
12491    method public android.metrics.LogMaker setCategory(int);
12492    method public android.metrics.LogMaker setPackageName(String);
12493    method public android.metrics.LogMaker setSubtype(int);
12494    method public android.metrics.LogMaker setType(int);
12495  }
12496
12497  public class MetricsReader {
12498    ctor public MetricsReader();
12499    method public void checkpoint();
12500    method public boolean hasNext();
12501    method public android.metrics.LogMaker next();
12502    method public void read(long);
12503    method public void reset();
12504  }
12505
12506}
12507
12508package android.nearby {
12509
12510  public interface BroadcastCallback {
12511    method public void onStatusChanged(int);
12512    field public static final int STATUS_FAILURE = 1; // 0x1
12513    field public static final int STATUS_FAILURE_ALREADY_REGISTERED = 2; // 0x2
12514    field public static final int STATUS_FAILURE_MISSING_PERMISSIONS = 4; // 0x4
12515    field public static final int STATUS_FAILURE_SIZE_EXCEED_LIMIT = 3; // 0x3
12516    field public static final int STATUS_OK = 0; // 0x0
12517  }
12518
12519  public abstract class BroadcastRequest {
12520    method @NonNull public java.util.List<java.lang.Integer> getMediums();
12521    method @IntRange(from=0xffffff81, to=126) public int getTxPower();
12522    method public int getType();
12523    method public int getVersion();
12524    field public static final int BROADCAST_TYPE_NEARBY_PRESENCE = 3; // 0x3
12525    field public static final int BROADCAST_TYPE_UNKNOWN = -1; // 0xffffffff
12526    field public static final int MEDIUM_BLE = 1; // 0x1
12527    field public static final int PRESENCE_VERSION_UNKNOWN = -1; // 0xffffffff
12528    field public static final int PRESENCE_VERSION_V0 = 0; // 0x0
12529    field public static final int PRESENCE_VERSION_V1 = 1; // 0x1
12530    field public static final int UNKNOWN_TX_POWER = -127; // 0xffffff81
12531  }
12532
12533  public final class CredentialElement implements android.os.Parcelable {
12534    ctor public CredentialElement(@NonNull String, @NonNull byte[]);
12535    method public int describeContents();
12536    method @NonNull public String getKey();
12537    method @NonNull public byte[] getValue();
12538    method public void writeToParcel(@NonNull android.os.Parcel, int);
12539    field @NonNull public static final android.os.Parcelable.Creator<android.nearby.CredentialElement> CREATOR;
12540  }
12541
12542  public final class DataElement implements android.os.Parcelable {
12543    ctor public DataElement(int, @NonNull byte[]);
12544    method public int describeContents();
12545    method public int getKey();
12546    method @NonNull public byte[] getValue();
12547    method public void writeToParcel(@NonNull android.os.Parcel, int);
12548    field @NonNull public static final android.os.Parcelable.Creator<android.nearby.DataElement> CREATOR;
12549  }
12550
12551  public abstract class NearbyDevice {
12552    method @NonNull public java.util.List<java.lang.Integer> getMediums();
12553    method @Nullable public String getName();
12554    method @IntRange(from=0xffffff81, to=126) public int getRssi();
12555    method public static boolean isValidMedium(int);
12556  }
12557
12558  public class NearbyManager {
12559    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public int getPoweredOffFindingMode();
12560    method public void queryOffloadCapability(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.nearby.OffloadCapability>);
12561    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public void setPoweredOffFindingEphemeralIds(@NonNull java.util.List<byte[]>);
12562    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public void setPoweredOffFindingMode(int);
12563    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_ADVERTISE, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void startBroadcast(@NonNull android.nearby.BroadcastRequest, @NonNull java.util.concurrent.Executor, @NonNull android.nearby.BroadcastCallback);
12564    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int startScan(@NonNull android.nearby.ScanRequest, @NonNull java.util.concurrent.Executor, @NonNull android.nearby.ScanCallback);
12565    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_ADVERTISE, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void stopBroadcast(@NonNull android.nearby.BroadcastCallback);
12566    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void stopScan(@NonNull android.nearby.ScanCallback);
12567    field public static final int POWERED_OFF_FINDING_MODE_DISABLED = 1; // 0x1
12568    field public static final int POWERED_OFF_FINDING_MODE_ENABLED = 2; // 0x2
12569    field public static final int POWERED_OFF_FINDING_MODE_UNSUPPORTED = 0; // 0x0
12570  }
12571
12572  public final class OffloadCapability implements android.os.Parcelable {
12573    method public int describeContents();
12574    method public long getVersion();
12575    method public boolean isFastPairSupported();
12576    method public boolean isNearbyShareSupported();
12577    method public void writeToParcel(@NonNull android.os.Parcel, int);
12578    field @NonNull public static final android.os.Parcelable.Creator<android.nearby.OffloadCapability> CREATOR;
12579  }
12580
12581  public static final class OffloadCapability.Builder {
12582    ctor public OffloadCapability.Builder();
12583    method @NonNull public android.nearby.OffloadCapability build();
12584    method @NonNull public android.nearby.OffloadCapability.Builder setFastPairSupported(boolean);
12585    method @NonNull public android.nearby.OffloadCapability.Builder setNearbyShareSupported(boolean);
12586    method @NonNull public android.nearby.OffloadCapability.Builder setVersion(long);
12587  }
12588
12589  public final class PresenceBroadcastRequest extends android.nearby.BroadcastRequest implements android.os.Parcelable {
12590    method public int describeContents();
12591    method @NonNull public java.util.List<java.lang.Integer> getActions();
12592    method @NonNull public android.nearby.PrivateCredential getCredential();
12593    method @NonNull public java.util.List<android.nearby.DataElement> getExtendedProperties();
12594    method @NonNull public byte[] getSalt();
12595    method public void writeToParcel(@NonNull android.os.Parcel, int);
12596    field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PresenceBroadcastRequest> CREATOR;
12597  }
12598
12599  public static final class PresenceBroadcastRequest.Builder {
12600    ctor public PresenceBroadcastRequest.Builder(@NonNull java.util.List<java.lang.Integer>, @NonNull byte[], @NonNull android.nearby.PrivateCredential);
12601    method @NonNull public android.nearby.PresenceBroadcastRequest.Builder addAction(@IntRange(from=1, to=255) int);
12602    method @NonNull public android.nearby.PresenceBroadcastRequest.Builder addExtendedProperty(@NonNull android.nearby.DataElement);
12603    method @NonNull public android.nearby.PresenceBroadcastRequest build();
12604    method @NonNull public android.nearby.PresenceBroadcastRequest.Builder setTxPower(@IntRange(from=0xffffff81, to=126) int);
12605    method @NonNull public android.nearby.PresenceBroadcastRequest.Builder setVersion(int);
12606  }
12607
12608  public abstract class PresenceCredential {
12609    method @NonNull public byte[] getAuthenticityKey();
12610    method @NonNull public java.util.List<android.nearby.CredentialElement> getCredentialElements();
12611    method public int getIdentityType();
12612    method @NonNull public byte[] getSecretId();
12613    method public int getType();
12614    field public static final int CREDENTIAL_TYPE_PRIVATE = 0; // 0x0
12615    field public static final int CREDENTIAL_TYPE_PUBLIC = 1; // 0x1
12616    field public static final int IDENTITY_TYPE_PRIVATE = 1; // 0x1
12617    field public static final int IDENTITY_TYPE_PROVISIONED = 2; // 0x2
12618    field public static final int IDENTITY_TYPE_TRUSTED = 3; // 0x3
12619    field public static final int IDENTITY_TYPE_UNKNOWN = 0; // 0x0
12620  }
12621
12622  public final class PresenceDevice extends android.nearby.NearbyDevice implements android.os.Parcelable {
12623    method public int describeContents();
12624    method @NonNull public String getDeviceId();
12625    method @Nullable public String getDeviceImageUrl();
12626    method public int getDeviceType();
12627    method public long getDiscoveryTimestampMillis();
12628    method @NonNull public byte[] getEncryptedIdentity();
12629    method @NonNull public java.util.List<android.nearby.DataElement> getExtendedProperties();
12630    method @NonNull public byte[] getSalt();
12631    method @NonNull public byte[] getSecretId();
12632    method public void writeToParcel(@NonNull android.os.Parcel, int);
12633    field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PresenceDevice> CREATOR;
12634  }
12635
12636  public static final class PresenceDevice.Builder {
12637    ctor public PresenceDevice.Builder(@NonNull String, @NonNull byte[], @NonNull byte[], @NonNull byte[]);
12638    method @NonNull public android.nearby.PresenceDevice.Builder addExtendedProperty(@NonNull android.nearby.DataElement);
12639    method @NonNull public android.nearby.PresenceDevice.Builder addMedium(int);
12640    method @NonNull public android.nearby.PresenceDevice build();
12641    method @NonNull public android.nearby.PresenceDevice.Builder setDeviceImageUrl(@Nullable String);
12642    method @NonNull public android.nearby.PresenceDevice.Builder setDeviceType(int);
12643    method @NonNull public android.nearby.PresenceDevice.Builder setDiscoveryTimestampMillis(long);
12644    method @NonNull public android.nearby.PresenceDevice.Builder setName(@Nullable String);
12645    method @NonNull public android.nearby.PresenceDevice.Builder setRssi(int);
12646  }
12647
12648  public final class PresenceScanFilter extends android.nearby.ScanFilter implements android.os.Parcelable {
12649    method public int describeContents();
12650    method @NonNull public java.util.List<android.nearby.PublicCredential> getCredentials();
12651    method @NonNull public java.util.List<android.nearby.DataElement> getExtendedProperties();
12652    method @NonNull public java.util.List<java.lang.Integer> getPresenceActions();
12653    method public void writeToParcel(@NonNull android.os.Parcel, int);
12654    field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PresenceScanFilter> CREATOR;
12655  }
12656
12657  public static final class PresenceScanFilter.Builder {
12658    ctor public PresenceScanFilter.Builder();
12659    method @NonNull public android.nearby.PresenceScanFilter.Builder addCredential(@NonNull android.nearby.PublicCredential);
12660    method @NonNull public android.nearby.PresenceScanFilter.Builder addExtendedProperty(@NonNull android.nearby.DataElement);
12661    method @NonNull public android.nearby.PresenceScanFilter.Builder addPresenceAction(@IntRange(from=1, to=255) int);
12662    method @NonNull public android.nearby.PresenceScanFilter build();
12663    method @NonNull public android.nearby.PresenceScanFilter.Builder setMaxPathLoss(@IntRange(from=0, to=127) int);
12664  }
12665
12666  public final class PrivateCredential extends android.nearby.PresenceCredential implements android.os.Parcelable {
12667    method public int describeContents();
12668    method @NonNull public String getDeviceName();
12669    method @NonNull public byte[] getMetadataEncryptionKey();
12670    method public void writeToParcel(@NonNull android.os.Parcel, int);
12671    field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PrivateCredential> CREATOR;
12672  }
12673
12674  public static final class PrivateCredential.Builder {
12675    ctor public PrivateCredential.Builder(@NonNull byte[], @NonNull byte[], @NonNull byte[], @NonNull String);
12676    method @NonNull public android.nearby.PrivateCredential.Builder addCredentialElement(@NonNull android.nearby.CredentialElement);
12677    method @NonNull public android.nearby.PrivateCredential build();
12678    method @NonNull public android.nearby.PrivateCredential.Builder setIdentityType(int);
12679  }
12680
12681  public final class PublicCredential extends android.nearby.PresenceCredential implements android.os.Parcelable {
12682    method public int describeContents();
12683    method @NonNull public byte[] getEncryptedMetadata();
12684    method @NonNull public byte[] getEncryptedMetadataKeyTag();
12685    method @NonNull public byte[] getPublicKey();
12686    method public void writeToParcel(@NonNull android.os.Parcel, int);
12687    field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PublicCredential> CREATOR;
12688  }
12689
12690  public static final class PublicCredential.Builder {
12691    ctor public PublicCredential.Builder(@NonNull byte[], @NonNull byte[], @NonNull byte[], @NonNull byte[], @NonNull byte[]);
12692    method @NonNull public android.nearby.PublicCredential.Builder addCredentialElement(@NonNull android.nearby.CredentialElement);
12693    method @NonNull public android.nearby.PublicCredential build();
12694    method @NonNull public android.nearby.PublicCredential.Builder setIdentityType(int);
12695  }
12696
12697  public interface ScanCallback {
12698    method public void onDiscovered(@NonNull android.nearby.NearbyDevice);
12699    method public default void onError(int);
12700    method public void onLost(@NonNull android.nearby.NearbyDevice);
12701    method public void onUpdated(@NonNull android.nearby.NearbyDevice);
12702    field public static final int ERROR_INVALID_ARGUMENT = 2; // 0x2
12703    field public static final int ERROR_PERMISSION_DENIED = 3; // 0x3
12704    field public static final int ERROR_RESOURCE_EXHAUSTED = 4; // 0x4
12705    field public static final int ERROR_UNKNOWN = 0; // 0x0
12706    field public static final int ERROR_UNSUPPORTED = 1; // 0x1
12707  }
12708
12709  public abstract class ScanFilter {
12710    method @IntRange(from=0, to=127) public int getMaxPathLoss();
12711    method public int getType();
12712  }
12713
12714  public final class ScanRequest implements android.os.Parcelable {
12715    method public int describeContents();
12716    method @NonNull public java.util.List<android.nearby.ScanFilter> getScanFilters();
12717    method public int getScanMode();
12718    method public int getScanType();
12719    method @NonNull public android.os.WorkSource getWorkSource();
12720    method public boolean isBleEnabled();
12721    method public boolean isOffloadOnly();
12722    method public static boolean isValidScanMode(int);
12723    method public static boolean isValidScanType(int);
12724    method @NonNull public static String scanModeToString(int);
12725    method public void writeToParcel(@NonNull android.os.Parcel, int);
12726    field @NonNull public static final android.os.Parcelable.Creator<android.nearby.ScanRequest> CREATOR;
12727    field public static final int SCAN_MODE_BALANCED = 1; // 0x1
12728    field public static final int SCAN_MODE_LOW_LATENCY = 2; // 0x2
12729    field public static final int SCAN_MODE_LOW_POWER = 0; // 0x0
12730    field public static final int SCAN_MODE_NO_POWER = -1; // 0xffffffff
12731    field public static final int SCAN_TYPE_FAST_PAIR = 1; // 0x1
12732    field public static final int SCAN_TYPE_NEARBY_PRESENCE = 2; // 0x2
12733  }
12734
12735  public static final class ScanRequest.Builder {
12736    ctor public ScanRequest.Builder();
12737    method @NonNull public android.nearby.ScanRequest.Builder addScanFilter(@NonNull android.nearby.ScanFilter);
12738    method @NonNull public android.nearby.ScanRequest build();
12739    method @NonNull public android.nearby.ScanRequest.Builder setBleEnabled(boolean);
12740    method @NonNull public android.nearby.ScanRequest.Builder setOffloadOnly(boolean);
12741    method @NonNull public android.nearby.ScanRequest.Builder setScanMode(int);
12742    method @NonNull public android.nearby.ScanRequest.Builder setScanType(int);
12743    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public android.nearby.ScanRequest.Builder setWorkSource(@Nullable android.os.WorkSource);
12744  }
12745
12746}
12747
12748package android.net {
12749
12750  public class CaptivePortal implements android.os.Parcelable {
12751    method @Deprecated public void logEvent(int, @NonNull String);
12752    method @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public void reevaluateNetwork();
12753    method public void useNetwork();
12754    field public static final int APP_REQUEST_REEVALUATION_REQUIRED = 100; // 0x64
12755    field public static final int APP_RETURN_DISMISSED = 0; // 0x0
12756    field public static final int APP_RETURN_UNWANTED = 1; // 0x1
12757    field public static final int APP_RETURN_WANTED_AS_IS = 2; // 0x2
12758  }
12759
12760  public final class CaptivePortalData implements android.os.Parcelable {
12761    method public int describeContents();
12762    method public long getByteLimit();
12763    method public long getExpiryTimeMillis();
12764    method public long getRefreshTimeMillis();
12765    method @Nullable public android.net.Uri getUserPortalUrl();
12766    method public int getUserPortalUrlSource();
12767    method @Nullable public CharSequence getVenueFriendlyName();
12768    method @Nullable public android.net.Uri getVenueInfoUrl();
12769    method public int getVenueInfoUrlSource();
12770    method public boolean isCaptive();
12771    method public boolean isSessionExtendable();
12772    method public void writeToParcel(@NonNull android.os.Parcel, int);
12773    field public static final int CAPTIVE_PORTAL_DATA_SOURCE_OTHER = 0; // 0x0
12774    field public static final int CAPTIVE_PORTAL_DATA_SOURCE_PASSPOINT = 1; // 0x1
12775    field @NonNull public static final android.os.Parcelable.Creator<android.net.CaptivePortalData> CREATOR;
12776  }
12777
12778  public static class CaptivePortalData.Builder {
12779    ctor public CaptivePortalData.Builder();
12780    ctor public CaptivePortalData.Builder(@Nullable android.net.CaptivePortalData);
12781    method @NonNull public android.net.CaptivePortalData build();
12782    method @NonNull public android.net.CaptivePortalData.Builder setBytesRemaining(long);
12783    method @NonNull public android.net.CaptivePortalData.Builder setCaptive(boolean);
12784    method @NonNull public android.net.CaptivePortalData.Builder setExpiryTime(long);
12785    method @NonNull public android.net.CaptivePortalData.Builder setRefreshTime(long);
12786    method @NonNull public android.net.CaptivePortalData.Builder setSessionExtendable(boolean);
12787    method @NonNull public android.net.CaptivePortalData.Builder setUserPortalUrl(@Nullable android.net.Uri);
12788    method @NonNull public android.net.CaptivePortalData.Builder setUserPortalUrl(@Nullable android.net.Uri, int);
12789    method @NonNull public android.net.CaptivePortalData.Builder setVenueFriendlyName(@Nullable CharSequence);
12790    method @NonNull public android.net.CaptivePortalData.Builder setVenueInfoUrl(@Nullable android.net.Uri);
12791    method @NonNull public android.net.CaptivePortalData.Builder setVenueInfoUrl(@Nullable android.net.Uri, int);
12792  }
12793
12794  public class ConnectivityManager {
12795    method @NonNull @RequiresPermission(android.Manifest.permission.PACKET_KEEPALIVE_OFFLOAD) public android.net.SocketKeepalive createNattKeepalive(@NonNull android.net.Network, @NonNull android.os.ParcelFileDescriptor, @NonNull java.net.InetAddress, @NonNull java.net.InetAddress, @NonNull java.util.concurrent.Executor, @NonNull android.net.SocketKeepalive.Callback);
12796    method @NonNull @RequiresPermission(android.Manifest.permission.PACKET_KEEPALIVE_OFFLOAD) public android.net.SocketKeepalive createSocketKeepalive(@NonNull android.net.Network, @NonNull java.net.Socket, @NonNull java.util.concurrent.Executor, @NonNull android.net.SocketKeepalive.Callback);
12797    method @Deprecated @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public String getCaptivePortalServerUrl();
12798    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void getLatestTetheringEntitlementResult(int, boolean, @NonNull java.util.concurrent.Executor, @NonNull android.net.ConnectivityManager.OnTetheringEntitlementResultListener);
12799    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public boolean isTetheringSupported();
12800    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_FACTORY}) public int registerNetworkProvider(@NonNull android.net.NetworkProvider);
12801    method public void registerQosCallback(@NonNull android.net.QosSocketInfo, @NonNull java.util.concurrent.Executor, @NonNull android.net.QosCallback);
12802    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void registerTetheringEventCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.ConnectivityManager.OnTetheringEventCallback);
12803    method @RequiresPermission(android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK) public void requestNetwork(@NonNull android.net.NetworkRequest, int, int, @NonNull android.os.Handler, @NonNull android.net.ConnectivityManager.NetworkCallback);
12804    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_AIRPLANE_MODE, android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD, android.Manifest.permission.NETWORK_STACK}) public void setAirplaneMode(boolean);
12805    method @RequiresPermission(android.Manifest.permission.CONTROL_OEM_PAID_NETWORK_PREFERENCE) public void setOemNetworkPreference(@NonNull android.net.OemNetworkPreferences, @Nullable java.util.concurrent.Executor, @Nullable Runnable);
12806    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public boolean shouldAvoidBadWifi();
12807    method @RequiresPermission(android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK) public void startCaptivePortalApp(@NonNull android.net.Network, @NonNull android.os.Bundle);
12808    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void startTethering(int, boolean, android.net.ConnectivityManager.OnStartTetheringCallback);
12809    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void startTethering(int, boolean, android.net.ConnectivityManager.OnStartTetheringCallback, android.os.Handler);
12810    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void stopTethering(int);
12811    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_FACTORY}) public void unregisterNetworkProvider(@NonNull android.net.NetworkProvider);
12812    method public void unregisterQosCallback(@NonNull android.net.QosCallback);
12813    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void unregisterTetheringEventCallback(@NonNull android.net.ConnectivityManager.OnTetheringEventCallback);
12814    field public static final String EXTRA_CAPTIVE_PORTAL_PROBE_SPEC = "android.net.extra.CAPTIVE_PORTAL_PROBE_SPEC";
12815    field public static final String EXTRA_CAPTIVE_PORTAL_USER_AGENT = "android.net.extra.CAPTIVE_PORTAL_USER_AGENT";
12816    field public static final int TETHERING_BLUETOOTH = 2; // 0x2
12817    field public static final int TETHERING_USB = 1; // 0x1
12818    field public static final int TETHERING_WIFI = 0; // 0x0
12819    field @Deprecated public static final int TETHER_ERROR_ENTITLEMENT_UNKONWN = 13; // 0xd
12820    field @Deprecated public static final int TETHER_ERROR_NO_ERROR = 0; // 0x0
12821    field @Deprecated public static final int TETHER_ERROR_PROVISION_FAILED = 11; // 0xb
12822    field public static final int TYPE_NONE = -1; // 0xffffffff
12823    field @Deprecated public static final int TYPE_PROXY = 16; // 0x10
12824    field @Deprecated public static final int TYPE_WIFI_P2P = 13; // 0xd
12825  }
12826
12827  @Deprecated public abstract static class ConnectivityManager.OnStartTetheringCallback {
12828    ctor @Deprecated public ConnectivityManager.OnStartTetheringCallback();
12829    method @Deprecated public void onTetheringFailed();
12830    method @Deprecated public void onTetheringStarted();
12831  }
12832
12833  @Deprecated public static interface ConnectivityManager.OnTetheringEntitlementResultListener {
12834    method @Deprecated public void onTetheringEntitlementResult(int);
12835  }
12836
12837  @Deprecated public abstract static class ConnectivityManager.OnTetheringEventCallback {
12838    ctor @Deprecated public ConnectivityManager.OnTetheringEventCallback();
12839    method @Deprecated public void onUpstreamChanged(@Nullable android.net.Network);
12840  }
12841
12842  public final class DscpPolicy implements android.os.Parcelable {
12843    method public int describeContents();
12844    method @Nullable public java.net.InetAddress getDestinationAddress();
12845    method @Nullable public android.util.Range<java.lang.Integer> getDestinationPortRange();
12846    method public int getDscpValue();
12847    method public int getPolicyId();
12848    method public int getProtocol();
12849    method @Nullable public java.net.InetAddress getSourceAddress();
12850    method public int getSourcePort();
12851    method public void writeToParcel(@NonNull android.os.Parcel, int);
12852    field @NonNull public static final android.os.Parcelable.Creator<android.net.DscpPolicy> CREATOR;
12853    field public static final int PROTOCOL_ANY = -1; // 0xffffffff
12854    field public static final int SOURCE_PORT_ANY = -1; // 0xffffffff
12855  }
12856
12857  public static final class DscpPolicy.Builder {
12858    ctor public DscpPolicy.Builder(int, int);
12859    method @NonNull public android.net.DscpPolicy build();
12860    method @NonNull public android.net.DscpPolicy.Builder setDestinationAddress(@NonNull java.net.InetAddress);
12861    method @NonNull public android.net.DscpPolicy.Builder setDestinationPortRange(@NonNull android.util.Range<java.lang.Integer>);
12862    method @NonNull public android.net.DscpPolicy.Builder setProtocol(int);
12863    method @NonNull public android.net.DscpPolicy.Builder setSourceAddress(@NonNull java.net.InetAddress);
12864    method @NonNull public android.net.DscpPolicy.Builder setSourcePort(int);
12865  }
12866
12867  public class EthernetManager {
12868    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.MANAGE_ETHERNET_NETWORKS}) public void disableInterface(@NonNull String, @Nullable java.util.concurrent.Executor, @Nullable android.os.OutcomeReceiver<java.lang.String,android.net.EthernetNetworkManagementException>);
12869    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.MANAGE_ETHERNET_NETWORKS}) public void enableInterface(@NonNull String, @Nullable java.util.concurrent.Executor, @Nullable android.os.OutcomeReceiver<java.lang.String,android.net.EthernetNetworkManagementException>);
12870    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);
12871    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.MANAGE_ETHERNET_NETWORKS}) public void updateConfiguration(@NonNull String, @NonNull android.net.EthernetNetworkUpdateRequest, @Nullable java.util.concurrent.Executor, @Nullable android.os.OutcomeReceiver<java.lang.String,android.net.EthernetNetworkManagementException>);
12872  }
12873
12874  public static interface EthernetManager.TetheredInterfaceCallback {
12875    method public void onAvailable(@NonNull String);
12876    method public void onUnavailable();
12877  }
12878
12879  public static class EthernetManager.TetheredInterfaceRequest {
12880    method public void release();
12881  }
12882
12883  public final class EthernetNetworkManagementException extends java.lang.RuntimeException implements android.os.Parcelable {
12884    ctor public EthernetNetworkManagementException(@NonNull String);
12885    method public int describeContents();
12886    method public void writeToParcel(@NonNull android.os.Parcel, int);
12887    field @NonNull public static final android.os.Parcelable.Creator<android.net.EthernetNetworkManagementException> CREATOR;
12888  }
12889
12890  public final class EthernetNetworkUpdateRequest implements android.os.Parcelable {
12891    method public int describeContents();
12892    method @Nullable public android.net.IpConfiguration getIpConfiguration();
12893    method @Nullable public android.net.NetworkCapabilities getNetworkCapabilities();
12894    method public void writeToParcel(@NonNull android.os.Parcel, int);
12895    field @NonNull public static final android.os.Parcelable.Creator<android.net.EthernetNetworkUpdateRequest> CREATOR;
12896  }
12897
12898  public static final class EthernetNetworkUpdateRequest.Builder {
12899    ctor public EthernetNetworkUpdateRequest.Builder();
12900    ctor public EthernetNetworkUpdateRequest.Builder(@NonNull android.net.EthernetNetworkUpdateRequest);
12901    method @NonNull public android.net.EthernetNetworkUpdateRequest build();
12902    method @NonNull public android.net.EthernetNetworkUpdateRequest.Builder setIpConfiguration(@Nullable android.net.IpConfiguration);
12903    method @NonNull public android.net.EthernetNetworkUpdateRequest.Builder setNetworkCapabilities(@Nullable android.net.NetworkCapabilities);
12904  }
12905
12906  public final class InvalidPacketException extends java.lang.Exception {
12907    ctor public InvalidPacketException(int);
12908    method public int getError();
12909    field public static final int ERROR_INVALID_IP_ADDRESS = -21; // 0xffffffeb
12910    field public static final int ERROR_INVALID_LENGTH = -23; // 0xffffffe9
12911    field public static final int ERROR_INVALID_PORT = -22; // 0xffffffea
12912  }
12913
12914  public final class IpConfiguration implements android.os.Parcelable {
12915    ctor public IpConfiguration();
12916    ctor public IpConfiguration(@NonNull android.net.IpConfiguration);
12917    method @NonNull public android.net.IpConfiguration.IpAssignment getIpAssignment();
12918    method @NonNull public android.net.IpConfiguration.ProxySettings getProxySettings();
12919    method public void setHttpProxy(@Nullable android.net.ProxyInfo);
12920    method public void setIpAssignment(@NonNull android.net.IpConfiguration.IpAssignment);
12921    method public void setProxySettings(@NonNull android.net.IpConfiguration.ProxySettings);
12922    method public void setStaticIpConfiguration(@Nullable android.net.StaticIpConfiguration);
12923  }
12924
12925  public enum IpConfiguration.IpAssignment {
12926    enum_constant public static final android.net.IpConfiguration.IpAssignment DHCP;
12927    enum_constant public static final android.net.IpConfiguration.IpAssignment STATIC;
12928    enum_constant public static final android.net.IpConfiguration.IpAssignment UNASSIGNED;
12929  }
12930
12931  public enum IpConfiguration.ProxySettings {
12932    enum_constant public static final android.net.IpConfiguration.ProxySettings NONE;
12933    enum_constant public static final android.net.IpConfiguration.ProxySettings PAC;
12934    enum_constant public static final android.net.IpConfiguration.ProxySettings STATIC;
12935    enum_constant public static final android.net.IpConfiguration.ProxySettings UNASSIGNED;
12936  }
12937
12938  public final class IpPrefix implements android.os.Parcelable {
12939    ctor public IpPrefix(@NonNull String);
12940  }
12941
12942  public class IpSecManager {
12943    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;
12944    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;
12945    method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void startTunnelModeTransformMigration(@NonNull android.net.IpSecTransform, @NonNull java.net.InetAddress, @NonNull java.net.InetAddress);
12946  }
12947
12948  public static final class IpSecManager.IpSecTunnelInterface implements java.lang.AutoCloseable {
12949    method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void addAddress(@NonNull java.net.InetAddress, int) throws java.io.IOException;
12950    method public void close();
12951    method @NonNull public String getInterfaceName();
12952    method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void removeAddress(@NonNull java.net.InetAddress, int) throws java.io.IOException;
12953    method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void setUnderlyingNetwork(@NonNull android.net.Network) throws java.io.IOException;
12954  }
12955
12956  public static class IpSecTransform.Builder {
12957    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;
12958  }
12959
12960  public class KeepalivePacketData {
12961    ctor protected KeepalivePacketData(@NonNull java.net.InetAddress, @IntRange(from=0, to=65535) int, @NonNull java.net.InetAddress, @IntRange(from=0, to=65535) int, @NonNull byte[]) throws android.net.InvalidPacketException;
12962    method @NonNull public java.net.InetAddress getDstAddress();
12963    method public int getDstPort();
12964    method @NonNull public byte[] getPacket();
12965    method @NonNull public java.net.InetAddress getSrcAddress();
12966    method public int getSrcPort();
12967  }
12968
12969  public class LinkAddress implements android.os.Parcelable {
12970    ctor public LinkAddress(@NonNull String);
12971    ctor public LinkAddress(@NonNull String, int, int);
12972    ctor public LinkAddress(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int);
12973    ctor public LinkAddress(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int, int, int);
12974    ctor public LinkAddress(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int, int, int, long, long);
12975    method public long getDeprecationTime();
12976    method public long getExpirationTime();
12977    method public boolean isGlobalPreferred();
12978    method public boolean isIpv4();
12979    method public boolean isIpv6();
12980    method public boolean isSameAddressAs(@Nullable android.net.LinkAddress);
12981    field public static final long LIFETIME_PERMANENT = 9223372036854775807L; // 0x7fffffffffffffffL
12982    field public static final long LIFETIME_UNKNOWN = -1L; // 0xffffffffffffffffL
12983  }
12984
12985  public final class LinkProperties implements android.os.Parcelable {
12986    ctor public LinkProperties(@Nullable android.net.LinkProperties);
12987    ctor public LinkProperties(@Nullable android.net.LinkProperties, boolean);
12988    method public boolean addDnsServer(@NonNull java.net.InetAddress);
12989    method public boolean addLinkAddress(@NonNull android.net.LinkAddress);
12990    method public boolean addPcscfServer(@NonNull java.net.InetAddress);
12991    method @NonNull public java.util.List<java.net.InetAddress> getAddresses();
12992    method @NonNull public java.util.List<java.lang.String> getAllInterfaceNames();
12993    method @NonNull public java.util.List<android.net.LinkAddress> getAllLinkAddresses();
12994    method @NonNull public java.util.List<android.net.RouteInfo> getAllRoutes();
12995    method @Nullable public android.net.Uri getCaptivePortalApiUrl();
12996    method @Nullable public android.net.CaptivePortalData getCaptivePortalData();
12997    method @NonNull public java.util.List<java.net.InetAddress> getPcscfServers();
12998    method @Nullable public String getTcpBufferSizes();
12999    method @NonNull public java.util.List<java.net.InetAddress> getValidatedPrivateDnsServers();
13000    method public boolean hasGlobalIpv6Address();
13001    method public boolean hasIpv4Address();
13002    method public boolean hasIpv4DefaultRoute();
13003    method public boolean hasIpv4DnsServer();
13004    method public boolean hasIpv6DefaultRoute();
13005    method public boolean hasIpv6DnsServer();
13006    method public boolean isIpv4Provisioned();
13007    method public boolean isIpv6Provisioned();
13008    method public boolean isProvisioned();
13009    method public boolean isReachable(@NonNull java.net.InetAddress);
13010    method public boolean removeDnsServer(@NonNull java.net.InetAddress);
13011    method public boolean removeLinkAddress(@NonNull android.net.LinkAddress);
13012    method public boolean removeRoute(@NonNull android.net.RouteInfo);
13013    method public void setCaptivePortalApiUrl(@Nullable android.net.Uri);
13014    method public void setCaptivePortalData(@Nullable android.net.CaptivePortalData);
13015    method public void setPcscfServers(@NonNull java.util.Collection<java.net.InetAddress>);
13016    method public void setPrivateDnsServerName(@Nullable String);
13017    method public void setTcpBufferSizes(@Nullable String);
13018    method public void setUsePrivateDns(boolean);
13019    method public void setValidatedPrivateDnsServers(@NonNull java.util.Collection<java.net.InetAddress>);
13020  }
13021
13022  public final class MatchAllNetworkSpecifier extends android.net.NetworkSpecifier implements android.os.Parcelable {
13023    ctor public MatchAllNetworkSpecifier();
13024    method public int describeContents();
13025    method public void writeToParcel(@NonNull android.os.Parcel, int);
13026    field @NonNull public static final android.os.Parcelable.Creator<android.net.MatchAllNetworkSpecifier> CREATOR;
13027  }
13028
13029  public final class NattKeepalivePacketData extends android.net.KeepalivePacketData implements android.os.Parcelable {
13030    ctor public NattKeepalivePacketData(@NonNull java.net.InetAddress, int, @NonNull java.net.InetAddress, int, @NonNull byte[]) throws android.net.InvalidPacketException;
13031    method public int describeContents();
13032    method public void writeToParcel(@NonNull android.os.Parcel, int);
13033    field @NonNull public static final android.os.Parcelable.Creator<android.net.NattKeepalivePacketData> CREATOR;
13034  }
13035
13036  public class Network implements android.os.Parcelable {
13037    ctor public Network(@NonNull android.net.Network);
13038    method public int getNetId();
13039    method @NonNull public android.net.Network getPrivateDnsBypassingCopy();
13040  }
13041
13042  public abstract class NetworkAgent {
13043    ctor public NetworkAgent(@NonNull android.content.Context, @NonNull android.os.Looper, @NonNull String, @NonNull android.net.NetworkCapabilities, @NonNull android.net.LinkProperties, @NonNull android.net.NetworkScore, @NonNull android.net.NetworkAgentConfig, @Nullable android.net.NetworkProvider);
13044    ctor public NetworkAgent(@NonNull android.content.Context, @NonNull android.os.Looper, @NonNull String, @NonNull android.net.NetworkCapabilities, @NonNull android.net.LinkProperties, int, @NonNull android.net.NetworkAgentConfig, @Nullable android.net.NetworkProvider);
13045    method @Nullable public android.net.Network getNetwork();
13046    method public void markConnected();
13047    method public void onAddKeepalivePacketFilter(int, @NonNull android.net.KeepalivePacketData);
13048    method public void onAutomaticReconnectDisabled();
13049    method public void onBandwidthUpdateRequested();
13050    method public void onDscpPolicyStatusUpdated(int, int);
13051    method public void onNetworkCreated();
13052    method public void onNetworkDestroyed();
13053    method public void onNetworkUnwanted();
13054    method public void onQosCallbackRegistered(int, @NonNull android.net.QosFilter);
13055    method public void onQosCallbackUnregistered(int);
13056    method public void onRemoveKeepalivePacketFilter(int);
13057    method public void onSaveAcceptUnvalidated(boolean);
13058    method public void onSignalStrengthThresholdsUpdated(@NonNull int[]);
13059    method public void onStartSocketKeepalive(int, @NonNull java.time.Duration, @NonNull android.net.KeepalivePacketData);
13060    method public void onStopSocketKeepalive(int);
13061    method public void onValidationStatus(int, @Nullable android.net.Uri);
13062    method @NonNull public android.net.Network register();
13063    method public void sendAddDscpPolicy(@NonNull android.net.DscpPolicy);
13064    method public void sendLinkProperties(@NonNull android.net.LinkProperties);
13065    method public void sendNetworkCapabilities(@NonNull android.net.NetworkCapabilities);
13066    method public void sendNetworkScore(@NonNull android.net.NetworkScore);
13067    method public void sendNetworkScore(@IntRange(from=0, to=99) int);
13068    method public final void sendQosCallbackError(int, int);
13069    method public final void sendQosSessionAvailable(int, int, @NonNull android.net.QosSessionAttributes);
13070    method public final void sendQosSessionLost(int, int, int);
13071    method public void sendRemoveAllDscpPolicies();
13072    method public void sendRemoveDscpPolicy(int);
13073    method public final void sendSocketKeepaliveEvent(int, int);
13074    method @Deprecated public void setLegacySubtype(int, @NonNull String);
13075    method public void setLingerDuration(@NonNull java.time.Duration);
13076    method public void setTeardownDelayMillis(@IntRange(from=0, to=0x1388) int);
13077    method public void setUnderlyingNetworks(@Nullable java.util.List<android.net.Network>);
13078    method public void unregister();
13079    method public void unregisterAfterReplacement(@IntRange(from=0, to=0x1388) int);
13080    field public static final int DSCP_POLICY_STATUS_DELETED = 4; // 0x4
13081    field public static final int DSCP_POLICY_STATUS_INSUFFICIENT_PROCESSING_RESOURCES = 3; // 0x3
13082    field public static final int DSCP_POLICY_STATUS_POLICY_NOT_FOUND = 5; // 0x5
13083    field public static final int DSCP_POLICY_STATUS_REQUESTED_CLASSIFIER_NOT_SUPPORTED = 2; // 0x2
13084    field public static final int DSCP_POLICY_STATUS_REQUEST_DECLINED = 1; // 0x1
13085    field public static final int DSCP_POLICY_STATUS_SUCCESS = 0; // 0x0
13086    field public static final int VALIDATION_STATUS_NOT_VALID = 2; // 0x2
13087    field public static final int VALIDATION_STATUS_VALID = 1; // 0x1
13088  }
13089
13090  public final class NetworkAgentConfig implements android.os.Parcelable {
13091    method public int describeContents();
13092    method public int getLegacyType();
13093    method @NonNull public String getLegacyTypeName();
13094    method public boolean isExplicitlySelected();
13095    method public boolean isPartialConnectivityAcceptable();
13096    method public boolean isUnvalidatedConnectivityAcceptable();
13097    method public void writeToParcel(@NonNull android.os.Parcel, int);
13098    field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkAgentConfig> CREATOR;
13099  }
13100
13101  public static final class NetworkAgentConfig.Builder {
13102    ctor public NetworkAgentConfig.Builder();
13103    method @NonNull public android.net.NetworkAgentConfig build();
13104    method @NonNull public android.net.NetworkAgentConfig.Builder setExplicitlySelected(boolean);
13105    method @NonNull public android.net.NetworkAgentConfig.Builder setLegacyExtraInfo(@NonNull String);
13106    method @NonNull public android.net.NetworkAgentConfig.Builder setLegacySubType(int);
13107    method @NonNull public android.net.NetworkAgentConfig.Builder setLegacySubTypeName(@NonNull String);
13108    method @NonNull public android.net.NetworkAgentConfig.Builder setLegacyType(int);
13109    method @NonNull public android.net.NetworkAgentConfig.Builder setLegacyTypeName(@NonNull String);
13110    method @NonNull public android.net.NetworkAgentConfig.Builder setNat64DetectionEnabled(boolean);
13111    method @NonNull public android.net.NetworkAgentConfig.Builder setPartialConnectivityAcceptable(boolean);
13112    method @NonNull public android.net.NetworkAgentConfig.Builder setProvisioningNotificationEnabled(boolean);
13113    method @NonNull public android.net.NetworkAgentConfig.Builder setUnvalidatedConnectivityAcceptable(boolean);
13114  }
13115
13116  public final class NetworkCapabilities implements android.os.Parcelable {
13117    method @NonNull public int[] getAdministratorUids();
13118    method @Nullable public static String getCapabilityCarrierName(int);
13119    method @Nullable public String getSsid();
13120    method @NonNull public int[] getTransportTypes();
13121    method @Nullable public java.util.List<android.net.Network> getUnderlyingNetworks();
13122    method public boolean isPrivateDnsBroken();
13123    method public boolean satisfiedByNetworkCapabilities(@Nullable android.net.NetworkCapabilities);
13124    field public static final int NET_CAPABILITY_BIP = 31; // 0x1f
13125    field public static final int NET_CAPABILITY_NOT_VCN_MANAGED = 28; // 0x1c
13126    field public static final int NET_CAPABILITY_OEM_PAID = 22; // 0x16
13127    field public static final int NET_CAPABILITY_OEM_PRIVATE = 26; // 0x1a
13128    field public static final int NET_CAPABILITY_PARTIAL_CONNECTIVITY = 24; // 0x18
13129    field public static final int NET_CAPABILITY_VEHICLE_INTERNAL = 27; // 0x1b
13130    field public static final int NET_CAPABILITY_VSIM = 30; // 0x1e
13131  }
13132
13133  public static final class NetworkCapabilities.Builder {
13134    ctor public NetworkCapabilities.Builder();
13135    ctor public NetworkCapabilities.Builder(@NonNull android.net.NetworkCapabilities);
13136    method @NonNull public android.net.NetworkCapabilities.Builder addCapability(int);
13137    method @NonNull public android.net.NetworkCapabilities.Builder addEnterpriseId(int);
13138    method @NonNull public android.net.NetworkCapabilities.Builder addTransportType(int);
13139    method @NonNull public android.net.NetworkCapabilities build();
13140    method @NonNull public android.net.NetworkCapabilities.Builder removeCapability(int);
13141    method @NonNull public android.net.NetworkCapabilities.Builder removeEnterpriseId(int);
13142    method @NonNull public android.net.NetworkCapabilities.Builder removeTransportType(int);
13143    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setAdministratorUids(@NonNull int[]);
13144    method @NonNull public android.net.NetworkCapabilities.Builder setLinkDownstreamBandwidthKbps(int);
13145    method @NonNull public android.net.NetworkCapabilities.Builder setLinkUpstreamBandwidthKbps(int);
13146    method @NonNull public android.net.NetworkCapabilities.Builder setNetworkSpecifier(@Nullable android.net.NetworkSpecifier);
13147    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setOwnerUid(int);
13148    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setRequestorPackageName(@Nullable String);
13149    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setRequestorUid(int);
13150    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SIGNAL_STRENGTH_WAKEUP) public android.net.NetworkCapabilities.Builder setSignalStrength(int);
13151    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setSsid(@Nullable String);
13152    method @NonNull public android.net.NetworkCapabilities.Builder setSubscriptionIds(@NonNull java.util.Set<java.lang.Integer>);
13153    method @NonNull public android.net.NetworkCapabilities.Builder setTransportInfo(@Nullable android.net.TransportInfo);
13154    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setUnderlyingNetworks(@Nullable java.util.List<android.net.Network>);
13155    method @NonNull public static android.net.NetworkCapabilities.Builder withoutDefaultCapabilities();
13156  }
13157
13158  @Deprecated public class NetworkKey implements android.os.Parcelable {
13159    ctor @Deprecated public NetworkKey(android.net.WifiKey);
13160    method @Deprecated @Nullable public static android.net.NetworkKey createFromScanResult(@NonNull android.net.wifi.ScanResult);
13161    method @Deprecated public int describeContents();
13162    method @Deprecated public void writeToParcel(android.os.Parcel, int);
13163    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkKey> CREATOR;
13164    field @Deprecated public static final int TYPE_WIFI = 1; // 0x1
13165    field @Deprecated public final int type;
13166    field @Deprecated public final android.net.WifiKey wifiKey;
13167  }
13168
13169  public class NetworkProvider {
13170    ctor public NetworkProvider(@NonNull android.content.Context, @NonNull android.os.Looper, @NonNull String);
13171    method @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public void declareNetworkRequestUnfulfillable(@NonNull android.net.NetworkRequest);
13172    method public int getProviderId();
13173    method public void onNetworkRequestWithdrawn(@NonNull android.net.NetworkRequest);
13174    method public void onNetworkRequested(@NonNull android.net.NetworkRequest, @IntRange(from=0, to=99) int, int);
13175    method @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public void registerNetworkOffer(@NonNull android.net.NetworkScore, @NonNull android.net.NetworkCapabilities, @NonNull java.util.concurrent.Executor, @NonNull android.net.NetworkProvider.NetworkOfferCallback);
13176    method @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public void unregisterNetworkOffer(@NonNull android.net.NetworkProvider.NetworkOfferCallback);
13177    field public static final int ID_NONE = -1; // 0xffffffff
13178  }
13179
13180  public static interface NetworkProvider.NetworkOfferCallback {
13181    method public void onNetworkNeeded(@NonNull android.net.NetworkRequest);
13182    method public void onNetworkUnneeded(@NonNull android.net.NetworkRequest);
13183  }
13184
13185  public abstract class NetworkRecommendationProvider {
13186    ctor public NetworkRecommendationProvider(android.content.Context, java.util.concurrent.Executor);
13187    method public final android.os.IBinder getBinder();
13188    method public abstract void onRequestScores(android.net.NetworkKey[]);
13189  }
13190
13191  public class NetworkReleasedException extends java.lang.Exception {
13192    ctor public NetworkReleasedException();
13193  }
13194
13195  public class NetworkRequest implements android.os.Parcelable {
13196    method @Nullable public String getRequestorPackageName();
13197    method public int getRequestorUid();
13198  }
13199
13200  public static class NetworkRequest.Builder {
13201    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SIGNAL_STRENGTH_WAKEUP) public android.net.NetworkRequest.Builder setSignalStrength(int);
13202  }
13203
13204  public final class NetworkScore implements android.os.Parcelable {
13205    method public int describeContents();
13206    method public int getKeepConnectedReason();
13207    method public int getLegacyInt();
13208    method public boolean isExiting();
13209    method public boolean isTransportPrimary();
13210    method public void writeToParcel(@NonNull android.os.Parcel, int);
13211    field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkScore> CREATOR;
13212    field public static final int KEEP_CONNECTED_FOR_HANDOVER = 1; // 0x1
13213    field public static final int KEEP_CONNECTED_NONE = 0; // 0x0
13214  }
13215
13216  public static final class NetworkScore.Builder {
13217    ctor public NetworkScore.Builder();
13218    method @NonNull public android.net.NetworkScore build();
13219    method @NonNull public android.net.NetworkScore.Builder setExiting(boolean);
13220    method @NonNull public android.net.NetworkScore.Builder setKeepConnectedReason(int);
13221    method @NonNull public android.net.NetworkScore.Builder setLegacyInt(int);
13222    method @NonNull public android.net.NetworkScore.Builder setTransportPrimary(boolean);
13223  }
13224
13225  @Deprecated public class NetworkScoreManager {
13226    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.SCORE_NETWORKS, android.Manifest.permission.REQUEST_NETWORK_SCORES}) public boolean clearScores() throws java.lang.SecurityException;
13227    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.SCORE_NETWORKS, android.Manifest.permission.REQUEST_NETWORK_SCORES}) public void disableScoring() throws java.lang.SecurityException;
13228    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.SCORE_NETWORKS, android.Manifest.permission.REQUEST_NETWORK_SCORES}) public String getActiveScorerPackage();
13229    method @Deprecated @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;
13230    method @Deprecated @RequiresPermission(android.Manifest.permission.REQUEST_NETWORK_SCORES) public boolean requestScores(@NonNull java.util.Collection<android.net.NetworkKey>) throws java.lang.SecurityException;
13231    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.SCORE_NETWORKS, android.Manifest.permission.REQUEST_NETWORK_SCORES}) public boolean setActiveScorer(String) throws java.lang.SecurityException;
13232    method @Deprecated @RequiresPermission(android.Manifest.permission.SCORE_NETWORKS) public boolean updateScores(@NonNull android.net.ScoredNetwork[]) throws java.lang.SecurityException;
13233    field @Deprecated public static final String ACTION_CHANGE_ACTIVE = "android.net.scoring.CHANGE_ACTIVE";
13234    field @Deprecated public static final String ACTION_CUSTOM_ENABLE = "android.net.scoring.CUSTOM_ENABLE";
13235    field @Deprecated public static final String ACTION_RECOMMEND_NETWORKS = "android.net.action.RECOMMEND_NETWORKS";
13236    field @Deprecated public static final String ACTION_SCORER_CHANGED = "android.net.scoring.SCORER_CHANGED";
13237    field @Deprecated public static final String ACTION_SCORE_NETWORKS = "android.net.scoring.SCORE_NETWORKS";
13238    field @Deprecated public static final String EXTRA_NETWORKS_TO_SCORE = "networksToScore";
13239    field @Deprecated public static final String EXTRA_NEW_SCORER = "newScorer";
13240    field @Deprecated public static final String EXTRA_PACKAGE_NAME = "packageName";
13241    field @Deprecated public static final int SCORE_FILTER_CURRENT_NETWORK = 1; // 0x1
13242    field @Deprecated public static final int SCORE_FILTER_NONE = 0; // 0x0
13243    field @Deprecated public static final int SCORE_FILTER_SCAN_RESULTS = 2; // 0x2
13244  }
13245
13246  @Deprecated public abstract static class NetworkScoreManager.NetworkScoreCallback {
13247    ctor @Deprecated public NetworkScoreManager.NetworkScoreCallback();
13248    method @Deprecated public abstract void onScoresInvalidated();
13249    method @Deprecated public abstract void onScoresUpdated(@NonNull java.util.Collection<android.net.ScoredNetwork>);
13250  }
13251
13252  public abstract class NetworkSpecifier {
13253    method public boolean canBeSatisfiedBy(@Nullable android.net.NetworkSpecifier);
13254    method @Nullable public android.net.NetworkSpecifier redact();
13255  }
13256
13257  public class NetworkStack {
13258    method @Nullable public static android.os.IBinder getService();
13259    field public static final String PERMISSION_MAINLINE_NETWORK_STACK = "android.permission.MAINLINE_NETWORK_STACK";
13260  }
13261
13262  public final class NetworkStats implements java.lang.Iterable<android.net.NetworkStats.Entry> android.os.Parcelable {
13263    ctor public NetworkStats(long, int);
13264    method @NonNull public android.net.NetworkStats add(@NonNull android.net.NetworkStats);
13265    method @NonNull public android.net.NetworkStats addEntry(@NonNull android.net.NetworkStats.Entry);
13266    method public android.net.NetworkStats clone();
13267    method public int describeContents();
13268    method @NonNull public java.util.Iterator<android.net.NetworkStats.Entry> iterator();
13269    method @NonNull public android.net.NetworkStats subtract(@NonNull android.net.NetworkStats);
13270    method public void writeToParcel(@NonNull android.os.Parcel, int);
13271    field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkStats> CREATOR;
13272    field public static final int DEFAULT_NETWORK_ALL = -1; // 0xffffffff
13273    field public static final int DEFAULT_NETWORK_NO = 0; // 0x0
13274    field public static final int DEFAULT_NETWORK_YES = 1; // 0x1
13275    field public static final String IFACE_VT = "vt_data0";
13276    field public static final int METERED_ALL = -1; // 0xffffffff
13277    field public static final int METERED_NO = 0; // 0x0
13278    field public static final int METERED_YES = 1; // 0x1
13279    field public static final int ROAMING_ALL = -1; // 0xffffffff
13280    field public static final int ROAMING_NO = 0; // 0x0
13281    field public static final int ROAMING_YES = 1; // 0x1
13282    field public static final int SET_ALL = -1; // 0xffffffff
13283    field public static final int SET_DEFAULT = 0; // 0x0
13284    field public static final int SET_FOREGROUND = 1; // 0x1
13285    field public static final int TAG_NONE = 0; // 0x0
13286    field public static final int UID_ALL = -1; // 0xffffffff
13287    field public static final int UID_TETHERING = -5; // 0xfffffffb
13288  }
13289
13290  public static class NetworkStats.Entry {
13291    ctor public NetworkStats.Entry(@Nullable String, int, int, int, int, int, int, long, long, long, long, long);
13292    method public int getDefaultNetwork();
13293    method public int getMetered();
13294    method public long getOperations();
13295    method public int getRoaming();
13296    method public long getRxBytes();
13297    method public long getRxPackets();
13298    method public int getSet();
13299    method public int getTag();
13300    method public long getTxBytes();
13301    method public long getTxPackets();
13302    method public int getUid();
13303  }
13304
13305  public final class OemNetworkPreferences implements android.os.Parcelable {
13306    method public int describeContents();
13307    method @NonNull public java.util.Map<java.lang.String,java.lang.Integer> getNetworkPreferences();
13308    method public void writeToParcel(@NonNull android.os.Parcel, int);
13309    field @NonNull public static final android.os.Parcelable.Creator<android.net.OemNetworkPreferences> CREATOR;
13310    field public static final int OEM_NETWORK_PREFERENCE_OEM_PAID = 1; // 0x1
13311    field public static final int OEM_NETWORK_PREFERENCE_OEM_PAID_NO_FALLBACK = 2; // 0x2
13312    field public static final int OEM_NETWORK_PREFERENCE_OEM_PAID_ONLY = 3; // 0x3
13313    field public static final int OEM_NETWORK_PREFERENCE_OEM_PRIVATE_ONLY = 4; // 0x4
13314    field public static final int OEM_NETWORK_PREFERENCE_UNINITIALIZED = 0; // 0x0
13315  }
13316
13317  public static final class OemNetworkPreferences.Builder {
13318    ctor public OemNetworkPreferences.Builder();
13319    ctor public OemNetworkPreferences.Builder(@NonNull android.net.OemNetworkPreferences);
13320    method @NonNull public android.net.OemNetworkPreferences.Builder addNetworkPreference(@NonNull String, int);
13321    method @NonNull public android.net.OemNetworkPreferences build();
13322    method @NonNull public android.net.OemNetworkPreferences.Builder clearNetworkPreference(@NonNull String);
13323  }
13324
13325  public abstract class QosCallback {
13326    ctor public QosCallback();
13327    method public void onError(@NonNull android.net.QosCallbackException);
13328    method public void onQosSessionAvailable(@NonNull android.net.QosSession, @NonNull android.net.QosSessionAttributes);
13329    method public void onQosSessionLost(@NonNull android.net.QosSession);
13330  }
13331
13332  public static class QosCallback.QosCallbackRegistrationException extends java.lang.RuntimeException {
13333  }
13334
13335  public final class QosCallbackException extends java.lang.Exception {
13336    ctor public QosCallbackException(@NonNull String);
13337    ctor public QosCallbackException(@NonNull Throwable);
13338  }
13339
13340  public abstract class QosFilter {
13341    method @NonNull public abstract android.net.Network getNetwork();
13342    method public abstract boolean matchesLocalAddress(@NonNull java.net.InetAddress, int, int);
13343    method public boolean matchesProtocol(int);
13344    method public abstract boolean matchesRemoteAddress(@NonNull java.net.InetAddress, int, int);
13345  }
13346
13347  public final class QosSession implements android.os.Parcelable {
13348    ctor public QosSession(int, int);
13349    method public int describeContents();
13350    method public int getSessionId();
13351    method public int getSessionType();
13352    method public long getUniqueId();
13353    method public void writeToParcel(@NonNull android.os.Parcel, int);
13354    field @NonNull public static final android.os.Parcelable.Creator<android.net.QosSession> CREATOR;
13355    field public static final int TYPE_EPS_BEARER = 1; // 0x1
13356    field public static final int TYPE_NR_BEARER = 2; // 0x2
13357  }
13358
13359  public interface QosSessionAttributes {
13360  }
13361
13362  public final class QosSocketInfo implements android.os.Parcelable {
13363    ctor public QosSocketInfo(@NonNull android.net.Network, @NonNull java.net.DatagramSocket) throws java.io.IOException;
13364    ctor public QosSocketInfo(@NonNull android.net.Network, @NonNull java.net.Socket) throws java.io.IOException;
13365    method public int describeContents();
13366    method @NonNull public java.net.InetSocketAddress getLocalSocketAddress();
13367    method @NonNull public android.net.Network getNetwork();
13368    method @Nullable public java.net.InetSocketAddress getRemoteSocketAddress();
13369    method public void writeToParcel(@NonNull android.os.Parcel, int);
13370    field @NonNull public static final android.os.Parcelable.Creator<android.net.QosSocketInfo> CREATOR;
13371  }
13372
13373  public final class RouteInfo implements android.os.Parcelable {
13374    ctor public RouteInfo(@Nullable android.net.IpPrefix, @Nullable java.net.InetAddress, @Nullable String, int);
13375    ctor public RouteInfo(@Nullable android.net.IpPrefix, @Nullable java.net.InetAddress, @Nullable String, int, int);
13376    method public int getMtu();
13377  }
13378
13379  @Deprecated public class RssiCurve implements android.os.Parcelable {
13380    ctor @Deprecated public RssiCurve(int, int, byte[]);
13381    ctor @Deprecated public RssiCurve(int, int, byte[], int);
13382    method @Deprecated public int describeContents();
13383    method @Deprecated public byte lookupScore(int);
13384    method @Deprecated public byte lookupScore(int, boolean);
13385    method @Deprecated public void writeToParcel(android.os.Parcel, int);
13386    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.net.RssiCurve> CREATOR;
13387    field @Deprecated public final int activeNetworkRssiBoost;
13388    field @Deprecated public final int bucketWidth;
13389    field @Deprecated public final byte[] rssiBuckets;
13390    field @Deprecated public final int start;
13391  }
13392
13393  @Deprecated public class ScoredNetwork implements android.os.Parcelable {
13394    ctor @Deprecated public ScoredNetwork(android.net.NetworkKey, android.net.RssiCurve);
13395    ctor @Deprecated public ScoredNetwork(android.net.NetworkKey, android.net.RssiCurve, boolean);
13396    ctor @Deprecated public ScoredNetwork(android.net.NetworkKey, android.net.RssiCurve, boolean, @Nullable android.os.Bundle);
13397    method @Deprecated public int calculateBadge(int);
13398    method @Deprecated public int describeContents();
13399    method @Deprecated public void writeToParcel(android.os.Parcel, int);
13400    field @Deprecated public static final String ATTRIBUTES_KEY_BADGING_CURVE = "android.net.attributes.key.BADGING_CURVE";
13401    field @Deprecated public static final String ATTRIBUTES_KEY_HAS_CAPTIVE_PORTAL = "android.net.attributes.key.HAS_CAPTIVE_PORTAL";
13402    field @Deprecated public static final String ATTRIBUTES_KEY_RANKING_SCORE_OFFSET = "android.net.attributes.key.RANKING_SCORE_OFFSET";
13403    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.net.ScoredNetwork> CREATOR;
13404    field @Deprecated @Nullable public final android.os.Bundle attributes;
13405    field @Deprecated public final boolean meteredHint;
13406    field @Deprecated public final android.net.NetworkKey networkKey;
13407    field @Deprecated public final android.net.RssiCurve rssiCurve;
13408  }
13409
13410  public abstract class SocketKeepalive implements java.lang.AutoCloseable {
13411    method public final void start(@IntRange(from=0xa, to=0xe10) int, int, @Nullable android.net.Network);
13412    field public static final int ERROR_NO_SUCH_SLOT = -33; // 0xffffffdf
13413    field public static final int FLAG_AUTOMATIC_ON_OFF = 1; // 0x1
13414    field public static final int SUCCESS = 0; // 0x0
13415  }
13416
13417  public class SocketLocalAddressChangedException extends java.lang.Exception {
13418    ctor public SocketLocalAddressChangedException();
13419  }
13420
13421  public class SocketNotBoundException extends java.lang.Exception {
13422    ctor public SocketNotBoundException();
13423  }
13424
13425  public class SocketNotConnectedException extends java.lang.Exception {
13426    ctor public SocketNotConnectedException();
13427  }
13428
13429  public class SocketRemoteAddressChangedException extends java.lang.Exception {
13430    ctor public SocketRemoteAddressChangedException();
13431  }
13432
13433  public final class StaticIpConfiguration implements android.os.Parcelable {
13434    ctor public StaticIpConfiguration();
13435    ctor public StaticIpConfiguration(@Nullable android.net.StaticIpConfiguration);
13436    method public void addDnsServer(@NonNull java.net.InetAddress);
13437    method public void clear();
13438    method @NonNull public java.util.List<android.net.RouteInfo> getRoutes(@Nullable String);
13439  }
13440
13441  public final class TcpKeepalivePacketData extends android.net.KeepalivePacketData implements android.os.Parcelable {
13442    ctor public TcpKeepalivePacketData(@NonNull java.net.InetAddress, int, @NonNull java.net.InetAddress, int, @NonNull byte[], int, int, int, int, int, int) throws android.net.InvalidPacketException;
13443    method public int describeContents();
13444    method public int getIpTos();
13445    method public int getIpTtl();
13446    method public int getTcpAck();
13447    method public int getTcpSeq();
13448    method public int getTcpWindow();
13449    method public int getTcpWindowScale();
13450    method public void writeToParcel(@NonNull android.os.Parcel, int);
13451    field @NonNull public static final android.os.Parcelable.Creator<android.net.TcpKeepalivePacketData> CREATOR;
13452  }
13453
13454  public final class TetheredClient implements android.os.Parcelable {
13455    ctor public TetheredClient(@NonNull android.net.MacAddress, @NonNull java.util.Collection<android.net.TetheredClient.AddressInfo>, int);
13456    method public int describeContents();
13457    method @NonNull public java.util.List<android.net.TetheredClient.AddressInfo> getAddresses();
13458    method @NonNull public android.net.MacAddress getMacAddress();
13459    method public int getTetheringType();
13460    method public void writeToParcel(@NonNull android.os.Parcel, int);
13461    field @NonNull public static final android.os.Parcelable.Creator<android.net.TetheredClient> CREATOR;
13462  }
13463
13464  public static final class TetheredClient.AddressInfo implements android.os.Parcelable {
13465    method public int describeContents();
13466    method @NonNull public android.net.LinkAddress getAddress();
13467    method @Nullable public String getHostname();
13468    method public void writeToParcel(@NonNull android.os.Parcel, int);
13469    field @NonNull public static final android.os.Parcelable.Creator<android.net.TetheredClient.AddressInfo> CREATOR;
13470  }
13471
13472  public final class TetheringInterface implements android.os.Parcelable {
13473    ctor public TetheringInterface(int, @NonNull String);
13474    method public int describeContents();
13475    method @NonNull public String getInterface();
13476    method public int getType();
13477    method public void writeToParcel(@NonNull android.os.Parcel, int);
13478    field @NonNull public static final android.os.Parcelable.Creator<android.net.TetheringInterface> CREATOR;
13479  }
13480
13481  public class TetheringManager {
13482    method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void registerTetheringEventCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.TetheringManager.TetheringEventCallback);
13483    method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public void requestLatestTetheringEntitlementResult(int, boolean, @NonNull java.util.concurrent.Executor, @NonNull android.net.TetheringManager.OnTetheringEntitlementResultListener);
13484    method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public void startTethering(@NonNull android.net.TetheringManager.TetheringRequest, @NonNull java.util.concurrent.Executor, @NonNull android.net.TetheringManager.StartTetheringCallback);
13485    method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public void stopAllTethering();
13486    method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public void stopTethering(int);
13487    method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.ACCESS_NETWORK_STATE}) public void unregisterTetheringEventCallback(@NonNull android.net.TetheringManager.TetheringEventCallback);
13488    field @Deprecated public static final String ACTION_TETHER_STATE_CHANGED = "android.net.conn.TETHER_STATE_CHANGED";
13489    field public static final int CONNECTIVITY_SCOPE_GLOBAL = 1; // 0x1
13490    field public static final int CONNECTIVITY_SCOPE_LOCAL = 2; // 0x2
13491    field public static final String EXTRA_ACTIVE_LOCAL_ONLY = "android.net.extra.ACTIVE_LOCAL_ONLY";
13492    field public static final String EXTRA_ACTIVE_TETHER = "tetherArray";
13493    field public static final String EXTRA_AVAILABLE_TETHER = "availableArray";
13494    field public static final String EXTRA_ERRORED_TETHER = "erroredArray";
13495    field public static final int TETHERING_BLUETOOTH = 2; // 0x2
13496    field public static final int TETHERING_ETHERNET = 5; // 0x5
13497    field public static final int TETHERING_INVALID = -1; // 0xffffffff
13498    field public static final int TETHERING_NCM = 4; // 0x4
13499    field public static final int TETHERING_USB = 1; // 0x1
13500    field public static final int TETHERING_WIFI = 0; // 0x0
13501    field public static final int TETHERING_WIFI_P2P = 3; // 0x3
13502    field public static final int TETHER_ERROR_DHCPSERVER_ERROR = 12; // 0xc
13503    field public static final int TETHER_ERROR_DISABLE_FORWARDING_ERROR = 9; // 0x9
13504    field public static final int TETHER_ERROR_ENABLE_FORWARDING_ERROR = 8; // 0x8
13505    field public static final int TETHER_ERROR_ENTITLEMENT_UNKNOWN = 13; // 0xd
13506    field public static final int TETHER_ERROR_IFACE_CFG_ERROR = 10; // 0xa
13507    field public static final int TETHER_ERROR_INTERNAL_ERROR = 5; // 0x5
13508    field public static final int TETHER_ERROR_NO_ACCESS_TETHERING_PERMISSION = 15; // 0xf
13509    field public static final int TETHER_ERROR_NO_CHANGE_TETHERING_PERMISSION = 14; // 0xe
13510    field public static final int TETHER_ERROR_NO_ERROR = 0; // 0x0
13511    field public static final int TETHER_ERROR_PROVISIONING_FAILED = 11; // 0xb
13512    field public static final int TETHER_ERROR_SERVICE_UNAVAIL = 2; // 0x2
13513    field public static final int TETHER_ERROR_TETHER_IFACE_ERROR = 6; // 0x6
13514    field public static final int TETHER_ERROR_UNAVAIL_IFACE = 4; // 0x4
13515    field public static final int TETHER_ERROR_UNKNOWN_IFACE = 1; // 0x1
13516    field public static final int TETHER_ERROR_UNKNOWN_TYPE = 16; // 0x10
13517    field public static final int TETHER_ERROR_UNSUPPORTED = 3; // 0x3
13518    field public static final int TETHER_ERROR_UNTETHER_IFACE_ERROR = 7; // 0x7
13519    field public static final int TETHER_HARDWARE_OFFLOAD_FAILED = 2; // 0x2
13520    field public static final int TETHER_HARDWARE_OFFLOAD_STARTED = 1; // 0x1
13521    field public static final int TETHER_HARDWARE_OFFLOAD_STOPPED = 0; // 0x0
13522  }
13523
13524  public static interface TetheringManager.OnTetheringEntitlementResultListener {
13525    method public void onTetheringEntitlementResult(int);
13526  }
13527
13528  public static interface TetheringManager.StartTetheringCallback {
13529    method public default void onTetheringFailed(int);
13530    method public default void onTetheringStarted();
13531  }
13532
13533  public static interface TetheringManager.TetheringEventCallback {
13534    method public default void onClientsChanged(@NonNull java.util.Collection<android.net.TetheredClient>);
13535    method public default void onError(@NonNull android.net.TetheringInterface, int);
13536    method public default void onError(@NonNull String, int);
13537    method public default void onLocalOnlyInterfacesChanged(@NonNull java.util.List<java.lang.String>);
13538    method public default void onLocalOnlyInterfacesChanged(@NonNull java.util.Set<android.net.TetheringInterface>);
13539    method public default void onOffloadStatusChanged(int);
13540    method public default void onTetherableInterfacesChanged(@NonNull java.util.List<java.lang.String>);
13541    method public default void onTetherableInterfacesChanged(@NonNull java.util.Set<android.net.TetheringInterface>);
13542    method public default void onTetheredInterfacesChanged(@NonNull java.util.List<java.lang.String>);
13543    method public default void onTetheredInterfacesChanged(@NonNull java.util.Set<android.net.TetheringInterface>);
13544    method public default void onTetheringSupported(boolean);
13545    method public default void onUpstreamChanged(@Nullable android.net.Network);
13546  }
13547
13548  public static final class TetheringManager.TetheringRequest implements android.os.Parcelable {
13549    method public int describeContents();
13550    method @Nullable public android.net.LinkAddress getClientStaticIpv4Address();
13551    method public int getConnectivityScope();
13552    method @Nullable public android.net.LinkAddress getLocalIpv4Address();
13553    method public boolean getShouldShowEntitlementUi();
13554    method public int getTetheringType();
13555    method public boolean isExemptFromEntitlementCheck();
13556    method public void writeToParcel(@NonNull android.os.Parcel, int);
13557    field @NonNull public static final android.os.Parcelable.Creator<android.net.TetheringManager.TetheringRequest> CREATOR;
13558  }
13559
13560  public static class TetheringManager.TetheringRequest.Builder {
13561    ctor public TetheringManager.TetheringRequest.Builder(int);
13562    method @NonNull public android.net.TetheringManager.TetheringRequest build();
13563    method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setConnectivityScope(int);
13564    method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setExemptFromEntitlementCheck(boolean);
13565    method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setShouldShowEntitlementUi(boolean);
13566    method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setStaticIpv4Addresses(@NonNull android.net.LinkAddress, @NonNull android.net.LinkAddress);
13567  }
13568
13569  public class TrafficStats {
13570    method public static void setThreadStatsTagApp();
13571    method public static void setThreadStatsTagBackup();
13572    method public static void setThreadStatsTagRestore();
13573    field public static final int TAG_NETWORK_STACK_IMPERSONATION_RANGE_END = -113; // 0xffffff8f
13574    field public static final int TAG_NETWORK_STACK_IMPERSONATION_RANGE_START = -128; // 0xffffff80
13575    field public static final int TAG_NETWORK_STACK_RANGE_END = -257; // 0xfffffeff
13576    field public static final int TAG_NETWORK_STACK_RANGE_START = -768; // 0xfffffd00
13577    field public static final int TAG_SYSTEM_IMPERSONATION_RANGE_END = -241; // 0xffffff0f
13578    field public static final int TAG_SYSTEM_IMPERSONATION_RANGE_START = -256; // 0xffffff00
13579  }
13580
13581  public abstract class Uri implements java.lang.Comparable<android.net.Uri> android.os.Parcelable {
13582    method @NonNull public String toSafeString();
13583  }
13584
13585  public class VpnService extends android.app.Service {
13586    method @RequiresPermission(android.Manifest.permission.CONTROL_VPN) public static void prepareAndAuthorize(android.content.Context);
13587  }
13588
13589  public final class VpnTransportInfo implements android.os.Parcelable android.net.TransportInfo {
13590    ctor public VpnTransportInfo(int, @Nullable String, boolean, boolean);
13591    method public boolean areLongLivedTcpConnectionsExpensive();
13592    method public int describeContents();
13593    method public int getType();
13594    method public boolean isBypassable();
13595    method public void writeToParcel(@NonNull android.os.Parcel, int);
13596    field @NonNull public static final android.os.Parcelable.Creator<android.net.VpnTransportInfo> CREATOR;
13597  }
13598
13599  public class WebAddress {
13600    ctor public WebAddress(String) throws android.net.ParseException;
13601  }
13602
13603  @Deprecated public class WifiKey implements android.os.Parcelable {
13604    ctor @Deprecated public WifiKey(String, String);
13605    method @Deprecated public int describeContents();
13606    method @Deprecated public void writeToParcel(android.os.Parcel, int);
13607    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.net.WifiKey> CREATOR;
13608    field @Deprecated public final String bssid;
13609    field @Deprecated public final String ssid;
13610  }
13611
13612}
13613
13614package android.net.apf {
13615
13616  public final class ApfCapabilities implements android.os.Parcelable {
13617    ctor public ApfCapabilities(int, int, int);
13618    method public int describeContents();
13619    method public static boolean getApfDrop8023Frames();
13620    method @NonNull public static int[] getApfEtherTypeBlackList();
13621    method public boolean hasDataAccess();
13622    method public void writeToParcel(android.os.Parcel, int);
13623    field public static final android.os.Parcelable.Creator<android.net.apf.ApfCapabilities> CREATOR;
13624    field public final int apfPacketFormat;
13625    field public final int apfVersionSupported;
13626    field public final int maximumApfProgramSize;
13627  }
13628
13629}
13630
13631package android.net.eap {
13632
13633  public final class EapSessionConfig {
13634    method @Deprecated @Nullable public android.net.eap.EapSessionConfig.EapMsChapV2Config getEapMsChapV2onfig();
13635  }
13636
13637  public static class EapSessionConfig.EapAkaConfig extends android.net.eap.EapSessionConfig.EapUiccConfig {
13638  }
13639
13640  public static class EapSessionConfig.EapSimConfig extends android.net.eap.EapSessionConfig.EapUiccConfig {
13641  }
13642
13643  @Deprecated public abstract static class EapSessionConfig.EapUiccConfig extends android.net.eap.EapSessionConfig.EapMethodConfig {
13644    method @Deprecated public int getAppType();
13645    method @Deprecated public int getSubId();
13646  }
13647
13648}
13649
13650package android.net.ipsec.ike {
13651
13652  public interface ChildSessionCallback {
13653    method @Deprecated public default void onClosedExceptionally(@NonNull android.net.ipsec.ike.exceptions.IkeException);
13654    method public default void onIpSecTransformsMigrated(@NonNull android.net.IpSecTransform, @NonNull android.net.IpSecTransform);
13655  }
13656
13657  public final class ChildSessionConfiguration {
13658    method @NonNull public java.util.List<android.net.LinkAddress> getInternalAddresses();
13659    method @NonNull public java.util.List<java.net.InetAddress> getInternalDhcpServers();
13660    method @NonNull public java.util.List<java.net.InetAddress> getInternalDnsServers();
13661    method @NonNull public java.util.List<android.net.IpPrefix> getInternalSubnets();
13662  }
13663
13664  public static final class ChildSessionConfiguration.Builder {
13665    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder addInternalAddress(@NonNull android.net.LinkAddress);
13666    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder addInternalDhcpServer(@NonNull java.net.InetAddress);
13667    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder addInternalDnsServer(@NonNull java.net.InetAddress);
13668    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder addInternalSubnet(@NonNull android.net.IpPrefix);
13669    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder clearInternalAddresses();
13670    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder clearInternalDhcpServers();
13671    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder clearInternalDnsServers();
13672    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder clearInternalSubnets();
13673  }
13674
13675  public abstract class ChildSessionParams {
13676    method @Deprecated @NonNull public java.util.List<android.net.ipsec.ike.ChildSaProposal> getSaProposals();
13677  }
13678
13679  public final class IkeSession implements java.lang.AutoCloseable {
13680    method public void requestLivenessCheck();
13681    method public void setNetwork(@NonNull android.net.Network);
13682  }
13683
13684  public interface IkeSessionCallback {
13685    method @Deprecated public default void onClosedExceptionally(@NonNull android.net.ipsec.ike.exceptions.IkeException);
13686    method @Deprecated public default void onError(@NonNull android.net.ipsec.ike.exceptions.IkeProtocolException);
13687    method public default void onIkeSessionConnectionInfoChanged(@NonNull android.net.ipsec.ike.IkeSessionConnectionInfo);
13688    method public default void onLivenessStatusChanged(int);
13689    field public static final int LIVENESS_STATUS_BACKGROUND_ONGOING = 3; // 0x3
13690    field public static final int LIVENESS_STATUS_BACKGROUND_STARTED = 2; // 0x2
13691    field public static final int LIVENESS_STATUS_FAILURE = 5; // 0x5
13692    field public static final int LIVENESS_STATUS_ON_DEMAND_ONGOING = 1; // 0x1
13693    field public static final int LIVENESS_STATUS_ON_DEMAND_STARTED = 0; // 0x0
13694    field public static final int LIVENESS_STATUS_SUCCESS = 4; // 0x4
13695  }
13696
13697  public final class IkeSessionConfiguration {
13698    method @NonNull public java.util.List<java.net.InetAddress> getPcscfServers();
13699  }
13700
13701  public static final class IkeSessionConfiguration.Builder {
13702    method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration.Builder addPcscfServer(@NonNull java.net.InetAddress);
13703    method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration.Builder clearPcscfServers();
13704  }
13705
13706  public final class IkeSessionParams {
13707    method @NonNull public java.util.List<android.net.ipsec.ike.IkeSessionParams.IkeConfigRequest> getConfigurationRequests();
13708    method @IntRange(from=0x0, to=0x3f) public int getDscp();
13709    method @Nullable public android.net.ipsec.ike.ike3gpp.Ike3gppExtension getIke3gppExtension();
13710    method @NonNull public int[] getLivenessRetransmissionTimeoutsMillis();
13711    method @Deprecated @NonNull public java.util.List<android.net.ipsec.ike.IkeSaProposal> getSaProposals();
13712    field public static final int IKE_OPTION_AUTOMATIC_KEEPALIVE_ON_OFF = 8; // 0x8
13713    field public static final int IKE_OPTION_REKEY_MOBILITY = 5; // 0x5
13714  }
13715
13716  public static final class IkeSessionParams.Builder {
13717    ctor @Deprecated public IkeSessionParams.Builder(@NonNull android.content.Context);
13718    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder addPcscfServerRequest(int);
13719    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder addPcscfServerRequest(@NonNull java.net.InetAddress);
13720    method @Deprecated @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder addSaProposal(@NonNull android.net.ipsec.ike.IkeSaProposal);
13721    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setDscp(@IntRange(from=0x0, to=0x3f) int);
13722    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setIke3gppExtension(@NonNull android.net.ipsec.ike.ike3gpp.Ike3gppExtension);
13723    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setLivenessRetransmissionTimeoutsMillis(@NonNull int[]);
13724  }
13725
13726  public static interface IkeSessionParams.ConfigRequestIpv4PcscfServer extends android.net.ipsec.ike.IkeSessionParams.IkeConfigRequest {
13727    method @Nullable public java.net.Inet4Address getAddress();
13728  }
13729
13730  public static interface IkeSessionParams.ConfigRequestIpv6PcscfServer extends android.net.ipsec.ike.IkeSessionParams.IkeConfigRequest {
13731    method @Nullable public java.net.Inet6Address getAddress();
13732  }
13733
13734  public static interface IkeSessionParams.IkeConfigRequest {
13735  }
13736
13737  public static final class TransportModeChildSessionParams.Builder {
13738    method @Deprecated @NonNull public android.net.ipsec.ike.TransportModeChildSessionParams.Builder addSaProposal(@NonNull android.net.ipsec.ike.ChildSaProposal);
13739  }
13740
13741  public static final class TunnelModeChildSessionParams.Builder {
13742    method @Deprecated @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addSaProposal(@NonNull android.net.ipsec.ike.ChildSaProposal);
13743  }
13744
13745}
13746
13747package android.net.ipsec.ike.exceptions {
13748
13749  public abstract class IkeProtocolException extends android.net.ipsec.ike.exceptions.IkeException {
13750    method @Nullable public byte[] getErrorData();
13751  }
13752
13753}
13754
13755package android.net.ipsec.ike.ike3gpp {
13756
13757  public final class Ike3gppBackoffTimer extends android.net.ipsec.ike.ike3gpp.Ike3gppData {
13758    ctor public Ike3gppBackoffTimer(byte, @IntRange(from=0, to=0x3fff) int);
13759    method @IntRange(from=0, to=0x3fff) public int getBackoffCause();
13760    method public byte getBackoffTimer();
13761    method public int getDataType();
13762    field @Deprecated public static final int ERROR_TYPE_NETWORK_FAILURE = 10500; // 0x2904
13763    field @Deprecated public static final int ERROR_TYPE_NO_APN_SUBSCRIPTION = 9002; // 0x232a
13764  }
13765
13766  public abstract class Ike3gppData {
13767    method public abstract int getDataType();
13768    field public static final int DATA_TYPE_NOTIFY_BACKOFF_TIMER = 2; // 0x2
13769    field public static final int DATA_TYPE_NOTIFY_N1_MODE_INFORMATION = 1; // 0x1
13770  }
13771
13772  public final class Ike3gppExtension {
13773    ctor public Ike3gppExtension(@NonNull android.net.ipsec.ike.ike3gpp.Ike3gppParams, @NonNull android.net.ipsec.ike.ike3gpp.Ike3gppExtension.Ike3gppDataListener);
13774    method @NonNull public android.net.ipsec.ike.ike3gpp.Ike3gppExtension.Ike3gppDataListener getIke3gppDataListener();
13775    method @NonNull public android.net.ipsec.ike.ike3gpp.Ike3gppParams getIke3gppParams();
13776  }
13777
13778  public static interface Ike3gppExtension.Ike3gppDataListener {
13779    method public void onIke3gppDataReceived(@NonNull java.util.List<android.net.ipsec.ike.ike3gpp.Ike3gppData>);
13780  }
13781
13782  public final class Ike3gppN1ModeInformation extends android.net.ipsec.ike.ike3gpp.Ike3gppData {
13783    ctor public Ike3gppN1ModeInformation(@NonNull byte[]);
13784    method public int getDataType();
13785    method @NonNull public byte[] getSnssai();
13786  }
13787
13788  public final class Ike3gppParams {
13789    method @Nullable public String getMobileDeviceIdentity();
13790    method public byte getPduSessionId();
13791    field public static final byte PDU_SESSION_ID_UNSET = 0; // 0x0
13792  }
13793
13794  public static final class Ike3gppParams.Builder {
13795    ctor public Ike3gppParams.Builder();
13796    method @NonNull public android.net.ipsec.ike.ike3gpp.Ike3gppParams build();
13797    method @NonNull public android.net.ipsec.ike.ike3gpp.Ike3gppParams.Builder setMobileDeviceIdentity(@Nullable String);
13798    method @NonNull public android.net.ipsec.ike.ike3gpp.Ike3gppParams.Builder setPduSessionId(byte);
13799  }
13800
13801}
13802
13803package android.net.metrics {
13804
13805  @Deprecated public final class ApfProgramEvent implements android.net.metrics.IpConnectivityLog.Event {
13806    method @Deprecated public int describeContents();
13807    method @Deprecated public void writeToParcel(android.os.Parcel, int);
13808  }
13809
13810  @Deprecated public static final class ApfProgramEvent.Builder {
13811    ctor @Deprecated public ApfProgramEvent.Builder();
13812    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent build();
13813    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setActualLifetime(long);
13814    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setCurrentRas(int);
13815    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setFilteredRas(int);
13816    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setFlags(boolean, boolean);
13817    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setLifetime(long);
13818    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setProgramLength(int);
13819  }
13820
13821  @Deprecated public final class ApfStats implements android.net.metrics.IpConnectivityLog.Event {
13822    method @Deprecated public int describeContents();
13823    method @Deprecated public void writeToParcel(android.os.Parcel, int);
13824  }
13825
13826  @Deprecated public static final class ApfStats.Builder {
13827    ctor @Deprecated public ApfStats.Builder();
13828    method @Deprecated @NonNull public android.net.metrics.ApfStats build();
13829    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setDroppedRas(int);
13830    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setDurationMs(long);
13831    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setMatchingRas(int);
13832    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setMaxProgramSize(int);
13833    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setParseErrors(int);
13834    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setProgramUpdates(int);
13835    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setProgramUpdatesAll(int);
13836    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setProgramUpdatesAllowingMulticast(int);
13837    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setReceivedRas(int);
13838    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setZeroLifetimeRas(int);
13839  }
13840
13841  @Deprecated public final class DhcpClientEvent implements android.net.metrics.IpConnectivityLog.Event {
13842    method @Deprecated public int describeContents();
13843    method @Deprecated public void writeToParcel(android.os.Parcel, int);
13844  }
13845
13846  @Deprecated public static final class DhcpClientEvent.Builder {
13847    ctor @Deprecated public DhcpClientEvent.Builder();
13848    method @Deprecated @NonNull public android.net.metrics.DhcpClientEvent build();
13849    method @Deprecated @NonNull public android.net.metrics.DhcpClientEvent.Builder setDurationMs(int);
13850    method @Deprecated @NonNull public android.net.metrics.DhcpClientEvent.Builder setMsg(String);
13851  }
13852
13853  @Deprecated public final class DhcpErrorEvent implements android.net.metrics.IpConnectivityLog.Event {
13854    ctor @Deprecated public DhcpErrorEvent(int);
13855    method @Deprecated public int describeContents();
13856    method @Deprecated public static int errorCodeWithOption(int, int);
13857    method @Deprecated public void writeToParcel(android.os.Parcel, int);
13858    field @Deprecated public static final int BOOTP_TOO_SHORT = 67174400; // 0x4010000
13859    field @Deprecated public static final int BUFFER_UNDERFLOW = 83951616; // 0x5010000
13860    field @Deprecated public static final int DHCP_BAD_MAGIC_COOKIE = 67239936; // 0x4020000
13861    field @Deprecated public static final int DHCP_ERROR = 4; // 0x4
13862    field @Deprecated public static final int DHCP_INVALID_OPTION_LENGTH = 67305472; // 0x4030000
13863    field @Deprecated public static final int DHCP_NO_COOKIE = 67502080; // 0x4060000
13864    field @Deprecated public static final int DHCP_NO_MSG_TYPE = 67371008; // 0x4040000
13865    field @Deprecated public static final int DHCP_UNKNOWN_MSG_TYPE = 67436544; // 0x4050000
13866    field @Deprecated public static final int L2_ERROR = 1; // 0x1
13867    field @Deprecated public static final int L2_TOO_SHORT = 16842752; // 0x1010000
13868    field @Deprecated public static final int L2_WRONG_ETH_TYPE = 16908288; // 0x1020000
13869    field @Deprecated public static final int L3_ERROR = 2; // 0x2
13870    field @Deprecated public static final int L3_INVALID_IP = 33751040; // 0x2030000
13871    field @Deprecated public static final int L3_NOT_IPV4 = 33685504; // 0x2020000
13872    field @Deprecated public static final int L3_TOO_SHORT = 33619968; // 0x2010000
13873    field @Deprecated public static final int L4_ERROR = 3; // 0x3
13874    field @Deprecated public static final int L4_NOT_UDP = 50397184; // 0x3010000
13875    field @Deprecated public static final int L4_WRONG_PORT = 50462720; // 0x3020000
13876    field @Deprecated public static final int MISC_ERROR = 5; // 0x5
13877    field @Deprecated public static final int PARSING_ERROR = 84082688; // 0x5030000
13878    field @Deprecated public static final int RECEIVE_ERROR = 84017152; // 0x5020000
13879  }
13880
13881  @Deprecated public class IpConnectivityLog {
13882    ctor @Deprecated public IpConnectivityLog();
13883    method @Deprecated public boolean log(@NonNull android.net.metrics.IpConnectivityLog.Event);
13884    method @Deprecated public boolean log(@NonNull android.net.Network, @NonNull int[], @NonNull android.net.metrics.IpConnectivityLog.Event);
13885    method @Deprecated public boolean log(int, @NonNull int[], @NonNull android.net.metrics.IpConnectivityLog.Event);
13886    method @Deprecated public boolean log(@NonNull String, @NonNull android.net.metrics.IpConnectivityLog.Event);
13887    method @Deprecated public boolean log(long, @NonNull android.net.metrics.IpConnectivityLog.Event);
13888  }
13889
13890  @Deprecated public static interface IpConnectivityLog.Event extends android.os.Parcelable {
13891  }
13892
13893  @Deprecated public final class IpManagerEvent implements android.net.metrics.IpConnectivityLog.Event {
13894    ctor @Deprecated public IpManagerEvent(int, long);
13895    method @Deprecated public int describeContents();
13896    method @Deprecated public void writeToParcel(android.os.Parcel, int);
13897    field @Deprecated public static final int COMPLETE_LIFECYCLE = 3; // 0x3
13898    field @Deprecated public static final int ERROR_INTERFACE_NOT_FOUND = 8; // 0x8
13899    field @Deprecated public static final int ERROR_INVALID_PROVISIONING = 7; // 0x7
13900    field @Deprecated public static final int ERROR_STARTING_IPREACHABILITYMONITOR = 6; // 0x6
13901    field @Deprecated public static final int ERROR_STARTING_IPV4 = 4; // 0x4
13902    field @Deprecated public static final int ERROR_STARTING_IPV6 = 5; // 0x5
13903    field @Deprecated public static final int PROVISIONING_FAIL = 2; // 0x2
13904    field @Deprecated public static final int PROVISIONING_OK = 1; // 0x1
13905  }
13906
13907  @Deprecated public final class IpReachabilityEvent implements android.net.metrics.IpConnectivityLog.Event {
13908    ctor @Deprecated public IpReachabilityEvent(int);
13909    method @Deprecated public int describeContents();
13910    method @Deprecated public void writeToParcel(android.os.Parcel, int);
13911    field @Deprecated public static final int NUD_FAILED = 512; // 0x200
13912    field @Deprecated public static final int NUD_FAILED_ORGANIC = 1024; // 0x400
13913    field @Deprecated public static final int PROBE = 256; // 0x100
13914    field @Deprecated public static final int PROVISIONING_LOST = 768; // 0x300
13915    field @Deprecated public static final int PROVISIONING_LOST_ORGANIC = 1280; // 0x500
13916  }
13917
13918  @Deprecated public final class NetworkEvent implements android.net.metrics.IpConnectivityLog.Event {
13919    ctor @Deprecated public NetworkEvent(int);
13920    ctor @Deprecated public NetworkEvent(int, long);
13921    method @Deprecated public int describeContents();
13922    method @Deprecated public void writeToParcel(android.os.Parcel, int);
13923    field @Deprecated public static final int NETWORK_CAPTIVE_PORTAL_FOUND = 4; // 0x4
13924    field @Deprecated public static final int NETWORK_CONNECTED = 1; // 0x1
13925    field @Deprecated public static final int NETWORK_CONSECUTIVE_DNS_TIMEOUT_FOUND = 12; // 0xc
13926    field @Deprecated public static final int NETWORK_DISCONNECTED = 7; // 0x7
13927    field @Deprecated public static final int NETWORK_FIRST_VALIDATION_PORTAL_FOUND = 10; // 0xa
13928    field @Deprecated public static final int NETWORK_FIRST_VALIDATION_SUCCESS = 8; // 0x8
13929    field @Deprecated public static final int NETWORK_LINGER = 5; // 0x5
13930    field @Deprecated public static final int NETWORK_PARTIAL_CONNECTIVITY = 13; // 0xd
13931    field @Deprecated public static final int NETWORK_REVALIDATION_PORTAL_FOUND = 11; // 0xb
13932    field @Deprecated public static final int NETWORK_REVALIDATION_SUCCESS = 9; // 0x9
13933    field @Deprecated public static final int NETWORK_UNLINGER = 6; // 0x6
13934    field @Deprecated public static final int NETWORK_VALIDATED = 2; // 0x2
13935    field @Deprecated public static final int NETWORK_VALIDATION_FAILED = 3; // 0x3
13936  }
13937
13938  @Deprecated public final class RaEvent implements android.net.metrics.IpConnectivityLog.Event {
13939    method @Deprecated public int describeContents();
13940    method @Deprecated public void writeToParcel(android.os.Parcel, int);
13941  }
13942
13943  @Deprecated public static final class RaEvent.Builder {
13944    ctor @Deprecated public RaEvent.Builder();
13945    method @Deprecated @NonNull public android.net.metrics.RaEvent build();
13946    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updateDnsslLifetime(long);
13947    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updatePrefixPreferredLifetime(long);
13948    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updatePrefixValidLifetime(long);
13949    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updateRdnssLifetime(long);
13950    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updateRouteInfoLifetime(long);
13951    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updateRouterLifetime(long);
13952  }
13953
13954  @Deprecated public final class ValidationProbeEvent implements android.net.metrics.IpConnectivityLog.Event {
13955    method @Deprecated public int describeContents();
13956    method @Deprecated @NonNull public static String getProbeName(int);
13957    method @Deprecated public void writeToParcel(android.os.Parcel, int);
13958    field @Deprecated public static final int DNS_FAILURE = 0; // 0x0
13959    field @Deprecated public static final int DNS_SUCCESS = 1; // 0x1
13960    field @Deprecated public static final int PROBE_DNS = 0; // 0x0
13961    field @Deprecated public static final int PROBE_FALLBACK = 4; // 0x4
13962    field @Deprecated public static final int PROBE_HTTP = 1; // 0x1
13963    field @Deprecated public static final int PROBE_HTTPS = 2; // 0x2
13964    field @Deprecated public static final int PROBE_PAC = 3; // 0x3
13965    field @Deprecated public static final int PROBE_PRIVDNS = 5; // 0x5
13966  }
13967
13968  @Deprecated public static final class ValidationProbeEvent.Builder {
13969    ctor @Deprecated public ValidationProbeEvent.Builder();
13970    method @Deprecated @NonNull public android.net.metrics.ValidationProbeEvent build();
13971    method @Deprecated @NonNull public android.net.metrics.ValidationProbeEvent.Builder setDurationMs(long);
13972    method @Deprecated @NonNull public android.net.metrics.ValidationProbeEvent.Builder setProbeType(int, boolean);
13973    method @Deprecated @NonNull public android.net.metrics.ValidationProbeEvent.Builder setReturnCode(int);
13974  }
13975
13976}
13977
13978package android.net.netstats.provider {
13979
13980  public abstract class NetworkStatsProvider {
13981    ctor public NetworkStatsProvider();
13982    method public void notifyAlertReached();
13983    method public void notifyLimitReached();
13984    method public void notifyStatsUpdated(int, @NonNull android.net.NetworkStats, @NonNull android.net.NetworkStats);
13985    method public void notifyWarningReached();
13986    method public abstract void onRequestStatsUpdate(int);
13987    method public abstract void onSetAlert(long);
13988    method public abstract void onSetLimit(@NonNull String, long);
13989    method public void onSetWarningAndLimit(@NonNull String, long, long);
13990    field public static final int QUOTA_UNLIMITED = -1; // 0xffffffff
13991  }
13992
13993}
13994
13995package android.net.nsd {
13996
13997  public final class NsdManager {
13998    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public void registerOffloadEngine(@NonNull String, long, long, @NonNull java.util.concurrent.Executor, @NonNull android.net.nsd.OffloadEngine);
13999    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public void unregisterOffloadEngine(@NonNull android.net.nsd.OffloadEngine);
14000  }
14001
14002  public interface OffloadEngine {
14003    method public void onOffloadServiceRemoved(@NonNull android.net.nsd.OffloadServiceInfo);
14004    method public void onOffloadServiceUpdated(@NonNull android.net.nsd.OffloadServiceInfo);
14005    field public static final int OFFLOAD_CAPABILITY_BYPASS_MULTICAST_LOCK = 1; // 0x1
14006    field public static final int OFFLOAD_TYPE_FILTER_QUERIES = 2; // 0x2
14007    field public static final int OFFLOAD_TYPE_FILTER_REPLIES = 4; // 0x4
14008    field public static final int OFFLOAD_TYPE_REPLY = 1; // 0x1
14009  }
14010
14011  public final class OffloadServiceInfo implements android.os.Parcelable {
14012    ctor public OffloadServiceInfo(@NonNull android.net.nsd.OffloadServiceInfo.Key, @NonNull java.util.List<java.lang.String>, @NonNull String, @Nullable byte[], @IntRange(from=0, to=java.lang.Integer.MAX_VALUE) int, long);
14013    method public int describeContents();
14014    method @NonNull public String getHostname();
14015    method @NonNull public android.net.nsd.OffloadServiceInfo.Key getKey();
14016    method @Nullable public byte[] getOffloadPayload();
14017    method public long getOffloadType();
14018    method public int getPriority();
14019    method @NonNull public java.util.List<java.lang.String> getSubtypes();
14020    method public void writeToParcel(@NonNull android.os.Parcel, int);
14021    field @NonNull public static final android.os.Parcelable.Creator<android.net.nsd.OffloadServiceInfo> CREATOR;
14022  }
14023
14024  public static final class OffloadServiceInfo.Key implements android.os.Parcelable {
14025    ctor public OffloadServiceInfo.Key(@NonNull String, @NonNull String);
14026    method public int describeContents();
14027    method @NonNull public String getServiceName();
14028    method @NonNull public String getServiceType();
14029    method public void writeToParcel(@NonNull android.os.Parcel, int);
14030    field @NonNull public static final android.os.Parcelable.Creator<android.net.nsd.OffloadServiceInfo.Key> CREATOR;
14031  }
14032
14033}
14034
14035package android.net.sip {
14036
14037  @Deprecated public class SipAudioCall {
14038    method @Deprecated @Nullable public android.net.rtp.AudioGroup getAudioGroup();
14039    method @Deprecated public void setAudioGroup(@NonNull android.net.rtp.AudioGroup);
14040  }
14041
14042  @Deprecated public class SipManager {
14043    method @Deprecated @NonNull public java.util.List<android.net.sip.SipProfile> getProfiles() throws android.net.sip.SipException;
14044    field @Deprecated public static final String ACTION_SIP_CALL_OPTION_CHANGED = "android.net.sip.action.SIP_CALL_OPTION_CHANGED";
14045    field @Deprecated public static final String ACTION_SIP_INCOMING_CALL = "android.net.sip.action.SIP_INCOMING_CALL";
14046    field @Deprecated public static final String ACTION_SIP_REMOVE_PROFILE = "android.net.sip.action.SIP_REMOVE_PROFILE";
14047    field @Deprecated public static final String ACTION_SIP_SERVICE_UP = "android.net.sip.action.SIP_SERVICE_UP";
14048    field @Deprecated public static final String ACTION_START_SIP = "android.net.sip.action.START_SIP";
14049  }
14050
14051  @Deprecated public class SipProfile implements java.lang.Cloneable android.os.Parcelable java.io.Serializable {
14052    method @Deprecated public int getCallingUid();
14053  }
14054
14055}
14056
14057package android.net.thread {
14058
14059  public final class ActiveOperationalDataset implements android.os.Parcelable {
14060    method public int describeContents();
14061    method @NonNull public static android.net.thread.ActiveOperationalDataset fromThreadTlvs(@NonNull byte[]);
14062    method @NonNull public android.net.thread.OperationalDatasetTimestamp getActiveTimestamp();
14063    method @IntRange(from=0, to=65535) public int getChannel();
14064    method @NonNull @Size(min=1) public android.util.SparseArray<byte[]> getChannelMask();
14065    method @IntRange(from=0, to=255) public int getChannelPage();
14066    method @NonNull @Size(android.net.thread.ActiveOperationalDataset.LENGTH_EXTENDED_PAN_ID) public byte[] getExtendedPanId();
14067    method @NonNull public android.net.IpPrefix getMeshLocalPrefix();
14068    method @NonNull @Size(android.net.thread.ActiveOperationalDataset.LENGTH_NETWORK_KEY) public byte[] getNetworkKey();
14069    method @NonNull @Size(min=android.net.thread.ActiveOperationalDataset.LENGTH_MIN_NETWORK_NAME_BYTES, max=android.net.thread.ActiveOperationalDataset.LENGTH_MAX_NETWORK_NAME_BYTES) public String getNetworkName();
14070    method @IntRange(from=0, to=65534) public int getPanId();
14071    method @NonNull @Size(android.net.thread.ActiveOperationalDataset.LENGTH_PSKC) public byte[] getPskc();
14072    method @NonNull public android.net.thread.ActiveOperationalDataset.SecurityPolicy getSecurityPolicy();
14073    method @NonNull public byte[] toThreadTlvs();
14074    method public void writeToParcel(@NonNull android.os.Parcel, int);
14075    field public static final int CHANNEL_MAX_24_GHZ = 26; // 0x1a
14076    field public static final int CHANNEL_MIN_24_GHZ = 11; // 0xb
14077    field public static final int CHANNEL_PAGE_24_GHZ = 0; // 0x0
14078    field @NonNull public static final android.os.Parcelable.Creator<android.net.thread.ActiveOperationalDataset> CREATOR;
14079    field public static final int LENGTH_EXTENDED_PAN_ID = 8; // 0x8
14080    field public static final int LENGTH_MAX_DATASET_TLVS = 254; // 0xfe
14081    field public static final int LENGTH_MAX_NETWORK_NAME_BYTES = 16; // 0x10
14082    field public static final int LENGTH_MESH_LOCAL_PREFIX_BITS = 64; // 0x40
14083    field public static final int LENGTH_MIN_NETWORK_NAME_BYTES = 1; // 0x1
14084    field public static final int LENGTH_NETWORK_KEY = 16; // 0x10
14085    field public static final int LENGTH_PSKC = 16; // 0x10
14086  }
14087
14088  public static final class ActiveOperationalDataset.Builder {
14089    ctor public ActiveOperationalDataset.Builder();
14090    ctor public ActiveOperationalDataset.Builder(@NonNull android.net.thread.ActiveOperationalDataset);
14091    method @NonNull public android.net.thread.ActiveOperationalDataset build();
14092    method @NonNull public android.net.thread.ActiveOperationalDataset.Builder setActiveTimestamp(@NonNull android.net.thread.OperationalDatasetTimestamp);
14093    method @NonNull public android.net.thread.ActiveOperationalDataset.Builder setChannel(@IntRange(from=0, to=255) int, @IntRange(from=0, to=65535) int);
14094    method @NonNull public android.net.thread.ActiveOperationalDataset.Builder setChannelMask(@NonNull @Size(min=1) android.util.SparseArray<byte[]>);
14095    method @NonNull public android.net.thread.ActiveOperationalDataset.Builder setExtendedPanId(@NonNull @Size(android.net.thread.ActiveOperationalDataset.LENGTH_EXTENDED_PAN_ID) byte[]);
14096    method @NonNull public android.net.thread.ActiveOperationalDataset.Builder setMeshLocalPrefix(@NonNull android.net.IpPrefix);
14097    method @NonNull public android.net.thread.ActiveOperationalDataset.Builder setNetworkKey(@NonNull @Size(android.net.thread.ActiveOperationalDataset.LENGTH_NETWORK_KEY) byte[]);
14098    method @NonNull public android.net.thread.ActiveOperationalDataset.Builder setNetworkName(@NonNull @Size(min=android.net.thread.ActiveOperationalDataset.LENGTH_MIN_NETWORK_NAME_BYTES, max=android.net.thread.ActiveOperationalDataset.LENGTH_MAX_NETWORK_NAME_BYTES) String);
14099    method @NonNull public android.net.thread.ActiveOperationalDataset.Builder setPanId(@IntRange(from=0, to=65534) int);
14100    method @NonNull public android.net.thread.ActiveOperationalDataset.Builder setPskc(@NonNull @Size(android.net.thread.ActiveOperationalDataset.LENGTH_PSKC) byte[]);
14101    method @NonNull public android.net.thread.ActiveOperationalDataset.Builder setSecurityPolicy(@NonNull android.net.thread.ActiveOperationalDataset.SecurityPolicy);
14102  }
14103
14104  public static final class ActiveOperationalDataset.SecurityPolicy {
14105    ctor public ActiveOperationalDataset.SecurityPolicy(@IntRange(from=1, to=65535) int, @NonNull @Size(min=android.net.thread.ActiveOperationalDataset.SecurityPolicy.LENGTH_MIN_SECURITY_POLICY_FLAGS) byte[]);
14106    method @NonNull @Size(min=android.net.thread.ActiveOperationalDataset.SecurityPolicy.LENGTH_MIN_SECURITY_POLICY_FLAGS) public byte[] getFlags();
14107    method @IntRange(from=1, to=65535) public int getRotationTimeHours();
14108    field public static final int DEFAULT_ROTATION_TIME_HOURS = 672; // 0x2a0
14109    field public static final int LENGTH_MIN_SECURITY_POLICY_FLAGS = 1; // 0x1
14110  }
14111
14112  public final class OperationalDatasetTimestamp {
14113    ctor public OperationalDatasetTimestamp(@IntRange(from=0, to=281474976710655L) long, @IntRange(from=0, to=32767) int, boolean);
14114    method @NonNull public static android.net.thread.OperationalDatasetTimestamp fromInstant(@NonNull java.time.Instant);
14115    method @IntRange(from=0, to=281474976710655L) public long getSeconds();
14116    method @IntRange(from=0, to=32767) public int getTicks();
14117    method public boolean isAuthoritativeSource();
14118    method @NonNull public java.time.Instant toInstant();
14119  }
14120
14121  public final class PendingOperationalDataset implements android.os.Parcelable {
14122    ctor public PendingOperationalDataset(@NonNull android.net.thread.ActiveOperationalDataset, @NonNull android.net.thread.OperationalDatasetTimestamp, @NonNull java.time.Duration);
14123    method public int describeContents();
14124    method @NonNull public static android.net.thread.PendingOperationalDataset fromThreadTlvs(@NonNull byte[]);
14125    method @NonNull public android.net.thread.ActiveOperationalDataset getActiveOperationalDataset();
14126    method @NonNull public java.time.Duration getDelayTimer();
14127    method @NonNull public android.net.thread.OperationalDatasetTimestamp getPendingTimestamp();
14128    method @NonNull public byte[] toThreadTlvs();
14129    method public void writeToParcel(@NonNull android.os.Parcel, int);
14130    field @NonNull public static final android.os.Parcelable.Creator<android.net.thread.PendingOperationalDataset> CREATOR;
14131  }
14132
14133  public final class ThreadNetworkController {
14134    method public void createRandomizedDataset(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.net.thread.ActiveOperationalDataset,android.net.thread.ThreadNetworkException>);
14135    method public int getThreadVersion();
14136    method public static boolean isAttached(int);
14137    method @RequiresPermission("android.permission.THREAD_NETWORK_PRIVILEGED") public void join(@NonNull android.net.thread.ActiveOperationalDataset, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Void,android.net.thread.ThreadNetworkException>);
14138    method @RequiresPermission("android.permission.THREAD_NETWORK_PRIVILEGED") public void leave(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Void,android.net.thread.ThreadNetworkException>);
14139    method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_NETWORK_STATE, "android.permission.THREAD_NETWORK_PRIVILEGED"}) public void registerOperationalDatasetCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.thread.ThreadNetworkController.OperationalDatasetCallback);
14140    method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void registerStateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.thread.ThreadNetworkController.StateCallback);
14141    method @RequiresPermission("android.permission.THREAD_NETWORK_PRIVILEGED") public void scheduleMigration(@NonNull android.net.thread.PendingOperationalDataset, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Void,android.net.thread.ThreadNetworkException>);
14142    method @RequiresPermission("android.permission.THREAD_NETWORK_PRIVILEGED") public void setEnabled(boolean, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Void,android.net.thread.ThreadNetworkException>);
14143    method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_NETWORK_STATE, "android.permission.THREAD_NETWORK_PRIVILEGED"}) public void unregisterOperationalDatasetCallback(@NonNull android.net.thread.ThreadNetworkController.OperationalDatasetCallback);
14144    method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void unregisterStateCallback(@NonNull android.net.thread.ThreadNetworkController.StateCallback);
14145    field public static final int DEVICE_ROLE_CHILD = 2; // 0x2
14146    field public static final int DEVICE_ROLE_DETACHED = 1; // 0x1
14147    field public static final int DEVICE_ROLE_LEADER = 4; // 0x4
14148    field public static final int DEVICE_ROLE_ROUTER = 3; // 0x3
14149    field public static final int DEVICE_ROLE_STOPPED = 0; // 0x0
14150    field public static final int STATE_DISABLED = 0; // 0x0
14151    field public static final int STATE_DISABLING = 2; // 0x2
14152    field public static final int STATE_ENABLED = 1; // 0x1
14153    field public static final int THREAD_VERSION_1_3 = 4; // 0x4
14154  }
14155
14156  public static interface ThreadNetworkController.OperationalDatasetCallback {
14157    method public void onActiveOperationalDatasetChanged(@Nullable android.net.thread.ActiveOperationalDataset);
14158    method public default void onPendingOperationalDatasetChanged(@Nullable android.net.thread.PendingOperationalDataset);
14159  }
14160
14161  public static interface ThreadNetworkController.StateCallback {
14162    method public void onDeviceRoleChanged(int);
14163    method public default void onPartitionIdChanged(long);
14164    method public default void onThreadEnableStateChanged(int);
14165  }
14166
14167  public class ThreadNetworkException extends java.lang.Exception {
14168    ctor public ThreadNetworkException(int, @NonNull String);
14169    method public int getErrorCode();
14170    field public static final int ERROR_ABORTED = 2; // 0x2
14171    field public static final int ERROR_BUSY = 5; // 0x5
14172    field public static final int ERROR_FAILED_PRECONDITION = 6; // 0x6
14173    field public static final int ERROR_INTERNAL_ERROR = 1; // 0x1
14174    field public static final int ERROR_REJECTED_BY_PEER = 8; // 0x8
14175    field public static final int ERROR_RESOURCE_EXHAUSTED = 10; // 0xa
14176    field public static final int ERROR_RESPONSE_BAD_FORMAT = 9; // 0x9
14177    field public static final int ERROR_THREAD_DISABLED = 12; // 0xc
14178    field public static final int ERROR_TIMEOUT = 3; // 0x3
14179    field public static final int ERROR_UNAVAILABLE = 4; // 0x4
14180    field public static final int ERROR_UNKNOWN = 11; // 0xb
14181    field public static final int ERROR_UNSUPPORTED_CHANNEL = 7; // 0x7
14182  }
14183
14184  public final class ThreadNetworkManager {
14185    method @NonNull public java.util.List<android.net.thread.ThreadNetworkController> getAllThreadNetworkControllers();
14186  }
14187
14188}
14189
14190package android.net.util {
14191
14192  public final class SocketUtils {
14193    method public static void bindSocketToInterface(@NonNull java.io.FileDescriptor, @NonNull String) throws android.system.ErrnoException;
14194    method public static void closeSocket(@Nullable java.io.FileDescriptor) throws java.io.IOException;
14195    method @NonNull public static java.net.SocketAddress makeNetlinkSocketAddress(int, int);
14196    method @Deprecated @NonNull public static java.net.SocketAddress makePacketSocketAddress(int, @NonNull byte[]);
14197    method @NonNull public static java.net.SocketAddress makePacketSocketAddress(int, int);
14198    method @NonNull public static java.net.SocketAddress makePacketSocketAddress(int, int, @NonNull byte[]);
14199  }
14200
14201}
14202
14203package android.net.vcn {
14204
14205  public class VcnManager {
14206    method @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public void addVcnNetworkPolicyChangeListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.vcn.VcnManager.VcnNetworkPolicyChangeListener);
14207    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.vcn.VcnNetworkPolicyResult applyVcnNetworkPolicy(@NonNull android.net.NetworkCapabilities, @NonNull android.net.LinkProperties);
14208    method @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public void removeVcnNetworkPolicyChangeListener(@NonNull android.net.vcn.VcnManager.VcnNetworkPolicyChangeListener);
14209  }
14210
14211  public static interface VcnManager.VcnNetworkPolicyChangeListener {
14212    method public void onPolicyChanged();
14213  }
14214
14215  public final class VcnNetworkPolicyResult implements android.os.Parcelable {
14216    method public int describeContents();
14217    method @NonNull public android.net.NetworkCapabilities getNetworkCapabilities();
14218    method public boolean isTeardownRequested();
14219    method public void writeToParcel(@NonNull android.os.Parcel, int);
14220    field @NonNull public static final android.os.Parcelable.Creator<android.net.vcn.VcnNetworkPolicyResult> CREATOR;
14221  }
14222
14223}
14224
14225package android.net.wifi {
14226
14227  public final class CoexUnsafeChannel implements android.os.Parcelable {
14228    ctor public CoexUnsafeChannel(int, int);
14229    ctor public CoexUnsafeChannel(int, int, int);
14230    method public int describeContents();
14231    method public int getBand();
14232    method public int getChannel();
14233    method public int getPowerCapDbm();
14234    method public void writeToParcel(android.os.Parcel, int);
14235    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.CoexUnsafeChannel> CREATOR;
14236    field public static final int POWER_CAP_NONE = 2147483647; // 0x7fffffff
14237  }
14238
14239  public abstract class EasyConnectStatusCallback {
14240    ctor public EasyConnectStatusCallback();
14241    method public void onBootstrapUriGenerated(@NonNull android.net.Uri);
14242    method public abstract void onConfiguratorSuccess(int);
14243    method public abstract void onEnrolleeSuccess(int);
14244    method public void onFailure(int);
14245    method public void onFailure(int, @Nullable String, @NonNull android.util.SparseArray<int[]>, @NonNull int[]);
14246    method public abstract void onProgress(int);
14247    field public static final int EASY_CONNECT_EVENT_PROGRESS_AUTHENTICATION_SUCCESS = 0; // 0x0
14248    field public static final int EASY_CONNECT_EVENT_PROGRESS_CONFIGURATION_ACCEPTED = 3; // 0x3
14249    field public static final int EASY_CONNECT_EVENT_PROGRESS_CONFIGURATION_SENT_WAITING_RESPONSE = 2; // 0x2
14250    field public static final int EASY_CONNECT_EVENT_PROGRESS_RESPONSE_PENDING = 1; // 0x1
14251    field public static final int EASY_CONNECT_EVENT_SUCCESS_CONFIGURATION_APPLIED = 1; // 0x1
14252    field public static final int EASY_CONNECT_EVENT_SUCCESS_CONFIGURATION_SENT = 0; // 0x0
14253  }
14254
14255  public final class MscsParams implements android.os.Parcelable {
14256    method public int describeContents();
14257    method public int getFrameClassifierFields();
14258    method @IntRange(from=0, to=0x3938700) public int getStreamTimeoutUs();
14259    method public int getUserPriorityBitmap();
14260    method @IntRange(from=0, to=7) public int getUserPriorityLimit();
14261    method public void writeToParcel(@NonNull android.os.Parcel, int);
14262    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.MscsParams> CREATOR;
14263    field public static final int FRAME_CLASSIFIER_DSCP = 32; // 0x20
14264    field public static final int FRAME_CLASSIFIER_DST_IP_ADDR = 4; // 0x4
14265    field public static final int FRAME_CLASSIFIER_DST_PORT = 16; // 0x10
14266    field public static final int FRAME_CLASSIFIER_FLOW_LABEL = 128; // 0x80
14267    field public static final int FRAME_CLASSIFIER_IP_VERSION = 1; // 0x1
14268    field public static final int FRAME_CLASSIFIER_PROTOCOL_NEXT_HDR = 64; // 0x40
14269    field public static final int FRAME_CLASSIFIER_SRC_IP_ADDR = 2; // 0x2
14270    field public static final int FRAME_CLASSIFIER_SRC_PORT = 8; // 0x8
14271  }
14272
14273  public static final class MscsParams.Builder {
14274    ctor public MscsParams.Builder();
14275    method @NonNull public android.net.wifi.MscsParams build();
14276    method @NonNull public android.net.wifi.MscsParams.Builder setFrameClassifierFields(int);
14277    method @NonNull public android.net.wifi.MscsParams.Builder setStreamTimeoutUs(@IntRange(from=0, to=0x3938700) int);
14278    method @NonNull public android.net.wifi.MscsParams.Builder setUserPriorityBitmap(int);
14279    method @NonNull public android.net.wifi.MscsParams.Builder setUserPriorityLimit(@IntRange(from=0, to=7) int);
14280  }
14281
14282  public final class OuiKeyedData implements android.os.Parcelable {
14283    method public int describeContents();
14284    method @NonNull public android.os.PersistableBundle getData();
14285    method public int getOui();
14286    method public void writeToParcel(@NonNull android.os.Parcel, int);
14287    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.OuiKeyedData> CREATOR;
14288  }
14289
14290  public static final class OuiKeyedData.Builder {
14291    ctor public OuiKeyedData.Builder(int, @NonNull android.os.PersistableBundle);
14292    method @NonNull public android.net.wifi.OuiKeyedData build();
14293  }
14294
14295  public final class QosCharacteristics implements android.os.Parcelable {
14296    method public int describeContents();
14297    method @IntRange(from=1, to=java.lang.Integer.MAX_VALUE) public int getBurstSizeOctets();
14298    method @IntRange(from=0, to=15) public int getCountExponent();
14299    method @IntRange(from=1, to=java.lang.Integer.MAX_VALUE) public int getDelayBoundMicros();
14300    method public int getDeliveryRatio();
14301    method @IntRange(from=1, to=java.lang.Short.MAX_VALUE) public int getMaxMsduSizeOctets();
14302    method @IntRange(from=1, to=java.lang.Integer.MAX_VALUE) public int getMaxServiceIntervalMicros();
14303    method @IntRange(from=1, to=java.lang.Integer.MAX_VALUE) public int getMeanDataRateKbps();
14304    method @IntRange(from=1, to=java.lang.Integer.MAX_VALUE) public int getMinDataRateKbps();
14305    method @IntRange(from=1, to=java.lang.Integer.MAX_VALUE) public int getMinServiceIntervalMicros();
14306    method @IntRange(from=1, to=java.lang.Short.MAX_VALUE) public int getMsduLifetimeMillis();
14307    method public int getServiceStartTimeLinkId();
14308    method @IntRange(from=0, to=java.lang.Integer.MAX_VALUE) public int getServiceStartTimeMicros();
14309    method public void writeToParcel(@NonNull android.os.Parcel, int);
14310    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.QosCharacteristics> CREATOR;
14311    field public static final int DELIVERY_RATIO_95 = 0; // 0x0
14312    field public static final int DELIVERY_RATIO_96 = 1; // 0x1
14313    field public static final int DELIVERY_RATIO_97 = 2; // 0x2
14314    field public static final int DELIVERY_RATIO_98 = 3; // 0x3
14315    field public static final int DELIVERY_RATIO_99 = 5; // 0x5
14316    field public static final int DELIVERY_RATIO_99_9 = 6; // 0x6
14317    field public static final int DELIVERY_RATIO_99_99 = 7; // 0x7
14318    field public static final int DELIVERY_RATIO_99_999 = 8; // 0x8
14319    field public static final int DELIVERY_RATIO_99_9999 = 9; // 0x9
14320  }
14321
14322  public static final class QosCharacteristics.Builder {
14323    ctor public QosCharacteristics.Builder(@IntRange(from=1, to=java.lang.Integer.MAX_VALUE) int, @IntRange(from=1, to=java.lang.Integer.MAX_VALUE) int, @IntRange(from=1, to=java.lang.Integer.MAX_VALUE) int, @IntRange(from=1, to=java.lang.Integer.MAX_VALUE) int);
14324    method @NonNull public android.net.wifi.QosCharacteristics build();
14325    method @NonNull public android.net.wifi.QosCharacteristics.Builder setBurstSizeOctets(@IntRange(from=1, to=java.lang.Integer.MAX_VALUE) int);
14326    method @NonNull public android.net.wifi.QosCharacteristics.Builder setMaxMsduSizeOctets(@IntRange(from=1, to=java.lang.Short.MAX_VALUE) int);
14327    method @NonNull public android.net.wifi.QosCharacteristics.Builder setMeanDataRateKbps(@IntRange(from=1, to=java.lang.Integer.MAX_VALUE) int);
14328    method @NonNull public android.net.wifi.QosCharacteristics.Builder setMsduDeliveryInfo(int, @IntRange(from=0, to=15) int);
14329    method @NonNull public android.net.wifi.QosCharacteristics.Builder setMsduLifetimeMillis(@IntRange(from=1, to=java.lang.Short.MAX_VALUE) int);
14330    method @NonNull public android.net.wifi.QosCharacteristics.Builder setServiceStartTimeInfo(@IntRange(from=0, to=java.lang.Integer.MAX_VALUE) int, int);
14331  }
14332
14333  public final class QosPolicyParams implements android.os.Parcelable {
14334    method public int describeContents();
14335    method @Nullable public java.net.InetAddress getDestinationAddress();
14336    method @IntRange(from=android.net.wifi.QosPolicyParams.DESTINATION_PORT_ANY, to=65535) public int getDestinationPort();
14337    method @Nullable public int[] getDestinationPortRange();
14338    method public int getDirection();
14339    method @IntRange(from=android.net.wifi.QosPolicyParams.DSCP_ANY, to=63) public int getDscp();
14340    method @Nullable public byte[] getFlowLabel();
14341    method public int getIpVersion();
14342    method @IntRange(from=1, to=255) public int getPolicyId();
14343    method public int getProtocol();
14344    method @Nullable public android.net.wifi.QosCharacteristics getQosCharacteristics();
14345    method @Nullable public java.net.InetAddress getSourceAddress();
14346    method @IntRange(from=android.net.DscpPolicy.SOURCE_PORT_ANY, to=65535) public int getSourcePort();
14347    method public int getUserPriority();
14348    method public void writeToParcel(@NonNull android.os.Parcel, int);
14349    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.QosPolicyParams> CREATOR;
14350    field public static final int DESTINATION_PORT_ANY = -1; // 0xffffffff
14351    field public static final int DIRECTION_DOWNLINK = 1; // 0x1
14352    field public static final int DIRECTION_UPLINK = 0; // 0x0
14353    field public static final int DSCP_ANY = -1; // 0xffffffff
14354    field public static final int IP_VERSION_4 = 4; // 0x4
14355    field public static final int IP_VERSION_6 = 6; // 0x6
14356    field public static final int IP_VERSION_ANY = -1; // 0xffffffff
14357    field public static final int PROTOCOL_ANY = -1; // 0xffffffff
14358    field public static final int PROTOCOL_ESP = 50; // 0x32
14359    field public static final int PROTOCOL_TCP = 6; // 0x6
14360    field public static final int PROTOCOL_UDP = 17; // 0x11
14361    field public static final int USER_PRIORITY_ANY = -1; // 0xffffffff
14362    field public static final int USER_PRIORITY_BACKGROUND_HIGH = 2; // 0x2
14363    field public static final int USER_PRIORITY_BACKGROUND_LOW = 1; // 0x1
14364    field public static final int USER_PRIORITY_BEST_EFFORT_HIGH = 3; // 0x3
14365    field public static final int USER_PRIORITY_BEST_EFFORT_LOW = 0; // 0x0
14366    field public static final int USER_PRIORITY_VIDEO_HIGH = 5; // 0x5
14367    field public static final int USER_PRIORITY_VIDEO_LOW = 4; // 0x4
14368    field public static final int USER_PRIORITY_VOICE_HIGH = 7; // 0x7
14369    field public static final int USER_PRIORITY_VOICE_LOW = 6; // 0x6
14370  }
14371
14372  public static final class QosPolicyParams.Builder {
14373    ctor public QosPolicyParams.Builder(@IntRange(from=1, to=255) int, int);
14374    method @NonNull public android.net.wifi.QosPolicyParams build();
14375    method @NonNull public android.net.wifi.QosPolicyParams.Builder setDestinationAddress(@Nullable java.net.InetAddress);
14376    method @NonNull public android.net.wifi.QosPolicyParams.Builder setDestinationPort(@IntRange(from=android.net.wifi.QosPolicyParams.DESTINATION_PORT_ANY, to=65535) int);
14377    method @NonNull public android.net.wifi.QosPolicyParams.Builder setDestinationPortRange(@IntRange(from=0, to=65535) int, @IntRange(from=0, to=65535) int);
14378    method @NonNull public android.net.wifi.QosPolicyParams.Builder setDscp(@IntRange(from=android.net.wifi.QosPolicyParams.DSCP_ANY, to=63) int);
14379    method @NonNull public android.net.wifi.QosPolicyParams.Builder setFlowLabel(@Nullable byte[]);
14380    method @NonNull public android.net.wifi.QosPolicyParams.Builder setIpVersion(int);
14381    method @NonNull public android.net.wifi.QosPolicyParams.Builder setProtocol(int);
14382    method @NonNull public android.net.wifi.QosPolicyParams.Builder setQosCharacteristics(@Nullable android.net.wifi.QosCharacteristics);
14383    method @NonNull public android.net.wifi.QosPolicyParams.Builder setSourceAddress(@Nullable java.net.InetAddress);
14384    method @NonNull public android.net.wifi.QosPolicyParams.Builder setSourcePort(@IntRange(from=android.net.DscpPolicy.SOURCE_PORT_ANY, to=65535) int);
14385    method @NonNull public android.net.wifi.QosPolicyParams.Builder setUserPriority(int);
14386  }
14387
14388  @Deprecated public class RttManager {
14389    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void disableResponder(android.net.wifi.RttManager.ResponderCallback);
14390    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void enableResponder(android.net.wifi.RttManager.ResponderCallback);
14391    method @Deprecated public android.net.wifi.RttManager.Capabilities getCapabilities();
14392    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public android.net.wifi.RttManager.RttCapabilities getRttCapabilities();
14393    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startRanging(android.net.wifi.RttManager.RttParams[], android.net.wifi.RttManager.RttListener);
14394    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void stopRanging(android.net.wifi.RttManager.RttListener);
14395    field @Deprecated public static final int BASE = 160256; // 0x27200
14396    field @Deprecated public static final int CMD_OP_ABORTED = 160260; // 0x27204
14397    field @Deprecated public static final int CMD_OP_DISABLE_RESPONDER = 160262; // 0x27206
14398    field @Deprecated public static final int CMD_OP_ENABLE_RESPONDER = 160261; // 0x27205
14399    field @Deprecated public static final int CMD_OP_ENALBE_RESPONDER_FAILED = 160264; // 0x27208
14400    field @Deprecated public static final int CMD_OP_ENALBE_RESPONDER_SUCCEEDED = 160263; // 0x27207
14401    field @Deprecated public static final int CMD_OP_FAILED = 160258; // 0x27202
14402    field @Deprecated public static final int CMD_OP_START_RANGING = 160256; // 0x27200
14403    field @Deprecated public static final int CMD_OP_STOP_RANGING = 160257; // 0x27201
14404    field @Deprecated public static final int CMD_OP_SUCCEEDED = 160259; // 0x27203
14405    field @Deprecated public static final String DESCRIPTION_KEY = "android.net.wifi.RttManager.Description";
14406    field @Deprecated public static final int PREAMBLE_HT = 2; // 0x2
14407    field @Deprecated public static final int PREAMBLE_LEGACY = 1; // 0x1
14408    field @Deprecated public static final int PREAMBLE_VHT = 4; // 0x4
14409    field @Deprecated public static final int REASON_INITIATOR_NOT_ALLOWED_WHEN_RESPONDER_ON = -6; // 0xfffffffa
14410    field @Deprecated public static final int REASON_INVALID_LISTENER = -3; // 0xfffffffd
14411    field @Deprecated public static final int REASON_INVALID_REQUEST = -4; // 0xfffffffc
14412    field @Deprecated public static final int REASON_NOT_AVAILABLE = -2; // 0xfffffffe
14413    field @Deprecated public static final int REASON_PERMISSION_DENIED = -5; // 0xfffffffb
14414    field @Deprecated public static final int REASON_UNSPECIFIED = -1; // 0xffffffff
14415    field @Deprecated public static final int RTT_BW_10_SUPPORT = 2; // 0x2
14416    field @Deprecated public static final int RTT_BW_160_SUPPORT = 32; // 0x20
14417    field @Deprecated public static final int RTT_BW_20_SUPPORT = 4; // 0x4
14418    field @Deprecated public static final int RTT_BW_40_SUPPORT = 8; // 0x8
14419    field @Deprecated public static final int RTT_BW_5_SUPPORT = 1; // 0x1
14420    field @Deprecated public static final int RTT_BW_80_SUPPORT = 16; // 0x10
14421    field @Deprecated public static final int RTT_CHANNEL_WIDTH_10 = 6; // 0x6
14422    field @Deprecated public static final int RTT_CHANNEL_WIDTH_160 = 3; // 0x3
14423    field @Deprecated public static final int RTT_CHANNEL_WIDTH_20 = 0; // 0x0
14424    field @Deprecated public static final int RTT_CHANNEL_WIDTH_40 = 1; // 0x1
14425    field @Deprecated public static final int RTT_CHANNEL_WIDTH_5 = 5; // 0x5
14426    field @Deprecated public static final int RTT_CHANNEL_WIDTH_80 = 2; // 0x2
14427    field @Deprecated public static final int RTT_CHANNEL_WIDTH_80P80 = 4; // 0x4
14428    field @Deprecated public static final int RTT_CHANNEL_WIDTH_UNSPECIFIED = -1; // 0xffffffff
14429    field @Deprecated public static final int RTT_PEER_NAN = 5; // 0x5
14430    field @Deprecated public static final int RTT_PEER_P2P_CLIENT = 4; // 0x4
14431    field @Deprecated public static final int RTT_PEER_P2P_GO = 3; // 0x3
14432    field @Deprecated public static final int RTT_PEER_TYPE_AP = 1; // 0x1
14433    field @Deprecated public static final int RTT_PEER_TYPE_STA = 2; // 0x2
14434    field @Deprecated public static final int RTT_PEER_TYPE_UNSPECIFIED = 0; // 0x0
14435    field @Deprecated public static final int RTT_STATUS_ABORTED = 8; // 0x8
14436    field @Deprecated public static final int RTT_STATUS_FAILURE = 1; // 0x1
14437    field @Deprecated public static final int RTT_STATUS_FAIL_AP_ON_DIFF_CHANNEL = 6; // 0x6
14438    field @Deprecated public static final int RTT_STATUS_FAIL_BUSY_TRY_LATER = 12; // 0xc
14439    field @Deprecated public static final int RTT_STATUS_FAIL_FTM_PARAM_OVERRIDE = 15; // 0xf
14440    field @Deprecated public static final int RTT_STATUS_FAIL_INVALID_TS = 9; // 0x9
14441    field @Deprecated public static final int RTT_STATUS_FAIL_NOT_SCHEDULED_YET = 4; // 0x4
14442    field @Deprecated public static final int RTT_STATUS_FAIL_NO_CAPABILITY = 7; // 0x7
14443    field @Deprecated public static final int RTT_STATUS_FAIL_NO_RSP = 2; // 0x2
14444    field @Deprecated public static final int RTT_STATUS_FAIL_PROTOCOL = 10; // 0xa
14445    field @Deprecated public static final int RTT_STATUS_FAIL_REJECTED = 3; // 0x3
14446    field @Deprecated public static final int RTT_STATUS_FAIL_SCHEDULE = 11; // 0xb
14447    field @Deprecated public static final int RTT_STATUS_FAIL_TM_TIMEOUT = 5; // 0x5
14448    field @Deprecated public static final int RTT_STATUS_INVALID_REQ = 13; // 0xd
14449    field @Deprecated public static final int RTT_STATUS_NO_WIFI = 14; // 0xe
14450    field @Deprecated public static final int RTT_STATUS_SUCCESS = 0; // 0x0
14451    field @Deprecated public static final int RTT_TYPE_11_MC = 4; // 0x4
14452    field @Deprecated public static final int RTT_TYPE_11_V = 2; // 0x2
14453    field @Deprecated public static final int RTT_TYPE_ONE_SIDED = 1; // 0x1
14454    field @Deprecated public static final int RTT_TYPE_TWO_SIDED = 2; // 0x2
14455    field @Deprecated public static final int RTT_TYPE_UNSPECIFIED = 0; // 0x0
14456  }
14457
14458  @Deprecated public class RttManager.Capabilities {
14459    ctor @Deprecated public RttManager.Capabilities();
14460    field @Deprecated public int supportedPeerType;
14461    field @Deprecated public int supportedType;
14462  }
14463
14464  @Deprecated public static class RttManager.ParcelableRttParams implements android.os.Parcelable {
14465    method @Deprecated public int describeContents();
14466    method @Deprecated public void writeToParcel(android.os.Parcel, int);
14467    field @Deprecated @NonNull public android.net.wifi.RttManager.RttParams[] mParams;
14468  }
14469
14470  @Deprecated public static class RttManager.ParcelableRttResults implements android.os.Parcelable {
14471    ctor @Deprecated public RttManager.ParcelableRttResults(android.net.wifi.RttManager.RttResult[]);
14472    method @Deprecated public int describeContents();
14473    method @Deprecated public void writeToParcel(android.os.Parcel, int);
14474    field @Deprecated public android.net.wifi.RttManager.RttResult[] mResults;
14475  }
14476
14477  @Deprecated public abstract static class RttManager.ResponderCallback {
14478    ctor @Deprecated public RttManager.ResponderCallback();
14479    method @Deprecated public abstract void onResponderEnableFailure(int);
14480    method @Deprecated public abstract void onResponderEnabled(android.net.wifi.RttManager.ResponderConfig);
14481  }
14482
14483  @Deprecated public static class RttManager.ResponderConfig implements android.os.Parcelable {
14484    ctor @Deprecated public RttManager.ResponderConfig();
14485    method @Deprecated public int describeContents();
14486    method @Deprecated public void writeToParcel(android.os.Parcel, int);
14487    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.RttManager.ResponderConfig> CREATOR;
14488    field @Deprecated public int centerFreq0;
14489    field @Deprecated public int centerFreq1;
14490    field @Deprecated public int channelWidth;
14491    field @Deprecated public int frequency;
14492    field @Deprecated public String macAddress;
14493    field @Deprecated public int preamble;
14494  }
14495
14496  @Deprecated public static class RttManager.RttCapabilities implements android.os.Parcelable {
14497    ctor @Deprecated public RttManager.RttCapabilities();
14498    method @Deprecated public int describeContents();
14499    method @Deprecated public void writeToParcel(android.os.Parcel, int);
14500    field @Deprecated public int bwSupported;
14501    field @Deprecated public boolean lciSupported;
14502    field @Deprecated public boolean lcrSupported;
14503    field @Deprecated public int mcVersion;
14504    field @Deprecated public boolean oneSidedRttSupported;
14505    field @Deprecated public int preambleSupported;
14506    field @Deprecated public boolean responderSupported;
14507    field @Deprecated public boolean secureRttSupported;
14508    field @Deprecated public boolean supportedPeerType;
14509    field @Deprecated public boolean supportedType;
14510    field @Deprecated public boolean twoSided11McRttSupported;
14511  }
14512
14513  @Deprecated public static interface RttManager.RttListener {
14514    method @Deprecated public void onAborted();
14515    method @Deprecated public void onFailure(int, String);
14516    method @Deprecated public void onSuccess(android.net.wifi.RttManager.RttResult[]);
14517  }
14518
14519  @Deprecated public static class RttManager.RttParams {
14520    ctor @Deprecated public RttManager.RttParams();
14521    field @Deprecated public boolean LCIRequest;
14522    field @Deprecated public boolean LCRRequest;
14523    field @Deprecated public int bandwidth;
14524    field @Deprecated public String bssid;
14525    field @Deprecated public int burstTimeout;
14526    field @Deprecated public int centerFreq0;
14527    field @Deprecated public int centerFreq1;
14528    field @Deprecated public int channelWidth;
14529    field @Deprecated public int deviceType;
14530    field @Deprecated public int frequency;
14531    field @Deprecated public int interval;
14532    field @Deprecated public int numRetriesPerFTMR;
14533    field @Deprecated public int numRetriesPerMeasurementFrame;
14534    field @Deprecated public int numSamplesPerBurst;
14535    field @Deprecated public int num_retries;
14536    field @Deprecated public int num_samples;
14537    field @Deprecated public int numberBurst;
14538    field @Deprecated public int preamble;
14539    field @Deprecated public int requestType;
14540    field @Deprecated public boolean secure;
14541  }
14542
14543  @Deprecated public static class RttManager.RttResult {
14544    ctor @Deprecated public RttManager.RttResult();
14545    field @Deprecated public android.net.wifi.RttManager.WifiInformationElement LCI;
14546    field @Deprecated public android.net.wifi.RttManager.WifiInformationElement LCR;
14547    field @Deprecated public String bssid;
14548    field @Deprecated public int burstDuration;
14549    field @Deprecated public int burstNumber;
14550    field @Deprecated public int distance;
14551    field @Deprecated public int distanceSpread;
14552    field @Deprecated public int distanceStandardDeviation;
14553    field @Deprecated public int distance_cm;
14554    field @Deprecated public int distance_sd_cm;
14555    field @Deprecated public int distance_spread_cm;
14556    field @Deprecated public int frameNumberPerBurstPeer;
14557    field @Deprecated public int measurementFrameNumber;
14558    field @Deprecated public int measurementType;
14559    field @Deprecated public int negotiatedBurstNum;
14560    field @Deprecated public int requestType;
14561    field @Deprecated public int retryAfterDuration;
14562    field @Deprecated public int rssi;
14563    field @Deprecated public int rssiSpread;
14564    field @Deprecated public int rssi_spread;
14565    field @Deprecated public long rtt;
14566    field @Deprecated public long rttSpread;
14567    field @Deprecated public long rttStandardDeviation;
14568    field @Deprecated public long rtt_ns;
14569    field @Deprecated public long rtt_sd_ns;
14570    field @Deprecated public long rtt_spread_ns;
14571    field @Deprecated public int rxRate;
14572    field @Deprecated public boolean secure;
14573    field @Deprecated public int status;
14574    field @Deprecated public int successMeasurementFrameNumber;
14575    field @Deprecated public long ts;
14576    field @Deprecated public int txRate;
14577    field @Deprecated public int tx_rate;
14578  }
14579
14580  @Deprecated public static class RttManager.WifiInformationElement {
14581    ctor @Deprecated public RttManager.WifiInformationElement();
14582    field @Deprecated public byte[] data;
14583    field @Deprecated public byte id;
14584  }
14585
14586  public final class ScanResult implements android.os.Parcelable {
14587    method public int getBand();
14588    method public void setWifiSsid(@NonNull android.net.wifi.WifiSsid);
14589    field public static final int CIPHER_BIP_CMAC_256 = 9; // 0x9
14590    field public static final int CIPHER_BIP_GMAC_128 = 7; // 0x7
14591    field public static final int CIPHER_BIP_GMAC_256 = 8; // 0x8
14592    field public static final int CIPHER_CCMP = 3; // 0x3
14593    field public static final int CIPHER_GCMP_128 = 6; // 0x6
14594    field public static final int CIPHER_GCMP_256 = 4; // 0x4
14595    field public static final int CIPHER_NONE = 0; // 0x0
14596    field public static final int CIPHER_NO_GROUP_ADDRESSED = 1; // 0x1
14597    field public static final int CIPHER_SMS4 = 5; // 0x5
14598    field public static final int CIPHER_TKIP = 2; // 0x2
14599    field public static final int KEY_MGMT_EAP = 2; // 0x2
14600    field public static final int KEY_MGMT_EAP_SHA256 = 6; // 0x6
14601    field public static final int KEY_MGMT_EAP_SUITE_B_192 = 10; // 0xa
14602    field public static final int KEY_MGMT_FT_EAP = 4; // 0x4
14603    field public static final int KEY_MGMT_FT_PSK = 3; // 0x3
14604    field public static final int KEY_MGMT_FT_SAE = 11; // 0xb
14605    field public static final int KEY_MGMT_NONE = 0; // 0x0
14606    field public static final int KEY_MGMT_OSEN = 7; // 0x7
14607    field public static final int KEY_MGMT_OWE = 9; // 0x9
14608    field public static final int KEY_MGMT_OWE_TRANSITION = 12; // 0xc
14609    field public static final int KEY_MGMT_PSK = 1; // 0x1
14610    field public static final int KEY_MGMT_PSK_SHA256 = 5; // 0x5
14611    field public static final int KEY_MGMT_SAE = 8; // 0x8
14612    field public static final int KEY_MGMT_WAPI_CERT = 14; // 0xe
14613    field public static final int KEY_MGMT_WAPI_PSK = 13; // 0xd
14614    field public static final int PROTOCOL_NONE = 0; // 0x0
14615    field public static final int PROTOCOL_OSEN = 3; // 0x3
14616    field public static final int PROTOCOL_RSN = 2; // 0x2
14617    field public static final int PROTOCOL_WAPI = 4; // 0x4
14618    field public static final int PROTOCOL_WPA = 1; // 0x1
14619  }
14620
14621  public final class SoftApCapability implements android.os.Parcelable {
14622    method public boolean areFeaturesSupported(long);
14623    method public int describeContents();
14624    method public int getMaxSupportedClients();
14625    method @NonNull public int[] getSupportedChannelList(int);
14626    method public void writeToParcel(@NonNull android.os.Parcel, int);
14627    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.SoftApCapability> CREATOR;
14628    field public static final long SOFTAP_FEATURE_ACS_OFFLOAD = 1L; // 0x1L
14629    field public static final long SOFTAP_FEATURE_BAND_24G_SUPPORTED = 32L; // 0x20L
14630    field public static final long SOFTAP_FEATURE_BAND_5G_SUPPORTED = 64L; // 0x40L
14631    field public static final long SOFTAP_FEATURE_BAND_60G_SUPPORTED = 256L; // 0x100L
14632    field public static final long SOFTAP_FEATURE_BAND_6G_SUPPORTED = 128L; // 0x80L
14633    field public static final long SOFTAP_FEATURE_CLIENT_FORCE_DISCONNECT = 2L; // 0x2L
14634    field public static final long SOFTAP_FEATURE_IEEE80211_AX = 16L; // 0x10L
14635    field public static final long SOFTAP_FEATURE_IEEE80211_BE = 512L; // 0x200L
14636    field public static final long SOFTAP_FEATURE_MAC_ADDRESS_CUSTOMIZATION = 8L; // 0x8L
14637    field public static final long SOFTAP_FEATURE_WPA3_OWE = 2048L; // 0x800L
14638    field public static final long SOFTAP_FEATURE_WPA3_OWE_TRANSITION = 1024L; // 0x400L
14639    field public static final long SOFTAP_FEATURE_WPA3_SAE = 4L; // 0x4L
14640  }
14641
14642  public final class SoftApConfiguration implements android.os.Parcelable {
14643    method @NonNull public int[] getAllowedAcsChannels(int);
14644    method @NonNull public java.util.List<android.net.MacAddress> getAllowedClientList();
14645    method @Deprecated public int getBand();
14646    method @NonNull public java.util.List<android.net.MacAddress> getBlockedClientList();
14647    method public long getBridgedModeOpportunisticShutdownTimeoutMillis();
14648    method @Deprecated public int getChannel();
14649    method @NonNull public android.util.SparseIntArray getChannels();
14650    method public int getMacRandomizationSetting();
14651    method public int getMaxChannelBandwidth();
14652    method public int getMaxNumberOfClients();
14653    method @NonNull public android.net.MacAddress getPersistentRandomizedMacAddress();
14654    method public long getShutdownTimeoutMillis();
14655    method @NonNull public java.util.List<android.net.wifi.OuiKeyedData> getVendorData();
14656    method @NonNull public java.util.List<android.net.wifi.ScanResult.InformationElement> getVendorElements();
14657    method public boolean isAutoShutdownEnabled();
14658    method public boolean isBridgedModeOpportunisticShutdownEnabled();
14659    method public boolean isClientControlByUserEnabled();
14660    method public boolean isIeee80211axEnabled();
14661    method public boolean isIeee80211beEnabled();
14662    method public boolean isUserConfiguration();
14663    method @Nullable public android.net.wifi.WifiConfiguration toWifiConfiguration();
14664    field public static final int BAND_2GHZ = 1; // 0x1
14665    field public static final int BAND_5GHZ = 2; // 0x2
14666    field public static final int BAND_60GHZ = 8; // 0x8
14667    field public static final int BAND_6GHZ = 4; // 0x4
14668    field @Deprecated public static final int BAND_ANY = 7; // 0x7
14669    field public static final long DEFAULT_TIMEOUT = -1L; // 0xffffffffffffffffL
14670    field public static final int RANDOMIZATION_NONE = 0; // 0x0
14671    field public static final int RANDOMIZATION_NON_PERSISTENT = 2; // 0x2
14672    field public static final int RANDOMIZATION_PERSISTENT = 1; // 0x1
14673  }
14674
14675  public static final class SoftApConfiguration.Builder {
14676    ctor public SoftApConfiguration.Builder();
14677    ctor public SoftApConfiguration.Builder(@NonNull android.net.wifi.SoftApConfiguration);
14678    method @NonNull public android.net.wifi.SoftApConfiguration build();
14679    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setAllowedAcsChannels(int, @NonNull int[]);
14680    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setAllowedClientList(@NonNull java.util.List<android.net.MacAddress>);
14681    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setAutoShutdownEnabled(boolean);
14682    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBand(int);
14683    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBands(@NonNull int[]);
14684    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBlockedClientList(@NonNull java.util.List<android.net.MacAddress>);
14685    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBridgedModeOpportunisticShutdownEnabled(boolean);
14686    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBridgedModeOpportunisticShutdownTimeoutMillis(@IntRange(from=0xffffffff) long);
14687    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBssid(@Nullable android.net.MacAddress);
14688    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setChannel(int, int);
14689    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setChannels(@NonNull android.util.SparseIntArray);
14690    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setClientControlByUserEnabled(boolean);
14691    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setHiddenSsid(boolean);
14692    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setIeee80211axEnabled(boolean);
14693    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setIeee80211beEnabled(boolean);
14694    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setMacRandomizationSetting(int);
14695    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setMaxChannelBandwidth(int);
14696    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setMaxNumberOfClients(@IntRange(from=0) int);
14697    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setPassphrase(@Nullable String, int);
14698    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setShutdownTimeoutMillis(@IntRange(from=0xffffffff) long);
14699    method @Deprecated @NonNull public android.net.wifi.SoftApConfiguration.Builder setSsid(@Nullable String);
14700    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setVendorData(@NonNull java.util.List<android.net.wifi.OuiKeyedData>);
14701    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setVendorElements(@NonNull java.util.List<android.net.wifi.ScanResult.InformationElement>);
14702    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setWifiSsid(@Nullable android.net.wifi.WifiSsid);
14703  }
14704
14705  public final class SoftApInfo implements android.os.Parcelable {
14706    method public int describeContents();
14707    method public long getAutoShutdownTimeoutMillis();
14708    method public int getBandwidth();
14709    method @Nullable public android.net.MacAddress getBssid();
14710    method public int getFrequency();
14711    method @NonNull public java.util.List<android.net.wifi.OuiKeyedData> getVendorData();
14712    method public int getWifiStandard();
14713    method public void setVendorData(@NonNull java.util.List<android.net.wifi.OuiKeyedData>);
14714    method public void writeToParcel(@NonNull android.os.Parcel, int);
14715    field public static final int CHANNEL_WIDTH_160MHZ = 6; // 0x6
14716    field public static final int CHANNEL_WIDTH_20MHZ = 2; // 0x2
14717    field public static final int CHANNEL_WIDTH_20MHZ_NOHT = 1; // 0x1
14718    field public static final int CHANNEL_WIDTH_2160MHZ = 7; // 0x7
14719    field public static final int CHANNEL_WIDTH_320MHZ = 11; // 0xb
14720    field public static final int CHANNEL_WIDTH_40MHZ = 3; // 0x3
14721    field public static final int CHANNEL_WIDTH_4320MHZ = 8; // 0x8
14722    field public static final int CHANNEL_WIDTH_6480MHZ = 9; // 0x9
14723    field public static final int CHANNEL_WIDTH_80MHZ = 4; // 0x4
14724    field public static final int CHANNEL_WIDTH_80MHZ_PLUS_MHZ = 5; // 0x5
14725    field public static final int CHANNEL_WIDTH_8640MHZ = 10; // 0xa
14726    field public static final int CHANNEL_WIDTH_AUTO = -1; // 0xffffffff
14727    field public static final int CHANNEL_WIDTH_INVALID = 0; // 0x0
14728    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.SoftApInfo> CREATOR;
14729  }
14730
14731  public final class SoftApState implements android.os.Parcelable {
14732    method public int describeContents();
14733    method public int getFailureReason();
14734    method @Nullable public String getIface();
14735    method public int getState();
14736    method @Nullable public android.net.TetheringManager.TetheringRequest getTetheringRequest();
14737    method public void writeToParcel(@NonNull android.os.Parcel, int);
14738    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.SoftApState> CREATOR;
14739  }
14740
14741  public final class UriParserResults implements android.os.Parcelable {
14742    method public int describeContents();
14743    method @Nullable public String getInformation();
14744    method @Nullable public String getPublicKey();
14745    method public int getUriScheme();
14746    method @Nullable public android.net.wifi.WifiConfiguration getWifiConfiguration();
14747    method public void writeToParcel(@NonNull android.os.Parcel, int);
14748    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.UriParserResults> CREATOR;
14749    field public static final int URI_SCHEME_DPP = 2; // 0x2
14750    field public static final int URI_SCHEME_ZXING_WIFI_NETWORK_CONFIG = 1; // 0x1
14751  }
14752
14753  public final class WifiClient implements android.os.Parcelable {
14754    method public int describeContents();
14755    method @NonNull public android.net.MacAddress getMacAddress();
14756    method public void writeToParcel(@NonNull android.os.Parcel, int);
14757    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiClient> CREATOR;
14758  }
14759
14760  @Deprecated public class WifiConfiguration implements android.os.Parcelable {
14761    method @Deprecated @NonNull public java.util.Set<java.lang.String> getAllNetworkKeys();
14762    method @Deprecated public int getAuthType();
14763    method @Deprecated @Nullable public java.util.List<android.net.MacAddress> getBssidAllowlist();
14764    method @Deprecated public int getDeletionPriority();
14765    method @Deprecated @NonNull public byte[] getDppCSignKey();
14766    method @Deprecated @NonNull public byte[] getDppConnector();
14767    method @Deprecated @NonNull public byte[] getDppNetAccessKey();
14768    method @Deprecated @NonNull public byte[] getDppPrivateEcKey();
14769    method @Deprecated @NonNull public android.net.IpConfiguration getIpConfiguration();
14770    method @Deprecated @NonNull public android.net.wifi.WifiConfiguration.NetworkSelectionStatus getNetworkSelectionStatus();
14771    method @Deprecated @NonNull public String getPrintableSsid();
14772    method @Deprecated @NonNull public String getProfileKey();
14773    method @Deprecated public int getRecentFailureReason();
14774    method @Deprecated @NonNull public java.util.List<android.net.wifi.OuiKeyedData> getVendorData();
14775    method @Deprecated public boolean hasNoInternetAccess();
14776    method @Deprecated public boolean isEphemeral();
14777    method @Deprecated public static boolean isMetered(@Nullable android.net.wifi.WifiConfiguration, @Nullable android.net.wifi.WifiInfo);
14778    method @Deprecated public boolean isNoInternetAccessExpected();
14779    method @Deprecated public boolean isRepeaterEnabled();
14780    method @Deprecated public boolean isSendDhcpHostnameEnabled();
14781    method @Deprecated public boolean isWifi7Enabled();
14782    method @Deprecated public void setBssidAllowlist(@Nullable java.util.List<android.net.MacAddress>);
14783    method @Deprecated public void setDeletionPriority(int) throws java.lang.IllegalArgumentException;
14784    method @Deprecated public void setNetworkSelectionStatus(@NonNull android.net.wifi.WifiConfiguration.NetworkSelectionStatus);
14785    method @Deprecated @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setRepeaterEnabled(boolean);
14786    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void setSendDhcpHostnameEnabled(boolean);
14787    method @Deprecated public void setVendorData(@NonNull java.util.List<android.net.wifi.OuiKeyedData>);
14788    method @Deprecated public void setWifi7Enabled(boolean);
14789    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiConfiguration> CREATOR;
14790    field @Deprecated public static final int INVALID_NETWORK_ID = -1; // 0xffffffff
14791    field @Deprecated public static final int METERED_OVERRIDE_METERED = 1; // 0x1
14792    field @Deprecated public static final int METERED_OVERRIDE_NONE = 0; // 0x0
14793    field @Deprecated public static final int METERED_OVERRIDE_NOT_METERED = 2; // 0x2
14794    field @Deprecated public static final int RECENT_FAILURE_AP_UNABLE_TO_HANDLE_NEW_STA = 17; // 0x11
14795    field @Deprecated public static final int RECENT_FAILURE_DISCONNECTION_AP_BUSY = 1004; // 0x3ec
14796    field @Deprecated public static final int RECENT_FAILURE_MBO_ASSOC_DISALLOWED_AIR_INTERFACE_OVERLOADED = 1007; // 0x3ef
14797    field @Deprecated public static final int RECENT_FAILURE_MBO_ASSOC_DISALLOWED_AUTH_SERVER_OVERLOADED = 1008; // 0x3f0
14798    field @Deprecated public static final int RECENT_FAILURE_MBO_ASSOC_DISALLOWED_INSUFFICIENT_RSSI = 1009; // 0x3f1
14799    field @Deprecated public static final int RECENT_FAILURE_MBO_ASSOC_DISALLOWED_MAX_NUM_STA_ASSOCIATED = 1006; // 0x3ee
14800    field @Deprecated public static final int RECENT_FAILURE_MBO_ASSOC_DISALLOWED_UNSPECIFIED = 1005; // 0x3ed
14801    field @Deprecated public static final int RECENT_FAILURE_NETWORK_NOT_FOUND = 1011; // 0x3f3
14802    field @Deprecated public static final int RECENT_FAILURE_NONE = 0; // 0x0
14803    field @Deprecated public static final int RECENT_FAILURE_OCE_RSSI_BASED_ASSOCIATION_REJECTION = 1010; // 0x3f2
14804    field @Deprecated public static final int RECENT_FAILURE_POOR_CHANNEL_CONDITIONS = 1003; // 0x3eb
14805    field @Deprecated public static final int RECENT_FAILURE_REFUSED_TEMPORARILY = 1002; // 0x3ea
14806    field @Deprecated public boolean allowAutojoin;
14807    field @Deprecated public int carrierId;
14808    field @Deprecated public boolean carrierMerged;
14809    field @Deprecated public String creatorName;
14810    field @Deprecated public int creatorUid;
14811    field @Deprecated public boolean fromWifiNetworkSpecifier;
14812    field @Deprecated public boolean fromWifiNetworkSuggestion;
14813    field @Deprecated public int lastConnectUid;
14814    field @Deprecated public long lastConnected;
14815    field @Deprecated public String lastUpdateName;
14816    field @Deprecated public int lastUpdateUid;
14817    field @Deprecated public int macRandomizationSetting;
14818    field @Deprecated public boolean meteredHint;
14819    field @Deprecated public int meteredOverride;
14820    field @Deprecated public int numAssociation;
14821    field @Deprecated public int numRebootsSinceLastUse;
14822    field @Deprecated public int numScorerOverride;
14823    field @Deprecated public int numScorerOverrideAndSwitchedNetwork;
14824    field @Deprecated public boolean requirePmf;
14825    field @Deprecated public boolean shared;
14826    field @Deprecated public int subscriptionId;
14827    field @Deprecated public boolean useExternalScores;
14828  }
14829
14830  @Deprecated public static class WifiConfiguration.NetworkSelectionStatus {
14831    method @Deprecated public int getDisableReasonCounter(int);
14832    method @Deprecated public long getDisableTime();
14833    method @Deprecated public static int getMaxNetworkSelectionDisableReason();
14834    method @Deprecated public int getNetworkSelectionDisableReason();
14835    method @Deprecated @Nullable public static String getNetworkSelectionDisableReasonString(int);
14836    method @Deprecated public int getNetworkSelectionStatus();
14837    method @Deprecated @NonNull public String getNetworkStatusString();
14838    method @Deprecated public boolean hasEverConnected();
14839    field @Deprecated public static final int DISABLED_ASSOCIATION_REJECTION = 1; // 0x1
14840    field @Deprecated public static final int DISABLED_AUTHENTICATION_FAILURE = 2; // 0x2
14841    field @Deprecated public static final int DISABLED_AUTHENTICATION_NO_CREDENTIALS = 5; // 0x5
14842    field @Deprecated public static final int DISABLED_AUTHENTICATION_NO_SUBSCRIPTION = 9; // 0x9
14843    field @Deprecated public static final int DISABLED_AUTHENTICATION_PRIVATE_EAP_ERROR = 10; // 0xa
14844    field @Deprecated public static final int DISABLED_BY_WIFI_MANAGER = 7; // 0x7
14845    field @Deprecated public static final int DISABLED_BY_WRONG_PASSWORD = 8; // 0x8
14846    field @Deprecated public static final int DISABLED_CONSECUTIVE_FAILURES = 12; // 0xc
14847    field @Deprecated public static final int DISABLED_DHCP_FAILURE = 3; // 0x3
14848    field @Deprecated public static final int DISABLED_NETWORK_NOT_FOUND = 11; // 0xb
14849    field @Deprecated public static final int DISABLED_NONE = 0; // 0x0
14850    field @Deprecated public static final int DISABLED_NO_INTERNET_PERMANENT = 6; // 0x6
14851    field @Deprecated public static final int DISABLED_NO_INTERNET_TEMPORARY = 4; // 0x4
14852    field @Deprecated public static final int DISABLED_TRANSITION_DISABLE_INDICATION = 13; // 0xd
14853    field @Deprecated public static final int DISABLED_UNWANTED_LOW_RSSI = 14; // 0xe
14854    field @Deprecated public static final int NETWORK_SELECTION_ENABLED = 0; // 0x0
14855    field @Deprecated public static final int NETWORK_SELECTION_PERMANENTLY_DISABLED = 2; // 0x2
14856    field @Deprecated public static final int NETWORK_SELECTION_TEMPORARY_DISABLED = 1; // 0x1
14857  }
14858
14859  @Deprecated public static final class WifiConfiguration.NetworkSelectionStatus.Builder {
14860    ctor @Deprecated public WifiConfiguration.NetworkSelectionStatus.Builder();
14861    method @Deprecated @NonNull public android.net.wifi.WifiConfiguration.NetworkSelectionStatus build();
14862    method @Deprecated @NonNull public android.net.wifi.WifiConfiguration.NetworkSelectionStatus.Builder setNetworkSelectionDisableReason(int);
14863    method @Deprecated @NonNull public android.net.wifi.WifiConfiguration.NetworkSelectionStatus.Builder setNetworkSelectionStatus(int);
14864  }
14865
14866  public final class WifiConnectedSessionInfo implements android.os.Parcelable {
14867    method public int describeContents();
14868    method public int getSessionId();
14869    method public boolean isUserSelected();
14870    method public void writeToParcel(@NonNull android.os.Parcel, int);
14871    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiConnectedSessionInfo> CREATOR;
14872  }
14873
14874  public static final class WifiConnectedSessionInfo.Builder {
14875    ctor public WifiConnectedSessionInfo.Builder(int);
14876    method @NonNull public android.net.wifi.WifiConnectedSessionInfo build();
14877    method @NonNull public android.net.wifi.WifiConnectedSessionInfo.Builder setUserSelected(boolean);
14878  }
14879
14880  public class WifiEnterpriseConfig implements android.os.Parcelable {
14881    method @Nullable public String[] getCaCertificateAliases();
14882    method @NonNull public String getCaPath();
14883    method @NonNull public String getClientCertificateAlias();
14884    method public int getOcsp();
14885    method @NonNull public String getWapiCertSuite();
14886    method public void setCaCertificateAliases(@Nullable String[]);
14887    method public void setCaPath(@NonNull String);
14888    method public void setClientCertificateAlias(@NonNull String);
14889    method public void setOcsp(int);
14890    method public void setWapiCertSuite(@NonNull String);
14891    field public static final int OCSP_NONE = 0; // 0x0
14892    field public static final int OCSP_REQUEST_CERT_STATUS = 1; // 0x1
14893    field public static final int OCSP_REQUIRE_ALL_NON_TRUSTED_CERTS_STATUS = 3; // 0x3
14894    field public static final int OCSP_REQUIRE_CERT_STATUS = 2; // 0x2
14895  }
14896
14897  public class WifiFrameworkInitializer {
14898    method public static void registerServiceWrappers();
14899  }
14900
14901  public class WifiInfo implements android.os.Parcelable android.net.TransportInfo {
14902    method public double getLostTxPacketsPerSecond();
14903    method @Nullable public String getNetworkKey();
14904    method @Nullable public String getRequestingPackageName();
14905    method public double getRetriedTxPacketsPerSecond();
14906    method public int getScore();
14907    method public double getSuccessfulRxPacketsPerSecond();
14908    method public double getSuccessfulTxPacketsPerSecond();
14909    method @NonNull public java.util.List<android.net.wifi.OuiKeyedData> getVendorData();
14910    method public boolean isApTidToLinkMappingNegotiationSupported();
14911    method public boolean isCarrierMerged();
14912    method public boolean isEphemeral();
14913    method public boolean isOemPaid();
14914    method public boolean isOemPrivate();
14915    method public boolean isOsuAp();
14916    method public boolean isPasspointAp();
14917    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public boolean isPrimary();
14918    method public boolean isTrusted();
14919    method @Nullable public static String sanitizeSsid(@Nullable String);
14920    method public void setVendorData(@NonNull java.util.List<android.net.wifi.OuiKeyedData>);
14921    field public static final String DEFAULT_MAC_ADDRESS = "02:00:00:00:00:00";
14922    field public static final int INVALID_RSSI = -127; // 0xffffff81
14923  }
14924
14925  public final class WifiKeystore {
14926    method @NonNull public static byte[] get(@NonNull String);
14927    method @NonNull public static String[] list(@NonNull String);
14928    method public static boolean put(@NonNull String, @NonNull byte[]);
14929    method public static boolean remove(@NonNull String);
14930  }
14931
14932  public class WifiManager {
14933    method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public void addOnWifiUsabilityStatsListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.OnWifiUsabilityStatsListener);
14934    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION}) public void addQosPolicies(@NonNull java.util.List<android.net.wifi.QosPolicyParams>, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.util.List<java.lang.Integer>>);
14935    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION}) public void addWifiLowLatencyLockListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.WifiLowLatencyLockListener);
14936    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void addWifiNetworkStateChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.WifiNetworkStateChangedListener);
14937    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void addWifiVerboseLoggingStatusChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.WifiVerboseLoggingStatusChangedListener);
14938    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void allowAutojoin(int, boolean);
14939    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void allowAutojoinPasspoint(@NonNull String, boolean);
14940    method public void clearExternalPnoScanRequest();
14941    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_COUNTRY_CODE) public void clearOverrideCountryCode();
14942    method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public void clearWifiConnectedNetworkScorer();
14943    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD, android.Manifest.permission.NETWORK_STACK}) public void connect(@NonNull android.net.wifi.WifiConfiguration, @Nullable android.net.wifi.WifiManager.ActionListener);
14944    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD, android.Manifest.permission.NETWORK_STACK}) public void connect(int, @Nullable android.net.wifi.WifiManager.ActionListener);
14945    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD, android.Manifest.permission.NETWORK_STACK}) public void disable(int, @Nullable android.net.wifi.WifiManager.ActionListener);
14946    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK}) public void disableEphemeralNetwork(@NonNull String);
14947    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION}) public void disableMscs();
14948    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION}) public void enableMscs(@NonNull android.net.wifi.MscsParams);
14949    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void factoryReset();
14950    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD, android.Manifest.permission.NETWORK_STACK}) public void forget(int, @Nullable android.net.wifi.WifiManager.ActionListener);
14951    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public java.util.List<android.util.Pair<android.net.wifi.WifiConfiguration,java.util.Map<java.lang.Integer,java.util.List<android.net.wifi.ScanResult>>>> getAllMatchingWifiConfigs(@NonNull java.util.List<android.net.wifi.ScanResult>);
14952    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.ACCESS_COARSE_LOCATION}) public String getCountryCode();
14953    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public android.net.Network getCurrentNetwork();
14954    method public static int getEasyConnectMaxAllowedResponderDeviceInfoLength();
14955    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public String[] getFactoryMacAddresses();
14956    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void getLastCallerInfoForApi(int, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.BiConsumer<java.lang.String,java.lang.Boolean>);
14957    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public void getLinkLayerStatsPollingInterval(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
14958    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public java.util.Map<android.net.wifi.hotspot2.OsuProvider,java.util.List<android.net.wifi.ScanResult>> getMatchingOsuProviders(@Nullable java.util.List<android.net.wifi.ScanResult>);
14959    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public java.util.Map<android.net.wifi.hotspot2.OsuProvider,android.net.wifi.hotspot2.PasspointConfiguration> getMatchingPasspointConfigsForOsuProviders(@NonNull java.util.Set<android.net.wifi.hotspot2.OsuProvider>);
14960    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.ACCESS_WIFI_STATE}) public java.util.Map<android.net.wifi.WifiNetworkSuggestion,java.util.List<android.net.wifi.ScanResult>> getMatchingScanResults(@NonNull java.util.List<android.net.wifi.WifiNetworkSuggestion>, @Nullable java.util.List<android.net.wifi.ScanResult>);
14961    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public void getMaxMloAssociationLinkCount(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
14962    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public void getMaxMloStrLinkCount(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
14963    method public static int getMaxNumberOfPoliciesPerQosRequest();
14964    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public void getMloMode(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
14965    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION}) public void getNetworkSelectionConfig(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.net.wifi.WifiNetworkSelectionConfig>);
14966    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public java.util.Set<java.lang.String> getOemPrivilegedWifiAdminPackages();
14967    method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_WIFI_STATE, android.Manifest.permission.READ_WIFI_CREDENTIAL}, conditional=true) public java.util.List<android.net.wifi.WifiConfiguration> getPrivilegedConfiguredNetworks();
14968    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_WIFI_STATE, android.Manifest.permission.READ_WIFI_CREDENTIAL}, conditional=true) public android.net.wifi.WifiConfiguration getPrivilegedConnectedNetwork();
14969    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public android.net.wifi.SoftApConfiguration getSoftApConfiguration();
14970    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION}, conditional=true) public java.util.Set<android.net.wifi.WifiSsid> getSsidsAllowlist();
14971    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public void getSupportedSimultaneousBandCombinations(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.util.List<int[]>>);
14972    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public void getTwtCapabilities(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.os.Bundle>);
14973    method public int getVerboseLoggingLevel();
14974    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void getWifiActivityEnergyInfoAsync(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.OnWifiActivityEnergyInfoListener);
14975    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public android.net.wifi.WifiConfiguration getWifiApConfiguration();
14976    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public int getWifiApState();
14977    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public java.util.List<android.net.wifi.WifiConfiguration> getWifiConfigForMatchedNetworkSuggestionsSharedWithUser(@NonNull java.util.List<android.net.wifi.ScanResult>);
14978    method public boolean isApMacRandomizationSupported();
14979    method public boolean isConnectedMacRandomizationSupported();
14980    method @Deprecated public boolean isDeviceToDeviceRttSupported();
14981    method public boolean isLowLatencyModeSupported();
14982    method public boolean isPortableHotspotSupported();
14983    method public boolean isStaConcurrencyForRestrictedConnectionsSupported();
14984    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public boolean isThirdPartyAppEnablingWifiConfirmationDialogEnabled();
14985    method public boolean isVerboseLoggingEnabled();
14986    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isWifiApEnabled();
14987    method public boolean isWifiScannerSupported();
14988    method @RequiresPermission(android.Manifest.permission.MANAGE_DEVICE_ADMINS) public void notifyMinimumRequiredWifiSecurityLevelChanged(int);
14989    method @RequiresPermission(android.Manifest.permission.MANAGE_DEVICE_ADMINS) public void notifyWifiSsidPolicyChanged(@NonNull android.app.admin.WifiSsidPolicy);
14990    method public void queryD2dAllowedWhenInfraStaDisabled(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
14991    method @Nullable @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void queryLastConfiguredTetheredApPassphraseSinceBoot(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.String>);
14992    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void queryWepAllowed(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
14993    method @RequiresPermission(android.Manifest.permission.ACCESS_COARSE_LOCATION) public void registerActiveCountryCodeChangedCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.ActiveCountryCodeChangedCallback);
14994    method @RequiresPermission(android.Manifest.permission.WIFI_ACCESS_COEX_UNSAFE_CHANNELS) public void registerCoexCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.CoexCallback);
14995    method @RequiresPermission(android.Manifest.permission.NEARBY_WIFI_DEVICES) public void registerLocalOnlyHotspotSoftApCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.SoftApCallback);
14996    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void registerNetworkRequestMatchCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.NetworkRequestMatchCallback);
14997    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public void registerSoftApCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.SoftApCallback);
14998    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void registerTrafficStateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.TrafficStateCallback);
14999    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION}) public void removeAllQosPolicies();
15000    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void removeAppState(int, @NonNull String);
15001    method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public void removeOnWifiUsabilityStatsListener(@NonNull android.net.wifi.WifiManager.OnWifiUsabilityStatsListener);
15002    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION}) public void removeQosPolicies(@NonNull int[]);
15003    method public void removeWifiLowLatencyLockListener(@NonNull android.net.wifi.WifiManager.WifiLowLatencyLockListener);
15004    method public void removeWifiNetworkStateChangedListener(@NonNull android.net.wifi.WifiManager.WifiNetworkStateChangedListener);
15005    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void removeWifiVerboseLoggingStatusChangedListener(@NonNull android.net.wifi.WifiManager.WifiVerboseLoggingStatusChangedListener);
15006    method @RequiresPermission(android.Manifest.permission.RESTART_WIFI_SUBSYSTEM) public void restartWifiSubsystem();
15007    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void restoreBackupData(@NonNull byte[]);
15008    method @Nullable @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public android.net.wifi.SoftApConfiguration restoreSoftApBackupData(@NonNull byte[]);
15009    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void restoreSupplicantBackupData(@NonNull byte[], @NonNull byte[]);
15010    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void restoreWifiBackupData(@NonNull byte[]);
15011    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public byte[] retrieveBackupData();
15012    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public byte[] retrieveSoftApBackupData();
15013    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void retrieveWifiBackupData(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<byte[]>);
15014    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD, android.Manifest.permission.NETWORK_STACK}) public void save(@NonNull android.net.wifi.WifiConfiguration, @Nullable android.net.wifi.WifiManager.ActionListener);
15015    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setAutoWakeupEnabled(boolean);
15016    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void setCarrierNetworkOffloadEnabled(int, boolean, boolean);
15017    method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_COEX_UNSAFE_CHANNELS) public void setCoexUnsafeChannels(@NonNull java.util.List<android.net.wifi.CoexUnsafeChannel>, int);
15018    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void setD2dAllowedWhenInfraStaDisabled(boolean);
15019    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_COUNTRY_CODE) public void setDefaultCountryCode(@NonNull String);
15020    method @RequiresPermission(android.Manifest.permission.WIFI_SET_DEVICE_MOBILITY_STATE) public void setDeviceMobilityState(int);
15021    method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.REQUEST_COMPANION_PROFILE_AUTOMOTIVE_PROJECTION}) public void setExternalPnoScanRequest(@NonNull java.util.List<android.net.wifi.WifiSsid>, @Nullable int[], @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.PnoScanResultsCallback);
15022    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public void setLinkLayerStatsPollingInterval(@IntRange(from=0) int);
15023    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setMacRandomizationSettingPasspointEnabled(@NonNull String, boolean);
15024    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public void setMloMode(int, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
15025    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION}) public void setNetworkSelectionConfig(@NonNull android.net.wifi.WifiNetworkSelectionConfig);
15026    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION}) public void setOneShotScreenOnConnectivityScanDelayMillis(@IntRange(from=0) int);
15027    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_COUNTRY_CODE) public void setOverrideCountryCode(@NonNull String);
15028    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setPasspointMeteredOverride(@NonNull String, int);
15029    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION, android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void setPnoScanState(int);
15030    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setScanAlwaysAvailable(boolean);
15031    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setScanThrottleEnabled(boolean);
15032    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION}) public void setScreenOnScanSchedule(@Nullable java.util.List<android.net.wifi.WifiManager.ScreenOnScanSchedule>);
15033    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public boolean setSoftApConfiguration(@NonNull android.net.wifi.SoftApConfiguration);
15034    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION}, conditional=true) public void setSsidsAllowlist(@NonNull java.util.Set<android.net.wifi.WifiSsid>);
15035    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public boolean setStaConcurrencyForMultiInternetMode(int);
15036    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void setThirdPartyAppEnablingWifiConfirmationDialogEnabled(boolean);
15037    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.DUMP}) public void setVerboseLoggingEnabled(boolean);
15038    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.DUMP}) public void setVerboseLoggingLevel(int);
15039    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void setWepAllowed(boolean);
15040    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_WIFI_STATE) public boolean setWifiApConfiguration(android.net.wifi.WifiConfiguration);
15041    method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public boolean setWifiConnectedNetworkScorer(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.WifiConnectedNetworkScorer);
15042    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void setWifiPasspointEnabled(boolean);
15043    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public boolean setWifiScoringEnabled(boolean);
15044    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public void setupTwtSession(@NonNull android.net.wifi.twt.TwtRequest, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.twt.TwtSessionCallback);
15045    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void startEasyConnectAsConfiguratorInitiator(@NonNull String, int, int, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.EasyConnectStatusCallback);
15046    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void startEasyConnectAsEnrolleeInitiator(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.EasyConnectStatusCallback);
15047    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void startEasyConnectAsEnrolleeResponder(@Nullable String, int, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.EasyConnectStatusCallback);
15048    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD, android.Manifest.permission.NEARBY_WIFI_DEVICES}) public void startLocalOnlyHotspot(@NonNull android.net.wifi.SoftApConfiguration, @Nullable java.util.concurrent.Executor, @Nullable android.net.wifi.WifiManager.LocalOnlyHotspotCallback);
15049    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void startRestrictingAutoJoinToSubscriptionId(int);
15050    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public boolean startScan(android.os.WorkSource);
15051    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void startSubscriptionProvisioning(@NonNull android.net.wifi.hotspot2.OsuProvider, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.hotspot2.ProvisioningCallback);
15052    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void startTetheredHotspot(@NonNull android.net.TetheringManager.TetheringRequest, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.SoftApCallback);
15053    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public boolean startTetheredHotspot(@Nullable android.net.wifi.SoftApConfiguration);
15054    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void stopEasyConnectSession();
15055    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void stopRestrictingAutoJoinToSubscriptionId();
15056    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public boolean stopSoftAp();
15057    method public void unregisterActiveCountryCodeChangedCallback(@NonNull android.net.wifi.WifiManager.ActiveCountryCodeChangedCallback);
15058    method @RequiresPermission(android.Manifest.permission.WIFI_ACCESS_COEX_UNSAFE_CHANNELS) public void unregisterCoexCallback(@NonNull android.net.wifi.WifiManager.CoexCallback);
15059    method @RequiresPermission(android.Manifest.permission.NEARBY_WIFI_DEVICES) public void unregisterLocalOnlyHotspotSoftApCallback(@NonNull android.net.wifi.WifiManager.SoftApCallback);
15060    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void unregisterNetworkRequestMatchCallback(@NonNull android.net.wifi.WifiManager.NetworkRequestMatchCallback);
15061    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public void unregisterSoftApCallback(@NonNull android.net.wifi.WifiManager.SoftApCallback);
15062    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void unregisterTrafficStateCallback(@NonNull android.net.wifi.WifiManager.TrafficStateCallback);
15063    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void updateInterfaceIpState(@Nullable String, int);
15064    method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public void updateWifiUsabilityScore(int, int, int);
15065    field public static final String ACTION_LINK_CONFIGURATION_CHANGED = "android.net.wifi.LINK_CONFIGURATION_CHANGED";
15066    field @RequiresPermission(android.Manifest.permission.NETWORK_CARRIER_PROVISIONING) public static final String ACTION_NETWORK_SETTINGS_RESET = "android.net.wifi.action.NETWORK_SETTINGS_RESET";
15067    field public static final String ACTION_PASSPOINT_LAUNCH_OSU_VIEW = "android.net.wifi.action.PASSPOINT_LAUNCH_OSU_VIEW";
15068    field @RequiresPermission(android.Manifest.permission.NETWORK_CARRIER_PROVISIONING) public static final String ACTION_REFRESH_USER_PROVISIONING = "android.net.wifi.action.REFRESH_USER_PROVISIONING";
15069    field public static final String ACTION_REQUEST_DISABLE = "android.net.wifi.action.REQUEST_DISABLE";
15070    field public static final String ACTION_REQUEST_ENABLE = "android.net.wifi.action.REQUEST_ENABLE";
15071    field public static final int API_ADD_NETWORK = 10; // 0xa
15072    field public static final int API_ALLOW_AUTOJOIN = 12; // 0xc
15073    field public static final int API_AUTOJOIN_GLOBAL = 5; // 0x5
15074    field public static final int API_CONNECT_CONFIG = 13; // 0xd
15075    field public static final int API_CONNECT_NETWORK_ID = 14; // 0xe
15076    field public static final int API_DISABLE_NETWORK = 15; // 0xf
15077    field public static final int API_ENABLE_NETWORK = 16; // 0x10
15078    field public static final int API_FORGET = 17; // 0x11
15079    field public static final int API_P2P_CANCEL_CONNECT = 26; // 0x1a
15080    field public static final int API_P2P_CONNECT = 25; // 0x19
15081    field public static final int API_P2P_CREATE_GROUP = 27; // 0x1b
15082    field public static final int API_P2P_CREATE_GROUP_P2P_CONFIG = 28; // 0x1c
15083    field public static final int API_P2P_DISCOVER_PEERS = 21; // 0x15
15084    field public static final int API_P2P_DISCOVER_PEERS_ON_SOCIAL_CHANNELS = 22; // 0x16
15085    field public static final int API_P2P_DISCOVER_PEERS_ON_SPECIFIC_FREQUENCY = 23; // 0x17
15086    field public static final int API_P2P_DISCOVER_PEERS_WITH_CONFIG_PARAMS = 37; // 0x25
15087    field public static final int API_P2P_REMOVE_GROUP = 29; // 0x1d
15088    field public static final int API_P2P_SET_CHANNELS = 32; // 0x20
15089    field public static final int API_P2P_START_LISTENING = 30; // 0x1e
15090    field public static final int API_P2P_STOP_LISTENING = 31; // 0x1f
15091    field public static final int API_P2P_STOP_PEER_DISCOVERY = 24; // 0x18
15092    field public static final int API_SAVE = 18; // 0x12
15093    field public static final int API_SCANNING_ENABLED = 1; // 0x1
15094    field public static final int API_SET_NETWORK_SELECTION_CONFIG = 8; // 0x8
15095    field public static final int API_SET_ONE_SHOT_SCREEN_ON_CONNECTIVITY_SCAN_DELAY = 7; // 0x7
15096    field public static final int API_SET_PNO_SCAN_ENABLED = 36; // 0x24
15097    field public static final int API_SET_SCAN_SCHEDULE = 6; // 0x6
15098    field public static final int API_SET_TDLS_ENABLED = 34; // 0x22
15099    field public static final int API_SET_TDLS_ENABLED_WITH_MAC_ADDRESS = 35; // 0x23
15100    field public static final int API_SET_THIRD_PARTY_APPS_ENABLING_WIFI_CONFIRMATION_DIALOG = 9; // 0x9
15101    field public static final int API_SOFT_AP = 3; // 0x3
15102    field public static final int API_START_LOCAL_ONLY_HOTSPOT = 20; // 0x14
15103    field public static final int API_START_SCAN = 19; // 0x13
15104    field public static final int API_TETHERED_HOTSPOT = 4; // 0x4
15105    field public static final int API_UPDATE_NETWORK = 11; // 0xb
15106    field public static final int API_WIFI_ENABLED = 2; // 0x2
15107    field public static final int API_WIFI_SCANNER_START_SCAN = 33; // 0x21
15108    field public static final int CHANGE_REASON_ADDED = 0; // 0x0
15109    field public static final int CHANGE_REASON_CONFIG_CHANGE = 2; // 0x2
15110    field public static final int CHANGE_REASON_REMOVED = 1; // 0x1
15111    field public static final int COEX_RESTRICTION_SOFTAP = 2; // 0x2
15112    field public static final int COEX_RESTRICTION_WIFI_AWARE = 4; // 0x4
15113    field public static final int COEX_RESTRICTION_WIFI_DIRECT = 1; // 0x1
15114    field public static final String CONFIGURED_NETWORKS_CHANGED_ACTION = "android.net.wifi.CONFIGURED_NETWORKS_CHANGE";
15115    field public static final int DEVICE_MOBILITY_STATE_HIGH_MVMT = 1; // 0x1
15116    field public static final int DEVICE_MOBILITY_STATE_LOW_MVMT = 2; // 0x2
15117    field public static final int DEVICE_MOBILITY_STATE_STATIONARY = 3; // 0x3
15118    field public static final int DEVICE_MOBILITY_STATE_UNKNOWN = 0; // 0x0
15119    field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_BRAINPOOLP256R1 = 3; // 0x3
15120    field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_BRAINPOOLP384R1 = 4; // 0x4
15121    field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_BRAINPOOLP512R1 = 5; // 0x5
15122    field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_PRIME256V1 = 0; // 0x0
15123    field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_SECP384R1 = 1; // 0x1
15124    field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_SECP521R1 = 2; // 0x2
15125    field public static final int EASY_CONNECT_NETWORK_ROLE_AP = 1; // 0x1
15126    field public static final int EASY_CONNECT_NETWORK_ROLE_STA = 0; // 0x0
15127    field public static final String EXTRA_CHANGE_REASON = "changeReason";
15128    field @Deprecated public static final String EXTRA_LINK_PROPERTIES = "android.net.wifi.extra.LINK_PROPERTIES";
15129    field @Deprecated public static final String EXTRA_MULTIPLE_NETWORKS_CHANGED = "multipleChanges";
15130    field public static final String EXTRA_OSU_NETWORK = "android.net.wifi.extra.OSU_NETWORK";
15131    field public static final String EXTRA_PREVIOUS_WIFI_AP_STATE = "previous_wifi_state";
15132    field public static final String EXTRA_URL = "android.net.wifi.extra.URL";
15133    field public static final String EXTRA_WIFI_AP_FAILURE_REASON = "android.net.wifi.extra.WIFI_AP_FAILURE_REASON";
15134    field public static final String EXTRA_WIFI_AP_INTERFACE_NAME = "android.net.wifi.extra.WIFI_AP_INTERFACE_NAME";
15135    field public static final String EXTRA_WIFI_AP_MODE = "android.net.wifi.extra.WIFI_AP_MODE";
15136    field public static final String EXTRA_WIFI_AP_STATE = "wifi_state";
15137    field @Deprecated public static final String EXTRA_WIFI_CONFIGURATION = "wifiConfiguration";
15138    field public static final String EXTRA_WIFI_CREDENTIAL_EVENT_TYPE = "et";
15139    field public static final String EXTRA_WIFI_CREDENTIAL_SSID = "ssid";
15140    field public static final int IFACE_IP_MODE_CONFIGURATION_ERROR = 0; // 0x0
15141    field public static final int IFACE_IP_MODE_LOCAL_ONLY = 2; // 0x2
15142    field public static final int IFACE_IP_MODE_TETHERED = 1; // 0x1
15143    field public static final int IFACE_IP_MODE_UNSPECIFIED = -1; // 0xffffffff
15144    field public static final int MLO_MODE_DEFAULT = 0; // 0x0
15145    field public static final int MLO_MODE_HIGH_THROUGHPUT = 2; // 0x2
15146    field public static final int MLO_MODE_LOW_LATENCY = 1; // 0x1
15147    field public static final int MLO_MODE_LOW_POWER = 3; // 0x3
15148    field public static final int PASSPOINT_HOME_NETWORK = 0; // 0x0
15149    field public static final int PASSPOINT_ROAMING_NETWORK = 1; // 0x1
15150    field public static final int PNO_SCAN_STATE_DISABLED_UNTIL_REBOOT = 0; // 0x0
15151    field public static final int PNO_SCAN_STATE_DISABLED_UNTIL_WIFI_TOGGLE = 1; // 0x1
15152    field public static final int PNO_SCAN_STATE_ENABLED = 2; // 0x2
15153    field public static final int QOS_REQUEST_STATUS_ALREADY_ACTIVE = 1; // 0x1
15154    field public static final int QOS_REQUEST_STATUS_FAILURE_UNKNOWN = 4; // 0x4
15155    field public static final int QOS_REQUEST_STATUS_INSUFFICIENT_RESOURCES = 2; // 0x2
15156    field public static final int QOS_REQUEST_STATUS_INVALID_PARAMETERS = 3; // 0x3
15157    field public static final int QOS_REQUEST_STATUS_TRACKING = 0; // 0x0
15158    field public static final int SAP_CLIENT_BLOCK_REASON_CODE_BLOCKED_BY_USER = 0; // 0x0
15159    field public static final int SAP_CLIENT_BLOCK_REASON_CODE_NO_MORE_STAS = 1; // 0x1
15160    field public static final int SAP_START_FAILURE_GENERAL = 0; // 0x0
15161    field public static final int SAP_START_FAILURE_NO_CHANNEL = 1; // 0x1
15162    field public static final int SAP_START_FAILURE_UNSUPPORTED_CONFIGURATION = 2; // 0x2
15163    field public static final int SAP_START_FAILURE_USER_REJECTED = 3; // 0x3
15164    field public static final String TWT_CAPABILITIES_KEY_BOOLEAN_TWT_REQUESTER = "key_requester";
15165    field public static final String TWT_CAPABILITIES_KEY_INT_MAX_WAKE_DURATION_MICROS = "key_max_wake_duration";
15166    field public static final String TWT_CAPABILITIES_KEY_INT_MIN_WAKE_DURATION_MICROS = "key_min_wake_duration";
15167    field public static final String TWT_CAPABILITIES_KEY_LONG_MAX_WAKE_INTERVAL_MICROS = "key_max_wake_interval";
15168    field public static final String TWT_CAPABILITIES_KEY_LONG_MIN_WAKE_INTERVAL_MICROS = "key_min_wake_interval";
15169    field public static final int VERBOSE_LOGGING_LEVEL_DISABLED = 0; // 0x0
15170    field public static final int VERBOSE_LOGGING_LEVEL_ENABLED = 1; // 0x1
15171    field public static final int VERBOSE_LOGGING_LEVEL_ENABLED_SHOW_KEY = 2; // 0x2
15172    field public static final int VERBOSE_LOGGING_LEVEL_WIFI_AWARE_ENABLED_ONLY = 3; // 0x3
15173    field @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public static final String WIFI_AP_STATE_CHANGED_ACTION = "android.net.wifi.WIFI_AP_STATE_CHANGED";
15174    field public static final int WIFI_AP_STATE_DISABLED = 11; // 0xb
15175    field public static final int WIFI_AP_STATE_DISABLING = 10; // 0xa
15176    field public static final int WIFI_AP_STATE_ENABLED = 13; // 0xd
15177    field public static final int WIFI_AP_STATE_ENABLING = 12; // 0xc
15178    field public static final int WIFI_AP_STATE_FAILED = 14; // 0xe
15179    field public static final String WIFI_CREDENTIAL_CHANGED_ACTION = "android.net.wifi.WIFI_CREDENTIAL_CHANGED";
15180    field public static final int WIFI_CREDENTIAL_FORGOT = 1; // 0x1
15181    field public static final int WIFI_CREDENTIAL_SAVED = 0; // 0x0
15182  }
15183
15184  public static interface WifiManager.ActionListener {
15185    method public void onFailure(int);
15186    method public void onSuccess();
15187    field public static final int FAILURE_BUSY = 2; // 0x2
15188    field public static final int FAILURE_INTERNAL_ERROR = 0; // 0x0
15189    field public static final int FAILURE_INVALID_ARGS = 3; // 0x3
15190    field public static final int FAILURE_IN_PROGRESS = 1; // 0x1
15191    field public static final int FAILURE_NOT_AUTHORIZED = 4; // 0x4
15192  }
15193
15194  public static interface WifiManager.ActiveCountryCodeChangedCallback {
15195    method public void onActiveCountryCodeChanged(@NonNull String);
15196    method public void onCountryCodeInactive();
15197  }
15198
15199  public abstract static class WifiManager.CoexCallback {
15200    ctor public WifiManager.CoexCallback();
15201    method public abstract void onCoexUnsafeChannelsChanged(@NonNull java.util.List<android.net.wifi.CoexUnsafeChannel>, int);
15202  }
15203
15204  public static interface WifiManager.NetworkRequestMatchCallback {
15205    method public default void onAbort();
15206    method public default void onMatch(@NonNull java.util.List<android.net.wifi.ScanResult>);
15207    method public default void onUserSelectionCallbackRegistration(@NonNull android.net.wifi.WifiManager.NetworkRequestUserSelectionCallback);
15208    method public default void onUserSelectionConnectFailure(@NonNull android.net.wifi.WifiConfiguration);
15209    method public default void onUserSelectionConnectSuccess(@NonNull android.net.wifi.WifiConfiguration);
15210  }
15211
15212  public static interface WifiManager.NetworkRequestUserSelectionCallback {
15213    method public default void reject();
15214    method public default void select(@NonNull android.net.wifi.WifiConfiguration);
15215  }
15216
15217  public static interface WifiManager.OnWifiActivityEnergyInfoListener {
15218    method public void onWifiActivityEnergyInfo(@Nullable android.os.connectivity.WifiActivityEnergyInfo);
15219  }
15220
15221  public static interface WifiManager.OnWifiUsabilityStatsListener {
15222    method public void onWifiUsabilityStats(int, boolean, @NonNull android.net.wifi.WifiUsabilityStatsEntry);
15223  }
15224
15225  public static interface WifiManager.PnoScanResultsCallback {
15226    method public void onRegisterFailed(int);
15227    method public void onRegisterSuccess();
15228    method public void onRemoved(int);
15229    method public void onScanResultsAvailable(@NonNull java.util.List<android.net.wifi.ScanResult>);
15230    field public static final int REGISTER_PNO_CALLBACK_ALREADY_REGISTERED = 1; // 0x1
15231    field public static final int REGISTER_PNO_CALLBACK_PNO_NOT_SUPPORTED = 3; // 0x3
15232    field public static final int REGISTER_PNO_CALLBACK_RESOURCE_BUSY = 2; // 0x2
15233    field public static final int REGISTER_PNO_CALLBACK_UNKNOWN = 0; // 0x0
15234    field public static final int REMOVE_PNO_CALLBACK_RESULTS_DELIVERED = 1; // 0x1
15235    field public static final int REMOVE_PNO_CALLBACK_UNKNOWN = 0; // 0x0
15236    field public static final int REMOVE_PNO_CALLBACK_UNREGISTERED = 2; // 0x2
15237  }
15238
15239  public static interface WifiManager.ScoreUpdateObserver {
15240    method public default void blocklistCurrentBssid(int);
15241    method public void notifyScoreUpdate(int, int);
15242    method public default void notifyStatusUpdate(int, boolean);
15243    method public default void requestNudOperation(int);
15244    method public void triggerUpdateOfWifiUsabilityStats(int);
15245  }
15246
15247  public static class WifiManager.ScreenOnScanSchedule {
15248    ctor public WifiManager.ScreenOnScanSchedule(@NonNull java.time.Duration, int);
15249    method @NonNull public java.time.Duration getScanInterval();
15250    method public int getScanType();
15251  }
15252
15253  public static interface WifiManager.SoftApCallback {
15254    method public default void onBlockedClientConnecting(@NonNull android.net.wifi.WifiClient, int);
15255    method public default void onCapabilityChanged(@NonNull android.net.wifi.SoftApCapability);
15256    method public default void onConnectedClientsChanged(@NonNull android.net.wifi.SoftApInfo, @NonNull java.util.List<android.net.wifi.WifiClient>);
15257    method @Deprecated public default void onConnectedClientsChanged(@NonNull java.util.List<android.net.wifi.WifiClient>);
15258    method @Deprecated public default void onInfoChanged(@NonNull android.net.wifi.SoftApInfo);
15259    method public default void onInfoChanged(@NonNull java.util.List<android.net.wifi.SoftApInfo>);
15260    method public default void onStateChanged(@NonNull android.net.wifi.SoftApState);
15261    method public default void onStateChanged(int, int);
15262  }
15263
15264  public static interface WifiManager.TrafficStateCallback {
15265    method public void onStateChanged(int);
15266    field public static final int DATA_ACTIVITY_IN = 1; // 0x1
15267    field public static final int DATA_ACTIVITY_INOUT = 3; // 0x3
15268    field public static final int DATA_ACTIVITY_NONE = 0; // 0x0
15269    field public static final int DATA_ACTIVITY_OUT = 2; // 0x2
15270  }
15271
15272  public static interface WifiManager.WifiConnectedNetworkScorer {
15273    method public default void onNetworkSwitchAccepted(int, int, @NonNull String);
15274    method public default void onNetworkSwitchRejected(int, int, @NonNull String);
15275    method public void onSetScoreUpdateObserver(@NonNull android.net.wifi.WifiManager.ScoreUpdateObserver);
15276    method public default void onStart(@NonNull android.net.wifi.WifiConnectedSessionInfo);
15277    method @Deprecated public default void onStart(int);
15278    method public void onStop(int);
15279  }
15280
15281  public static interface WifiManager.WifiLowLatencyLockListener {
15282    method public void onActivatedStateChanged(boolean);
15283    method public default void onActiveUsersChanged(@NonNull int[]);
15284    method public default void onOwnershipChanged(@NonNull int[]);
15285  }
15286
15287  public static interface WifiManager.WifiNetworkStateChangedListener {
15288    method public void onWifiNetworkStateChanged(int, int);
15289    field public static final int WIFI_NETWORK_STATUS_AUTHENTICATING = 4; // 0x4
15290    field public static final int WIFI_NETWORK_STATUS_CONNECTED = 6; // 0x6
15291    field public static final int WIFI_NETWORK_STATUS_CONNECTING = 3; // 0x3
15292    field public static final int WIFI_NETWORK_STATUS_DISCONNECTED = 7; // 0x7
15293    field public static final int WIFI_NETWORK_STATUS_FAILED = 8; // 0x8
15294    field public static final int WIFI_NETWORK_STATUS_IDLE = 1; // 0x1
15295    field public static final int WIFI_NETWORK_STATUS_OBTAINING_IPADDR = 5; // 0x5
15296    field public static final int WIFI_NETWORK_STATUS_SCANNING = 2; // 0x2
15297    field public static final int WIFI_ROLE_CLIENT_PRIMARY = 1; // 0x1
15298    field public static final int WIFI_ROLE_CLIENT_SECONDARY_INTERNET = 2; // 0x2
15299    field public static final int WIFI_ROLE_CLIENT_SECONDARY_LOCAL_ONLY = 3; // 0x3
15300  }
15301
15302  public static interface WifiManager.WifiVerboseLoggingStatusChangedListener {
15303    method public void onWifiVerboseLoggingStatusChanged(boolean);
15304  }
15305
15306  public final class WifiMigration {
15307    method @Nullable public static java.io.InputStream convertAndRetrieveSharedConfigStoreFile(int);
15308    method @Nullable public static java.io.InputStream convertAndRetrieveUserConfigStoreFile(int, @NonNull android.os.UserHandle);
15309    method @NonNull public static android.net.wifi.WifiMigration.SettingsMigrationData loadFromSettings(@NonNull android.content.Context);
15310    method public static void removeSharedConfigStoreFile(int);
15311    method public static void removeUserConfigStoreFile(int, @NonNull android.os.UserHandle);
15312    field public static final int STORE_FILE_SHARED_GENERAL = 0; // 0x0
15313    field public static final int STORE_FILE_SHARED_SOFTAP = 1; // 0x1
15314    field public static final int STORE_FILE_USER_GENERAL = 2; // 0x2
15315    field public static final int STORE_FILE_USER_NETWORK_SUGGESTIONS = 3; // 0x3
15316  }
15317
15318  public static final class WifiMigration.SettingsMigrationData implements android.os.Parcelable {
15319    method public int describeContents();
15320    method @Nullable public String getP2pDeviceName();
15321    method public boolean isP2pFactoryResetPending();
15322    method public boolean isScanAlwaysAvailable();
15323    method public boolean isScanThrottleEnabled();
15324    method public boolean isSoftApTimeoutEnabled();
15325    method public boolean isVerboseLoggingEnabled();
15326    method public boolean isWakeUpEnabled();
15327    method public void writeToParcel(@NonNull android.os.Parcel, int);
15328    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiMigration.SettingsMigrationData> CREATOR;
15329  }
15330
15331  public static final class WifiMigration.SettingsMigrationData.Builder {
15332    ctor public WifiMigration.SettingsMigrationData.Builder();
15333    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData build();
15334    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setP2pDeviceName(@Nullable String);
15335    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setP2pFactoryResetPending(boolean);
15336    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setScanAlwaysAvailable(boolean);
15337    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setScanThrottleEnabled(boolean);
15338    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setSoftApTimeoutEnabled(boolean);
15339    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setVerboseLoggingEnabled(boolean);
15340    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setWakeUpEnabled(boolean);
15341  }
15342
15343  @Deprecated public class WifiNetworkConnectionStatistics implements android.os.Parcelable {
15344    ctor @Deprecated public WifiNetworkConnectionStatistics();
15345    ctor @Deprecated public WifiNetworkConnectionStatistics(android.net.wifi.WifiNetworkConnectionStatistics);
15346    ctor @Deprecated public WifiNetworkConnectionStatistics(int, int);
15347    method @Deprecated public int describeContents();
15348    method @Deprecated public void writeToParcel(android.os.Parcel, int);
15349    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiNetworkConnectionStatistics> CREATOR;
15350    field @Deprecated public int numConnection;
15351    field @Deprecated public int numUsage;
15352  }
15353
15354  public final class WifiNetworkSelectionConfig implements android.os.Parcelable {
15355    method public int describeContents();
15356    method public int getAssociatedNetworkSelectionOverride();
15357    method @NonNull public android.util.SparseArray<java.lang.Integer> getFrequencyWeights();
15358    method @NonNull public int[] getRssiThresholds(int);
15359    method public boolean isLastSelectionWeightEnabled();
15360    method public boolean isSufficiencyCheckEnabledWhenScreenOff();
15361    method public boolean isSufficiencyCheckEnabledWhenScreenOn();
15362    method public boolean isUserConnectChoiceOverrideEnabled();
15363    method public void writeToParcel(@NonNull android.os.Parcel, int);
15364    field public static final int ASSOCIATED_NETWORK_SELECTION_OVERRIDE_DISABLED = 2; // 0x2
15365    field public static final int ASSOCIATED_NETWORK_SELECTION_OVERRIDE_ENABLED = 1; // 0x1
15366    field public static final int ASSOCIATED_NETWORK_SELECTION_OVERRIDE_NONE = 0; // 0x0
15367    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiNetworkSelectionConfig> CREATOR;
15368    field public static final int FREQUENCY_WEIGHT_HIGH = 1; // 0x1
15369    field public static final int FREQUENCY_WEIGHT_LOW = 0; // 0x0
15370  }
15371
15372  public static final class WifiNetworkSelectionConfig.Builder {
15373    ctor public WifiNetworkSelectionConfig.Builder();
15374    ctor public WifiNetworkSelectionConfig.Builder(@NonNull android.net.wifi.WifiNetworkSelectionConfig);
15375    method @NonNull public android.net.wifi.WifiNetworkSelectionConfig build();
15376    method @NonNull public android.net.wifi.WifiNetworkSelectionConfig.Builder setAssociatedNetworkSelectionOverride(int) throws java.lang.IllegalArgumentException;
15377    method @NonNull public android.net.wifi.WifiNetworkSelectionConfig.Builder setFrequencyWeights(@NonNull android.util.SparseArray<java.lang.Integer>) throws java.lang.IllegalArgumentException;
15378    method @NonNull public android.net.wifi.WifiNetworkSelectionConfig.Builder setLastSelectionWeightEnabled(boolean);
15379    method @NonNull public android.net.wifi.WifiNetworkSelectionConfig.Builder setRssiThresholds(int, @NonNull int[]) throws java.lang.IllegalArgumentException;
15380    method @NonNull public android.net.wifi.WifiNetworkSelectionConfig.Builder setSufficiencyCheckEnabledWhenScreenOff(boolean);
15381    method @NonNull public android.net.wifi.WifiNetworkSelectionConfig.Builder setSufficiencyCheckEnabledWhenScreenOn(boolean);
15382    method @NonNull public android.net.wifi.WifiNetworkSelectionConfig.Builder setUserConnectChoiceOverrideEnabled(boolean);
15383  }
15384
15385  public final class WifiNetworkSuggestion implements android.os.Parcelable {
15386    method public int getCarrierId();
15387    method @NonNull public android.net.wifi.WifiConfiguration getWifiConfiguration();
15388    method public boolean isOemPaid();
15389    method public boolean isOemPrivate();
15390  }
15391
15392  public static final class WifiNetworkSuggestion.Builder {
15393    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_CARRIER_PROVISIONING) public android.net.wifi.WifiNetworkSuggestion.Builder setCarrierId(int);
15394    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setOemPaid(boolean);
15395    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setOemPrivate(boolean);
15396  }
15397
15398  public class WifiScanner {
15399    method @Deprecated public void configureWifiChange(android.net.wifi.WifiScanner.WifiChangeSettings);
15400    method @Deprecated public void configureWifiChange(int, int, int, int, int, android.net.wifi.WifiScanner.BssidInfo[]);
15401    method @NonNull @RequiresPermission(android.Manifest.permission.NEARBY_WIFI_DEVICES) public java.util.List<java.lang.Integer> getAvailableChannels(int);
15402    method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.LOCATION_HARDWARE}) public void getCachedScanData(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.net.wifi.WifiScanner.ScanData>);
15403    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public boolean getScanResults();
15404    method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public java.util.List<android.net.wifi.ScanResult> getSingleScanResults();
15405    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public boolean isScanning();
15406    method @RequiresPermission(anyOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.NETWORK_STACK}) public void registerScanListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiScanner.ScanListener);
15407    method @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public void setScanningEnabled(boolean);
15408    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startBackgroundScan(android.net.wifi.WifiScanner.ScanSettings, android.net.wifi.WifiScanner.ScanListener);
15409    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startBackgroundScan(android.net.wifi.WifiScanner.ScanSettings, android.net.wifi.WifiScanner.ScanListener, android.os.WorkSource);
15410    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startScan(android.net.wifi.WifiScanner.ScanSettings, android.net.wifi.WifiScanner.ScanListener);
15411    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startScan(android.net.wifi.WifiScanner.ScanSettings, android.net.wifi.WifiScanner.ScanListener, android.os.WorkSource);
15412    method @Deprecated public void startTrackingBssids(android.net.wifi.WifiScanner.BssidInfo[], int, android.net.wifi.WifiScanner.BssidListener);
15413    method @Deprecated public void startTrackingWifiChange(android.net.wifi.WifiScanner.WifiChangeListener);
15414    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void stopBackgroundScan(android.net.wifi.WifiScanner.ScanListener);
15415    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void stopScan(android.net.wifi.WifiScanner.ScanListener);
15416    method @Deprecated public void stopTrackingBssids(android.net.wifi.WifiScanner.BssidListener);
15417    method @Deprecated public void stopTrackingWifiChange(android.net.wifi.WifiScanner.WifiChangeListener);
15418    method public void unregisterScanListener(@NonNull android.net.wifi.WifiScanner.ScanListener);
15419    field public static final int MAX_SCAN_PERIOD_MS = 1024000; // 0xfa000
15420    field public static final int MIN_SCAN_PERIOD_MS = 1000; // 0x3e8
15421    field public static final int REASON_ABORT = -7; // 0xfffffff9
15422    field public static final int REASON_BUSY = -6; // 0xfffffffa
15423    field public static final int REASON_DUPLICATE_REQEUST = -5; // 0xfffffffb
15424    field public static final int REASON_INVALID_ARGS = -9; // 0xfffffff7
15425    field public static final int REASON_INVALID_LISTENER = -2; // 0xfffffffe
15426    field public static final int REASON_INVALID_REQUEST = -3; // 0xfffffffd
15427    field public static final int REASON_NOT_AUTHORIZED = -4; // 0xfffffffc
15428    field public static final int REASON_NO_DEVICE = -8; // 0xfffffff8
15429    field public static final int REASON_SUCCEEDED = 0; // 0x0
15430    field public static final int REASON_TIMEOUT = -10; // 0xfffffff6
15431    field public static final int REASON_UNSPECIFIED = -1; // 0xffffffff
15432    field @Deprecated public static final int REPORT_EVENT_AFTER_BUFFER_FULL = 0; // 0x0
15433    field public static final int REPORT_EVENT_AFTER_EACH_SCAN = 1; // 0x1
15434    field public static final int REPORT_EVENT_FULL_SCAN_RESULT = 2; // 0x2
15435    field public static final int REPORT_EVENT_NO_BATCH = 4; // 0x4
15436    field public static final int SCAN_TYPE_HIGH_ACCURACY = 2; // 0x2
15437    field public static final int SCAN_TYPE_LOW_LATENCY = 0; // 0x0
15438    field public static final int SCAN_TYPE_LOW_POWER = 1; // 0x1
15439    field public static final int WIFI_BAND_24_5_6_GHZ = 11; // 0xb
15440    field public static final int WIFI_BAND_24_5_WITH_DFS_6_GHZ = 15; // 0xf
15441    field public static final int WIFI_BAND_24_GHZ = 1; // 0x1
15442    field public static final int WIFI_BAND_5_GHZ = 2; // 0x2
15443    field public static final int WIFI_BAND_5_GHZ_DFS_ONLY = 4; // 0x4
15444    field public static final int WIFI_BAND_5_GHZ_WITH_DFS = 6; // 0x6
15445    field public static final int WIFI_BAND_60_GHZ = 16; // 0x10
15446    field public static final int WIFI_BAND_6_GHZ = 8; // 0x8
15447    field public static final int WIFI_BAND_BOTH = 3; // 0x3
15448    field public static final int WIFI_BAND_BOTH_WITH_DFS = 7; // 0x7
15449    field public static final int WIFI_BAND_UNSPECIFIED = 0; // 0x0
15450    field public static final int WIFI_RNR_ENABLED = 1; // 0x1
15451    field public static final int WIFI_RNR_ENABLED_IF_WIFI_BAND_6_GHZ_SCANNED = 0; // 0x0
15452    field public static final int WIFI_RNR_NOT_NEEDED = 2; // 0x2
15453  }
15454
15455  public static interface WifiScanner.ActionListener {
15456    method public void onFailure(int, String);
15457    method public void onSuccess();
15458  }
15459
15460  @Deprecated public static class WifiScanner.BssidInfo {
15461    ctor @Deprecated public WifiScanner.BssidInfo();
15462    field @Deprecated public String bssid;
15463    field @Deprecated public int frequencyHint;
15464    field @Deprecated public int high;
15465    field @Deprecated public int low;
15466  }
15467
15468  @Deprecated public static interface WifiScanner.BssidListener extends android.net.wifi.WifiScanner.ActionListener {
15469    method @Deprecated public void onFound(android.net.wifi.ScanResult[]);
15470    method @Deprecated public void onLost(android.net.wifi.ScanResult[]);
15471  }
15472
15473  public static class WifiScanner.ChannelSpec {
15474    ctor public WifiScanner.ChannelSpec(int);
15475    field public int frequency;
15476  }
15477
15478  @Deprecated public static class WifiScanner.HotlistSettings implements android.os.Parcelable {
15479    ctor @Deprecated public WifiScanner.HotlistSettings();
15480    method @Deprecated public int describeContents();
15481    method @Deprecated public void writeToParcel(android.os.Parcel, int);
15482    field @Deprecated public int apLostThreshold;
15483    field @Deprecated public android.net.wifi.WifiScanner.BssidInfo[] bssidInfos;
15484  }
15485
15486  public static class WifiScanner.ParcelableScanData implements android.os.Parcelable {
15487    ctor public WifiScanner.ParcelableScanData(android.net.wifi.WifiScanner.ScanData[]);
15488    method public int describeContents();
15489    method public android.net.wifi.WifiScanner.ScanData[] getResults();
15490    method public void writeToParcel(android.os.Parcel, int);
15491    field public android.net.wifi.WifiScanner.ScanData[] mResults;
15492  }
15493
15494  public static class WifiScanner.ParcelableScanResults implements android.os.Parcelable {
15495    ctor public WifiScanner.ParcelableScanResults(android.net.wifi.ScanResult[]);
15496    method public int describeContents();
15497    method public android.net.wifi.ScanResult[] getResults();
15498    method public void writeToParcel(android.os.Parcel, int);
15499    field public android.net.wifi.ScanResult[] mResults;
15500  }
15501
15502  public static class WifiScanner.ScanData implements android.os.Parcelable {
15503    ctor public WifiScanner.ScanData(android.net.wifi.WifiScanner.ScanData);
15504    ctor public WifiScanner.ScanData(int, int, android.net.wifi.ScanResult[]);
15505    method public int describeContents();
15506    method public int getFlags();
15507    method public int getId();
15508    method public android.net.wifi.ScanResult[] getResults();
15509    method public int getScannedBands();
15510    method public void writeToParcel(android.os.Parcel, int);
15511  }
15512
15513  public static interface WifiScanner.ScanListener extends android.net.wifi.WifiScanner.ActionListener {
15514    method public void onFullResult(android.net.wifi.ScanResult);
15515    method @Deprecated public void onPeriodChanged(int);
15516    method public void onResults(android.net.wifi.WifiScanner.ScanData[]);
15517  }
15518
15519  public static class WifiScanner.ScanSettings implements android.os.Parcelable {
15520    ctor public WifiScanner.ScanSettings();
15521    method public int describeContents();
15522    method public int getRnrSetting();
15523    method @NonNull public java.util.List<android.net.wifi.ScanResult.InformationElement> getVendorIes();
15524    method public boolean is6GhzPscOnlyEnabled();
15525    method public void set6GhzPscOnlyEnabled(boolean);
15526    method public void setRnrSetting(int);
15527    method public void setVendorIes(@NonNull java.util.List<android.net.wifi.ScanResult.InformationElement>);
15528    method public void writeToParcel(android.os.Parcel, int);
15529    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiScanner.ScanSettings> CREATOR;
15530    field public int band;
15531    field public android.net.wifi.WifiScanner.ChannelSpec[] channels;
15532    field @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public final java.util.List<android.net.wifi.WifiScanner.ScanSettings.HiddenNetwork> hiddenNetworks;
15533    field public boolean hideFromAppOps;
15534    field public boolean ignoreLocationSettings;
15535    field @Deprecated public int maxPeriodInMs;
15536    field @Deprecated public int maxScansToCache;
15537    field @Deprecated public int numBssidsPerScan;
15538    field @Deprecated public int periodInMs;
15539    field @Deprecated public int reportEvents;
15540    field @Deprecated public int stepCount;
15541    field @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public int type;
15542  }
15543
15544  public static class WifiScanner.ScanSettings.HiddenNetwork {
15545    ctor public WifiScanner.ScanSettings.HiddenNetwork(@NonNull String);
15546    field @NonNull public final String ssid;
15547  }
15548
15549  @Deprecated public static interface WifiScanner.WifiChangeListener extends android.net.wifi.WifiScanner.ActionListener {
15550    method @Deprecated public void onChanging(android.net.wifi.ScanResult[]);
15551    method @Deprecated public void onQuiescence(android.net.wifi.ScanResult[]);
15552  }
15553
15554  @Deprecated public static class WifiScanner.WifiChangeSettings implements android.os.Parcelable {
15555    ctor @Deprecated public WifiScanner.WifiChangeSettings();
15556    method @Deprecated public int describeContents();
15557    method @Deprecated public void writeToParcel(android.os.Parcel, int);
15558    field @Deprecated public android.net.wifi.WifiScanner.BssidInfo[] bssidInfos;
15559    field @Deprecated public int lostApSampleSize;
15560    field @Deprecated public int minApsBreachingThreshold;
15561    field @Deprecated public int periodInMs;
15562    field @Deprecated public int rssiSampleSize;
15563    field @Deprecated public int unchangedSampleSize;
15564  }
15565
15566  public class WifiUriParser {
15567    method @NonNull public static android.net.wifi.UriParserResults parseUri(@NonNull String);
15568  }
15569
15570  public final class WifiUsabilityStatsEntry implements android.os.Parcelable {
15571    method public int describeContents();
15572    method public int getCellularDataNetworkType();
15573    method public int getCellularSignalStrengthDb();
15574    method public int getCellularSignalStrengthDbm();
15575    method @IntRange(from=0xffffffff, to=255) public int getChannelUtilizationRatio();
15576    method @NonNull public android.net.wifi.WifiUsabilityStatsEntry.ContentionTimeStats getContentionTimeStats(int);
15577    method @NonNull public android.net.wifi.WifiUsabilityStatsEntry.ContentionTimeStats getContentionTimeStats(int, int);
15578    method @Nullable public int[] getLinkIds();
15579    method public int getLinkSpeedMbps();
15580    method public int getLinkState(int);
15581    method public int getProbeElapsedTimeSinceLastUpdateMillis();
15582    method public int getProbeMcsRateSinceLastUpdate();
15583    method public int getProbeStatusSinceLastUpdate();
15584    method public long getRadioId(int);
15585    method @NonNull public java.util.List<android.net.wifi.WifiUsabilityStatsEntry.RateStats> getRateStats();
15586    method @NonNull public java.util.List<android.net.wifi.WifiUsabilityStatsEntry.RateStats> getRateStats(int);
15587    method public int getRssi();
15588    method public int getRssi(int);
15589    method public int getRxLinkSpeedMbps();
15590    method public int getRxLinkSpeedMbps(int);
15591    method @IntRange(from=0, to=100) public int getTimeSliceDutyCycleInPercent();
15592    method @IntRange(from=0, to=100) public int getTimeSliceDutyCycleInPercent(int);
15593    method public long getTimeStampMillis();
15594    method public long getTotalBackgroundScanTimeMillis();
15595    method public long getTotalBeaconRx();
15596    method public long getTotalBeaconRx(int);
15597    method public long getTotalCcaBusyFreqTimeMillis();
15598    method public long getTotalCcaBusyFreqTimeMillis(int);
15599    method public long getTotalHotspot2ScanTimeMillis();
15600    method public long getTotalNanScanTimeMillis();
15601    method public long getTotalPnoScanTimeMillis();
15602    method public long getTotalRadioOnFreqTimeMillis();
15603    method public long getTotalRadioOnFreqTimeMillis(int);
15604    method public long getTotalRadioOnTimeMillis();
15605    method public long getTotalRadioRxTimeMillis();
15606    method public long getTotalRadioTxTimeMillis();
15607    method public long getTotalRoamScanTimeMillis();
15608    method public long getTotalRxSuccess();
15609    method public long getTotalRxSuccess(int);
15610    method public long getTotalScanTimeMillis();
15611    method public long getTotalTxBad();
15612    method public long getTotalTxBad(int);
15613    method public long getTotalTxRetries();
15614    method public long getTotalTxRetries(int);
15615    method public long getTotalTxSuccess();
15616    method public long getTotalTxSuccess(int);
15617    method public int getTxLinkSpeedMbps(int);
15618    method @NonNull public java.util.List<android.net.wifi.WifiUsabilityStatsEntry.RadioStats> getWifiLinkLayerRadioStats();
15619    method public boolean isCellularDataAvailable();
15620    method public boolean isSameRegisteredCell();
15621    method public boolean isThroughputSufficient();
15622    method public boolean isWifiScoringEnabled();
15623    method public void writeToParcel(android.os.Parcel, int);
15624    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiUsabilityStatsEntry> CREATOR;
15625    field public static final int LINK_STATE_IN_USE = 2; // 0x2
15626    field public static final int LINK_STATE_NOT_IN_USE = 1; // 0x1
15627    field public static final int LINK_STATE_UNKNOWN = 0; // 0x0
15628    field public static final int NUM_WME_ACCESS_CATEGORIES = 4; // 0x4
15629    field public static final int PROBE_STATUS_FAILURE = 3; // 0x3
15630    field public static final int PROBE_STATUS_NO_PROBE = 1; // 0x1
15631    field public static final int PROBE_STATUS_SUCCESS = 2; // 0x2
15632    field public static final int PROBE_STATUS_UNKNOWN = 0; // 0x0
15633    field public static final int WIFI_BANDWIDTH_10_MHZ = 6; // 0x6
15634    field public static final int WIFI_BANDWIDTH_160_MHZ = 3; // 0x3
15635    field public static final int WIFI_BANDWIDTH_20_MHZ = 0; // 0x0
15636    field public static final int WIFI_BANDWIDTH_320_MHZ = 7; // 0x7
15637    field public static final int WIFI_BANDWIDTH_40_MHZ = 1; // 0x1
15638    field public static final int WIFI_BANDWIDTH_5_MHZ = 5; // 0x5
15639    field public static final int WIFI_BANDWIDTH_80P80_MHZ = 4; // 0x4
15640    field public static final int WIFI_BANDWIDTH_80_MHZ = 2; // 0x2
15641    field public static final int WIFI_BANDWIDTH_INVALID = -1; // 0xffffffff
15642    field public static final int WIFI_PREAMBLE_CCK = 1; // 0x1
15643    field public static final int WIFI_PREAMBLE_EHT = 6; // 0x6
15644    field public static final int WIFI_PREAMBLE_HE = 5; // 0x5
15645    field public static final int WIFI_PREAMBLE_HT = 2; // 0x2
15646    field public static final int WIFI_PREAMBLE_INVALID = -1; // 0xffffffff
15647    field public static final int WIFI_PREAMBLE_OFDM = 0; // 0x0
15648    field public static final int WIFI_PREAMBLE_VHT = 3; // 0x3
15649    field public static final int WIFI_SPATIAL_STREAMS_FOUR = 4; // 0x4
15650    field public static final int WIFI_SPATIAL_STREAMS_INVALID = -1; // 0xffffffff
15651    field public static final int WIFI_SPATIAL_STREAMS_ONE = 1; // 0x1
15652    field public static final int WIFI_SPATIAL_STREAMS_THREE = 3; // 0x3
15653    field public static final int WIFI_SPATIAL_STREAMS_TWO = 2; // 0x2
15654    field public static final int WME_ACCESS_CATEGORY_BE = 0; // 0x0
15655    field public static final int WME_ACCESS_CATEGORY_BK = 1; // 0x1
15656    field public static final int WME_ACCESS_CATEGORY_VI = 2; // 0x2
15657    field public static final int WME_ACCESS_CATEGORY_VO = 3; // 0x3
15658  }
15659
15660  public static final class WifiUsabilityStatsEntry.ContentionTimeStats implements android.os.Parcelable {
15661    ctor public WifiUsabilityStatsEntry.ContentionTimeStats(long, long, long, long);
15662    method public int describeContents();
15663    method public long getContentionNumSamples();
15664    method public long getContentionTimeAvgMicros();
15665    method public long getContentionTimeMaxMicros();
15666    method public long getContentionTimeMinMicros();
15667    method public void writeToParcel(@NonNull android.os.Parcel, int);
15668    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiUsabilityStatsEntry.ContentionTimeStats> CREATOR;
15669  }
15670
15671  public static final class WifiUsabilityStatsEntry.RadioStats implements android.os.Parcelable {
15672    ctor public WifiUsabilityStatsEntry.RadioStats(int, long, long, long, long, long, long, long, long, long);
15673    method public int describeContents();
15674    method public long getRadioId();
15675    method public long getTotalBackgroundScanTimeMillis();
15676    method public long getTotalHotspot2ScanTimeMillis();
15677    method public long getTotalNanScanTimeMillis();
15678    method public long getTotalPnoScanTimeMillis();
15679    method public long getTotalRadioOnTimeMillis();
15680    method public long getTotalRadioRxTimeMillis();
15681    method public long getTotalRadioTxTimeMillis();
15682    method public long getTotalRoamScanTimeMillis();
15683    method public long getTotalScanTimeMillis();
15684    method public void writeToParcel(@NonNull android.os.Parcel, int);
15685    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiUsabilityStatsEntry.RadioStats> CREATOR;
15686  }
15687
15688  public static final class WifiUsabilityStatsEntry.RateStats implements android.os.Parcelable {
15689    ctor public WifiUsabilityStatsEntry.RateStats(int, int, int, int, int, int, int, int, int);
15690    method public int describeContents();
15691    method public int getBandwidthInMhz();
15692    method public int getBitRateInKbps();
15693    method public int getMpduLost();
15694    method public int getNumberOfSpatialStreams();
15695    method public int getPreamble();
15696    method public int getRateMcsIdx();
15697    method public int getRetries();
15698    method public int getRxMpdu();
15699    method public int getTxMpdu();
15700    method public void writeToParcel(@NonNull android.os.Parcel, int);
15701    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiUsabilityStatsEntry.RateStats> CREATOR;
15702  }
15703
15704}
15705
15706package android.net.wifi.aware {
15707
15708  public final class AwareParams implements android.os.Parcelable {
15709    ctor public AwareParams();
15710    method public int describeContents();
15711    method public int getDiscoveryBeaconIntervalMillis();
15712    method public int getDiscoveryWindowWakeInterval24Ghz();
15713    method public int getDiscoveryWindowWakeInterval5Ghz();
15714    method public int getMacRandomizationIntervalSeconds();
15715    method public int getNumSpatialStreamsInDiscovery();
15716    method public boolean isDwEarlyTerminationEnabled();
15717    method public void setDiscoveryBeaconIntervalMillis(@IntRange(from=1) int);
15718    method public void setDiscoveryWindowWakeInterval24Ghz(@IntRange(from=1, to=5) int);
15719    method public void setDiscoveryWindowWakeInterval5Ghz(@IntRange(from=0, to=5) int);
15720    method public void setDwEarlyTerminationEnabled(boolean);
15721    method public void setMacRandomizationIntervalSeconds(@IntRange(from=1, to=1800) int);
15722    method public void setNumSpatialStreamsInDiscovery(@IntRange(from=1) int);
15723    method public void writeToParcel(@NonNull android.os.Parcel, int);
15724    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.AwareParams> CREATOR;
15725    field public static final int UNSET_PARAMETER = -1; // 0xffffffff
15726  }
15727
15728  public final class ConfigRequest implements android.os.Parcelable {
15729    method public int describeContents();
15730    method @NonNull public java.util.List<android.net.wifi.OuiKeyedData> getVendorData();
15731    method public void writeToParcel(@NonNull android.os.Parcel, int);
15732    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.ConfigRequest> CREATOR;
15733  }
15734
15735  public static final class ConfigRequest.Builder {
15736    ctor public ConfigRequest.Builder();
15737    method @NonNull public android.net.wifi.aware.ConfigRequest build();
15738    method @NonNull public android.net.wifi.aware.ConfigRequest.Builder setVendorData(@NonNull java.util.List<android.net.wifi.OuiKeyedData>);
15739  }
15740
15741  public class DiscoverySession implements java.lang.AutoCloseable {
15742    method @Deprecated public android.net.NetworkSpecifier createNetworkSpecifierPmk(@NonNull android.net.wifi.aware.PeerHandle, @NonNull byte[]);
15743    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public void resume();
15744    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public void suspend();
15745  }
15746
15747  public class DiscoverySessionCallback {
15748    method public void onSessionResumeFailed(int);
15749    method public void onSessionResumeSucceeded();
15750    method public void onSessionSuspendFailed(int);
15751    method public void onSessionSuspendSucceeded();
15752  }
15753
15754  public final class PublishConfig implements android.os.Parcelable {
15755    method @NonNull public java.util.List<android.net.wifi.OuiKeyedData> getVendorData();
15756    method public boolean isSuspendable();
15757  }
15758
15759  public static final class PublishConfig.Builder {
15760    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public android.net.wifi.aware.PublishConfig.Builder setSuspendable(boolean);
15761    method @NonNull public android.net.wifi.aware.PublishConfig.Builder setVendorData(@NonNull java.util.List<android.net.wifi.OuiKeyedData>);
15762  }
15763
15764  public final class ServiceDiscoveryInfo {
15765    method @NonNull public java.util.List<android.net.wifi.OuiKeyedData> getVendorData();
15766  }
15767
15768  public final class SubscribeConfig implements android.os.Parcelable {
15769    method @NonNull public java.util.List<android.net.wifi.OuiKeyedData> getVendorData();
15770    method public boolean isSuspendable();
15771  }
15772
15773  public static final class SubscribeConfig.Builder {
15774    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public android.net.wifi.aware.SubscribeConfig.Builder setSuspendable(boolean);
15775    method @NonNull public android.net.wifi.aware.SubscribeConfig.Builder setVendorData(@NonNull java.util.List<android.net.wifi.OuiKeyedData>);
15776  }
15777
15778  public class WifiAwareManager {
15779    method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_WIFI_STATE, android.Manifest.permission.CHANGE_WIFI_STATE, android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION}, conditional=true) public void attach(@NonNull android.net.wifi.aware.ConfigRequest, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.aware.AttachCallback, @NonNull android.net.wifi.aware.IdentityChangedListener);
15780    method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_WIFI_STATE, android.Manifest.permission.CHANGE_WIFI_STATE, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public void attachOffload(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.aware.AttachCallback);
15781    method @RequiresPermission(allOf={android.Manifest.permission.CHANGE_WIFI_STATE, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public void enableInstantCommunicationMode(boolean);
15782    method @RequiresPermission(allOf={android.Manifest.permission.OVERRIDE_WIFI_CONFIG, android.Manifest.permission.CHANGE_WIFI_STATE}) public void setAwareParams(@Nullable android.net.wifi.aware.AwareParams);
15783    field public static final int WIFI_AWARE_RESUME_INTERNAL_ERROR = 2; // 0x2
15784    field public static final int WIFI_AWARE_RESUME_INVALID_SESSION = 1; // 0x1
15785    field public static final int WIFI_AWARE_RESUME_REDUNDANT_REQUEST = 0; // 0x0
15786    field public static final int WIFI_AWARE_SUSPEND_CANNOT_SUSPEND = 2; // 0x2
15787    field public static final int WIFI_AWARE_SUSPEND_INTERNAL_ERROR = 3; // 0x3
15788    field public static final int WIFI_AWARE_SUSPEND_INVALID_SESSION = 1; // 0x1
15789    field public static final int WIFI_AWARE_SUSPEND_REDUNDANT_REQUEST = 0; // 0x0
15790  }
15791
15792  public class WifiAwareSession implements java.lang.AutoCloseable {
15793    method @Deprecated public android.net.NetworkSpecifier createNetworkSpecifierPmk(int, @NonNull byte[], @NonNull byte[]);
15794    method @RequiresPermission(android.Manifest.permission.OVERRIDE_WIFI_CONFIG) public void getMasterPreference(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
15795    method @RequiresPermission(android.Manifest.permission.OVERRIDE_WIFI_CONFIG) public void setMasterPreference(@IntRange(from=0, to=254) int);
15796  }
15797
15798}
15799
15800package android.net.wifi.hotspot2 {
15801
15802  public final class OsuProvider implements android.os.Parcelable {
15803    method public int describeContents();
15804    method @Nullable public String getFriendlyName();
15805    method @Nullable public android.net.Uri getServerUri();
15806    method public void writeToParcel(android.os.Parcel, int);
15807    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.OsuProvider> CREATOR;
15808  }
15809
15810  public final class PasspointConfiguration implements android.os.Parcelable {
15811    method public int getMeteredOverride();
15812    method public boolean isAutojoinEnabled();
15813    method public boolean isMacRandomizationEnabled();
15814  }
15815
15816  public abstract class ProvisioningCallback {
15817    ctor public ProvisioningCallback();
15818    method public abstract void onProvisioningComplete();
15819    method public abstract void onProvisioningFailure(int);
15820    method public abstract void onProvisioningStatus(int);
15821    field public static final int OSU_FAILURE_ADD_PASSPOINT_CONFIGURATION = 22; // 0x16
15822    field public static final int OSU_FAILURE_AP_CONNECTION = 1; // 0x1
15823    field public static final int OSU_FAILURE_INVALID_URL_FORMAT_FOR_OSU = 8; // 0x8
15824    field public static final int OSU_FAILURE_NO_AAA_SERVER_TRUST_ROOT_NODE = 17; // 0x11
15825    field public static final int OSU_FAILURE_NO_AAA_TRUST_ROOT_CERTIFICATE = 21; // 0x15
15826    field public static final int OSU_FAILURE_NO_OSU_ACTIVITY_FOUND = 14; // 0xe
15827    field public static final int OSU_FAILURE_NO_POLICY_SERVER_TRUST_ROOT_NODE = 19; // 0x13
15828    field public static final int OSU_FAILURE_NO_PPS_MO = 16; // 0x10
15829    field public static final int OSU_FAILURE_NO_REMEDIATION_SERVER_TRUST_ROOT_NODE = 18; // 0x12
15830    field public static final int OSU_FAILURE_OSU_PROVIDER_NOT_FOUND = 23; // 0x17
15831    field public static final int OSU_FAILURE_PROVISIONING_ABORTED = 6; // 0x6
15832    field public static final int OSU_FAILURE_PROVISIONING_NOT_AVAILABLE = 7; // 0x7
15833    field public static final int OSU_FAILURE_RETRIEVE_TRUST_ROOT_CERTIFICATES = 20; // 0x14
15834    field public static final int OSU_FAILURE_SERVER_CONNECTION = 3; // 0x3
15835    field public static final int OSU_FAILURE_SERVER_URL_INVALID = 2; // 0x2
15836    field public static final int OSU_FAILURE_SERVER_VALIDATION = 4; // 0x4
15837    field public static final int OSU_FAILURE_SERVICE_PROVIDER_VERIFICATION = 5; // 0x5
15838    field public static final int OSU_FAILURE_SOAP_MESSAGE_EXCHANGE = 11; // 0xb
15839    field public static final int OSU_FAILURE_START_REDIRECT_LISTENER = 12; // 0xc
15840    field public static final int OSU_FAILURE_TIMED_OUT_REDIRECT_LISTENER = 13; // 0xd
15841    field public static final int OSU_FAILURE_UNEXPECTED_COMMAND_TYPE = 9; // 0x9
15842    field public static final int OSU_FAILURE_UNEXPECTED_SOAP_MESSAGE_STATUS = 15; // 0xf
15843    field public static final int OSU_FAILURE_UNEXPECTED_SOAP_MESSAGE_TYPE = 10; // 0xa
15844    field public static final int OSU_STATUS_AP_CONNECTED = 2; // 0x2
15845    field public static final int OSU_STATUS_AP_CONNECTING = 1; // 0x1
15846    field public static final int OSU_STATUS_INIT_SOAP_EXCHANGE = 6; // 0x6
15847    field public static final int OSU_STATUS_REDIRECT_RESPONSE_RECEIVED = 8; // 0x8
15848    field public static final int OSU_STATUS_RETRIEVING_TRUST_ROOT_CERTS = 11; // 0xb
15849    field public static final int OSU_STATUS_SECOND_SOAP_EXCHANGE = 9; // 0x9
15850    field public static final int OSU_STATUS_SERVER_CONNECTED = 5; // 0x5
15851    field public static final int OSU_STATUS_SERVER_CONNECTING = 3; // 0x3
15852    field public static final int OSU_STATUS_SERVER_VALIDATED = 4; // 0x4
15853    field public static final int OSU_STATUS_THIRD_SOAP_EXCHANGE = 10; // 0xa
15854    field public static final int OSU_STATUS_WAITING_FOR_REDIRECT_RESPONSE = 7; // 0x7
15855  }
15856
15857}
15858
15859package android.net.wifi.nl80211 {
15860
15861  public final class DeviceWiphyCapabilities implements android.os.Parcelable {
15862    ctor public DeviceWiphyCapabilities();
15863    method public int describeContents();
15864    method public int getMaxNumberAkms();
15865    method public int getMaxNumberRxSpatialStreams();
15866    method public int getMaxNumberTxSpatialStreams();
15867    method public boolean isChannelWidthSupported(int);
15868    method public boolean isWifiStandardSupported(int);
15869    method public void setWifiStandardSupport(int, boolean);
15870    method public void writeToParcel(@NonNull android.os.Parcel, int);
15871    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.DeviceWiphyCapabilities> CREATOR;
15872  }
15873
15874  public final class NativeScanResult implements android.os.Parcelable {
15875    ctor public NativeScanResult();
15876    method public int describeContents();
15877    method @Nullable public android.net.MacAddress getBssid();
15878    method public int getCapabilities();
15879    method public int getFrequencyMhz();
15880    method @NonNull public byte[] getInformationElements();
15881    method @NonNull public java.util.List<android.net.wifi.nl80211.RadioChainInfo> getRadioChainInfos();
15882    method public int getSignalMbm();
15883    method @NonNull public byte[] getSsid();
15884    method public long getTsf();
15885    method public boolean isAssociated();
15886    method public void writeToParcel(@NonNull android.os.Parcel, int);
15887    field public static final int BSS_CAPABILITY_APSD = 2048; // 0x800
15888    field public static final int BSS_CAPABILITY_CF_POLLABLE = 4; // 0x4
15889    field public static final int BSS_CAPABILITY_CF_POLL_REQUEST = 8; // 0x8
15890    field public static final int BSS_CAPABILITY_CHANNEL_AGILITY = 128; // 0x80
15891    field public static final int BSS_CAPABILITY_DELAYED_BLOCK_ACK = 16384; // 0x4000
15892    field public static final int BSS_CAPABILITY_DMG_ESS = 3; // 0x3
15893    field public static final int BSS_CAPABILITY_DMG_IBSS = 1; // 0x1
15894    field public static final int BSS_CAPABILITY_DSSS_OFDM = 8192; // 0x2000
15895    field public static final int BSS_CAPABILITY_ESS = 1; // 0x1
15896    field public static final int BSS_CAPABILITY_IBSS = 2; // 0x2
15897    field public static final int BSS_CAPABILITY_IMMEDIATE_BLOCK_ACK = 32768; // 0x8000
15898    field public static final int BSS_CAPABILITY_PBCC = 64; // 0x40
15899    field public static final int BSS_CAPABILITY_PRIVACY = 16; // 0x10
15900    field public static final int BSS_CAPABILITY_QOS = 512; // 0x200
15901    field public static final int BSS_CAPABILITY_RADIO_MANAGEMENT = 4096; // 0x1000
15902    field public static final int BSS_CAPABILITY_SHORT_PREAMBLE = 32; // 0x20
15903    field public static final int BSS_CAPABILITY_SHORT_SLOT_TIME = 1024; // 0x400
15904    field public static final int BSS_CAPABILITY_SPECTRUM_MANAGEMENT = 256; // 0x100
15905    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.NativeScanResult> CREATOR;
15906  }
15907
15908  public final class NativeWifiClient implements android.os.Parcelable {
15909    ctor public NativeWifiClient(@Nullable android.net.MacAddress);
15910    method public int describeContents();
15911    method @Nullable public android.net.MacAddress getMacAddress();
15912    method public void writeToParcel(@NonNull android.os.Parcel, int);
15913    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.NativeWifiClient> CREATOR;
15914  }
15915
15916  public final class PnoNetwork implements android.os.Parcelable {
15917    ctor public PnoNetwork();
15918    method public int describeContents();
15919    method @NonNull public int[] getFrequenciesMhz();
15920    method @NonNull public byte[] getSsid();
15921    method public boolean isHidden();
15922    method public void setFrequenciesMhz(@NonNull int[]);
15923    method public void setHidden(boolean);
15924    method public void setSsid(@NonNull byte[]);
15925    method public void writeToParcel(@NonNull android.os.Parcel, int);
15926    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.PnoNetwork> CREATOR;
15927  }
15928
15929  public final class PnoSettings implements android.os.Parcelable {
15930    ctor public PnoSettings();
15931    method public int describeContents();
15932    method public long getIntervalMillis();
15933    method public int getMin2gRssiDbm();
15934    method public int getMin5gRssiDbm();
15935    method public int getMin6gRssiDbm();
15936    method @NonNull public java.util.List<android.net.wifi.nl80211.PnoNetwork> getPnoNetworks();
15937    method public int getScanIntervalMultiplier();
15938    method public int getScanIterations();
15939    method public void setIntervalMillis(long);
15940    method public void setMin2gRssiDbm(int);
15941    method public void setMin5gRssiDbm(int);
15942    method public void setMin6gRssiDbm(int);
15943    method public void setPnoNetworks(@NonNull java.util.List<android.net.wifi.nl80211.PnoNetwork>);
15944    method public void setScanIntervalMultiplier(int);
15945    method public void setScanIterations(int);
15946    method public void writeToParcel(@NonNull android.os.Parcel, int);
15947    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.PnoSettings> CREATOR;
15948  }
15949
15950  public final class RadioChainInfo implements android.os.Parcelable {
15951    ctor public RadioChainInfo(int, int);
15952    method public int describeContents();
15953    method public int getChainId();
15954    method public int getLevelDbm();
15955    method public void writeToParcel(@NonNull android.os.Parcel, int);
15956    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.RadioChainInfo> CREATOR;
15957  }
15958
15959  public class WifiNl80211Manager {
15960    ctor public WifiNl80211Manager(@NonNull android.content.Context, @NonNull android.os.IBinder);
15961    method public void abortScan(@NonNull String);
15962    method public void enableVerboseLogging(boolean);
15963    method @NonNull public int[] getChannelsMhzForBand(int);
15964    method @Nullable public android.net.wifi.nl80211.DeviceWiphyCapabilities getDeviceWiphyCapabilities(@NonNull String);
15965    method public int getMaxSsidsPerScan(@NonNull String);
15966    method @NonNull public java.util.List<android.net.wifi.nl80211.NativeScanResult> getScanResults(@NonNull String, int);
15967    method @Nullable public android.net.wifi.nl80211.WifiNl80211Manager.TxPacketCounters getTxPacketCounters(@NonNull String);
15968    method public void notifyCountryCodeChanged(@Nullable String);
15969    method @Nullable public static android.net.wifi.nl80211.WifiNl80211Manager.OemSecurityType parseOemSecurityTypeElement(int, int, @NonNull byte[]);
15970    method @Deprecated public boolean registerApCallback(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.nl80211.WifiNl80211Manager.SoftApCallback);
15971    method public boolean registerCountryCodeChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.nl80211.WifiNl80211Manager.CountryCodeChangedListener);
15972    method public void sendMgmtFrame(@NonNull String, @NonNull byte[], int, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.nl80211.WifiNl80211Manager.SendMgmtFrameCallback);
15973    method public void setOnServiceDeadCallback(@NonNull Runnable);
15974    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);
15975    method public boolean setupInterfaceForSoftApMode(@NonNull String);
15976    method @Deprecated @Nullable public android.net.wifi.nl80211.WifiNl80211Manager.SignalPollResult signalPoll(@NonNull String);
15977    method public boolean startPnoScan(@NonNull String, @NonNull android.net.wifi.nl80211.PnoSettings, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.nl80211.WifiNl80211Manager.PnoScanRequestCallback);
15978    method @Deprecated public boolean startScan(@NonNull String, int, @Nullable java.util.Set<java.lang.Integer>, @Nullable java.util.List<byte[]>);
15979    method @Deprecated public boolean startScan(@NonNull String, int, @Nullable java.util.Set<java.lang.Integer>, @Nullable java.util.List<byte[]>, @Nullable android.os.Bundle);
15980    method public int startScan2(@NonNull String, int, @Nullable java.util.Set<java.lang.Integer>, @Nullable java.util.List<byte[]>, @Nullable android.os.Bundle);
15981    method public boolean stopPnoScan(@NonNull String);
15982    method public boolean tearDownClientInterface(@NonNull String);
15983    method public boolean tearDownInterfaces();
15984    method public boolean tearDownSoftApInterface(@NonNull String);
15985    method public void unregisterCountryCodeChangedListener(@NonNull android.net.wifi.nl80211.WifiNl80211Manager.CountryCodeChangedListener);
15986    field public static final String EXTRA_SCANNING_PARAM_VENDOR_IES = "android.net.wifi.nl80211.extra.SCANNING_PARAM_VENDOR_IES";
15987    field public static final String SCANNING_PARAM_ENABLE_6GHZ_RNR = "android.net.wifi.nl80211.SCANNING_PARAM_ENABLE_6GHZ_RNR";
15988    field public static final int SCAN_TYPE_PNO_SCAN = 1; // 0x1
15989    field public static final int SCAN_TYPE_SINGLE_SCAN = 0; // 0x0
15990    field public static final int SEND_MGMT_FRAME_ERROR_ALREADY_STARTED = 5; // 0x5
15991    field public static final int SEND_MGMT_FRAME_ERROR_MCS_UNSUPPORTED = 2; // 0x2
15992    field public static final int SEND_MGMT_FRAME_ERROR_NO_ACK = 3; // 0x3
15993    field public static final int SEND_MGMT_FRAME_ERROR_TIMEOUT = 4; // 0x4
15994    field public static final int SEND_MGMT_FRAME_ERROR_UNKNOWN = 1; // 0x1
15995  }
15996
15997  public static interface WifiNl80211Manager.CountryCodeChangedListener {
15998    method public void onCountryCodeChanged(@NonNull String);
15999  }
16000
16001  public static class WifiNl80211Manager.OemSecurityType {
16002    ctor public WifiNl80211Manager.OemSecurityType(int, @NonNull java.util.List<java.lang.Integer>, @NonNull java.util.List<java.lang.Integer>, int);
16003    field public final int groupCipher;
16004    field @NonNull public final java.util.List<java.lang.Integer> keyManagement;
16005    field @NonNull public final java.util.List<java.lang.Integer> pairwiseCipher;
16006    field public final int protocol;
16007  }
16008
16009  public static interface WifiNl80211Manager.PnoScanRequestCallback {
16010    method public void onPnoRequestFailed();
16011    method public void onPnoRequestSucceeded();
16012  }
16013
16014  public static interface WifiNl80211Manager.ScanEventCallback {
16015    method @Deprecated public void onScanFailed();
16016    method public default void onScanFailed(int);
16017    method public void onScanResultReady();
16018  }
16019
16020  public static interface WifiNl80211Manager.SendMgmtFrameCallback {
16021    method public void onAck(int);
16022    method public void onFailure(int);
16023  }
16024
16025  @Deprecated public static class WifiNl80211Manager.SignalPollResult {
16026    field @Deprecated public final int associationFrequencyMHz;
16027    field @Deprecated public final int currentRssiDbm;
16028    field @Deprecated public final int rxBitrateMbps;
16029    field @Deprecated public final int txBitrateMbps;
16030  }
16031
16032  @Deprecated public static interface WifiNl80211Manager.SoftApCallback {
16033    method @Deprecated public void onConnectedClientsChanged(@NonNull android.net.wifi.nl80211.NativeWifiClient, boolean);
16034    method @Deprecated public void onFailure();
16035    method @Deprecated public void onSoftApChannelSwitched(int, int);
16036  }
16037
16038  public static class WifiNl80211Manager.TxPacketCounters {
16039    field public final int txPacketFailed;
16040    field public final int txPacketSucceeded;
16041  }
16042
16043}
16044
16045package android.net.wifi.p2p {
16046
16047  public class WifiP2pConfig implements android.os.Parcelable {
16048    method @NonNull public java.util.List<android.net.wifi.OuiKeyedData> getVendorData();
16049    method public boolean isJoinExistingGroup();
16050    method public void setVendorData(@NonNull java.util.List<android.net.wifi.OuiKeyedData>);
16051  }
16052
16053  public static final class WifiP2pConfig.Builder {
16054    method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder setJoinExistingGroup(boolean);
16055  }
16056
16057  public class WifiP2pDevice implements android.os.Parcelable {
16058    method @NonNull public java.util.List<android.net.wifi.OuiKeyedData> getVendorData();
16059    method public void setVendorData(@NonNull java.util.List<android.net.wifi.OuiKeyedData>);
16060  }
16061
16062  public final class WifiP2pDiscoveryConfig implements android.os.Parcelable {
16063    method @NonNull public java.util.List<android.net.wifi.OuiKeyedData> getVendorData();
16064  }
16065
16066  public static final class WifiP2pDiscoveryConfig.Builder {
16067    method @NonNull public android.net.wifi.p2p.WifiP2pDiscoveryConfig.Builder setVendorData(@NonNull java.util.List<android.net.wifi.OuiKeyedData>);
16068  }
16069
16070  public final class WifiP2pExtListenParams implements android.os.Parcelable {
16071    method public int describeContents();
16072    method @NonNull public java.util.List<android.net.wifi.OuiKeyedData> getVendorData();
16073    method public void writeToParcel(@NonNull android.os.Parcel, int);
16074    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pExtListenParams> CREATOR;
16075  }
16076
16077  public static final class WifiP2pExtListenParams.Builder {
16078    ctor public WifiP2pExtListenParams.Builder();
16079    method @NonNull public android.net.wifi.p2p.WifiP2pExtListenParams build();
16080    method @NonNull public android.net.wifi.p2p.WifiP2pExtListenParams.Builder setVendorData(@NonNull java.util.List<android.net.wifi.OuiKeyedData>);
16081  }
16082
16083  public class WifiP2pGroup implements android.os.Parcelable {
16084    method @NonNull public java.util.List<android.net.wifi.OuiKeyedData> getVendorData();
16085    method public void setVendorData(@NonNull java.util.List<android.net.wifi.OuiKeyedData>);
16086  }
16087
16088  public final class WifiP2pGroupList implements android.os.Parcelable {
16089    method public int describeContents();
16090    method @NonNull public java.util.List<android.net.wifi.p2p.WifiP2pGroup> getGroupList();
16091    method public void writeToParcel(@NonNull android.os.Parcel, int);
16092    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pGroupList> CREATOR;
16093  }
16094
16095  public class WifiP2pManager {
16096    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public void deletePersistentGroup(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, int, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
16097    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void factoryReset(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
16098    method @RequiresPermission(allOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.READ_WIFI_CREDENTIAL, android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public void requestPersistentGroupInfo(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @Nullable android.net.wifi.p2p.WifiP2pManager.PersistentGroupInfoListener);
16099    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public void setDeviceName(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull String, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
16100    method @RequiresPermission(android.Manifest.permission.CONFIGURE_WIFI_DISPLAY) public void setMiracastMode(int);
16101    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public void setWifiP2pChannels(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, int, int, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
16102    method @RequiresPermission(allOf={android.Manifest.permission.NEARBY_WIFI_DEVICES, android.Manifest.permission.ACCESS_FINE_LOCATION}, conditional=true) public void startListening(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @NonNull android.net.wifi.p2p.WifiP2pExtListenParams, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
16103    field public static final String ACTION_WIFI_P2P_PERSISTENT_GROUPS_CHANGED = "android.net.wifi.p2p.action.WIFI_P2P_PERSISTENT_GROUPS_CHANGED";
16104    field public static final int MIRACAST_DISABLED = 0; // 0x0
16105    field public static final int MIRACAST_SINK = 2; // 0x2
16106    field public static final int MIRACAST_SOURCE = 1; // 0x1
16107  }
16108
16109  public static interface WifiP2pManager.PersistentGroupInfoListener {
16110    method public void onPersistentGroupInfoAvailable(@NonNull android.net.wifi.p2p.WifiP2pGroupList);
16111  }
16112
16113  public static interface WifiP2pManager.WifiP2pListener {
16114    method public default void onPersistentGroupsChanged(@NonNull android.net.wifi.p2p.WifiP2pGroupList);
16115  }
16116
16117}
16118
16119package android.net.wifi.rtt {
16120
16121  public final class RangingRequest implements android.os.Parcelable {
16122    method @NonNull public java.util.List<android.net.wifi.rtt.ResponderConfig> getRttResponders();
16123    method @NonNull public java.util.List<android.net.wifi.OuiKeyedData> getVendorData();
16124  }
16125
16126  public static final class RangingRequest.Builder {
16127    method @NonNull public android.net.wifi.rtt.RangingRequest.Builder setVendorData(@NonNull java.util.List<android.net.wifi.OuiKeyedData>);
16128  }
16129
16130  public final class RangingResult implements android.os.Parcelable {
16131    method @NonNull public java.util.List<android.net.wifi.OuiKeyedData> getVendorData();
16132  }
16133
16134  public static final class RangingResult.Builder {
16135    method @NonNull public android.net.wifi.rtt.RangingResult.Builder setVendorData(@NonNull java.util.List<android.net.wifi.OuiKeyedData>);
16136  }
16137
16138  public final class ResponderConfig implements android.os.Parcelable {
16139    ctor public ResponderConfig(@NonNull android.net.MacAddress, int, boolean, int, int, int, int, int);
16140    ctor public ResponderConfig(@NonNull android.net.wifi.aware.PeerHandle, int, boolean, int, int, int, int, int);
16141    method @NonNull public static android.net.wifi.rtt.ResponderConfig fromWifiAwarePeerHandleWithDefaults(@NonNull android.net.wifi.aware.PeerHandle);
16142    method @NonNull public static android.net.wifi.rtt.ResponderConfig fromWifiAwarePeerMacAddressWithDefaults(@NonNull android.net.MacAddress);
16143    field public static final int CHANNEL_WIDTH_160MHZ = 3; // 0x3
16144    field public static final int CHANNEL_WIDTH_20MHZ = 0; // 0x0
16145    field public static final int CHANNEL_WIDTH_320MHZ = 5; // 0x5
16146    field public static final int CHANNEL_WIDTH_40MHZ = 1; // 0x1
16147    field public static final int CHANNEL_WIDTH_80MHZ = 2; // 0x2
16148    field public static final int CHANNEL_WIDTH_80MHZ_PLUS_MHZ = 4; // 0x4
16149    field public static final int PREAMBLE_EHT = 4; // 0x4
16150    field public static final int PREAMBLE_HE = 3; // 0x3
16151    field public static final int PREAMBLE_HT = 1; // 0x1
16152    field public static final int PREAMBLE_LEGACY = 0; // 0x0
16153    field public static final int PREAMBLE_VHT = 2; // 0x2
16154    field public static final int RESPONDER_AWARE = 4; // 0x4
16155    field public static final int RESPONDER_P2P_CLIENT = 3; // 0x3
16156    field public static final int RESPONDER_P2P_GO = 2; // 0x2
16157    field public final int centerFreq0;
16158    field public final int centerFreq1;
16159    field public final int channelWidth;
16160    field public final int frequency;
16161    field @Nullable public final android.net.MacAddress macAddress;
16162    field @Nullable public final android.net.wifi.aware.PeerHandle peerHandle;
16163    field public final int preamble;
16164    field public final int responderType;
16165    field public final boolean supports80211azNtb;
16166    field public final boolean supports80211mc;
16167  }
16168
16169  public final class ResponderLocation implements android.os.Parcelable {
16170    method public boolean getExtraInfoOnAssociationIndication();
16171  }
16172
16173  public class WifiRttManager {
16174    method @RequiresPermission(allOf={android.Manifest.permission.LOCATION_HARDWARE}) public void cancelRanging(@Nullable android.os.WorkSource);
16175    method @RequiresPermission(allOf={android.Manifest.permission.LOCATION_HARDWARE, android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.CHANGE_WIFI_STATE, android.Manifest.permission.ACCESS_WIFI_STATE, android.Manifest.permission.NEARBY_WIFI_DEVICES}, conditional=true) public void startRanging(@Nullable android.os.WorkSource, @NonNull android.net.wifi.rtt.RangingRequest, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.rtt.RangingResultCallback);
16176  }
16177
16178}
16179
16180package android.net.wifi.sharedconnectivity.app {
16181
16182  public final class HotspotNetwork implements android.os.Parcelable {
16183    method public int describeContents();
16184    method public long getDeviceId();
16185    method @NonNull public android.os.Bundle getExtras();
16186    method public int getHostNetworkType();
16187    method @Nullable public String getHotspotBssid();
16188    method @NonNull public java.util.Set<java.lang.Integer> getHotspotSecurityTypes();
16189    method @Nullable public String getHotspotSsid();
16190    method @NonNull public String getNetworkName();
16191    method @NonNull public android.net.wifi.sharedconnectivity.app.NetworkProviderInfo getNetworkProviderInfo();
16192    method public void writeToParcel(@NonNull android.os.Parcel, int);
16193    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.sharedconnectivity.app.HotspotNetwork> CREATOR;
16194    field public static final int NETWORK_TYPE_CELLULAR = 1; // 0x1
16195    field public static final int NETWORK_TYPE_ETHERNET = 3; // 0x3
16196    field public static final int NETWORK_TYPE_UNKNOWN = 0; // 0x0
16197    field public static final int NETWORK_TYPE_WIFI = 2; // 0x2
16198  }
16199
16200  public static final class HotspotNetwork.Builder {
16201    ctor public HotspotNetwork.Builder();
16202    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetwork.Builder addHotspotSecurityType(int);
16203    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetwork build();
16204    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetwork.Builder setDeviceId(long);
16205    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetwork.Builder setExtras(@NonNull android.os.Bundle);
16206    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetwork.Builder setHostNetworkType(int);
16207    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetwork.Builder setHotspotBssid(@NonNull String);
16208    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetwork.Builder setHotspotSsid(@NonNull String);
16209    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetwork.Builder setNetworkName(@NonNull String);
16210    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetwork.Builder setNetworkProviderInfo(@NonNull android.net.wifi.sharedconnectivity.app.NetworkProviderInfo);
16211  }
16212
16213  public final class HotspotNetworkConnectionStatus implements android.os.Parcelable {
16214    method public int describeContents();
16215    method @NonNull public android.os.Bundle getExtras();
16216    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetwork getHotspotNetwork();
16217    method public int getStatus();
16218    method public void writeToParcel(@NonNull android.os.Parcel, int);
16219    field public static final int CONNECTION_STATUS_CONNECT_TO_HOTSPOT_FAILED = 9; // 0x9
16220    field public static final int CONNECTION_STATUS_ENABLING_HOTSPOT = 1; // 0x1
16221    field public static final int CONNECTION_STATUS_ENABLING_HOTSPOT_FAILED = 7; // 0x7
16222    field public static final int CONNECTION_STATUS_ENABLING_HOTSPOT_TIMEOUT = 8; // 0x8
16223    field public static final int CONNECTION_STATUS_NO_CELL_DATA = 6; // 0x6
16224    field public static final int CONNECTION_STATUS_PROVISIONING_FAILED = 3; // 0x3
16225    field public static final int CONNECTION_STATUS_TETHERING_TIMEOUT = 4; // 0x4
16226    field public static final int CONNECTION_STATUS_TETHERING_UNSUPPORTED = 5; // 0x5
16227    field public static final int CONNECTION_STATUS_UNKNOWN = 0; // 0x0
16228    field public static final int CONNECTION_STATUS_UNKNOWN_ERROR = 2; // 0x2
16229    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.sharedconnectivity.app.HotspotNetworkConnectionStatus> CREATOR;
16230  }
16231
16232  public static final class HotspotNetworkConnectionStatus.Builder {
16233    ctor public HotspotNetworkConnectionStatus.Builder();
16234    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetworkConnectionStatus build();
16235    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetworkConnectionStatus.Builder setExtras(@NonNull android.os.Bundle);
16236    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetworkConnectionStatus.Builder setHotspotNetwork(@NonNull android.net.wifi.sharedconnectivity.app.HotspotNetwork);
16237    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetworkConnectionStatus.Builder setStatus(int);
16238  }
16239
16240  public final class KnownNetwork implements android.os.Parcelable {
16241    method public int describeContents();
16242    method @NonNull public android.os.Bundle getExtras();
16243    method @Nullable public android.net.wifi.sharedconnectivity.app.NetworkProviderInfo getNetworkProviderInfo();
16244    method public int getNetworkSource();
16245    method @NonNull public java.util.Set<java.lang.Integer> getSecurityTypes();
16246    method @NonNull public String getSsid();
16247    method public void writeToParcel(@NonNull android.os.Parcel, int);
16248    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.sharedconnectivity.app.KnownNetwork> CREATOR;
16249    field public static final int NETWORK_SOURCE_CLOUD_SELF = 2; // 0x2
16250    field public static final int NETWORK_SOURCE_NEARBY_SELF = 1; // 0x1
16251    field public static final int NETWORK_SOURCE_UNKNOWN = 0; // 0x0
16252  }
16253
16254  public static final class KnownNetwork.Builder {
16255    ctor public KnownNetwork.Builder();
16256    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetwork.Builder addSecurityType(int);
16257    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetwork build();
16258    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetwork.Builder setExtras(@NonNull android.os.Bundle);
16259    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetwork.Builder setNetworkProviderInfo(@Nullable android.net.wifi.sharedconnectivity.app.NetworkProviderInfo);
16260    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetwork.Builder setNetworkSource(int);
16261    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetwork.Builder setSsid(@NonNull String);
16262  }
16263
16264  public final class KnownNetworkConnectionStatus implements android.os.Parcelable {
16265    method public int describeContents();
16266    method @NonNull public android.os.Bundle getExtras();
16267    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetwork getKnownNetwork();
16268    method public int getStatus();
16269    method public void writeToParcel(@NonNull android.os.Parcel, int);
16270    field public static final int CONNECTION_STATUS_SAVED = 1; // 0x1
16271    field public static final int CONNECTION_STATUS_SAVE_FAILED = 2; // 0x2
16272    field public static final int CONNECTION_STATUS_UNKNOWN = 0; // 0x0
16273    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.sharedconnectivity.app.KnownNetworkConnectionStatus> CREATOR;
16274  }
16275
16276  public static final class KnownNetworkConnectionStatus.Builder {
16277    ctor public KnownNetworkConnectionStatus.Builder();
16278    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetworkConnectionStatus build();
16279    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetworkConnectionStatus.Builder setExtras(@NonNull android.os.Bundle);
16280    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetworkConnectionStatus.Builder setKnownNetwork(@NonNull android.net.wifi.sharedconnectivity.app.KnownNetwork);
16281    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetworkConnectionStatus.Builder setStatus(int);
16282  }
16283
16284  public final class NetworkProviderInfo implements android.os.Parcelable {
16285    method public int describeContents();
16286    method @IntRange(from=0, to=100) public int getBatteryPercentage();
16287    method @IntRange(from=0, to=4) public int getConnectionStrength();
16288    method @NonNull public String getDeviceName();
16289    method public int getDeviceType();
16290    method @NonNull public android.os.Bundle getExtras();
16291    method @NonNull public String getModelName();
16292    method public boolean isBatteryCharging();
16293    method public void writeToParcel(@NonNull android.os.Parcel, int);
16294    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.sharedconnectivity.app.NetworkProviderInfo> CREATOR;
16295    field public static final int DEVICE_TYPE_AUTO = 5; // 0x5
16296    field public static final int DEVICE_TYPE_LAPTOP = 3; // 0x3
16297    field public static final int DEVICE_TYPE_PHONE = 1; // 0x1
16298    field public static final int DEVICE_TYPE_TABLET = 2; // 0x2
16299    field public static final int DEVICE_TYPE_UNKNOWN = 0; // 0x0
16300    field public static final int DEVICE_TYPE_WATCH = 4; // 0x4
16301  }
16302
16303  public static final class NetworkProviderInfo.Builder {
16304    ctor public NetworkProviderInfo.Builder(@NonNull String, @NonNull String);
16305    method @NonNull public android.net.wifi.sharedconnectivity.app.NetworkProviderInfo build();
16306    method @NonNull public android.net.wifi.sharedconnectivity.app.NetworkProviderInfo.Builder setBatteryCharging(boolean);
16307    method @NonNull public android.net.wifi.sharedconnectivity.app.NetworkProviderInfo.Builder setBatteryPercentage(@IntRange(from=0, to=100) int);
16308    method @NonNull public android.net.wifi.sharedconnectivity.app.NetworkProviderInfo.Builder setConnectionStrength(@IntRange(from=0, to=4) int);
16309    method @NonNull public android.net.wifi.sharedconnectivity.app.NetworkProviderInfo.Builder setDeviceName(@NonNull String);
16310    method @NonNull public android.net.wifi.sharedconnectivity.app.NetworkProviderInfo.Builder setDeviceType(int);
16311    method @NonNull public android.net.wifi.sharedconnectivity.app.NetworkProviderInfo.Builder setExtras(@NonNull android.os.Bundle);
16312    method @NonNull public android.net.wifi.sharedconnectivity.app.NetworkProviderInfo.Builder setModelName(@NonNull String);
16313  }
16314
16315  public interface SharedConnectivityClientCallback {
16316    method public void onHotspotNetworkConnectionStatusChanged(@NonNull android.net.wifi.sharedconnectivity.app.HotspotNetworkConnectionStatus);
16317    method public void onHotspotNetworksUpdated(@NonNull java.util.List<android.net.wifi.sharedconnectivity.app.HotspotNetwork>);
16318    method public void onKnownNetworkConnectionStatusChanged(@NonNull android.net.wifi.sharedconnectivity.app.KnownNetworkConnectionStatus);
16319    method public void onKnownNetworksUpdated(@NonNull java.util.List<android.net.wifi.sharedconnectivity.app.KnownNetwork>);
16320    method public void onRegisterCallbackFailed(@NonNull Exception);
16321    method public void onServiceConnected();
16322    method public void onServiceDisconnected();
16323    method public void onSharedConnectivitySettingsChanged(@NonNull android.net.wifi.sharedconnectivity.app.SharedConnectivitySettingsState);
16324  }
16325
16326  public class SharedConnectivityManager {
16327    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public boolean connectHotspotNetwork(@NonNull android.net.wifi.sharedconnectivity.app.HotspotNetwork);
16328    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public boolean connectKnownNetwork(@NonNull android.net.wifi.sharedconnectivity.app.KnownNetwork);
16329    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public boolean disconnectHotspotNetwork(@NonNull android.net.wifi.sharedconnectivity.app.HotspotNetwork);
16330    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public boolean forgetKnownNetwork(@NonNull android.net.wifi.sharedconnectivity.app.KnownNetwork);
16331    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public android.net.wifi.sharedconnectivity.app.HotspotNetworkConnectionStatus getHotspotNetworkConnectionStatus();
16332    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public java.util.List<android.net.wifi.sharedconnectivity.app.HotspotNetwork> getHotspotNetworks();
16333    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public android.net.wifi.sharedconnectivity.app.KnownNetworkConnectionStatus getKnownNetworkConnectionStatus();
16334    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public java.util.List<android.net.wifi.sharedconnectivity.app.KnownNetwork> getKnownNetworks();
16335    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public android.net.wifi.sharedconnectivity.app.SharedConnectivitySettingsState getSettingsState();
16336    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void registerCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.sharedconnectivity.app.SharedConnectivityClientCallback);
16337    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public boolean unregisterCallback(@NonNull android.net.wifi.sharedconnectivity.app.SharedConnectivityClientCallback);
16338  }
16339
16340  public final class SharedConnectivitySettingsState implements android.os.Parcelable {
16341    method public int describeContents();
16342    method @NonNull public android.os.Bundle getExtras();
16343    method @Nullable public android.app.PendingIntent getInstantTetherSettingsPendingIntent();
16344    method public boolean isInstantTetherEnabled();
16345    method public void writeToParcel(@NonNull android.os.Parcel, int);
16346    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.sharedconnectivity.app.SharedConnectivitySettingsState> CREATOR;
16347  }
16348
16349  public static final class SharedConnectivitySettingsState.Builder {
16350    ctor public SharedConnectivitySettingsState.Builder();
16351    method @NonNull public android.net.wifi.sharedconnectivity.app.SharedConnectivitySettingsState build();
16352    method @NonNull public android.net.wifi.sharedconnectivity.app.SharedConnectivitySettingsState.Builder setExtras(@NonNull android.os.Bundle);
16353    method @NonNull public android.net.wifi.sharedconnectivity.app.SharedConnectivitySettingsState.Builder setInstantTetherEnabled(boolean);
16354    method @NonNull public android.net.wifi.sharedconnectivity.app.SharedConnectivitySettingsState.Builder setInstantTetherSettingsPendingIntent(@NonNull android.app.PendingIntent);
16355  }
16356
16357}
16358
16359package android.net.wifi.sharedconnectivity.service {
16360
16361  public abstract class SharedConnectivityService extends android.app.Service {
16362    ctor public SharedConnectivityService();
16363    method public static boolean areHotspotNetworksEnabledForService(@NonNull android.content.Context);
16364    method public static boolean areKnownNetworksEnabledForService(@NonNull android.content.Context);
16365    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
16366    method public abstract void onConnectHotspotNetwork(@NonNull android.net.wifi.sharedconnectivity.app.HotspotNetwork);
16367    method public abstract void onConnectKnownNetwork(@NonNull android.net.wifi.sharedconnectivity.app.KnownNetwork);
16368    method public abstract void onDisconnectHotspotNetwork(@NonNull android.net.wifi.sharedconnectivity.app.HotspotNetwork);
16369    method public abstract void onForgetKnownNetwork(@NonNull android.net.wifi.sharedconnectivity.app.KnownNetwork);
16370    method public final void setHotspotNetworks(@NonNull java.util.List<android.net.wifi.sharedconnectivity.app.HotspotNetwork>);
16371    method public final void setKnownNetworks(@NonNull java.util.List<android.net.wifi.sharedconnectivity.app.KnownNetwork>);
16372    method public final void setSettingsState(@NonNull android.net.wifi.sharedconnectivity.app.SharedConnectivitySettingsState);
16373    method public final void updateHotspotNetworkConnectionStatus(@NonNull android.net.wifi.sharedconnectivity.app.HotspotNetworkConnectionStatus);
16374    method public final void updateKnownNetworkConnectionStatus(@NonNull android.net.wifi.sharedconnectivity.app.KnownNetworkConnectionStatus);
16375  }
16376
16377}
16378
16379package android.net.wifi.twt {
16380
16381  public final class TwtRequest implements android.os.Parcelable {
16382    method public int describeContents();
16383    method @IntRange(from=android.net.wifi.MloLink.INVALID_MLO_LINK_ID, to=0xf) public int getLinkId();
16384    method public int getMaxWakeDurationMicros();
16385    method public long getMaxWakeIntervalMicros();
16386    method public int getMinWakeDurationMicros();
16387    method public long getMinWakeIntervalMicros();
16388    method public void writeToParcel(@NonNull android.os.Parcel, int);
16389    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.twt.TwtRequest> CREATOR;
16390  }
16391
16392  public static final class TwtRequest.Builder {
16393    ctor public TwtRequest.Builder(int, int, long, long);
16394    method @NonNull public android.net.wifi.twt.TwtRequest build();
16395    method @NonNull public android.net.wifi.twt.TwtRequest.Builder setLinkId(@IntRange(from=0x0, to=0xf) int);
16396  }
16397
16398  public interface TwtSession {
16399    method public int getMloLinkId();
16400    method public void getStats(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.os.Bundle>);
16401    method public int getWakeDurationMicros();
16402    method public long getWakeIntervalMicros();
16403    method public void teardown();
16404    field public static final String TWT_STATS_KEY_INT_AVERAGE_EOSP_DURATION_MICROS = "key_avg_eosp_dur";
16405    field public static final String TWT_STATS_KEY_INT_AVERAGE_RX_PACKET_COUNT = "key_avg_rx_pkt_count";
16406    field public static final String TWT_STATS_KEY_INT_AVERAGE_RX_PACKET_SIZE = "key_avg_rx_pkt_size";
16407    field public static final String TWT_STATS_KEY_INT_AVERAGE_TX_PACKET_COUNT = "key_avg_tx_pkt_count";
16408    field public static final String TWT_STATS_KEY_INT_AVERAGE_TX_PACKET_SIZE = "key_avg_tx_pkt_size";
16409    field public static final String TWT_STATS_KEY_INT_EOSP_COUNT = "key_eosp_count";
16410  }
16411
16412  public interface TwtSessionCallback {
16413    method public void onCreate(@NonNull android.net.wifi.twt.TwtSession);
16414    method public void onFailure(int);
16415    method public void onTeardown(int);
16416    field public static final int TWT_ERROR_CODE_AP_NOT_SUPPORTED = 1; // 0x1
16417    field public static final int TWT_ERROR_CODE_AP_OUI_BLOCKLISTED = 2; // 0x2
16418    field public static final int TWT_ERROR_CODE_AP_REJECTED = 3; // 0x3
16419    field public static final int TWT_ERROR_CODE_FAIL = 0; // 0x0
16420    field public static final int TWT_ERROR_CODE_INVALID_PARAMS = 4; // 0x4
16421    field public static final int TWT_ERROR_CODE_MAX_SESSIONS_REACHED = 5; // 0x5
16422    field public static final int TWT_ERROR_CODE_NOT_AVAILABLE = 6; // 0x6
16423    field public static final int TWT_ERROR_CODE_NOT_SUPPORTED = 7; // 0x7
16424    field public static final int TWT_ERROR_CODE_TIMEOUT = 8; // 0x8
16425    field public static final int TWT_REASON_CODE_INTERNALLY_INITIATED = 2; // 0x2
16426    field public static final int TWT_REASON_CODE_LOCALLY_REQUESTED = 1; // 0x1
16427    field public static final int TWT_REASON_CODE_PEER_INITIATED = 3; // 0x3
16428    field public static final int TWT_REASON_CODE_UNKNOWN = 0; // 0x0
16429  }
16430
16431}
16432
16433package android.nfc {
16434
16435  public final class NfcAdapter {
16436    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean addNfcUnlockHandler(android.nfc.NfcAdapter.NfcUnlockHandler, String[]);
16437    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean disable();
16438    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean disable(boolean);
16439    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean enable();
16440    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean enableReaderOption(boolean);
16441    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean enableSecureNfc(boolean);
16442    method public int getAdapterState();
16443    method @NonNull @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public java.util.Map<java.lang.String,java.lang.Boolean> getTagIntentAppPreferenceForUser(int);
16444    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public boolean isControllerAlwaysOn();
16445    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public boolean isControllerAlwaysOnSupported();
16446    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean isTagIntentAppPreferenceSupported();
16447    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public void registerControllerAlwaysOnListener(@NonNull java.util.concurrent.Executor, @NonNull android.nfc.NfcAdapter.ControllerAlwaysOnListener);
16448    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void registerNfcVendorNciCallback(@NonNull java.util.concurrent.Executor, @NonNull android.nfc.NfcAdapter.NfcVendorNciCallback);
16449    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean removeNfcUnlockHandler(android.nfc.NfcAdapter.NfcUnlockHandler);
16450    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public int sendVendorNciMessage(int, @IntRange(from=0, to=15) int, @IntRange(from=0) int, @NonNull byte[]);
16451    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public boolean setControllerAlwaysOn(boolean);
16452    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void setReaderModePollingEnabled(boolean);
16453    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public int setTagIntentAppPreferenceForUser(int, @NonNull String, boolean);
16454    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public void unregisterControllerAlwaysOnListener(@NonNull android.nfc.NfcAdapter.ControllerAlwaysOnListener);
16455    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void unregisterNfcVendorNciCallback(@NonNull android.nfc.NfcAdapter.NfcVendorNciCallback);
16456    field public static final String ACTION_REQUIRE_UNLOCK_FOR_NFC = "android.nfc.action.REQUIRE_UNLOCK_FOR_NFC";
16457    field @RequiresPermission(android.Manifest.permission.SHOW_CUSTOMIZED_RESOLVER) public static final String ACTION_SHOW_NFC_RESOLVER = "android.nfc.action.SHOW_NFC_RESOLVER";
16458    field public static final String EXTRA_RESOLVE_INFOS = "android.nfc.extra.RESOLVE_INFOS";
16459    field public static final int MESSAGE_TYPE_COMMAND = 1; // 0x1
16460    field public static final int SEND_VENDOR_NCI_STATUS_FAILED = 3; // 0x3
16461    field public static final int SEND_VENDOR_NCI_STATUS_MESSAGE_CORRUPTED = 2; // 0x2
16462    field public static final int SEND_VENDOR_NCI_STATUS_REJECTED = 1; // 0x1
16463    field public static final int SEND_VENDOR_NCI_STATUS_SUCCESS = 0; // 0x0
16464    field public static final int TAG_INTENT_APP_PREF_RESULT_PACKAGE_NOT_FOUND = -1; // 0xffffffff
16465    field public static final int TAG_INTENT_APP_PREF_RESULT_SUCCESS = 0; // 0x0
16466    field public static final int TAG_INTENT_APP_PREF_RESULT_UNAVAILABLE = -2; // 0xfffffffe
16467  }
16468
16469  public static interface NfcAdapter.ControllerAlwaysOnListener {
16470    method public void onControllerAlwaysOnChanged(boolean);
16471  }
16472
16473  public static interface NfcAdapter.NfcUnlockHandler {
16474    method public boolean onUnlockAttempted(android.nfc.Tag);
16475  }
16476
16477  public static interface NfcAdapter.NfcVendorNciCallback {
16478    method public void onVendorNciNotification(@IntRange(from=9, to=15) int, int, @NonNull byte[]);
16479    method public void onVendorNciResponse(@IntRange(from=0, to=15) int, int, @NonNull byte[]);
16480  }
16481
16482}
16483
16484package android.nfc.cardemulation {
16485
16486  public final class AidGroup implements android.os.Parcelable {
16487    ctor public AidGroup(@NonNull java.util.List<java.lang.String>, @Nullable String);
16488    method @Nullable public static android.nfc.cardemulation.AidGroup createFromXml(@NonNull org.xmlpull.v1.XmlPullParser) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
16489    method public int describeContents();
16490    method public void dump(@NonNull android.util.proto.ProtoOutputStream);
16491    method @NonNull public java.util.List<java.lang.String> getAids();
16492    method @NonNull public String getCategory();
16493    method public void writeAsXml(@NonNull org.xmlpull.v1.XmlSerializer) throws java.io.IOException;
16494    method public void writeToParcel(@NonNull android.os.Parcel, int);
16495    field @NonNull public static final android.os.Parcelable.Creator<android.nfc.cardemulation.AidGroup> CREATOR;
16496  }
16497
16498  public final class ApduServiceInfo implements android.os.Parcelable {
16499    ctor public ApduServiceInfo(@NonNull android.content.pm.PackageManager, @NonNull android.content.pm.ResolveInfo, boolean) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
16500    method public void addPollingLoopFilter(@NonNull String, boolean);
16501    method public void addPollingLoopPatternFilter(@NonNull String, boolean);
16502    method public int describeContents();
16503    method public void dump(@NonNull android.os.ParcelFileDescriptor, @NonNull java.io.PrintWriter, @NonNull String[]);
16504    method public void dumpDebug(@NonNull android.util.proto.ProtoOutputStream);
16505    method @NonNull public java.util.List<android.nfc.cardemulation.AidGroup> getAidGroups();
16506    method @NonNull public java.util.List<java.lang.String> getAids();
16507    method @NonNull public String getCategoryForAid(@NonNull String);
16508    method @NonNull public android.content.ComponentName getComponent();
16509    method @NonNull public String getDescription();
16510    method @NonNull public android.nfc.cardemulation.AidGroup getDynamicAidGroupForCategory(@NonNull String);
16511    method @Nullable public String getOffHostSecureElement();
16512    method @NonNull public java.util.List<java.lang.String> getPollingLoopFilters();
16513    method @NonNull public java.util.List<java.util.regex.Pattern> getPollingLoopPatternFilters();
16514    method @NonNull public java.util.List<java.lang.String> getPrefixAids();
16515    method @NonNull public String getSettingsActivityName();
16516    method public boolean getShouldAutoTransact(@NonNull String);
16517    method @NonNull public java.util.List<java.lang.String> getSubsetAids();
16518    method public int getUid();
16519    method public boolean hasCategory(@NonNull String);
16520    method public boolean isCategoryOtherServiceEnabled();
16521    method public boolean isOnHost();
16522    method @NonNull public CharSequence loadAppLabel(@NonNull android.content.pm.PackageManager);
16523    method @NonNull public android.graphics.drawable.Drawable loadBanner(@NonNull android.content.pm.PackageManager);
16524    method @NonNull public android.graphics.drawable.Drawable loadIcon(@NonNull android.content.pm.PackageManager);
16525    method @NonNull public CharSequence loadLabel(@NonNull android.content.pm.PackageManager);
16526    method @NonNull public boolean removeDynamicAidGroupForCategory(@NonNull String);
16527    method public void removePollingLoopFilter(@NonNull String);
16528    method public void removePollingLoopPatternFilter(@NonNull String);
16529    method public boolean requiresScreenOn();
16530    method public boolean requiresUnlock();
16531    method public void resetOffHostSecureElement();
16532    method public void setCategoryOtherServiceEnabled(boolean);
16533    method public void setDynamicAidGroup(@NonNull android.nfc.cardemulation.AidGroup);
16534    method public void setOffHostSecureElement(@NonNull String);
16535    method public void setShouldDefaultToObserveMode(boolean);
16536    method public boolean shouldDefaultToObserveMode();
16537    method public void writeToParcel(@NonNull android.os.Parcel, int);
16538    field @NonNull public static final android.os.Parcelable.Creator<android.nfc.cardemulation.ApduServiceInfo> CREATOR;
16539  }
16540
16541  public final class CardEmulation {
16542    method @Nullable @RequiresPermission(android.Manifest.permission.NFC_PREFERRED_PAYMENT_INFO) public static android.content.ComponentName getPreferredPaymentService(@NonNull android.content.Context);
16543    method @NonNull public java.util.List<android.nfc.cardemulation.ApduServiceInfo> getServices(@NonNull String, int);
16544  }
16545
16546  public final class NfcFServiceInfo implements android.os.Parcelable {
16547    ctor public NfcFServiceInfo(@NonNull android.content.pm.PackageManager, @NonNull android.content.pm.ResolveInfo) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
16548    method public int describeContents();
16549    method public void dump(@NonNull android.os.ParcelFileDescriptor, @NonNull java.io.PrintWriter, @NonNull String[]);
16550    method public void dumpDebug(@NonNull android.util.proto.ProtoOutputStream);
16551    method @NonNull public android.content.ComponentName getComponent();
16552    method @NonNull public String getDescription();
16553    method @NonNull public String getNfcid2();
16554    method @NonNull public String getSystemCode();
16555    method @NonNull public String getT3tPmm();
16556    method public int getUid();
16557    method @NonNull public android.graphics.drawable.Drawable loadIcon(@NonNull android.content.pm.PackageManager);
16558    method @NonNull public CharSequence loadLabel(@NonNull android.content.pm.PackageManager);
16559    method public void setDynamicNfcid2(@NonNull String);
16560    method public void setDynamicSystemCode(@NonNull String);
16561    method public void writeToParcel(@NonNull android.os.Parcel, int);
16562    field @NonNull public static final android.os.Parcelable.Creator<android.nfc.cardemulation.NfcFServiceInfo> CREATOR;
16563  }
16564
16565}
16566
16567package android.os {
16568
16569  public class BatteryManager {
16570    method @RequiresPermission(android.Manifest.permission.POWER_SAVER) public boolean setChargingStateUpdateDelayMillis(int);
16571    field @RequiresPermission(android.Manifest.permission.BATTERY_STATS) public static final int BATTERY_PROPERTY_CHARGING_POLICY = 9; // 0x9
16572    field @RequiresPermission(android.Manifest.permission.BATTERY_STATS) public static final int BATTERY_PROPERTY_FIRST_USAGE_DATE = 8; // 0x8
16573    field @RequiresPermission(android.Manifest.permission.BATTERY_STATS) public static final int BATTERY_PROPERTY_MANUFACTURING_DATE = 7; // 0x7
16574    field @RequiresPermission(android.Manifest.permission.BATTERY_STATS) public static final int BATTERY_PROPERTY_PART_STATUS = 12; // 0xc
16575    field @RequiresPermission(android.Manifest.permission.BATTERY_STATS) public static final int BATTERY_PROPERTY_SERIAL_NUMBER = 11; // 0xb
16576    field @RequiresPermission(android.Manifest.permission.BATTERY_STATS) public static final int BATTERY_PROPERTY_STATE_OF_HEALTH = 10; // 0xa
16577    field public static final int CHARGING_POLICY_ADAPTIVE_AC = 3; // 0x3
16578    field public static final int CHARGING_POLICY_ADAPTIVE_AON = 2; // 0x2
16579    field public static final int CHARGING_POLICY_ADAPTIVE_LONGLIFE = 4; // 0x4
16580    field public static final int CHARGING_POLICY_DEFAULT = 1; // 0x1
16581    field public static final String EXTRA_EVENTS = "android.os.extra.EVENTS";
16582    field public static final String EXTRA_EVENT_TIMESTAMP = "android.os.extra.EVENT_TIMESTAMP";
16583    field public static final int PART_STATUS_ORIGINAL = 1; // 0x1
16584    field public static final int PART_STATUS_REPLACED = 2; // 0x2
16585    field public static final int PART_STATUS_UNSUPPORTED = 0; // 0x0
16586  }
16587
16588  public final class BatterySaverPolicyConfig implements android.os.Parcelable {
16589    method public int describeContents();
16590    method public float getAdjustBrightnessFactor();
16591    method public boolean getAdvertiseIsEnabled();
16592    method public boolean getDeferFullBackup();
16593    method public boolean getDeferKeyValueBackup();
16594    method @NonNull public java.util.Map<java.lang.String,java.lang.String> getDeviceSpecificSettings();
16595    method public boolean getDisableAnimation();
16596    method public boolean getDisableAod();
16597    method public boolean getDisableLaunchBoost();
16598    method public boolean getDisableOptionalSensors();
16599    method @Deprecated public boolean getDisableSoundTrigger();
16600    method public boolean getDisableVibration();
16601    method public boolean getEnableAdjustBrightness();
16602    method public boolean getEnableDataSaver();
16603    method public boolean getEnableFirewall();
16604    method public boolean getEnableNightMode();
16605    method public boolean getEnableQuickDoze();
16606    method public boolean getForceAllAppsStandby();
16607    method public boolean getForceBackgroundCheck();
16608    method public int getLocationMode();
16609    method public int getSoundTriggerMode();
16610    method public void writeToParcel(android.os.Parcel, int);
16611    field @NonNull public static final android.os.Parcelable.Creator<android.os.BatterySaverPolicyConfig> CREATOR;
16612  }
16613
16614  public static final class BatterySaverPolicyConfig.Builder {
16615    ctor public BatterySaverPolicyConfig.Builder();
16616    ctor public BatterySaverPolicyConfig.Builder(@NonNull android.os.BatterySaverPolicyConfig);
16617    method @NonNull public android.os.BatterySaverPolicyConfig.Builder addDeviceSpecificSetting(@NonNull String, @NonNull String);
16618    method @NonNull public android.os.BatterySaverPolicyConfig build();
16619    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setAdjustBrightnessFactor(float);
16620    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setAdvertiseIsEnabled(boolean);
16621    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDeferFullBackup(boolean);
16622    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDeferKeyValueBackup(boolean);
16623    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableAnimation(boolean);
16624    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableAod(boolean);
16625    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableLaunchBoost(boolean);
16626    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableOptionalSensors(boolean);
16627    method @Deprecated @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableSoundTrigger(boolean);
16628    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableVibration(boolean);
16629    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setEnableAdjustBrightness(boolean);
16630    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setEnableDataSaver(boolean);
16631    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setEnableFirewall(boolean);
16632    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setEnableNightMode(boolean);
16633    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setEnableQuickDoze(boolean);
16634    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setForceAllAppsStandby(boolean);
16635    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setForceBackgroundCheck(boolean);
16636    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setLocationMode(int);
16637    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setSoundTriggerMode(int);
16638  }
16639
16640  public final class BatteryStatsManager {
16641    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.BATTERY_STATS, android.Manifest.permission.UPDATE_DEVICE_STATS}) public android.os.connectivity.CellularBatteryStats getCellularBatteryStats();
16642    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.BATTERY_STATS, android.Manifest.permission.UPDATE_DEVICE_STATS}) public android.os.connectivity.WifiBatteryStats getWifiBatteryStats();
16643    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportBleScanReset();
16644    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportBleScanResults(@NonNull android.os.WorkSource, int);
16645    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportBleScanStarted(@NonNull android.os.WorkSource, boolean);
16646    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportBleScanStopped(@NonNull android.os.WorkSource, boolean);
16647    method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void reportBluetoothOff(int, int, @NonNull String);
16648    method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void reportBluetoothOn(int, int, @NonNull String);
16649    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportFullWifiLockAcquiredFromSource(@NonNull android.os.WorkSource);
16650    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportFullWifiLockReleasedFromSource(@NonNull android.os.WorkSource);
16651    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportMobileRadioPowerState(boolean, int);
16652    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiBatchedScanStartedFromSource(@NonNull android.os.WorkSource, @IntRange(from=0) int);
16653    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiBatchedScanStoppedFromSource(@NonNull android.os.WorkSource);
16654    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiMulticastDisabled(@NonNull android.os.WorkSource);
16655    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiMulticastEnabled(@NonNull android.os.WorkSource);
16656    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiOff();
16657    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiOn();
16658    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiRadioPowerState(boolean, int);
16659    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiRssiChanged(@IntRange(from=0xffffff81, to=0) int);
16660    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiScanStartedFromSource(@NonNull android.os.WorkSource);
16661    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiScanStoppedFromSource(@NonNull android.os.WorkSource);
16662    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiState(int, @Nullable String);
16663    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiSupplicantStateChanged(int, boolean);
16664    field public static final int WIFI_STATE_OFF = 0; // 0x0
16665    field public static final int WIFI_STATE_OFF_SCANNING = 1; // 0x1
16666    field public static final int WIFI_STATE_ON_CONNECTED_P2P = 5; // 0x5
16667    field public static final int WIFI_STATE_ON_CONNECTED_STA = 4; // 0x4
16668    field public static final int WIFI_STATE_ON_CONNECTED_STA_P2P = 6; // 0x6
16669    field public static final int WIFI_STATE_ON_DISCONNECTED = 3; // 0x3
16670    field public static final int WIFI_STATE_ON_NO_NETWORKS = 2; // 0x2
16671    field public static final int WIFI_STATE_SOFT_AP = 7; // 0x7
16672    field public static final int WIFI_SUPPL_STATE_ASSOCIATED = 7; // 0x7
16673    field public static final int WIFI_SUPPL_STATE_ASSOCIATING = 6; // 0x6
16674    field public static final int WIFI_SUPPL_STATE_AUTHENTICATING = 5; // 0x5
16675    field public static final int WIFI_SUPPL_STATE_COMPLETED = 10; // 0xa
16676    field public static final int WIFI_SUPPL_STATE_DISCONNECTED = 1; // 0x1
16677    field public static final int WIFI_SUPPL_STATE_DORMANT = 11; // 0xb
16678    field public static final int WIFI_SUPPL_STATE_FOUR_WAY_HANDSHAKE = 8; // 0x8
16679    field public static final int WIFI_SUPPL_STATE_GROUP_HANDSHAKE = 9; // 0x9
16680    field public static final int WIFI_SUPPL_STATE_INACTIVE = 3; // 0x3
16681    field public static final int WIFI_SUPPL_STATE_INTERFACE_DISABLED = 2; // 0x2
16682    field public static final int WIFI_SUPPL_STATE_INVALID = 0; // 0x0
16683    field public static final int WIFI_SUPPL_STATE_SCANNING = 4; // 0x4
16684    field public static final int WIFI_SUPPL_STATE_UNINITIALIZED = 12; // 0xc
16685  }
16686
16687  public class Binder implements android.os.IBinder {
16688    method public int handleShellCommand(@NonNull android.os.ParcelFileDescriptor, @NonNull android.os.ParcelFileDescriptor, @NonNull android.os.ParcelFileDescriptor, @NonNull String[]);
16689    method public final void markVintfStability();
16690    method public static void setProxyTransactListener(@Nullable android.os.Binder.ProxyTransactListener);
16691  }
16692
16693  public static interface Binder.ProxyTransactListener {
16694    method public void onTransactEnded(@Nullable Object);
16695    method @Nullable public Object onTransactStarted(@NonNull android.os.IBinder, int);
16696  }
16697
16698  public final class BugreportManager {
16699    method @RequiresPermission(android.Manifest.permission.DUMP) @WorkerThread public void preDumpUiData();
16700    method @RequiresPermission(android.Manifest.permission.DUMP) public void requestBugreport(@NonNull android.os.BugreportParams, @Nullable CharSequence, @Nullable CharSequence);
16701    method @RequiresPermission(android.Manifest.permission.DUMP) @WorkerThread public void retrieveBugreport(@NonNull String, @NonNull android.os.ParcelFileDescriptor, @NonNull java.util.concurrent.Executor, @NonNull android.os.BugreportManager.BugreportCallback);
16702    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);
16703  }
16704
16705  public abstract static class BugreportManager.BugreportCallback {
16706    method public void onFinished(@NonNull String);
16707  }
16708
16709  public final class BugreportParams {
16710    ctor public BugreportParams(int);
16711    ctor public BugreportParams(int, int);
16712    method public int getFlags();
16713    method public int getMode();
16714    field public static final int BUGREPORT_FLAG_DEFER_CONSENT = 2; // 0x2
16715    field public static final int BUGREPORT_FLAG_KEEP_BUGREPORT_ON_RETRIEVAL = 4; // 0x4
16716    field public static final int BUGREPORT_FLAG_USE_PREDUMPED_UI_DATA = 1; // 0x1
16717    field public static final int BUGREPORT_MODE_FULL = 0; // 0x0
16718    field public static final int BUGREPORT_MODE_INTERACTIVE = 1; // 0x1
16719    field public static final int BUGREPORT_MODE_ONBOARDING = 7; // 0x7
16720    field public static final int BUGREPORT_MODE_REMOTE = 2; // 0x2
16721    field public static final int BUGREPORT_MODE_TELEPHONY = 4; // 0x4
16722    field public static final int BUGREPORT_MODE_WEAR = 3; // 0x3
16723    field public static final int BUGREPORT_MODE_WIFI = 5; // 0x5
16724  }
16725
16726  public static class Build.VERSION {
16727    field @NonNull public static final java.util.Set<java.lang.String> KNOWN_CODENAMES;
16728    field @NonNull public static final String PREVIEW_SDK_FINGERPRINT;
16729  }
16730
16731  public final class ConfigUpdate {
16732    field public static final String ACTION_UPDATE_CARRIER_ID_DB = "android.os.action.UPDATE_CARRIER_ID_DB";
16733    field public static final String ACTION_UPDATE_CARRIER_PROVISIONING_URLS = "android.intent.action.UPDATE_CARRIER_PROVISIONING_URLS";
16734    field public static final String ACTION_UPDATE_CONFIG = "android.os.action.UPDATE_CONFIG";
16735    field public static final String ACTION_UPDATE_CONVERSATION_ACTIONS = "android.intent.action.UPDATE_CONVERSATION_ACTIONS";
16736    field public static final String ACTION_UPDATE_CT_LOGS = "android.intent.action.UPDATE_CT_LOGS";
16737    field public static final String ACTION_UPDATE_EMERGENCY_NUMBER_DB = "android.os.action.UPDATE_EMERGENCY_NUMBER_DB";
16738    field public static final String ACTION_UPDATE_INTENT_FIREWALL = "android.intent.action.UPDATE_INTENT_FIREWALL";
16739    field public static final String ACTION_UPDATE_LANG_ID = "android.intent.action.UPDATE_LANG_ID";
16740    field public static final String ACTION_UPDATE_NETWORK_WATCHLIST = "android.intent.action.UPDATE_NETWORK_WATCHLIST";
16741    field public static final String ACTION_UPDATE_PINS = "android.intent.action.UPDATE_PINS";
16742    field public static final String ACTION_UPDATE_SMART_SELECTION = "android.intent.action.UPDATE_SMART_SELECTION";
16743    field public static final String ACTION_UPDATE_SMS_SHORT_CODES = "android.intent.action.UPDATE_SMS_SHORT_CODES";
16744    field public static final String EXTRA_DOMAIN = "android.os.extra.DOMAIN";
16745    field public static final String EXTRA_REQUIRED_HASH = "android.os.extra.REQUIRED_HASH";
16746    field public static final String EXTRA_VERSION = "android.os.extra.VERSION";
16747  }
16748
16749  public class DeviceIdleManager {
16750    method @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public void endIdle(@NonNull String);
16751  }
16752
16753  public class Environment {
16754    method @NonNull public static java.io.File getDataCePackageDirectoryForUser(@NonNull java.util.UUID, @NonNull android.os.UserHandle, @NonNull String);
16755    method @NonNull public static java.io.File getDataDePackageDirectoryForUser(@NonNull java.util.UUID, @NonNull android.os.UserHandle, @NonNull String);
16756    method @NonNull public static java.util.Collection<java.io.File> getInternalMediaDirectories();
16757    method @NonNull public static java.io.File getOdmDirectory();
16758    method @NonNull public static java.io.File getOemDirectory();
16759    method @NonNull public static java.io.File getProductDirectory();
16760    method @Deprecated @NonNull public static java.io.File getProductServicesDirectory();
16761    method @NonNull public static java.io.File getSystemExtDirectory();
16762    method @NonNull public static java.io.File getVendorDirectory();
16763  }
16764
16765  public class HidlMemory implements java.io.Closeable {
16766    ctor public HidlMemory(@NonNull String, @IntRange(from=0) long, @Nullable android.os.NativeHandle);
16767    method public void close() throws java.io.IOException;
16768    method @NonNull public android.os.HidlMemory dup() throws java.io.IOException;
16769    method protected void finalize();
16770    method @Nullable public android.os.NativeHandle getHandle();
16771    method @NonNull public String getName();
16772    method public long getSize();
16773    method @Nullable public android.os.NativeHandle releaseHandle();
16774  }
16775
16776  public class HidlSupport {
16777    method public static boolean deepEquals(Object, Object);
16778    method public static int deepHashCode(Object);
16779    method public static int getPidIfSharable();
16780    method public static boolean interfacesEqual(android.os.IHwInterface, Object);
16781  }
16782
16783  public abstract class HwBinder implements android.os.IHwBinder {
16784    ctor public HwBinder();
16785    method public static final void configureRpcThreadpool(long, boolean);
16786    method public static void enableInstrumentation();
16787    method public static final android.os.IHwBinder getService(String, String) throws java.util.NoSuchElementException, android.os.RemoteException;
16788    method public static final android.os.IHwBinder getService(String, String, boolean) throws java.util.NoSuchElementException, android.os.RemoteException;
16789    method public static final void joinRpcThreadpool();
16790    method public abstract void onTransact(int, android.os.HwParcel, android.os.HwParcel, int) throws android.os.RemoteException;
16791    method public final void registerService(String) throws android.os.RemoteException;
16792    method public final void transact(int, android.os.HwParcel, android.os.HwParcel, int) throws android.os.RemoteException;
16793  }
16794
16795  public class HwBlob {
16796    ctor public HwBlob(int);
16797    method public final void copyToBoolArray(long, boolean[], int);
16798    method public final void copyToDoubleArray(long, double[], int);
16799    method public final void copyToFloatArray(long, float[], int);
16800    method public final void copyToInt16Array(long, short[], int);
16801    method public final void copyToInt32Array(long, int[], int);
16802    method public final void copyToInt64Array(long, long[], int);
16803    method public final void copyToInt8Array(long, byte[], int);
16804    method public final boolean getBool(long);
16805    method public final double getDouble(long);
16806    method public final long getFieldHandle(long);
16807    method public final float getFloat(long);
16808    method public final short getInt16(long);
16809    method public final int getInt32(long);
16810    method public final long getInt64(long);
16811    method public final byte getInt8(long);
16812    method public final String getString(long);
16813    method public final long handle();
16814    method public final void putBlob(long, android.os.HwBlob);
16815    method public final void putBool(long, boolean);
16816    method public final void putBoolArray(long, boolean[]);
16817    method public final void putDouble(long, double);
16818    method public final void putDoubleArray(long, double[]);
16819    method public final void putFloat(long, float);
16820    method public final void putFloatArray(long, float[]);
16821    method public final void putHidlMemory(long, @NonNull android.os.HidlMemory);
16822    method public final void putInt16(long, short);
16823    method public final void putInt16Array(long, short[]);
16824    method public final void putInt32(long, int);
16825    method public final void putInt32Array(long, int[]);
16826    method public final void putInt64(long, long);
16827    method public final void putInt64Array(long, long[]);
16828    method public final void putInt8(long, byte);
16829    method public final void putInt8Array(long, byte[]);
16830    method public final void putNativeHandle(long, @Nullable android.os.NativeHandle);
16831    method public final void putString(long, String);
16832    method public static Boolean[] wrapArray(@NonNull boolean[]);
16833    method public static Byte[] wrapArray(@NonNull byte[]);
16834    method public static Double[] wrapArray(@NonNull double[]);
16835    method public static Float[] wrapArray(@NonNull float[]);
16836    method public static Integer[] wrapArray(@NonNull int[]);
16837    method public static Long[] wrapArray(@NonNull long[]);
16838    method public static Short[] wrapArray(@NonNull short[]);
16839  }
16840
16841  public class HwParcel {
16842    ctor public HwParcel();
16843    method public final void enforceInterface(String);
16844    method public final boolean readBool();
16845    method public final java.util.ArrayList<java.lang.Boolean> readBoolVector();
16846    method public final android.os.HwBlob readBuffer(long);
16847    method public final double readDouble();
16848    method public final java.util.ArrayList<java.lang.Double> readDoubleVector();
16849    method public final android.os.HwBlob readEmbeddedBuffer(long, long, long, boolean);
16850    method @NonNull public final android.os.HidlMemory readEmbeddedHidlMemory(long, long, long);
16851    method @Nullable public final android.os.NativeHandle readEmbeddedNativeHandle(long, long);
16852    method public final float readFloat();
16853    method public final java.util.ArrayList<java.lang.Float> readFloatVector();
16854    method @NonNull public final android.os.HidlMemory readHidlMemory();
16855    method public final short readInt16();
16856    method public final java.util.ArrayList<java.lang.Short> readInt16Vector();
16857    method public final int readInt32();
16858    method public final java.util.ArrayList<java.lang.Integer> readInt32Vector();
16859    method public final long readInt64();
16860    method public final java.util.ArrayList<java.lang.Long> readInt64Vector();
16861    method public final byte readInt8();
16862    method public final java.util.ArrayList<java.lang.Byte> readInt8Vector();
16863    method @Nullable public final android.os.NativeHandle readNativeHandle();
16864    method @NonNull public final java.util.ArrayList<android.os.NativeHandle> readNativeHandleVector();
16865    method public final String readString();
16866    method public final java.util.ArrayList<java.lang.String> readStringVector();
16867    method public final android.os.IHwBinder readStrongBinder();
16868    method public final void release();
16869    method public final void releaseTemporaryStorage();
16870    method public final void send();
16871    method public final void verifySuccess();
16872    method public final void writeBool(boolean);
16873    method public final void writeBoolVector(java.util.ArrayList<java.lang.Boolean>);
16874    method public final void writeBuffer(android.os.HwBlob);
16875    method public final void writeDouble(double);
16876    method public final void writeDoubleVector(java.util.ArrayList<java.lang.Double>);
16877    method public final void writeFloat(float);
16878    method public final void writeFloatVector(java.util.ArrayList<java.lang.Float>);
16879    method public final void writeHidlMemory(@NonNull android.os.HidlMemory);
16880    method public final void writeInt16(short);
16881    method public final void writeInt16Vector(java.util.ArrayList<java.lang.Short>);
16882    method public final void writeInt32(int);
16883    method public final void writeInt32Vector(java.util.ArrayList<java.lang.Integer>);
16884    method public final void writeInt64(long);
16885    method public final void writeInt64Vector(java.util.ArrayList<java.lang.Long>);
16886    method public final void writeInt8(byte);
16887    method public final void writeInt8Vector(java.util.ArrayList<java.lang.Byte>);
16888    method public final void writeInterfaceToken(String);
16889    method public final void writeNativeHandle(@Nullable android.os.NativeHandle);
16890    method public final void writeNativeHandleVector(@NonNull java.util.ArrayList<android.os.NativeHandle>);
16891    method public final void writeStatus(int);
16892    method public final void writeString(String);
16893    method public final void writeStringVector(java.util.ArrayList<java.lang.String>);
16894    method public final void writeStrongBinder(android.os.IHwBinder);
16895    field public static final int STATUS_SUCCESS = 0; // 0x0
16896  }
16897
16898  public interface IHwBinder {
16899    method public boolean linkToDeath(android.os.IHwBinder.DeathRecipient, long);
16900    method public android.os.IHwInterface queryLocalInterface(String);
16901    method public void transact(int, android.os.HwParcel, android.os.HwParcel, int) throws android.os.RemoteException;
16902    method public boolean unlinkToDeath(android.os.IHwBinder.DeathRecipient);
16903  }
16904
16905  public static interface IHwBinder.DeathRecipient {
16906    method public void serviceDied(long);
16907  }
16908
16909  public interface IHwInterface {
16910    method public android.os.IHwBinder asBinder();
16911  }
16912
16913  public class IncidentManager {
16914    method @RequiresPermission(android.Manifest.permission.APPROVE_INCIDENT_REPORTS) public void approveReport(android.net.Uri);
16915    method @RequiresPermission("android.permission.REQUEST_INCIDENT_REPORT_APPROVAL") public void cancelAuthorization(android.os.IncidentManager.AuthListener);
16916    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void deleteIncidentReports(android.net.Uri);
16917    method @RequiresPermission(android.Manifest.permission.APPROVE_INCIDENT_REPORTS) public void denyReport(android.net.Uri);
16918    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public android.os.IncidentManager.IncidentReport getIncidentReport(android.net.Uri);
16919    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public java.util.List<android.net.Uri> getIncidentReportList(String);
16920    method @RequiresPermission(android.Manifest.permission.APPROVE_INCIDENT_REPORTS) public java.util.List<android.os.IncidentManager.PendingReport> getPendingReports();
16921    method public void registerSection(int, @NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.os.IncidentManager.DumpCallback);
16922    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void reportIncident(android.os.IncidentReportArgs);
16923    method @RequiresPermission("android.permission.REQUEST_INCIDENT_REPORT_APPROVAL") public void requestAuthorization(int, String, int, android.os.IncidentManager.AuthListener);
16924    method public void unregisterSection(int);
16925    field public static final int FLAG_ALLOW_CONSENTLESS_BUGREPORT = 2; // 0x2
16926    field public static final int FLAG_CONFIRMATION_DIALOG = 1; // 0x1
16927    field public static final int PRIVACY_POLICY_AUTO = 200; // 0xc8
16928    field public static final int PRIVACY_POLICY_EXPLICIT = 100; // 0x64
16929    field public static final int PRIVACY_POLICY_LOCAL = 0; // 0x0
16930  }
16931
16932  public static class IncidentManager.AuthListener {
16933    ctor public IncidentManager.AuthListener();
16934    method public void onReportApproved();
16935    method public void onReportDenied();
16936  }
16937
16938  public static class IncidentManager.DumpCallback {
16939    ctor public IncidentManager.DumpCallback();
16940    method public void onDumpSection(int, @NonNull java.io.OutputStream);
16941  }
16942
16943  public static class IncidentManager.IncidentReport implements java.io.Closeable android.os.Parcelable {
16944    ctor public IncidentManager.IncidentReport(android.os.Parcel);
16945    method public void close();
16946    method public int describeContents();
16947    method public java.io.InputStream getInputStream() throws java.io.IOException;
16948    method public long getPrivacyPolicy();
16949    method public long getTimestamp();
16950    method public void writeToParcel(android.os.Parcel, int);
16951    field @NonNull public static final android.os.Parcelable.Creator<android.os.IncidentManager.IncidentReport> CREATOR;
16952  }
16953
16954  public static class IncidentManager.PendingReport {
16955    ctor public IncidentManager.PendingReport(@NonNull android.net.Uri);
16956    method public int getFlags();
16957    method @NonNull public String getRequestingPackage();
16958    method public long getTimestamp();
16959    method @NonNull public android.net.Uri getUri();
16960  }
16961
16962  public final class IncidentReportArgs implements android.os.Parcelable {
16963    ctor public IncidentReportArgs();
16964    ctor public IncidentReportArgs(android.os.Parcel);
16965    method public void addHeader(byte[]);
16966    method public void addSection(int);
16967    method public boolean containsSection(int);
16968    method public int describeContents();
16969    method public boolean isAll();
16970    method public void readFromParcel(android.os.Parcel);
16971    method public int sectionCount();
16972    method public void setAll(boolean);
16973    method public void setPrivacyPolicy(int);
16974    method public void writeToParcel(android.os.Parcel, int);
16975    field @NonNull public static final android.os.Parcelable.Creator<android.os.IncidentReportArgs> CREATOR;
16976  }
16977
16978  public final class NativeHandle implements java.io.Closeable {
16979    ctor public NativeHandle();
16980    ctor public NativeHandle(@NonNull java.io.FileDescriptor, boolean);
16981    ctor public NativeHandle(@NonNull java.io.FileDescriptor[], @NonNull int[], boolean);
16982    method public void close() throws java.io.IOException;
16983    method @NonNull public android.os.NativeHandle dup() throws java.io.IOException;
16984    method @NonNull public java.io.FileDescriptor getFileDescriptor();
16985    method @NonNull public java.io.FileDescriptor[] getFileDescriptors();
16986    method @NonNull public int[] getInts();
16987    method public boolean hasSingleFileDescriptor();
16988  }
16989
16990  public final class NewUserRequest {
16991    method @Nullable public String getAccountName();
16992    method @Nullable public android.os.PersistableBundle getAccountOptions();
16993    method @Nullable public String getAccountType();
16994    method @Nullable public String getName();
16995    method @Nullable public android.graphics.Bitmap getUserIcon();
16996    method @NonNull public String getUserType();
16997    method public boolean isAdmin();
16998    method public boolean isEphemeral();
16999  }
17000
17001  public static final class NewUserRequest.Builder {
17002    ctor public NewUserRequest.Builder();
17003    method @NonNull public android.os.NewUserRequest build();
17004    method @NonNull public android.os.NewUserRequest.Builder setAccountName(@Nullable String);
17005    method @NonNull public android.os.NewUserRequest.Builder setAccountOptions(@Nullable android.os.PersistableBundle);
17006    method @NonNull public android.os.NewUserRequest.Builder setAccountType(@Nullable String);
17007    method @NonNull public android.os.NewUserRequest.Builder setAdmin();
17008    method @NonNull public android.os.NewUserRequest.Builder setEphemeral();
17009    method @NonNull public android.os.NewUserRequest.Builder setName(@Nullable String);
17010    method @NonNull public android.os.NewUserRequest.Builder setUserIcon(@Nullable android.graphics.Bitmap);
17011    method @NonNull public android.os.NewUserRequest.Builder setUserType(@NonNull String);
17012  }
17013
17014  public final class NewUserResponse {
17015    method public int getOperationResult();
17016    method @Nullable public android.os.UserHandle getUser();
17017    method public boolean isSuccessful();
17018  }
17019
17020  public interface Parcelable {
17021    method public default int getStability();
17022    field public static final int PARCELABLE_STABILITY_LOCAL = 0; // 0x0
17023    field public static final int PARCELABLE_STABILITY_VINTF = 1; // 0x1
17024  }
17025
17026  public final class ParcelableHolder implements android.os.Parcelable {
17027    ctor public ParcelableHolder(int);
17028    method public int describeContents();
17029    method @Nullable public <T extends android.os.Parcelable> T getParcelable(@NonNull Class<T>);
17030    method public int getStability();
17031    method public void readFromParcel(@NonNull android.os.Parcel);
17032    method public void setParcelable(@Nullable android.os.Parcelable);
17033    method public void writeToParcel(@NonNull android.os.Parcel, int);
17034    field @NonNull public static final android.os.Parcelable.Creator<android.os.ParcelableHolder> CREATOR;
17035  }
17036
17037  public class PowerExemptionManager {
17038    method @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public void addToTemporaryAllowList(@NonNull String, int, @Nullable String, long);
17039    method @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public long addToTemporaryAllowListForEvent(@NonNull String, int, @Nullable String, int);
17040    field public static final int EVENT_MMS = 2; // 0x2
17041    field public static final int EVENT_SMS = 1; // 0x1
17042    field public static final int EVENT_UNSPECIFIED = 0; // 0x0
17043    field public static final int REASON_ACCOUNT_TRANSFER = 104; // 0x68
17044    field public static final int REASON_ACTIVITY_RECOGNITION = 103; // 0x67
17045    field public static final int REASON_BLUETOOTH_BROADCAST = 203; // 0xcb
17046    field public static final int REASON_GEOFENCING = 100; // 0x64
17047    field public static final int REASON_LOCATION_PROVIDER = 312; // 0x138
17048    field public static final int REASON_OTHER = 1; // 0x1
17049    field public static final int REASON_PUSH_MESSAGING = 101; // 0x65
17050    field public static final int REASON_PUSH_MESSAGING_OVER_QUOTA = 102; // 0x66
17051    field public static final int REASON_REFRESH_SAFETY_SOURCES = 208; // 0xd0
17052    field public static final int REASON_UNKNOWN = 0; // 0x0
17053    field public static final int TEMPORARY_ALLOW_LIST_TYPE_FOREGROUND_SERVICE_ALLOWED = 0; // 0x0
17054    field public static final int TEMPORARY_ALLOW_LIST_TYPE_FOREGROUND_SERVICE_NOT_ALLOWED = 1; // 0x1
17055    field public static final int TEMPORARY_ALLOW_LIST_TYPE_NONE = -1; // 0xffffffff
17056  }
17057
17058  public final class PowerManager {
17059    method @RequiresPermission(allOf={android.Manifest.permission.READ_DREAM_STATE, android.Manifest.permission.WRITE_DREAM_STATE}) public void dream(long);
17060    method @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public boolean forceSuspend();
17061    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_LOW_POWER_STANDBY, android.Manifest.permission.DEVICE_POWER}) public java.util.List<android.os.PowerManager.LowPowerStandbyPortDescription> getActiveLowPowerStandbyPorts();
17062    method @NonNull public android.os.BatterySaverPolicyConfig getFullPowerSavePolicy();
17063    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_LOW_POWER_STANDBY, android.Manifest.permission.DEVICE_POWER}) public android.os.PowerManager.LowPowerStandbyPolicy getLowPowerStandbyPolicy();
17064    method public int getPowerSaveModeTrigger();
17065    method @RequiresPermission(android.Manifest.permission.READ_DREAM_STATE) public boolean isAmbientDisplayAvailable();
17066    method @RequiresPermission(android.Manifest.permission.READ_DREAM_STATE) public boolean isAmbientDisplaySuppressed();
17067    method @RequiresPermission(android.Manifest.permission.READ_DREAM_STATE) public boolean isAmbientDisplaySuppressedForToken(@NonNull String);
17068    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_LOW_POWER_STANDBY, android.Manifest.permission.DEVICE_POWER}) public boolean isLowPowerStandbySupported();
17069    method @NonNull @RequiresPermission(android.Manifest.permission.SET_LOW_POWER_STANDBY_PORTS) public android.os.PowerManager.LowPowerStandbyPortsLock newLowPowerStandbyPortsLock(@NonNull java.util.List<android.os.PowerManager.LowPowerStandbyPortDescription>);
17070    method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.POWER_SAVER}) public boolean setAdaptivePowerSaveEnabled(boolean);
17071    method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.POWER_SAVER}) public boolean setAdaptivePowerSavePolicy(@NonNull android.os.BatterySaverPolicyConfig);
17072    method @RequiresPermission(anyOf={android.Manifest.permission.BATTERY_PREDICTION, android.Manifest.permission.DEVICE_POWER}) public void setBatteryDischargePrediction(@NonNull java.time.Duration, boolean);
17073    method @RequiresPermission(android.Manifest.permission.POWER_SAVER) public boolean setDynamicPowerSaveHint(boolean, int);
17074    method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.POWER_SAVER}) public boolean setFullPowerSavePolicy(@NonNull android.os.BatterySaverPolicyConfig);
17075    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_LOW_POWER_STANDBY, android.Manifest.permission.DEVICE_POWER}) public void setLowPowerStandbyActiveDuringMaintenance(boolean);
17076    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_LOW_POWER_STANDBY, android.Manifest.permission.DEVICE_POWER}) public void setLowPowerStandbyEnabled(boolean);
17077    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_LOW_POWER_STANDBY, android.Manifest.permission.DEVICE_POWER}) public void setLowPowerStandbyPolicy(@Nullable android.os.PowerManager.LowPowerStandbyPolicy);
17078    method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.POWER_SAVER}) public boolean setPowerSaveModeEnabled(boolean);
17079    method @RequiresPermission(android.Manifest.permission.WRITE_DREAM_STATE) public void suppressAmbientDisplay(@NonNull String, boolean);
17080    method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.USER_ACTIVITY}) public void userActivity(long, int, int);
17081    field @RequiresPermission(android.Manifest.permission.MANAGE_LOW_POWER_STANDBY) public static final String ACTION_LOW_POWER_STANDBY_PORTS_CHANGED = "android.os.action.LOW_POWER_STANDBY_PORTS_CHANGED";
17082    field public static final int POWER_SAVE_MODE_TRIGGER_DYNAMIC = 1; // 0x1
17083    field public static final int POWER_SAVE_MODE_TRIGGER_PERCENTAGE = 0; // 0x0
17084    field @Deprecated public static final String REBOOT_USERSPACE = "userspace";
17085    field public static final int SOUND_TRIGGER_MODE_ALL_DISABLED = 2; // 0x2
17086    field public static final int SOUND_TRIGGER_MODE_ALL_ENABLED = 0; // 0x0
17087    field public static final int SOUND_TRIGGER_MODE_CRITICAL_ONLY = 1; // 0x1
17088    field public static final int USER_ACTIVITY_EVENT_ACCESSIBILITY = 3; // 0x3
17089    field public static final int USER_ACTIVITY_EVENT_BUTTON = 1; // 0x1
17090    field public static final int USER_ACTIVITY_EVENT_OTHER = 0; // 0x0
17091    field public static final int USER_ACTIVITY_EVENT_TOUCH = 2; // 0x2
17092    field public static final int USER_ACTIVITY_FLAG_INDIRECT = 2; // 0x2
17093    field public static final int USER_ACTIVITY_FLAG_NO_CHANGE_LIGHTS = 1; // 0x1
17094  }
17095
17096  public static final class PowerManager.LowPowerStandbyPolicy {
17097    ctor public PowerManager.LowPowerStandbyPolicy(@NonNull String, @NonNull java.util.Set<java.lang.String>, int, @NonNull java.util.Set<java.lang.String>);
17098    method @NonNull public java.util.Set<java.lang.String> getAllowedFeatures();
17099    method public int getAllowedReasons();
17100    method @NonNull public java.util.Set<java.lang.String> getExemptPackages();
17101    method @NonNull public String getIdentifier();
17102  }
17103
17104  public static final class PowerManager.LowPowerStandbyPortDescription {
17105    ctor public PowerManager.LowPowerStandbyPortDescription(int, int, int);
17106    ctor public PowerManager.LowPowerStandbyPortDescription(int, int, int, @Nullable java.net.InetAddress);
17107    method @Nullable public java.net.InetAddress getLocalAddress();
17108    method public int getPortMatcher();
17109    method public int getPortNumber();
17110    method public int getProtocol();
17111    field public static final int MATCH_PORT_LOCAL = 1; // 0x1
17112    field public static final int MATCH_PORT_REMOTE = 2; // 0x2
17113    field public static final int PROTOCOL_TCP = 6; // 0x6
17114    field public static final int PROTOCOL_UDP = 17; // 0x11
17115  }
17116
17117  public final class PowerManager.LowPowerStandbyPortsLock {
17118    method @RequiresPermission(android.Manifest.permission.SET_LOW_POWER_STANDBY_PORTS) public void acquire();
17119    method protected void finalize();
17120    method @RequiresPermission(android.Manifest.permission.SET_LOW_POWER_STANDBY_PORTS) public void release();
17121  }
17122
17123  @Deprecated public class PowerWhitelistManager {
17124    method @Deprecated @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public void addToWhitelist(@NonNull String);
17125    method @Deprecated @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public void addToWhitelist(@NonNull java.util.List<java.lang.String>);
17126    method @Deprecated @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public void removeFromWhitelist(@NonNull String);
17127    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public void whitelistAppTemporarily(@NonNull String, long);
17128    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public void whitelistAppTemporarily(@NonNull String, long, int, @Nullable String);
17129    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public long whitelistAppTemporarilyForEvent(@NonNull String, int, int, @Nullable String);
17130    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public long whitelistAppTemporarilyForEvent(@NonNull String, int, @Nullable String);
17131    field @Deprecated public static final int EVENT_MMS = 2; // 0x2
17132    field @Deprecated public static final int EVENT_SMS = 1; // 0x1
17133    field @Deprecated public static final int EVENT_UNSPECIFIED = 0; // 0x0
17134    field @Deprecated public static final int REASON_ACTIVITY_RECOGNITION = 103; // 0x67
17135    field @Deprecated public static final int REASON_GEOFENCING = 100; // 0x64
17136    field @Deprecated public static final int REASON_LOCATION_PROVIDER = 312; // 0x138
17137    field @Deprecated public static final int REASON_OTHER = 1; // 0x1
17138    field @Deprecated public static final int REASON_PUSH_MESSAGING = 101; // 0x65
17139    field @Deprecated public static final int REASON_PUSH_MESSAGING_OVER_QUOTA = 102; // 0x66
17140    field @Deprecated public static final int REASON_UNKNOWN = 0; // 0x0
17141    field @Deprecated public static final int TEMPORARY_ALLOWLIST_TYPE_FOREGROUND_SERVICE_ALLOWED = 0; // 0x0
17142    field @Deprecated public static final int TEMPORARY_ALLOWLIST_TYPE_FOREGROUND_SERVICE_NOT_ALLOWED = 1; // 0x1
17143  }
17144
17145  public class RecoverySystem {
17146    method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void cancelScheduledUpdate(android.content.Context) throws java.io.IOException;
17147    method @RequiresPermission(anyOf={android.Manifest.permission.RECOVERY, android.Manifest.permission.REBOOT}) public static void clearPrepareForUnattendedUpdate(@NonNull android.content.Context) throws java.io.IOException;
17148    method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void installPackage(android.content.Context, java.io.File, boolean) throws java.io.IOException;
17149    method @RequiresPermission(anyOf={android.Manifest.permission.RECOVERY, android.Manifest.permission.REBOOT}) public static boolean isPreparedForUnattendedUpdate(@NonNull android.content.Context) throws java.io.IOException;
17150    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;
17151    method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void processPackage(android.content.Context, java.io.File, android.os.RecoverySystem.ProgressListener) throws java.io.IOException;
17152    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;
17153    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;
17154    method @Deprecated @RequiresPermission(android.Manifest.permission.RECOVERY) public static void rebootAndApply(@NonNull android.content.Context, @NonNull String, @NonNull String) throws java.io.IOException;
17155    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;
17156    method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void scheduleUpdateOnBoot(android.content.Context, java.io.File) throws java.io.IOException;
17157    method @Deprecated public static boolean verifyPackageCompatibility(java.io.File) throws java.io.IOException;
17158    field public static final int RESUME_ON_REBOOT_REBOOT_ERROR_INVALID_PACKAGE_NAME = 2000; // 0x7d0
17159    field public static final int RESUME_ON_REBOOT_REBOOT_ERROR_LSKF_NOT_CAPTURED = 3000; // 0xbb8
17160    field public static final int RESUME_ON_REBOOT_REBOOT_ERROR_PROVIDER_PREPARATION_FAILURE = 5000; // 0x1388
17161    field public static final int RESUME_ON_REBOOT_REBOOT_ERROR_SLOT_MISMATCH = 4000; // 0xfa0
17162    field public static final int RESUME_ON_REBOOT_REBOOT_ERROR_UNSPECIFIED = 1000; // 0x3e8
17163  }
17164
17165  public final class RemoteCallback implements android.os.Parcelable {
17166    ctor public RemoteCallback(android.os.RemoteCallback.OnResultListener);
17167    ctor public RemoteCallback(@NonNull android.os.RemoteCallback.OnResultListener, @Nullable android.os.Handler);
17168    method public int describeContents();
17169    method public void sendResult(@Nullable android.os.Bundle);
17170    method public void writeToParcel(android.os.Parcel, int);
17171    field @NonNull public static final android.os.Parcelable.Creator<android.os.RemoteCallback> CREATOR;
17172  }
17173
17174  public static interface RemoteCallback.OnResultListener {
17175    method public void onResult(@Nullable android.os.Bundle);
17176  }
17177
17178  public class ServiceSpecificException extends java.lang.RuntimeException {
17179    ctor public ServiceSpecificException(int);
17180    ctor public ServiceSpecificException(int, @Nullable String);
17181    field public final int errorCode;
17182  }
17183
17184  public final class StatsDimensionsValue implements android.os.Parcelable {
17185    method public int describeContents();
17186    method public boolean getBooleanValue();
17187    method public int getField();
17188    method public float getFloatValue();
17189    method public int getIntValue();
17190    method public long getLongValue();
17191    method public String getStringValue();
17192    method public java.util.List<android.os.StatsDimensionsValue> getTupleValueList();
17193    method public int getValueType();
17194    method public boolean isValueType(int);
17195    method public void writeToParcel(android.os.Parcel, int);
17196    field public static final int BOOLEAN_VALUE_TYPE = 5; // 0x5
17197    field @NonNull public static final android.os.Parcelable.Creator<android.os.StatsDimensionsValue> CREATOR;
17198    field public static final int FLOAT_VALUE_TYPE = 6; // 0x6
17199    field public static final int INT_VALUE_TYPE = 3; // 0x3
17200    field public static final int LONG_VALUE_TYPE = 4; // 0x4
17201    field public static final int STRING_VALUE_TYPE = 2; // 0x2
17202    field public static final int TUPLE_VALUE_TYPE = 7; // 0x7
17203  }
17204
17205  public class SystemConfigManager {
17206    method @NonNull @RequiresPermission(android.Manifest.permission.READ_CARRIER_APP_INFO) public java.util.Set<java.lang.String> getDisabledUntilUsedPreinstalledCarrierApps();
17207    method @NonNull @RequiresPermission(android.Manifest.permission.READ_CARRIER_APP_INFO) public java.util.Map<java.lang.String,java.util.List<java.lang.String>> getDisabledUntilUsedPreinstalledCarrierAssociatedApps();
17208    method @NonNull @RequiresPermission(android.Manifest.permission.GET_RUNTIME_PERMISSIONS) public int[] getSystemPermissionUids(@NonNull String);
17209  }
17210
17211  public class SystemProperties {
17212    method @NonNull public static String get(@NonNull String);
17213    method @NonNull public static String get(@NonNull String, @Nullable String);
17214    method public static boolean getBoolean(@NonNull String, boolean);
17215    method public static int getInt(@NonNull String, int);
17216    method public static long getLong(@NonNull String, long);
17217  }
17218
17219  public class SystemUpdateManager {
17220    method @RequiresPermission(anyOf={android.Manifest.permission.READ_SYSTEM_UPDATE_INFO, android.Manifest.permission.RECOVERY}) public android.os.Bundle retrieveSystemUpdateInfo();
17221    method @RequiresPermission(android.Manifest.permission.RECOVERY) public void updateSystemUpdateInfo(android.os.PersistableBundle);
17222    field public static final String KEY_IS_SECURITY_UPDATE = "is_security_update";
17223    field public static final String KEY_STATUS = "status";
17224    field public static final String KEY_TARGET_BUILD_FINGERPRINT = "target_build_fingerprint";
17225    field public static final String KEY_TARGET_SECURITY_PATCH_LEVEL = "target_security_patch_level";
17226    field public static final String KEY_TITLE = "title";
17227    field public static final int STATUS_IDLE = 1; // 0x1
17228    field public static final int STATUS_IN_PROGRESS = 3; // 0x3
17229    field public static final int STATUS_UNKNOWN = 0; // 0x0
17230    field public static final int STATUS_WAITING_DOWNLOAD = 2; // 0x2
17231    field public static final int STATUS_WAITING_INSTALL = 4; // 0x4
17232    field public static final int STATUS_WAITING_REBOOT = 5; // 0x5
17233  }
17234
17235  public final class Trace {
17236    field public static final long TRACE_TAG_AIDL = 16777216L; // 0x1000000L
17237  }
17238
17239  public class UpdateEngine {
17240    ctor public UpdateEngine();
17241    method @NonNull @WorkerThread public android.os.UpdateEngine.AllocateSpaceResult allocateSpace(@NonNull String, @NonNull String[]);
17242    method public void applyPayload(@NonNull android.content.res.AssetFileDescriptor, @NonNull String[]);
17243    method public void applyPayload(String, long, long, String[]);
17244    method public boolean bind(android.os.UpdateEngineCallback);
17245    method public boolean bind(android.os.UpdateEngineCallback, android.os.Handler);
17246    method public void cancel();
17247    method @WorkerThread public int cleanupAppliedPayload();
17248    method public void resetShouldSwitchSlotOnReboot();
17249    method public void resetStatus();
17250    method public void resume();
17251    method public void setShouldSwitchSlotOnReboot(@NonNull String);
17252    method public void suspend();
17253    method public boolean unbind();
17254    method public boolean verifyPayloadMetadata(String);
17255  }
17256
17257  public static final class UpdateEngine.AllocateSpaceResult {
17258    method public int getErrorCode();
17259    method public long getFreeSpaceRequired();
17260  }
17261
17262  public static final class UpdateEngine.ErrorCodeConstants {
17263    ctor public UpdateEngine.ErrorCodeConstants();
17264    field public static final int DEVICE_CORRUPTED = 61; // 0x3d
17265    field public static final int DOWNLOAD_PAYLOAD_VERIFICATION_ERROR = 12; // 0xc
17266    field public static final int DOWNLOAD_TRANSFER_ERROR = 9; // 0x9
17267    field public static final int ERROR = 1; // 0x1
17268    field public static final int FILESYSTEM_COPIER_ERROR = 4; // 0x4
17269    field public static final int INSTALL_DEVICE_OPEN_ERROR = 7; // 0x7
17270    field public static final int KERNEL_DEVICE_OPEN_ERROR = 8; // 0x8
17271    field public static final int NOT_ENOUGH_SPACE = 60; // 0x3c
17272    field public static final int PAYLOAD_HASH_MISMATCH_ERROR = 10; // 0xa
17273    field public static final int PAYLOAD_MISMATCHED_TYPE_ERROR = 6; // 0x6
17274    field public static final int PAYLOAD_SIZE_MISMATCH_ERROR = 11; // 0xb
17275    field public static final int PAYLOAD_TIMESTAMP_ERROR = 51; // 0x33
17276    field public static final int POST_INSTALL_RUNNER_ERROR = 5; // 0x5
17277    field public static final int SUCCESS = 0; // 0x0
17278    field public static final int UPDATED_BUT_NOT_ACTIVE = 52; // 0x34
17279  }
17280
17281  public static final class UpdateEngine.UpdateStatusConstants {
17282    ctor public UpdateEngine.UpdateStatusConstants();
17283    field public static final int ATTEMPTING_ROLLBACK = 8; // 0x8
17284    field public static final int CHECKING_FOR_UPDATE = 1; // 0x1
17285    field public static final int DISABLED = 9; // 0x9
17286    field public static final int DOWNLOADING = 3; // 0x3
17287    field public static final int FINALIZING = 5; // 0x5
17288    field public static final int IDLE = 0; // 0x0
17289    field public static final int REPORTING_ERROR_EVENT = 7; // 0x7
17290    field public static final int UPDATED_NEED_REBOOT = 6; // 0x6
17291    field public static final int UPDATE_AVAILABLE = 2; // 0x2
17292    field public static final int VERIFYING = 4; // 0x4
17293  }
17294
17295  public abstract class UpdateEngineCallback {
17296    ctor public UpdateEngineCallback();
17297    method public abstract void onPayloadApplicationComplete(int);
17298    method public abstract void onStatusUpdate(int, float);
17299  }
17300
17301  public final class UserHandle implements android.os.Parcelable {
17302    method @NonNull public static String formatUid(int);
17303    method public static int getAppId(int);
17304    method public int getIdentifier();
17305    method public static int getSharedAppGid(int);
17306    method public int getUid(int);
17307    method @Deprecated public boolean isOwner();
17308    method public boolean isSystem();
17309    method public static int myUserId();
17310    method public static android.os.UserHandle of(int);
17311    field @NonNull public static final android.os.UserHandle ALL;
17312    field @NonNull public static final android.os.UserHandle CURRENT;
17313    field @NonNull public static final android.os.UserHandle SYSTEM;
17314  }
17315
17316  public class UserManager {
17317    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean canHaveRestrictedProfile();
17318    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void clearSeedAccountData();
17319    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;
17320    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public android.os.NewUserResponse createUser(@NonNull android.os.NewUserRequest);
17321    method @NonNull public java.util.List<android.os.UserHandle> getAllProfiles();
17322    method @NonNull public java.util.List<android.os.UserHandle> getEnabledProfiles();
17323    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS, android.Manifest.permission.QUERY_USERS}) public android.os.UserHandle getMainUser();
17324    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS, android.Manifest.permission.QUERY_USERS}) public android.os.UserHandle getPreviousForegroundUser();
17325    method @NonNull public String getProfileLabel();
17326    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}) public android.os.UserHandle getProfileParent(@NonNull android.os.UserHandle);
17327    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS, android.Manifest.permission.QUERY_USERS}) public int getRemainingCreatableProfileCount(@NonNull String);
17328    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS, android.Manifest.permission.QUERY_USERS}) public int getRemainingCreatableUserCount(@NonNull String);
17329    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS, android.Manifest.permission.QUERY_USERS}) public android.os.UserHandle getRestrictedProfileParent();
17330    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public String getSeedAccountName();
17331    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public android.os.PersistableBundle getSeedAccountOptions();
17332    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public String getSeedAccountType();
17333    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public long[] getSerialNumbersOfUsers(boolean);
17334    method @NonNull public android.graphics.drawable.Drawable getUserBadge();
17335    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public java.util.List<android.os.UserHandle> getUserHandles(boolean);
17336    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.GET_ACCOUNTS_PRIVILEGED}) public android.graphics.Bitmap getUserIcon();
17337    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.QUERY_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional=true) public android.content.pm.UserProperties getUserProperties(@NonNull android.os.UserHandle);
17338    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.QUERY_USERS}) public int getUserRestrictionSource(String, android.os.UserHandle);
17339    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.QUERY_USERS}) public java.util.List<android.os.UserManager.EnforcingUser> getUserRestrictionSources(String, android.os.UserHandle);
17340    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}) public int getUserSwitchability();
17341    method @NonNull @RequiresPermission(anyOf={"android.permission.INTERACT_ACROSS_USERS", "android.permission.MANAGE_USERS"}) public java.util.Set<android.os.UserHandle> getVisibleUsers();
17342    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean hasRestrictedProfiles();
17343    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);
17344    method public boolean isCloneProfile();
17345    method @Deprecated public boolean isCredentialSharableWithParent();
17346    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS, android.Manifest.permission.QUERY_USERS}) public boolean isGuestUser();
17347    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS, android.Manifest.permission.QUERY_USERS}) public boolean isMainUser();
17348    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.QUERY_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional=true) public boolean isManagedProfile(int);
17349    method @Deprecated public boolean isMediaSharedWithParent();
17350    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS, android.Manifest.permission.QUERY_USERS}) public boolean isPrimaryUser();
17351    method public boolean isPrivateProfile();
17352    method public static boolean isRemoveResultSuccessful(int);
17353    method public boolean isRestrictedProfile();
17354    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS, android.Manifest.permission.QUERY_USERS}, conditional=true) public boolean isRestrictedProfile(@NonNull android.os.UserHandle);
17355    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.QUERY_USERS}) public boolean isSameProfileGroup(@NonNull android.os.UserHandle, @NonNull android.os.UserHandle);
17356    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS, android.Manifest.permission.QUERY_USERS, android.Manifest.permission.GET_ACCOUNTS_PRIVILEGED}) public boolean isUserNameSet();
17357    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS, android.Manifest.permission.QUERY_USERS}) public boolean isUserOfType(@NonNull String);
17358    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional=true) public boolean isUserUnlockingOrUnlocked(@NonNull android.os.UserHandle);
17359    method public boolean isUserVisible();
17360    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean removeUser(@NonNull android.os.UserHandle);
17361    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public int removeUserWhenPossible(@NonNull android.os.UserHandle, boolean);
17362    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public void setBootUser(@NonNull android.os.UserHandle);
17363    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void setUserIcon(@NonNull android.graphics.Bitmap) throws android.os.UserManager.UserOperationException;
17364    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void setUserName(@Nullable String);
17365    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean someUserHasAccount(@NonNull String, @NonNull String);
17366    field @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public static final String ACTION_CREATE_SUPERVISED_USER = "android.os.action.CREATE_SUPERVISED_USER";
17367    field public static final String ACTION_USER_RESTRICTIONS_CHANGED = "android.os.action.USER_RESTRICTIONS_CHANGED";
17368    field @Deprecated public static final String DISALLOW_OEM_UNLOCK = "no_oem_unlock";
17369    field public static final String DISALLOW_RUN_IN_BACKGROUND = "no_run_in_background";
17370    field public static final int REMOVE_RESULT_ALREADY_BEING_REMOVED = 2; // 0x2
17371    field public static final int REMOVE_RESULT_DEFERRED = 1; // 0x1
17372    field public static final int REMOVE_RESULT_ERROR_MAIN_USER_PERMANENT_ADMIN = -5; // 0xfffffffb
17373    field public static final int REMOVE_RESULT_ERROR_SYSTEM_USER = -4; // 0xfffffffc
17374    field public static final int REMOVE_RESULT_ERROR_UNKNOWN = -1; // 0xffffffff
17375    field public static final int REMOVE_RESULT_ERROR_USER_NOT_FOUND = -3; // 0xfffffffd
17376    field public static final int REMOVE_RESULT_ERROR_USER_RESTRICTION = -2; // 0xfffffffe
17377    field public static final int REMOVE_RESULT_REMOVED = 0; // 0x0
17378    field public static final int RESTRICTION_NOT_SET = 0; // 0x0
17379    field public static final int RESTRICTION_SOURCE_DEVICE_OWNER = 2; // 0x2
17380    field public static final int RESTRICTION_SOURCE_PROFILE_OWNER = 4; // 0x4
17381    field public static final int RESTRICTION_SOURCE_SYSTEM = 1; // 0x1
17382    field public static final int SWITCHABILITY_STATUS_OK = 0; // 0x0
17383    field public static final int SWITCHABILITY_STATUS_SYSTEM_USER_LOCKED = 4; // 0x4
17384    field public static final int SWITCHABILITY_STATUS_USER_IN_CALL = 1; // 0x1
17385    field public static final int SWITCHABILITY_STATUS_USER_SWITCH_DISALLOWED = 2; // 0x2
17386    field public static final int USER_OPERATION_ERROR_USER_ACCOUNT_ALREADY_EXISTS = 7; // 0x7
17387    field public static final String USER_TYPE_FULL_GUEST = "android.os.usertype.full.GUEST";
17388    field public static final String USER_TYPE_FULL_SECONDARY = "android.os.usertype.full.SECONDARY";
17389    field public static final String USER_TYPE_FULL_SYSTEM = "android.os.usertype.full.SYSTEM";
17390    field public static final String USER_TYPE_SYSTEM_HEADLESS = "android.os.usertype.system.HEADLESS";
17391  }
17392
17393  public static final class UserManager.EnforcingUser implements android.os.Parcelable {
17394    method public int describeContents();
17395    method public android.os.UserHandle getUserHandle();
17396    method public int getUserRestrictionSource();
17397    method public void writeToParcel(android.os.Parcel, int);
17398    field @NonNull public static final android.os.Parcelable.Creator<android.os.UserManager.EnforcingUser> CREATOR;
17399  }
17400
17401  public abstract class Vibrator {
17402    method @RequiresPermission(android.Manifest.permission.ACCESS_VIBRATOR_STATE) public void addVibratorStateListener(@NonNull android.os.Vibrator.OnVibratorStateChangedListener);
17403    method @RequiresPermission(android.Manifest.permission.ACCESS_VIBRATOR_STATE) public void addVibratorStateListener(@NonNull java.util.concurrent.Executor, @NonNull android.os.Vibrator.OnVibratorStateChangedListener);
17404    method @RequiresPermission(android.Manifest.permission.ACCESS_VIBRATOR_STATE) public boolean isVibrating();
17405    method @RequiresPermission(android.Manifest.permission.ACCESS_VIBRATOR_STATE) public void removeVibratorStateListener(@NonNull android.os.Vibrator.OnVibratorStateChangedListener);
17406  }
17407
17408  public static interface Vibrator.OnVibratorStateChangedListener {
17409    method public void onVibratorStateChanged(boolean);
17410  }
17411
17412  public class WorkSource implements android.os.Parcelable {
17413    ctor public WorkSource(int);
17414    ctor public WorkSource(int, @NonNull String);
17415    method public android.os.WorkSource.WorkChain createWorkChain();
17416    method @Nullable public String getPackageName(int);
17417    method public int getUid(int);
17418    method @Nullable public java.util.List<android.os.WorkSource.WorkChain> getWorkChains();
17419    method public boolean isEmpty();
17420    method public int size();
17421    method @NonNull public android.os.WorkSource withoutNames();
17422  }
17423
17424  public static final class WorkSource.WorkChain implements android.os.Parcelable {
17425    ctor public WorkSource.WorkChain();
17426    method public android.os.WorkSource.WorkChain addNode(int, @Nullable String);
17427    method public int describeContents();
17428    method public String getAttributionTag();
17429    method public int getAttributionUid();
17430    method public void writeToParcel(android.os.Parcel, int);
17431    field @NonNull public static final android.os.Parcelable.Creator<android.os.WorkSource.WorkChain> CREATOR;
17432  }
17433
17434}
17435
17436package android.os.connectivity {
17437
17438  public final class CellularBatteryStats implements android.os.Parcelable {
17439    method public int describeContents();
17440    method public long getEnergyConsumedMaMillis();
17441    method public long getIdleTimeMillis();
17442    method public long getKernelActiveTimeMillis();
17443    method public long getLoggingDurationMillis();
17444    method public long getMonitoredRailChargeConsumedMaMillis();
17445    method public long getNumBytesRx();
17446    method public long getNumBytesTx();
17447    method public long getNumPacketsRx();
17448    method public long getNumPacketsTx();
17449    method public long getRxTimeMillis();
17450    method public long getSleepTimeMillis();
17451    method @NonNull public long getTimeInRatMicros(int);
17452    method @NonNull public long getTimeInRxSignalStrengthLevelMicros(@IntRange(from=android.telephony.CellSignalStrength.SIGNAL_STRENGTH_NONE_OR_UNKNOWN, to=android.telephony.CellSignalStrength.SIGNAL_STRENGTH_GREAT) int);
17453    method public void writeToParcel(@NonNull android.os.Parcel, int);
17454    field @NonNull public static final android.os.Parcelable.Creator<android.os.connectivity.CellularBatteryStats> CREATOR;
17455  }
17456
17457  public final class WifiActivityEnergyInfo implements android.os.Parcelable {
17458    ctor public WifiActivityEnergyInfo(long, int, @IntRange(from=0) long, @IntRange(from=0) long, @IntRange(from=0) long, @IntRange(from=0) long);
17459    method public int describeContents();
17460    method @IntRange(from=0) public long getControllerEnergyUsedMicroJoules();
17461    method @IntRange(from=0) public long getControllerIdleDurationMillis();
17462    method @IntRange(from=0) public long getControllerRxDurationMillis();
17463    method @IntRange(from=0) public long getControllerScanDurationMillis();
17464    method @IntRange(from=0) public long getControllerTxDurationMillis();
17465    method public int getStackState();
17466    method public long getTimeSinceBootMillis();
17467    method public void writeToParcel(@NonNull android.os.Parcel, int);
17468    field @NonNull public static final android.os.Parcelable.Creator<android.os.connectivity.WifiActivityEnergyInfo> CREATOR;
17469    field public static final int STACK_STATE_INVALID = 0; // 0x0
17470    field public static final int STACK_STATE_STATE_ACTIVE = 1; // 0x1
17471    field public static final int STACK_STATE_STATE_IDLE = 3; // 0x3
17472    field public static final int STACK_STATE_STATE_SCANNING = 2; // 0x2
17473  }
17474
17475  public final class WifiBatteryStats implements android.os.Parcelable {
17476    method public int describeContents();
17477    method public long getAppScanRequestCount();
17478    method public long getEnergyConsumedMaMillis();
17479    method public long getIdleTimeMillis();
17480    method public long getKernelActiveTimeMillis();
17481    method public long getLoggingDurationMillis();
17482    method public long getMonitoredRailChargeConsumedMaMillis();
17483    method public long getNumBytesRx();
17484    method public long getNumBytesTx();
17485    method public long getNumPacketsRx();
17486    method public long getNumPacketsTx();
17487    method public long getRxTimeMillis();
17488    method public long getScanTimeMillis();
17489    method public long getSleepTimeMillis();
17490    method public long getTxTimeMillis();
17491    method public void writeToParcel(@NonNull android.os.Parcel, int);
17492    field @NonNull public static final android.os.Parcelable.Creator<android.os.connectivity.WifiBatteryStats> CREATOR;
17493  }
17494
17495}
17496
17497package android.os.image {
17498
17499  public class DynamicSystemClient {
17500    ctor public DynamicSystemClient(@NonNull android.content.Context);
17501    method @RequiresPermission(android.Manifest.permission.INSTALL_DYNAMIC_SYSTEM) public void bind();
17502    method public void setOnStatusChangedListener(@NonNull android.os.image.DynamicSystemClient.OnStatusChangedListener);
17503    method public void setOnStatusChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.os.image.DynamicSystemClient.OnStatusChangedListener);
17504    method @RequiresPermission(android.Manifest.permission.INSTALL_DYNAMIC_SYSTEM) public void start(@NonNull android.net.Uri, long);
17505    method @RequiresPermission(android.Manifest.permission.INSTALL_DYNAMIC_SYSTEM) public void start(@NonNull android.net.Uri, long, long);
17506    method @RequiresPermission(android.Manifest.permission.INSTALL_DYNAMIC_SYSTEM) public void unbind();
17507    field public static final int CAUSE_ERROR_EXCEPTION = 6; // 0x6
17508    field public static final int CAUSE_ERROR_INVALID_URL = 4; // 0x4
17509    field public static final int CAUSE_ERROR_IO = 3; // 0x3
17510    field public static final int CAUSE_ERROR_IPC = 5; // 0x5
17511    field public static final int CAUSE_INSTALL_CANCELLED = 2; // 0x2
17512    field public static final int CAUSE_INSTALL_COMPLETED = 1; // 0x1
17513    field public static final int CAUSE_NOT_SPECIFIED = 0; // 0x0
17514    field public static final int STATUS_IN_PROGRESS = 2; // 0x2
17515    field public static final int STATUS_IN_USE = 4; // 0x4
17516    field public static final int STATUS_NOT_STARTED = 1; // 0x1
17517    field public static final int STATUS_READY = 3; // 0x3
17518    field public static final int STATUS_UNKNOWN = 0; // 0x0
17519  }
17520
17521  public static interface DynamicSystemClient.OnStatusChangedListener {
17522    method public void onStatusChanged(int, int, long, @Nullable Throwable);
17523  }
17524
17525}
17526
17527package android.os.storage {
17528
17529  public class StorageManager {
17530    method @WorkerThread public void allocateBytes(java.io.FileDescriptor, long, @RequiresPermission int) throws java.io.IOException;
17531    method @WorkerThread public void allocateBytes(@NonNull java.util.UUID, long, @RequiresPermission int) throws java.io.IOException;
17532    method @WorkerThread public long getAllocatableBytes(@NonNull java.util.UUID, @RequiresPermission int) throws java.io.IOException;
17533    method @RequiresPermission(android.Manifest.permission.WRITE_MEDIA_STORAGE) public int getExternalStorageMountMode(int, @NonNull String);
17534    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getInternalStorageRemainingLifetime();
17535    method public static boolean hasIsolatedStorage();
17536    method public void updateExternalStorageFileQuotaType(@NonNull java.io.File, int) throws java.io.IOException;
17537    field @RequiresPermission(android.Manifest.permission.ALLOCATE_AGGRESSIVE) public static final int FLAG_ALLOCATE_AGGRESSIVE = 1; // 0x1
17538    field public static final int MOUNT_MODE_EXTERNAL_ANDROID_WRITABLE = 4; // 0x4
17539    field public static final int MOUNT_MODE_EXTERNAL_DEFAULT = 1; // 0x1
17540    field public static final int MOUNT_MODE_EXTERNAL_INSTALLER = 2; // 0x2
17541    field public static final int MOUNT_MODE_EXTERNAL_NONE = 0; // 0x0
17542    field public static final int MOUNT_MODE_EXTERNAL_PASS_THROUGH = 3; // 0x3
17543    field public static final int QUOTA_TYPE_MEDIA_AUDIO = 2; // 0x2
17544    field public static final int QUOTA_TYPE_MEDIA_IMAGE = 1; // 0x1
17545    field public static final int QUOTA_TYPE_MEDIA_NONE = 0; // 0x0
17546    field public static final int QUOTA_TYPE_MEDIA_VIDEO = 3; // 0x3
17547  }
17548
17549  public final class StorageVolume implements android.os.Parcelable {
17550    method @NonNull public String getId();
17551    method public boolean isExternallyManaged();
17552  }
17553
17554}
17555
17556package android.permission {
17557
17558  public final class AdminPermissionControlParams implements android.os.Parcelable {
17559    method public boolean canAdminGrantSensorsPermissions();
17560    method public int describeContents();
17561    method public int getGrantState();
17562    method @NonNull public String getGranteePackageName();
17563    method @NonNull public String getPermission();
17564    method public void writeToParcel(@NonNull android.os.Parcel, int);
17565    field @NonNull public static final android.os.Parcelable.Creator<android.permission.AdminPermissionControlParams> CREATOR;
17566  }
17567
17568  public final class PermissionControllerManager {
17569    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>);
17570    method @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public void getHibernationEligibility(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.IntConsumer);
17571    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[]>);
17572    method public void getUnusedAppCount(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.IntConsumer);
17573    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);
17574    method @RequiresPermission(anyOf={android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS, android.Manifest.permission.RESTORE_RUNTIME_PERMISSIONS}) public void stageAndApplyRuntimePermissionsBackup(@NonNull byte[], @NonNull android.os.UserHandle);
17575    field public static final int COUNT_ONLY_WHEN_GRANTED = 1; // 0x1
17576    field public static final int COUNT_WHEN_SYSTEM = 2; // 0x2
17577    field public static final int HIBERNATION_ELIGIBILITY_ELIGIBLE = 0; // 0x0
17578    field public static final int HIBERNATION_ELIGIBILITY_EXEMPT_BY_SYSTEM = 1; // 0x1
17579    field public static final int HIBERNATION_ELIGIBILITY_EXEMPT_BY_USER = 2; // 0x2
17580    field public static final int HIBERNATION_ELIGIBILITY_UNKNOWN = -1; // 0xffffffff
17581    field public static final int REASON_INSTALLER_POLICY_VIOLATION = 2; // 0x2
17582    field public static final int REASON_MALWARE = 1; // 0x1
17583  }
17584
17585  public abstract static class PermissionControllerManager.OnRevokeRuntimePermissionsCallback {
17586    ctor public PermissionControllerManager.OnRevokeRuntimePermissionsCallback();
17587    method public abstract void onRevokeRuntimePermissions(@NonNull java.util.Map<java.lang.String,java.util.List<java.lang.String>>);
17588  }
17589
17590  public abstract class PermissionControllerService extends android.app.Service {
17591    ctor public PermissionControllerService();
17592    method @Deprecated @NonNull @RequiresPermission("android.permission.MANAGE_COMPANION_DEVICES") public String getPrivilegesDescriptionStringForProfile(@NonNull String);
17593    method @BinderThread public void onApplyStagedRuntimePermissionBackup(@NonNull String, @NonNull android.os.UserHandle, @NonNull java.util.function.Consumer<java.lang.Boolean>);
17594    method @NonNull public final android.os.IBinder onBind(android.content.Intent);
17595    method @BinderThread public abstract void onCountPermissionApps(@NonNull java.util.List<java.lang.String>, int, @NonNull java.util.function.IntConsumer);
17596    method @BinderThread public abstract void onGetAppPermissions(@NonNull String, @NonNull java.util.function.Consumer<java.util.List<android.permission.RuntimePermissionPresentationInfo>>);
17597    method @BinderThread public void onGetGroupOfPlatformPermission(@NonNull String, @NonNull java.util.function.Consumer<java.lang.String>);
17598    method @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public void onGetHibernationEligibility(@NonNull String, @NonNull java.util.function.IntConsumer);
17599    method @BinderThread public abstract void onGetPermissionUsages(boolean, long, @NonNull java.util.function.Consumer<java.util.List<android.permission.RuntimePermissionUsageInfo>>);
17600    method @BinderThread public void onGetPlatformPermissionsForGroup(@NonNull String, @NonNull java.util.function.Consumer<java.util.List<java.lang.String>>);
17601    method @BinderThread public abstract void onGetRuntimePermissionsBackup(@NonNull android.os.UserHandle, @NonNull java.io.OutputStream, @NonNull Runnable);
17602    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public void onGetUnusedAppCount(@NonNull java.util.function.IntConsumer);
17603    method @BinderThread public abstract void onGrantOrUpgradeDefaultRuntimePermissions(@NonNull Runnable);
17604    method @Deprecated @BinderThread public void onOneTimePermissionSessionTimeout(@NonNull String);
17605    method @BinderThread public void onOneTimePermissionSessionTimeout(@NonNull String, int);
17606    method @Deprecated @BinderThread public void onRestoreDelayedRuntimePermissionsBackup(@NonNull String, @NonNull android.os.UserHandle, @NonNull java.util.function.Consumer<java.lang.Boolean>);
17607    method @Deprecated @BinderThread public void onRestoreRuntimePermissionsBackup(@NonNull android.os.UserHandle, @NonNull java.io.InputStream, @NonNull Runnable);
17608    method @BinderThread public abstract void onRevokeRuntimePermission(@NonNull String, @NonNull String, @NonNull Runnable);
17609    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>>>);
17610    method @BinderThread public void onRevokeSelfPermissionsOnKill(@NonNull String, @NonNull java.util.List<java.lang.String>, int, @NonNull Runnable);
17611    method @Deprecated @BinderThread public void onRevokeSelfPermissionsOnKill(@NonNull String, @NonNull java.util.List<java.lang.String>, @NonNull Runnable);
17612    method @BinderThread public void onSetRuntimePermissionGrantStateByDeviceAdmin(@NonNull String, @NonNull android.permission.AdminPermissionControlParams, @NonNull java.util.function.Consumer<java.lang.Boolean>);
17613    method @Deprecated @BinderThread public abstract void onSetRuntimePermissionGrantStateByDeviceAdmin(@NonNull String, @NonNull String, @NonNull String, int, @NonNull java.util.function.Consumer<java.lang.Boolean>);
17614    method @BinderThread public void onStageAndApplyRuntimePermissionsBackup(@NonNull android.os.UserHandle, @NonNull java.io.InputStream, @NonNull Runnable);
17615    method @BinderThread public void onUpdateUserSensitivePermissionFlags(int, @NonNull Runnable);
17616    method @BinderThread public void onUpdateUserSensitivePermissionFlags(int, @NonNull java.util.concurrent.Executor, @NonNull Runnable);
17617    field public static final String SERVICE_INTERFACE = "android.permission.PermissionControllerService";
17618  }
17619
17620  public final class PermissionGroupUsage implements android.os.Parcelable {
17621    method public int describeContents();
17622    method @Nullable public CharSequence getAttributionLabel();
17623    method @Nullable public CharSequence getAttributionTag();
17624    method public long getLastAccessTimeMillis();
17625    method @NonNull public String getPackageName();
17626    method @NonNull public String getPermissionGroupName();
17627    method @NonNull public String getPersistentDeviceId();
17628    method @Nullable public CharSequence getProxyLabel();
17629    method public int getUid();
17630    method public boolean isActive();
17631    method public boolean isPhoneCall();
17632    method public void writeToParcel(@NonNull android.os.Parcel, int);
17633    field @NonNull public static final android.os.Parcelable.Creator<android.permission.PermissionGroupUsage> CREATOR;
17634  }
17635
17636  public final class PermissionManager {
17637    method public int checkDeviceIdentifierAccess(@Nullable String, @Nullable String, @Nullable String, int, int);
17638    method public int checkPermission(@NonNull String, @NonNull String, @NonNull String);
17639    method @RequiresPermission(value=android.Manifest.permission.UPDATE_APP_OPS_STATS, conditional=true) public int checkPermissionForDataDelivery(@NonNull String, @NonNull android.content.AttributionSource, @Nullable String);
17640    method @RequiresPermission(value=android.Manifest.permission.UPDATE_APP_OPS_STATS, conditional=true) public int checkPermissionForDataDeliveryFromDataSource(@NonNull String, @NonNull android.content.AttributionSource, @Nullable String);
17641    method public int checkPermissionForPreflight(@NonNull String, @NonNull android.content.AttributionSource);
17642    method @RequiresPermission(value=android.Manifest.permission.UPDATE_APP_OPS_STATS, conditional=true) public int checkPermissionForStartDataDelivery(@NonNull String, @NonNull android.content.AttributionSource, @Nullable String);
17643    method public void finishDataDelivery(@NonNull String, @NonNull android.content.AttributionSource);
17644    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS, android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS, android.Manifest.permission.GET_RUNTIME_PERMISSIONS}) public java.util.Map<java.lang.String,android.permission.PermissionManager.PermissionState> getAllPermissionStates(@NonNull String, @NonNull String);
17645    method @NonNull @RequiresPermission(android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY) public java.util.Set<java.lang.String> getAutoRevokeExemptionGrantedPackages();
17646    method @NonNull @RequiresPermission(android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY) public java.util.Set<java.lang.String> getAutoRevokeExemptionRequestedPackages();
17647    method @RequiresPermission(anyOf={android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS, android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS, android.Manifest.permission.GET_RUNTIME_PERMISSIONS}) public int getPermissionFlags(@NonNull String, @NonNull String, @NonNull String);
17648    method @IntRange(from=0) @RequiresPermission(anyOf={android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY, android.Manifest.permission.UPGRADE_RUNTIME_PERMISSIONS}) public int getRuntimePermissionsVersion();
17649    method @NonNull public java.util.List<android.permission.PermissionManager.SplitPermissionInfo> getSplitPermissions();
17650    method @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public void grantRuntimePermission(@NonNull String, @NonNull String, @NonNull String);
17651    method @RequiresPermission(android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS) public void revokeRuntimePermission(@NonNull String, @NonNull String, @NonNull String, @Nullable String);
17652    method @RequiresPermission(anyOf={android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY, android.Manifest.permission.UPGRADE_RUNTIME_PERMISSIONS}) public void setRuntimePermissionsVersion(@IntRange(from=0) int);
17653    method @Deprecated @RequiresPermission(android.Manifest.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS) public void startOneTimePermissionSession(@NonNull String, long, int, int);
17654    method @RequiresPermission(android.Manifest.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS) public void startOneTimePermissionSession(@NonNull String, long, long, int, int);
17655    method @RequiresPermission(android.Manifest.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS) public void stopOneTimePermissionSession(@NonNull String);
17656    method @RequiresPermission(anyOf={android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS, android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS}) public void updatePermissionFlags(@NonNull String, @NonNull String, @NonNull String, int, int);
17657    field @RequiresPermission(android.Manifest.permission.START_REVIEW_PERMISSION_DECISIONS) public static final String ACTION_REVIEW_PERMISSION_DECISIONS = "android.permission.action.REVIEW_PERMISSION_DECISIONS";
17658    field public static final String EXTRA_PERMISSION_USAGES = "android.permission.extra.PERMISSION_USAGES";
17659    field public static final int PERMISSION_GRANTED = 0; // 0x0
17660    field public static final int PERMISSION_HARD_DENIED = 2; // 0x2
17661    field public static final int PERMISSION_SOFT_DENIED = 1; // 0x1
17662  }
17663
17664  public static final class PermissionManager.PermissionState implements android.os.Parcelable {
17665    method public int describeContents();
17666    method public int getFlags();
17667    method public boolean isGranted();
17668    method public void writeToParcel(@NonNull android.os.Parcel, int);
17669    field @NonNull public static final android.os.Parcelable.Creator<android.permission.PermissionManager.PermissionState> CREATOR;
17670  }
17671
17672  public static final class PermissionManager.SplitPermissionInfo {
17673    method @NonNull public java.util.List<java.lang.String> getNewPermissions();
17674    method @NonNull public String getSplitPermission();
17675    method public int getTargetSdk();
17676  }
17677
17678  public final class RuntimePermissionPresentationInfo implements android.os.Parcelable {
17679    ctor public RuntimePermissionPresentationInfo(@NonNull CharSequence, boolean, boolean);
17680    method public int describeContents();
17681    method @NonNull public CharSequence getLabel();
17682    method public boolean isGranted();
17683    method public boolean isStandard();
17684    method public void writeToParcel(android.os.Parcel, int);
17685    field @NonNull public static final android.os.Parcelable.Creator<android.permission.RuntimePermissionPresentationInfo> CREATOR;
17686  }
17687
17688  public final class RuntimePermissionUsageInfo implements android.os.Parcelable {
17689    ctor public RuntimePermissionUsageInfo(@NonNull String, int);
17690    method public int describeContents();
17691    method public int getAppAccessCount();
17692    method @NonNull public String getName();
17693    method public void writeToParcel(android.os.Parcel, int);
17694    field @NonNull public static final android.os.Parcelable.Creator<android.permission.RuntimePermissionUsageInfo> CREATOR;
17695  }
17696
17697}
17698
17699package android.permissionpresenterservice {
17700
17701  @Deprecated public abstract class RuntimePermissionPresenterService extends android.app.Service {
17702    ctor @Deprecated public RuntimePermissionPresenterService();
17703    method @Deprecated public final void attachBaseContext(android.content.Context);
17704    method @Deprecated public final android.os.IBinder onBind(android.content.Intent);
17705    method @Deprecated public abstract java.util.List<android.content.pm.permission.RuntimePermissionPresentationInfo> onGetAppPermissions(@NonNull String);
17706    field @Deprecated public static final String SERVICE_INTERFACE = "android.permissionpresenterservice.RuntimePermissionPresenterService";
17707  }
17708
17709}
17710
17711package android.preference {
17712
17713  @Deprecated public class PreferenceManager {
17714    method @Deprecated public boolean isStorageCredentialProtected();
17715    method @Deprecated public void setStorageCredentialProtected();
17716  }
17717
17718}
17719
17720package android.print {
17721
17722  public final class PrintManager {
17723    method @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICE_RECOMMENDATIONS) public void addPrintServiceRecommendationsChangeListener(@NonNull android.print.PrintManager.PrintServiceRecommendationsChangeListener, @Nullable android.os.Handler);
17724    method @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICES) public void addPrintServicesChangeListener(@NonNull android.print.PrintManager.PrintServicesChangeListener, @Nullable android.os.Handler);
17725    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICE_RECOMMENDATIONS) public java.util.List<android.printservice.recommendation.RecommendationInfo> getPrintServiceRecommendations();
17726    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICES) public java.util.List<android.printservice.PrintServiceInfo> getPrintServices(int);
17727    method @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICE_RECOMMENDATIONS) public void removePrintServiceRecommendationsChangeListener(@NonNull android.print.PrintManager.PrintServiceRecommendationsChangeListener);
17728    method @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICES) public void removePrintServicesChangeListener(@NonNull android.print.PrintManager.PrintServicesChangeListener);
17729    field public static final int ENABLED_SERVICES = 1; // 0x1
17730  }
17731
17732  public static interface PrintManager.PrintServiceRecommendationsChangeListener {
17733    method public void onPrintServiceRecommendationsChanged();
17734  }
17735
17736  public static interface PrintManager.PrintServicesChangeListener {
17737    method public void onPrintServicesChanged();
17738  }
17739
17740}
17741
17742package android.printservice {
17743
17744  public final class PrintServiceInfo implements android.os.Parcelable {
17745    method public int describeContents();
17746    method @NonNull public android.content.ComponentName getComponentName();
17747    method public void writeToParcel(android.os.Parcel, int);
17748    field @NonNull public static final android.os.Parcelable.Creator<android.printservice.PrintServiceInfo> CREATOR;
17749  }
17750
17751}
17752
17753package android.printservice.recommendation {
17754
17755  public final class RecommendationInfo implements android.os.Parcelable {
17756    ctor @Deprecated public RecommendationInfo(@NonNull CharSequence, @NonNull CharSequence, @IntRange(from=0) int, boolean);
17757    ctor public RecommendationInfo(@NonNull CharSequence, @NonNull CharSequence, @NonNull java.util.List<java.net.InetAddress>, boolean);
17758    method public int describeContents();
17759    method @NonNull public java.util.List<java.net.InetAddress> getDiscoveredPrinters();
17760    method public CharSequence getName();
17761    method public int getNumDiscoveredPrinters();
17762    method public CharSequence getPackageName();
17763    method public boolean recommendsMultiVendorService();
17764    method public void writeToParcel(android.os.Parcel, int);
17765    field @NonNull public static final android.os.Parcelable.Creator<android.printservice.recommendation.RecommendationInfo> CREATOR;
17766  }
17767
17768  public abstract class RecommendationService extends android.app.Service {
17769    ctor public RecommendationService();
17770    method public final android.os.IBinder onBind(android.content.Intent);
17771    method public abstract void onConnected();
17772    method public abstract void onDisconnected();
17773    method public final void updateRecommendations(@Nullable java.util.List<android.printservice.recommendation.RecommendationInfo>);
17774    field public static final String SERVICE_INTERFACE = "android.printservice.recommendation.RecommendationService";
17775  }
17776
17777}
17778
17779package android.provider {
17780
17781  public class CallLog {
17782    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>);
17783  }
17784
17785  public static class CallLog.CallComposerLoggingException extends java.lang.Throwable {
17786    ctor public CallLog.CallComposerLoggingException(int);
17787    method public int getErrorCode();
17788    field public static final int ERROR_INPUT_CLOSED = 3; // 0x3
17789    field public static final int ERROR_REMOTE_END_CLOSED = 1; // 0x1
17790    field public static final int ERROR_STORAGE_FULL = 2; // 0x2
17791    field public static final int ERROR_UNKNOWN = 0; // 0x0
17792  }
17793
17794  @Deprecated public static final class ContactsContract.MetadataSync implements android.provider.BaseColumns android.provider.ContactsContract.MetadataSyncColumns {
17795    field @Deprecated public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/contact_metadata";
17796    field @Deprecated public static final String CONTENT_TYPE = "vnd.android.cursor.dir/contact_metadata";
17797    field @Deprecated public static final android.net.Uri CONTENT_URI;
17798    field @Deprecated public static final String METADATA_AUTHORITY = "com.android.contacts.metadata";
17799    field @Deprecated public static final android.net.Uri METADATA_AUTHORITY_URI;
17800  }
17801
17802  @Deprecated protected static interface ContactsContract.MetadataSyncColumns {
17803    field @Deprecated public static final String ACCOUNT_NAME = "account_name";
17804    field @Deprecated public static final String ACCOUNT_TYPE = "account_type";
17805    field @Deprecated public static final String DATA = "data";
17806    field @Deprecated public static final String DATA_SET = "data_set";
17807    field @Deprecated public static final String DELETED = "deleted";
17808    field @Deprecated public static final String RAW_CONTACT_BACKUP_ID = "raw_contact_backup_id";
17809  }
17810
17811  @Deprecated public static final class ContactsContract.MetadataSyncState implements android.provider.BaseColumns android.provider.ContactsContract.MetadataSyncStateColumns {
17812    field @Deprecated public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/contact_metadata_sync_state";
17813    field @Deprecated public static final String CONTENT_TYPE = "vnd.android.cursor.dir/contact_metadata_sync_state";
17814    field @Deprecated public static final android.net.Uri CONTENT_URI;
17815  }
17816
17817  @Deprecated protected static interface ContactsContract.MetadataSyncStateColumns {
17818    field @Deprecated public static final String ACCOUNT_NAME = "account_name";
17819    field @Deprecated public static final String ACCOUNT_TYPE = "account_type";
17820    field @Deprecated public static final String DATA_SET = "data_set";
17821    field @Deprecated public static final String STATE = "state";
17822  }
17823
17824  public static final class ContactsContract.Settings implements android.provider.ContactsContract.SettingsColumns {
17825    method @RequiresPermission(android.Manifest.permission.SET_DEFAULT_ACCOUNT_FOR_CONTACTS) public static void setDefaultAccount(@NonNull android.content.ContentResolver, @Nullable android.accounts.Account);
17826  }
17827
17828  public static final class ContactsContract.SimContacts {
17829    method @RequiresPermission("android.contacts.permission.MANAGE_SIM_ACCOUNTS") public static void addSimAccount(@NonNull android.content.ContentResolver, @NonNull String, @NonNull String, int, int);
17830    method @RequiresPermission("android.contacts.permission.MANAGE_SIM_ACCOUNTS") public static void removeSimAccounts(@NonNull android.content.ContentResolver, int);
17831  }
17832
17833  public final class DeviceConfig {
17834    method public static void addOnPropertiesChangedListener(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.provider.DeviceConfig.OnPropertiesChangedListener);
17835    method @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static void clearAllLocalOverrides();
17836    method @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static void clearLocalOverride(@NonNull String, @NonNull String);
17837    method @RequiresPermission(android.Manifest.permission.MONITOR_DEVICE_CONFIG_ACCESS) public static void clearMonitorCallback(@NonNull android.content.ContentResolver);
17838    method @RequiresPermission(anyOf={android.Manifest.permission.WRITE_DEVICE_CONFIG, android.Manifest.permission.WRITE_ALLOWLISTED_DEVICE_CONFIG}) public static boolean deleteProperty(@NonNull String, @NonNull String);
17839    method @NonNull public static java.util.Set<java.lang.String> getAdbWritableFlags();
17840    method @NonNull public static java.util.Set<android.provider.DeviceConfig.Properties> getAllProperties();
17841    method public static boolean getBoolean(@NonNull String, @NonNull String, boolean);
17842    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static float getFloat(@NonNull String, @NonNull String, float);
17843    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static int getInt(@NonNull String, @NonNull String, int);
17844    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static long getLong(@NonNull String, @NonNull String, long);
17845    method @NonNull @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static android.provider.DeviceConfig.Properties getProperties(@NonNull String, @NonNull java.lang.String...);
17846    method @Nullable public static String getProperty(@NonNull String, @NonNull String);
17847    method @NonNull public static java.util.List<java.lang.String> getPublicNamespaces();
17848    method @Nullable @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static String getString(@NonNull String, @NonNull String, @Nullable String);
17849    method @RequiresPermission(anyOf={android.Manifest.permission.WRITE_DEVICE_CONFIG, android.Manifest.permission.READ_WRITE_SYNC_DISABLED_MODE_CONFIG}) public static int getSyncDisabledMode();
17850    method @NonNull public static java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> getUnderlyingValuesForOverriddenFlags();
17851    method public static void removeOnPropertiesChangedListener(@NonNull android.provider.DeviceConfig.OnPropertiesChangedListener);
17852    method @RequiresPermission(anyOf={android.Manifest.permission.WRITE_DEVICE_CONFIG, android.Manifest.permission.WRITE_ALLOWLISTED_DEVICE_CONFIG}) public static void resetToDefaults(int, @Nullable String);
17853    method @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static boolean setLocalOverride(@NonNull String, @NonNull String, @NonNull String);
17854    method @RequiresPermission(android.Manifest.permission.MONITOR_DEVICE_CONFIG_ACCESS) public static void setMonitorCallback(@NonNull android.content.ContentResolver, @NonNull java.util.concurrent.Executor, @NonNull android.provider.DeviceConfig.MonitorCallback);
17855    method @RequiresPermission(anyOf={android.Manifest.permission.WRITE_DEVICE_CONFIG, android.Manifest.permission.WRITE_ALLOWLISTED_DEVICE_CONFIG}) public static boolean setProperties(@NonNull android.provider.DeviceConfig.Properties) throws android.provider.DeviceConfig.BadConfigException;
17856    method @RequiresPermission(anyOf={android.Manifest.permission.WRITE_DEVICE_CONFIG, android.Manifest.permission.WRITE_ALLOWLISTED_DEVICE_CONFIG}) public static boolean setProperty(@NonNull String, @NonNull String, @Nullable String, boolean);
17857    method @RequiresPermission(anyOf={android.Manifest.permission.WRITE_DEVICE_CONFIG, android.Manifest.permission.READ_WRITE_SYNC_DISABLED_MODE_CONFIG}) public static void setSyncDisabledMode(int);
17858    field public static final String NAMESPACE_ACCESSIBILITY = "accessibility";
17859    field public static final String NAMESPACE_ACTIVITY_MANAGER = "activity_manager";
17860    field public static final String NAMESPACE_ACTIVITY_MANAGER_NATIVE_BOOT = "activity_manager_native_boot";
17861    field public static final String NAMESPACE_ADSERVICES = "adservices";
17862    field public static final String NAMESPACE_AMBIENT_CONTEXT_MANAGER_SERVICE = "ambient_context_manager_service";
17863    field public static final String NAMESPACE_ANDROID = "android";
17864    field public static final String NAMESPACE_APPSEARCH = "appsearch";
17865    field public static final String NAMESPACE_APP_COMPAT = "app_compat";
17866    field public static final String NAMESPACE_APP_COMPAT_OVERRIDES = "app_compat_overrides";
17867    field public static final String NAMESPACE_APP_HIBERNATION = "app_hibernation";
17868    field public static final String NAMESPACE_ATTENTION_MANAGER_SERVICE = "attention_manager_service";
17869    field public static final String NAMESPACE_AUTOFILL = "autofill";
17870    field public static final String NAMESPACE_AUTO_PIN_CONFIRMATION = "auto_pin_confirmation";
17871    field public static final String NAMESPACE_BACKUP_AND_RESTORE = "backup_and_restore";
17872    field public static final String NAMESPACE_BATTERY_SAVER = "battery_saver";
17873    field public static final String NAMESPACE_BIOMETRICS = "biometrics";
17874    field public static final String NAMESPACE_BLOBSTORE = "blobstore";
17875    field public static final String NAMESPACE_BLUETOOTH = "bluetooth";
17876    field public static final String NAMESPACE_CAMERA_NATIVE = "camera_native";
17877    field public static final String NAMESPACE_CAPTIVEPORTALLOGIN = "captive_portal_login";
17878    field public static final String NAMESPACE_CELLULAR_SECURITY = "cellular_security";
17879    field public static final String NAMESPACE_CLIPBOARD = "clipboard";
17880    field public static final String NAMESPACE_CONNECTIVITY = "connectivity";
17881    field public static final String NAMESPACE_CONSTRAIN_DISPLAY_APIS = "constrain_display_apis";
17882    field public static final String NAMESPACE_CONTENT_CAPTURE = "content_capture";
17883    field public static final String NAMESPACE_CORE_EXPERIMENTS_TEAM_INTERNAL = "core_experiments_team_internal";
17884    field public static final String NAMESPACE_CREDENTIAL = "credential_manager";
17885    field @Deprecated public static final String NAMESPACE_DEX_BOOT = "dex_boot";
17886    field public static final String NAMESPACE_DISPLAY_MANAGER = "display_manager";
17887    field public static final String NAMESPACE_EDGETPU_NATIVE = "edgetpu_native";
17888    field public static final String NAMESPACE_GAME_DRIVER = "game_driver";
17889    field public static final String NAMESPACE_HDMI_CONTROL = "hdmi_control";
17890    field public static final String NAMESPACE_HEALTH_FITNESS = "health_fitness";
17891    field public static final String NAMESPACE_INPUT_METHOD_MANAGER = "input_method_manager";
17892    field public static final String NAMESPACE_INPUT_NATIVE_BOOT = "input_native_boot";
17893    field public static final String NAMESPACE_INTELLIGENCE_ATTENTION = "intelligence_attention";
17894    field public static final String NAMESPACE_JOB_SCHEDULER = "jobscheduler";
17895    field public static final String NAMESPACE_LMKD_NATIVE = "lmkd_native";
17896    field public static final String NAMESPACE_LOCATION = "location";
17897    field public static final String NAMESPACE_MEDIA = "media";
17898    field public static final String NAMESPACE_MEDIA_NATIVE = "media_native";
17899    field public static final String NAMESPACE_NEARBY = "nearby";
17900    field public static final String NAMESPACE_NETD_NATIVE = "netd_native";
17901    field public static final String NAMESPACE_NFC = "nfc";
17902    field public static final String NAMESPACE_NNAPI_NATIVE = "nnapi_native";
17903    field public static final String NAMESPACE_ON_DEVICE_PERSONALIZATION = "on_device_personalization";
17904    field public static final String NAMESPACE_OTA = "ota";
17905    field public static final String NAMESPACE_PACKAGE_MANAGER_SERVICE = "package_manager_service";
17906    field public static final String NAMESPACE_PERMISSIONS = "permissions";
17907    field public static final String NAMESPACE_PRIVACY = "privacy";
17908    field public static final String NAMESPACE_PROFCOLLECT_NATIVE_BOOT = "profcollect_native_boot";
17909    field public static final String NAMESPACE_REBOOT_READINESS = "reboot_readiness";
17910    field public static final String NAMESPACE_REMOTE_AUTH = "remote_auth";
17911    field public static final String NAMESPACE_ROLLBACK = "rollback";
17912    field public static final String NAMESPACE_ROLLBACK_BOOT = "rollback_boot";
17913    field public static final String NAMESPACE_RUNTIME = "runtime";
17914    field public static final String NAMESPACE_RUNTIME_NATIVE = "runtime_native";
17915    field public static final String NAMESPACE_RUNTIME_NATIVE_BOOT = "runtime_native_boot";
17916    field public static final String NAMESPACE_SCHEDULER = "scheduler";
17917    field public static final String NAMESPACE_SDK_SANDBOX = "sdk_sandbox";
17918    field public static final String NAMESPACE_SELECTION_TOOLBAR = "selection_toolbar";
17919    field public static final String NAMESPACE_STATSD_JAVA = "statsd_java";
17920    field public static final String NAMESPACE_STATSD_JAVA_BOOT = "statsd_java_boot";
17921    field public static final String NAMESPACE_STATSD_NATIVE = "statsd_native";
17922    field public static final String NAMESPACE_STATSD_NATIVE_BOOT = "statsd_native_boot";
17923    field @Deprecated public static final String NAMESPACE_STORAGE = "storage";
17924    field public static final String NAMESPACE_STORAGE_NATIVE_BOOT = "storage_native_boot";
17925    field public static final String NAMESPACE_SURFACE_FLINGER_NATIVE_BOOT = "surface_flinger_native_boot";
17926    field public static final String NAMESPACE_SWCODEC_NATIVE = "swcodec_native";
17927    field public static final String NAMESPACE_SYSTEMUI = "systemui";
17928    field public static final String NAMESPACE_SYSTEM_TIME = "system_time";
17929    field public static final String NAMESPACE_TELEPHONY = "telephony";
17930    field public static final String NAMESPACE_TETHERING = "tethering";
17931    field public static final String NAMESPACE_TEXTCLASSIFIER = "textclassifier";
17932    field public static final String NAMESPACE_UWB = "uwb";
17933    field public static final String NAMESPACE_WEARABLE_SENSING = "wearable_sensing";
17934    field public static final String NAMESPACE_WINDOW_MANAGER_NATIVE_BOOT = "window_manager_native_boot";
17935    field public static final int SYNC_DISABLED_MODE_NONE = 0; // 0x0
17936    field public static final int SYNC_DISABLED_MODE_PERSISTENT = 1; // 0x1
17937    field public static final int SYNC_DISABLED_MODE_UNTIL_REBOOT = 2; // 0x2
17938  }
17939
17940  public static class DeviceConfig.BadConfigException extends java.lang.Exception {
17941    ctor public DeviceConfig.BadConfigException();
17942  }
17943
17944  public static interface DeviceConfig.MonitorCallback {
17945    method public void onDeviceConfigAccess(@NonNull String, @NonNull String);
17946    method public void onNamespaceUpdate(@NonNull String);
17947  }
17948
17949  public static interface DeviceConfig.OnPropertiesChangedListener {
17950    method public void onPropertiesChanged(@NonNull android.provider.DeviceConfig.Properties);
17951  }
17952
17953  public static class DeviceConfig.Properties {
17954    method public boolean getBoolean(@NonNull String, boolean);
17955    method public float getFloat(@NonNull String, float);
17956    method public int getInt(@NonNull String, int);
17957    method @NonNull public java.util.Set<java.lang.String> getKeyset();
17958    method public long getLong(@NonNull String, long);
17959    method @NonNull public String getNamespace();
17960    method @Nullable public String getString(@NonNull String, @Nullable String);
17961  }
17962
17963  public static final class DeviceConfig.Properties.Builder {
17964    ctor public DeviceConfig.Properties.Builder(@NonNull String);
17965    method @NonNull public android.provider.DeviceConfig.Properties build();
17966    method @NonNull public android.provider.DeviceConfig.Properties.Builder setBoolean(@NonNull String, boolean);
17967    method @NonNull public android.provider.DeviceConfig.Properties.Builder setFloat(@NonNull String, float);
17968    method @NonNull public android.provider.DeviceConfig.Properties.Builder setInt(@NonNull String, int);
17969    method @NonNull public android.provider.DeviceConfig.Properties.Builder setLong(@NonNull String, long);
17970    method @NonNull public android.provider.DeviceConfig.Properties.Builder setString(@NonNull String, @Nullable String);
17971  }
17972
17973  public final class DocumentsContract {
17974    method @NonNull public static android.net.Uri buildDocumentUriAsUser(@NonNull String, @NonNull String, @NonNull android.os.UserHandle);
17975    method public static boolean isManageMode(@NonNull android.net.Uri);
17976    method @NonNull public static android.net.Uri setManageMode(@NonNull android.net.Uri);
17977    field public static final String ACTION_DOCUMENT_ROOT_SETTINGS = "android.provider.action.DOCUMENT_ROOT_SETTINGS";
17978    field public static final String ACTION_MANAGE_DOCUMENT = "android.provider.action.MANAGE_DOCUMENT";
17979    field public static final String DOWNLOADS_PROVIDER_AUTHORITY = "downloads";
17980    field public static final String EXTERNAL_STORAGE_PROVIDER_AUTHORITY = "com.android.externalstorage.documents";
17981    field public static final String EXTRA_SHOW_ADVANCED = "android.provider.extra.SHOW_ADVANCED";
17982  }
17983
17984  public static final class DocumentsContract.Root {
17985    field public static final int FLAG_ADVANCED = 65536; // 0x10000
17986    field public static final int FLAG_HAS_SETTINGS = 131072; // 0x20000
17987    field public static final int FLAG_REMOVABLE_SD = 262144; // 0x40000
17988    field public static final int FLAG_REMOVABLE_USB = 524288; // 0x80000
17989  }
17990
17991  public final class E2eeContactKeysManager {
17992    method @RequiresPermission(allOf={android.Manifest.permission.WRITE_VERIFICATION_STATE_E2EE_CONTACT_KEYS, android.Manifest.permission.WRITE_CONTACTS}) public boolean updateE2eeContactKeyLocalVerificationState(@NonNull String, @NonNull String, @NonNull String, @NonNull String, int);
17993    method @RequiresPermission(allOf={android.Manifest.permission.WRITE_VERIFICATION_STATE_E2EE_CONTACT_KEYS, android.Manifest.permission.WRITE_CONTACTS}) public boolean updateE2eeContactKeyRemoteVerificationState(@NonNull String, @NonNull String, @NonNull String, @NonNull String, int);
17994    method @RequiresPermission(allOf={android.Manifest.permission.WRITE_VERIFICATION_STATE_E2EE_CONTACT_KEYS, android.Manifest.permission.WRITE_CONTACTS}) public boolean updateE2eeSelfKeyRemoteVerificationState(@NonNull String, @NonNull String, @NonNull String, int);
17995  }
17996
17997  public final class MediaStore {
17998    method @NonNull public static android.net.Uri rewriteToLegacy(@NonNull android.net.Uri);
17999    method @NonNull @WorkerThread public static android.net.Uri scanFile(@NonNull android.content.ContentResolver, @NonNull java.io.File);
18000    method @WorkerThread public static void scanVolume(@NonNull android.content.ContentResolver, @NonNull String);
18001    method @WorkerThread public static void waitForIdle(@NonNull android.content.ContentResolver);
18002    field public static final String ACTION_USER_SELECT_IMAGES_FOR_APP = "android.provider.action.USER_SELECT_IMAGES_FOR_APP";
18003    field public static final String AUTHORITY_LEGACY = "media_legacy";
18004    field @NonNull public static final android.net.Uri AUTHORITY_LEGACY_URI;
18005    field public static final String QUERY_ARG_DEFER_SCAN = "android:query-arg-defer-scan";
18006  }
18007
18008  public abstract class SearchIndexableData {
18009    ctor public SearchIndexableData();
18010    ctor public SearchIndexableData(android.content.Context);
18011    field public String className;
18012    field public android.content.Context context;
18013    field public boolean enabled;
18014    field public int iconResId;
18015    field public String intentAction;
18016    field public String intentTargetClass;
18017    field public String intentTargetPackage;
18018    field public String key;
18019    field public java.util.Locale locale;
18020    field public String packageName;
18021    field public int rank;
18022    field public int userId;
18023  }
18024
18025  public class SearchIndexableResource extends android.provider.SearchIndexableData {
18026    ctor public SearchIndexableResource(android.content.Context);
18027    ctor public SearchIndexableResource(int, int, String, int);
18028    field public int xmlResId;
18029  }
18030
18031  public class SearchIndexablesContract {
18032    ctor public SearchIndexablesContract();
18033    field public static final int COLUMN_INDEX_NON_INDEXABLE_KEYS_KEY_VALUE = 0; // 0x0
18034    field public static final int COLUMN_INDEX_RAW_CLASS_NAME = 7; // 0x7
18035    field public static final int COLUMN_INDEX_RAW_ENTRIES = 4; // 0x4
18036    field public static final int COLUMN_INDEX_RAW_ICON_RESID = 8; // 0x8
18037    field public static final int COLUMN_INDEX_RAW_INTENT_ACTION = 9; // 0x9
18038    field public static final int COLUMN_INDEX_RAW_INTENT_TARGET_CLASS = 11; // 0xb
18039    field public static final int COLUMN_INDEX_RAW_INTENT_TARGET_PACKAGE = 10; // 0xa
18040    field public static final int COLUMN_INDEX_RAW_KEY = 12; // 0xc
18041    field public static final int COLUMN_INDEX_RAW_KEYWORDS = 5; // 0x5
18042    field public static final int COLUMN_INDEX_RAW_RANK = 0; // 0x0
18043    field public static final int COLUMN_INDEX_RAW_SCREEN_TITLE = 6; // 0x6
18044    field public static final int COLUMN_INDEX_RAW_SUMMARY_OFF = 3; // 0x3
18045    field public static final int COLUMN_INDEX_RAW_SUMMARY_ON = 2; // 0x2
18046    field public static final int COLUMN_INDEX_RAW_TITLE = 1; // 0x1
18047    field public static final int COLUMN_INDEX_RAW_USER_ID = 13; // 0xd
18048    field public static final int COLUMN_INDEX_XML_RES_CLASS_NAME = 2; // 0x2
18049    field public static final int COLUMN_INDEX_XML_RES_ICON_RESID = 3; // 0x3
18050    field public static final int COLUMN_INDEX_XML_RES_INTENT_ACTION = 4; // 0x4
18051    field public static final int COLUMN_INDEX_XML_RES_INTENT_TARGET_CLASS = 6; // 0x6
18052    field public static final int COLUMN_INDEX_XML_RES_INTENT_TARGET_PACKAGE = 5; // 0x5
18053    field public static final int COLUMN_INDEX_XML_RES_RANK = 0; // 0x0
18054    field public static final int COLUMN_INDEX_XML_RES_RESID = 1; // 0x1
18055    field public static final String DYNAMIC_INDEXABLES_RAW = "dynamic_indexables_raw";
18056    field public static final String DYNAMIC_INDEXABLES_RAW_PATH = "settings/dynamic_indexables_raw";
18057    field public static final String INDEXABLES_RAW = "indexables_raw";
18058    field public static final String[] INDEXABLES_RAW_COLUMNS;
18059    field public static final String INDEXABLES_RAW_PATH = "settings/indexables_raw";
18060    field public static final String INDEXABLES_XML_RES = "indexables_xml_res";
18061    field public static final String[] INDEXABLES_XML_RES_COLUMNS;
18062    field public static final String INDEXABLES_XML_RES_PATH = "settings/indexables_xml_res";
18063    field public static final String NON_INDEXABLES_KEYS = "non_indexables_key";
18064    field public static final String[] NON_INDEXABLES_KEYS_COLUMNS;
18065    field public static final String NON_INDEXABLES_KEYS_PATH = "settings/non_indexables_key";
18066    field public static final String PROVIDER_INTERFACE = "android.content.action.SEARCH_INDEXABLES_PROVIDER";
18067    field public static final String SLICE_URI_PAIRS = "slice_uri_pairs";
18068    field @NonNull public static final String[] SLICE_URI_PAIRS_COLUMNS;
18069    field public static final String SLICE_URI_PAIRS_PATH = "settings/slice_uri_pairs";
18070  }
18071
18072  public static class SearchIndexablesContract.BaseColumns {
18073    field public static final String COLUMN_CLASS_NAME = "className";
18074    field public static final String COLUMN_ICON_RESID = "iconResId";
18075    field public static final String COLUMN_INTENT_ACTION = "intentAction";
18076    field public static final String COLUMN_INTENT_TARGET_CLASS = "intentTargetClass";
18077    field public static final String COLUMN_INTENT_TARGET_PACKAGE = "intentTargetPackage";
18078    field public static final String COLUMN_RANK = "rank";
18079  }
18080
18081  public static final class SearchIndexablesContract.NonIndexableKey extends android.provider.SearchIndexablesContract.BaseColumns {
18082    field public static final String COLUMN_KEY_VALUE = "key";
18083    field public static final String MIME_TYPE = "vnd.android.cursor.dir/non_indexables_key";
18084  }
18085
18086  public static final class SearchIndexablesContract.RawData extends android.provider.SearchIndexablesContract.BaseColumns {
18087    field public static final String COLUMN_ENTRIES = "entries";
18088    field public static final String COLUMN_KEY = "key";
18089    field public static final String COLUMN_KEYWORDS = "keywords";
18090    field public static final String COLUMN_SCREEN_TITLE = "screenTitle";
18091    field public static final String COLUMN_SUMMARY_OFF = "summaryOff";
18092    field public static final String COLUMN_SUMMARY_ON = "summaryOn";
18093    field public static final String COLUMN_TITLE = "title";
18094    field public static final String COLUMN_USER_ID = "user_id";
18095    field public static final String MIME_TYPE = "vnd.android.cursor.dir/indexables_raw";
18096  }
18097
18098  public static final class SearchIndexablesContract.SliceUriPairColumns {
18099    field public static final String KEY = "key";
18100    field public static final String SLICE_URI = "slice_uri";
18101  }
18102
18103  public static final class SearchIndexablesContract.XmlResource extends android.provider.SearchIndexablesContract.BaseColumns {
18104    field public static final String COLUMN_XML_RESID = "xmlResId";
18105    field public static final String MIME_TYPE = "vnd.android.cursor.dir/indexables_xml_res";
18106  }
18107
18108  public abstract class SearchIndexablesProvider extends android.content.ContentProvider {
18109    ctor public SearchIndexablesProvider();
18110    method public final int delete(android.net.Uri, String, String[]);
18111    method public String getType(android.net.Uri);
18112    method public final android.net.Uri insert(android.net.Uri, android.content.ContentValues);
18113    method public android.database.Cursor query(android.net.Uri, String[], String, String[], String);
18114    method @Nullable public android.database.Cursor queryDynamicRawData(@Nullable String[]);
18115    method public abstract android.database.Cursor queryNonIndexableKeys(String[]);
18116    method public abstract android.database.Cursor queryRawData(String[]);
18117    method @Nullable public android.database.Cursor querySliceUriPairs();
18118    method public abstract android.database.Cursor queryXmlResources(String[]);
18119    method public final int update(android.net.Uri, android.content.ContentValues, String, String[]);
18120  }
18121
18122  public final class Settings {
18123    method @Deprecated public static boolean checkAndNoteWriteSettingsOperation(@NonNull android.content.Context, int, @NonNull String, boolean);
18124    method public static boolean checkAndNoteWriteSettingsOperation(@NonNull android.content.Context, int, @NonNull String, @Nullable String, boolean);
18125    field public static final String ACTION_ACCESSIBILITY_DETAILS_SETTINGS = "android.settings.ACCESSIBILITY_DETAILS_SETTINGS";
18126    field @RequiresPermission(android.Manifest.permission.LAUNCH_PERMISSION_SETTINGS) public static final String ACTION_APP_PERMISSIONS_SETTINGS = "android.settings.APP_PERMISSIONS_SETTINGS";
18127    field public static final String ACTION_BEDTIME_SETTINGS = "android.settings.BEDTIME_SETTINGS";
18128    field public static final String ACTION_BUGREPORT_HANDLER_SETTINGS = "android.settings.BUGREPORT_HANDLER_SETTINGS";
18129    field public static final String ACTION_ENTERPRISE_PRIVACY_SETTINGS = "android.settings.ENTERPRISE_PRIVACY_SETTINGS";
18130    field public static final String ACTION_LOCATION_CONTROLLER_EXTRA_PACKAGE_SETTINGS = "android.settings.LOCATION_CONTROLLER_EXTRA_PACKAGE_SETTINGS";
18131    field public static final String ACTION_MANAGE_APP_OVERLAY_PERMISSION = "android.settings.MANAGE_APP_OVERLAY_PERMISSION";
18132    field public static final String ACTION_MANAGE_DOMAIN_URLS = "android.settings.MANAGE_DOMAIN_URLS";
18133    field public static final String ACTION_MANAGE_MORE_DEFAULT_APPS_SETTINGS = "android.settings.MANAGE_MORE_DEFAULT_APPS_SETTINGS";
18134    field public static final String ACTION_NOTIFICATION_POLICY_ACCESS_DETAIL_SETTINGS = "android.settings.NOTIFICATION_POLICY_ACCESS_DETAIL_SETTINGS";
18135    field public static final String ACTION_REQUEST_ENABLE_CONTENT_CAPTURE = "android.settings.REQUEST_ENABLE_CONTENT_CAPTURE";
18136    field public static final String ACTION_SHOW_ADMIN_SUPPORT_DETAILS = "android.settings.SHOW_ADMIN_SUPPORT_DETAILS";
18137    field public static final String ACTION_SHOW_RESTRICTED_SETTING_DIALOG = "android.settings.SHOW_RESTRICTED_SETTING_DIALOG";
18138    field public static final String ACTION_TETHER_PROVISIONING_UI = "android.settings.TETHER_PROVISIONING_UI";
18139    field public static final String ACTION_TETHER_SETTINGS = "android.settings.TETHER_SETTINGS";
18140    field public static final String ACTION_TETHER_UNSUPPORTED_CARRIER_UI = "android.settings.TETHER_UNSUPPORTED_CARRIER_UI";
18141    field public static final String ACTION_USER_SETTINGS = "android.settings.USER_SETTINGS";
18142  }
18143
18144  public static final class Settings.Global extends android.provider.Settings.NameValueTable {
18145    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public static boolean putString(@NonNull android.content.ContentResolver, @NonNull String, @Nullable String, @Nullable String, boolean);
18146    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public static void resetToDefaults(@NonNull android.content.ContentResolver, @Nullable String);
18147    field public static final String AIRPLANE_MODE_TOGGLEABLE_RADIOS = "airplane_mode_toggleable_radios";
18148    field public static final String APP_STANDBY_ENABLED = "app_standby_enabled";
18149    field @Deprecated public static final String AUTOFILL_COMPAT_MODE_ALLOWED_PACKAGES = "autofill_compat_mode_allowed_packages";
18150    field public static final String CARRIER_APP_NAMES = "carrier_app_names";
18151    field public static final String CARRIER_APP_WHITELIST = "carrier_app_whitelist";
18152    field public static final String DEFAULT_SM_DP_PLUS = "default_sm_dp_plus";
18153    field public static final String DEVICE_DEMO_MODE = "device_demo_mode";
18154    field public static final String DEVICE_PROVISIONING_MOBILE_DATA_ENABLED = "device_provisioning_mobile_data";
18155    field public static final String EUICC_PROVISIONED = "euicc_provisioned";
18156    field public static final String EUICC_SUPPORTED_COUNTRIES = "euicc_supported_countries";
18157    field public static final String EUICC_UNSUPPORTED_COUNTRIES = "euicc_unsupported_countries";
18158    field public static final String INSTALL_CARRIER_APP_NOTIFICATION_PERSISTENT = "install_carrier_app_notification_persistent";
18159    field public static final String INSTALL_CARRIER_APP_NOTIFICATION_SLEEP_MILLIS = "install_carrier_app_notification_sleep_millis";
18160    field public static final String OTA_DISABLE_AUTOMATIC_UPDATE = "ota_disable_automatic_update";
18161    field public static final String REQUIRE_PASSWORD_TO_DECRYPT = "require_password_to_decrypt";
18162    field public static final String TETHER_OFFLOAD_DISABLED = "tether_offload_disabled";
18163    field public static final String TETHER_SUPPORTED = "tether_supported";
18164    field public static final String THEATER_MODE_ON = "theater_mode_on";
18165    field public static final String WEBVIEW_MULTIPROCESS = "webview_multiprocess";
18166    field public static final String WIFI_BADGING_THRESHOLDS = "wifi_badging_thresholds";
18167    field @Deprecated public static final String WIFI_WAKEUP_ENABLED = "wifi_wakeup_enabled";
18168  }
18169
18170  public static final class Settings.Secure extends android.provider.Settings.NameValueTable {
18171    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public static boolean putString(@NonNull android.content.ContentResolver, @NonNull String, @Nullable String, @Nullable String, boolean);
18172    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public static void resetToDefaults(@NonNull android.content.ContentResolver, @Nullable String);
18173    field @Deprecated public static final String ACCESSIBILITY_DISPLAY_MAGNIFICATION_NAVBAR_ENABLED = "accessibility_display_magnification_navbar_enabled";
18174    field public static final String ASSIST_GESTURE_SETUP_COMPLETE = "assist_gesture_setup_complete";
18175    field public static final String AUTOFILL_FEATURE_FIELD_CLASSIFICATION = "autofill_field_classification";
18176    field public static final String AUTOFILL_USER_DATA_MAX_CATEGORY_COUNT = "autofill_user_data_max_category_count";
18177    field public static final String AUTOFILL_USER_DATA_MAX_FIELD_CLASSIFICATION_IDS_SIZE = "autofill_user_data_max_field_classification_size";
18178    field public static final String AUTOFILL_USER_DATA_MAX_USER_DATA_SIZE = "autofill_user_data_max_user_data_size";
18179    field public static final String AUTOFILL_USER_DATA_MAX_VALUE_LENGTH = "autofill_user_data_max_value_length";
18180    field public static final String AUTOFILL_USER_DATA_MIN_VALUE_LENGTH = "autofill_user_data_min_value_length";
18181    field public static final String AUTO_REVOKE_DISABLED = "auto_revoke_disabled";
18182    field public static final String COMPLETED_CATEGORY_PREFIX = "suggested.completed_category.";
18183    field public static final String DOZE_ALWAYS_ON = "doze_always_on";
18184    field public static final String HUSH_GESTURE_USED = "hush_gesture_used";
18185    field public static final String INSTANT_APPS_ENABLED = "instant_apps_enabled";
18186    field public static final String LAST_SETUP_SHOWN = "last_setup_shown";
18187    field @Deprecated public static final String LOCATION_ACCESS_CHECK_DELAY_MILLIS = "location_access_check_delay_millis";
18188    field @Deprecated public static final String LOCATION_ACCESS_CHECK_INTERVAL_MILLIS = "location_access_check_interval_millis";
18189    field public static final int LOCATION_MODE_ON = 3; // 0x3
18190    field @Deprecated public static final String LOCATION_PERMISSIONS_UPGRADE_TO_Q_MODE = "location_permissions_upgrade_to_q_mode";
18191    field public static final String LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS = "lock_screen_allow_private_notifications";
18192    field public static final String LOCK_SCREEN_SHOW_NOTIFICATIONS = "lock_screen_show_notifications";
18193    field public static final String ODI_CAPTIONS_ENABLED = "odi_captions_enabled";
18194    field public static final String THEME_CUSTOMIZATION_OVERLAY_PACKAGES = "theme_customization_overlay_packages";
18195    field public static final String UI_TRANSLATION_ENABLED = "ui_translation_enabled";
18196    field public static final String USER_SETUP_COMPLETE = "user_setup_complete";
18197    field public static final int USER_SETUP_PERSONALIZATION_COMPLETE = 10; // 0xa
18198    field public static final int USER_SETUP_PERSONALIZATION_NOT_STARTED = 0; // 0x0
18199    field public static final int USER_SETUP_PERSONALIZATION_PAUSED = 2; // 0x2
18200    field public static final int USER_SETUP_PERSONALIZATION_STARTED = 1; // 0x1
18201    field public static final String USER_SETUP_PERSONALIZATION_STATE = "user_setup_personalization_state";
18202    field public static final String VOLUME_HUSH_GESTURE = "volume_hush_gesture";
18203    field public static final int VOLUME_HUSH_MUTE = 2; // 0x2
18204    field public static final int VOLUME_HUSH_OFF = 0; // 0x0
18205    field public static final int VOLUME_HUSH_VIBRATE = 1; // 0x1
18206  }
18207
18208  public static final class Settings.System extends android.provider.Settings.NameValueTable {
18209    method @RequiresPermission(android.Manifest.permission.MODIFY_SETTINGS_OVERRIDEABLE_BY_RESTORE) public static boolean putString(@NonNull android.content.ContentResolver, @NonNull String, @Nullable String, boolean);
18210    method @RequiresPermission(android.Manifest.permission.MODIFY_SETTINGS_OVERRIDEABLE_BY_RESTORE) public static boolean putString(@NonNull android.content.ContentResolver, @NonNull String, @Nullable String, boolean, boolean);
18211    method public static void resetToDefaults(@NonNull android.content.ContentResolver, @Nullable String);
18212  }
18213
18214  public static final class SimPhonebookContract.SimRecords {
18215    field public static final String QUERY_ARG_PIN2 = "android:query-arg-pin2";
18216  }
18217
18218  public static final class Telephony.Carriers implements android.provider.BaseColumns {
18219    field public static final String APN_SET_ID = "apn_set_id";
18220    field public static final int CARRIER_EDITED = 4; // 0x4
18221    field public static final String EDITED_STATUS = "edited";
18222    field public static final int MATCH_ALL_APN_SET_ID = -1; // 0xffffffff
18223    field public static final String MAX_CONNECTIONS = "max_conns";
18224    field public static final String MODEM_PERSIST = "modem_cognitive";
18225    field @Deprecated public static final String MTU = "mtu";
18226    field public static final int NO_APN_SET_ID = 0; // 0x0
18227    field public static final String TIME_LIMIT_FOR_MAX_CONNECTIONS = "max_conns_time";
18228    field public static final int UNEDITED = 0; // 0x0
18229    field public static final int USER_DELETED = 2; // 0x2
18230    field public static final int USER_EDITED = 1; // 0x1
18231    field public static final String WAIT_TIME_RETRY = "wait_time";
18232  }
18233
18234  public static final class Telephony.CellBroadcasts implements android.provider.BaseColumns {
18235    field @NonNull public static final String AUTHORITY_LEGACY = "cellbroadcast-legacy";
18236    field @NonNull public static final android.net.Uri AUTHORITY_LEGACY_URI;
18237    field @NonNull public static final String CALL_METHOD_GET_PREFERENCE = "get_preference";
18238    field public static final String CID = "cid";
18239    field public static final String CMAS_CATEGORY = "cmas_category";
18240    field public static final String CMAS_CERTAINTY = "cmas_certainty";
18241    field public static final String CMAS_MESSAGE_CLASS = "cmas_message_class";
18242    field public static final String CMAS_RESPONSE_TYPE = "cmas_response_type";
18243    field public static final String CMAS_SEVERITY = "cmas_severity";
18244    field public static final String CMAS_URGENCY = "cmas_urgency";
18245    field @NonNull public static final android.net.Uri CONTENT_URI;
18246    field public static final String DATA_CODING_SCHEME = "dcs";
18247    field public static final String DEFAULT_SORT_ORDER = "date DESC";
18248    field public static final String DELIVERY_TIME = "date";
18249    field public static final String ETWS_IS_PRIMARY = "etws_is_primary";
18250    field public static final String ETWS_WARNING_TYPE = "etws_warning_type";
18251    field public static final String GEOGRAPHICAL_SCOPE = "geo_scope";
18252    field public static final String GEOMETRIES = "geometries";
18253    field public static final String LAC = "lac";
18254    field public static final String LANGUAGE_CODE = "language";
18255    field public static final String LOCATION_CHECK_TIME = "location_check_time";
18256    field public static final String MAXIMUM_WAIT_TIME = "maximum_wait_time";
18257    field public static final String MESSAGE_BODY = "body";
18258    field public static final String MESSAGE_BROADCASTED = "message_broadcasted";
18259    field public static final String MESSAGE_DISPLAYED = "message_displayed";
18260    field public static final String MESSAGE_FORMAT = "format";
18261    field @NonNull @RequiresPermission(android.Manifest.permission.READ_CELL_BROADCASTS) public static final android.net.Uri MESSAGE_HISTORY_URI;
18262    field public static final String MESSAGE_PRIORITY = "priority";
18263    field public static final String MESSAGE_READ = "read";
18264    field public static final String PLMN = "plmn";
18265    field public static final String RECEIVED_TIME = "received_time";
18266    field public static final String SERIAL_NUMBER = "serial_number";
18267    field public static final String SERVICE_CATEGORY = "service_category";
18268    field public static final String SLOT_INDEX = "slot_index";
18269    field public static final String SUBSCRIPTION_ID = "sub_id";
18270  }
18271
18272  public static final class Telephony.CellBroadcasts.Preference {
18273    field @NonNull public static final String ENABLE_ALERT_VIBRATION_PREF = "enable_alert_vibrate";
18274    field @NonNull public static final String ENABLE_AREA_UPDATE_INFO_PREF = "enable_area_update_info_alerts";
18275    field @NonNull public static final String ENABLE_CMAS_AMBER_PREF = "enable_cmas_amber_alerts";
18276    field @NonNull public static final String ENABLE_CMAS_EXTREME_THREAT_PREF = "enable_cmas_extreme_threat_alerts";
18277    field @NonNull public static final String ENABLE_CMAS_IN_SECOND_LANGUAGE_PREF = "receive_cmas_in_second_language";
18278    field @NonNull public static final String ENABLE_CMAS_PRESIDENTIAL_PREF = "enable_cmas_presidential_alerts";
18279    field @NonNull public static final String ENABLE_CMAS_SEVERE_THREAT_PREF = "enable_cmas_severe_threat_alerts";
18280    field @NonNull public static final String ENABLE_EMERGENCY_PERF = "enable_emergency_alerts";
18281    field @NonNull public static final String ENABLE_PUBLIC_SAFETY_PREF = "enable_public_safety_messages";
18282    field @NonNull public static final String ENABLE_STATE_LOCAL_TEST_PREF = "enable_state_local_test_alerts";
18283    field @NonNull public static final String ENABLE_TEST_ALERT_PREF = "enable_test_alerts";
18284  }
18285
18286  public static final class Telephony.Sms.Intents {
18287    field public static final String ACTION_SMS_EMERGENCY_CB_RECEIVED = "android.provider.action.SMS_EMERGENCY_CB_RECEIVED";
18288  }
18289
18290  public final class TimeZoneRulesDataContract {
18291    field public static final String AUTHORITY = "com.android.timezone";
18292  }
18293
18294  public static final class TimeZoneRulesDataContract.Operation {
18295    field public static final String COLUMN_DISTRO_MAJOR_VERSION = "distro_major_version";
18296    field public static final String COLUMN_DISTRO_MINOR_VERSION = "distro_minor_version";
18297    field public static final String COLUMN_REVISION = "revision";
18298    field public static final String COLUMN_RULES_VERSION = "rules_version";
18299    field public static final String COLUMN_TYPE = "type";
18300    field public static final android.net.Uri CONTENT_URI;
18301    field public static final String TYPE_INSTALL = "INSTALL";
18302    field public static final String TYPE_NO_OP = "NOOP";
18303    field public static final String TYPE_UNINSTALL = "UNINSTALL";
18304  }
18305
18306  public final class UpdatableDeviceConfigServiceReadiness {
18307    method public static boolean shouldStartUpdatableService();
18308  }
18309
18310}
18311
18312package android.safetycenter {
18313
18314  public final class SafetyCenterData implements android.os.Parcelable {
18315    ctor public SafetyCenterData(@NonNull android.safetycenter.SafetyCenterStatus, @NonNull java.util.List<android.safetycenter.SafetyCenterIssue>, @NonNull java.util.List<android.safetycenter.SafetyCenterEntryOrGroup>, @NonNull java.util.List<android.safetycenter.SafetyCenterStaticEntryGroup>);
18316    method public int describeContents();
18317    method @NonNull public java.util.List<android.safetycenter.SafetyCenterIssue> getDismissedIssues();
18318    method @NonNull public java.util.List<android.safetycenter.SafetyCenterEntryOrGroup> getEntriesOrGroups();
18319    method @NonNull public android.os.Bundle getExtras();
18320    method @NonNull public java.util.List<android.safetycenter.SafetyCenterIssue> getIssues();
18321    method @NonNull public java.util.List<android.safetycenter.SafetyCenterStaticEntryGroup> getStaticEntryGroups();
18322    method @NonNull public android.safetycenter.SafetyCenterStatus getStatus();
18323    method public void writeToParcel(@NonNull android.os.Parcel, int);
18324    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterData> CREATOR;
18325  }
18326
18327  public static final class SafetyCenterData.Builder {
18328    ctor public SafetyCenterData.Builder(@NonNull android.safetycenter.SafetyCenterData);
18329    ctor public SafetyCenterData.Builder(@NonNull android.safetycenter.SafetyCenterStatus);
18330    method @NonNull public android.safetycenter.SafetyCenterData.Builder addDismissedIssue(@NonNull android.safetycenter.SafetyCenterIssue);
18331    method @NonNull public android.safetycenter.SafetyCenterData.Builder addEntryOrGroup(@NonNull android.safetycenter.SafetyCenterEntryOrGroup);
18332    method @NonNull public android.safetycenter.SafetyCenterData.Builder addIssue(@NonNull android.safetycenter.SafetyCenterIssue);
18333    method @NonNull public android.safetycenter.SafetyCenterData.Builder addStaticEntryGroup(@NonNull android.safetycenter.SafetyCenterStaticEntryGroup);
18334    method @NonNull public android.safetycenter.SafetyCenterData build();
18335    method @NonNull public android.safetycenter.SafetyCenterData.Builder clearDismissedIssues();
18336    method @NonNull public android.safetycenter.SafetyCenterData.Builder clearEntriesOrGroups();
18337    method @NonNull public android.safetycenter.SafetyCenterData.Builder clearExtras();
18338    method @NonNull public android.safetycenter.SafetyCenterData.Builder clearIssues();
18339    method @NonNull public android.safetycenter.SafetyCenterData.Builder clearStaticEntryGroups();
18340    method @NonNull public android.safetycenter.SafetyCenterData.Builder setExtras(@NonNull android.os.Bundle);
18341  }
18342
18343  public final class SafetyCenterEntry implements android.os.Parcelable {
18344    method public int describeContents();
18345    method @Nullable public android.safetycenter.SafetyCenterEntry.IconAction getIconAction();
18346    method @NonNull public String getId();
18347    method @Nullable public android.app.PendingIntent getPendingIntent();
18348    method public int getSeverityLevel();
18349    method public int getSeverityUnspecifiedIconType();
18350    method @Nullable public CharSequence getSummary();
18351    method @NonNull public CharSequence getTitle();
18352    method public boolean isEnabled();
18353    method public void writeToParcel(@NonNull android.os.Parcel, int);
18354    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterEntry> CREATOR;
18355    field public static final int ENTRY_SEVERITY_LEVEL_CRITICAL_WARNING = 3400; // 0xd48
18356    field public static final int ENTRY_SEVERITY_LEVEL_OK = 3200; // 0xc80
18357    field public static final int ENTRY_SEVERITY_LEVEL_RECOMMENDATION = 3300; // 0xce4
18358    field public static final int ENTRY_SEVERITY_LEVEL_UNKNOWN = 3000; // 0xbb8
18359    field public static final int ENTRY_SEVERITY_LEVEL_UNSPECIFIED = 3100; // 0xc1c
18360    field public static final int SEVERITY_UNSPECIFIED_ICON_TYPE_NO_ICON = 0; // 0x0
18361    field public static final int SEVERITY_UNSPECIFIED_ICON_TYPE_NO_RECOMMENDATION = 2; // 0x2
18362    field public static final int SEVERITY_UNSPECIFIED_ICON_TYPE_PRIVACY = 1; // 0x1
18363  }
18364
18365  public static final class SafetyCenterEntry.Builder {
18366    ctor public SafetyCenterEntry.Builder(@NonNull android.safetycenter.SafetyCenterEntry);
18367    ctor public SafetyCenterEntry.Builder(@NonNull String, @NonNull CharSequence);
18368    method @NonNull public android.safetycenter.SafetyCenterEntry build();
18369    method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setEnabled(boolean);
18370    method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setIconAction(@Nullable android.safetycenter.SafetyCenterEntry.IconAction);
18371    method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setIconAction(int, @NonNull android.app.PendingIntent);
18372    method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setId(@NonNull String);
18373    method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setPendingIntent(@Nullable android.app.PendingIntent);
18374    method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setSeverityLevel(int);
18375    method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setSeverityUnspecifiedIconType(int);
18376    method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setSummary(@Nullable CharSequence);
18377    method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setTitle(@NonNull CharSequence);
18378  }
18379
18380  public static final class SafetyCenterEntry.IconAction implements android.os.Parcelable {
18381    ctor public SafetyCenterEntry.IconAction(int, @NonNull android.app.PendingIntent);
18382    method public int describeContents();
18383    method @NonNull public android.app.PendingIntent getPendingIntent();
18384    method public int getType();
18385    method public void writeToParcel(@NonNull android.os.Parcel, int);
18386    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterEntry.IconAction> CREATOR;
18387    field public static final int ICON_ACTION_TYPE_GEAR = 30100; // 0x7594
18388    field public static final int ICON_ACTION_TYPE_INFO = 30200; // 0x75f8
18389  }
18390
18391  public final class SafetyCenterEntryGroup implements android.os.Parcelable {
18392    method public int describeContents();
18393    method @NonNull public java.util.List<android.safetycenter.SafetyCenterEntry> getEntries();
18394    method @NonNull public String getId();
18395    method public int getSeverityLevel();
18396    method public int getSeverityUnspecifiedIconType();
18397    method @Nullable public CharSequence getSummary();
18398    method @NonNull public CharSequence getTitle();
18399    method public void writeToParcel(@NonNull android.os.Parcel, int);
18400    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterEntryGroup> CREATOR;
18401  }
18402
18403  public static final class SafetyCenterEntryGroup.Builder {
18404    ctor public SafetyCenterEntryGroup.Builder(@NonNull android.safetycenter.SafetyCenterEntryGroup);
18405    ctor public SafetyCenterEntryGroup.Builder(@NonNull String, @NonNull CharSequence);
18406    method @NonNull public android.safetycenter.SafetyCenterEntryGroup build();
18407    method @NonNull public android.safetycenter.SafetyCenterEntryGroup.Builder setEntries(@NonNull java.util.List<android.safetycenter.SafetyCenterEntry>);
18408    method @NonNull public android.safetycenter.SafetyCenterEntryGroup.Builder setId(@NonNull String);
18409    method @NonNull public android.safetycenter.SafetyCenterEntryGroup.Builder setSeverityLevel(int);
18410    method @NonNull public android.safetycenter.SafetyCenterEntryGroup.Builder setSeverityUnspecifiedIconType(int);
18411    method @NonNull public android.safetycenter.SafetyCenterEntryGroup.Builder setSummary(@Nullable CharSequence);
18412    method @NonNull public android.safetycenter.SafetyCenterEntryGroup.Builder setTitle(@NonNull CharSequence);
18413  }
18414
18415  public final class SafetyCenterEntryOrGroup implements android.os.Parcelable {
18416    ctor public SafetyCenterEntryOrGroup(@NonNull android.safetycenter.SafetyCenterEntry);
18417    ctor public SafetyCenterEntryOrGroup(@NonNull android.safetycenter.SafetyCenterEntryGroup);
18418    method public int describeContents();
18419    method @Nullable public android.safetycenter.SafetyCenterEntry getEntry();
18420    method @Nullable public android.safetycenter.SafetyCenterEntryGroup getEntryGroup();
18421    method public void writeToParcel(@NonNull android.os.Parcel, int);
18422    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterEntryOrGroup> CREATOR;
18423  }
18424
18425  public final class SafetyCenterErrorDetails implements android.os.Parcelable {
18426    ctor public SafetyCenterErrorDetails(@NonNull CharSequence);
18427    method public int describeContents();
18428    method @NonNull public CharSequence getErrorMessage();
18429    method public void writeToParcel(@NonNull android.os.Parcel, int);
18430    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterErrorDetails> CREATOR;
18431  }
18432
18433  public final class SafetyCenterIssue implements android.os.Parcelable {
18434    method public int describeContents();
18435    method @NonNull public java.util.List<android.safetycenter.SafetyCenterIssue.Action> getActions();
18436    method @Nullable public CharSequence getAttributionTitle();
18437    method @Nullable public String getGroupId();
18438    method @NonNull public String getId();
18439    method public int getSeverityLevel();
18440    method @Nullable public CharSequence getSubtitle();
18441    method @NonNull public CharSequence getSummary();
18442    method @NonNull public CharSequence getTitle();
18443    method public boolean isDismissible();
18444    method public boolean shouldConfirmDismissal();
18445    method public void writeToParcel(@NonNull android.os.Parcel, int);
18446    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterIssue> CREATOR;
18447    field public static final int ISSUE_SEVERITY_LEVEL_CRITICAL_WARNING = 2300; // 0x8fc
18448    field public static final int ISSUE_SEVERITY_LEVEL_OK = 2100; // 0x834
18449    field public static final int ISSUE_SEVERITY_LEVEL_RECOMMENDATION = 2200; // 0x898
18450  }
18451
18452  public static final class SafetyCenterIssue.Action implements android.os.Parcelable {
18453    method public int describeContents();
18454    method @Nullable public android.safetycenter.SafetyCenterIssue.Action.ConfirmationDialogDetails getConfirmationDialogDetails();
18455    method @NonNull public String getId();
18456    method @NonNull public CharSequence getLabel();
18457    method @NonNull public android.app.PendingIntent getPendingIntent();
18458    method @Nullable public CharSequence getSuccessMessage();
18459    method public boolean isInFlight();
18460    method public boolean willResolve();
18461    method public void writeToParcel(@NonNull android.os.Parcel, int);
18462    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterIssue.Action> CREATOR;
18463  }
18464
18465  public static final class SafetyCenterIssue.Action.Builder {
18466    ctor public SafetyCenterIssue.Action.Builder(@NonNull android.safetycenter.SafetyCenterIssue.Action);
18467    ctor public SafetyCenterIssue.Action.Builder(@NonNull String, @NonNull CharSequence, @NonNull android.app.PendingIntent);
18468    method @NonNull public android.safetycenter.SafetyCenterIssue.Action build();
18469    method @NonNull public android.safetycenter.SafetyCenterIssue.Action.Builder setConfirmationDialogDetails(@Nullable android.safetycenter.SafetyCenterIssue.Action.ConfirmationDialogDetails);
18470    method @NonNull public android.safetycenter.SafetyCenterIssue.Action.Builder setId(@NonNull String);
18471    method @NonNull public android.safetycenter.SafetyCenterIssue.Action.Builder setIsInFlight(boolean);
18472    method @NonNull public android.safetycenter.SafetyCenterIssue.Action.Builder setLabel(@NonNull CharSequence);
18473    method @NonNull public android.safetycenter.SafetyCenterIssue.Action.Builder setPendingIntent(@NonNull android.app.PendingIntent);
18474    method @NonNull public android.safetycenter.SafetyCenterIssue.Action.Builder setSuccessMessage(@Nullable CharSequence);
18475    method @NonNull public android.safetycenter.SafetyCenterIssue.Action.Builder setWillResolve(boolean);
18476  }
18477
18478  public static final class SafetyCenterIssue.Action.ConfirmationDialogDetails implements android.os.Parcelable {
18479    ctor public SafetyCenterIssue.Action.ConfirmationDialogDetails(@NonNull CharSequence, @NonNull CharSequence, @NonNull CharSequence, @NonNull CharSequence);
18480    method public int describeContents();
18481    method @NonNull public CharSequence getAcceptButtonText();
18482    method @NonNull public CharSequence getDenyButtonText();
18483    method @NonNull public CharSequence getText();
18484    method @NonNull public CharSequence getTitle();
18485    method public void writeToParcel(@NonNull android.os.Parcel, int);
18486    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterIssue.Action.ConfirmationDialogDetails> CREATOR;
18487  }
18488
18489  public static final class SafetyCenterIssue.Builder {
18490    ctor public SafetyCenterIssue.Builder(@NonNull android.safetycenter.SafetyCenterIssue);
18491    ctor public SafetyCenterIssue.Builder(@NonNull String, @NonNull CharSequence, @NonNull CharSequence);
18492    method @NonNull public android.safetycenter.SafetyCenterIssue build();
18493    method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setActions(@NonNull java.util.List<android.safetycenter.SafetyCenterIssue.Action>);
18494    method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setAttributionTitle(@Nullable CharSequence);
18495    method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setDismissible(boolean);
18496    method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setGroupId(@Nullable String);
18497    method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setId(@NonNull String);
18498    method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setSeverityLevel(int);
18499    method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setShouldConfirmDismissal(boolean);
18500    method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setSubtitle(@Nullable CharSequence);
18501    method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setSummary(@NonNull CharSequence);
18502    method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setTitle(@NonNull CharSequence);
18503  }
18504
18505  public final class SafetyCenterManager {
18506    method @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public void addOnSafetyCenterDataChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.safetycenter.SafetyCenterManager.OnSafetyCenterDataChangedListener);
18507    method @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public void clearAllSafetySourceDataForTests();
18508    method @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public void clearSafetyCenterConfigForTests();
18509    method @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public void dismissSafetyCenterIssue(@NonNull String);
18510    method @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public void executeSafetyCenterIssueAction(@NonNull String, @NonNull String);
18511    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public android.safetycenter.config.SafetyCenterConfig getSafetyCenterConfig();
18512    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public android.safetycenter.SafetyCenterData getSafetyCenterData();
18513    method @Nullable @RequiresPermission(android.Manifest.permission.SEND_SAFETY_CENTER_UPDATE) public android.safetycenter.SafetySourceData getSafetySourceData(@NonNull String);
18514    method @RequiresPermission(anyOf={android.Manifest.permission.READ_SAFETY_CENTER_STATUS, android.Manifest.permission.SEND_SAFETY_CENTER_UPDATE}) public boolean isSafetyCenterEnabled();
18515    method @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public void refreshSafetySources(int);
18516    method @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public void refreshSafetySources(int, @NonNull java.util.List<java.lang.String>);
18517    method @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public void removeOnSafetyCenterDataChangedListener(@NonNull android.safetycenter.SafetyCenterManager.OnSafetyCenterDataChangedListener);
18518    method @RequiresPermission(android.Manifest.permission.SEND_SAFETY_CENTER_UPDATE) public void reportSafetySourceError(@NonNull String, @NonNull android.safetycenter.SafetySourceErrorDetails);
18519    method @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public void setSafetyCenterConfigForTests(@NonNull android.safetycenter.config.SafetyCenterConfig);
18520    method @RequiresPermission(android.Manifest.permission.SEND_SAFETY_CENTER_UPDATE) public void setSafetySourceData(@NonNull String, @Nullable android.safetycenter.SafetySourceData, @NonNull android.safetycenter.SafetyEvent);
18521    field public static final String ACTION_REFRESH_SAFETY_SOURCES = "android.safetycenter.action.REFRESH_SAFETY_SOURCES";
18522    field public static final String ACTION_SAFETY_CENTER_ENABLED_CHANGED = "android.safetycenter.action.SAFETY_CENTER_ENABLED_CHANGED";
18523    field public static final int EXTRA_REFRESH_REQUEST_TYPE_FETCH_FRESH_DATA = 0; // 0x0
18524    field public static final int EXTRA_REFRESH_REQUEST_TYPE_GET_DATA = 1; // 0x1
18525    field public static final String EXTRA_REFRESH_SAFETY_SOURCES_BROADCAST_ID = "android.safetycenter.extra.REFRESH_SAFETY_SOURCES_BROADCAST_ID";
18526    field public static final String EXTRA_REFRESH_SAFETY_SOURCES_REQUEST_TYPE = "android.safetycenter.extra.REFRESH_SAFETY_SOURCES_REQUEST_TYPE";
18527    field public static final String EXTRA_REFRESH_SAFETY_SOURCE_IDS = "android.safetycenter.extra.REFRESH_SAFETY_SOURCE_IDS";
18528    field public static final String EXTRA_SAFETY_SOURCES_GROUP_ID = "android.safetycenter.extra.SAFETY_SOURCES_GROUP_ID";
18529    field public static final String EXTRA_SAFETY_SOURCE_ID = "android.safetycenter.extra.SAFETY_SOURCE_ID";
18530    field public static final String EXTRA_SAFETY_SOURCE_ISSUE_ID = "android.safetycenter.extra.SAFETY_SOURCE_ISSUE_ID";
18531    field public static final String EXTRA_SAFETY_SOURCE_USER_HANDLE = "android.safetycenter.extra.SAFETY_SOURCE_USER_HANDLE";
18532    field public static final int REFRESH_REASON_DEVICE_LOCALE_CHANGE = 400; // 0x190
18533    field public static final int REFRESH_REASON_DEVICE_REBOOT = 300; // 0x12c
18534    field public static final int REFRESH_REASON_OTHER = 600; // 0x258
18535    field public static final int REFRESH_REASON_PAGE_OPEN = 100; // 0x64
18536    field public static final int REFRESH_REASON_PERIODIC = 700; // 0x2bc
18537    field public static final int REFRESH_REASON_RESCAN_BUTTON_CLICK = 200; // 0xc8
18538    field public static final int REFRESH_REASON_SAFETY_CENTER_ENABLED = 500; // 0x1f4
18539  }
18540
18541  public static interface SafetyCenterManager.OnSafetyCenterDataChangedListener {
18542    method public default void onError(@NonNull android.safetycenter.SafetyCenterErrorDetails);
18543    method public void onSafetyCenterDataChanged(@NonNull android.safetycenter.SafetyCenterData);
18544  }
18545
18546  public final class SafetyCenterStaticEntry implements android.os.Parcelable {
18547    method public int describeContents();
18548    method @Nullable public android.app.PendingIntent getPendingIntent();
18549    method @Nullable public CharSequence getSummary();
18550    method @NonNull public CharSequence getTitle();
18551    method public void writeToParcel(@NonNull android.os.Parcel, int);
18552    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterStaticEntry> CREATOR;
18553  }
18554
18555  public static final class SafetyCenterStaticEntry.Builder {
18556    ctor public SafetyCenterStaticEntry.Builder(@NonNull android.safetycenter.SafetyCenterStaticEntry);
18557    ctor public SafetyCenterStaticEntry.Builder(@NonNull CharSequence);
18558    method @NonNull public android.safetycenter.SafetyCenterStaticEntry build();
18559    method @NonNull public android.safetycenter.SafetyCenterStaticEntry.Builder setPendingIntent(@Nullable android.app.PendingIntent);
18560    method @NonNull public android.safetycenter.SafetyCenterStaticEntry.Builder setSummary(@Nullable CharSequence);
18561    method @NonNull public android.safetycenter.SafetyCenterStaticEntry.Builder setTitle(@NonNull CharSequence);
18562  }
18563
18564  public final class SafetyCenterStaticEntryGroup implements android.os.Parcelable {
18565    ctor public SafetyCenterStaticEntryGroup(@NonNull CharSequence, @NonNull java.util.List<android.safetycenter.SafetyCenterStaticEntry>);
18566    method public int describeContents();
18567    method @NonNull public java.util.List<android.safetycenter.SafetyCenterStaticEntry> getStaticEntries();
18568    method @NonNull public CharSequence getTitle();
18569    method public void writeToParcel(@NonNull android.os.Parcel, int);
18570    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterStaticEntryGroup> CREATOR;
18571  }
18572
18573  public final class SafetyCenterStatus implements android.os.Parcelable {
18574    method public int describeContents();
18575    method public int getRefreshStatus();
18576    method public int getSeverityLevel();
18577    method @NonNull public CharSequence getSummary();
18578    method @NonNull public CharSequence getTitle();
18579    method public void writeToParcel(@NonNull android.os.Parcel, int);
18580    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterStatus> CREATOR;
18581    field public static final int OVERALL_SEVERITY_LEVEL_CRITICAL_WARNING = 1300; // 0x514
18582    field public static final int OVERALL_SEVERITY_LEVEL_OK = 1100; // 0x44c
18583    field public static final int OVERALL_SEVERITY_LEVEL_RECOMMENDATION = 1200; // 0x4b0
18584    field public static final int OVERALL_SEVERITY_LEVEL_UNKNOWN = 1000; // 0x3e8
18585    field public static final int REFRESH_STATUS_DATA_FETCH_IN_PROGRESS = 10100; // 0x2774
18586    field public static final int REFRESH_STATUS_FULL_RESCAN_IN_PROGRESS = 10200; // 0x27d8
18587    field public static final int REFRESH_STATUS_NONE = 0; // 0x0
18588  }
18589
18590  public static final class SafetyCenterStatus.Builder {
18591    ctor public SafetyCenterStatus.Builder(@NonNull android.safetycenter.SafetyCenterStatus);
18592    ctor public SafetyCenterStatus.Builder(@NonNull CharSequence, @NonNull CharSequence);
18593    method @NonNull public android.safetycenter.SafetyCenterStatus build();
18594    method @NonNull public android.safetycenter.SafetyCenterStatus.Builder setRefreshStatus(int);
18595    method @NonNull public android.safetycenter.SafetyCenterStatus.Builder setSeverityLevel(int);
18596    method @NonNull public android.safetycenter.SafetyCenterStatus.Builder setSummary(@NonNull CharSequence);
18597    method @NonNull public android.safetycenter.SafetyCenterStatus.Builder setTitle(@NonNull CharSequence);
18598  }
18599
18600  public final class SafetyEvent implements android.os.Parcelable {
18601    method public int describeContents();
18602    method @Nullable public String getRefreshBroadcastId();
18603    method @Nullable public String getSafetySourceIssueActionId();
18604    method @Nullable public String getSafetySourceIssueId();
18605    method public int getType();
18606    method public void writeToParcel(@NonNull android.os.Parcel, int);
18607    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyEvent> CREATOR;
18608    field public static final int SAFETY_EVENT_TYPE_DEVICE_LOCALE_CHANGED = 500; // 0x1f4
18609    field public static final int SAFETY_EVENT_TYPE_DEVICE_REBOOTED = 600; // 0x258
18610    field public static final int SAFETY_EVENT_TYPE_REFRESH_REQUESTED = 200; // 0xc8
18611    field public static final int SAFETY_EVENT_TYPE_RESOLVING_ACTION_FAILED = 400; // 0x190
18612    field public static final int SAFETY_EVENT_TYPE_RESOLVING_ACTION_SUCCEEDED = 300; // 0x12c
18613    field public static final int SAFETY_EVENT_TYPE_SOURCE_STATE_CHANGED = 100; // 0x64
18614  }
18615
18616  public static final class SafetyEvent.Builder {
18617    ctor public SafetyEvent.Builder(@NonNull android.safetycenter.SafetyEvent);
18618    ctor public SafetyEvent.Builder(int);
18619    method @NonNull public android.safetycenter.SafetyEvent build();
18620    method @NonNull public android.safetycenter.SafetyEvent.Builder setRefreshBroadcastId(@Nullable String);
18621    method @NonNull public android.safetycenter.SafetyEvent.Builder setSafetySourceIssueActionId(@Nullable String);
18622    method @NonNull public android.safetycenter.SafetyEvent.Builder setSafetySourceIssueId(@Nullable String);
18623  }
18624
18625  public final class SafetySourceData implements android.os.Parcelable {
18626    method public int describeContents();
18627    method @NonNull public android.os.Bundle getExtras();
18628    method @NonNull public java.util.List<android.safetycenter.SafetySourceIssue> getIssues();
18629    method @Nullable public android.safetycenter.SafetySourceStatus getStatus();
18630    method public void writeToParcel(@NonNull android.os.Parcel, int);
18631    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetySourceData> CREATOR;
18632    field public static final int SEVERITY_LEVEL_CRITICAL_WARNING = 400; // 0x190
18633    field public static final int SEVERITY_LEVEL_INFORMATION = 200; // 0xc8
18634    field public static final int SEVERITY_LEVEL_RECOMMENDATION = 300; // 0x12c
18635    field public static final int SEVERITY_LEVEL_UNSPECIFIED = 100; // 0x64
18636  }
18637
18638  public static final class SafetySourceData.Builder {
18639    ctor public SafetySourceData.Builder();
18640    ctor public SafetySourceData.Builder(@NonNull android.safetycenter.SafetySourceData);
18641    method @NonNull public android.safetycenter.SafetySourceData.Builder addIssue(@NonNull android.safetycenter.SafetySourceIssue);
18642    method @NonNull public android.safetycenter.SafetySourceData build();
18643    method @NonNull public android.safetycenter.SafetySourceData.Builder clearExtras();
18644    method @NonNull public android.safetycenter.SafetySourceData.Builder clearIssues();
18645    method @NonNull public android.safetycenter.SafetySourceData.Builder setExtras(@NonNull android.os.Bundle);
18646    method @NonNull public android.safetycenter.SafetySourceData.Builder setStatus(@Nullable android.safetycenter.SafetySourceStatus);
18647  }
18648
18649  public final class SafetySourceErrorDetails implements android.os.Parcelable {
18650    ctor public SafetySourceErrorDetails(@NonNull android.safetycenter.SafetyEvent);
18651    method public int describeContents();
18652    method @NonNull public android.safetycenter.SafetyEvent getSafetyEvent();
18653    method public void writeToParcel(@NonNull android.os.Parcel, int);
18654    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetySourceErrorDetails> CREATOR;
18655  }
18656
18657  public final class SafetySourceIssue implements android.os.Parcelable {
18658    method public int describeContents();
18659    method @NonNull public java.util.List<android.safetycenter.SafetySourceIssue.Action> getActions();
18660    method @Nullable public CharSequence getAttributionTitle();
18661    method @Nullable public android.safetycenter.SafetySourceIssue.Notification getCustomNotification();
18662    method @Nullable public String getDeduplicationId();
18663    method @NonNull public String getId();
18664    method public int getIssueActionability();
18665    method public int getIssueCategory();
18666    method @NonNull public String getIssueTypeId();
18667    method public int getNotificationBehavior();
18668    method @Nullable public android.app.PendingIntent getOnDismissPendingIntent();
18669    method public int getSeverityLevel();
18670    method @Nullable public CharSequence getSubtitle();
18671    method @NonNull public CharSequence getSummary();
18672    method @NonNull public CharSequence getTitle();
18673    method public void writeToParcel(@NonNull android.os.Parcel, int);
18674    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetySourceIssue> CREATOR;
18675    field public static final int ISSUE_ACTIONABILITY_AUTOMATIC = 200; // 0xc8
18676    field public static final int ISSUE_ACTIONABILITY_MANUAL = 0; // 0x0
18677    field public static final int ISSUE_ACTIONABILITY_TIP = 100; // 0x64
18678    field public static final int ISSUE_CATEGORY_ACCOUNT = 200; // 0xc8
18679    field public static final int ISSUE_CATEGORY_DATA = 400; // 0x190
18680    field public static final int ISSUE_CATEGORY_DEVICE = 100; // 0x64
18681    field public static final int ISSUE_CATEGORY_GENERAL = 300; // 0x12c
18682    field public static final int ISSUE_CATEGORY_PASSWORDS = 500; // 0x1f4
18683    field public static final int ISSUE_CATEGORY_PERSONAL_SAFETY = 600; // 0x258
18684    field public static final int NOTIFICATION_BEHAVIOR_DELAYED = 200; // 0xc8
18685    field public static final int NOTIFICATION_BEHAVIOR_IMMEDIATELY = 300; // 0x12c
18686    field public static final int NOTIFICATION_BEHAVIOR_NEVER = 100; // 0x64
18687    field public static final int NOTIFICATION_BEHAVIOR_UNSPECIFIED = 0; // 0x0
18688  }
18689
18690  public static final class SafetySourceIssue.Action implements android.os.Parcelable {
18691    method public int describeContents();
18692    method @Nullable public android.safetycenter.SafetySourceIssue.Action.ConfirmationDialogDetails getConfirmationDialogDetails();
18693    method @NonNull public String getId();
18694    method @NonNull public CharSequence getLabel();
18695    method @NonNull public android.app.PendingIntent getPendingIntent();
18696    method @Nullable public CharSequence getSuccessMessage();
18697    method public boolean willResolve();
18698    method public void writeToParcel(@NonNull android.os.Parcel, int);
18699    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetySourceIssue.Action> CREATOR;
18700  }
18701
18702  public static final class SafetySourceIssue.Action.Builder {
18703    ctor public SafetySourceIssue.Action.Builder(@NonNull android.safetycenter.SafetySourceIssue.Action);
18704    ctor public SafetySourceIssue.Action.Builder(@NonNull String, @NonNull CharSequence, @NonNull android.app.PendingIntent);
18705    method @NonNull public android.safetycenter.SafetySourceIssue.Action build();
18706    method @NonNull public android.safetycenter.SafetySourceIssue.Action.Builder setConfirmationDialogDetails(@Nullable android.safetycenter.SafetySourceIssue.Action.ConfirmationDialogDetails);
18707    method @NonNull public android.safetycenter.SafetySourceIssue.Action.Builder setSuccessMessage(@Nullable CharSequence);
18708    method @NonNull public android.safetycenter.SafetySourceIssue.Action.Builder setWillResolve(boolean);
18709  }
18710
18711  public static final class SafetySourceIssue.Action.ConfirmationDialogDetails implements android.os.Parcelable {
18712    ctor public SafetySourceIssue.Action.ConfirmationDialogDetails(@NonNull CharSequence, @NonNull CharSequence, @NonNull CharSequence, @NonNull CharSequence);
18713    method public int describeContents();
18714    method @NonNull public CharSequence getAcceptButtonText();
18715    method @NonNull public CharSequence getDenyButtonText();
18716    method @NonNull public CharSequence getText();
18717    method @NonNull public CharSequence getTitle();
18718    method public void writeToParcel(@NonNull android.os.Parcel, int);
18719    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetySourceIssue.Action.ConfirmationDialogDetails> CREATOR;
18720  }
18721
18722  public static final class SafetySourceIssue.Builder {
18723    ctor public SafetySourceIssue.Builder(@NonNull android.safetycenter.SafetySourceIssue);
18724    ctor public SafetySourceIssue.Builder(@NonNull String, @NonNull CharSequence, @NonNull CharSequence, int, @NonNull String);
18725    method @NonNull public android.safetycenter.SafetySourceIssue.Builder addAction(@NonNull android.safetycenter.SafetySourceIssue.Action);
18726    method @NonNull public android.safetycenter.SafetySourceIssue build();
18727    method @NonNull public android.safetycenter.SafetySourceIssue.Builder clearActions();
18728    method @NonNull public android.safetycenter.SafetySourceIssue.Builder setAttributionTitle(@Nullable CharSequence);
18729    method @NonNull public android.safetycenter.SafetySourceIssue.Builder setCustomNotification(@Nullable android.safetycenter.SafetySourceIssue.Notification);
18730    method @NonNull public android.safetycenter.SafetySourceIssue.Builder setDeduplicationId(@Nullable String);
18731    method @NonNull public android.safetycenter.SafetySourceIssue.Builder setIssueActionability(int);
18732    method @NonNull public android.safetycenter.SafetySourceIssue.Builder setIssueCategory(int);
18733    method @NonNull public android.safetycenter.SafetySourceIssue.Builder setNotificationBehavior(int);
18734    method @NonNull public android.safetycenter.SafetySourceIssue.Builder setOnDismissPendingIntent(@Nullable android.app.PendingIntent);
18735    method @NonNull public android.safetycenter.SafetySourceIssue.Builder setSubtitle(@Nullable CharSequence);
18736  }
18737
18738  public static final class SafetySourceIssue.Notification implements android.os.Parcelable {
18739    method public int describeContents();
18740    method @NonNull public java.util.List<android.safetycenter.SafetySourceIssue.Action> getActions();
18741    method @NonNull public CharSequence getText();
18742    method @NonNull public CharSequence getTitle();
18743    method public void writeToParcel(@NonNull android.os.Parcel, int);
18744    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetySourceIssue.Notification> CREATOR;
18745  }
18746
18747  public static final class SafetySourceIssue.Notification.Builder {
18748    ctor public SafetySourceIssue.Notification.Builder(@NonNull android.safetycenter.SafetySourceIssue.Notification);
18749    ctor public SafetySourceIssue.Notification.Builder(@NonNull CharSequence, @NonNull CharSequence);
18750    method @NonNull public android.safetycenter.SafetySourceIssue.Notification.Builder addAction(@NonNull android.safetycenter.SafetySourceIssue.Action);
18751    method @NonNull public android.safetycenter.SafetySourceIssue.Notification.Builder addActions(@NonNull java.util.List<android.safetycenter.SafetySourceIssue.Action>);
18752    method @NonNull public android.safetycenter.SafetySourceIssue.Notification build();
18753    method @NonNull public android.safetycenter.SafetySourceIssue.Notification.Builder clearActions();
18754  }
18755
18756  public final class SafetySourceStatus implements android.os.Parcelable {
18757    method public int describeContents();
18758    method @Nullable public android.safetycenter.SafetySourceStatus.IconAction getIconAction();
18759    method @Nullable public android.app.PendingIntent getPendingIntent();
18760    method public int getSeverityLevel();
18761    method @NonNull public CharSequence getSummary();
18762    method @NonNull public CharSequence getTitle();
18763    method public boolean isEnabled();
18764    method public void writeToParcel(@NonNull android.os.Parcel, int);
18765    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetySourceStatus> CREATOR;
18766  }
18767
18768  public static final class SafetySourceStatus.Builder {
18769    ctor public SafetySourceStatus.Builder(@NonNull android.safetycenter.SafetySourceStatus);
18770    ctor public SafetySourceStatus.Builder(@NonNull CharSequence, @NonNull CharSequence, int);
18771    method @NonNull public android.safetycenter.SafetySourceStatus build();
18772    method @NonNull public android.safetycenter.SafetySourceStatus.Builder setEnabled(boolean);
18773    method @NonNull public android.safetycenter.SafetySourceStatus.Builder setIconAction(@Nullable android.safetycenter.SafetySourceStatus.IconAction);
18774    method @NonNull public android.safetycenter.SafetySourceStatus.Builder setPendingIntent(@Nullable android.app.PendingIntent);
18775  }
18776
18777  public static final class SafetySourceStatus.IconAction implements android.os.Parcelable {
18778    ctor public SafetySourceStatus.IconAction(int, @NonNull android.app.PendingIntent);
18779    method public int describeContents();
18780    method public int getIconType();
18781    method @NonNull public android.app.PendingIntent getPendingIntent();
18782    method public void writeToParcel(@NonNull android.os.Parcel, int);
18783    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetySourceStatus.IconAction> CREATOR;
18784    field public static final int ICON_TYPE_GEAR = 100; // 0x64
18785    field public static final int ICON_TYPE_INFO = 200; // 0xc8
18786  }
18787
18788}
18789
18790package android.safetycenter.config {
18791
18792  public final class SafetyCenterConfig implements android.os.Parcelable {
18793    method public int describeContents();
18794    method @NonNull public java.util.List<android.safetycenter.config.SafetySourcesGroup> getSafetySourcesGroups();
18795    method public void writeToParcel(@NonNull android.os.Parcel, int);
18796    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.config.SafetyCenterConfig> CREATOR;
18797  }
18798
18799  public static final class SafetyCenterConfig.Builder {
18800    ctor public SafetyCenterConfig.Builder();
18801    ctor public SafetyCenterConfig.Builder(@NonNull android.safetycenter.config.SafetyCenterConfig);
18802    method @NonNull public android.safetycenter.config.SafetyCenterConfig.Builder addSafetySourcesGroup(@NonNull android.safetycenter.config.SafetySourcesGroup);
18803    method @NonNull public android.safetycenter.config.SafetyCenterConfig build();
18804  }
18805
18806  public final class SafetySource implements android.os.Parcelable {
18807    method public boolean areNotificationsAllowed();
18808    method public int describeContents();
18809    method @Nullable public String getDeduplicationGroup();
18810    method @NonNull public String getId();
18811    method public int getInitialDisplayState();
18812    method @Nullable public String getIntentAction();
18813    method public int getMaxSeverityLevel();
18814    method @Nullable public String getOptionalPackageName();
18815    method @NonNull public java.util.Set<java.lang.String> getPackageCertificateHashes();
18816    method @NonNull public String getPackageName();
18817    method public int getProfile();
18818    method @StringRes public int getSearchTermsResId();
18819    method @StringRes public int getSummaryResId();
18820    method @StringRes public int getTitleForPrivateProfileResId();
18821    method @StringRes public int getTitleForWorkResId();
18822    method @StringRes public int getTitleResId();
18823    method public int getType();
18824    method public boolean isLoggingAllowed();
18825    method public boolean isRefreshOnPageOpenAllowed();
18826    method public void writeToParcel(@NonNull android.os.Parcel, int);
18827    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.config.SafetySource> CREATOR;
18828    field public static final int INITIAL_DISPLAY_STATE_DISABLED = 1; // 0x1
18829    field public static final int INITIAL_DISPLAY_STATE_ENABLED = 0; // 0x0
18830    field public static final int INITIAL_DISPLAY_STATE_HIDDEN = 2; // 0x2
18831    field public static final int PROFILE_ALL = 2; // 0x2
18832    field public static final int PROFILE_NONE = 0; // 0x0
18833    field public static final int PROFILE_PRIMARY = 1; // 0x1
18834    field public static final int SAFETY_SOURCE_TYPE_DYNAMIC = 2; // 0x2
18835    field public static final int SAFETY_SOURCE_TYPE_ISSUE_ONLY = 3; // 0x3
18836    field public static final int SAFETY_SOURCE_TYPE_STATIC = 1; // 0x1
18837  }
18838
18839  public static final class SafetySource.Builder {
18840    ctor public SafetySource.Builder(@NonNull android.safetycenter.config.SafetySource);
18841    ctor public SafetySource.Builder(int);
18842    method @NonNull public android.safetycenter.config.SafetySource.Builder addPackageCertificateHash(@NonNull String);
18843    method @NonNull public android.safetycenter.config.SafetySource build();
18844    method @NonNull public android.safetycenter.config.SafetySource.Builder setDeduplicationGroup(@Nullable String);
18845    method @NonNull public android.safetycenter.config.SafetySource.Builder setId(@Nullable String);
18846    method @NonNull public android.safetycenter.config.SafetySource.Builder setInitialDisplayState(int);
18847    method @NonNull public android.safetycenter.config.SafetySource.Builder setIntentAction(@Nullable String);
18848    method @NonNull public android.safetycenter.config.SafetySource.Builder setLoggingAllowed(boolean);
18849    method @NonNull public android.safetycenter.config.SafetySource.Builder setMaxSeverityLevel(int);
18850    method @NonNull public android.safetycenter.config.SafetySource.Builder setNotificationsAllowed(boolean);
18851    method @NonNull public android.safetycenter.config.SafetySource.Builder setPackageName(@Nullable String);
18852    method @NonNull public android.safetycenter.config.SafetySource.Builder setProfile(int);
18853    method @NonNull public android.safetycenter.config.SafetySource.Builder setRefreshOnPageOpenAllowed(boolean);
18854    method @NonNull public android.safetycenter.config.SafetySource.Builder setSearchTermsResId(@StringRes int);
18855    method @NonNull public android.safetycenter.config.SafetySource.Builder setSummaryResId(@StringRes int);
18856    method @NonNull public android.safetycenter.config.SafetySource.Builder setTitleForPrivateProfileResId(@StringRes int);
18857    method @NonNull public android.safetycenter.config.SafetySource.Builder setTitleForWorkResId(@StringRes int);
18858    method @NonNull public android.safetycenter.config.SafetySource.Builder setTitleResId(@StringRes int);
18859  }
18860
18861  public final class SafetySourcesGroup implements android.os.Parcelable {
18862    method public int describeContents();
18863    method @NonNull public String getId();
18864    method @NonNull public java.util.List<android.safetycenter.config.SafetySource> getSafetySources();
18865    method public int getStatelessIconType();
18866    method @StringRes public int getSummaryResId();
18867    method @StringRes public int getTitleResId();
18868    method public int getType();
18869    method public void writeToParcel(@NonNull android.os.Parcel, int);
18870    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.config.SafetySourcesGroup> CREATOR;
18871    field @Deprecated public static final int SAFETY_SOURCES_GROUP_TYPE_COLLAPSIBLE = 0; // 0x0
18872    field public static final int SAFETY_SOURCES_GROUP_TYPE_HIDDEN = 2; // 0x2
18873    field @Deprecated public static final int SAFETY_SOURCES_GROUP_TYPE_RIGID = 1; // 0x1
18874    field public static final int SAFETY_SOURCES_GROUP_TYPE_STATEFUL = 0; // 0x0
18875    field public static final int SAFETY_SOURCES_GROUP_TYPE_STATELESS = 1; // 0x1
18876    field public static final int STATELESS_ICON_TYPE_NONE = 0; // 0x0
18877    field public static final int STATELESS_ICON_TYPE_PRIVACY = 1; // 0x1
18878  }
18879
18880  public static final class SafetySourcesGroup.Builder {
18881    ctor public SafetySourcesGroup.Builder();
18882    ctor public SafetySourcesGroup.Builder(@NonNull android.safetycenter.config.SafetySourcesGroup);
18883    method @NonNull public android.safetycenter.config.SafetySourcesGroup.Builder addSafetySource(@NonNull android.safetycenter.config.SafetySource);
18884    method @NonNull public android.safetycenter.config.SafetySourcesGroup build();
18885    method @NonNull public android.safetycenter.config.SafetySourcesGroup.Builder setId(@Nullable String);
18886    method @NonNull public android.safetycenter.config.SafetySourcesGroup.Builder setStatelessIconType(int);
18887    method @NonNull public android.safetycenter.config.SafetySourcesGroup.Builder setSummaryResId(@StringRes int);
18888    method @NonNull public android.safetycenter.config.SafetySourcesGroup.Builder setTitleResId(@StringRes int);
18889    method @NonNull public android.safetycenter.config.SafetySourcesGroup.Builder setType(int);
18890  }
18891
18892}
18893
18894package android.safetylabel {
18895
18896  public final class SafetyLabelConstants {
18897    field public static final String PERMISSION_RATIONALE_ENABLED = "permission_rationale_enabled";
18898    field public static final String SAFETY_LABEL_CHANGE_NOTIFICATIONS_ENABLED = "safety_label_change_notifications_enabled";
18899  }
18900
18901}
18902
18903package android.scheduling {
18904
18905  public final class RebootReadinessManager {
18906    method @RequiresPermission(android.Manifest.permission.SIGNAL_REBOOT_READINESS) public void addRequestRebootReadinessStatusListener(@NonNull java.util.concurrent.Executor, @NonNull android.scheduling.RebootReadinessManager.RequestRebootReadinessStatusListener);
18907    method @RequiresPermission(android.Manifest.permission.REBOOT) public void cancelPendingReboot();
18908    method @RequiresPermission(android.Manifest.permission.REBOOT) public boolean isReadyToReboot();
18909    method @RequiresPermission(android.Manifest.permission.REBOOT) public void markRebootPending();
18910    method @RequiresPermission(android.Manifest.permission.SIGNAL_REBOOT_READINESS) public void removeRequestRebootReadinessStatusListener(@NonNull android.scheduling.RebootReadinessManager.RequestRebootReadinessStatusListener);
18911    field public static final String ACTION_REBOOT_READY = "android.scheduling.action.REBOOT_READY";
18912    field public static final String EXTRA_IS_READY_TO_REBOOT = "android.scheduling.extra.IS_READY_TO_REBOOT";
18913  }
18914
18915  public static final class RebootReadinessManager.RebootReadinessStatus {
18916    ctor public RebootReadinessManager.RebootReadinessStatus(boolean, long, @NonNull String);
18917    method public long getEstimatedFinishTime();
18918    method @NonNull public String getLogSubsystemName();
18919    method public boolean isReadyToReboot();
18920  }
18921
18922  public static interface RebootReadinessManager.RequestRebootReadinessStatusListener {
18923    method @NonNull public android.scheduling.RebootReadinessManager.RebootReadinessStatus onRequestRebootReadinessStatus();
18924  }
18925
18926}
18927
18928package android.se.omapi {
18929
18930  public final class Reader {
18931    method @RequiresPermission(android.Manifest.permission.SECURE_ELEMENT_PRIVILEGED_OPERATION) public boolean reset();
18932  }
18933
18934}
18935
18936package android.security {
18937
18938  public final class FileIntegrityManager {
18939    method @Nullable public byte[] getFsVerityDigest(@NonNull java.io.File) throws java.io.IOException;
18940    method public void setupFsVerity(@NonNull java.io.File) throws java.io.IOException;
18941  }
18942
18943  public final class KeyChain {
18944    method @Nullable @WorkerThread public static String getWifiKeyGrantAsUser(@NonNull android.content.Context, @NonNull android.os.UserHandle, @NonNull String);
18945    method @WorkerThread public static boolean hasWifiKeyGrantAsUser(@NonNull android.content.Context, @NonNull android.os.UserHandle, @NonNull String);
18946  }
18947
18948}
18949
18950package android.security.keystore {
18951
18952  public class AndroidKeyStoreProvider extends java.security.Provider {
18953    method @NonNull public static java.security.KeyStore getKeyStoreForUid(int) throws java.security.KeyStoreException, java.security.NoSuchProviderException;
18954  }
18955
18956  public abstract class AttestationUtils {
18957    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;
18958    field public static final int ID_TYPE_IMEI = 2; // 0x2
18959    field public static final int ID_TYPE_MEID = 3; // 0x3
18960    field public static final int ID_TYPE_SERIAL = 1; // 0x1
18961    field public static final int USE_INDIVIDUAL_ATTESTATION = 4; // 0x4
18962  }
18963
18964  public class DeviceIdAttestationException extends java.lang.Exception {
18965    ctor public DeviceIdAttestationException(@Nullable String);
18966    ctor public DeviceIdAttestationException(@Nullable String, @Nullable Throwable);
18967  }
18968
18969  public final class KeyGenParameterSpec implements java.security.spec.AlgorithmParameterSpec {
18970    method @NonNull public int[] getAttestationIds();
18971    method public int getNamespace();
18972  }
18973
18974  public static final class KeyGenParameterSpec.Builder {
18975    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setAttestationIds(@NonNull int[]);
18976    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setNamespace(int);
18977    method @Deprecated @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setUid(int);
18978  }
18979
18980  public abstract class KeyProperties {
18981    field public static final int NAMESPACE_APPLICATION = -1; // 0xffffffff
18982    field public static final int NAMESPACE_WIFI = 102; // 0x66
18983  }
18984
18985}
18986
18987package android.security.keystore.recovery {
18988
18989  public class DecryptionFailedException extends java.security.GeneralSecurityException {
18990    ctor public DecryptionFailedException(String);
18991  }
18992
18993  public class InternalRecoveryServiceException extends java.security.GeneralSecurityException {
18994    ctor public InternalRecoveryServiceException(String);
18995    ctor public InternalRecoveryServiceException(String, Throwable);
18996  }
18997
18998  public final class KeyChainProtectionParams implements android.os.Parcelable {
18999    method public void clearSecret();
19000    method public int describeContents();
19001    method @NonNull public android.security.keystore.recovery.KeyDerivationParams getKeyDerivationParams();
19002    method public int getLockScreenUiFormat();
19003    method @NonNull public byte[] getSecret();
19004    method public int getUserSecretType();
19005    method public void writeToParcel(android.os.Parcel, int);
19006    field @NonNull public static final android.os.Parcelable.Creator<android.security.keystore.recovery.KeyChainProtectionParams> CREATOR;
19007    field public static final int TYPE_LOCKSCREEN = 100; // 0x64
19008    field public static final int UI_FORMAT_PASSWORD = 2; // 0x2
19009    field public static final int UI_FORMAT_PATTERN = 3; // 0x3
19010    field public static final int UI_FORMAT_PIN = 1; // 0x1
19011  }
19012
19013  public static class KeyChainProtectionParams.Builder {
19014    ctor public KeyChainProtectionParams.Builder();
19015    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams build();
19016    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams.Builder setKeyDerivationParams(@NonNull android.security.keystore.recovery.KeyDerivationParams);
19017    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams.Builder setLockScreenUiFormat(int);
19018    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams.Builder setSecret(@NonNull byte[]);
19019    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams.Builder setUserSecretType(int);
19020  }
19021
19022  public final class KeyChainSnapshot implements android.os.Parcelable {
19023    method public int describeContents();
19024    method public long getCounterId();
19025    method @NonNull public byte[] getEncryptedRecoveryKeyBlob();
19026    method @NonNull public java.util.List<android.security.keystore.recovery.KeyChainProtectionParams> getKeyChainProtectionParams();
19027    method public int getMaxAttempts();
19028    method @NonNull public byte[] getServerParams();
19029    method public int getSnapshotVersion();
19030    method @NonNull public java.security.cert.CertPath getTrustedHardwareCertPath();
19031    method @NonNull public java.util.List<android.security.keystore.recovery.WrappedApplicationKey> getWrappedApplicationKeys();
19032    method public void writeToParcel(android.os.Parcel, int);
19033    field @NonNull public static final android.os.Parcelable.Creator<android.security.keystore.recovery.KeyChainSnapshot> CREATOR;
19034  }
19035
19036  public final class KeyDerivationParams implements android.os.Parcelable {
19037    method @NonNull public static android.security.keystore.recovery.KeyDerivationParams createScryptParams(@NonNull byte[], int);
19038    method @NonNull public static android.security.keystore.recovery.KeyDerivationParams createSha256Params(@NonNull byte[]);
19039    method public int describeContents();
19040    method public int getAlgorithm();
19041    method public int getMemoryDifficulty();
19042    method @NonNull public byte[] getSalt();
19043    method public void writeToParcel(android.os.Parcel, int);
19044    field public static final int ALGORITHM_SCRYPT = 2; // 0x2
19045    field public static final int ALGORITHM_SHA256 = 1; // 0x1
19046    field @NonNull public static final android.os.Parcelable.Creator<android.security.keystore.recovery.KeyDerivationParams> CREATOR;
19047  }
19048
19049  public class LockScreenRequiredException extends java.security.GeneralSecurityException {
19050    ctor public LockScreenRequiredException(String);
19051  }
19052
19053  public class RecoveryController {
19054    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public android.security.keystore.recovery.RecoverySession createRecoverySession();
19055    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;
19056    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;
19057    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public java.util.List<java.lang.String> getAliases() throws android.security.keystore.recovery.InternalRecoveryServiceException;
19058    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public static android.security.keystore.recovery.RecoveryController getInstance(@NonNull android.content.Context);
19059    method @Nullable @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public java.security.Key getKey(@NonNull String) throws android.security.keystore.recovery.InternalRecoveryServiceException, java.security.UnrecoverableKeyException;
19060    method @Nullable @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public android.security.keystore.recovery.KeyChainSnapshot getKeyChainSnapshot() throws android.security.keystore.recovery.InternalRecoveryServiceException;
19061    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public int[] getRecoverySecretTypes() throws android.security.keystore.recovery.InternalRecoveryServiceException;
19062    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public int getRecoveryStatus(@NonNull String) throws android.security.keystore.recovery.InternalRecoveryServiceException;
19063    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public java.util.Map<java.lang.String,java.security.cert.X509Certificate> getRootCertificates();
19064    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;
19065    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;
19066    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;
19067    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public static boolean isRecoverableKeyStoreEnabled(@NonNull android.content.Context);
19068    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void removeKey(@NonNull String) throws android.security.keystore.recovery.InternalRecoveryServiceException;
19069    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void setRecoverySecretTypes(@NonNull int[]) throws android.security.keystore.recovery.InternalRecoveryServiceException;
19070    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void setRecoveryStatus(@NonNull String, int) throws android.security.keystore.recovery.InternalRecoveryServiceException;
19071    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void setServerParams(@NonNull byte[]) throws android.security.keystore.recovery.InternalRecoveryServiceException;
19072    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void setSnapshotCreatedPendingIntent(@Nullable android.app.PendingIntent) throws android.security.keystore.recovery.InternalRecoveryServiceException;
19073    field public static final int RECOVERY_STATUS_PERMANENT_FAILURE = 3; // 0x3
19074    field public static final int RECOVERY_STATUS_SYNCED = 0; // 0x0
19075    field public static final int RECOVERY_STATUS_SYNC_IN_PROGRESS = 1; // 0x1
19076  }
19077
19078  public class RecoverySession implements java.lang.AutoCloseable {
19079    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void close();
19080    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;
19081    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;
19082  }
19083
19084  public class SessionExpiredException extends java.security.GeneralSecurityException {
19085    ctor public SessionExpiredException(String);
19086  }
19087
19088  public final class WrappedApplicationKey implements android.os.Parcelable {
19089    method public int describeContents();
19090    method @NonNull public String getAlias();
19091    method @NonNull public byte[] getEncryptedKeyMaterial();
19092    method @Nullable public byte[] getMetadata();
19093    method public void writeToParcel(android.os.Parcel, int);
19094    field @NonNull public static final android.os.Parcelable.Creator<android.security.keystore.recovery.WrappedApplicationKey> CREATOR;
19095  }
19096
19097  public static class WrappedApplicationKey.Builder {
19098    ctor public WrappedApplicationKey.Builder();
19099    method @NonNull public android.security.keystore.recovery.WrappedApplicationKey build();
19100    method @NonNull public android.security.keystore.recovery.WrappedApplicationKey.Builder setAlias(@NonNull String);
19101    method @NonNull public android.security.keystore.recovery.WrappedApplicationKey.Builder setEncryptedKeyMaterial(@NonNull byte[]);
19102    method @NonNull public android.security.keystore.recovery.WrappedApplicationKey.Builder setMetadata(@Nullable byte[]);
19103  }
19104
19105}
19106
19107package android.service.ambientcontext {
19108
19109  public final class AmbientContextDetectionResult implements android.os.Parcelable {
19110    method public int describeContents();
19111    method @NonNull public java.util.List<android.app.ambientcontext.AmbientContextEvent> getEvents();
19112    method @NonNull public String getPackageName();
19113    method public void writeToParcel(@NonNull android.os.Parcel, int);
19114    field @NonNull public static final android.os.Parcelable.Creator<android.service.ambientcontext.AmbientContextDetectionResult> CREATOR;
19115  }
19116
19117  public static final class AmbientContextDetectionResult.Builder {
19118    ctor public AmbientContextDetectionResult.Builder(@NonNull String);
19119    method @NonNull public android.service.ambientcontext.AmbientContextDetectionResult.Builder addEvent(@NonNull android.app.ambientcontext.AmbientContextEvent);
19120    method @NonNull public android.service.ambientcontext.AmbientContextDetectionResult.Builder addEvents(@NonNull java.util.List<android.app.ambientcontext.AmbientContextEvent>);
19121    method @NonNull public android.service.ambientcontext.AmbientContextDetectionResult build();
19122    method @NonNull public android.service.ambientcontext.AmbientContextDetectionResult.Builder clearEvents();
19123  }
19124
19125  public abstract class AmbientContextDetectionService extends android.app.Service {
19126    ctor public AmbientContextDetectionService();
19127    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
19128    method @BinderThread public abstract void onQueryServiceStatus(@NonNull int[], @NonNull String, @NonNull java.util.function.Consumer<android.service.ambientcontext.AmbientContextDetectionServiceStatus>);
19129    method @BinderThread public abstract void onStartDetection(@NonNull android.app.ambientcontext.AmbientContextEventRequest, @NonNull String, @NonNull java.util.function.Consumer<android.service.ambientcontext.AmbientContextDetectionResult>, @NonNull java.util.function.Consumer<android.service.ambientcontext.AmbientContextDetectionServiceStatus>);
19130    method public abstract void onStopDetection(@NonNull String);
19131    field public static final String SERVICE_INTERFACE = "android.service.ambientcontext.AmbientContextDetectionService";
19132  }
19133
19134  public final class AmbientContextDetectionServiceStatus implements android.os.Parcelable {
19135    method public int describeContents();
19136    method @NonNull public String getPackageName();
19137    method public int getStatusCode();
19138    method public void writeToParcel(@NonNull android.os.Parcel, int);
19139    field @NonNull public static final android.os.Parcelable.Creator<android.service.ambientcontext.AmbientContextDetectionServiceStatus> CREATOR;
19140  }
19141
19142  public static final class AmbientContextDetectionServiceStatus.Builder {
19143    ctor public AmbientContextDetectionServiceStatus.Builder(@NonNull String);
19144    method @NonNull public android.service.ambientcontext.AmbientContextDetectionServiceStatus build();
19145    method @NonNull public android.service.ambientcontext.AmbientContextDetectionServiceStatus.Builder setStatusCode(int);
19146  }
19147
19148}
19149
19150package android.service.appprediction {
19151
19152  public abstract class AppPredictionService extends android.app.Service {
19153    ctor public AppPredictionService();
19154    method @MainThread public abstract void onAppTargetEvent(@NonNull android.app.prediction.AppPredictionSessionId, @NonNull android.app.prediction.AppTargetEvent);
19155    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
19156    method public void onCreatePredictionSession(@NonNull android.app.prediction.AppPredictionContext, @NonNull android.app.prediction.AppPredictionSessionId);
19157    method @MainThread public void onDestroyPredictionSession(@NonNull android.app.prediction.AppPredictionSessionId);
19158    method @MainThread public abstract void onLaunchLocationShown(@NonNull android.app.prediction.AppPredictionSessionId, @NonNull String, @NonNull java.util.List<android.app.prediction.AppTargetId>);
19159    method @MainThread public abstract void onRequestPredictionUpdate(@NonNull android.app.prediction.AppPredictionSessionId);
19160    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>>);
19161    method @MainThread public void onStartPredictionUpdates();
19162    method @MainThread public void onStopPredictionUpdates();
19163    method public final void updatePredictions(@NonNull android.app.prediction.AppPredictionSessionId, @NonNull java.util.List<android.app.prediction.AppTarget>);
19164  }
19165
19166}
19167
19168package android.service.assist.classification {
19169
19170  public final class FieldClassification implements android.os.Parcelable {
19171    ctor public FieldClassification(@NonNull android.view.autofill.AutofillId, @NonNull java.util.Set<java.lang.String>, @NonNull java.util.Set<java.lang.String>);
19172    method @NonNull public java.util.Set<java.lang.String> getGroupHints();
19173  }
19174
19175  public final class FieldClassificationRequest implements android.os.Parcelable {
19176    ctor public FieldClassificationRequest(@NonNull android.app.assist.AssistStructure);
19177    method public int describeContents();
19178    method @NonNull public android.app.assist.AssistStructure getAssistStructure();
19179    method public void writeToParcel(@NonNull android.os.Parcel, int);
19180    field @NonNull public static final android.os.Parcelable.Creator<android.service.assist.classification.FieldClassificationRequest> CREATOR;
19181  }
19182
19183  public final class FieldClassificationResponse implements android.os.Parcelable {
19184    ctor public FieldClassificationResponse(@NonNull java.util.Set<android.service.assist.classification.FieldClassification>);
19185    method public int describeContents();
19186    method @NonNull public java.util.Set<android.service.assist.classification.FieldClassification> getClassifications();
19187    method public void writeToParcel(@NonNull android.os.Parcel, int);
19188    field @NonNull public static final android.os.Parcelable.Creator<android.service.assist.classification.FieldClassificationResponse> CREATOR;
19189  }
19190
19191  public abstract class FieldClassificationService extends android.app.Service {
19192    ctor public FieldClassificationService();
19193    method public final android.os.IBinder onBind(android.content.Intent);
19194    method public abstract void onClassificationRequest(@NonNull android.service.assist.classification.FieldClassificationRequest, @NonNull android.os.CancellationSignal, @NonNull android.os.OutcomeReceiver<android.service.assist.classification.FieldClassificationResponse,java.lang.Exception>);
19195    method public void onConnected();
19196    method public void onDisconnected();
19197    field public static final String SERVICE_INTERFACE = "android.service.assist.classification.FieldClassificationService";
19198  }
19199
19200}
19201
19202package android.service.attention {
19203
19204  public abstract class AttentionService extends android.app.Service {
19205    ctor public AttentionService();
19206    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
19207    method public abstract void onCancelAttentionCheck(@NonNull android.service.attention.AttentionService.AttentionCallback);
19208    method public abstract void onCheckAttention(@NonNull android.service.attention.AttentionService.AttentionCallback);
19209    method public void onStartProximityUpdates(@NonNull android.service.attention.AttentionService.ProximityUpdateCallback);
19210    method public void onStopProximityUpdates();
19211    field public static final int ATTENTION_FAILURE_CAMERA_PERMISSION_ABSENT = 6; // 0x6
19212    field public static final int ATTENTION_FAILURE_CANCELLED = 3; // 0x3
19213    field public static final int ATTENTION_FAILURE_PREEMPTED = 4; // 0x4
19214    field public static final int ATTENTION_FAILURE_TIMED_OUT = 5; // 0x5
19215    field public static final int ATTENTION_FAILURE_UNKNOWN = 2; // 0x2
19216    field public static final int ATTENTION_SUCCESS_ABSENT = 0; // 0x0
19217    field public static final int ATTENTION_SUCCESS_PRESENT = 1; // 0x1
19218    field public static final double PROXIMITY_UNKNOWN = -1.0;
19219    field public static final String SERVICE_INTERFACE = "android.service.attention.AttentionService";
19220  }
19221
19222  public static final class AttentionService.AttentionCallback {
19223    method public void onFailure(int);
19224    method public void onSuccess(int, long);
19225  }
19226
19227  public static final class AttentionService.ProximityUpdateCallback {
19228    method public void onProximityUpdate(double);
19229  }
19230
19231}
19232
19233package android.service.autofill {
19234
19235  public abstract class AutofillFieldClassificationService extends android.app.Service {
19236    ctor public AutofillFieldClassificationService();
19237    method public android.os.IBinder onBind(android.content.Intent);
19238    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);
19239    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>);
19240    field public static final String REQUIRED_ALGORITHM_CREDIT_CARD = "CREDIT_CARD";
19241    field public static final String REQUIRED_ALGORITHM_EDIT_DISTANCE = "EDIT_DISTANCE";
19242    field public static final String REQUIRED_ALGORITHM_EXACT_MATCH = "EXACT_MATCH";
19243    field public static final String SERVICE_INTERFACE = "android.service.autofill.AutofillFieldClassificationService";
19244    field public static final String SERVICE_META_DATA_KEY_AVAILABLE_ALGORITHMS = "android.autofill.field_classification.available_algorithms";
19245    field public static final String SERVICE_META_DATA_KEY_DEFAULT_ALGORITHM = "android.autofill.field_classification.default_algorithm";
19246  }
19247
19248  public static final class Dataset.Builder {
19249    ctor @Deprecated public Dataset.Builder(@NonNull android.service.autofill.InlinePresentation);
19250    method @NonNull public android.service.autofill.Dataset.Builder setContent(@NonNull android.view.autofill.AutofillId, @Nullable android.content.ClipData);
19251    method @Deprecated @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);
19252  }
19253
19254  public abstract class InlineSuggestionRenderService extends android.app.Service {
19255    ctor public InlineSuggestionRenderService();
19256    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
19257    method @NonNull public android.os.Bundle onGetInlineSuggestionsRendererInfo();
19258    method @Nullable public android.view.View onRenderSuggestion(@NonNull android.service.autofill.InlinePresentation, int, int);
19259    method public final void startIntentSender(@NonNull android.content.IntentSender);
19260    field public static final String SERVICE_INTERFACE = "android.service.autofill.InlineSuggestionRenderService";
19261  }
19262
19263}
19264
19265package android.service.autofill.augmented {
19266
19267  public abstract class AugmentedAutofillService extends android.app.Service {
19268    ctor public AugmentedAutofillService();
19269    method protected final void dump(java.io.FileDescriptor, java.io.PrintWriter, String[]);
19270    method protected void dump(@NonNull java.io.PrintWriter, @NonNull String[]);
19271    method @Nullable public final android.service.autofill.FillEventHistory getFillEventHistory();
19272    method public final android.os.IBinder onBind(android.content.Intent);
19273    method public void onConnected();
19274    method public void onDisconnected();
19275    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);
19276    method public final boolean requestAutofill(@NonNull android.content.ComponentName, @NonNull android.view.autofill.AutofillId);
19277    field public static final String SERVICE_INTERFACE = "android.service.autofill.augmented.AugmentedAutofillService";
19278  }
19279
19280  public final class FillCallback {
19281    method public void onSuccess(@Nullable android.service.autofill.augmented.FillResponse);
19282  }
19283
19284  public final class FillController {
19285    method public void autofill(@NonNull java.util.List<android.util.Pair<android.view.autofill.AutofillId,android.view.autofill.AutofillValue>>);
19286  }
19287
19288  public final class FillRequest {
19289    method @NonNull public android.content.ComponentName getActivityComponent();
19290    method @NonNull public android.view.autofill.AutofillId getFocusedId();
19291    method @NonNull public android.view.autofill.AutofillValue getFocusedValue();
19292    method @Nullable public android.app.assist.AssistStructure.ViewNode getFocusedViewNode();
19293    method @Nullable public android.view.inputmethod.InlineSuggestionsRequest getInlineSuggestionsRequest();
19294    method @Nullable public android.service.autofill.augmented.PresentationParams getPresentationParams();
19295    method public int getTaskId();
19296  }
19297
19298  public final class FillResponse {
19299  }
19300
19301  public static final class FillResponse.Builder {
19302    ctor public FillResponse.Builder();
19303    method @NonNull public android.service.autofill.augmented.FillResponse build();
19304    method @NonNull public android.service.autofill.augmented.FillResponse.Builder setClientState(@NonNull android.os.Bundle);
19305    method @NonNull public android.service.autofill.augmented.FillResponse.Builder setFillWindow(@NonNull android.service.autofill.augmented.FillWindow);
19306    method @NonNull public android.service.autofill.augmented.FillResponse.Builder setInlineSuggestions(@NonNull java.util.List<android.service.autofill.Dataset>);
19307  }
19308
19309  public final class FillWindow implements java.lang.AutoCloseable {
19310    ctor public FillWindow();
19311    method public void close();
19312    method public void destroy();
19313    method public boolean update(@NonNull android.service.autofill.augmented.PresentationParams.Area, @NonNull android.view.View, long);
19314  }
19315
19316  public abstract class PresentationParams {
19317    method @Nullable public android.service.autofill.augmented.PresentationParams.Area getSuggestionArea();
19318  }
19319
19320  public abstract static class PresentationParams.Area {
19321    method @NonNull public android.graphics.Rect getBounds();
19322  }
19323
19324}
19325
19326package android.service.carrier {
19327
19328  public abstract class ApnService extends android.app.Service {
19329    ctor public ApnService();
19330    method @NonNull public android.os.IBinder onBind(@Nullable android.content.Intent);
19331    method @NonNull @WorkerThread public abstract java.util.List<android.content.ContentValues> onRestoreApns(int);
19332  }
19333
19334  public final class CarrierMessagingServiceWrapper implements java.lang.AutoCloseable {
19335    ctor public CarrierMessagingServiceWrapper();
19336    method public boolean bindToCarrierMessagingService(@NonNull android.content.Context, @NonNull String, @NonNull java.util.concurrent.Executor, @NonNull Runnable);
19337    method public void close();
19338    method public void disconnect();
19339    method public void downloadMms(@NonNull android.net.Uri, int, @NonNull android.net.Uri, @NonNull java.util.concurrent.Executor, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallback);
19340    method public void receiveSms(@NonNull android.service.carrier.MessagePdu, @NonNull String, int, int, @NonNull java.util.concurrent.Executor, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallback);
19341    method public void sendDataSms(@NonNull byte[], int, @NonNull String, int, int, @NonNull java.util.concurrent.Executor, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallback);
19342    method public void sendMms(@NonNull android.net.Uri, int, @NonNull android.net.Uri, @NonNull java.util.concurrent.Executor, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallback);
19343    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);
19344    method public void sendTextSms(@NonNull String, int, @NonNull String, int, @NonNull java.util.concurrent.Executor, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallback);
19345  }
19346
19347  public static interface CarrierMessagingServiceWrapper.CarrierMessagingCallback {
19348    method public default void onDownloadMmsComplete(int);
19349    method public default void onReceiveSmsComplete(int);
19350    method public default void onSendMmsComplete(int, @Nullable byte[]);
19351    method public default void onSendMultipartSmsComplete(int, @Nullable int[]);
19352    method public default void onSendSmsComplete(int, int);
19353  }
19354
19355}
19356
19357package android.service.cloudsearch {
19358
19359  public abstract class CloudSearchService extends android.app.Service {
19360    ctor public CloudSearchService();
19361    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
19362    method public abstract void onSearch(@NonNull android.app.cloudsearch.SearchRequest);
19363    method public final void returnResults(@NonNull String, @NonNull android.app.cloudsearch.SearchResponse);
19364  }
19365
19366}
19367
19368package android.service.contentcapture {
19369
19370  public final class ActivityEvent implements android.os.Parcelable {
19371    method public int describeContents();
19372    method @NonNull public android.app.assist.ActivityId getActivityId();
19373    method @NonNull public android.content.ComponentName getComponentName();
19374    method public int getEventType();
19375    method public void writeToParcel(@NonNull android.os.Parcel, int);
19376    field @NonNull public static final android.os.Parcelable.Creator<android.service.contentcapture.ActivityEvent> CREATOR;
19377    field public static final int TYPE_ACTIVITY_DESTROYED = 24; // 0x18
19378    field public static final int TYPE_ACTIVITY_PAUSED = 2; // 0x2
19379    field public static final int TYPE_ACTIVITY_RESUMED = 1; // 0x1
19380    field public static final int TYPE_ACTIVITY_STOPPED = 23; // 0x17
19381  }
19382
19383  public abstract class ContentCaptureService extends android.app.Service {
19384    ctor public ContentCaptureService();
19385    method public final void disableSelf();
19386    method public void onActivityEvent(@NonNull android.service.contentcapture.ActivityEvent);
19387    method public void onActivitySnapshot(@NonNull android.view.contentcapture.ContentCaptureSessionId, @NonNull android.service.contentcapture.SnapshotData);
19388    method public final android.os.IBinder onBind(android.content.Intent);
19389    method public void onConnected();
19390    method public void onContentCaptureEvent(@NonNull android.view.contentcapture.ContentCaptureSessionId, @NonNull android.view.contentcapture.ContentCaptureEvent);
19391    method public void onCreateContentCaptureSession(@NonNull android.view.contentcapture.ContentCaptureContext, @NonNull android.view.contentcapture.ContentCaptureSessionId);
19392    method public void onDataRemovalRequest(@NonNull android.view.contentcapture.DataRemovalRequest);
19393    method public void onDataShareRequest(@NonNull android.view.contentcapture.DataShareRequest, @NonNull android.service.contentcapture.DataShareCallback);
19394    method public void onDestroyContentCaptureSession(@NonNull android.view.contentcapture.ContentCaptureSessionId);
19395    method public void onDisconnected();
19396    method public final void setContentCaptureConditions(@NonNull String, @Nullable java.util.Set<android.view.contentcapture.ContentCaptureCondition>);
19397    method public final void setContentCaptureWhitelist(@Nullable java.util.Set<java.lang.String>, @Nullable java.util.Set<android.content.ComponentName>);
19398    field public static final String SERVICE_INTERFACE = "android.service.contentcapture.ContentCaptureService";
19399    field public static final String SERVICE_META_DATA = "android.content_capture";
19400  }
19401
19402  public interface DataShareCallback {
19403    method public void onAccept(@NonNull java.util.concurrent.Executor, @NonNull android.service.contentcapture.DataShareReadAdapter);
19404    method public void onReject();
19405  }
19406
19407  public interface DataShareReadAdapter {
19408    method public void onError(int);
19409    method public void onStart(@NonNull android.os.ParcelFileDescriptor);
19410  }
19411
19412  public final class SnapshotData implements android.os.Parcelable {
19413    method public int describeContents();
19414    method @Nullable public android.app.assist.AssistContent getAssistContent();
19415    method @NonNull public android.os.Bundle getAssistData();
19416    method @NonNull public android.app.assist.AssistStructure getAssistStructure();
19417    method public void writeToParcel(@NonNull android.os.Parcel, int);
19418    field @NonNull public static final android.os.Parcelable.Creator<android.service.contentcapture.SnapshotData> CREATOR;
19419  }
19420
19421}
19422
19423package android.service.contentsuggestions {
19424
19425  public abstract class ContentSuggestionsService extends android.app.Service {
19426    ctor public ContentSuggestionsService();
19427    method public final android.os.IBinder onBind(android.content.Intent);
19428    method public abstract void onClassifyContentSelections(@NonNull android.app.contentsuggestions.ClassificationsRequest, @NonNull android.app.contentsuggestions.ContentSuggestionsManager.ClassificationsCallback);
19429    method public abstract void onNotifyInteraction(@NonNull String, @NonNull android.os.Bundle);
19430    method public abstract void onProcessContextImage(int, @Nullable android.graphics.Bitmap, @NonNull android.os.Bundle);
19431    method public abstract void onSuggestContentSelections(@NonNull android.app.contentsuggestions.SelectionsRequest, @NonNull android.app.contentsuggestions.ContentSuggestionsManager.SelectionsCallback);
19432    field public static final String SERVICE_INTERFACE = "android.service.contentsuggestions.ContentSuggestionsService";
19433  }
19434
19435}
19436
19437package android.service.dataloader {
19438
19439  public abstract class DataLoaderService extends android.app.Service {
19440    ctor public DataLoaderService();
19441    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
19442    method @Nullable public android.service.dataloader.DataLoaderService.DataLoader onCreateDataLoader(@NonNull android.content.pm.DataLoaderParams);
19443  }
19444
19445  public static interface DataLoaderService.DataLoader {
19446    method public boolean onCreate(@NonNull android.content.pm.DataLoaderParams, @NonNull android.service.dataloader.DataLoaderService.FileSystemConnector);
19447    method public boolean onPrepareImage(@NonNull java.util.Collection<android.content.pm.InstallationFile>, @NonNull java.util.Collection<java.lang.String>);
19448  }
19449
19450  public static final class DataLoaderService.FileSystemConnector {
19451    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void writeData(@NonNull String, long, long, @NonNull android.os.ParcelFileDescriptor) throws java.io.IOException;
19452  }
19453
19454}
19455
19456package android.service.displayhash {
19457
19458  public final class DisplayHashParams implements android.os.Parcelable {
19459    method public int describeContents();
19460    method @Nullable public android.util.Size getBufferSize();
19461    method public boolean isGrayscaleBuffer();
19462    method public void writeToParcel(@NonNull android.os.Parcel, int);
19463    field @NonNull public static final android.os.Parcelable.Creator<android.service.displayhash.DisplayHashParams> CREATOR;
19464  }
19465
19466  public static final class DisplayHashParams.Builder {
19467    ctor public DisplayHashParams.Builder();
19468    method @NonNull public android.service.displayhash.DisplayHashParams build();
19469    method @NonNull public android.service.displayhash.DisplayHashParams.Builder setBufferSize(int, int);
19470    method @NonNull public android.service.displayhash.DisplayHashParams.Builder setGrayscaleBuffer(boolean);
19471  }
19472
19473  public abstract class DisplayHashingService extends android.app.Service {
19474    ctor public DisplayHashingService();
19475    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
19476    method public abstract void onGenerateDisplayHash(@NonNull byte[], @NonNull android.hardware.HardwareBuffer, @NonNull android.graphics.Rect, @NonNull String, @NonNull android.view.displayhash.DisplayHashResultCallback);
19477    method @NonNull public abstract java.util.Map<java.lang.String,android.service.displayhash.DisplayHashParams> onGetDisplayHashAlgorithms();
19478    method public abstract int onGetIntervalBetweenRequestsMillis();
19479    method @Nullable public abstract android.view.displayhash.VerifiedDisplayHash onVerifyDisplayHash(@NonNull byte[], @NonNull android.view.displayhash.DisplayHash);
19480    field public static final String SERVICE_INTERFACE = "android.service.displayhash.DisplayHashingService";
19481  }
19482
19483}
19484
19485package android.service.euicc {
19486
19487  public final class DownloadSubscriptionResult implements android.os.Parcelable {
19488    ctor public DownloadSubscriptionResult(int, int, int);
19489    method public int describeContents();
19490    method public int getCardId();
19491    method public int getResolvableErrors();
19492    method public int getResult();
19493    method public void writeToParcel(android.os.Parcel, int);
19494    field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.DownloadSubscriptionResult> CREATOR;
19495  }
19496
19497  public final class EuiccProfileInfo implements android.os.Parcelable {
19498    method public int describeContents();
19499    method public android.service.carrier.CarrierIdentifier getCarrierIdentifier();
19500    method public String getIccid();
19501    method @Nullable public String getNickname();
19502    method public int getPolicyRules();
19503    method public int getProfileClass();
19504    method public String getProfileName();
19505    method public String getServiceProviderName();
19506    method public int getState();
19507    method @Nullable public java.util.List<android.telephony.UiccAccessRule> getUiccAccessRules();
19508    method public boolean hasPolicyRule(int);
19509    method public boolean hasPolicyRules();
19510    method public void writeToParcel(android.os.Parcel, int);
19511    field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.EuiccProfileInfo> CREATOR;
19512    field public static final int POLICY_RULE_DELETE_AFTER_DISABLING = 4; // 0x4
19513    field public static final int POLICY_RULE_DO_NOT_DELETE = 2; // 0x2
19514    field public static final int POLICY_RULE_DO_NOT_DISABLE = 1; // 0x1
19515    field public static final int PROFILE_CLASS_OPERATIONAL = 2; // 0x2
19516    field public static final int PROFILE_CLASS_PROVISIONING = 1; // 0x1
19517    field public static final int PROFILE_CLASS_TESTING = 0; // 0x0
19518    field public static final int PROFILE_STATE_DISABLED = 0; // 0x0
19519    field public static final int PROFILE_STATE_ENABLED = 1; // 0x1
19520  }
19521
19522  public static final class EuiccProfileInfo.Builder {
19523    ctor public EuiccProfileInfo.Builder(android.service.euicc.EuiccProfileInfo);
19524    ctor public EuiccProfileInfo.Builder(String);
19525    method public android.service.euicc.EuiccProfileInfo build();
19526    method public android.service.euicc.EuiccProfileInfo.Builder setCarrierIdentifier(android.service.carrier.CarrierIdentifier);
19527    method public android.service.euicc.EuiccProfileInfo.Builder setIccid(String);
19528    method public android.service.euicc.EuiccProfileInfo.Builder setNickname(String);
19529    method public android.service.euicc.EuiccProfileInfo.Builder setPolicyRules(int);
19530    method public android.service.euicc.EuiccProfileInfo.Builder setProfileClass(int);
19531    method public android.service.euicc.EuiccProfileInfo.Builder setProfileName(String);
19532    method public android.service.euicc.EuiccProfileInfo.Builder setServiceProviderName(String);
19533    method public android.service.euicc.EuiccProfileInfo.Builder setState(int);
19534    method public android.service.euicc.EuiccProfileInfo.Builder setUiccAccessRule(@Nullable java.util.List<android.telephony.UiccAccessRule>);
19535  }
19536
19537  public abstract class EuiccService extends android.app.Service {
19538    ctor public EuiccService();
19539    method public void dump(@NonNull java.io.PrintWriter);
19540    method public int encodeSmdxSubjectAndReasonCode(@Nullable String, @Nullable String);
19541    method @CallSuper public android.os.IBinder onBind(android.content.Intent);
19542    method public abstract int onDeleteSubscription(int, String);
19543    method @Deprecated public int onDownloadSubscription(int, @NonNull android.telephony.euicc.DownloadableSubscription, boolean, boolean);
19544    method @Deprecated public android.service.euicc.DownloadSubscriptionResult onDownloadSubscription(int, @NonNull android.telephony.euicc.DownloadableSubscription, boolean, boolean, @Nullable android.os.Bundle);
19545    method @NonNull public android.service.euicc.DownloadSubscriptionResult onDownloadSubscription(int, int, @NonNull android.telephony.euicc.DownloadableSubscription, boolean, boolean, @NonNull android.os.Bundle);
19546    method @Deprecated public abstract int onEraseSubscriptions(int);
19547    method public int onEraseSubscriptions(int, int);
19548    method public long onGetAvailableMemoryInBytes(int);
19549    method public abstract android.service.euicc.GetDefaultDownloadableSubscriptionListResult onGetDefaultDownloadableSubscriptionList(int, boolean);
19550    method public abstract android.service.euicc.GetDownloadableSubscriptionMetadataResult onGetDownloadableSubscriptionMetadata(int, android.telephony.euicc.DownloadableSubscription, boolean);
19551    method @NonNull public android.service.euicc.GetDownloadableSubscriptionMetadataResult onGetDownloadableSubscriptionMetadata(int, int, @NonNull android.telephony.euicc.DownloadableSubscription, boolean);
19552    method public abstract String onGetEid(int);
19553    method @NonNull public abstract android.telephony.euicc.EuiccInfo onGetEuiccInfo(int);
19554    method @NonNull public abstract android.service.euicc.GetEuiccProfileInfoListResult onGetEuiccProfileInfoList(int);
19555    method public abstract int onGetOtaStatus(int);
19556    method public abstract int onRetainSubscriptionsForFactoryReset(int);
19557    method public abstract void onStartOtaIfNecessary(int, android.service.euicc.EuiccService.OtaStatusChangedCallback);
19558    method @Deprecated public abstract int onSwitchToSubscription(int, @Nullable String, boolean);
19559    method public int onSwitchToSubscriptionWithPort(int, int, @Nullable String, boolean);
19560    method public abstract int onUpdateSubscriptionNickname(int, String, String);
19561    field public static final String ACTION_BIND_CARRIER_PROVISIONING_SERVICE = "android.service.euicc.action.BIND_CARRIER_PROVISIONING_SERVICE";
19562    field @RequiresPermission(android.Manifest.permission.BIND_EUICC_SERVICE) public static final String ACTION_CONVERT_TO_EMBEDDED_SUBSCRIPTION = "android.service.euicc.action.CONVERT_TO_EMBEDDED_SUBSCRIPTION";
19563    field public static final String ACTION_DELETE_SUBSCRIPTION_PRIVILEGED = "android.service.euicc.action.DELETE_SUBSCRIPTION_PRIVILEGED";
19564    field @RequiresPermission(android.Manifest.permission.BIND_EUICC_SERVICE) public static final String ACTION_MANAGE_EMBEDDED_SUBSCRIPTIONS = "android.service.euicc.action.MANAGE_EMBEDDED_SUBSCRIPTIONS";
19565    field @RequiresPermission(android.Manifest.permission.BIND_EUICC_SERVICE) public static final String ACTION_PROVISION_EMBEDDED_SUBSCRIPTION = "android.service.euicc.action.PROVISION_EMBEDDED_SUBSCRIPTION";
19566    field public static final String ACTION_RENAME_SUBSCRIPTION_PRIVILEGED = "android.service.euicc.action.RENAME_SUBSCRIPTION_PRIVILEGED";
19567    field @Deprecated public static final String ACTION_RESOLVE_CONFIRMATION_CODE = "android.service.euicc.action.RESOLVE_CONFIRMATION_CODE";
19568    field public static final String ACTION_RESOLVE_DEACTIVATE_SIM = "android.service.euicc.action.RESOLVE_DEACTIVATE_SIM";
19569    field public static final String ACTION_RESOLVE_NO_PRIVILEGES = "android.service.euicc.action.RESOLVE_NO_PRIVILEGES";
19570    field public static final String ACTION_RESOLVE_RESOLVABLE_ERRORS = "android.service.euicc.action.RESOLVE_RESOLVABLE_ERRORS";
19571    field public static final String ACTION_START_CARRIER_ACTIVATION = "android.service.euicc.action.START_CARRIER_ACTIVATION";
19572    field public static final String ACTION_START_EUICC_ACTIVATION = "android.service.euicc.action.START_EUICC_ACTIVATION";
19573    field public static final String ACTION_TOGGLE_SUBSCRIPTION_PRIVILEGED = "android.service.euicc.action.TOGGLE_SUBSCRIPTION_PRIVILEGED";
19574    field @RequiresPermission(android.Manifest.permission.BIND_EUICC_SERVICE) public static final String ACTION_TRANSFER_EMBEDDED_SUBSCRIPTIONS = "android.service.euicc.action.TRANSFER_EMBEDDED_SUBSCRIPTIONS";
19575    field public static final String CATEGORY_EUICC_UI = "android.service.euicc.category.EUICC_UI";
19576    field public static final String EUICC_SERVICE_INTERFACE = "android.service.euicc.EuiccService";
19577    field public static final String EXTRA_RESOLUTION_ALLOW_POLICY_RULES = "android.service.euicc.extra.RESOLUTION_ALLOW_POLICY_RULES";
19578    field public static final String EXTRA_RESOLUTION_CALLING_PACKAGE = "android.service.euicc.extra.RESOLUTION_CALLING_PACKAGE";
19579    field public static final String EXTRA_RESOLUTION_CARD_ID = "android.service.euicc.extra.RESOLUTION_CARD_ID";
19580    field public static final String EXTRA_RESOLUTION_CONFIRMATION_CODE = "android.service.euicc.extra.RESOLUTION_CONFIRMATION_CODE";
19581    field public static final String EXTRA_RESOLUTION_CONFIRMATION_CODE_RETRIED = "android.service.euicc.extra.RESOLUTION_CONFIRMATION_CODE_RETRIED";
19582    field public static final String EXTRA_RESOLUTION_CONSENT = "android.service.euicc.extra.RESOLUTION_CONSENT";
19583    field public static final String EXTRA_RESOLUTION_PORT_INDEX = "android.service.euicc.extra.RESOLUTION_PORT_INDEX";
19584    field public static final String EXTRA_RESOLUTION_SUBSCRIPTION_ID = "android.service.euicc.extra.RESOLUTION_SUBSCRIPTION_ID";
19585    field public static final String EXTRA_RESOLUTION_USE_PORT_INDEX = "android.service.euicc.extra.RESOLUTION_USE_PORT_INDEX";
19586    field public static final String EXTRA_RESOLVABLE_ERRORS = "android.service.euicc.extra.RESOLVABLE_ERRORS";
19587    field public static final int RESOLVABLE_ERROR_CONFIRMATION_CODE = 1; // 0x1
19588    field public static final int RESOLVABLE_ERROR_POLICY_RULES = 2; // 0x2
19589    field public static final int RESULT_FIRST_USER = 1; // 0x1
19590    field public static final int RESULT_MUST_DEACTIVATE_SIM = -1; // 0xffffffff
19591    field @Deprecated public static final int RESULT_NEED_CONFIRMATION_CODE = -2; // 0xfffffffe
19592    field public static final int RESULT_OK = 0; // 0x0
19593    field public static final int RESULT_RESOLVABLE_ERRORS = -2; // 0xfffffffe
19594  }
19595
19596  public abstract static class EuiccService.OtaStatusChangedCallback {
19597    ctor public EuiccService.OtaStatusChangedCallback();
19598    method public abstract void onOtaStatusChanged(int);
19599  }
19600
19601  public final class GetDefaultDownloadableSubscriptionListResult implements android.os.Parcelable {
19602    ctor public GetDefaultDownloadableSubscriptionListResult(int, @Nullable android.telephony.euicc.DownloadableSubscription[]);
19603    method public int describeContents();
19604    method @Nullable public java.util.List<android.telephony.euicc.DownloadableSubscription> getDownloadableSubscriptions();
19605    method public int getResult();
19606    method public void writeToParcel(android.os.Parcel, int);
19607    field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.GetDefaultDownloadableSubscriptionListResult> CREATOR;
19608  }
19609
19610  public final class GetDownloadableSubscriptionMetadataResult implements android.os.Parcelable {
19611    ctor public GetDownloadableSubscriptionMetadataResult(int, @Nullable android.telephony.euicc.DownloadableSubscription);
19612    method public int describeContents();
19613    method @Nullable public android.telephony.euicc.DownloadableSubscription getDownloadableSubscription();
19614    method public int getResult();
19615    method public void writeToParcel(android.os.Parcel, int);
19616    field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.GetDownloadableSubscriptionMetadataResult> CREATOR;
19617  }
19618
19619  public final class GetEuiccProfileInfoListResult implements android.os.Parcelable {
19620    ctor public GetEuiccProfileInfoListResult(int, @Nullable android.service.euicc.EuiccProfileInfo[], boolean);
19621    method public int describeContents();
19622    method public boolean getIsRemovable();
19623    method @Nullable public java.util.List<android.service.euicc.EuiccProfileInfo> getProfiles();
19624    method public int getResult();
19625    method public void writeToParcel(android.os.Parcel, int);
19626    field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.GetEuiccProfileInfoListResult> CREATOR;
19627  }
19628
19629}
19630
19631package android.service.games {
19632
19633  public final class CreateGameSessionRequest implements android.os.Parcelable {
19634    ctor public CreateGameSessionRequest(int, @NonNull String);
19635    method public int describeContents();
19636    method @NonNull public String getGamePackageName();
19637    method public int getTaskId();
19638    method public void writeToParcel(@NonNull android.os.Parcel, int);
19639    field @NonNull public static final android.os.Parcelable.Creator<android.service.games.CreateGameSessionRequest> CREATOR;
19640  }
19641
19642  public class GameService extends android.app.Service {
19643    ctor public GameService();
19644    method @RequiresPermission(android.Manifest.permission.MANAGE_GAME_ACTIVITY) public final void createGameSession(@IntRange(from=0) int);
19645    method @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent);
19646    method public void onConnected();
19647    method public void onDisconnected();
19648    method public void onGameStarted(@NonNull android.service.games.GameStartedEvent);
19649    field public static final String ACTION_GAME_SERVICE = "android.service.games.action.GAME_SERVICE";
19650    field public static final String SERVICE_META_DATA = "android.game_service";
19651  }
19652
19653  public abstract class GameSession {
19654    ctor public GameSession();
19655    method public void onCreate();
19656    method public void onDestroy();
19657    method public void onGameTaskFocusChanged(boolean);
19658    method public void onTransientSystemBarVisibilityFromRevealGestureChanged(boolean);
19659    method @RequiresPermission(android.Manifest.permission.MANAGE_GAME_ACTIVITY) public final boolean restartGame();
19660    method public void setTaskOverlayView(@NonNull android.view.View, @NonNull android.view.ViewGroup.LayoutParams);
19661    method @RequiresPermission(android.Manifest.permission.MANAGE_GAME_ACTIVITY) public final void startActivityFromGameSessionForResult(@NonNull android.content.Intent, @Nullable android.os.Bundle, @NonNull java.util.concurrent.Executor, @NonNull android.service.games.GameSessionActivityCallback);
19662    method @RequiresPermission(android.Manifest.permission.MANAGE_GAME_ACTIVITY) public void takeScreenshot(@NonNull java.util.concurrent.Executor, @NonNull android.service.games.GameSession.ScreenshotCallback);
19663  }
19664
19665  public static interface GameSession.ScreenshotCallback {
19666    method public void onFailure(int);
19667    method public void onSuccess();
19668    field public static final int ERROR_TAKE_SCREENSHOT_INTERNAL_ERROR = 0; // 0x0
19669  }
19670
19671  public interface GameSessionActivityCallback {
19672    method public void onActivityResult(int, @Nullable android.content.Intent);
19673    method public default void onActivityStartFailed(@NonNull Throwable);
19674  }
19675
19676  public abstract class GameSessionService extends android.app.Service {
19677    ctor public GameSessionService();
19678    method @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent);
19679    method @NonNull public abstract android.service.games.GameSession onNewSession(@NonNull android.service.games.CreateGameSessionRequest);
19680    field public static final String ACTION_GAME_SESSION_SERVICE = "android.service.games.action.GAME_SESSION_SERVICE";
19681  }
19682
19683  public final class GameStartedEvent implements android.os.Parcelable {
19684    ctor public GameStartedEvent(@IntRange(from=0) int, @NonNull String);
19685    method public int describeContents();
19686    method @NonNull public String getPackageName();
19687    method @IntRange(from=0) public int getTaskId();
19688    method public void writeToParcel(@NonNull android.os.Parcel, int);
19689    field @NonNull public static final android.os.Parcelable.Creator<android.service.games.GameStartedEvent> CREATOR;
19690  }
19691
19692}
19693
19694package android.service.notification {
19695
19696  public final class Adjustment implements android.os.Parcelable {
19697    ctor protected Adjustment(android.os.Parcel);
19698    ctor public Adjustment(@NonNull String, @NonNull String, @NonNull android.os.Bundle, @NonNull CharSequence, @NonNull android.os.UserHandle);
19699    ctor public Adjustment(String, String, android.os.Bundle, CharSequence, int);
19700    method public int describeContents();
19701    method @NonNull public CharSequence getExplanation();
19702    method @NonNull public String getKey();
19703    method @NonNull public String getPackage();
19704    method @NonNull public android.os.Bundle getSignals();
19705    method public int getUser();
19706    method @NonNull public android.os.UserHandle getUserHandle();
19707    method public void writeToParcel(android.os.Parcel, int);
19708    field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.Adjustment> CREATOR;
19709    field public static final String KEY_CONTEXTUAL_ACTIONS = "key_contextual_actions";
19710    field public static final String KEY_IMPORTANCE = "key_importance";
19711    field public static final String KEY_IMPORTANCE_PROPOSAL = "key_importance_proposal";
19712    field public static final String KEY_NOT_CONVERSATION = "key_not_conversation";
19713    field public static final String KEY_PEOPLE = "key_people";
19714    field public static final String KEY_RANKING_SCORE = "key_ranking_score";
19715    field public static final String KEY_SENSITIVE_CONTENT = "key_sensitive_content";
19716    field public static final String KEY_SNOOZE_CRITERIA = "key_snooze_criteria";
19717    field public static final String KEY_TEXT_REPLIES = "key_text_replies";
19718    field public static final String KEY_USER_SENTIMENT = "key_user_sentiment";
19719  }
19720
19721  public abstract class NotificationAssistantService extends android.service.notification.NotificationListenerService {
19722    ctor public NotificationAssistantService();
19723    method public final void adjustNotification(@NonNull android.service.notification.Adjustment);
19724    method public final void adjustNotifications(@NonNull java.util.List<android.service.notification.Adjustment>);
19725    method public void onActionInvoked(@NonNull String, @NonNull android.app.Notification.Action, int);
19726    method @Deprecated public void onAllowedAdjustmentsChanged();
19727    method @NonNull public final android.os.IBinder onBind(@Nullable android.content.Intent);
19728    method public void onNotificationClicked(@NonNull String);
19729    method public void onNotificationDirectReplied(@NonNull String);
19730    method @Nullable public abstract android.service.notification.Adjustment onNotificationEnqueued(@NonNull android.service.notification.StatusBarNotification);
19731    method @Nullable public android.service.notification.Adjustment onNotificationEnqueued(@NonNull android.service.notification.StatusBarNotification, @NonNull android.app.NotificationChannel);
19732    method @Nullable public android.service.notification.Adjustment onNotificationEnqueued(@NonNull android.service.notification.StatusBarNotification, @NonNull android.app.NotificationChannel, @NonNull android.service.notification.NotificationListenerService.RankingMap);
19733    method public void onNotificationExpansionChanged(@NonNull String, boolean, boolean);
19734    method public void onNotificationFeedbackReceived(@NonNull String, @NonNull android.service.notification.NotificationListenerService.RankingMap, @NonNull android.os.Bundle);
19735    method public abstract void onNotificationSnoozedUntilContext(@NonNull android.service.notification.StatusBarNotification, @NonNull String);
19736    method public void onNotificationVisibilityChanged(@NonNull String, boolean);
19737    method public void onNotificationsSeen(@NonNull java.util.List<java.lang.String>);
19738    method public void onPanelHidden();
19739    method public void onPanelRevealed(int);
19740    method public void onSuggestedReplySent(@NonNull String, @NonNull CharSequence, int);
19741    method public final void unsnoozeNotification(@NonNull String);
19742    field public static final String ACTION_NOTIFICATION_ASSISTANT_DETAIL_SETTINGS = "android.service.notification.action.NOTIFICATION_ASSISTANT_DETAIL_SETTINGS";
19743    field public static final String FEEDBACK_RATING = "feedback.rating";
19744    field public static final String SERVICE_INTERFACE = "android.service.notification.NotificationAssistantService";
19745    field public static final int SOURCE_FROM_APP = 0; // 0x0
19746    field public static final int SOURCE_FROM_ASSISTANT = 1; // 0x1
19747  }
19748
19749  public abstract class NotificationListenerService extends android.app.Service {
19750    method @UiThread public void onNotificationRemoved(@NonNull android.service.notification.StatusBarNotification, @NonNull android.service.notification.NotificationListenerService.RankingMap, @NonNull android.service.notification.NotificationStats, int);
19751  }
19752
19753  public static class NotificationListenerService.Ranking {
19754    method public int getProposedImportance();
19755    method public boolean hasSensitiveContent();
19756  }
19757
19758  public final class NotificationStats implements android.os.Parcelable {
19759    ctor public NotificationStats();
19760    ctor protected NotificationStats(android.os.Parcel);
19761    method public int describeContents();
19762    method public int getDismissalSentiment();
19763    method public int getDismissalSurface();
19764    method public boolean hasDirectReplied();
19765    method public boolean hasExpanded();
19766    method public boolean hasInteracted();
19767    method public boolean hasSeen();
19768    method public boolean hasSnoozed();
19769    method public boolean hasViewedSettings();
19770    method public void setDirectReplied();
19771    method public void setDismissalSentiment(int);
19772    method public void setDismissalSurface(int);
19773    method public void setExpanded();
19774    method public void setSeen();
19775    method public void setSnoozed();
19776    method public void setViewedSettings();
19777    method public void writeToParcel(android.os.Parcel, int);
19778    field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.NotificationStats> CREATOR;
19779    field public static final int DISMISSAL_AOD = 2; // 0x2
19780    field public static final int DISMISSAL_NOT_DISMISSED = -1; // 0xffffffff
19781    field public static final int DISMISSAL_OTHER = 0; // 0x0
19782    field public static final int DISMISSAL_PEEK = 1; // 0x1
19783    field public static final int DISMISSAL_SHADE = 3; // 0x3
19784    field public static final int DISMISS_SENTIMENT_NEGATIVE = 0; // 0x0
19785    field public static final int DISMISS_SENTIMENT_NEUTRAL = 1; // 0x1
19786    field public static final int DISMISS_SENTIMENT_POSITIVE = 2; // 0x2
19787    field public static final int DISMISS_SENTIMENT_UNKNOWN = -1000; // 0xfffffc18
19788  }
19789
19790  public final class SnoozeCriterion implements android.os.Parcelable {
19791    ctor protected SnoozeCriterion(android.os.Parcel);
19792    ctor public SnoozeCriterion(String, CharSequence, CharSequence);
19793    method public int describeContents();
19794    method public CharSequence getConfirmation();
19795    method public CharSequence getExplanation();
19796    method public String getId();
19797    method public void writeToParcel(android.os.Parcel, int);
19798    field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.SnoozeCriterion> CREATOR;
19799  }
19800
19801}
19802
19803package android.service.oemlock {
19804
19805  public class OemLockManager {
19806    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_CARRIER_OEM_UNLOCK_STATE) public String getLockName();
19807    method @RequiresPermission(android.Manifest.permission.MANAGE_CARRIER_OEM_UNLOCK_STATE) public boolean isOemUnlockAllowedByCarrier();
19808    method @RequiresPermission(android.Manifest.permission.MANAGE_USER_OEM_UNLOCK_STATE) public boolean isOemUnlockAllowedByUser();
19809    method @RequiresPermission(android.Manifest.permission.MANAGE_CARRIER_OEM_UNLOCK_STATE) public void setOemUnlockAllowedByCarrier(boolean, @Nullable byte[]);
19810    method @RequiresPermission(android.Manifest.permission.MANAGE_USER_OEM_UNLOCK_STATE) public void setOemUnlockAllowedByUser(boolean);
19811  }
19812
19813}
19814
19815package android.service.ondeviceintelligence {
19816
19817  public abstract class OnDeviceIntelligenceService extends android.app.Service {
19818    ctor public OnDeviceIntelligenceService();
19819    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
19820    method public abstract void onDownloadFeature(int, @NonNull android.app.ondeviceintelligence.Feature, @Nullable android.os.CancellationSignal, @NonNull android.app.ondeviceintelligence.DownloadCallback);
19821    method public abstract void onGetFeature(int, int, @NonNull android.os.OutcomeReceiver<android.app.ondeviceintelligence.Feature,android.app.ondeviceintelligence.OnDeviceIntelligenceException>);
19822    method public abstract void onGetFeatureDetails(int, @NonNull android.app.ondeviceintelligence.Feature, @NonNull android.os.OutcomeReceiver<android.app.ondeviceintelligence.FeatureDetails,android.app.ondeviceintelligence.OnDeviceIntelligenceException>);
19823    method public abstract void onGetReadOnlyFeatureFileDescriptorMap(@NonNull android.app.ondeviceintelligence.Feature, @NonNull java.util.function.Consumer<java.util.Map<java.lang.String,android.os.ParcelFileDescriptor>>);
19824    method public abstract void onGetVersion(@NonNull java.util.function.LongConsumer);
19825    method public abstract void onInferenceServiceConnected();
19826    method public abstract void onInferenceServiceDisconnected();
19827    method public abstract void onListFeatures(int, @NonNull android.os.OutcomeReceiver<java.util.List<android.app.ondeviceintelligence.Feature>,android.app.ondeviceintelligence.OnDeviceIntelligenceException>);
19828    method public final void updateProcessingState(@NonNull android.os.Bundle, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.os.PersistableBundle,android.app.ondeviceintelligence.OnDeviceIntelligenceException>);
19829    field public static final String SERVICE_INTERFACE = "android.service.ondeviceintelligence.OnDeviceIntelligenceService";
19830  }
19831
19832  public abstract class OnDeviceSandboxedInferenceService extends android.app.Service {
19833    ctor public OnDeviceSandboxedInferenceService();
19834    method public final void fetchFeatureFileDescriptorMap(@NonNull android.app.ondeviceintelligence.Feature, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.util.Map<java.lang.String,android.os.ParcelFileDescriptor>>);
19835    method @NonNull public java.util.concurrent.Executor getCallbackExecutor();
19836    method public final void getReadOnlyFileDescriptor(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.os.ParcelFileDescriptor>) throws java.io.FileNotFoundException;
19837    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
19838    method @NonNull public abstract void onProcessRequest(int, @NonNull android.app.ondeviceintelligence.Feature, @NonNull android.os.Bundle, int, @Nullable android.os.CancellationSignal, @Nullable android.app.ondeviceintelligence.ProcessingSignal, @NonNull android.app.ondeviceintelligence.ProcessingCallback);
19839    method @NonNull public abstract void onProcessRequestStreaming(int, @NonNull android.app.ondeviceintelligence.Feature, @NonNull android.os.Bundle, int, @Nullable android.os.CancellationSignal, @Nullable android.app.ondeviceintelligence.ProcessingSignal, @NonNull android.app.ondeviceintelligence.StreamingProcessingCallback);
19840    method @NonNull public abstract void onTokenInfoRequest(int, @NonNull android.app.ondeviceintelligence.Feature, @NonNull android.os.Bundle, @Nullable android.os.CancellationSignal, @NonNull android.os.OutcomeReceiver<android.app.ondeviceintelligence.TokenInfo,android.app.ondeviceintelligence.OnDeviceIntelligenceException>);
19841    method public abstract void onUpdateProcessingState(@NonNull android.os.Bundle, @NonNull android.os.OutcomeReceiver<android.os.PersistableBundle,android.app.ondeviceintelligence.OnDeviceIntelligenceException>);
19842    method public final java.io.FileInputStream openFileInput(@NonNull String) throws java.io.FileNotFoundException;
19843    field public static final String SERVICE_INTERFACE = "android.service.ondeviceintelligence.OnDeviceSandboxedInferenceService";
19844  }
19845
19846}
19847
19848package android.service.persistentdata {
19849
19850  public class PersistentDataBlockManager {
19851    method @RequiresPermission(android.Manifest.permission.CONFIGURE_FACTORY_RESET_PROTECTION) public boolean deactivateFactoryResetProtection(@NonNull byte[]);
19852    method @RequiresPermission(android.Manifest.permission.ACCESS_PDB_STATE) public int getDataBlockSize();
19853    method @RequiresPermission(anyOf={android.Manifest.permission.READ_OEM_UNLOCK_STATE, "android.permission.OEM_UNLOCK_STATE"}) public int getFlashLockState();
19854    method public long getMaximumDataBlockSize();
19855    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_OEM_UNLOCK_STATE, "android.permission.OEM_UNLOCK_STATE"}) public boolean getOemUnlockEnabled();
19856    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_PDB_STATE) public String getPersistentDataPackageName();
19857    method @Nullable public byte[] read();
19858    method public boolean setFactoryResetProtectionSecret(@NonNull byte[]);
19859    method @Deprecated @RequiresPermission("android.permission.OEM_UNLOCK_STATE") public void setOemUnlockEnabled(boolean);
19860    method @RequiresPermission("android.permission.OEM_UNLOCK_STATE") public void wipe();
19861    method public int write(@Nullable byte[]);
19862    field public static final int FLASH_LOCK_LOCKED = 1; // 0x1
19863    field public static final int FLASH_LOCK_UNKNOWN = -1; // 0xffffffff
19864    field public static final int FLASH_LOCK_UNLOCKED = 0; // 0x0
19865  }
19866
19867}
19868
19869package android.service.quicksettings {
19870
19871  public class TileService extends android.app.Service {
19872    method public final void setStatusIcon(android.graphics.drawable.Icon, String);
19873  }
19874
19875}
19876
19877package android.service.remotelockscreenvalidation {
19878
19879  public abstract class RemoteLockscreenValidationService extends android.app.Service {
19880    ctor public RemoteLockscreenValidationService();
19881    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
19882    method public abstract void onValidateLockscreenGuess(@NonNull byte[], @NonNull android.os.OutcomeReceiver<android.app.RemoteLockscreenValidationResult,java.lang.Exception>);
19883    field public static final String SERVICE_INTERFACE = "android.service.remotelockscreenvalidation.RemoteLockscreenValidationService";
19884  }
19885
19886}
19887
19888package android.service.resolver {
19889
19890  public abstract class ResolverRankerService extends android.app.Service {
19891    ctor public ResolverRankerService();
19892    method public android.os.IBinder onBind(android.content.Intent);
19893    method public void onPredictSharingProbabilities(java.util.List<android.service.resolver.ResolverTarget>);
19894    method public void onTrainRankingModel(java.util.List<android.service.resolver.ResolverTarget>, int);
19895    field public static final String BIND_PERMISSION = "android.permission.BIND_RESOLVER_RANKER_SERVICE";
19896    field public static final String HOLD_PERMISSION = "android.permission.PROVIDE_RESOLVER_RANKER_SERVICE";
19897    field public static final String SERVICE_INTERFACE = "android.service.resolver.ResolverRankerService";
19898  }
19899
19900  public final class ResolverTarget implements android.os.Parcelable {
19901    ctor public ResolverTarget();
19902    method public int describeContents();
19903    method public float getChooserScore();
19904    method public float getLaunchScore();
19905    method public float getRecencyScore();
19906    method public float getSelectProbability();
19907    method public float getTimeSpentScore();
19908    method public void setChooserScore(float);
19909    method public void setLaunchScore(float);
19910    method public void setRecencyScore(float);
19911    method public void setSelectProbability(float);
19912    method public void setTimeSpentScore(float);
19913    method public void writeToParcel(android.os.Parcel, int);
19914    field @NonNull public static final android.os.Parcelable.Creator<android.service.resolver.ResolverTarget> CREATOR;
19915  }
19916
19917}
19918
19919package android.service.resumeonreboot {
19920
19921  public abstract class ResumeOnRebootService extends android.app.Service {
19922    ctor public ResumeOnRebootService();
19923    method @Nullable public android.os.IBinder onBind(@Nullable android.content.Intent);
19924    method @NonNull public abstract byte[] onUnwrap(@NonNull byte[]) throws java.io.IOException;
19925    method @NonNull public abstract byte[] onWrap(@NonNull byte[], long) throws java.io.IOException;
19926    field public static final String SERVICE_INTERFACE = "android.service.resumeonreboot.ResumeOnRebootService";
19927  }
19928
19929}
19930
19931package android.service.rotationresolver {
19932
19933  public final class RotationResolutionRequest implements android.os.Parcelable {
19934    ctor public RotationResolutionRequest(@NonNull String, int, int, boolean, long);
19935    method public int describeContents();
19936    method public int getCurrentRotation();
19937    method @NonNull public String getForegroundPackageName();
19938    method public int getProposedRotation();
19939    method public long getTimeoutMillis();
19940    method public boolean shouldUseCamera();
19941    method public void writeToParcel(@NonNull android.os.Parcel, int);
19942    field @NonNull public static final android.os.Parcelable.Creator<android.service.rotationresolver.RotationResolutionRequest> CREATOR;
19943  }
19944
19945  public abstract class RotationResolverService extends android.app.Service {
19946    ctor public RotationResolverService();
19947    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
19948    method public abstract void onResolveRotation(@NonNull android.service.rotationresolver.RotationResolutionRequest, @Nullable android.os.CancellationSignal, @NonNull android.service.rotationresolver.RotationResolverService.RotationResolverCallback);
19949    field public static final int ROTATION_RESULT_FAILURE_CANCELLED = 0; // 0x0
19950    field public static final int ROTATION_RESULT_FAILURE_NOT_SUPPORTED = 4; // 0x4
19951    field public static final int ROTATION_RESULT_FAILURE_PREEMPTED = 2; // 0x2
19952    field public static final int ROTATION_RESULT_FAILURE_TIMED_OUT = 1; // 0x1
19953    field public static final int ROTATION_RESULT_FAILURE_UNKNOWN = 3; // 0x3
19954    field public static final String SERVICE_INTERFACE = "android.service.rotationresolver.RotationResolverService";
19955  }
19956
19957  public static interface RotationResolverService.RotationResolverCallback {
19958    method public void onFailure(int);
19959    method public void onSuccess(int);
19960  }
19961
19962}
19963
19964package android.service.search {
19965
19966  public abstract class SearchUiService extends android.app.Service {
19967    ctor public SearchUiService();
19968    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
19969    method @MainThread public abstract void onDestroy(@NonNull android.app.search.SearchSessionId);
19970    method @MainThread public abstract void onNotifyEvent(@NonNull android.app.search.SearchSessionId, @NonNull android.app.search.Query, @NonNull android.app.search.SearchTargetEvent);
19971    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>>);
19972    method public void onSearchSessionCreated(@NonNull android.app.search.SearchContext, @NonNull android.app.search.SearchSessionId);
19973    method @MainThread public void onStartUpdateEmptyQueryResult();
19974    method @MainThread public void onStopUpdateEmptyQueryResult();
19975    method public final void updateEmptyQueryResult(@NonNull android.app.search.SearchSessionId, @NonNull java.util.List<android.app.search.SearchTarget>);
19976  }
19977
19978}
19979
19980package android.service.settings.suggestions {
19981
19982  public final class Suggestion implements android.os.Parcelable {
19983    method public int describeContents();
19984    method public int getFlags();
19985    method public android.graphics.drawable.Icon getIcon();
19986    method public String getId();
19987    method public android.app.PendingIntent getPendingIntent();
19988    method public CharSequence getSummary();
19989    method public CharSequence getTitle();
19990    method public void writeToParcel(android.os.Parcel, int);
19991    field @NonNull public static final android.os.Parcelable.Creator<android.service.settings.suggestions.Suggestion> CREATOR;
19992    field public static final int FLAG_HAS_BUTTON = 1; // 0x1
19993  }
19994
19995  public static class Suggestion.Builder {
19996    ctor public Suggestion.Builder(String);
19997    method public android.service.settings.suggestions.Suggestion build();
19998    method public android.service.settings.suggestions.Suggestion.Builder setFlags(int);
19999    method public android.service.settings.suggestions.Suggestion.Builder setIcon(android.graphics.drawable.Icon);
20000    method public android.service.settings.suggestions.Suggestion.Builder setPendingIntent(android.app.PendingIntent);
20001    method public android.service.settings.suggestions.Suggestion.Builder setSummary(CharSequence);
20002    method public android.service.settings.suggestions.Suggestion.Builder setTitle(CharSequence);
20003  }
20004
20005  public abstract class SuggestionService extends android.app.Service {
20006    ctor public SuggestionService();
20007    method public android.os.IBinder onBind(android.content.Intent);
20008    method public abstract java.util.List<android.service.settings.suggestions.Suggestion> onGetSuggestions();
20009    method public abstract void onSuggestionDismissed(android.service.settings.suggestions.Suggestion);
20010    method public abstract void onSuggestionLaunched(android.service.settings.suggestions.Suggestion);
20011  }
20012
20013}
20014
20015package android.service.smartspace {
20016
20017  public abstract class SmartspaceService extends android.app.Service {
20018    ctor public SmartspaceService();
20019    method @MainThread public abstract void notifySmartspaceEvent(@NonNull android.app.smartspace.SmartspaceSessionId, @NonNull android.app.smartspace.SmartspaceTargetEvent);
20020    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
20021    method public abstract void onCreateSmartspaceSession(@NonNull android.app.smartspace.SmartspaceConfig, @NonNull android.app.smartspace.SmartspaceSessionId);
20022    method @MainThread public abstract void onDestroy(@NonNull android.app.smartspace.SmartspaceSessionId);
20023    method public abstract void onDestroySmartspaceSession(@NonNull android.app.smartspace.SmartspaceSessionId);
20024    method @MainThread public abstract void onRequestSmartspaceUpdate(@NonNull android.app.smartspace.SmartspaceSessionId);
20025    method public final void updateSmartspaceTargets(@NonNull android.app.smartspace.SmartspaceSessionId, @NonNull java.util.List<android.app.smartspace.SmartspaceTarget>);
20026  }
20027
20028}
20029
20030package android.service.storage {
20031
20032  public abstract class ExternalStorageService extends android.app.Service {
20033    ctor public ExternalStorageService();
20034    method public void onAnrDelayStarted(@NonNull String, int, int, int);
20035    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
20036    method public abstract void onEndSession(@NonNull String) throws java.io.IOException;
20037    method public void onFreeCache(@NonNull java.util.UUID, long) throws java.io.IOException;
20038    method public abstract void onStartSession(@NonNull String, int, @NonNull android.os.ParcelFileDescriptor, @NonNull java.io.File, @NonNull java.io.File) throws java.io.IOException;
20039    method public abstract void onVolumeStateChanged(@NonNull android.os.storage.StorageVolume) throws java.io.IOException;
20040    field public static final int FLAG_SESSION_ATTRIBUTE_INDEXABLE = 2; // 0x2
20041    field public static final int FLAG_SESSION_TYPE_FUSE = 1; // 0x1
20042    field public static final String SERVICE_INTERFACE = "android.service.storage.ExternalStorageService";
20043  }
20044
20045}
20046
20047package android.service.textclassifier {
20048
20049  public abstract class TextClassifierService extends android.app.Service {
20050    ctor public TextClassifierService();
20051    method @NonNull public static android.view.textclassifier.TextClassifier getDefaultTextClassifierImplementation(@NonNull android.content.Context);
20052    method @Deprecated public final android.view.textclassifier.TextClassifier getLocalTextClassifier();
20053    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
20054    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>);
20055    method public void onConnected();
20056    method @MainThread public void onCreateTextClassificationSession(@NonNull android.view.textclassifier.TextClassificationContext, @NonNull android.view.textclassifier.TextClassificationSessionId);
20057    method @MainThread public void onDestroyTextClassificationSession(@NonNull android.view.textclassifier.TextClassificationSessionId);
20058    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>);
20059    method public void onDisconnected();
20060    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>);
20061    method @Deprecated @MainThread public void onSelectionEvent(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.SelectionEvent);
20062    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>);
20063    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>);
20064    method @MainThread public void onTextClassifierEvent(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.TextClassifierEvent);
20065    field public static final String SERVICE_INTERFACE = "android.service.textclassifier.TextClassifierService";
20066  }
20067
20068  public static interface TextClassifierService.Callback<T> {
20069    method public void onFailure(@NonNull CharSequence);
20070    method public void onSuccess(T);
20071  }
20072
20073}
20074
20075package android.service.timezone {
20076
20077  public abstract class TimeZoneProviderService extends android.app.Service {
20078    ctor public TimeZoneProviderService();
20079    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
20080    method public abstract void onStartUpdates(long);
20081    method public abstract void onStopUpdates();
20082    method public final void reportPermanentFailure(@NonNull Throwable);
20083    method public final void reportSuggestion(@NonNull android.service.timezone.TimeZoneProviderSuggestion);
20084    method public final void reportSuggestion(@NonNull android.service.timezone.TimeZoneProviderSuggestion, @NonNull android.service.timezone.TimeZoneProviderStatus);
20085    method public final void reportUncertain();
20086    method public final void reportUncertain(@NonNull android.service.timezone.TimeZoneProviderStatus);
20087    field public static final String PRIMARY_LOCATION_TIME_ZONE_PROVIDER_SERVICE_INTERFACE = "android.service.timezone.PrimaryLocationTimeZoneProviderService";
20088    field public static final String SECONDARY_LOCATION_TIME_ZONE_PROVIDER_SERVICE_INTERFACE = "android.service.timezone.SecondaryLocationTimeZoneProviderService";
20089  }
20090
20091  public final class TimeZoneProviderStatus implements android.os.Parcelable {
20092    method public int describeContents();
20093    method public int getConnectivityDependencyStatus();
20094    method public int getLocationDetectionDependencyStatus();
20095    method public int getTimeZoneResolutionOperationStatus();
20096    method public void writeToParcel(@NonNull android.os.Parcel, int);
20097    field @NonNull public static final android.os.Parcelable.Creator<android.service.timezone.TimeZoneProviderStatus> CREATOR;
20098    field public static final int DEPENDENCY_STATUS_BLOCKED_BY_ENVIRONMENT = 4; // 0x4
20099    field public static final int DEPENDENCY_STATUS_BLOCKED_BY_SETTINGS = 6; // 0x6
20100    field public static final int DEPENDENCY_STATUS_DEGRADED_BY_SETTINGS = 5; // 0x5
20101    field public static final int DEPENDENCY_STATUS_NOT_APPLICABLE = 1; // 0x1
20102    field public static final int DEPENDENCY_STATUS_OK = 2; // 0x2
20103    field public static final int DEPENDENCY_STATUS_TEMPORARILY_UNAVAILABLE = 3; // 0x3
20104    field public static final int OPERATION_STATUS_FAILED = 3; // 0x3
20105    field public static final int OPERATION_STATUS_NOT_APPLICABLE = 1; // 0x1
20106    field public static final int OPERATION_STATUS_OK = 2; // 0x2
20107  }
20108
20109  public static final class TimeZoneProviderStatus.Builder {
20110    ctor public TimeZoneProviderStatus.Builder();
20111    method @NonNull public android.service.timezone.TimeZoneProviderStatus build();
20112    method @NonNull public android.service.timezone.TimeZoneProviderStatus.Builder setConnectivityDependencyStatus(int);
20113    method @NonNull public android.service.timezone.TimeZoneProviderStatus.Builder setLocationDetectionDependencyStatus(int);
20114    method @NonNull public android.service.timezone.TimeZoneProviderStatus.Builder setTimeZoneResolutionOperationStatus(int);
20115  }
20116
20117  public final class TimeZoneProviderSuggestion implements android.os.Parcelable {
20118    method public int describeContents();
20119    method public long getElapsedRealtimeMillis();
20120    method @NonNull public java.util.List<java.lang.String> getTimeZoneIds();
20121    method public void writeToParcel(@NonNull android.os.Parcel, int);
20122    field @NonNull public static final android.os.Parcelable.Creator<android.service.timezone.TimeZoneProviderSuggestion> CREATOR;
20123  }
20124
20125  public static final class TimeZoneProviderSuggestion.Builder {
20126    ctor public TimeZoneProviderSuggestion.Builder();
20127    method @NonNull public android.service.timezone.TimeZoneProviderSuggestion build();
20128    method @NonNull public android.service.timezone.TimeZoneProviderSuggestion.Builder setElapsedRealtimeMillis(long);
20129    method @NonNull public android.service.timezone.TimeZoneProviderSuggestion.Builder setTimeZoneIds(@NonNull java.util.List<java.lang.String>);
20130  }
20131
20132}
20133
20134package android.service.tracing {
20135
20136  public class TraceReportService extends android.app.Service {
20137    ctor public TraceReportService();
20138    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
20139    method public void onReportTrace(@NonNull android.service.tracing.TraceReportService.TraceParams);
20140  }
20141
20142  public static final class TraceReportService.TraceParams {
20143    method @NonNull public android.os.ParcelFileDescriptor getFd();
20144    method @NonNull public java.util.UUID getUuid();
20145  }
20146
20147}
20148
20149package android.service.translation {
20150
20151  public abstract class TranslationService extends android.app.Service {
20152    ctor public TranslationService();
20153    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
20154    method public void onConnected();
20155    method public abstract void onCreateTranslationSession(@NonNull android.view.translation.TranslationContext, int, @NonNull java.util.function.Consumer<java.lang.Boolean>);
20156    method public void onDisconnected();
20157    method public abstract void onFinishTranslationSession(int);
20158    method public abstract void onTranslationCapabilitiesRequest(int, int, @NonNull java.util.function.Consumer<java.util.Set<android.view.translation.TranslationCapability>>);
20159    method public abstract void onTranslationRequest(@NonNull android.view.translation.TranslationRequest, int, @Nullable android.os.CancellationSignal, @NonNull java.util.function.Consumer<android.view.translation.TranslationResponse>);
20160    method public final void updateTranslationCapability(@NonNull android.view.translation.TranslationCapability);
20161    field public static final String SERVICE_INTERFACE = "android.service.translation.TranslationService";
20162    field public static final String SERVICE_META_DATA = "android.translation_service";
20163  }
20164
20165}
20166
20167package android.service.trust {
20168
20169  public final class GrantTrustResult implements android.os.Parcelable {
20170    ctor public GrantTrustResult(int);
20171    method public int describeContents();
20172    method public int getStatus();
20173    method @NonNull public static String statusToString(int);
20174    method public void writeToParcel(@NonNull android.os.Parcel, int);
20175    field @NonNull public static final android.os.Parcelable.Creator<android.service.trust.GrantTrustResult> CREATOR;
20176    field public static final int STATUS_UNKNOWN = 0; // 0x0
20177    field public static final int STATUS_UNLOCKED_BY_GRANT = 1; // 0x1
20178  }
20179
20180  public class TrustAgentService extends android.app.Service {
20181    ctor public TrustAgentService();
20182    method public final void addEscrowToken(byte[], android.os.UserHandle);
20183    method @Deprecated public final void grantTrust(CharSequence, long, boolean);
20184    method @Deprecated public final void grantTrust(CharSequence, long, int);
20185    method public final void grantTrust(@NonNull CharSequence, long, int, @Nullable java.util.function.Consumer<android.service.trust.GrantTrustResult>);
20186    method public final void isEscrowTokenActive(long, android.os.UserHandle);
20187    method public final void lockUser();
20188    method public final android.os.IBinder onBind(android.content.Intent);
20189    method public boolean onConfigure(java.util.List<android.os.PersistableBundle>);
20190    method public void onDeviceLocked();
20191    method public void onDeviceUnlockLockout(long);
20192    method public void onDeviceUnlocked();
20193    method public void onEscrowTokenAdded(byte[], long, android.os.UserHandle);
20194    method public void onEscrowTokenRemoved(long, boolean);
20195    method public void onEscrowTokenStateReceived(long, int);
20196    method public void onTrustTimeout();
20197    method public void onUnlockAttempt(boolean);
20198    method public void onUserMayRequestUnlock();
20199    method public void onUserRequestedUnlock(boolean);
20200    method public final void removeEscrowToken(long, android.os.UserHandle);
20201    method public final void revokeTrust();
20202    method public final void setManagingTrust(boolean);
20203    method public final void showKeyguardErrorMessage(@NonNull CharSequence);
20204    method public final void unlockUserWithToken(long, byte[], android.os.UserHandle);
20205    field public static final int FLAG_GRANT_TRUST_DISMISS_KEYGUARD = 2; // 0x2
20206    field public static final int FLAG_GRANT_TRUST_DISPLAY_MESSAGE = 8; // 0x8
20207    field public static final int FLAG_GRANT_TRUST_INITIATED_BY_USER = 1; // 0x1
20208    field public static final int FLAG_GRANT_TRUST_TEMPORARY_AND_RENEWABLE = 4; // 0x4
20209    field public static final String SERVICE_INTERFACE = "android.service.trust.TrustAgentService";
20210    field public static final int TOKEN_STATE_ACTIVE = 1; // 0x1
20211    field public static final int TOKEN_STATE_INACTIVE = 0; // 0x0
20212    field public static final String TRUST_AGENT_META_DATA = "android.service.trust.trustagent";
20213  }
20214
20215}
20216
20217package android.service.voice {
20218
20219  public class AlwaysOnHotwordDetector implements android.service.voice.HotwordDetector {
20220    method @Nullable public android.content.Intent createEnrollIntent();
20221    method @Nullable public android.content.Intent createReEnrollIntent();
20222    method @Nullable public android.content.Intent createUnEnrollIntent();
20223    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public int getParameter(int);
20224    method public int getSupportedAudioCapabilities();
20225    method public int getSupportedRecognitionModes();
20226    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public android.service.voice.AlwaysOnHotwordDetector.ModelParamRange queryParameter(int);
20227    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public int setParameter(int, int);
20228    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public boolean startRecognition();
20229    method public boolean startRecognition(@NonNull android.os.ParcelFileDescriptor, @NonNull android.media.AudioFormat, @Nullable android.os.PersistableBundle);
20230    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public boolean startRecognition(int);
20231    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public boolean startRecognition(int, @NonNull byte[]);
20232    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public boolean stopRecognition();
20233    method public final void updateState(@Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory);
20234    field public static final int AUDIO_CAPABILITY_ECHO_CANCELLATION = 1; // 0x1
20235    field public static final int AUDIO_CAPABILITY_NOISE_SUPPRESSION = 2; // 0x2
20236    field public static final int MODEL_PARAM_THRESHOLD_FACTOR = 0; // 0x0
20237    field public static final int RECOGNITION_FLAG_ALLOW_MULTIPLE_TRIGGERS = 2; // 0x2
20238    field public static final int RECOGNITION_FLAG_CAPTURE_TRIGGER_AUDIO = 1; // 0x1
20239    field public static final int RECOGNITION_FLAG_ENABLE_AUDIO_ECHO_CANCELLATION = 4; // 0x4
20240    field public static final int RECOGNITION_FLAG_ENABLE_AUDIO_NOISE_SUPPRESSION = 8; // 0x8
20241    field public static final int RECOGNITION_FLAG_RUN_IN_BATTERY_SAVER = 16; // 0x10
20242    field public static final int RECOGNITION_MODE_USER_IDENTIFICATION = 2; // 0x2
20243    field public static final int RECOGNITION_MODE_VOICE_TRIGGER = 1; // 0x1
20244    field public static final int STATE_ERROR = 3; // 0x3
20245    field public static final int STATE_HARDWARE_UNAVAILABLE = -2; // 0xfffffffe
20246    field public static final int STATE_KEYPHRASE_ENROLLED = 2; // 0x2
20247    field public static final int STATE_KEYPHRASE_UNENROLLED = 1; // 0x1
20248    field @Deprecated public static final int STATE_KEYPHRASE_UNSUPPORTED = -1; // 0xffffffff
20249  }
20250
20251  public abstract static class AlwaysOnHotwordDetector.Callback implements android.service.voice.HotwordDetector.Callback {
20252    ctor public AlwaysOnHotwordDetector.Callback();
20253    method public abstract void onAvailabilityChanged(int);
20254    method public void onFailure(@NonNull android.service.voice.SoundTriggerFailure);
20255    method public void onHotwordDetectionServiceInitialized(int);
20256    method public void onHotwordDetectionServiceRestarted();
20257    method public void onRejected(@NonNull android.service.voice.HotwordRejectedResult);
20258  }
20259
20260  public static class AlwaysOnHotwordDetector.EventPayload {
20261    method @Nullable public android.os.ParcelFileDescriptor getAudioStream();
20262    method @Nullable public android.media.AudioFormat getCaptureAudioFormat();
20263    method @Nullable public byte[] getData();
20264    method public int getDataFormat();
20265    method public long getHalEventReceivedMillis();
20266    method @Nullable public android.service.voice.HotwordDetectedResult getHotwordDetectedResult();
20267    method @NonNull public java.util.List<android.hardware.soundtrigger.SoundTrigger.KeyphraseRecognitionExtra> getKeyphraseRecognitionExtras();
20268    method @Deprecated @Nullable public byte[] getTriggerAudio();
20269    method public boolean isRecognitionStopped();
20270    field public static final int DATA_FORMAT_RAW = 0; // 0x0
20271    field public static final int DATA_FORMAT_TRIGGER_AUDIO = 1; // 0x1
20272  }
20273
20274  public static final class AlwaysOnHotwordDetector.ModelParamRange {
20275    method public int getEnd();
20276    method public int getStart();
20277  }
20278
20279  public final class FailureSuggestedAction {
20280    field public static final int DISABLE_DETECTION = 2; // 0x2
20281    field public static final int NONE = 1; // 0x1
20282    field public static final int RECREATE_DETECTOR = 3; // 0x3
20283    field public static final int RESTART_RECOGNITION = 4; // 0x4
20284    field public static final int UNKNOWN = 0; // 0x0
20285  }
20286
20287  public final class HotwordAudioStream implements android.os.Parcelable {
20288    method public int describeContents();
20289    method @NonNull public android.media.AudioFormat getAudioFormat();
20290    method @NonNull public android.os.ParcelFileDescriptor getAudioStreamParcelFileDescriptor();
20291    method @NonNull public byte[] getInitialAudio();
20292    method @NonNull public android.os.PersistableBundle getMetadata();
20293    method @Nullable public android.media.AudioTimestamp getTimestamp();
20294    method public void writeToParcel(@NonNull android.os.Parcel, int);
20295    field @NonNull public static final android.os.Parcelable.Creator<android.service.voice.HotwordAudioStream> CREATOR;
20296    field public static final String KEY_AUDIO_STREAM_COPY_BUFFER_LENGTH_BYTES = "android.service.voice.key.AUDIO_STREAM_COPY_BUFFER_LENGTH_BYTES";
20297  }
20298
20299  public static final class HotwordAudioStream.Builder {
20300    ctor public HotwordAudioStream.Builder(@NonNull android.media.AudioFormat, @NonNull android.os.ParcelFileDescriptor);
20301    method @NonNull public android.service.voice.HotwordAudioStream build();
20302    method @NonNull public android.service.voice.HotwordAudioStream.Builder setAudioFormat(@NonNull android.media.AudioFormat);
20303    method @NonNull public android.service.voice.HotwordAudioStream.Builder setAudioStreamParcelFileDescriptor(@NonNull android.os.ParcelFileDescriptor);
20304    method @NonNull public android.service.voice.HotwordAudioStream.Builder setInitialAudio(@NonNull byte[]);
20305    method @NonNull public android.service.voice.HotwordAudioStream.Builder setMetadata(@NonNull android.os.PersistableBundle);
20306    method @NonNull public android.service.voice.HotwordAudioStream.Builder setTimestamp(@NonNull android.media.AudioTimestamp);
20307  }
20308
20309  public final class HotwordDetectedResult implements android.os.Parcelable {
20310    method public int describeContents();
20311    method public int getAudioChannel();
20312    method @NonNull public java.util.List<android.service.voice.HotwordAudioStream> getAudioStreams();
20313    method public int getBackgroundAudioPower();
20314    method public int getConfidenceLevel();
20315    method @NonNull public android.os.PersistableBundle getExtras();
20316    method public int getHotwordDurationMillis();
20317    method public int getHotwordOffsetMillis();
20318    method public int getHotwordPhraseId();
20319    method public static int getMaxBackgroundAudioPower();
20320    method public static int getMaxBundleSize();
20321    method public static int getMaxHotwordPhraseId();
20322    method public static int getMaxScore();
20323    method public static int getMaxSpeakerId();
20324    method @Nullable public android.media.MediaSyncEvent getMediaSyncEvent();
20325    method public int getPersonalizedScore();
20326    method public int getProximity();
20327    method public int getScore();
20328    method public int getSpeakerId();
20329    method public boolean isHotwordDetectionPersonalized();
20330    method public void writeToParcel(@NonNull android.os.Parcel, int);
20331    field public static final int AUDIO_CHANNEL_UNSET = -1; // 0xffffffff
20332    field public static final int BACKGROUND_AUDIO_POWER_UNSET = -1; // 0xffffffff
20333    field public static final int CONFIDENCE_LEVEL_HIGH = 5; // 0x5
20334    field public static final int CONFIDENCE_LEVEL_LOW = 1; // 0x1
20335    field public static final int CONFIDENCE_LEVEL_LOW_MEDIUM = 2; // 0x2
20336    field public static final int CONFIDENCE_LEVEL_MEDIUM = 3; // 0x3
20337    field public static final int CONFIDENCE_LEVEL_MEDIUM_HIGH = 4; // 0x4
20338    field public static final int CONFIDENCE_LEVEL_NONE = 0; // 0x0
20339    field public static final int CONFIDENCE_LEVEL_VERY_HIGH = 6; // 0x6
20340    field @NonNull public static final android.os.Parcelable.Creator<android.service.voice.HotwordDetectedResult> CREATOR;
20341    field public static final int HOTWORD_OFFSET_UNSET = -1; // 0xffffffff
20342    field public static final int PROXIMITY_FAR = 2; // 0x2
20343    field public static final int PROXIMITY_NEAR = 1; // 0x1
20344    field public static final int PROXIMITY_UNKNOWN = -1; // 0xffffffff
20345  }
20346
20347  public static final class HotwordDetectedResult.Builder {
20348    ctor public HotwordDetectedResult.Builder();
20349    method @NonNull public android.service.voice.HotwordDetectedResult build();
20350    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setAudioChannel(int);
20351    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setAudioStreams(@NonNull java.util.List<android.service.voice.HotwordAudioStream>);
20352    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setBackgroundAudioPower(int);
20353    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setConfidenceLevel(int);
20354    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setExtras(@NonNull android.os.PersistableBundle);
20355    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setHotwordDetectionPersonalized(boolean);
20356    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setHotwordDurationMillis(int);
20357    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setHotwordOffsetMillis(int);
20358    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setHotwordPhraseId(int);
20359    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setMediaSyncEvent(@NonNull android.media.MediaSyncEvent);
20360    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setPersonalizedScore(int);
20361    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setScore(int);
20362    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setSpeakerId(int);
20363  }
20364
20365  public abstract class HotwordDetectionService extends android.app.Service implements android.service.voice.SandboxedDetectionInitializer {
20366    ctor public HotwordDetectionService();
20367    method @Deprecated public static int getMaxCustomInitializationStatus();
20368    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
20369    method public void onDetect(@NonNull android.os.ParcelFileDescriptor, @NonNull android.media.AudioFormat, @Nullable android.os.PersistableBundle, @NonNull android.service.voice.HotwordDetectionService.Callback);
20370    method public void onDetect(@NonNull android.service.voice.AlwaysOnHotwordDetector.EventPayload, long, @NonNull android.service.voice.HotwordDetectionService.Callback);
20371    method public void onDetect(@NonNull android.service.voice.HotwordDetectionService.Callback);
20372    method public void onStopDetection();
20373    method public void onUpdateState(@Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory, long, @Nullable java.util.function.IntConsumer);
20374    field @Deprecated public static final int INITIALIZATION_STATUS_SUCCESS = 0; // 0x0
20375    field @Deprecated public static final int INITIALIZATION_STATUS_UNKNOWN = 100; // 0x64
20376    field public static final String KEY_SYSTEM_WILL_CLOSE_AUDIO_STREAM_AFTER_CALLBACK = "android.service.voice.HotwordDetectionService.KEY_SYSTEM_WILL_CLOSE_AUDIO_STREAM_AFTER_CALLBACK";
20377    field public static final String SERVICE_INTERFACE = "android.service.voice.HotwordDetectionService";
20378  }
20379
20380  public static final class HotwordDetectionService.Callback {
20381    method public void onDetected(@NonNull android.service.voice.HotwordDetectedResult);
20382    method public void onRejected(@NonNull android.service.voice.HotwordRejectedResult);
20383  }
20384
20385  public final class HotwordDetectionServiceFailure implements android.os.Parcelable {
20386    method public int describeContents();
20387    method public int getErrorCode();
20388    method @NonNull public String getErrorMessage();
20389    method public int getSuggestedAction();
20390    method public void writeToParcel(@NonNull android.os.Parcel, int);
20391    field @NonNull public static final android.os.Parcelable.Creator<android.service.voice.HotwordDetectionServiceFailure> CREATOR;
20392    field public static final int ERROR_CODE_BINDING_DIED = 2; // 0x2
20393    field public static final int ERROR_CODE_BIND_FAILURE = 1; // 0x1
20394    field public static final int ERROR_CODE_COPY_AUDIO_DATA_FAILURE = 3; // 0x3
20395    field public static final int ERROR_CODE_DETECT_TIMEOUT = 4; // 0x4
20396    field public static final int ERROR_CODE_ON_DETECTED_SECURITY_EXCEPTION = 5; // 0x5
20397    field public static final int ERROR_CODE_ON_DETECTED_STREAM_COPY_FAILURE = 6; // 0x6
20398    field public static final int ERROR_CODE_REMOTE_EXCEPTION = 7; // 0x7
20399    field public static final int ERROR_CODE_UNKNOWN = 0; // 0x0
20400  }
20401
20402  public interface HotwordDetector {
20403    method public default void destroy();
20404    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public boolean startRecognition();
20405    method public boolean startRecognition(@NonNull android.os.ParcelFileDescriptor, @NonNull android.media.AudioFormat, @Nullable android.os.PersistableBundle);
20406    method public boolean stopRecognition();
20407    method public void updateState(@Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory);
20408  }
20409
20410  public static interface HotwordDetector.Callback {
20411    method public void onDetected(@NonNull android.service.voice.AlwaysOnHotwordDetector.EventPayload);
20412    method @Deprecated public void onError();
20413    method public default void onFailure(@NonNull android.service.voice.HotwordDetectionServiceFailure);
20414    method public void onHotwordDetectionServiceInitialized(int);
20415    method public void onHotwordDetectionServiceRestarted();
20416    method public void onRecognitionPaused();
20417    method public void onRecognitionResumed();
20418    method public void onRejected(@NonNull android.service.voice.HotwordRejectedResult);
20419    method public default void onUnknownFailure(@NonNull String);
20420  }
20421
20422  public final class HotwordRejectedResult implements android.os.Parcelable {
20423    method public int describeContents();
20424    method public int getConfidenceLevel();
20425    method public void writeToParcel(@NonNull android.os.Parcel, int);
20426    field public static final int CONFIDENCE_LEVEL_HIGH = 3; // 0x3
20427    field public static final int CONFIDENCE_LEVEL_LOW = 1; // 0x1
20428    field public static final int CONFIDENCE_LEVEL_MEDIUM = 2; // 0x2
20429    field public static final int CONFIDENCE_LEVEL_NONE = 0; // 0x0
20430    field public static final int CONFIDENCE_LEVEL_VERY_HIGH = 4; // 0x4
20431    field @NonNull public static final android.os.Parcelable.Creator<android.service.voice.HotwordRejectedResult> CREATOR;
20432  }
20433
20434  public static final class HotwordRejectedResult.Builder {
20435    ctor public HotwordRejectedResult.Builder();
20436    method @NonNull public android.service.voice.HotwordRejectedResult build();
20437    method @NonNull public android.service.voice.HotwordRejectedResult.Builder setConfidenceLevel(int);
20438  }
20439
20440  public interface SandboxedDetectionInitializer {
20441    method public static int getMaxCustomInitializationStatus();
20442    method public void onUpdateState(@Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory, long, @Nullable java.util.function.IntConsumer);
20443    field public static final int INITIALIZATION_STATUS_SUCCESS = 0; // 0x0
20444    field public static final int INITIALIZATION_STATUS_UNKNOWN = 100; // 0x64
20445  }
20446
20447  public final class SoundTriggerFailure implements android.os.Parcelable {
20448    method public int describeContents();
20449    method public int getErrorCode();
20450    method @NonNull public String getErrorMessage();
20451    method public int getSuggestedAction();
20452    method public void writeToParcel(@NonNull android.os.Parcel, int);
20453    field @NonNull public static final android.os.Parcelable.Creator<android.service.voice.SoundTriggerFailure> CREATOR;
20454    field public static final int ERROR_CODE_MODULE_DIED = 1; // 0x1
20455    field public static final int ERROR_CODE_RECOGNITION_RESUME_FAILED = 2; // 0x2
20456    field public static final int ERROR_CODE_UNEXPECTED_PREEMPTION = 3; // 0x3
20457    field public static final int ERROR_CODE_UNKNOWN = 0; // 0x0
20458  }
20459
20460  public final class VisualQueryAttentionResult implements android.os.Parcelable {
20461    method public int describeContents();
20462    method @IntRange(from=1, to=100) public int getEngagementLevel();
20463    method public int getInteractionIntention();
20464    method public void writeToParcel(@NonNull android.os.Parcel, int);
20465    field @NonNull public static final android.os.Parcelable.Creator<android.service.voice.VisualQueryAttentionResult> CREATOR;
20466    field public static final int INTERACTION_INTENTION_AUDIO_VISUAL = 0; // 0x0
20467    field public static final int INTERACTION_INTENTION_VISUAL_ACCESSIBILITY = 1; // 0x1
20468  }
20469
20470  public static final class VisualQueryAttentionResult.Builder {
20471    ctor public VisualQueryAttentionResult.Builder();
20472    method @NonNull public android.service.voice.VisualQueryAttentionResult build();
20473    method @NonNull public android.service.voice.VisualQueryAttentionResult.Builder setEngagementLevel(@IntRange(from=1, to=100) int);
20474    method @NonNull public android.service.voice.VisualQueryAttentionResult.Builder setInteractionIntention(int);
20475  }
20476
20477  public final class VisualQueryDetectedResult implements android.os.Parcelable {
20478    method public int describeContents();
20479    method @Nullable public byte[] getAccessibilityDetectionData();
20480    method public static int getMaxSpeakerId();
20481    method @NonNull public String getPartialQuery();
20482    method public int getSpeakerId();
20483    method public void writeToParcel(@NonNull android.os.Parcel, int);
20484    field @NonNull public static final android.os.Parcelable.Creator<android.service.voice.VisualQueryDetectedResult> CREATOR;
20485  }
20486
20487  public static final class VisualQueryDetectedResult.Builder {
20488    ctor public VisualQueryDetectedResult.Builder();
20489    method @NonNull public android.service.voice.VisualQueryDetectedResult build();
20490    method @NonNull public android.service.voice.VisualQueryDetectedResult.Builder setAccessibilityDetectionData(@NonNull byte...);
20491    method @NonNull public android.service.voice.VisualQueryDetectedResult.Builder setPartialQuery(@NonNull String);
20492    method @NonNull public android.service.voice.VisualQueryDetectedResult.Builder setSpeakerId(int);
20493  }
20494
20495  public abstract class VisualQueryDetectionService extends android.app.Service implements android.service.voice.SandboxedDetectionInitializer {
20496    ctor public VisualQueryDetectionService();
20497    method public final void finishQuery() throws java.lang.IllegalStateException;
20498    method public final void gainedAttention();
20499    method public final void gainedAttention(@NonNull android.service.voice.VisualQueryAttentionResult);
20500    method public final void lostAttention();
20501    method public final void lostAttention(int);
20502    method @Nullable public android.os.IBinder onBind(@NonNull android.content.Intent);
20503    method public void onStartDetection();
20504    method public void onStopDetection();
20505    method public void onUpdateState(@Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory, long, @Nullable java.util.function.IntConsumer);
20506    method public final void rejectQuery() throws java.lang.IllegalStateException;
20507    method public final void streamQuery(@NonNull android.service.voice.VisualQueryDetectedResult);
20508    method public final void streamQuery(@NonNull String) throws java.lang.IllegalStateException;
20509    field public static final String SERVICE_INTERFACE = "android.service.voice.VisualQueryDetectionService";
20510  }
20511
20512  public final class VisualQueryDetectionServiceFailure implements android.os.Parcelable {
20513    method public int describeContents();
20514    method public int getErrorCode();
20515    method @NonNull public String getErrorMessage();
20516    method public int getSuggestedAction();
20517    method public void writeToParcel(@NonNull android.os.Parcel, int);
20518    field @NonNull public static final android.os.Parcelable.Creator<android.service.voice.VisualQueryDetectionServiceFailure> CREATOR;
20519    field public static final int ERROR_CODE_BINDING_DIED = 2; // 0x2
20520    field public static final int ERROR_CODE_BIND_FAILURE = 1; // 0x1
20521    field public static final int ERROR_CODE_ILLEGAL_ATTENTION_STATE = 3; // 0x3
20522    field public static final int ERROR_CODE_ILLEGAL_STREAMING_STATE = 4; // 0x4
20523    field public static final int ERROR_CODE_REMOTE_EXCEPTION = 5; // 0x5
20524    field public static final int ERROR_CODE_UNKNOWN = 0; // 0x0
20525  }
20526
20527  public class VisualQueryDetector {
20528    method public void clearAccessibilityDetectionEnabledListener();
20529    method public void destroy();
20530    method public boolean isAccessibilityDetectionEnabled();
20531    method public void setAccessibilityDetectionEnabledListener(@NonNull java.util.function.Consumer<java.lang.Boolean>);
20532    method @RequiresPermission(allOf={android.Manifest.permission.CAMERA, android.Manifest.permission.RECORD_AUDIO}) public boolean startRecognition();
20533    method @RequiresPermission(allOf={android.Manifest.permission.CAMERA, android.Manifest.permission.RECORD_AUDIO}) public boolean stopRecognition();
20534    method public void updateState(@Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory);
20535  }
20536
20537  public static interface VisualQueryDetector.Callback {
20538    method public void onFailure(@NonNull android.service.voice.VisualQueryDetectionServiceFailure);
20539    method public default void onQueryDetected(@NonNull android.service.voice.VisualQueryDetectedResult);
20540    method public void onQueryDetected(@NonNull String);
20541    method public void onQueryFinished();
20542    method public void onQueryRejected();
20543    method public void onUnknownFailure(@NonNull String);
20544    method public void onVisualQueryDetectionServiceInitialized(int);
20545    method public void onVisualQueryDetectionServiceRestarted();
20546  }
20547
20548  public class VoiceInteractionService extends android.app.Service {
20549    method @Deprecated @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);
20550    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_HOTWORD_DETECTION) public final android.service.voice.AlwaysOnHotwordDetector createAlwaysOnHotwordDetector(@NonNull String, @NonNull java.util.Locale, @Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory, @NonNull java.util.concurrent.Executor, @NonNull android.service.voice.AlwaysOnHotwordDetector.Callback);
20551    method @Deprecated @NonNull public final android.service.voice.AlwaysOnHotwordDetector createAlwaysOnHotwordDetector(String, java.util.Locale, android.service.voice.AlwaysOnHotwordDetector.Callback);
20552    method @NonNull public final android.service.voice.AlwaysOnHotwordDetector createAlwaysOnHotwordDetector(@NonNull String, @NonNull java.util.Locale, @NonNull java.util.concurrent.Executor, @NonNull android.service.voice.AlwaysOnHotwordDetector.Callback);
20553    method @Deprecated @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);
20554    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 java.util.concurrent.Executor, @NonNull android.service.voice.HotwordDetector.Callback);
20555    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_VOICE_KEYPHRASES) public final android.media.voice.KeyphraseModelManager createKeyphraseModelManager();
20556    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_HOTWORD_DETECTION) public final android.service.voice.VisualQueryDetector createVisualQueryDetector(@Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory, @NonNull java.util.concurrent.Executor, @NonNull android.service.voice.VisualQueryDetector.Callback);
20557  }
20558
20559}
20560
20561package android.service.wallpaper {
20562
20563  public class WallpaperService.Engine {
20564    method public boolean isInAmbientMode();
20565    method @MainThread public void onAmbientModeChanged(boolean, long);
20566  }
20567
20568}
20569
20570package android.service.wallpapereffectsgeneration {
20571
20572  public abstract class WallpaperEffectsGenerationService extends android.app.Service {
20573    ctor public WallpaperEffectsGenerationService();
20574    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
20575    method @MainThread public abstract void onGenerateCinematicEffect(@NonNull android.app.wallpapereffectsgeneration.CinematicEffectRequest);
20576    method public final void returnCinematicEffectResponse(@NonNull android.app.wallpapereffectsgeneration.CinematicEffectResponse);
20577    field public static final String SERVICE_INTERFACE = "android.service.wallpapereffectsgeneration.WallpaperEffectsGenerationService";
20578  }
20579
20580}
20581
20582package android.service.watchdog {
20583
20584  public abstract class ExplicitHealthCheckService extends android.app.Service {
20585    ctor public ExplicitHealthCheckService();
20586    method public final void notifyHealthCheckPassed(@NonNull String);
20587    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
20588    method public abstract void onCancelHealthCheck(@NonNull String);
20589    method @NonNull public abstract java.util.List<java.lang.String> onGetRequestedPackages();
20590    method @NonNull public abstract java.util.List<android.service.watchdog.ExplicitHealthCheckService.PackageConfig> onGetSupportedPackages();
20591    method public abstract void onRequestHealthCheck(@NonNull String);
20592    field public static final String BIND_PERMISSION = "android.permission.BIND_EXPLICIT_HEALTH_CHECK_SERVICE";
20593    field public static final String SERVICE_INTERFACE = "android.service.watchdog.ExplicitHealthCheckService";
20594  }
20595
20596  public static final class ExplicitHealthCheckService.PackageConfig implements android.os.Parcelable {
20597    ctor public ExplicitHealthCheckService.PackageConfig(@NonNull String, long);
20598    method public int describeContents();
20599    method public long getHealthCheckTimeoutMillis();
20600    method @NonNull public String getPackageName();
20601    method public void writeToParcel(android.os.Parcel, int);
20602    field @NonNull public static final android.os.Parcelable.Creator<android.service.watchdog.ExplicitHealthCheckService.PackageConfig> CREATOR;
20603  }
20604
20605}
20606
20607package android.service.wearable {
20608
20609  public interface WearableSensingDataRequester {
20610    method public void requestData(@NonNull android.app.wearable.WearableSensingDataRequest, @NonNull java.util.function.Consumer<java.lang.Integer>);
20611    field public static final int STATUS_OBSERVER_CANCELLED = 2; // 0x2
20612    field public static final int STATUS_SUCCESS = 1; // 0x1
20613    field public static final int STATUS_TOO_FREQUENT = 4; // 0x4
20614    field public static final int STATUS_TOO_LARGE = 3; // 0x3
20615    field public static final int STATUS_UNKNOWN = 0; // 0x0
20616  }
20617
20618  public abstract class WearableSensingService extends android.app.Service {
20619    ctor public WearableSensingService();
20620    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
20621    method @BinderThread public abstract void onDataProvided(@NonNull android.os.PersistableBundle, @Nullable android.os.SharedMemory, @NonNull java.util.function.Consumer<java.lang.Integer>);
20622    method @BinderThread public void onDataRequestObserverRegistered(int, @NonNull String, @NonNull android.service.wearable.WearableSensingDataRequester, @NonNull java.util.function.Consumer<java.lang.Integer>);
20623    method @BinderThread public void onDataRequestObserverUnregistered(int, @NonNull String, @NonNull android.service.wearable.WearableSensingDataRequester, @NonNull java.util.function.Consumer<java.lang.Integer>);
20624    method @BinderThread public abstract void onDataStreamProvided(@NonNull android.os.ParcelFileDescriptor, @NonNull java.util.function.Consumer<java.lang.Integer>);
20625    method @BinderThread public abstract void onQueryServiceStatus(@NonNull java.util.Set<java.lang.Integer>, @NonNull String, @NonNull java.util.function.Consumer<android.service.ambientcontext.AmbientContextDetectionServiceStatus>);
20626    method @BinderThread public void onSecureConnectionProvided(@NonNull android.os.ParcelFileDescriptor, @NonNull java.util.function.Consumer<java.lang.Integer>);
20627    method @BinderThread public abstract void onStartDetection(@NonNull android.app.ambientcontext.AmbientContextEventRequest, @NonNull String, @NonNull java.util.function.Consumer<android.service.ambientcontext.AmbientContextDetectionServiceStatus>, @NonNull java.util.function.Consumer<android.service.ambientcontext.AmbientContextDetectionResult>);
20628    method @BinderThread public void onStartHotwordRecognition(@NonNull java.util.function.Consumer<android.service.voice.HotwordAudioStream>, @NonNull java.util.function.Consumer<java.lang.Integer>);
20629    method public abstract void onStopDetection(@NonNull String);
20630    method @BinderThread public void onStopHotwordAudioStream();
20631    method @BinderThread public void onStopHotwordRecognition(@NonNull java.util.function.Consumer<java.lang.Integer>);
20632    method @BinderThread public void onValidatedByHotwordDetectionService();
20633    field public static final String SERVICE_INTERFACE = "android.service.wearable.WearableSensingService";
20634  }
20635
20636}
20637
20638package android.system.virtualmachine {
20639
20640  public class VirtualMachine implements java.lang.AutoCloseable {
20641    method public void clearCallback();
20642    method @WorkerThread public void close();
20643    method @NonNull @WorkerThread public android.os.IBinder connectToVsockServer(@IntRange(from=android.system.virtualmachine.VirtualMachine.MIN_VSOCK_PORT, to=android.system.virtualmachine.VirtualMachine.MAX_VSOCK_PORT) long) throws android.system.virtualmachine.VirtualMachineException;
20644    method @NonNull @WorkerThread public android.os.ParcelFileDescriptor connectVsock(@IntRange(from=android.system.virtualmachine.VirtualMachine.MIN_VSOCK_PORT, to=android.system.virtualmachine.VirtualMachine.MAX_VSOCK_PORT) long) throws android.system.virtualmachine.VirtualMachineException;
20645    method @NonNull @WorkerThread public android.system.virtualmachine.VirtualMachineConfig getConfig();
20646    method @NonNull @WorkerThread public java.io.InputStream getConsoleOutput() throws android.system.virtualmachine.VirtualMachineException;
20647    method @NonNull @WorkerThread public java.io.InputStream getLogOutput() throws android.system.virtualmachine.VirtualMachineException;
20648    method @NonNull public String getName();
20649    method @WorkerThread public int getStatus();
20650    method @RequiresPermission(android.system.virtualmachine.VirtualMachine.MANAGE_VIRTUAL_MACHINE_PERMISSION) @WorkerThread public void run() throws android.system.virtualmachine.VirtualMachineException;
20651    method public void setCallback(@NonNull java.util.concurrent.Executor, @NonNull android.system.virtualmachine.VirtualMachineCallback);
20652    method @NonNull @WorkerThread public android.system.virtualmachine.VirtualMachineConfig setConfig(@NonNull android.system.virtualmachine.VirtualMachineConfig) throws android.system.virtualmachine.VirtualMachineException;
20653    method @WorkerThread public void stop() throws android.system.virtualmachine.VirtualMachineException;
20654    method @NonNull @WorkerThread public android.system.virtualmachine.VirtualMachineDescriptor toDescriptor() throws android.system.virtualmachine.VirtualMachineException;
20655    field public static final String MANAGE_VIRTUAL_MACHINE_PERMISSION = "android.permission.MANAGE_VIRTUAL_MACHINE";
20656    field public static final long MAX_VSOCK_PORT = 4294967295L; // 0xffffffffL
20657    field public static final long MIN_VSOCK_PORT = 1024L; // 0x400L
20658    field public static final int STATUS_DELETED = 2; // 0x2
20659    field public static final int STATUS_RUNNING = 1; // 0x1
20660    field public static final int STATUS_STOPPED = 0; // 0x0
20661    field public static final String USE_CUSTOM_VIRTUAL_MACHINE_PERMISSION = "android.permission.USE_CUSTOM_VIRTUAL_MACHINE";
20662  }
20663
20664  public interface VirtualMachineCallback {
20665    method public void onError(@NonNull android.system.virtualmachine.VirtualMachine, int, @NonNull String);
20666    method public void onPayloadFinished(@NonNull android.system.virtualmachine.VirtualMachine, int);
20667    method public void onPayloadReady(@NonNull android.system.virtualmachine.VirtualMachine);
20668    method public void onPayloadStarted(@NonNull android.system.virtualmachine.VirtualMachine);
20669    method public void onStopped(@NonNull android.system.virtualmachine.VirtualMachine, int);
20670    field public static final int ERROR_PAYLOAD_CHANGED = 2; // 0x2
20671    field public static final int ERROR_PAYLOAD_INVALID_CONFIG = 3; // 0x3
20672    field public static final int ERROR_PAYLOAD_VERIFICATION_FAILED = 1; // 0x1
20673    field public static final int ERROR_UNKNOWN = 0; // 0x0
20674    field public static final int STOP_REASON_BOOTLOADER_INSTANCE_IMAGE_CHANGED = 10; // 0xa
20675    field public static final int STOP_REASON_BOOTLOADER_PUBLIC_KEY_MISMATCH = 9; // 0x9
20676    field public static final int STOP_REASON_CRASH = 6; // 0x6
20677    field public static final int STOP_REASON_HANGUP = 16; // 0x10
20678    field public static final int STOP_REASON_INFRASTRUCTURE_ERROR = 0; // 0x0
20679    field public static final int STOP_REASON_KILLED = 1; // 0x1
20680    field public static final int STOP_REASON_MICRODROID_FAILED_TO_CONNECT_TO_VIRTUALIZATION_SERVICE = 11; // 0xb
20681    field public static final int STOP_REASON_MICRODROID_INVALID_PAYLOAD_CONFIG = 14; // 0xe
20682    field public static final int STOP_REASON_MICRODROID_PAYLOAD_HAS_CHANGED = 12; // 0xc
20683    field public static final int STOP_REASON_MICRODROID_PAYLOAD_VERIFICATION_FAILED = 13; // 0xd
20684    field public static final int STOP_REASON_MICRODROID_UNKNOWN_RUNTIME_ERROR = 15; // 0xf
20685    field public static final int STOP_REASON_PVM_FIRMWARE_INSTANCE_IMAGE_CHANGED = 8; // 0x8
20686    field public static final int STOP_REASON_PVM_FIRMWARE_PUBLIC_KEY_MISMATCH = 7; // 0x7
20687    field public static final int STOP_REASON_REBOOT = 5; // 0x5
20688    field public static final int STOP_REASON_SHUTDOWN = 3; // 0x3
20689    field public static final int STOP_REASON_START_FAILED = 4; // 0x4
20690    field public static final int STOP_REASON_UNKNOWN = 2; // 0x2
20691    field public static final int STOP_REASON_VIRTUALIZATION_SERVICE_DIED = -1; // 0xffffffff
20692  }
20693
20694  public final class VirtualMachineConfig {
20695    method @Nullable public String getApkPath();
20696    method public int getCpuTopology();
20697    method public int getDebugLevel();
20698    method @IntRange(from=0) public long getEncryptedStorageBytes();
20699    method @IntRange(from=0) public long getMemoryBytes();
20700    method @Nullable public String getPayloadBinaryName();
20701    method public boolean isCompatibleWith(@NonNull android.system.virtualmachine.VirtualMachineConfig);
20702    method public boolean isEncryptedStorageEnabled();
20703    method public boolean isProtectedVm();
20704    method public boolean isVmOutputCaptured();
20705    field public static final int CPU_TOPOLOGY_MATCH_HOST = 1; // 0x1
20706    field public static final int CPU_TOPOLOGY_ONE_CPU = 0; // 0x0
20707    field public static final int DEBUG_LEVEL_FULL = 1; // 0x1
20708    field public static final int DEBUG_LEVEL_NONE = 0; // 0x0
20709  }
20710
20711  public static final class VirtualMachineConfig.Builder {
20712    ctor public VirtualMachineConfig.Builder(@NonNull android.content.Context);
20713    method @NonNull public android.system.virtualmachine.VirtualMachineConfig build();
20714    method @NonNull public android.system.virtualmachine.VirtualMachineConfig.Builder setApkPath(@NonNull String);
20715    method @NonNull public android.system.virtualmachine.VirtualMachineConfig.Builder setCpuTopology(int);
20716    method @NonNull public android.system.virtualmachine.VirtualMachineConfig.Builder setDebugLevel(int);
20717    method @NonNull public android.system.virtualmachine.VirtualMachineConfig.Builder setEncryptedStorageBytes(@IntRange(from=1) long);
20718    method @NonNull public android.system.virtualmachine.VirtualMachineConfig.Builder setMemoryBytes(@IntRange(from=1) long);
20719    method @NonNull public android.system.virtualmachine.VirtualMachineConfig.Builder setPayloadBinaryName(@NonNull String);
20720    method @NonNull public android.system.virtualmachine.VirtualMachineConfig.Builder setProtectedVm(boolean);
20721    method @NonNull public android.system.virtualmachine.VirtualMachineConfig.Builder setVmOutputCaptured(boolean);
20722  }
20723
20724  public final class VirtualMachineDescriptor implements java.lang.AutoCloseable android.os.Parcelable {
20725    method public void close();
20726    method public int describeContents();
20727    method public void writeToParcel(@NonNull android.os.Parcel, int);
20728    field @NonNull public static final android.os.Parcelable.Creator<android.system.virtualmachine.VirtualMachineDescriptor> CREATOR;
20729  }
20730
20731  public class VirtualMachineException extends java.lang.Exception {
20732  }
20733
20734  public class VirtualMachineManager {
20735    method @NonNull @RequiresPermission(android.system.virtualmachine.VirtualMachine.MANAGE_VIRTUAL_MACHINE_PERMISSION) @WorkerThread public android.system.virtualmachine.VirtualMachine create(@NonNull String, @NonNull android.system.virtualmachine.VirtualMachineConfig) throws android.system.virtualmachine.VirtualMachineException;
20736    method @WorkerThread public void delete(@NonNull String) throws android.system.virtualmachine.VirtualMachineException;
20737    method @Nullable @WorkerThread public android.system.virtualmachine.VirtualMachine get(@NonNull String) throws android.system.virtualmachine.VirtualMachineException;
20738    method public int getCapabilities();
20739    method @NonNull @WorkerThread public android.system.virtualmachine.VirtualMachine getOrCreate(@NonNull String, @NonNull android.system.virtualmachine.VirtualMachineConfig) throws android.system.virtualmachine.VirtualMachineException;
20740    method @NonNull @WorkerThread public android.system.virtualmachine.VirtualMachine importFromDescriptor(@NonNull String, @NonNull android.system.virtualmachine.VirtualMachineDescriptor) throws android.system.virtualmachine.VirtualMachineException;
20741    field public static final int CAPABILITY_NON_PROTECTED_VM = 2; // 0x2
20742    field public static final int CAPABILITY_PROTECTED_VM = 1; // 0x1
20743  }
20744
20745}
20746
20747package android.telecom {
20748
20749  @Deprecated public class AudioState implements android.os.Parcelable {
20750    ctor @Deprecated public AudioState(android.telecom.AudioState);
20751    ctor @Deprecated public AudioState(android.telecom.CallAudioState);
20752    ctor @Deprecated public AudioState(boolean, int, int);
20753    method @Deprecated public static String audioRouteToString(int);
20754    method @Deprecated public int describeContents();
20755    method @Deprecated public int getRoute();
20756    method @Deprecated public int getSupportedRouteMask();
20757    method @Deprecated public boolean isMuted();
20758    method @Deprecated public void writeToParcel(android.os.Parcel, int);
20759    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.telecom.AudioState> CREATOR;
20760    field @Deprecated public static final int ROUTE_BLUETOOTH = 2; // 0x2
20761    field @Deprecated public static final int ROUTE_EARPIECE = 1; // 0x1
20762    field @Deprecated public static final int ROUTE_SPEAKER = 8; // 0x8
20763    field @Deprecated public static final int ROUTE_WIRED_HEADSET = 4; // 0x4
20764    field @Deprecated public static final int ROUTE_WIRED_OR_EARPIECE = 5; // 0x5
20765  }
20766
20767  public final class BluetoothCallQualityReport implements android.os.Parcelable {
20768    method public int describeContents();
20769    method @IntRange(from=0) public int getNegativeAcknowledgementCount();
20770    method @IntRange(from=0) public int getPacketsNotReceivedCount();
20771    method @IntRange(from=0) public int getRetransmittedPacketsCount();
20772    method @IntRange(from=0xffffff81, to=20) public int getRssiDbm();
20773    method public long getSentTimestampMillis();
20774    method public int getSnrDb();
20775    method public boolean isChoppyVoice();
20776    method public void writeToParcel(@NonNull android.os.Parcel, int);
20777    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.BluetoothCallQualityReport> CREATOR;
20778    field public static final String EVENT_BLUETOOTH_CALL_QUALITY_REPORT = "android.telecom.event.BLUETOOTH_CALL_QUALITY_REPORT";
20779    field public static final String EXTRA_BLUETOOTH_CALL_QUALITY_REPORT = "android.telecom.extra.BLUETOOTH_CALL_QUALITY_REPORT";
20780  }
20781
20782  public static final class BluetoothCallQualityReport.Builder {
20783    ctor public BluetoothCallQualityReport.Builder();
20784    method @NonNull public android.telecom.BluetoothCallQualityReport build();
20785    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setChoppyVoice(boolean);
20786    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setNegativeAcknowledgementCount(int);
20787    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setPacketsNotReceivedCount(int);
20788    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setRetransmittedPacketsCount(int);
20789    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setRssiDbm(int);
20790    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setSentTimestampMillis(long);
20791    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setSnrDb(int);
20792  }
20793
20794  public final class Call {
20795    method @Deprecated public void addListener(android.telecom.Call.Listener);
20796    method public void enterBackgroundAudioProcessing();
20797    method public void exitBackgroundAudioProcessing(boolean);
20798    method @Deprecated public void removeListener(android.telecom.Call.Listener);
20799    field @Deprecated public static final int STATE_PRE_DIAL_WAIT = 8; // 0x8
20800  }
20801
20802  @Deprecated public abstract static class Call.Listener extends android.telecom.Call.Callback {
20803    ctor @Deprecated public Call.Listener();
20804  }
20805
20806  public abstract class CallDiagnosticService extends android.app.Service {
20807    ctor public CallDiagnosticService();
20808    method @NonNull public java.util.concurrent.Executor getExecutor();
20809    method @Nullable public android.os.IBinder onBind(@NonNull android.content.Intent);
20810    method public abstract void onBluetoothCallQualityReportReceived(@NonNull android.telecom.BluetoothCallQualityReport);
20811    method public abstract void onCallAudioStateChanged(@NonNull android.telecom.CallAudioState);
20812    method @NonNull public abstract android.telecom.CallDiagnostics onInitializeCallDiagnostics(@NonNull android.telecom.Call.Details);
20813    method public abstract void onRemoveCallDiagnostics(@NonNull android.telecom.CallDiagnostics);
20814    field public static final String SERVICE_INTERFACE = "android.telecom.CallDiagnosticService";
20815  }
20816
20817  public abstract class CallDiagnostics {
20818    ctor public CallDiagnostics();
20819    method public final void clearDiagnosticMessage(int);
20820    method public final void displayDiagnosticMessage(int, @NonNull CharSequence);
20821    method public abstract void onCallDetailsChanged(@NonNull android.telecom.Call.Details);
20822    method @Nullable public abstract CharSequence onCallDisconnected(@NonNull android.telephony.ims.ImsReasonInfo);
20823    method @Nullable public abstract CharSequence onCallDisconnected(int, int);
20824    method public abstract void onCallQualityReceived(@NonNull android.telephony.CallQuality);
20825    method public abstract void onReceiveDeviceToDeviceMessage(int, int);
20826    method public final void sendDeviceToDeviceMessage(int, int);
20827    field public static final int BATTERY_STATE_CHARGING = 3; // 0x3
20828    field public static final int BATTERY_STATE_GOOD = 2; // 0x2
20829    field public static final int BATTERY_STATE_LOW = 1; // 0x1
20830    field public static final int COVERAGE_GOOD = 2; // 0x2
20831    field public static final int COVERAGE_POOR = 1; // 0x1
20832    field public static final int MESSAGE_CALL_AUDIO_CODEC = 2; // 0x2
20833    field public static final int MESSAGE_CALL_NETWORK_TYPE = 1; // 0x1
20834    field public static final int MESSAGE_DEVICE_BATTERY_STATE = 3; // 0x3
20835    field public static final int MESSAGE_DEVICE_NETWORK_COVERAGE = 4; // 0x4
20836  }
20837
20838  public static class CallScreeningService.CallResponse.Builder {
20839    method @NonNull @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_OUTPUT) public android.telecom.CallScreeningService.CallResponse.Builder setShouldScreenCallViaAudioProcessing(boolean);
20840  }
20841
20842  public abstract class CallStreamingService extends android.app.Service {
20843    ctor public CallStreamingService();
20844    method @Nullable public android.os.IBinder onBind(@NonNull android.content.Intent);
20845    method public void onCallStreamingStarted(@NonNull android.telecom.StreamingCall);
20846    method public void onCallStreamingStateChanged(int);
20847    method public void onCallStreamingStopped();
20848    field public static final String SERVICE_INTERFACE = "android.telecom.CallStreamingService";
20849    field public static final int STREAMING_FAILED_ALREADY_STREAMING = 1; // 0x1
20850    field public static final int STREAMING_FAILED_NO_SENDER = 2; // 0x2
20851    field public static final int STREAMING_FAILED_SENDER_BINDING_ERROR = 3; // 0x3
20852    field public static final int STREAMING_FAILED_UNKNOWN = 0; // 0x0
20853  }
20854
20855  public abstract class Conference extends android.telecom.Conferenceable {
20856    method @Deprecated public final android.telecom.AudioState getAudioState();
20857    method @Deprecated public final long getConnectTimeMillis();
20858    method public android.telecom.Connection getPrimaryConnection();
20859    method @NonNull public final String getTelecomCallId();
20860    method @Deprecated public void onAudioStateChanged(android.telecom.AudioState);
20861    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public final void setAddress(@NonNull android.net.Uri, int);
20862    method public final void setCallerDisplayName(@NonNull String, int);
20863    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setConferenceState(boolean);
20864    method @Deprecated public final void setConnectTimeMillis(long);
20865  }
20866
20867  public abstract class Connection extends android.telecom.Conferenceable {
20868    method @Deprecated public final android.telecom.AudioState getAudioState();
20869    method @IntRange(from=0) public final long getConnectTimeMillis();
20870    method public final long getConnectionStartElapsedRealtimeMillis();
20871    method @Nullable public android.telecom.PhoneAccountHandle getPhoneAccountHandle();
20872    method @Nullable public final String getTelecomCallId();
20873    method @Deprecated public void onAudioStateChanged(android.telecom.AudioState);
20874    method @RequiresPermission(android.Manifest.permission.READ_CONTACTS) public void onCallFilteringCompleted(@NonNull android.telecom.Connection.CallFilteringCompletionInfo);
20875    method public final void resetConnectionTime();
20876    method public void setCallDirection(int);
20877    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public final void setConnectTimeMillis(@IntRange(from=0) long);
20878    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public final void setConnectionStartElapsedRealtimeMillis(long);
20879    method public void setPhoneAccountHandle(@NonNull android.telecom.PhoneAccountHandle);
20880    method public void setTelecomCallId(@NonNull String);
20881    field public static final int CAPABILITY_CONFERENCE_HAS_NO_CHILDREN = 2097152; // 0x200000
20882    field public static final int CAPABILITY_SPEED_UP_MT_AUDIO = 262144; // 0x40000
20883    field public static final String EVENT_DEVICE_TO_DEVICE_MESSAGE = "android.telecom.event.DEVICE_TO_DEVICE_MESSAGE";
20884    field public static final String EXTRA_DEVICE_TO_DEVICE_MESSAGE_TYPE = "android.telecom.extra.DEVICE_TO_DEVICE_MESSAGE_TYPE";
20885    field public static final String EXTRA_DEVICE_TO_DEVICE_MESSAGE_VALUE = "android.telecom.extra.DEVICE_TO_DEVICE_MESSAGE_VALUE";
20886    field public static final String EXTRA_DISABLE_ADD_CALL = "android.telecom.extra.DISABLE_ADD_CALL";
20887    field public static final int PROPERTY_EMERGENCY_CALLBACK_MODE = 1; // 0x1
20888    field public static final int PROPERTY_GENERIC_CONFERENCE = 2; // 0x2
20889    field public static final int PROPERTY_IS_DOWNGRADED_CONFERENCE = 64; // 0x40
20890    field public static final int PROPERTY_REMOTELY_HOSTED = 2048; // 0x800
20891  }
20892
20893  public static final class Connection.CallFilteringCompletionInfo implements android.os.Parcelable {
20894    ctor public Connection.CallFilteringCompletionInfo(boolean, boolean, @Nullable android.telecom.CallScreeningService.CallResponse, @Nullable android.content.ComponentName);
20895    method public int describeContents();
20896    method @Nullable public android.telecom.CallScreeningService.CallResponse getCallResponse();
20897    method @Nullable public android.content.ComponentName getCallScreeningComponent();
20898    method public boolean isBlocked();
20899    method public boolean isInContacts();
20900    method public void writeToParcel(android.os.Parcel, int);
20901    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.Connection.CallFilteringCompletionInfo> CREATOR;
20902  }
20903
20904  public final class ConnectionRequest implements android.os.Parcelable {
20905    method @Nullable public String getTelecomCallId();
20906  }
20907
20908  public abstract class ConnectionService extends android.app.Service {
20909    method public final void addExistingConnection(@NonNull android.telecom.PhoneAccountHandle, @NonNull android.telecom.Connection, @NonNull android.telecom.Conference);
20910  }
20911
20912  public abstract class InCallService extends android.app.Service {
20913    method @Deprecated public android.telecom.Phone getPhone();
20914    method @Deprecated public void onPhoneCreated(android.telecom.Phone);
20915    method @Deprecated public void onPhoneDestroyed(android.telecom.Phone);
20916  }
20917
20918  public class ParcelableCallAnalytics implements android.os.Parcelable {
20919    ctor public ParcelableCallAnalytics(android.os.Parcel);
20920    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>);
20921    method public java.util.List<android.telecom.ParcelableCallAnalytics.AnalyticsEvent> analyticsEvents();
20922    method public int describeContents();
20923    method public long getCallDurationMillis();
20924    method public int getCallTechnologies();
20925    method public int getCallTerminationCode();
20926    method public int getCallType();
20927    method public String getConnectionService();
20928    method public java.util.List<android.telecom.ParcelableCallAnalytics.EventTiming> getEventTimings();
20929    method public long getStartTimeMillis();
20930    method public boolean isAdditionalCall();
20931    method public boolean isCreatedFromExistingConnection();
20932    method public boolean isEmergencyCall();
20933    method public boolean isInterrupted();
20934    method public void writeToParcel(android.os.Parcel, int);
20935    field public static final int CALLTYPE_INCOMING = 1; // 0x1
20936    field public static final int CALLTYPE_OUTGOING = 2; // 0x2
20937    field public static final int CALLTYPE_UNKNOWN = 0; // 0x0
20938    field public static final int CDMA_PHONE = 1; // 0x1
20939    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.ParcelableCallAnalytics> CREATOR;
20940    field public static final int GSM_PHONE = 2; // 0x2
20941    field public static final int IMS_PHONE = 4; // 0x4
20942    field public static final long MILLIS_IN_1_SECOND = 1000L; // 0x3e8L
20943    field public static final long MILLIS_IN_5_MINUTES = 300000L; // 0x493e0L
20944    field public static final int SIP_PHONE = 8; // 0x8
20945    field public static final int STILL_CONNECTED = -1; // 0xffffffff
20946    field public static final int THIRD_PARTY_PHONE = 16; // 0x10
20947  }
20948
20949  public static final class ParcelableCallAnalytics.AnalyticsEvent implements android.os.Parcelable {
20950    ctor public ParcelableCallAnalytics.AnalyticsEvent(int, long);
20951    method public int describeContents();
20952    method public int getEventName();
20953    method public long getTimeSinceLastEvent();
20954    method public void writeToParcel(android.os.Parcel, int);
20955    field public static final int AUDIO_ROUTE_BT = 204; // 0xcc
20956    field public static final int AUDIO_ROUTE_EARPIECE = 205; // 0xcd
20957    field public static final int AUDIO_ROUTE_HEADSET = 206; // 0xce
20958    field public static final int AUDIO_ROUTE_SPEAKER = 207; // 0xcf
20959    field public static final int BIND_CS = 5; // 0x5
20960    field public static final int BLOCK_CHECK_FINISHED = 105; // 0x69
20961    field public static final int BLOCK_CHECK_INITIATED = 104; // 0x68
20962    field public static final int CONFERENCE_WITH = 300; // 0x12c
20963    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.ParcelableCallAnalytics.AnalyticsEvent> CREATOR;
20964    field public static final int CS_BOUND = 6; // 0x6
20965    field public static final int DIRECT_TO_VM_FINISHED = 103; // 0x67
20966    field public static final int DIRECT_TO_VM_INITIATED = 102; // 0x66
20967    field public static final int DND_CHECK_COMPLETED = 110; // 0x6e
20968    field public static final int DND_CHECK_INITIATED = 109; // 0x6d
20969    field public static final int FILTERING_COMPLETED = 107; // 0x6b
20970    field public static final int FILTERING_INITIATED = 106; // 0x6a
20971    field public static final int FILTERING_TIMED_OUT = 108; // 0x6c
20972    field public static final int MUTE = 202; // 0xca
20973    field public static final int REMOTELY_HELD = 402; // 0x192
20974    field public static final int REMOTELY_UNHELD = 403; // 0x193
20975    field public static final int REQUEST_ACCEPT = 7; // 0x7
20976    field public static final int REQUEST_HOLD = 400; // 0x190
20977    field public static final int REQUEST_PULL = 500; // 0x1f4
20978    field public static final int REQUEST_REJECT = 8; // 0x8
20979    field public static final int REQUEST_UNHOLD = 401; // 0x191
20980    field public static final int SCREENING_COMPLETED = 101; // 0x65
20981    field public static final int SCREENING_SENT = 100; // 0x64
20982    field public static final int SET_ACTIVE = 1; // 0x1
20983    field public static final int SET_DIALING = 4; // 0x4
20984    field public static final int SET_DISCONNECTED = 2; // 0x2
20985    field public static final int SET_HOLD = 404; // 0x194
20986    field public static final int SET_PARENT = 302; // 0x12e
20987    field public static final int SET_SELECT_PHONE_ACCOUNT = 0; // 0x0
20988    field public static final int SILENCE = 201; // 0xc9
20989    field public static final int SKIP_RINGING = 200; // 0xc8
20990    field public static final int SPLIT_CONFERENCE = 301; // 0x12d
20991    field public static final int START_CONNECTION = 3; // 0x3
20992    field public static final int SWAP = 405; // 0x195
20993    field public static final int UNMUTE = 203; // 0xcb
20994  }
20995
20996  public static final class ParcelableCallAnalytics.EventTiming implements android.os.Parcelable {
20997    ctor public ParcelableCallAnalytics.EventTiming(int, long);
20998    method public int describeContents();
20999    method public int getName();
21000    method public long getTime();
21001    method public void writeToParcel(android.os.Parcel, int);
21002    field public static final int ACCEPT_TIMING = 0; // 0x0
21003    field public static final int BIND_CS_TIMING = 6; // 0x6
21004    field public static final int BLOCK_CHECK_FINISHED_TIMING = 9; // 0x9
21005    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.ParcelableCallAnalytics.EventTiming> CREATOR;
21006    field public static final int DIRECT_TO_VM_FINISHED_TIMING = 8; // 0x8
21007    field public static final int DISCONNECT_TIMING = 2; // 0x2
21008    field public static final int DND_PRE_CALL_PRE_CHECK_TIMING = 12; // 0xc
21009    field public static final int FILTERING_COMPLETED_TIMING = 10; // 0xa
21010    field public static final int FILTERING_TIMED_OUT_TIMING = 11; // 0xb
21011    field public static final int HOLD_TIMING = 3; // 0x3
21012    field public static final int INVALID = 999999; // 0xf423f
21013    field public static final int OUTGOING_TIME_TO_DIALING_TIMING = 5; // 0x5
21014    field public static final int REJECT_TIMING = 1; // 0x1
21015    field public static final int SCREENING_COMPLETED_TIMING = 7; // 0x7
21016    field public static final int UNHOLD_TIMING = 4; // 0x4
21017  }
21018
21019  @Deprecated public final class Phone {
21020    method @Deprecated public void addListener(android.telecom.Phone.Listener);
21021    method @Deprecated public boolean canAddCall();
21022    method @Deprecated public android.telecom.AudioState getAudioState();
21023    method @Deprecated public android.telecom.CallAudioState getCallAudioState();
21024    method @Deprecated public java.util.List<android.telecom.Call> getCalls();
21025    method @Deprecated public void removeListener(android.telecom.Phone.Listener);
21026    method @Deprecated public void requestBluetoothAudio(String);
21027    method @Deprecated public void setAudioRoute(int);
21028    method @Deprecated public void setMuted(boolean);
21029  }
21030
21031  @Deprecated public abstract static class Phone.Listener {
21032    ctor @Deprecated public Phone.Listener();
21033    method @Deprecated public void onAudioStateChanged(android.telecom.Phone, android.telecom.AudioState);
21034    method @Deprecated public void onBringToForeground(android.telecom.Phone, boolean);
21035    method @Deprecated public void onCallAdded(android.telecom.Phone, android.telecom.Call);
21036    method @Deprecated public void onCallAudioStateChanged(android.telecom.Phone, android.telecom.CallAudioState);
21037    method @Deprecated public void onCallRemoved(android.telecom.Phone, android.telecom.Call);
21038    method @Deprecated public void onCanAddCallChanged(android.telecom.Phone, boolean);
21039    method @Deprecated public void onSilenceRinger(android.telecom.Phone);
21040  }
21041
21042  public final class PhoneAccount implements android.os.Parcelable {
21043    field public static final int CAPABILITY_EMERGENCY_CALLS_ONLY = 128; // 0x80
21044    field public static final int CAPABILITY_EMERGENCY_PREFERRED = 8192; // 0x2000
21045    field public static final int CAPABILITY_EMERGENCY_VIDEO_CALLING = 512; // 0x200
21046    field public static final int CAPABILITY_MULTI_USER = 32; // 0x20
21047    field public static final String EXTRA_PLAY_CALL_RECORDING_TONE = "android.telecom.extra.PLAY_CALL_RECORDING_TONE";
21048    field public static final String EXTRA_SORT_ORDER = "android.telecom.extra.SORT_ORDER";
21049  }
21050
21051  public static class PhoneAccount.Builder {
21052    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telecom.PhoneAccount.Builder setGroupId(@NonNull String);
21053  }
21054
21055  public class PhoneAccountSuggestionService extends android.app.Service {
21056    ctor public PhoneAccountSuggestionService();
21057    method public void onAccountSuggestionRequest(@NonNull String);
21058    method public android.os.IBinder onBind(android.content.Intent);
21059    method public final void suggestPhoneAccounts(@NonNull String, @NonNull java.util.List<android.telecom.PhoneAccountSuggestion>);
21060    field public static final String SERVICE_INTERFACE = "android.telecom.PhoneAccountSuggestionService";
21061  }
21062
21063  public final class RemoteConference {
21064    method @Deprecated public void setAudioState(android.telecom.AudioState);
21065  }
21066
21067  public final class RemoteConnection {
21068    method @RequiresPermission(android.Manifest.permission.READ_CONTACTS) public void onCallFilteringCompleted(@NonNull android.telecom.Connection.CallFilteringCompletionInfo);
21069    method @Deprecated public void setAudioState(android.telecom.AudioState);
21070  }
21071
21072  public final class StatusHints implements android.os.Parcelable {
21073    ctor @Deprecated public StatusHints(android.content.ComponentName, CharSequence, int, android.os.Bundle);
21074    method @Deprecated public android.graphics.drawable.Drawable getIcon(android.content.Context);
21075    method @Deprecated public int getIconResId();
21076    method @Deprecated public android.content.ComponentName getPackageName();
21077  }
21078
21079  public final class StreamingCall implements android.os.Parcelable {
21080    ctor public StreamingCall(@NonNull android.content.ComponentName, @NonNull CharSequence, @NonNull android.net.Uri, @NonNull android.os.Bundle);
21081    method public int describeContents();
21082    method @NonNull public android.net.Uri getAddress();
21083    method @NonNull public android.content.ComponentName getComponentName();
21084    method @NonNull public CharSequence getDisplayName();
21085    method @NonNull public android.os.Bundle getExtras();
21086    method public int getState();
21087    method public void requestStreamingState(int);
21088    method public void writeToParcel(@NonNull android.os.Parcel, int);
21089    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.StreamingCall> CREATOR;
21090    field public static final String EXTRA_CALL_ID = "android.telecom.extra.CALL_ID";
21091    field public static final int STATE_DISCONNECTED = 3; // 0x3
21092    field public static final int STATE_HOLDING = 2; // 0x2
21093    field public static final int STATE_STREAMING = 1; // 0x1
21094  }
21095
21096  public final class TelecomAnalytics implements android.os.Parcelable {
21097    ctor public TelecomAnalytics(java.util.List<android.telecom.TelecomAnalytics.SessionTiming>, java.util.List<android.telecom.ParcelableCallAnalytics>);
21098    method public int describeContents();
21099    method public java.util.List<android.telecom.ParcelableCallAnalytics> getCallAnalytics();
21100    method public java.util.List<android.telecom.TelecomAnalytics.SessionTiming> getSessionTimings();
21101    method public void writeToParcel(android.os.Parcel, int);
21102    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.TelecomAnalytics> CREATOR;
21103  }
21104
21105  public static final class TelecomAnalytics.SessionTiming implements android.os.Parcelable {
21106    ctor public TelecomAnalytics.SessionTiming(int, long);
21107    method public int describeContents();
21108    method public Integer getKey();
21109    method public long getTime();
21110    method public void writeToParcel(android.os.Parcel, int);
21111    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.TelecomAnalytics.SessionTiming> CREATOR;
21112    field public static final int CSW_ADD_CONFERENCE_CALL = 108; // 0x6c
21113    field public static final int CSW_HANDLE_CREATE_CONNECTION_COMPLETE = 100; // 0x64
21114    field public static final int CSW_REMOVE_CALL = 106; // 0x6a
21115    field public static final int CSW_SET_ACTIVE = 101; // 0x65
21116    field public static final int CSW_SET_DIALING = 103; // 0x67
21117    field public static final int CSW_SET_DISCONNECTED = 104; // 0x68
21118    field public static final int CSW_SET_IS_CONFERENCED = 107; // 0x6b
21119    field public static final int CSW_SET_ON_HOLD = 105; // 0x69
21120    field public static final int CSW_SET_RINGING = 102; // 0x66
21121    field public static final int ICA_ANSWER_CALL = 1; // 0x1
21122    field public static final int ICA_CONFERENCE = 8; // 0x8
21123    field public static final int ICA_DISCONNECT_CALL = 3; // 0x3
21124    field public static final int ICA_HOLD_CALL = 4; // 0x4
21125    field public static final int ICA_MUTE = 6; // 0x6
21126    field public static final int ICA_REJECT_CALL = 2; // 0x2
21127    field public static final int ICA_SET_AUDIO_ROUTE = 7; // 0x7
21128    field public static final int ICA_UNHOLD_CALL = 5; // 0x5
21129  }
21130
21131  public class TelecomManager {
21132    method public void addNewUnknownCall(android.telecom.PhoneAccountHandle, android.os.Bundle);
21133    method @Deprecated public void clearAccounts();
21134    method public void clearPhoneAccounts();
21135    method @NonNull public android.content.Intent createLaunchEmergencyDialerIntent(@Nullable String);
21136    method @RequiresPermission(android.Manifest.permission.DUMP) public android.telecom.TelecomAnalytics dumpAnalytics();
21137    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void enablePhoneAccount(android.telecom.PhoneAccountHandle, boolean);
21138    method public java.util.List<android.telecom.PhoneAccountHandle> getAllPhoneAccountHandles();
21139    method public java.util.List<android.telecom.PhoneAccount> getAllPhoneAccounts();
21140    method public int getAllPhoneAccountsCount();
21141    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<android.telecom.PhoneAccountHandle> getCallCapablePhoneAccounts(boolean);
21142    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}, conditional=true) public int getCallState();
21143    method public android.telecom.PhoneAccountHandle getConnectionManager();
21144    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getCurrentTtyMode();
21145    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getDefaultDialerPackage(@NonNull android.os.UserHandle);
21146    method @Deprecated public android.content.ComponentName getDefaultPhoneApp();
21147    method @Deprecated public java.util.List<android.telecom.PhoneAccountHandle> getPhoneAccountsForPackage();
21148    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);
21149    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean isInEmergencyCall();
21150    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isRinging();
21151    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setUserSelectedOutgoingPhoneAccount(@Nullable android.telecom.PhoneAccountHandle);
21152    field public static final String ACTION_CURRENT_TTY_MODE_CHANGED = "android.telecom.action.CURRENT_TTY_MODE_CHANGED";
21153    field public static final String ACTION_TTY_PREFERRED_MODE_CHANGED = "android.telecom.action.TTY_PREFERRED_MODE_CHANGED";
21154    field public static final int CALL_SOURCE_EMERGENCY_DIALPAD = 1; // 0x1
21155    field public static final int CALL_SOURCE_EMERGENCY_SHORTCUT = 2; // 0x2
21156    field public static final int CALL_SOURCE_UNSPECIFIED = 0; // 0x0
21157    field public static final String EXTRA_CALL_BACK_INTENT = "android.telecom.extra.CALL_BACK_INTENT";
21158    field public static final String EXTRA_CALL_HAS_IN_BAND_RINGTONE = "android.telecom.extra.CALL_HAS_IN_BAND_RINGTONE";
21159    field public static final String EXTRA_CALL_SOURCE = "android.telecom.extra.CALL_SOURCE";
21160    field public static final String EXTRA_CALL_TECHNOLOGY_TYPE = "android.telecom.extra.CALL_TECHNOLOGY_TYPE";
21161    field @Deprecated public static final String EXTRA_CLEAR_MISSED_CALLS_INTENT = "android.telecom.extra.CLEAR_MISSED_CALLS_INTENT";
21162    field public static final String EXTRA_CONNECTION_SERVICE = "android.telecom.extra.CONNECTION_SERVICE";
21163    field public static final String EXTRA_CURRENT_TTY_MODE = "android.telecom.extra.CURRENT_TTY_MODE";
21164    field public static final String EXTRA_IS_USER_INTENT_EMERGENCY_CALL = "android.telecom.extra.IS_USER_INTENT_EMERGENCY_CALL";
21165    field public static final String EXTRA_TTY_PREFERRED_MODE = "android.telecom.extra.TTY_PREFERRED_MODE";
21166    field public static final String EXTRA_UNKNOWN_CALL_HANDLE = "android.telecom.extra.UNKNOWN_CALL_HANDLE";
21167    field public static final int TTY_MODE_FULL = 1; // 0x1
21168    field public static final int TTY_MODE_HCO = 2; // 0x2
21169    field public static final int TTY_MODE_OFF = 0; // 0x0
21170    field public static final int TTY_MODE_VCO = 3; // 0x3
21171  }
21172
21173}
21174
21175package android.telephony {
21176
21177  public final class AccessNetworkConstants {
21178    field public static final int TRANSPORT_TYPE_INVALID = -1; // 0xffffffff
21179  }
21180
21181  public static final class AccessNetworkConstants.NgranBands {
21182    method public static int getFrequencyRangeGroup(int);
21183    field public static final int FREQUENCY_RANGE_GROUP_1 = 1; // 0x1
21184    field public static final int FREQUENCY_RANGE_GROUP_2 = 2; // 0x2
21185    field public static final int FREQUENCY_RANGE_GROUP_UNKNOWN = 0; // 0x0
21186  }
21187
21188  public final class BarringInfo implements android.os.Parcelable {
21189    ctor public BarringInfo();
21190    method @NonNull public android.telephony.BarringInfo createLocationInfoSanitizedCopy();
21191  }
21192
21193  @Deprecated public final class CallAttributes implements android.os.Parcelable {
21194    ctor @Deprecated public CallAttributes(@NonNull android.telephony.PreciseCallState, int, @NonNull android.telephony.CallQuality);
21195    method @Deprecated public int describeContents();
21196    method @Deprecated @NonNull public android.telephony.CallQuality getCallQuality();
21197    method @Deprecated public int getNetworkType();
21198    method @Deprecated @NonNull public android.telephony.PreciseCallState getPreciseCallState();
21199    method @Deprecated public void writeToParcel(android.os.Parcel, int);
21200    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.telephony.CallAttributes> CREATOR;
21201  }
21202
21203  public final class CallForwardingInfo implements android.os.Parcelable {
21204    ctor public CallForwardingInfo(boolean, int, @Nullable String, int);
21205    method public int describeContents();
21206    method @Nullable public String getNumber();
21207    method public int getReason();
21208    method public int getTimeoutSeconds();
21209    method public boolean isEnabled();
21210    method public void writeToParcel(android.os.Parcel, int);
21211    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CallForwardingInfo> CREATOR;
21212    field public static final int REASON_ALL = 4; // 0x4
21213    field public static final int REASON_ALL_CONDITIONAL = 5; // 0x5
21214    field public static final int REASON_BUSY = 1; // 0x1
21215    field public static final int REASON_NOT_REACHABLE = 3; // 0x3
21216    field public static final int REASON_NO_REPLY = 2; // 0x2
21217    field public static final int REASON_UNCONDITIONAL = 0; // 0x0
21218  }
21219
21220  public final class CallQuality implements android.os.Parcelable {
21221    ctor public CallQuality(int, int, int, int, int, int, int, int, int, int, int);
21222    ctor public CallQuality(int, int, int, int, int, int, int, int, int, int, int, boolean, boolean, boolean);
21223    method public int describeContents();
21224    method public int getAverageRelativeJitter();
21225    method public int getAverageRoundTripTime();
21226    method public int getCallDuration();
21227    method public int getCodecType();
21228    method public int getDownlinkCallQualityLevel();
21229    method public long getMaxPlayoutDelayMillis();
21230    method public int getMaxRelativeJitter();
21231    method public long getMinPlayoutDelayMillis();
21232    method public int getNumDroppedRtpPackets();
21233    method public int getNumNoDataFrames();
21234    method public int getNumRtpDuplicatePackets();
21235    method public int getNumRtpPacketsNotReceived();
21236    method public int getNumRtpPacketsReceived();
21237    method public int getNumRtpPacketsTransmitted();
21238    method public int getNumRtpPacketsTransmittedLost();
21239    method public int getNumRtpSidPacketsReceived();
21240    method public int getNumVoiceFrames();
21241    method public int getUplinkCallQualityLevel();
21242    method public boolean isIncomingSilenceDetectedAtCallSetup();
21243    method public boolean isOutgoingSilenceDetectedAtCallSetup();
21244    method public boolean isRtpInactivityDetected();
21245    method public void writeToParcel(android.os.Parcel, int);
21246    field public static final int CALL_QUALITY_BAD = 4; // 0x4
21247    field public static final int CALL_QUALITY_EXCELLENT = 0; // 0x0
21248    field public static final int CALL_QUALITY_FAIR = 2; // 0x2
21249    field public static final int CALL_QUALITY_GOOD = 1; // 0x1
21250    field public static final int CALL_QUALITY_NOT_AVAILABLE = 5; // 0x5
21251    field public static final int CALL_QUALITY_POOR = 3; // 0x3
21252    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CallQuality> CREATOR;
21253  }
21254
21255  public static final class CallQuality.Builder {
21256    ctor public CallQuality.Builder();
21257    method @NonNull public android.telephony.CallQuality build();
21258    method @NonNull public android.telephony.CallQuality.Builder setAverageRelativeJitter(int);
21259    method @NonNull public android.telephony.CallQuality.Builder setAverageRoundTripTimeMillis(int);
21260    method @NonNull public android.telephony.CallQuality.Builder setCallDurationMillis(int);
21261    method @NonNull public android.telephony.CallQuality.Builder setCodecType(int);
21262    method @NonNull public android.telephony.CallQuality.Builder setDownlinkCallQualityLevel(int);
21263    method @NonNull public android.telephony.CallQuality.Builder setIncomingSilenceDetectedAtCallSetup(boolean);
21264    method @NonNull public android.telephony.CallQuality.Builder setMaxPlayoutDelayMillis(long);
21265    method @NonNull public android.telephony.CallQuality.Builder setMaxRelativeJitter(int);
21266    method @NonNull public android.telephony.CallQuality.Builder setMinPlayoutDelayMillis(long);
21267    method @NonNull public android.telephony.CallQuality.Builder setNumDroppedRtpPackets(int);
21268    method @NonNull public android.telephony.CallQuality.Builder setNumNoDataFrames(int);
21269    method @NonNull public android.telephony.CallQuality.Builder setNumRtpDuplicatePackets(int);
21270    method @NonNull public android.telephony.CallQuality.Builder setNumRtpPacketsNotReceived(int);
21271    method @NonNull public android.telephony.CallQuality.Builder setNumRtpPacketsReceived(int);
21272    method @NonNull public android.telephony.CallQuality.Builder setNumRtpPacketsTransmitted(int);
21273    method @NonNull public android.telephony.CallQuality.Builder setNumRtpPacketsTransmittedLost(int);
21274    method @NonNull public android.telephony.CallQuality.Builder setNumRtpSidPacketsReceived(int);
21275    method @NonNull public android.telephony.CallQuality.Builder setNumVoiceFrames(int);
21276    method @NonNull public android.telephony.CallQuality.Builder setOutgoingSilenceDetectedAtCallSetup(boolean);
21277    method @NonNull public android.telephony.CallQuality.Builder setRtpInactivityDetected(boolean);
21278    method @NonNull public android.telephony.CallQuality.Builder setUplinkCallQualityLevel(int);
21279  }
21280
21281  public final class CallState implements android.os.Parcelable {
21282    method public int describeContents();
21283    method @Nullable public android.telephony.CallQuality getCallQuality();
21284    method public int getCallState();
21285    method public int getImsCallServiceType();
21286    method @Nullable public String getImsCallSessionId();
21287    method public int getImsCallType();
21288    method public int getNetworkType();
21289    method public void writeToParcel(@Nullable android.os.Parcel, int);
21290    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CallState> CREATOR;
21291  }
21292
21293  public static final class CallState.Builder {
21294    ctor public CallState.Builder(int);
21295    method @NonNull public android.telephony.CallState build();
21296    method @NonNull public android.telephony.CallState.Builder setCallQuality(@Nullable android.telephony.CallQuality);
21297    method @NonNull public android.telephony.CallState.Builder setImsCallServiceType(int);
21298    method @NonNull public android.telephony.CallState.Builder setImsCallSessionId(@Nullable String);
21299    method @NonNull public android.telephony.CallState.Builder setImsCallType(int);
21300    method @NonNull public android.telephony.CallState.Builder setNetworkType(int);
21301  }
21302
21303  public class CarrierConfigManager {
21304    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getDefaultCarrierServicePackageName();
21305    method @NonNull public static android.os.PersistableBundle getDefaultConfig();
21306    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void overrideConfig(int, @Nullable android.os.PersistableBundle);
21307    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void updateConfigForPhoneId(int, String);
21308    field public static final int GBA_DIGEST = 3; // 0x3
21309    field public static final int GBA_ME = 1; // 0x1
21310    field public static final int GBA_U = 2; // 0x2
21311    field public static final String KEY_CARRIER_SETUP_APP_STRING = "carrier_setup_app_string";
21312    field public static final String KEY_GBA_MODE_INT = "gba_mode_int";
21313    field public static final String KEY_GBA_UA_SECURITY_ORGANIZATION_INT = "gba_ua_security_organization_int";
21314    field public static final String KEY_GBA_UA_SECURITY_PROTOCOL_INT = "gba_ua_security_protocol_int";
21315    field public static final String KEY_GBA_UA_TLS_CIPHER_SUITE_INT = "gba_ua_tls_cipher_suite_int";
21316    field public static final String KEY_SUPPORT_CDMA_1X_VOICE_CALLS_BOOL = "support_cdma_1x_voice_calls_bool";
21317  }
21318
21319  public static final class CarrierConfigManager.Wifi {
21320    field public static final String KEY_AVOID_5GHZ_SOFTAP_FOR_LAA_BOOL = "wifi.avoid_5ghz_softap_for_laa_bool";
21321    field public static final String KEY_AVOID_5GHZ_WIFI_DIRECT_FOR_LAA_BOOL = "wifi.avoid_5ghz_wifi_direct_for_laa_bool";
21322    field public static final String KEY_HOTSPOT_MAX_CLIENT_COUNT = "wifi.hotspot_maximum_client_count";
21323    field public static final String KEY_PREFIX = "wifi.";
21324    field public static final String KEY_SUGGESTION_SSID_LIST_WITH_MAC_RANDOMIZATION_DISABLED = "wifi.suggestion_ssid_list_with_mac_randomization_disabled";
21325  }
21326
21327  public final class CarrierRestrictionRules implements android.os.Parcelable {
21328    method @NonNull public java.util.List<java.lang.Boolean> areCarrierIdentifiersAllowed(@NonNull java.util.List<android.service.carrier.CarrierIdentifier>);
21329    method public int describeContents();
21330    method @NonNull public java.util.List<android.service.carrier.CarrierIdentifier> getAllowedCarriers();
21331    method public int getDefaultCarrierRestriction();
21332    method @NonNull public java.util.List<android.service.carrier.CarrierIdentifier> getExcludedCarriers();
21333    method public int getMultiSimPolicy();
21334    method public boolean isAllCarriersAllowed();
21335    method public void writeToParcel(android.os.Parcel, int);
21336    field public static final int CARRIER_RESTRICTION_DEFAULT_ALLOWED = 1; // 0x1
21337    field public static final int CARRIER_RESTRICTION_DEFAULT_NOT_ALLOWED = 0; // 0x0
21338    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CarrierRestrictionRules> CREATOR;
21339    field public static final int MULTISIM_POLICY_NONE = 0; // 0x0
21340    field public static final int MULTISIM_POLICY_ONE_VALID_SIM_MUST_BE_PRESENT = 1; // 0x1
21341  }
21342
21343  public static final class CarrierRestrictionRules.Builder {
21344    ctor public CarrierRestrictionRules.Builder();
21345    method @NonNull public android.telephony.CarrierRestrictionRules build();
21346    method @NonNull public android.telephony.CarrierRestrictionRules.Builder setAllCarriersAllowed();
21347    method @NonNull public android.telephony.CarrierRestrictionRules.Builder setAllowedCarriers(@NonNull java.util.List<android.service.carrier.CarrierIdentifier>);
21348    method @NonNull public android.telephony.CarrierRestrictionRules.Builder setDefaultCarrierRestriction(int);
21349    method @NonNull public android.telephony.CarrierRestrictionRules.Builder setExcludedCarriers(@NonNull java.util.List<android.service.carrier.CarrierIdentifier>);
21350    method @NonNull public android.telephony.CarrierRestrictionRules.Builder setMultiSimPolicy(int);
21351  }
21352
21353  public class CbGeoUtils {
21354  }
21355
21356  public static class CbGeoUtils.Circle implements android.telephony.CbGeoUtils.Geometry {
21357    ctor public CbGeoUtils.Circle(@NonNull android.telephony.CbGeoUtils.LatLng, double);
21358    method public boolean contains(@NonNull android.telephony.CbGeoUtils.LatLng);
21359    method @NonNull public android.telephony.CbGeoUtils.LatLng getCenter();
21360    method public double getRadius();
21361  }
21362
21363  public static interface CbGeoUtils.Geometry {
21364    method public boolean contains(@NonNull android.telephony.CbGeoUtils.LatLng);
21365  }
21366
21367  public static class CbGeoUtils.LatLng {
21368    ctor public CbGeoUtils.LatLng(double, double);
21369    method public double distance(@NonNull android.telephony.CbGeoUtils.LatLng);
21370    method @NonNull public android.telephony.CbGeoUtils.LatLng subtract(@NonNull android.telephony.CbGeoUtils.LatLng);
21371    field public final double lat;
21372    field public final double lng;
21373  }
21374
21375  public static class CbGeoUtils.Polygon implements android.telephony.CbGeoUtils.Geometry {
21376    ctor public CbGeoUtils.Polygon(@NonNull java.util.List<android.telephony.CbGeoUtils.LatLng>);
21377    method public boolean contains(@NonNull android.telephony.CbGeoUtils.LatLng);
21378    method @NonNull public java.util.List<android.telephony.CbGeoUtils.LatLng> getVertices();
21379  }
21380
21381  public final class CellBroadcastIdRange implements android.os.Parcelable {
21382    ctor public CellBroadcastIdRange(@IntRange(from=0, to=65535) int, @IntRange(from=0, to=65535) int, int, boolean) throws java.lang.IllegalArgumentException;
21383    method public int describeContents();
21384    method @IntRange(from=0, to=65535) public int getEndId();
21385    method @IntRange(from=0, to=65535) public int getStartId();
21386    method public int getType();
21387    method public boolean isEnabled();
21388    method public void writeToParcel(@NonNull android.os.Parcel, int);
21389    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellBroadcastIdRange> CREATOR;
21390  }
21391
21392  public class CellBroadcastIntents {
21393    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);
21394    field public static final String ACTION_AREA_INFO_UPDATED = "android.telephony.action.AREA_INFO_UPDATED";
21395  }
21396
21397  public abstract class CellBroadcastService extends android.app.Service {
21398    ctor public CellBroadcastService();
21399    method @NonNull @WorkerThread public abstract CharSequence getCellBroadcastAreaInfo(int);
21400    method @CallSuper public android.os.IBinder onBind(@Nullable android.content.Intent);
21401    method public abstract void onCdmaCellBroadcastSms(int, @NonNull byte[], int);
21402    method public abstract void onCdmaScpMessage(int, @NonNull java.util.List<android.telephony.cdma.CdmaSmsCbProgramData>, @NonNull String, @NonNull java.util.function.Consumer<android.os.Bundle>);
21403    method public abstract void onGsmCellBroadcastSms(int, @NonNull byte[]);
21404    field public static final String CELL_BROADCAST_SERVICE_INTERFACE = "android.telephony.CellBroadcastService";
21405  }
21406
21407  public abstract class CellIdentity implements android.os.Parcelable {
21408    method @NonNull public abstract android.telephony.CellLocation asCellLocation();
21409    method @NonNull public abstract android.telephony.CellIdentity sanitizeLocationInfo();
21410  }
21411
21412  public final class CellIdentityCdma extends android.telephony.CellIdentity {
21413    method @NonNull public android.telephony.cdma.CdmaCellLocation asCellLocation();
21414    method @NonNull public android.telephony.CellIdentityCdma sanitizeLocationInfo();
21415  }
21416
21417  public final class CellIdentityGsm extends android.telephony.CellIdentity {
21418    method @NonNull public android.telephony.gsm.GsmCellLocation asCellLocation();
21419    method @NonNull public android.telephony.CellIdentityGsm sanitizeLocationInfo();
21420  }
21421
21422  public final class CellIdentityLte extends android.telephony.CellIdentity {
21423    method @NonNull public android.telephony.gsm.GsmCellLocation asCellLocation();
21424    method @NonNull public android.telephony.CellIdentityLte sanitizeLocationInfo();
21425  }
21426
21427  public final class CellIdentityNr extends android.telephony.CellIdentity {
21428    method @NonNull public android.telephony.CellLocation asCellLocation();
21429    method @NonNull public android.telephony.CellIdentityNr sanitizeLocationInfo();
21430  }
21431
21432  public final class CellIdentityTdscdma extends android.telephony.CellIdentity {
21433    method @NonNull public android.telephony.gsm.GsmCellLocation asCellLocation();
21434    method @NonNull public android.telephony.CellIdentityTdscdma sanitizeLocationInfo();
21435  }
21436
21437  public final class CellIdentityWcdma extends android.telephony.CellIdentity {
21438    method @NonNull public android.telephony.gsm.GsmCellLocation asCellLocation();
21439    method @NonNull public android.telephony.CellIdentityWcdma sanitizeLocationInfo();
21440  }
21441
21442  public final class DataFailCause {
21443    field @Deprecated public static final int VSNCP_APN_UNATHORIZED = 2238; // 0x8be
21444  }
21445
21446  public final class DataSpecificRegistrationInfo implements android.os.Parcelable {
21447    method public int describeContents();
21448    method public int getLteAttachExtraInfo();
21449    method public int getLteAttachResultType();
21450    method @Deprecated @NonNull public android.telephony.LteVopsSupportInfo getLteVopsSupportInfo();
21451    method @Nullable public android.telephony.VopsSupportInfo getVopsSupportInfo();
21452    method public void writeToParcel(android.os.Parcel, int);
21453    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.DataSpecificRegistrationInfo> CREATOR;
21454    field public static final int LTE_ATTACH_EXTRA_INFO_CSFB_NOT_PREFERRED = 1; // 0x1
21455    field public static final int LTE_ATTACH_EXTRA_INFO_NONE = 0; // 0x0
21456    field public static final int LTE_ATTACH_EXTRA_INFO_SMS_ONLY = 2; // 0x2
21457    field public static final int LTE_ATTACH_TYPE_COMBINED = 2; // 0x2
21458    field public static final int LTE_ATTACH_TYPE_EPS_ONLY = 1; // 0x1
21459    field public static final int LTE_ATTACH_TYPE_UNKNOWN = 0; // 0x0
21460  }
21461
21462  public final class DataThrottlingRequest implements android.os.Parcelable {
21463    method public int describeContents();
21464    method public long getCompletionDurationMillis();
21465    method public int getDataThrottlingAction();
21466    method public void writeToParcel(@NonNull android.os.Parcel, int);
21467    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.DataThrottlingRequest> CREATOR;
21468    field public static final int DATA_THROTTLING_ACTION_HOLD = 3; // 0x3
21469    field public static final int DATA_THROTTLING_ACTION_NO_DATA_THROTTLING = 0; // 0x0
21470    field public static final int DATA_THROTTLING_ACTION_THROTTLE_PRIMARY_CARRIER = 2; // 0x2
21471    field public static final int DATA_THROTTLING_ACTION_THROTTLE_SECONDARY_CARRIER = 1; // 0x1
21472  }
21473
21474  public static final class DataThrottlingRequest.Builder {
21475    ctor public DataThrottlingRequest.Builder();
21476    method @NonNull public android.telephony.DataThrottlingRequest build();
21477    method @NonNull public android.telephony.DataThrottlingRequest.Builder setCompletionDurationMillis(long);
21478    method @NonNull public android.telephony.DataThrottlingRequest.Builder setDataThrottlingAction(int);
21479  }
21480
21481  public abstract class DomainSelectionService extends android.app.Service {
21482    ctor public DomainSelectionService();
21483    method @NonNull public java.util.concurrent.Executor getCreateExecutor();
21484    method public void onBarringInfoUpdated(int, int, @NonNull android.telephony.BarringInfo);
21485    method @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent);
21486    method public abstract void onDomainSelection(@NonNull android.telephony.DomainSelectionService.SelectionAttributes, @NonNull android.telephony.TransportSelectorCallback);
21487    method public void onServiceStateUpdated(int, int, @NonNull android.telephony.ServiceState);
21488    field public static final int SCAN_TYPE_FULL_SERVICE = 2; // 0x2
21489    field public static final int SCAN_TYPE_LIMITED_SERVICE = 1; // 0x1
21490    field public static final int SCAN_TYPE_NO_PREFERENCE = 0; // 0x0
21491    field public static final int SELECTOR_TYPE_CALLING = 1; // 0x1
21492    field public static final int SELECTOR_TYPE_SMS = 2; // 0x2
21493  }
21494
21495  public static final class DomainSelectionService.SelectionAttributes implements android.os.Parcelable {
21496    method public int describeContents();
21497    method @Nullable public android.net.Uri getAddress();
21498    method @Nullable public String getCallId();
21499    method public int getCsDisconnectCause();
21500    method @Nullable public android.telephony.EmergencyRegistrationResult getEmergencyRegistrationResult();
21501    method @Nullable public android.telephony.ims.ImsReasonInfo getPsDisconnectCause();
21502    method public int getSelectorType();
21503    method public int getSlotIndex();
21504    method public int getSubscriptionId();
21505    method public boolean isEmergency();
21506    method public boolean isExitedFromAirplaneMode();
21507    method public boolean isTestEmergencyNumber();
21508    method public boolean isVideoCall();
21509    method public void writeToParcel(@NonNull android.os.Parcel, int);
21510    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.DomainSelectionService.SelectionAttributes> CREATOR;
21511  }
21512
21513  public static final class DomainSelectionService.SelectionAttributes.Builder {
21514    ctor public DomainSelectionService.SelectionAttributes.Builder(int, int, int);
21515    method @NonNull public android.telephony.DomainSelectionService.SelectionAttributes build();
21516    method @NonNull public android.telephony.DomainSelectionService.SelectionAttributes.Builder setAddress(@Nullable android.net.Uri);
21517    method @NonNull public android.telephony.DomainSelectionService.SelectionAttributes.Builder setCallId(@Nullable String);
21518    method @NonNull public android.telephony.DomainSelectionService.SelectionAttributes.Builder setCsDisconnectCause(int);
21519    method @NonNull public android.telephony.DomainSelectionService.SelectionAttributes.Builder setEmergency(boolean);
21520    method @NonNull public android.telephony.DomainSelectionService.SelectionAttributes.Builder setEmergencyRegistrationResult(@Nullable android.telephony.EmergencyRegistrationResult);
21521    method @NonNull public android.telephony.DomainSelectionService.SelectionAttributes.Builder setExitedFromAirplaneMode(boolean);
21522    method @NonNull public android.telephony.DomainSelectionService.SelectionAttributes.Builder setPsDisconnectCause(@Nullable android.telephony.ims.ImsReasonInfo);
21523    method @NonNull public android.telephony.DomainSelectionService.SelectionAttributes.Builder setTestEmergencyNumber(boolean);
21524    method @NonNull public android.telephony.DomainSelectionService.SelectionAttributes.Builder setVideoCall(boolean);
21525  }
21526
21527  public interface DomainSelector {
21528    method public void finishSelection();
21529    method public void reselectDomain(@NonNull android.telephony.DomainSelectionService.SelectionAttributes);
21530  }
21531
21532  public final class EmergencyRegistrationResult implements android.os.Parcelable {
21533    method public int describeContents();
21534    method public int getAccessNetwork();
21535    method @NonNull public String getCountryIso();
21536    method public int getDomain();
21537    method @NonNull public String getMcc();
21538    method @NonNull public String getMnc();
21539    method public int getNwProvidedEmc();
21540    method public int getNwProvidedEmf();
21541    method public int getRegState();
21542    method public boolean isEmcBearerSupported();
21543    method public boolean isVopsSupported();
21544    method public void writeToParcel(@NonNull android.os.Parcel, int);
21545    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.EmergencyRegistrationResult> CREATOR;
21546  }
21547
21548  public final class ImsiEncryptionInfo implements android.os.Parcelable {
21549    method public int describeContents();
21550    method @Nullable public String getKeyIdentifier();
21551    method @Nullable public java.security.PublicKey getPublicKey();
21552    method public void writeToParcel(@NonNull android.os.Parcel, int);
21553    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ImsiEncryptionInfo> CREATOR;
21554  }
21555
21556  public final class LinkCapacityEstimate implements android.os.Parcelable {
21557    ctor public LinkCapacityEstimate(int, int, int);
21558    method public int describeContents();
21559    method public int getDownlinkCapacityKbps();
21560    method public int getType();
21561    method public int getUplinkCapacityKbps();
21562    method public void writeToParcel(@NonNull android.os.Parcel, int);
21563    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.LinkCapacityEstimate> CREATOR;
21564    field public static final int INVALID = -1; // 0xffffffff
21565    field public static final int LCE_TYPE_COMBINED = 2; // 0x2
21566    field public static final int LCE_TYPE_PRIMARY = 0; // 0x0
21567    field public static final int LCE_TYPE_SECONDARY = 1; // 0x1
21568  }
21569
21570  public final class LteVopsSupportInfo extends android.telephony.VopsSupportInfo {
21571    ctor public LteVopsSupportInfo(int, int);
21572    method public boolean equals(@Nullable Object);
21573    method public int getEmcBearerSupport();
21574    method public int getVopsSupport();
21575    method public int hashCode();
21576    method public boolean isEmergencyServiceFallbackSupported();
21577    method public boolean isEmergencyServiceSupported();
21578    method public boolean isVopsSupported();
21579    method public void writeToParcel(@NonNull android.os.Parcel, int);
21580    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.LteVopsSupportInfo> CREATOR;
21581    field @Deprecated public static final int LTE_STATUS_NOT_AVAILABLE = 1; // 0x1
21582    field public static final int LTE_STATUS_NOT_SUPPORTED = 3; // 0x3
21583    field public static final int LTE_STATUS_SUPPORTED = 2; // 0x2
21584  }
21585
21586  public class MbmsDownloadSession implements java.lang.AutoCloseable {
21587    field public static final String MBMS_DOWNLOAD_SERVICE_ACTION = "android.telephony.action.EmbmsDownload";
21588  }
21589
21590  public class MbmsGroupCallSession implements java.lang.AutoCloseable {
21591    field public static final String MBMS_GROUP_CALL_SERVICE_ACTION = "android.telephony.action.EmbmsGroupCall";
21592  }
21593
21594  public class MbmsStreamingSession implements java.lang.AutoCloseable {
21595    field public static final String MBMS_STREAMING_SERVICE_ACTION = "android.telephony.action.EmbmsStreaming";
21596  }
21597
21598  public final class ModemActivityInfo implements android.os.Parcelable {
21599    method public int describeContents();
21600    method @NonNull public android.telephony.ModemActivityInfo getDelta(@NonNull android.telephony.ModemActivityInfo);
21601    method public long getIdleTimeMillis();
21602    method public static int getNumTxPowerLevels();
21603    method public long getReceiveTimeMillis();
21604    method public long getSleepTimeMillis();
21605    method public long getTimestampMillis();
21606    method public long getTransmitDurationMillisAtPowerLevel(int);
21607    method @NonNull public android.util.Range<java.lang.Integer> getTransmitPowerRange(int);
21608    method public void writeToParcel(@NonNull android.os.Parcel, int);
21609    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ModemActivityInfo> CREATOR;
21610    field public static final int TX_POWER_LEVEL_0 = 0; // 0x0
21611    field public static final int TX_POWER_LEVEL_1 = 1; // 0x1
21612    field public static final int TX_POWER_LEVEL_2 = 2; // 0x2
21613    field public static final int TX_POWER_LEVEL_3 = 3; // 0x3
21614    field public static final int TX_POWER_LEVEL_4 = 4; // 0x4
21615  }
21616
21617  public final class NetworkRegistrationInfo implements android.os.Parcelable {
21618    method @Nullable public android.telephony.DataSpecificRegistrationInfo getDataSpecificInfo();
21619    method public int getNetworkRegistrationState();
21620    method @Deprecated public int getRegistrationState();
21621    method public int getRoamingType();
21622    method public boolean isEmergencyEnabled();
21623    method public void writeToParcel(android.os.Parcel, int);
21624    field public static final int REGISTRATION_STATE_DENIED = 3; // 0x3
21625    field public static final int REGISTRATION_STATE_EMERGENCY = 6; // 0x6
21626    field public static final int REGISTRATION_STATE_HOME = 1; // 0x1
21627    field public static final int REGISTRATION_STATE_NOT_REGISTERED_OR_SEARCHING = 0; // 0x0
21628    field public static final int REGISTRATION_STATE_NOT_REGISTERED_SEARCHING = 2; // 0x2
21629    field public static final int REGISTRATION_STATE_ROAMING = 5; // 0x5
21630    field public static final int REGISTRATION_STATE_UNKNOWN = 4; // 0x4
21631  }
21632
21633  public static final class NetworkRegistrationInfo.Builder {
21634    ctor public NetworkRegistrationInfo.Builder();
21635    method @NonNull public android.telephony.NetworkRegistrationInfo build();
21636    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setAccessNetworkTechnology(int);
21637    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setAvailableServices(@NonNull java.util.List<java.lang.Integer>);
21638    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setCellIdentity(@Nullable android.telephony.CellIdentity);
21639    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setDomain(int);
21640    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setEmergencyOnly(boolean);
21641    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setIsNonTerrestrialNetwork(boolean);
21642    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setRegisteredPlmn(@Nullable String);
21643    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setRegistrationState(int);
21644    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setRejectCause(int);
21645    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setTransportType(int);
21646  }
21647
21648  public abstract class NetworkService extends android.app.Service {
21649    ctor public NetworkService();
21650    method public android.os.IBinder onBind(android.content.Intent);
21651    method @Nullable public abstract android.telephony.NetworkService.NetworkServiceProvider onCreateNetworkServiceProvider(int);
21652    field public static final String SERVICE_INTERFACE = "android.telephony.NetworkService";
21653  }
21654
21655  public abstract class NetworkService.NetworkServiceProvider implements java.lang.AutoCloseable {
21656    ctor public NetworkService.NetworkServiceProvider(int);
21657    method public abstract void close();
21658    method public final int getSlotIndex();
21659    method public final void notifyNetworkRegistrationInfoChanged();
21660    method public void requestNetworkRegistrationInfo(int, @NonNull android.telephony.NetworkServiceCallback);
21661  }
21662
21663  public class NetworkServiceCallback {
21664    method public void onRequestNetworkRegistrationInfoComplete(int, @Nullable android.telephony.NetworkRegistrationInfo);
21665    field public static final int RESULT_ERROR_BUSY = 3; // 0x3
21666    field public static final int RESULT_ERROR_FAILED = 5; // 0x5
21667    field public static final int RESULT_ERROR_ILLEGAL_STATE = 4; // 0x4
21668    field public static final int RESULT_ERROR_INVALID_ARG = 2; // 0x2
21669    field public static final int RESULT_ERROR_UNSUPPORTED = 1; // 0x1
21670    field public static final int RESULT_SUCCESS = 0; // 0x0
21671  }
21672
21673  public final class NrVopsSupportInfo extends android.telephony.VopsSupportInfo {
21674    ctor public NrVopsSupportInfo(int, int, int);
21675    method public boolean equals(@Nullable Object);
21676    method public int getEmcSupport();
21677    method public int getEmfSupport();
21678    method public int getVopsSupport();
21679    method public int hashCode();
21680    method public boolean isEmergencyServiceFallbackSupported();
21681    method public boolean isEmergencyServiceSupported();
21682    method public boolean isVopsSupported();
21683    method public void writeToParcel(@NonNull android.os.Parcel, int);
21684    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.NrVopsSupportInfo> CREATOR;
21685    field public static final int NR_STATUS_EMC_5GCN_ONLY = 1; // 0x1
21686    field public static final int NR_STATUS_EMC_EUTRA_5GCN_ONLY = 2; // 0x2
21687    field public static final int NR_STATUS_EMC_NOT_SUPPORTED = 0; // 0x0
21688    field public static final int NR_STATUS_EMC_NR_EUTRA_5GCN = 3; // 0x3
21689    field public static final int NR_STATUS_EMF_5GCN_ONLY = 1; // 0x1
21690    field public static final int NR_STATUS_EMF_EUTRA_5GCN_ONLY = 2; // 0x2
21691    field public static final int NR_STATUS_EMF_NOT_SUPPORTED = 0; // 0x0
21692    field public static final int NR_STATUS_EMF_NR_EUTRA_5GCN = 3; // 0x3
21693    field public static final int NR_STATUS_VOPS_3GPP_SUPPORTED = 1; // 0x1
21694    field public static final int NR_STATUS_VOPS_NON_3GPP_SUPPORTED = 2; // 0x2
21695    field public static final int NR_STATUS_VOPS_NOT_SUPPORTED = 0; // 0x0
21696  }
21697
21698  public interface NumberVerificationCallback {
21699    method public default void onCallReceived(@NonNull String);
21700    method public default void onVerificationFailed(int);
21701    field public static final int REASON_CONCURRENT_REQUESTS = 4; // 0x4
21702    field public static final int REASON_IN_ECBM = 5; // 0x5
21703    field public static final int REASON_IN_EMERGENCY_CALL = 6; // 0x6
21704    field public static final int REASON_NETWORK_NOT_AVAILABLE = 2; // 0x2
21705    field public static final int REASON_TIMED_OUT = 1; // 0x1
21706    field public static final int REASON_TOO_MANY_CALLS = 3; // 0x3
21707    field public static final int REASON_UNSPECIFIED = 0; // 0x0
21708  }
21709
21710  public final class PhoneCapability implements android.os.Parcelable {
21711    method public int describeContents();
21712    method @NonNull public int[] getDeviceNrCapabilities();
21713    method @IntRange(from=1) public int getMaxActiveDataSubscriptions();
21714    method @IntRange(from=1) public int getMaxActiveVoiceSubscriptions();
21715    method public void writeToParcel(@NonNull android.os.Parcel, int);
21716    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.PhoneCapability> CREATOR;
21717    field public static final int DEVICE_NR_CAPABILITY_NSA = 1; // 0x1
21718    field public static final int DEVICE_NR_CAPABILITY_SA = 2; // 0x2
21719  }
21720
21721  public final class PhoneNumberRange implements android.os.Parcelable {
21722    ctor public PhoneNumberRange(@NonNull String, @NonNull String, @NonNull String, @NonNull String);
21723    method public int describeContents();
21724    method public boolean matches(@NonNull String);
21725    method public void writeToParcel(android.os.Parcel, int);
21726    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.PhoneNumberRange> CREATOR;
21727  }
21728
21729  public class PhoneNumberUtils {
21730    method @NonNull public static String getUsernameFromUriNumber(@NonNull String);
21731    method public static boolean isUriNumber(@Nullable String);
21732    method public static boolean isVoiceMailNumber(@NonNull android.content.Context, int, @Nullable String);
21733  }
21734
21735  @Deprecated public class PhoneStateListener {
21736    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onCallAttributesChanged(@NonNull android.telephony.CallAttributes);
21737    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void onOutgoingEmergencyCall(@NonNull android.telephony.emergency.EmergencyNumber);
21738    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void onOutgoingEmergencyCall(@NonNull android.telephony.emergency.EmergencyNumber, int);
21739    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void onOutgoingEmergencySms(@NonNull android.telephony.emergency.EmergencyNumber);
21740    method @Deprecated public void onOutgoingEmergencySms(@NonNull android.telephony.emergency.EmergencyNumber, int);
21741    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onPreciseCallStateChanged(@NonNull android.telephony.PreciseCallState);
21742    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onRadioPowerStateChanged(int);
21743    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onSrvccStateChanged(int);
21744    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onVoiceActivationStateChanged(int);
21745    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int LISTEN_CALL_ATTRIBUTES_CHANGED = 67108864; // 0x4000000
21746    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public static final int LISTEN_OUTGOING_EMERGENCY_CALL = 268435456; // 0x10000000
21747    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public static final int LISTEN_OUTGOING_EMERGENCY_SMS = 536870912; // 0x20000000
21748    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int LISTEN_PRECISE_CALL_STATE = 2048; // 0x800
21749    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int LISTEN_RADIO_POWER_STATE_CHANGED = 8388608; // 0x800000
21750    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int LISTEN_SRVCC_STATE_CHANGED = 16384; // 0x4000
21751    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int LISTEN_VOICE_ACTIVATION_STATE = 131072; // 0x20000
21752  }
21753
21754  public final class PinResult implements android.os.Parcelable {
21755    method public int describeContents();
21756    method public int getAttemptsRemaining();
21757    method public int getResult();
21758    method public void writeToParcel(@NonNull android.os.Parcel, int);
21759    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.PinResult> CREATOR;
21760    field public static final int PIN_RESULT_TYPE_ABORTED = 3; // 0x3
21761    field public static final int PIN_RESULT_TYPE_FAILURE = 2; // 0x2
21762    field public static final int PIN_RESULT_TYPE_INCORRECT = 1; // 0x1
21763    field public static final int PIN_RESULT_TYPE_SUCCESS = 0; // 0x0
21764  }
21765
21766  public final class PreciseCallState implements android.os.Parcelable {
21767    ctor public PreciseCallState(int, int, int, int, int);
21768    method public int describeContents();
21769    method public int getBackgroundCallState();
21770    method public int getForegroundCallState();
21771    method public int getRingingCallState();
21772    method public void writeToParcel(android.os.Parcel, int);
21773    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.PreciseCallState> CREATOR;
21774    field public static final int PRECISE_CALL_STATE_ACTIVE = 1; // 0x1
21775    field public static final int PRECISE_CALL_STATE_ALERTING = 4; // 0x4
21776    field public static final int PRECISE_CALL_STATE_DIALING = 3; // 0x3
21777    field public static final int PRECISE_CALL_STATE_DISCONNECTED = 7; // 0x7
21778    field public static final int PRECISE_CALL_STATE_DISCONNECTING = 8; // 0x8
21779    field public static final int PRECISE_CALL_STATE_HOLDING = 2; // 0x2
21780    field public static final int PRECISE_CALL_STATE_IDLE = 0; // 0x0
21781    field public static final int PRECISE_CALL_STATE_INCOMING = 5; // 0x5
21782    field public static final int PRECISE_CALL_STATE_INCOMING_SETUP = 9; // 0x9
21783    field public static final int PRECISE_CALL_STATE_NOT_VALID = -1; // 0xffffffff
21784    field public static final int PRECISE_CALL_STATE_WAITING = 6; // 0x6
21785  }
21786
21787  public final class PreciseDataConnectionState implements android.os.Parcelable {
21788    method @Deprecated @NonNull public String getDataConnectionApn();
21789    method @Deprecated public int getDataConnectionApnTypeBitMask();
21790    method @Deprecated public int getDataConnectionFailCause();
21791    method @Deprecated public int getDataConnectionState();
21792  }
21793
21794  public final class PreciseDisconnectCause {
21795    field public static final int ACCESS_CLASS_BLOCKED = 260; // 0x104
21796    field public static final int ACCESS_INFORMATION_DISCARDED = 43; // 0x2b
21797    field public static final int ACM_LIMIT_EXCEEDED = 68; // 0x44
21798    field public static final int BEARER_CAPABILITY_NOT_AUTHORIZED = 57; // 0x39
21799    field public static final int BEARER_NOT_AVAIL = 58; // 0x3a
21800    field public static final int BEARER_SERVICE_NOT_IMPLEMENTED = 65; // 0x41
21801    field public static final int BUSY = 17; // 0x11
21802    field public static final int CALL_BARRED = 240; // 0xf0
21803    field public static final int CALL_REJECTED = 21; // 0x15
21804    field public static final int CDMA_ACCESS_BLOCKED = 1009; // 0x3f1
21805    field public static final int CDMA_ACCESS_FAILURE = 1006; // 0x3ee
21806    field public static final int CDMA_DROP = 1001; // 0x3e9
21807    field public static final int CDMA_INTERCEPT = 1002; // 0x3ea
21808    field public static final int CDMA_LOCKED_UNTIL_POWER_CYCLE = 1000; // 0x3e8
21809    field public static final int CDMA_NOT_EMERGENCY = 1008; // 0x3f0
21810    field public static final int CDMA_PREEMPTED = 1007; // 0x3ef
21811    field public static final int CDMA_REORDER = 1003; // 0x3eb
21812    field public static final int CDMA_RETRY_ORDER = 1005; // 0x3ed
21813    field public static final int CDMA_SO_REJECT = 1004; // 0x3ec
21814    field public static final int CHANNEL_NOT_AVAIL = 44; // 0x2c
21815    field public static final int CHANNEL_UNACCEPTABLE = 6; // 0x6
21816    field public static final int CONDITIONAL_IE_ERROR = 100; // 0x64
21817    field public static final int DESTINATION_OUT_OF_ORDER = 27; // 0x1b
21818    field public static final int EMERGENCY_PERM_FAILURE = 326; // 0x146
21819    field public static final int EMERGENCY_TEMP_FAILURE = 325; // 0x145
21820    field public static final int ERROR_UNSPECIFIED = 65535; // 0xffff
21821    field public static final int FACILITY_REJECTED = 29; // 0x1d
21822    field public static final int FDN_BLOCKED = 241; // 0xf1
21823    field public static final int IMEI_NOT_ACCEPTED = 243; // 0xf3
21824    field public static final int IMSI_UNKNOWN_IN_VLR = 242; // 0xf2
21825    field public static final int INCOMING_CALLS_BARRED_WITHIN_CUG = 55; // 0x37
21826    field public static final int INCOMPATIBLE_DESTINATION = 88; // 0x58
21827    field public static final int INFORMATION_ELEMENT_NON_EXISTENT = 99; // 0x63
21828    field public static final int INTERWORKING_UNSPECIFIED = 127; // 0x7f
21829    field public static final int INVALID_MANDATORY_INFORMATION = 96; // 0x60
21830    field public static final int INVALID_NUMBER_FORMAT = 28; // 0x1c
21831    field public static final int INVALID_TRANSACTION_IDENTIFIER = 81; // 0x51
21832    field public static final int MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 101; // 0x65
21833    field public static final int MESSAGE_TYPE_NON_IMPLEMENTED = 97; // 0x61
21834    field public static final int MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 98; // 0x62
21835    field public static final int NETWORK_DETACH = 261; // 0x105
21836    field public static final int NETWORK_OUT_OF_ORDER = 38; // 0x26
21837    field public static final int NETWORK_REJECT = 252; // 0xfc
21838    field public static final int NETWORK_RESP_TIMEOUT = 251; // 0xfb
21839    field public static final int NORMAL = 16; // 0x10
21840    field public static final int NORMAL_UNSPECIFIED = 31; // 0x1f
21841    field public static final int NOT_VALID = -1; // 0xffffffff
21842    field public static final int NO_ANSWER_FROM_USER = 19; // 0x13
21843    field public static final int NO_CIRCUIT_AVAIL = 34; // 0x22
21844    field public static final int NO_DISCONNECT_CAUSE_AVAILABLE = 0; // 0x0
21845    field public static final int NO_ROUTE_TO_DESTINATION = 3; // 0x3
21846    field public static final int NO_USER_RESPONDING = 18; // 0x12
21847    field public static final int NO_VALID_SIM = 249; // 0xf9
21848    field public static final int NUMBER_CHANGED = 22; // 0x16
21849    field public static final int OEM_CAUSE_1 = 61441; // 0xf001
21850    field public static final int OEM_CAUSE_10 = 61450; // 0xf00a
21851    field public static final int OEM_CAUSE_11 = 61451; // 0xf00b
21852    field public static final int OEM_CAUSE_12 = 61452; // 0xf00c
21853    field public static final int OEM_CAUSE_13 = 61453; // 0xf00d
21854    field public static final int OEM_CAUSE_14 = 61454; // 0xf00e
21855    field public static final int OEM_CAUSE_15 = 61455; // 0xf00f
21856    field public static final int OEM_CAUSE_2 = 61442; // 0xf002
21857    field public static final int OEM_CAUSE_3 = 61443; // 0xf003
21858    field public static final int OEM_CAUSE_4 = 61444; // 0xf004
21859    field public static final int OEM_CAUSE_5 = 61445; // 0xf005
21860    field public static final int OEM_CAUSE_6 = 61446; // 0xf006
21861    field public static final int OEM_CAUSE_7 = 61447; // 0xf007
21862    field public static final int OEM_CAUSE_8 = 61448; // 0xf008
21863    field public static final int OEM_CAUSE_9 = 61449; // 0xf009
21864    field public static final int ONLY_DIGITAL_INFORMATION_BEARER_AVAILABLE = 70; // 0x46
21865    field public static final int OPERATOR_DETERMINED_BARRING = 8; // 0x8
21866    field public static final int OUT_OF_SRV = 248; // 0xf8
21867    field public static final int PREEMPTION = 25; // 0x19
21868    field public static final int PROTOCOL_ERROR_UNSPECIFIED = 111; // 0x6f
21869    field public static final int QOS_NOT_AVAIL = 49; // 0x31
21870    field public static final int RADIO_ACCESS_FAILURE = 253; // 0xfd
21871    field public static final int RADIO_INTERNAL_ERROR = 250; // 0xfa
21872    field public static final int RADIO_LINK_FAILURE = 254; // 0xfe
21873    field public static final int RADIO_LINK_LOST = 255; // 0xff
21874    field public static final int RADIO_OFF = 247; // 0xf7
21875    field public static final int RADIO_RELEASE_ABNORMAL = 259; // 0x103
21876    field public static final int RADIO_RELEASE_NORMAL = 258; // 0x102
21877    field public static final int RADIO_SETUP_FAILURE = 257; // 0x101
21878    field public static final int RADIO_UPLINK_FAILURE = 256; // 0x100
21879    field public static final int RECOVERY_ON_TIMER_EXPIRED = 102; // 0x66
21880    field public static final int REQUESTED_FACILITY_NOT_IMPLEMENTED = 69; // 0x45
21881    field public static final int REQUESTED_FACILITY_NOT_SUBSCRIBED = 50; // 0x32
21882    field public static final int RESOURCES_UNAVAILABLE_OR_UNSPECIFIED = 47; // 0x2f
21883    field public static final int SEMANTICALLY_INCORRECT_MESSAGE = 95; // 0x5f
21884    field public static final int SERVICE_OPTION_NOT_AVAILABLE = 63; // 0x3f
21885    field public static final int SERVICE_OR_OPTION_NOT_IMPLEMENTED = 79; // 0x4f
21886    field public static final int STATUS_ENQUIRY = 30; // 0x1e
21887    field public static final int SWITCHING_CONGESTION = 42; // 0x2a
21888    field public static final int TEMPORARY_FAILURE = 41; // 0x29
21889    field public static final int UNOBTAINABLE_NUMBER = 1; // 0x1
21890    field public static final int USER_NOT_MEMBER_OF_CUG = 87; // 0x57
21891  }
21892
21893  public class ServiceState implements android.os.Parcelable {
21894    method @Nullable public android.telephony.NetworkRegistrationInfo getNetworkRegistrationInfo(int, int);
21895    method @NonNull public java.util.List<android.telephony.NetworkRegistrationInfo> getNetworkRegistrationInfoListForDomain(int);
21896    method @NonNull public java.util.List<android.telephony.NetworkRegistrationInfo> getNetworkRegistrationInfoListForTransportType(int);
21897    field public static final int ROAMING_TYPE_DOMESTIC = 2; // 0x2
21898    field public static final int ROAMING_TYPE_INTERNATIONAL = 3; // 0x3
21899    field public static final int ROAMING_TYPE_NOT_ROAMING = 0; // 0x0
21900    field public static final int ROAMING_TYPE_UNKNOWN = 1; // 0x1
21901  }
21902
21903  public final class SignalStrengthUpdateRequest implements android.os.Parcelable {
21904    method public boolean isSystemThresholdReportingRequestedWhileIdle();
21905  }
21906
21907  public static final class SignalStrengthUpdateRequest.Builder {
21908    method @NonNull @RequiresPermission("android.permission.LISTEN_ALWAYS_REPORTED_SIGNAL_STRENGTH") public android.telephony.SignalStrengthUpdateRequest.Builder setSystemThresholdReportingRequestedWhileIdle(boolean);
21909  }
21910
21911  public final class SmsCbCmasInfo implements android.os.Parcelable {
21912    ctor public SmsCbCmasInfo(int, int, int, int, int, int);
21913    method public int describeContents();
21914    method public int getCategory();
21915    method public int getCertainty();
21916    method public int getMessageClass();
21917    method public int getResponseType();
21918    method public int getSeverity();
21919    method public int getUrgency();
21920    method public void writeToParcel(android.os.Parcel, int);
21921    field public static final int CMAS_CATEGORY_CBRNE = 10; // 0xa
21922    field public static final int CMAS_CATEGORY_ENV = 7; // 0x7
21923    field public static final int CMAS_CATEGORY_FIRE = 5; // 0x5
21924    field public static final int CMAS_CATEGORY_GEO = 0; // 0x0
21925    field public static final int CMAS_CATEGORY_HEALTH = 6; // 0x6
21926    field public static final int CMAS_CATEGORY_INFRA = 9; // 0x9
21927    field public static final int CMAS_CATEGORY_MET = 1; // 0x1
21928    field public static final int CMAS_CATEGORY_OTHER = 11; // 0xb
21929    field public static final int CMAS_CATEGORY_RESCUE = 4; // 0x4
21930    field public static final int CMAS_CATEGORY_SAFETY = 2; // 0x2
21931    field public static final int CMAS_CATEGORY_SECURITY = 3; // 0x3
21932    field public static final int CMAS_CATEGORY_TRANSPORT = 8; // 0x8
21933    field public static final int CMAS_CATEGORY_UNKNOWN = -1; // 0xffffffff
21934    field public static final int CMAS_CERTAINTY_LIKELY = 1; // 0x1
21935    field public static final int CMAS_CERTAINTY_OBSERVED = 0; // 0x0
21936    field public static final int CMAS_CERTAINTY_UNKNOWN = -1; // 0xffffffff
21937    field public static final int CMAS_CLASS_CHILD_ABDUCTION_EMERGENCY = 3; // 0x3
21938    field public static final int CMAS_CLASS_CMAS_EXERCISE = 5; // 0x5
21939    field public static final int CMAS_CLASS_EXTREME_THREAT = 1; // 0x1
21940    field public static final int CMAS_CLASS_OPERATOR_DEFINED_USE = 6; // 0x6
21941    field public static final int CMAS_CLASS_PRESIDENTIAL_LEVEL_ALERT = 0; // 0x0
21942    field public static final int CMAS_CLASS_REQUIRED_MONTHLY_TEST = 4; // 0x4
21943    field public static final int CMAS_CLASS_SEVERE_THREAT = 2; // 0x2
21944    field public static final int CMAS_CLASS_UNKNOWN = -1; // 0xffffffff
21945    field public static final int CMAS_RESPONSE_TYPE_ASSESS = 6; // 0x6
21946    field public static final int CMAS_RESPONSE_TYPE_AVOID = 5; // 0x5
21947    field public static final int CMAS_RESPONSE_TYPE_EVACUATE = 1; // 0x1
21948    field public static final int CMAS_RESPONSE_TYPE_EXECUTE = 3; // 0x3
21949    field public static final int CMAS_RESPONSE_TYPE_MONITOR = 4; // 0x4
21950    field public static final int CMAS_RESPONSE_TYPE_NONE = 7; // 0x7
21951    field public static final int CMAS_RESPONSE_TYPE_PREPARE = 2; // 0x2
21952    field public static final int CMAS_RESPONSE_TYPE_SHELTER = 0; // 0x0
21953    field public static final int CMAS_RESPONSE_TYPE_UNKNOWN = -1; // 0xffffffff
21954    field public static final int CMAS_SEVERITY_EXTREME = 0; // 0x0
21955    field public static final int CMAS_SEVERITY_SEVERE = 1; // 0x1
21956    field public static final int CMAS_SEVERITY_UNKNOWN = -1; // 0xffffffff
21957    field public static final int CMAS_URGENCY_EXPECTED = 1; // 0x1
21958    field public static final int CMAS_URGENCY_IMMEDIATE = 0; // 0x0
21959    field public static final int CMAS_URGENCY_UNKNOWN = -1; // 0xffffffff
21960    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SmsCbCmasInfo> CREATOR;
21961  }
21962
21963  public final class SmsCbEtwsInfo implements android.os.Parcelable {
21964    ctor public SmsCbEtwsInfo(int, boolean, boolean, boolean, @Nullable byte[]);
21965    method public int describeContents();
21966    method @Nullable public byte[] getPrimaryNotificationSignature();
21967    method public long getPrimaryNotificationTimestamp();
21968    method public int getWarningType();
21969    method public boolean isEmergencyUserAlert();
21970    method public boolean isPopupAlert();
21971    method public boolean isPrimary();
21972    method public void writeToParcel(android.os.Parcel, int);
21973    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SmsCbEtwsInfo> CREATOR;
21974    field public static final int ETWS_WARNING_TYPE_EARTHQUAKE = 0; // 0x0
21975    field public static final int ETWS_WARNING_TYPE_EARTHQUAKE_AND_TSUNAMI = 2; // 0x2
21976    field public static final int ETWS_WARNING_TYPE_OTHER_EMERGENCY = 4; // 0x4
21977    field public static final int ETWS_WARNING_TYPE_TEST_MESSAGE = 3; // 0x3
21978    field public static final int ETWS_WARNING_TYPE_TSUNAMI = 1; // 0x1
21979    field public static final int ETWS_WARNING_TYPE_UNKNOWN = -1; // 0xffffffff
21980  }
21981
21982  public final class SmsCbLocation implements android.os.Parcelable {
21983    ctor public SmsCbLocation(@NonNull String, int, int);
21984    method public int describeContents();
21985    method public int getCid();
21986    method public int getLac();
21987    method @NonNull public String getPlmn();
21988    method public boolean isInLocationArea(@NonNull android.telephony.SmsCbLocation);
21989    method public boolean isInLocationArea(@Nullable String, int, int);
21990    method public void writeToParcel(android.os.Parcel, int);
21991    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SmsCbLocation> CREATOR;
21992  }
21993
21994  public final class SmsCbMessage implements android.os.Parcelable {
21995    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);
21996    method @NonNull public static android.telephony.SmsCbMessage createFromCursor(@NonNull android.database.Cursor);
21997    method public int describeContents();
21998    method @Nullable public android.telephony.SmsCbCmasInfo getCmasWarningInfo();
21999    method @NonNull public android.content.ContentValues getContentValues();
22000    method public int getDataCodingScheme();
22001    method @Nullable public android.telephony.SmsCbEtwsInfo getEtwsWarningInfo();
22002    method public int getGeographicalScope();
22003    method @NonNull public java.util.List<android.telephony.CbGeoUtils.Geometry> getGeometries();
22004    method @Nullable public String getLanguageCode();
22005    method @NonNull public android.telephony.SmsCbLocation getLocation();
22006    method public int getMaximumWaitingDuration();
22007    method @Nullable public String getMessageBody();
22008    method public int getMessageFormat();
22009    method public int getMessagePriority();
22010    method public long getReceivedTime();
22011    method public int getSerialNumber();
22012    method public int getServiceCategory();
22013    method public int getSlotIndex();
22014    method public int getSubscriptionId();
22015    method public boolean isCmasMessage();
22016    method public boolean isEmergencyMessage();
22017    method public boolean isEtwsMessage();
22018    method public boolean needGeoFencingCheck();
22019    method public void writeToParcel(android.os.Parcel, int);
22020    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SmsCbMessage> CREATOR;
22021    field public static final int GEOGRAPHICAL_SCOPE_CELL_WIDE = 3; // 0x3
22022    field public static final int GEOGRAPHICAL_SCOPE_CELL_WIDE_IMMEDIATE = 0; // 0x0
22023    field public static final int GEOGRAPHICAL_SCOPE_LOCATION_AREA_WIDE = 2; // 0x2
22024    field public static final int GEOGRAPHICAL_SCOPE_PLMN_WIDE = 1; // 0x1
22025    field public static final int MAXIMUM_WAIT_TIME_NOT_SET = 255; // 0xff
22026    field public static final int MESSAGE_FORMAT_3GPP = 1; // 0x1
22027    field public static final int MESSAGE_FORMAT_3GPP2 = 2; // 0x2
22028    field public static final int MESSAGE_PRIORITY_EMERGENCY = 3; // 0x3
22029    field public static final int MESSAGE_PRIORITY_INTERACTIVE = 1; // 0x1
22030    field public static final int MESSAGE_PRIORITY_NORMAL = 0; // 0x0
22031    field public static final int MESSAGE_PRIORITY_URGENT = 2; // 0x2
22032  }
22033
22034  public final class SmsManager {
22035    method @Deprecated public boolean disableCellBroadcastRange(int, int, int);
22036    method @Deprecated public boolean enableCellBroadcastRange(int, int, int);
22037    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getPremiumSmsConsent(@NonNull String);
22038    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.net.Uri getSmscIdentity();
22039    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_CELL_BROADCASTS) public void resetAllCellBroadcastRanges();
22040    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>);
22041    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setPremiumSmsConsent(@NonNull String, int);
22042    field public static final int PREMIUM_SMS_CONSENT_ALWAYS_ALLOW = 3; // 0x3
22043    field public static final int PREMIUM_SMS_CONSENT_ASK_USER = 1; // 0x1
22044    field public static final int PREMIUM_SMS_CONSENT_NEVER_ALLOW = 2; // 0x2
22045    field public static final int PREMIUM_SMS_CONSENT_UNKNOWN = 0; // 0x0
22046  }
22047
22048  public class SmsMessage {
22049    method @Nullable public static android.telephony.SmsMessage createFromNativeSmsSubmitPdu(@NonNull byte[], boolean);
22050    method @Nullable public static android.telephony.SmsMessage.SubmitPdu getSmsPdu(int, int, @Nullable String, @NonNull String, @NonNull String, long);
22051    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);
22052  }
22053
22054  public class SubscriptionInfo implements android.os.Parcelable {
22055    method public boolean areUiccApplicationsEnabled();
22056    method @Nullable public java.util.List<android.telephony.UiccAccessRule> getAccessRules();
22057    method public int getProfileClass();
22058    method public int getTransferStatus();
22059    method public boolean isGroupDisabled();
22060  }
22061
22062  public class SubscriptionManager {
22063    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean canDisablePhysicalSubscription();
22064    method public boolean canManageSubscription(@NonNull android.telephony.SubscriptionInfo, @NonNull String);
22065    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int[] getActiveSubscriptionIdList();
22066    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.SubscriptionInfo getActiveSubscriptionInfoForIcc(@NonNull String);
22067    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public byte[] getAllSimSpecificSettingsForBackup();
22068    method @Nullable public java.util.List<android.telephony.SubscriptionInfo> getAvailableSubscriptionInfoList();
22069    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int[] getCompleteActiveSubscriptionIdList();
22070    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getEnabledSubscriptionId(int);
22071    method @NonNull public static android.content.res.Resources getResourcesForSubId(@NonNull android.content.Context, int);
22072    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isSubscriptionEnabled(int);
22073    method public void requestEmbeddedSubscriptionInfoListRefresh();
22074    method public void requestEmbeddedSubscriptionInfoListRefresh(int);
22075    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void restoreAllSimSpecificSettingsFromBackup(@NonNull byte[]);
22076    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDefaultDataSubId(int);
22077    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDefaultSmsSubId(int);
22078    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDefaultVoiceSubscriptionId(int);
22079    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>);
22080    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setSubscriptionEnabled(int, boolean);
22081    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void setTransferStatus(int, int);
22082    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setUiccApplicationsEnabled(int, boolean);
22083    field @RequiresPermission(android.Manifest.permission.MANAGE_SUBSCRIPTION_PLANS) public static final String ACTION_SUBSCRIPTION_PLANS_CHANGED = "android.telephony.action.SUBSCRIPTION_PLANS_CHANGED";
22084    field @NonNull public static final android.net.Uri ADVANCED_CALLING_ENABLED_CONTENT_URI;
22085    field @NonNull public static final android.net.Uri CROSS_SIM_ENABLED_CONTENT_URI;
22086    field @Deprecated public static final int PROFILE_CLASS_DEFAULT = -1; // 0xffffffff
22087    field public static final int PROFILE_CLASS_OPERATIONAL = 2; // 0x2
22088    field public static final int PROFILE_CLASS_PROVISIONING = 1; // 0x1
22089    field public static final int PROFILE_CLASS_TESTING = 0; // 0x0
22090    field public static final int PROFILE_CLASS_UNSET = -1; // 0xffffffff
22091    field public static final int TRANSFER_STATUS_CONVERTED = 2; // 0x2
22092    field public static final int TRANSFER_STATUS_NONE = 0; // 0x0
22093    field public static final int TRANSFER_STATUS_TRANSFERRED_OUT = 1; // 0x1
22094    field @NonNull public static final android.net.Uri VT_ENABLED_CONTENT_URI;
22095    field @NonNull public static final android.net.Uri WFC_ENABLED_CONTENT_URI;
22096    field @NonNull public static final android.net.Uri WFC_MODE_CONTENT_URI;
22097    field @NonNull public static final android.net.Uri WFC_ROAMING_ENABLED_CONTENT_URI;
22098    field @NonNull public static final android.net.Uri WFC_ROAMING_MODE_CONTENT_URI;
22099  }
22100
22101  public static class SubscriptionPlan.Builder {
22102    method @Deprecated public static android.telephony.SubscriptionPlan.Builder createRecurringDaily(java.time.ZonedDateTime);
22103    method @Deprecated public static android.telephony.SubscriptionPlan.Builder createRecurringMonthly(java.time.ZonedDateTime);
22104    method @Deprecated public static android.telephony.SubscriptionPlan.Builder createRecurringWeekly(java.time.ZonedDateTime);
22105  }
22106
22107  public class TelephonyCallback {
22108    field @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final int EVENT_ACTIVE_DATA_SUBSCRIPTION_ID_CHANGED = 23; // 0x17
22109    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_ALLOWED_NETWORK_TYPE_LIST_CHANGED = 35; // 0x23
22110    field public static final int EVENT_ALWAYS_REPORTED_SIGNAL_STRENGTH_CHANGED = 10; // 0xa
22111    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
22112    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_CALL_ATTRIBUTES_CHANGED = 27; // 0x1b
22113    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_CALL_DISCONNECT_CAUSE_CHANGED = 26; // 0x1a
22114    field @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final int EVENT_CALL_FORWARDING_INDICATOR_CHANGED = 4; // 0x4
22115    field public static final int EVENT_CALL_STATE_CHANGED = 6; // 0x6
22116    field public static final int EVENT_CARRIER_NETWORK_CHANGED = 17; // 0x11
22117    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
22118    field @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public static final int EVENT_CELL_LOCATION_CHANGED = 5; // 0x5
22119    field public static final int EVENT_DATA_ACTIVATION_STATE_CHANGED = 19; // 0x13
22120    field public static final int EVENT_DATA_ACTIVITY_CHANGED = 8; // 0x8
22121    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_DATA_CONNECTION_REAL_TIME_INFO_CHANGED = 14; // 0xe
22122    field public static final int EVENT_DATA_CONNECTION_STATE_CHANGED = 7; // 0x7
22123    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_DATA_ENABLED_CHANGED = 34; // 0x22
22124    field public static final int EVENT_DISPLAY_INFO_CHANGED = 21; // 0x15
22125    field @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final int EVENT_EMERGENCY_NUMBER_LIST_CHANGED = 25; // 0x19
22126    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_IMS_CALL_DISCONNECT_CAUSE_CHANGED = 28; // 0x1c
22127    field @RequiresPermission(android.Manifest.permission.READ_CALL_LOG) public static final int EVENT_LEGACY_CALL_STATE_CHANGED = 36; // 0x24
22128    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_LINK_CAPACITY_ESTIMATE_CHANGED = 37; // 0x25
22129    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_MEDIA_QUALITY_STATUS_CHANGED = 39; // 0x27
22130    field @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final int EVENT_MESSAGE_WAITING_INDICATOR_CHANGED = 3; // 0x3
22131    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_OEM_HOOK_RAW = 15; // 0xf
22132    field @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public static final int EVENT_OUTGOING_EMERGENCY_CALL = 29; // 0x1d
22133    field @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public static final int EVENT_OUTGOING_EMERGENCY_SMS = 30; // 0x1e
22134    field public static final int EVENT_PHONE_CAPABILITY_CHANGED = 22; // 0x16
22135    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_PHYSICAL_CHANNEL_CONFIG_CHANGED = 33; // 0x21
22136    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_PRECISE_CALL_STATE_CHANGED = 12; // 0xc
22137    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_PRECISE_DATA_CONNECTION_STATE_CHANGED = 13; // 0xd
22138    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_RADIO_POWER_STATE_CHANGED = 24; // 0x18
22139    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
22140    field public static final int EVENT_SERVICE_STATE_CHANGED = 1; // 0x1
22141    field public static final int EVENT_SIGNAL_STRENGTHS_CHANGED = 9; // 0x9
22142    field public static final int EVENT_SIGNAL_STRENGTH_CHANGED = 2; // 0x2
22143    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_SIMULTANEOUS_CELLULAR_CALLING_SUBSCRIPTIONS_CHANGED = 41; // 0x29
22144    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_SRVCC_STATE_CHANGED = 16; // 0x10
22145    field public static final int EVENT_USER_MOBILE_DATA_STATE_CHANGED = 20; // 0x14
22146    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_VOICE_ACTIVATION_STATE_CHANGED = 18; // 0x12
22147  }
22148
22149  public static interface TelephonyCallback.AllowedNetworkTypesListener {
22150    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onAllowedNetworkTypesChanged(int, long);
22151  }
22152
22153  public static interface TelephonyCallback.CallAttributesListener {
22154    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public default void onCallAttributesChanged(@NonNull android.telephony.CallAttributes);
22155    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public default void onCallStatesChanged(@NonNull java.util.List<android.telephony.CallState>);
22156  }
22157
22158  public static interface TelephonyCallback.DataEnabledListener {
22159    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onDataEnabledChanged(boolean, int);
22160  }
22161
22162  public static interface TelephonyCallback.LinkCapacityEstimateChangedListener {
22163    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onLinkCapacityEstimateChanged(@NonNull java.util.List<android.telephony.LinkCapacityEstimate>);
22164  }
22165
22166  public static interface TelephonyCallback.MediaQualityStatusChangedListener {
22167    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onMediaQualityStatusChanged(@NonNull android.telephony.ims.MediaQualityStatus);
22168  }
22169
22170  public static interface TelephonyCallback.OutgoingEmergencyCallListener {
22171    method @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void onOutgoingEmergencyCall(@NonNull android.telephony.emergency.EmergencyNumber, int);
22172  }
22173
22174  public static interface TelephonyCallback.OutgoingEmergencySmsListener {
22175    method @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void onOutgoingEmergencySms(@NonNull android.telephony.emergency.EmergencyNumber, int);
22176  }
22177
22178  public static interface TelephonyCallback.PhoneCapabilityListener {
22179    method public void onPhoneCapabilityChanged(@NonNull android.telephony.PhoneCapability);
22180  }
22181
22182  public static interface TelephonyCallback.PreciseCallStateListener {
22183    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onPreciseCallStateChanged(@NonNull android.telephony.PreciseCallState);
22184  }
22185
22186  public static interface TelephonyCallback.RadioPowerStateListener {
22187    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onRadioPowerStateChanged(int);
22188  }
22189
22190  public static interface TelephonyCallback.SimultaneousCellularCallingSupportListener {
22191    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onSimultaneousCellularCallingSubscriptionsChanged(@NonNull java.util.Set<java.lang.Integer>);
22192  }
22193
22194  public static interface TelephonyCallback.SrvccStateListener {
22195    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onSrvccStateChanged(int);
22196  }
22197
22198  public static interface TelephonyCallback.VoiceActivationStateListener {
22199    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onVoiceActivationStateChanged(int);
22200  }
22201
22202  public final class TelephonyHistogram implements android.os.Parcelable {
22203    ctor public TelephonyHistogram(android.os.Parcel);
22204    ctor public TelephonyHistogram(android.telephony.TelephonyHistogram);
22205    ctor public TelephonyHistogram(int, int, int);
22206    method public void addTimeTaken(int);
22207    method public int describeContents();
22208    method public int getAverageTime();
22209    method public int getBucketCount();
22210    method public int[] getBucketCounters();
22211    method public int[] getBucketEndPoints();
22212    method public int getCategory();
22213    method public int getId();
22214    method public int getMaxTime();
22215    method public int getMinTime();
22216    method public int getSampleCount();
22217    method public void writeToParcel(android.os.Parcel, int);
22218    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.TelephonyHistogram> CREATOR;
22219    field public static final int TELEPHONY_CATEGORY_RIL = 1; // 0x1
22220  }
22221
22222  public class TelephonyManager {
22223    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);
22224    method @Deprecated @RequiresPermission(android.Manifest.permission.CALL_PHONE) public void call(String, String);
22225    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.PinResult changeIccLockPin(@NonNull String, @NonNull String);
22226    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int checkCarrierPrivilegesForPackage(String);
22227    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int checkCarrierPrivilegesForPackageAnyPhone(String);
22228    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void clearRadioPowerOffForReason(int);
22229    method public void dial(String);
22230    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean disableDataConnectivity();
22231    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean enableDataConnectivity();
22232    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean enableModemForSlot(int, boolean);
22233    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void enableVideoCalling(boolean);
22234    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getAidForAppType(int);
22235    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<android.service.carrier.CarrierIdentifier> getAllowedCarriers(int);
22236    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public long getAllowedNetworkTypes();
22237    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public long getAllowedNetworkTypesBitmask();
22238    method @Nullable @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public android.content.ComponentName getAndUpdateDefaultRespondViaMessageApplication();
22239    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void getCallForwarding(int, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.TelephonyManager.CallForwardingInfoCallback);
22240    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>);
22241    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.ImsiEncryptionInfo getCarrierInfoForImsiEncryption(int);
22242    method public java.util.List<java.lang.String> getCarrierPackageNamesForIntent(android.content.Intent);
22243    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<java.lang.String> getCarrierPackageNamesForIntentAndPhone(android.content.Intent, int);
22244    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getCarrierPrivilegeStatus(int);
22245    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<java.lang.String> getCarrierPrivilegedPackagesForAllActiveSubscriptions();
22246    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.CarrierRestrictionRules getCarrierRestrictionRules();
22247    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getCarrierServicePackageName();
22248    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getCarrierServicePackageNameForLogicalSlot(int);
22249    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getCdmaEnhancedRoamingIndicatorDisplayNumber();
22250    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String getCdmaMdn();
22251    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String getCdmaMdn(int);
22252    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String getCdmaMin();
22253    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String getCdmaMin(int);
22254    method public String getCdmaPrlVersion();
22255    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getCdmaRoamingMode();
22256    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getCdmaSubscriptionMode();
22257    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_CELL_BROADCASTS) public java.util.List<android.telephony.CellBroadcastIdRange> getCellBroadcastIdRanges();
22258    method public int getCurrentPhoneType();
22259    method public int getCurrentPhoneType(int);
22260    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getDataActivationState();
22261    method @Deprecated public boolean getDataEnabled();
22262    method @Deprecated public boolean getDataEnabled(int);
22263    method @Nullable @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public android.content.ComponentName getDefaultRespondViaMessageApplication();
22264    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String getDeviceSoftwareVersion(int);
22265    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getEmergencyAssistancePackageName();
22266    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean getEmergencyCallbackMode();
22267    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getEmergencyNumberDbVersion();
22268    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getIsimDomain();
22269    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getIsimIst();
22270    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.Map<java.lang.Integer,java.lang.Integer> getLogicalToPhysicalSlotMapping();
22271    method public int getMaxNumberOfSimultaneouslyActiveSims();
22272    method public static long getMaxNumberVerificationTimeoutMillis();
22273    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String[] getMergedImsisFromGroup();
22274    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.PhoneCapability getPhoneCapability();
22275    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public long getPreferredNetworkTypeBitmask();
22276    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.Set<java.lang.Integer> getRadioPowerOffReasons();
22277    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public int getRadioPowerState();
22278    method public int getSimApplicationState();
22279    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getSimApplicationState(int);
22280    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getSimApplicationState(int, int);
22281    method public int getSimCardState();
22282    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getSimCardState(int);
22283    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getSimCardState(int, int);
22284    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.Locale getSimLocale();
22285    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.Collection<android.telephony.UiccSlotMapping> getSimSlotMapping();
22286    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<android.telephony.RadioAccessSpecifier> getSystemSelectionChannels();
22287    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public java.util.List<android.telephony.TelephonyHistogram> getTelephonyHistograms();
22288    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.UiccSlotInfo[] getUiccSlotsInfo();
22289    method @Nullable public android.os.Bundle getVisualVoicemailSettings();
22290    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getVoiceActivationState();
22291    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean handlePinMmi(String);
22292    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean handlePinMmiForSubscriber(int, String);
22293    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void iccCloseLogicalChannelByPort(int, int, int);
22294    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean iccCloseLogicalChannelBySlot(int, int);
22295    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.IccOpenLogicalChannelResponse iccOpenLogicalChannelByPort(int, int, @Nullable String, int);
22296    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.IccOpenLogicalChannelResponse iccOpenLogicalChannelBySlot(int, @Nullable String, int);
22297    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String iccTransmitApduBasicChannelByPort(int, int, int, int, int, int, int, @Nullable String);
22298    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String iccTransmitApduBasicChannelBySlot(int, int, int, int, int, int, @Nullable String);
22299    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String iccTransmitApduLogicalChannelByPort(int, int, int, int, int, int, int, int, @Nullable String);
22300    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String iccTransmitApduLogicalChannelBySlot(int, int, int, int, int, int, int, @Nullable String);
22301    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isAnyRadioPoweredOn();
22302    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isApnMetered(int);
22303    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isApplicationOnUicc(int);
22304    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isCellularIdentifierDisclosureNotificationsEnabled();
22305    method public boolean isDataConnectivityPossible();
22306    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isDataEnabledForApn(int);
22307    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isDomainSelectionSupported();
22308    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isEmergencyAssistanceEnabled();
22309    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public boolean isIccLockEnabled();
22310    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isIdle();
22311    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isInEmergencySmsMode();
22312    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isLteCdmaEvdoGsmWcdmaEnabled();
22313    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isMobileDataPolicyEnabled(int);
22314    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isNrDualConnectivityEnabled();
22315    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isNullCipherNotificationsEnabled();
22316    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isOffhook();
22317    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isOpportunisticNetworkEnabled();
22318    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isPotentialEmergencyNumber(@NonNull String);
22319    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isRadioOn();
22320    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isRinging();
22321    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean isTetheringApnRequired();
22322    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isVideoCallingEnabled();
22323    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public boolean isVisualVoicemailEnabled(android.telecom.PhoneAccountHandle);
22324    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean matchesCurrentSimOperator(@NonNull String, int, @Nullable String);
22325    method public boolean needsOtaServiceProvisioning();
22326    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void notifyOtaEmergencyNumberDbInstalled();
22327    method @RequiresPermission(android.Manifest.permission.REBOOT) public int prepareForUnattendedReboot();
22328    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean rebootRadio();
22329    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void registerCarrierPrivilegesCallback(int, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.TelephonyManager.CarrierPrivilegesCallback);
22330    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void reportDefaultNetworkStatus(boolean);
22331    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);
22332    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>);
22333    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);
22334    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void requestRadioPowerOffForReason(int);
22335    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void resetAllCarrierActions();
22336    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void resetCarrierKeysForImsiEncryption();
22337    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public void resetIms(int);
22338    method @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void resetOtaEmergencyNumberDbFilePath();
22339    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean resetRadioConfig();
22340    method @RequiresPermission(android.Manifest.permission.CONNECTIVITY_INTERNAL) public void resetSettings();
22341    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int sendThermalMitigationRequest(@NonNull android.telephony.ThermalMitigationRequest);
22342    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setAllowedCarriers(int, java.util.List<android.service.carrier.CarrierIdentifier>);
22343    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setAllowedNetworkTypes(long);
22344    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>);
22345    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>);
22346    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCarrierDataEnabled(boolean);
22347    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setCarrierRestrictionRules(@NonNull android.telephony.CarrierRestrictionRules);
22348    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCdmaRoamingMode(int);
22349    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCdmaSubscriptionMode(int);
22350    method @RequiresPermission(android.Manifest.permission.MODIFY_CELL_BROADCASTS) public void setCellBroadcastIdRanges(@NonNull java.util.List<android.telephony.CellBroadcastIdRange>, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
22351    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataActivationState(int);
22352    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataEnabled(int, boolean);
22353    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataRoamingEnabled(boolean);
22354    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setEnableCellularIdentifierDisclosureNotifications(boolean);
22355    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.PinResult setIccLockEnabled(boolean, @NonNull String);
22356    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setMobileDataPolicyEnabled(int, boolean);
22357    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setMultiSimCarrierRestriction(boolean);
22358    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setNrDualConnectivityState(int);
22359    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setNullCipherNotificationsEnabled(boolean);
22360    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setOpportunisticNetworkState(boolean);
22361    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setPreferredNetworkTypeBitmask(long);
22362    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setRadio(boolean);
22363    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setRadioEnabled(boolean);
22364    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setRadioPower(boolean);
22365    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSimPowerState(int);
22366    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>);
22367    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSimPowerStateForSlot(int, int);
22368    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>);
22369    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSimSlotMapping(@NonNull java.util.Collection<android.telephony.UiccSlotMapping>);
22370    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSystemSelectionChannels(@NonNull java.util.List<android.telephony.RadioAccessSpecifier>);
22371    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>);
22372    method @Deprecated public void setVisualVoicemailEnabled(android.telecom.PhoneAccountHandle, boolean);
22373    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoiceActivationState(int);
22374    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void shutdownAllRadios();
22375    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.PinResult supplyIccLockPin(@NonNull String);
22376    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.PinResult supplyIccLockPuk(@NonNull String, @NonNull String);
22377    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean supplyPin(String);
22378    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int[] supplyPinReportResult(String);
22379    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean supplyPuk(String, String);
22380    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int[] supplyPukReportResult(String, String);
22381    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean switchSlots(int[]);
22382    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void toggleRadioOnOff();
22383    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void unregisterCarrierPrivilegesCallback(@NonNull android.telephony.TelephonyManager.CarrierPrivilegesCallback);
22384    method @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void updateOtaEmergencyNumberDbFilePath(@NonNull android.os.ParcelFileDescriptor);
22385    method public void updateServiceLocation();
22386    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final String ACTION_ANOMALY_REPORTED = "android.telephony.action.ANOMALY_REPORTED";
22387    field public static final String ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED = "android.intent.action.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED";
22388    field public static final String ACTION_DEFAULT_VOICE_SUBSCRIPTION_CHANGED = "android.intent.action.ACTION_DEFAULT_VOICE_SUBSCRIPTION_CHANGED";
22389    field public static final String ACTION_EMERGENCY_ASSISTANCE = "android.telephony.action.EMERGENCY_ASSISTANCE";
22390    field public static final String ACTION_EMERGENCY_CALLBACK_MODE_CHANGED = "android.intent.action.EMERGENCY_CALLBACK_MODE_CHANGED";
22391    field public static final String ACTION_EMERGENCY_CALL_STATE_CHANGED = "android.intent.action.EMERGENCY_CALL_STATE_CHANGED";
22392    field public static final String ACTION_REQUEST_OMADM_CONFIGURATION_UPDATE = "com.android.omadm.service.CONFIGURATION_UPDATE";
22393    field public static final String ACTION_SHOW_NOTICE_ECM_BLOCK_OTHERS = "android.telephony.action.SHOW_NOTICE_ECM_BLOCK_OTHERS";
22394    field public static final String ACTION_SIM_APPLICATION_STATE_CHANGED = "android.telephony.action.SIM_APPLICATION_STATE_CHANGED";
22395    field public static final String ACTION_SIM_CARD_STATE_CHANGED = "android.telephony.action.SIM_CARD_STATE_CHANGED";
22396    field public static final String ACTION_SIM_SLOT_STATUS_CHANGED = "android.telephony.action.SIM_SLOT_STATUS_CHANGED";
22397    field public static final int ALLOWED_NETWORK_TYPES_REASON_ENABLE_2G = 3; // 0x3
22398    field public static final int ALLOWED_NETWORK_TYPES_REASON_POWER = 1; // 0x1
22399    field public static final int CALL_WAITING_STATUS_DISABLED = 2; // 0x2
22400    field public static final int CALL_WAITING_STATUS_ENABLED = 1; // 0x1
22401    field public static final int CALL_WAITING_STATUS_FDN_CHECK_FAILURE = 5; // 0x5
22402    field public static final int CALL_WAITING_STATUS_NOT_SUPPORTED = 4; // 0x4
22403    field public static final int CALL_WAITING_STATUS_UNKNOWN_ERROR = 3; // 0x3
22404    field public static final String CAPABILITY_NR_DUAL_CONNECTIVITY_CONFIGURATION_AVAILABLE = "CAPABILITY_NR_DUAL_CONNECTIVITY_CONFIGURATION_AVAILABLE";
22405    field public static final String CAPABILITY_SECONDARY_LINK_BANDWIDTH_VISIBLE = "CAPABILITY_SECONDARY_LINK_BANDWIDTH_VISIBLE";
22406    field public static final String CAPABILITY_THERMAL_MITIGATION_DATA_THROTTLING = "CAPABILITY_THERMAL_MITIGATION_DATA_THROTTLING";
22407    field public static final String CAPABILITY_USES_ALLOWED_NETWORK_TYPES_BITMASK = "CAPABILITY_USES_ALLOWED_NETWORK_TYPES_BITMASK";
22408    field public static final int CARRIER_PRIVILEGE_STATUS_ERROR_LOADING_RULES = -2; // 0xfffffffe
22409    field public static final int CARRIER_PRIVILEGE_STATUS_HAS_ACCESS = 1; // 0x1
22410    field public static final int CARRIER_PRIVILEGE_STATUS_NO_ACCESS = 0; // 0x0
22411    field public static final int CARRIER_PRIVILEGE_STATUS_RULES_NOT_LOADED = -1; // 0xffffffff
22412    field public static final int CDMA_SUBSCRIPTION_NV = 1; // 0x1
22413    field public static final int CDMA_SUBSCRIPTION_RUIM_SIM = 0; // 0x0
22414    field public static final int CDMA_SUBSCRIPTION_UNKNOWN = -1; // 0xffffffff
22415    field public static final int CELL_BROADCAST_RESULT_FAIL_ACTIVATION = 3; // 0x3
22416    field public static final int CELL_BROADCAST_RESULT_FAIL_CONFIG = 2; // 0x2
22417    field public static final int CELL_BROADCAST_RESULT_SUCCESS = 0; // 0x0
22418    field public static final int CELL_BROADCAST_RESULT_UNKNOWN = -1; // 0xffffffff
22419    field public static final int CELL_BROADCAST_RESULT_UNSUPPORTED = 1; // 0x1
22420    field public static final int ENABLE_NR_DUAL_CONNECTIVITY_INVALID_STATE = 4; // 0x4
22421    field public static final int ENABLE_NR_DUAL_CONNECTIVITY_NOT_SUPPORTED = 1; // 0x1
22422    field public static final int ENABLE_NR_DUAL_CONNECTIVITY_RADIO_ERROR = 3; // 0x3
22423    field public static final int ENABLE_NR_DUAL_CONNECTIVITY_RADIO_NOT_AVAILABLE = 2; // 0x2
22424    field public static final int ENABLE_NR_DUAL_CONNECTIVITY_SUCCESS = 0; // 0x0
22425    field public static final String EXTRA_ANOMALY_DESCRIPTION = "android.telephony.extra.ANOMALY_DESCRIPTION";
22426    field public static final String EXTRA_ANOMALY_ID = "android.telephony.extra.ANOMALY_ID";
22427    field public static final String EXTRA_PHONE_IN_ECM_STATE = "android.telephony.extra.PHONE_IN_ECM_STATE";
22428    field public static final String EXTRA_PHONE_IN_EMERGENCY_CALL = "android.telephony.extra.PHONE_IN_EMERGENCY_CALL";
22429    field public static final String EXTRA_SIM_STATE = "android.telephony.extra.SIM_STATE";
22430    field public static final String EXTRA_VISUAL_VOICEMAIL_ENABLED_BY_USER_BOOL = "android.telephony.extra.VISUAL_VOICEMAIL_ENABLED_BY_USER_BOOL";
22431    field public static final String EXTRA_VOICEMAIL_SCRAMBLED_PIN_STRING = "android.telephony.extra.VOICEMAIL_SCRAMBLED_PIN_STRING";
22432    field public static final int GBA_FAILURE_REASON_FEATURE_NOT_READY = 2; // 0x2
22433    field public static final int GBA_FAILURE_REASON_FEATURE_NOT_SUPPORTED = 1; // 0x1
22434    field public static final int GBA_FAILURE_REASON_INCORRECT_NAF_ID = 4; // 0x4
22435    field public static final int GBA_FAILURE_REASON_NETWORK_FAILURE = 3; // 0x3
22436    field public static final int GBA_FAILURE_REASON_SECURITY_PROTOCOL_NOT_SUPPORTED = 5; // 0x5
22437    field public static final int GBA_FAILURE_REASON_UNKNOWN = 0; // 0x0
22438    field public static final int INVALID_EMERGENCY_NUMBER_DB_VERSION = -1; // 0xffffffff
22439    field public static final int KEY_TYPE_EPDG = 1; // 0x1
22440    field public static final int KEY_TYPE_WLAN = 2; // 0x2
22441    field public static final int MOBILE_DATA_POLICY_AUTO_DATA_SWITCH = 3; // 0x3
22442    field public static final int MOBILE_DATA_POLICY_DATA_ON_NON_DEFAULT_DURING_VOICE_CALL = 1; // 0x1
22443    field public static final int MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED = 2; // 0x2
22444    field public static final int NR_DUAL_CONNECTIVITY_DISABLE = 2; // 0x2
22445    field public static final int NR_DUAL_CONNECTIVITY_DISABLE_IMMEDIATE = 3; // 0x3
22446    field public static final int NR_DUAL_CONNECTIVITY_ENABLE = 1; // 0x1
22447    field public static final int PREPARE_UNATTENDED_REBOOT_ERROR = 2; // 0x2
22448    field public static final int PREPARE_UNATTENDED_REBOOT_PIN_REQUIRED = 1; // 0x1
22449    field public static final int PREPARE_UNATTENDED_REBOOT_SUCCESS = 0; // 0x0
22450    field public static final int RADIO_POWER_OFF = 0; // 0x0
22451    field public static final int RADIO_POWER_ON = 1; // 0x1
22452    field public static final int RADIO_POWER_REASON_CARRIER = 2; // 0x2
22453    field public static final int RADIO_POWER_REASON_NEARBY_DEVICE = 3; // 0x3
22454    field public static final int RADIO_POWER_REASON_THERMAL = 1; // 0x1
22455    field public static final int RADIO_POWER_REASON_USER = 0; // 0x0
22456    field public static final int RADIO_POWER_UNAVAILABLE = 2; // 0x2
22457    field public static final int SET_CARRIER_RESTRICTION_ERROR = 2; // 0x2
22458    field public static final int SET_CARRIER_RESTRICTION_NOT_SUPPORTED = 1; // 0x1
22459    field public static final int SET_CARRIER_RESTRICTION_SUCCESS = 0; // 0x0
22460    field public static final int SET_SIM_POWER_STATE_ALREADY_IN_STATE = 1; // 0x1
22461    field public static final int SET_SIM_POWER_STATE_MODEM_ERROR = 2; // 0x2
22462    field public static final int SET_SIM_POWER_STATE_NOT_SUPPORTED = 4; // 0x4
22463    field public static final int SET_SIM_POWER_STATE_SIM_ERROR = 3; // 0x3
22464    field public static final int SET_SIM_POWER_STATE_SUCCESS = 0; // 0x0
22465    field public static final int SIM_ACTIVATION_STATE_ACTIVATED = 2; // 0x2
22466    field public static final int SIM_ACTIVATION_STATE_ACTIVATING = 1; // 0x1
22467    field public static final int SIM_ACTIVATION_STATE_DEACTIVATED = 3; // 0x3
22468    field public static final int SIM_ACTIVATION_STATE_RESTRICTED = 4; // 0x4
22469    field public static final int SIM_ACTIVATION_STATE_UNKNOWN = 0; // 0x0
22470    field public static final int SIM_STATE_LOADED = 10; // 0xa
22471    field public static final int SIM_STATE_PRESENT = 11; // 0xb
22472    field public static final int SRVCC_STATE_HANDOVER_CANCELED = 3; // 0x3
22473    field public static final int SRVCC_STATE_HANDOVER_COMPLETED = 1; // 0x1
22474    field public static final int SRVCC_STATE_HANDOVER_FAILED = 2; // 0x2
22475    field public static final int SRVCC_STATE_HANDOVER_NONE = -1; // 0xffffffff
22476    field public static final int SRVCC_STATE_HANDOVER_STARTED = 0; // 0x0
22477    field public static final int THERMAL_MITIGATION_RESULT_INVALID_STATE = 3; // 0x3
22478    field public static final int THERMAL_MITIGATION_RESULT_MODEM_ERROR = 1; // 0x1
22479    field public static final int THERMAL_MITIGATION_RESULT_MODEM_NOT_AVAILABLE = 2; // 0x2
22480    field public static final int THERMAL_MITIGATION_RESULT_SUCCESS = 0; // 0x0
22481    field public static final int THERMAL_MITIGATION_RESULT_UNKNOWN_ERROR = 4; // 0x4
22482  }
22483
22484  public static class TelephonyManager.BootstrapAuthenticationCallback {
22485    ctor public TelephonyManager.BootstrapAuthenticationCallback();
22486    method public void onAuthenticationFailure(int);
22487    method public void onKeysAvailable(@NonNull byte[], @NonNull String);
22488  }
22489
22490  public static interface TelephonyManager.CallForwardingInfoCallback {
22491    method public void onCallForwardingInfoAvailable(@NonNull android.telephony.CallForwardingInfo);
22492    method public void onError(int);
22493    field public static final int RESULT_ERROR_FDN_CHECK_FAILURE = 2; // 0x2
22494    field public static final int RESULT_ERROR_NOT_SUPPORTED = 3; // 0x3
22495    field public static final int RESULT_ERROR_UNKNOWN = 1; // 0x1
22496    field public static final int RESULT_SUCCESS = 0; // 0x0
22497  }
22498
22499  public static interface TelephonyManager.CarrierPrivilegesCallback {
22500    method public void onCarrierPrivilegesChanged(@NonNull java.util.Set<java.lang.String>, @NonNull java.util.Set<java.lang.Integer>);
22501    method public default void onCarrierServiceChanged(@Nullable String, int);
22502  }
22503
22504  public static class TelephonyManager.ModemActivityInfoException extends java.lang.Exception {
22505    ctor public TelephonyManager.ModemActivityInfoException(int);
22506    method public int getErrorCode();
22507    field public static final int ERROR_INVALID_INFO_RECEIVED = 2; // 0x2
22508    field public static final int ERROR_MODEM_RESPONSE_ERROR = 3; // 0x3
22509    field public static final int ERROR_PHONE_NOT_AVAILABLE = 1; // 0x1
22510    field public static final int ERROR_UNKNOWN = 0; // 0x0
22511  }
22512
22513  public final class ThermalMitigationRequest implements android.os.Parcelable {
22514    method public int describeContents();
22515    method @Nullable public android.telephony.DataThrottlingRequest getDataThrottlingRequest();
22516    method public int getThermalMitigationAction();
22517    method public void writeToParcel(@NonNull android.os.Parcel, int);
22518    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ThermalMitigationRequest> CREATOR;
22519    field public static final int THERMAL_MITIGATION_ACTION_DATA_THROTTLING = 0; // 0x0
22520    field public static final int THERMAL_MITIGATION_ACTION_RADIO_OFF = 2; // 0x2
22521    field public static final int THERMAL_MITIGATION_ACTION_VOICE_ONLY = 1; // 0x1
22522  }
22523
22524  public static final class ThermalMitigationRequest.Builder {
22525    ctor public ThermalMitigationRequest.Builder();
22526    method @NonNull public android.telephony.ThermalMitigationRequest build();
22527    method @NonNull public android.telephony.ThermalMitigationRequest.Builder setDataThrottlingRequest(@NonNull android.telephony.DataThrottlingRequest);
22528    method @NonNull public android.telephony.ThermalMitigationRequest.Builder setThermalMitigationAction(int);
22529  }
22530
22531  public interface TransportSelectorCallback {
22532    method public void onCreated(@NonNull android.telephony.DomainSelector);
22533    method public void onSelectionTerminated(int);
22534    method public void onWlanSelected(boolean);
22535    method public void onWwanSelected(@NonNull java.util.function.Consumer<android.telephony.WwanSelectorCallback>);
22536  }
22537
22538  public final class UiccAccessRule implements android.os.Parcelable {
22539    ctor public UiccAccessRule(byte[], @Nullable String, long);
22540    method public int describeContents();
22541    method public int getCarrierPrivilegeStatus(android.content.pm.PackageInfo);
22542    method public int getCarrierPrivilegeStatus(android.content.pm.Signature, String);
22543    method public String getCertificateHexString();
22544    method @Nullable public String getPackageName();
22545    method public void writeToParcel(android.os.Parcel, int);
22546    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.UiccAccessRule> CREATOR;
22547  }
22548
22549  public class UiccSlotInfo implements android.os.Parcelable {
22550    ctor @Deprecated public UiccSlotInfo(boolean, boolean, String, int, int, boolean);
22551    method public int describeContents();
22552    method public String getCardId();
22553    method public int getCardStateInfo();
22554    method @Deprecated public boolean getIsActive();
22555    method public boolean getIsEuicc();
22556    method public boolean getIsExtendedApduSupported();
22557    method @Deprecated public int getLogicalSlotIdx();
22558    method @NonNull public java.util.Collection<android.telephony.UiccPortInfo> getPorts();
22559    method public boolean isRemovable();
22560    method public void writeToParcel(android.os.Parcel, int);
22561    field public static final int CARD_STATE_INFO_ABSENT = 1; // 0x1
22562    field public static final int CARD_STATE_INFO_ERROR = 3; // 0x3
22563    field public static final int CARD_STATE_INFO_PRESENT = 2; // 0x2
22564    field public static final int CARD_STATE_INFO_RESTRICTED = 4; // 0x4
22565    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.UiccSlotInfo> CREATOR;
22566  }
22567
22568  public final class UiccSlotMapping implements android.os.Parcelable {
22569    ctor public UiccSlotMapping(int, int, int);
22570    method public int describeContents();
22571    method @IntRange(from=0) public int getLogicalSlotIndex();
22572    method @IntRange(from=0) public int getPhysicalSlotIndex();
22573    method @IntRange(from=0) public int getPortIndex();
22574    method public void writeToParcel(@Nullable android.os.Parcel, int);
22575    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.UiccSlotMapping> CREATOR;
22576  }
22577
22578  public abstract class VisualVoicemailService extends android.app.Service {
22579    method public static final void sendVisualVoicemailSms(android.content.Context, android.telecom.PhoneAccountHandle, String, short, String, android.app.PendingIntent);
22580    method public static final void setSmsFilterSettings(android.content.Context, android.telecom.PhoneAccountHandle, android.telephony.VisualVoicemailSmsFilterSettings);
22581  }
22582
22583  public abstract class VopsSupportInfo implements android.os.Parcelable {
22584    method public int describeContents();
22585    method public abstract boolean equals(Object);
22586    method public abstract int hashCode();
22587    method public abstract boolean isEmergencyServiceFallbackSupported();
22588    method public abstract boolean isEmergencyServiceSupported();
22589    method public abstract boolean isVopsSupported();
22590    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.VopsSupportInfo> CREATOR;
22591  }
22592
22593  public interface WwanSelectorCallback {
22594    method public void onDomainSelected(int, boolean);
22595    method public void onRequestEmergencyNetworkScan(@NonNull java.util.List<java.lang.Integer>, int, boolean, @NonNull android.os.CancellationSignal, @NonNull java.util.function.Consumer<android.telephony.EmergencyRegistrationResult>);
22596  }
22597
22598}
22599
22600package android.telephony.cdma {
22601
22602  public final class CdmaSmsCbProgramData implements android.os.Parcelable {
22603    method public int describeContents();
22604    method public int getCategory();
22605    method public int getOperation();
22606    method public void writeToParcel(android.os.Parcel, int);
22607    field public static final int CATEGORY_CMAS_CHILD_ABDUCTION_EMERGENCY = 4099; // 0x1003
22608    field public static final int CATEGORY_CMAS_EXTREME_THREAT = 4097; // 0x1001
22609    field public static final int CATEGORY_CMAS_LAST_RESERVED_VALUE = 4351; // 0x10ff
22610    field public static final int CATEGORY_CMAS_PRESIDENTIAL_LEVEL_ALERT = 4096; // 0x1000
22611    field public static final int CATEGORY_CMAS_SEVERE_THREAT = 4098; // 0x1002
22612    field public static final int CATEGORY_CMAS_TEST_MESSAGE = 4100; // 0x1004
22613    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.cdma.CdmaSmsCbProgramData> CREATOR;
22614    field public static final int OPERATION_ADD_CATEGORY = 1; // 0x1
22615    field public static final int OPERATION_CLEAR_CATEGORIES = 2; // 0x2
22616    field public static final int OPERATION_DELETE_CATEGORY = 0; // 0x0
22617  }
22618
22619}
22620
22621package android.telephony.data {
22622
22623  public class ApnSetting implements android.os.Parcelable {
22624    method public static int getApnTypeInt(@NonNull String);
22625    method @NonNull public static String getApnTypeString(int);
22626    field public static final String TYPE_ALL_STRING = "*";
22627    field public static final String TYPE_BIP_STRING = "bip";
22628    field public static final String TYPE_CBS_STRING = "cbs";
22629    field public static final String TYPE_DEFAULT_STRING = "default";
22630    field public static final String TYPE_DUN_STRING = "dun";
22631    field public static final String TYPE_EMERGENCY_STRING = "emergency";
22632    field public static final String TYPE_ENTERPRISE_STRING = "enterprise";
22633    field public static final String TYPE_FOTA_STRING = "fota";
22634    field public static final String TYPE_HIPRI_STRING = "hipri";
22635    field public static final String TYPE_IA_STRING = "ia";
22636    field public static final String TYPE_IMS_STRING = "ims";
22637    field public static final String TYPE_MCX_STRING = "mcx";
22638    field public static final String TYPE_MMS_STRING = "mms";
22639    field public static final String TYPE_RCS_STRING = "rcs";
22640    field public static final String TYPE_SUPL_STRING = "supl";
22641    field public static final String TYPE_VSIM_STRING = "vsim";
22642    field public static final String TYPE_XCAP_STRING = "xcap";
22643  }
22644
22645  public final class DataCallResponse implements android.os.Parcelable {
22646    method public int describeContents();
22647    method @NonNull public java.util.List<android.net.LinkAddress> getAddresses();
22648    method public int getCause();
22649    method @NonNull public java.util.List<java.net.InetAddress> getDnsAddresses();
22650    method @NonNull public java.util.List<java.net.InetAddress> getGatewayAddresses();
22651    method public int getHandoverFailureMode();
22652    method public int getId();
22653    method @NonNull public String getInterfaceName();
22654    method public int getLinkStatus();
22655    method @Deprecated public int getMtu();
22656    method public int getMtuV4();
22657    method public int getMtuV6();
22658    method public int getNetworkValidationStatus();
22659    method @NonNull public java.util.List<java.net.InetAddress> getPcscfAddresses();
22660    method public int getPduSessionId();
22661    method public int getProtocolType();
22662    method public long getRetryDurationMillis();
22663    method @Nullable public android.telephony.data.NetworkSliceInfo getSliceInfo();
22664    method @Deprecated public int getSuggestedRetryTime();
22665    method @NonNull public java.util.List<android.telephony.data.TrafficDescriptor> getTrafficDescriptors();
22666    method public void writeToParcel(android.os.Parcel, int);
22667    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.DataCallResponse> CREATOR;
22668    field public static final int HANDOVER_FAILURE_MODE_DO_FALLBACK = 1; // 0x1
22669    field public static final int HANDOVER_FAILURE_MODE_LEGACY = 0; // 0x0
22670    field public static final int HANDOVER_FAILURE_MODE_NO_FALLBACK_RETRY_HANDOVER = 2; // 0x2
22671    field public static final int HANDOVER_FAILURE_MODE_NO_FALLBACK_RETRY_SETUP_NORMAL = 3; // 0x3
22672    field public static final int HANDOVER_FAILURE_MODE_UNKNOWN = -1; // 0xffffffff
22673    field public static final int LINK_STATUS_ACTIVE = 2; // 0x2
22674    field public static final int LINK_STATUS_DORMANT = 1; // 0x1
22675    field public static final int LINK_STATUS_INACTIVE = 0; // 0x0
22676    field public static final int LINK_STATUS_UNKNOWN = -1; // 0xffffffff
22677    field public static final int PDU_SESSION_ID_NOT_SET = 0; // 0x0
22678    field public static final int RETRY_DURATION_UNDEFINED = -1; // 0xffffffff
22679  }
22680
22681  public static final class DataCallResponse.Builder {
22682    ctor public DataCallResponse.Builder();
22683    method @NonNull public android.telephony.data.DataCallResponse build();
22684    method @NonNull public android.telephony.data.DataCallResponse.Builder setAddresses(@NonNull java.util.List<android.net.LinkAddress>);
22685    method @NonNull public android.telephony.data.DataCallResponse.Builder setCause(int);
22686    method @NonNull public android.telephony.data.DataCallResponse.Builder setDnsAddresses(@NonNull java.util.List<java.net.InetAddress>);
22687    method @NonNull public android.telephony.data.DataCallResponse.Builder setGatewayAddresses(@NonNull java.util.List<java.net.InetAddress>);
22688    method @NonNull public android.telephony.data.DataCallResponse.Builder setHandoverFailureMode(int);
22689    method @NonNull public android.telephony.data.DataCallResponse.Builder setId(int);
22690    method @NonNull public android.telephony.data.DataCallResponse.Builder setInterfaceName(@Nullable String);
22691    method @NonNull public android.telephony.data.DataCallResponse.Builder setLinkStatus(int);
22692    method @Deprecated @NonNull public android.telephony.data.DataCallResponse.Builder setMtu(int);
22693    method @NonNull public android.telephony.data.DataCallResponse.Builder setMtuV4(int);
22694    method @NonNull public android.telephony.data.DataCallResponse.Builder setMtuV6(int);
22695    method @NonNull public android.telephony.data.DataCallResponse.Builder setNetworkValidationStatus(int);
22696    method @NonNull public android.telephony.data.DataCallResponse.Builder setPcscfAddresses(@NonNull java.util.List<java.net.InetAddress>);
22697    method @NonNull public android.telephony.data.DataCallResponse.Builder setPduSessionId(@IntRange(from=android.telephony.data.DataCallResponse.PDU_SESSION_ID_NOT_SET, to=15) int);
22698    method @NonNull public android.telephony.data.DataCallResponse.Builder setProtocolType(int);
22699    method @NonNull public android.telephony.data.DataCallResponse.Builder setRetryDurationMillis(long);
22700    method @NonNull public android.telephony.data.DataCallResponse.Builder setSliceInfo(@Nullable android.telephony.data.NetworkSliceInfo);
22701    method @Deprecated @NonNull public android.telephony.data.DataCallResponse.Builder setSuggestedRetryTime(int);
22702    method @NonNull public android.telephony.data.DataCallResponse.Builder setTrafficDescriptors(@NonNull java.util.List<android.telephony.data.TrafficDescriptor>);
22703  }
22704
22705  public final class DataProfile implements android.os.Parcelable {
22706    method public int describeContents();
22707    method @Deprecated @NonNull public String getApn();
22708    method @Nullable public android.telephony.data.ApnSetting getApnSetting();
22709    method @Deprecated public int getAuthType();
22710    method @Deprecated public int getBearerBitmask();
22711    method @Deprecated public int getMtu();
22712    method @Deprecated public int getMtuV4();
22713    method @Deprecated public int getMtuV6();
22714    method @Deprecated @Nullable public String getPassword();
22715    method @Deprecated public int getProfileId();
22716    method @Deprecated public int getProtocolType();
22717    method @Deprecated public int getRoamingProtocolType();
22718    method @Deprecated public int getSupportedApnTypesBitmask();
22719    method @Nullable public android.telephony.data.TrafficDescriptor getTrafficDescriptor();
22720    method public int getType();
22721    method @Deprecated @Nullable public String getUserName();
22722    method public boolean isEnabled();
22723    method @Deprecated public boolean isPersistent();
22724    method public boolean isPreferred();
22725    method public void writeToParcel(android.os.Parcel, int);
22726    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.DataProfile> CREATOR;
22727    field public static final int TYPE_3GPP = 1; // 0x1
22728    field public static final int TYPE_3GPP2 = 2; // 0x2
22729    field public static final int TYPE_COMMON = 0; // 0x0
22730  }
22731
22732  public static final class DataProfile.Builder {
22733    ctor public DataProfile.Builder();
22734    method @NonNull public android.telephony.data.DataProfile build();
22735    method @NonNull public android.telephony.data.DataProfile.Builder enable(boolean);
22736    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setApn(@NonNull String);
22737    method @NonNull public android.telephony.data.DataProfile.Builder setApnSetting(@NonNull android.telephony.data.ApnSetting);
22738    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setAuthType(int);
22739    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setBearerBitmask(int);
22740    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setMtu(int);
22741    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setMtuV4(int);
22742    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setMtuV6(int);
22743    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setPassword(@NonNull String);
22744    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setPersistent(boolean);
22745    method @NonNull public android.telephony.data.DataProfile.Builder setPreferred(boolean);
22746    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setProfileId(int);
22747    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setProtocolType(int);
22748    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setRoamingProtocolType(int);
22749    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setSupportedApnTypesBitmask(int);
22750    method @NonNull public android.telephony.data.DataProfile.Builder setTrafficDescriptor(@NonNull android.telephony.data.TrafficDescriptor);
22751    method @NonNull public android.telephony.data.DataProfile.Builder setType(int);
22752    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setUserName(@NonNull String);
22753  }
22754
22755  public abstract class DataService extends android.app.Service {
22756    ctor public DataService();
22757    method public android.os.IBinder onBind(android.content.Intent);
22758    method @Nullable public abstract android.telephony.data.DataService.DataServiceProvider onCreateDataServiceProvider(int);
22759    field public static final int REQUEST_REASON_HANDOVER = 3; // 0x3
22760    field public static final int REQUEST_REASON_NORMAL = 1; // 0x1
22761    field public static final int REQUEST_REASON_SHUTDOWN = 2; // 0x2
22762    field public static final int REQUEST_REASON_UNKNOWN = 0; // 0x0
22763    field public static final String SERVICE_INTERFACE = "android.telephony.data.DataService";
22764  }
22765
22766  public abstract class DataService.DataServiceProvider implements java.lang.AutoCloseable {
22767    ctor public DataService.DataServiceProvider(int);
22768    method public abstract void close();
22769    method public void deactivateDataCall(int, int, @Nullable android.telephony.data.DataServiceCallback);
22770    method public final int getSlotIndex();
22771    method public final void notifyApnUnthrottled(@NonNull String);
22772    method public final void notifyDataCallListChanged(java.util.List<android.telephony.data.DataCallResponse>);
22773    method public final void notifyDataProfileUnthrottled(@NonNull android.telephony.data.DataProfile);
22774    method public void requestDataCallList(@NonNull android.telephony.data.DataServiceCallback);
22775    method public void requestNetworkValidation(int, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
22776    method public void setDataProfile(@NonNull java.util.List<android.telephony.data.DataProfile>, boolean, @NonNull android.telephony.data.DataServiceCallback);
22777    method public void setInitialAttachApn(@NonNull android.telephony.data.DataProfile, boolean, @NonNull android.telephony.data.DataServiceCallback);
22778    method public void setupDataCall(int, @NonNull android.telephony.data.DataProfile, boolean, boolean, int, @Nullable android.net.LinkProperties, @NonNull android.telephony.data.DataServiceCallback);
22779    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);
22780  }
22781
22782  public class DataServiceCallback {
22783    method public void onApnUnthrottled(@NonNull String);
22784    method public void onDataCallListChanged(@NonNull java.util.List<android.telephony.data.DataCallResponse>);
22785    method public void onDataProfileUnthrottled(@NonNull android.telephony.data.DataProfile);
22786    method public void onDeactivateDataCallComplete(int);
22787    method public void onRequestDataCallListComplete(int, @NonNull java.util.List<android.telephony.data.DataCallResponse>);
22788    method public void onSetDataProfileComplete(int);
22789    method public void onSetInitialAttachApnComplete(int);
22790    method public void onSetupDataCallComplete(int, @Nullable android.telephony.data.DataCallResponse);
22791    field public static final int RESULT_ERROR_BUSY = 3; // 0x3
22792    field public static final int RESULT_ERROR_ILLEGAL_STATE = 4; // 0x4
22793    field public static final int RESULT_ERROR_INVALID_ARG = 2; // 0x2
22794    field public static final int RESULT_ERROR_UNSUPPORTED = 1; // 0x1
22795    field public static final int RESULT_SUCCESS = 0; // 0x0
22796  }
22797
22798  public final class EpsBearerQosSessionAttributes implements android.os.Parcelable android.net.QosSessionAttributes {
22799    method public int describeContents();
22800    method public long getGuaranteedDownlinkBitRateKbps();
22801    method public long getGuaranteedUplinkBitRateKbps();
22802    method public long getMaxDownlinkBitRateKbps();
22803    method public long getMaxUplinkBitRateKbps();
22804    method public int getQosIdentifier();
22805    method @NonNull public java.util.List<java.net.InetSocketAddress> getRemoteAddresses();
22806    method public void writeToParcel(@NonNull android.os.Parcel, int);
22807    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.EpsBearerQosSessionAttributes> CREATOR;
22808  }
22809
22810  public final class NrQosSessionAttributes implements android.os.Parcelable android.net.QosSessionAttributes {
22811    method public int describeContents();
22812    method @NonNull public java.time.Duration getBitRateWindowDuration();
22813    method public long getGuaranteedDownlinkBitRateKbps();
22814    method public long getGuaranteedUplinkBitRateKbps();
22815    method public long getMaxDownlinkBitRateKbps();
22816    method public long getMaxUplinkBitRateKbps();
22817    method @IntRange(from=1, to=63) public int getQosFlowIdentifier();
22818    method public int getQosIdentifier();
22819    method @NonNull public java.util.List<java.net.InetSocketAddress> getRemoteAddresses();
22820    method public void writeToParcel(@NonNull android.os.Parcel, int);
22821    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.NrQosSessionAttributes> CREATOR;
22822  }
22823
22824  public abstract class QualifiedNetworksService extends android.app.Service {
22825    ctor public QualifiedNetworksService();
22826    method public android.os.IBinder onBind(android.content.Intent);
22827    method @NonNull public abstract android.telephony.data.QualifiedNetworksService.NetworkAvailabilityProvider onCreateNetworkAvailabilityProvider(int);
22828    field public static final String QUALIFIED_NETWORKS_SERVICE_INTERFACE = "android.telephony.data.QualifiedNetworksService";
22829  }
22830
22831  public abstract class QualifiedNetworksService.NetworkAvailabilityProvider implements java.lang.AutoCloseable {
22832    ctor public QualifiedNetworksService.NetworkAvailabilityProvider(int);
22833    method public abstract void close();
22834    method public final int getSlotIndex();
22835    method public void reportEmergencyDataNetworkPreferredTransportChanged(int);
22836    method public void reportThrottleStatusChanged(@NonNull java.util.List<android.telephony.data.ThrottleStatus>);
22837    method public void requestNetworkValidation(int, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
22838    method public final void updateQualifiedNetworkTypes(int, @NonNull java.util.List<java.lang.Integer>);
22839  }
22840
22841  public final class ThrottleStatus implements android.os.Parcelable {
22842    method public int describeContents();
22843    method public int getApnType();
22844    method public int getRetryType();
22845    method public int getSlotIndex();
22846    method public long getThrottleExpiryTimeMillis();
22847    method public int getThrottleType();
22848    method public int getTransportType();
22849    method public void writeToParcel(@NonNull android.os.Parcel, int);
22850    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.ThrottleStatus> CREATOR;
22851    field public static final int RETRY_TYPE_HANDOVER = 3; // 0x3
22852    field public static final int RETRY_TYPE_NEW_CONNECTION = 2; // 0x2
22853    field public static final int RETRY_TYPE_NONE = 1; // 0x1
22854    field public static final int THROTTLE_TYPE_ELAPSED_TIME = 2; // 0x2
22855    field public static final int THROTTLE_TYPE_NONE = 1; // 0x1
22856  }
22857
22858  public static final class ThrottleStatus.Builder {
22859    ctor public ThrottleStatus.Builder();
22860    method @NonNull public android.telephony.data.ThrottleStatus build();
22861    method @NonNull public android.telephony.data.ThrottleStatus.Builder setApnType(int);
22862    method @NonNull public android.telephony.data.ThrottleStatus.Builder setNoThrottle();
22863    method @NonNull public android.telephony.data.ThrottleStatus.Builder setRetryType(int);
22864    method @NonNull public android.telephony.data.ThrottleStatus.Builder setSlotIndex(int);
22865    method @NonNull public android.telephony.data.ThrottleStatus.Builder setThrottleExpiryTimeMillis(long);
22866    method @NonNull public android.telephony.data.ThrottleStatus.Builder setTransportType(int);
22867  }
22868
22869}
22870
22871package android.telephony.euicc {
22872
22873  public final class DownloadableSubscription implements android.os.Parcelable {
22874    method public java.util.List<android.telephony.UiccAccessRule> getAccessRules();
22875    method @Nullable public String getCarrierName();
22876  }
22877
22878  public static final class DownloadableSubscription.Builder {
22879    ctor public DownloadableSubscription.Builder();
22880    method @NonNull public android.telephony.euicc.DownloadableSubscription.Builder setAccessRules(@NonNull java.util.List<android.telephony.UiccAccessRule>);
22881    method @NonNull public android.telephony.euicc.DownloadableSubscription.Builder setCarrierName(@NonNull String);
22882  }
22883
22884  public class EuiccCardManager {
22885    method public void authenticateServer(String, String, byte[], byte[], byte[], byte[], java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
22886    method public void cancelSession(String, byte[], int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
22887    method public void deleteProfile(String, String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
22888    method public void disableProfile(String, String, boolean, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
22889    method public void listNotifications(String, int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.telephony.euicc.EuiccNotification[]>);
22890    method public void loadBoundProfilePackage(String, byte[], java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
22891    method public void prepareDownload(String, @Nullable byte[], byte[], byte[], byte[], java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
22892    method public void removeNotificationFromList(String, int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
22893    method public void requestAllProfiles(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.service.euicc.EuiccProfileInfo[]>);
22894    method public void requestDefaultSmdpAddress(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.String>);
22895    method public void requestEnabledProfileForPort(@NonNull String, int, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.euicc.EuiccCardManager.ResultCallback<android.service.euicc.EuiccProfileInfo>);
22896    method public void requestEuiccChallenge(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
22897    method public void requestEuiccInfo1(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
22898    method public void requestEuiccInfo2(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
22899    method public void requestProfile(String, String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.service.euicc.EuiccProfileInfo>);
22900    method public void requestRulesAuthTable(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.telephony.euicc.EuiccRulesAuthTable>);
22901    method public void requestSmdsAddress(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.String>);
22902    method public void resetMemory(String, int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
22903    method public void retrieveNotification(String, int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.telephony.euicc.EuiccNotification>);
22904    method public void retrieveNotificationList(String, int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.telephony.euicc.EuiccNotification[]>);
22905    method public void setDefaultSmdpAddress(String, String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
22906    method public void setNickname(String, String, String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
22907    method @Deprecated public void switchToProfile(String, String, boolean, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.service.euicc.EuiccProfileInfo>);
22908    method public void switchToProfile(@Nullable String, @Nullable String, int, boolean, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.euicc.EuiccCardManager.ResultCallback<android.service.euicc.EuiccProfileInfo>);
22909    field public static final int CANCEL_REASON_END_USER_REJECTED = 0; // 0x0
22910    field public static final int CANCEL_REASON_POSTPONED = 1; // 0x1
22911    field public static final int CANCEL_REASON_PPR_NOT_ALLOWED = 3; // 0x3
22912    field public static final int CANCEL_REASON_TIMEOUT = 2; // 0x2
22913    field public static final int RESET_OPTION_DELETE_FIELD_LOADED_TEST_PROFILES = 2; // 0x2
22914    field public static final int RESET_OPTION_DELETE_OPERATIONAL_PROFILES = 1; // 0x1
22915    field public static final int RESET_OPTION_RESET_DEFAULT_SMDP_ADDRESS = 4; // 0x4
22916    field public static final int RESULT_CALLER_NOT_ALLOWED = -3; // 0xfffffffd
22917    field public static final int RESULT_EUICC_NOT_FOUND = -2; // 0xfffffffe
22918    field public static final int RESULT_OK = 0; // 0x0
22919    field public static final int RESULT_PROFILE_DOES_NOT_EXIST = -4; // 0xfffffffc
22920    field public static final int RESULT_PROFILE_NOT_FOUND = 1; // 0x1
22921    field public static final int RESULT_UNKNOWN_ERROR = -1; // 0xffffffff
22922  }
22923
22924  public static interface EuiccCardManager.ResultCallback<T> {
22925    method public void onComplete(int, T);
22926  }
22927
22928  public class EuiccManager {
22929    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void continueOperation(android.content.Intent, android.os.Bundle);
22930    method @Deprecated @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void eraseSubscriptions(@NonNull android.app.PendingIntent);
22931    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void eraseSubscriptions(int, @NonNull android.app.PendingIntent);
22932    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void getDefaultDownloadableSubscriptionList(android.app.PendingIntent);
22933    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void getDownloadableSubscriptionMetadata(android.telephony.euicc.DownloadableSubscription, android.app.PendingIntent);
22934    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public int getOtaStatus();
22935    method @NonNull @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public java.util.List<java.lang.String> getSupportedCountries();
22936    method @NonNull @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public java.util.List<java.lang.String> getUnsupportedCountries();
22937    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public boolean isPsimConversionSupported(int);
22938    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public boolean isSupportedCountry(@NonNull String);
22939    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void setPsimConversionSupportedCarriers(@NonNull java.util.Set<java.lang.Integer>);
22940    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void setSupportedCountries(@NonNull java.util.List<java.lang.String>);
22941    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void setUnsupportedCountries(@NonNull java.util.List<java.lang.String>);
22942    field @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public static final String ACTION_CONVERT_TO_EMBEDDED_SUBSCRIPTION = "android.telephony.euicc.action.CONVERT_TO_EMBEDDED_SUBSCRIPTION";
22943    field public static final String ACTION_DELETE_SUBSCRIPTION_PRIVILEGED = "android.telephony.euicc.action.DELETE_SUBSCRIPTION_PRIVILEGED";
22944    field @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public static final String ACTION_OTA_STATUS_CHANGED = "android.telephony.euicc.action.OTA_STATUS_CHANGED";
22945    field public static final String ACTION_PROVISION_EMBEDDED_SUBSCRIPTION = "android.telephony.euicc.action.PROVISION_EMBEDDED_SUBSCRIPTION";
22946    field public static final String ACTION_RENAME_SUBSCRIPTION_PRIVILEGED = "android.telephony.euicc.action.RENAME_SUBSCRIPTION_PRIVILEGED";
22947    field public static final String ACTION_TOGGLE_SUBSCRIPTION_PRIVILEGED = "android.telephony.euicc.action.TOGGLE_SUBSCRIPTION_PRIVILEGED";
22948    field @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public static final String ACTION_TRANSFER_EMBEDDED_SUBSCRIPTIONS = "android.telephony.euicc.action.TRANSFER_EMBEDDED_SUBSCRIPTIONS";
22949    field public static final int EUICC_ACTIVATION_TYPE_ACCOUNT_REQUIRED = 4; // 0x4
22950    field public static final int EUICC_ACTIVATION_TYPE_BACKUP = 2; // 0x2
22951    field public static final int EUICC_ACTIVATION_TYPE_DEFAULT = 1; // 0x1
22952    field public static final int EUICC_ACTIVATION_TYPE_TRANSFER = 3; // 0x3
22953    field public static final int EUICC_OTA_FAILED = 2; // 0x2
22954    field public static final int EUICC_OTA_IN_PROGRESS = 1; // 0x1
22955    field public static final int EUICC_OTA_NOT_NEEDED = 4; // 0x4
22956    field public static final int EUICC_OTA_STATUS_UNAVAILABLE = 5; // 0x5
22957    field public static final int EUICC_OTA_SUCCEEDED = 3; // 0x3
22958    field public static final String EXTRA_ACTIVATION_TYPE = "android.telephony.euicc.extra.ACTIVATION_TYPE";
22959    field public static final String EXTRA_EMBEDDED_SUBSCRIPTION_DOWNLOADABLE_SUBSCRIPTIONS = "android.telephony.euicc.extra.EMBEDDED_SUBSCRIPTION_DOWNLOADABLE_SUBSCRIPTIONS";
22960    field public static final String EXTRA_ENABLE_SUBSCRIPTION = "android.telephony.euicc.extra.ENABLE_SUBSCRIPTION";
22961    field public static final String EXTRA_FORCE_PROVISION = "android.telephony.euicc.extra.FORCE_PROVISION";
22962    field public static final String EXTRA_FROM_SUBSCRIPTION_ID = "android.telephony.euicc.extra.FROM_SUBSCRIPTION_ID";
22963    field public static final String EXTRA_PHYSICAL_SLOT_ID = "android.telephony.euicc.extra.PHYSICAL_SLOT_ID";
22964    field public static final String EXTRA_SUBSCRIPTION_ID = "android.telephony.euicc.extra.SUBSCRIPTION_ID";
22965    field public static final String EXTRA_SUBSCRIPTION_NICKNAME = "android.telephony.euicc.extra.SUBSCRIPTION_NICKNAME";
22966  }
22967
22968  public final class EuiccNotification implements android.os.Parcelable {
22969    ctor public EuiccNotification(int, String, int, @Nullable byte[]);
22970    method public int describeContents();
22971    method @Nullable public byte[] getData();
22972    method public int getEvent();
22973    method public int getSeq();
22974    method public String getTargetAddr();
22975    method public void writeToParcel(android.os.Parcel, int);
22976    field public static final int ALL_EVENTS = 15; // 0xf
22977    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.euicc.EuiccNotification> CREATOR;
22978    field public static final int EVENT_DELETE = 8; // 0x8
22979    field public static final int EVENT_DISABLE = 4; // 0x4
22980    field public static final int EVENT_ENABLE = 2; // 0x2
22981    field public static final int EVENT_INSTALL = 1; // 0x1
22982  }
22983
22984  public final class EuiccRulesAuthTable implements android.os.Parcelable {
22985    method public int describeContents();
22986    method public int findIndex(int, android.service.carrier.CarrierIdentifier);
22987    method public boolean hasPolicyRuleFlag(int, int);
22988    method public void writeToParcel(android.os.Parcel, int);
22989    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.euicc.EuiccRulesAuthTable> CREATOR;
22990    field public static final int POLICY_RULE_FLAG_CONSENT_REQUIRED = 1; // 0x1
22991  }
22992
22993  public static final class EuiccRulesAuthTable.Builder {
22994    ctor public EuiccRulesAuthTable.Builder(int);
22995    method public android.telephony.euicc.EuiccRulesAuthTable.Builder add(int, java.util.List<android.service.carrier.CarrierIdentifier>, int);
22996    method public android.telephony.euicc.EuiccRulesAuthTable build();
22997  }
22998
22999}
23000
23001package android.telephony.gba {
23002
23003  public class GbaService extends android.app.Service {
23004    ctor public GbaService();
23005    method public void onAuthenticationRequest(int, int, int, @NonNull android.net.Uri, @NonNull byte[], boolean);
23006    method public android.os.IBinder onBind(android.content.Intent);
23007    method public final void reportAuthenticationFailure(int, int) throws java.lang.RuntimeException;
23008    method public final void reportKeysAvailable(int, @NonNull byte[], @NonNull String) throws java.lang.RuntimeException;
23009    field public static final String SERVICE_INTERFACE = "android.telephony.gba.GbaService";
23010  }
23011
23012  public class TlsParams {
23013    method public static boolean isTlsCipherSuiteSupported(int);
23014    field public static final int GROUP_SECP256R1 = 23; // 0x17
23015    field public static final int GROUP_SECP384R1 = 24; // 0x18
23016    field public static final int GROUP_X25519 = 29; // 0x1d
23017    field public static final int GROUP_X448 = 30; // 0x1e
23018    field public static final int PROTOCOL_VERSION_TLS_1_2 = 771; // 0x303
23019    field public static final int PROTOCOL_VERSION_TLS_1_3 = 772; // 0x304
23020    field public static final int SIG_ECDSA_BRAINPOOLP256R1TLS13_SHA256 = 2074; // 0x81a
23021    field public static final int SIG_ECDSA_BRAINPOOLP384R1TLS13_SHA384 = 2075; // 0x81b
23022    field public static final int SIG_ECDSA_BRAINPOOLP512R1TLS13_SHA512 = 2076; // 0x81c
23023    field public static final int SIG_ECDSA_SECP256R1_SHA256 = 1027; // 0x403
23024    field public static final int SIG_ECDSA_SECP384R1_SHA384 = 1283; // 0x503
23025    field public static final int SIG_ECDSA_SECP521R1_SHA512 = 1539; // 0x603
23026    field public static final int SIG_ECDSA_SHA1 = 515; // 0x203
23027    field public static final int SIG_RSA_PKCS1_SHA1 = 513; // 0x201
23028    field public static final int SIG_RSA_PKCS1_SHA256 = 1025; // 0x401
23029    field public static final int SIG_RSA_PKCS1_SHA256_LEGACY = 1056; // 0x420
23030    field public static final int SIG_RSA_PKCS1_SHA384 = 1281; // 0x501
23031    field public static final int SIG_RSA_PKCS1_SHA384_LEGACY = 1312; // 0x520
23032    field public static final int SIG_RSA_PKCS1_SHA512 = 1537; // 0x601
23033    field public static final int SIG_RSA_PKCS1_SHA512_LEGACY = 1568; // 0x620
23034    field public static final int SIG_RSA_PSS_RSAE_SHA256 = 2052; // 0x804
23035    field public static final int SIG_RSA_PSS_RSAE_SHA384 = 2053; // 0x805
23036    field public static final int SIG_RSA_PSS_RSAE_SHA512 = 2054; // 0x806
23037    field public static final int TLS_AES_128_CCM_SHA256 = 4868; // 0x1304
23038    field public static final int TLS_AES_128_GCM_SHA256 = 4865; // 0x1301
23039    field public static final int TLS_AES_256_GCM_SHA384 = 4866; // 0x1302
23040    field public static final int TLS_CHACHA20_POLY1305_SHA256 = 4867; // 0x1303
23041    field public static final int TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA = 19; // 0x13
23042    field public static final int TLS_DHE_DSS_WITH_AES_128_CBC_SHA = 50; // 0x32
23043    field public static final int TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 = 64; // 0x40
23044    field public static final int TLS_DHE_DSS_WITH_AES_256_CBC_SHA = 56; // 0x38
23045    field public static final int TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 = 106; // 0x6a
23046    field public static final int TLS_DHE_PSK_WITH_AES_128_CCM = 49318; // 0xc0a6
23047    field public static final int TLS_DHE_PSK_WITH_AES_128_GCM_SHA256 = 170; // 0xaa
23048    field public static final int TLS_DHE_PSK_WITH_AES_256_CCM = 49319; // 0xc0a7
23049    field public static final int TLS_DHE_PSK_WITH_AES_256_GCM_SHA384 = 171; // 0xab
23050    field public static final int TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256 = 52397; // 0xccad
23051    field public static final int TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA = 22; // 0x16
23052    field public static final int TLS_DHE_RSA_WITH_AES_128_CBC_SHA = 51; // 0x33
23053    field public static final int TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 = 103; // 0x67
23054    field public static final int TLS_DHE_RSA_WITH_AES_128_CCM = 49310; // 0xc09e
23055    field public static final int TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 = 158; // 0x9e
23056    field public static final int TLS_DHE_RSA_WITH_AES_256_CBC_SHA = 57; // 0x39
23057    field public static final int TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 = 107; // 0x6b
23058    field public static final int TLS_DHE_RSA_WITH_AES_256_CCM = 49311; // 0xc09f
23059    field public static final int TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 = 159; // 0x9f
23060    field public static final int TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 = 52394; // 0xccaa
23061    field public static final int TLS_DH_ANON_WITH_3DES_EDE_CBC_SHA = 27; // 0x1b
23062    field public static final int TLS_DH_ANON_WITH_AES_128_CBC_SHA = 52; // 0x34
23063    field public static final int TLS_DH_ANON_WITH_AES_128_CBC_SHA256 = 108; // 0x6c
23064    field public static final int TLS_DH_ANON_WITH_AES_256_CBC_SHA = 58; // 0x3a
23065    field public static final int TLS_DH_ANON_WITH_AES_256_CBC_SHA256 = 109; // 0x6d
23066    field public static final int TLS_DH_ANON_WITH_RC4_128_MD5 = 24; // 0x18
23067    field public static final int TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA = 13; // 0xd
23068    field public static final int TLS_DH_DSS_WITH_AES_128_CBC_SHA = 48; // 0x30
23069    field public static final int TLS_DH_DSS_WITH_AES_128_CBC_SHA256 = 62; // 0x3e
23070    field public static final int TLS_DH_DSS_WITH_AES_256_CBC_SHA = 54; // 0x36
23071    field public static final int TLS_DH_DSS_WITH_AES_256_CBC_SHA256 = 104; // 0x68
23072    field public static final int TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA = 16; // 0x10
23073    field public static final int TLS_DH_RSA_WITH_AES_128_CBC_SHA = 49; // 0x31
23074    field public static final int TLS_DH_RSA_WITH_AES_128_CBC_SHA256 = 63; // 0x3f
23075    field public static final int TLS_DH_RSA_WITH_AES_256_CBC_SHA = 55; // 0x37
23076    field public static final int TLS_DH_RSA_WITH_AES_256_CBC_SHA256 = 105; // 0x69
23077    field public static final int TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 = 49195; // 0xc02b
23078    field public static final int TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 = 49196; // 0xc02c
23079    field public static final int TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 = 52393; // 0xcca9
23080    field public static final int TLS_ECDHE_PSK_WITH_AES_128_CCM_SHA256 = 53253; // 0xd005
23081    field public static final int TLS_ECDHE_PSK_WITH_AES_128_GCM_SHA256 = 53249; // 0xd001
23082    field public static final int TLS_ECDHE_PSK_WITH_AES_256_GCM_SHA384 = 53250; // 0xd002
23083    field public static final int TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256 = 52396; // 0xccac
23084    field public static final int TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 = 49199; // 0xc02f
23085    field public static final int TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 = 49200; // 0xc030
23086    field public static final int TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 = 52392; // 0xcca8
23087    field public static final int TLS_NULL_WITH_NULL_NULL = 0; // 0x0
23088    field public static final int TLS_RSA_WITH_3DES_EDE_CBC_SHA = 10; // 0xa
23089    field public static final int TLS_RSA_WITH_AES_128_CBC_SHA = 47; // 0x2f
23090    field public static final int TLS_RSA_WITH_AES_128_CBC_SHA256 = 60; // 0x3c
23091    field public static final int TLS_RSA_WITH_AES_256_CBC_SHA = 53; // 0x35
23092    field public static final int TLS_RSA_WITH_AES_256_CBC_SHA256 = 61; // 0x3d
23093    field public static final int TLS_RSA_WITH_NULL_MD5 = 1; // 0x1
23094    field public static final int TLS_RSA_WITH_NULL_SHA = 2; // 0x2
23095    field public static final int TLS_RSA_WITH_NULL_SHA256 = 59; // 0x3b
23096    field public static final int TLS_RSA_WITH_RC4_128_MD5 = 4; // 0x4
23097    field public static final int TLS_RSA_WITH_RC4_128_SHA = 5; // 0x5
23098  }
23099
23100  public final class UaSecurityProtocolIdentifier implements android.os.Parcelable {
23101    method public int describeContents();
23102    method public int getOrg();
23103    method public int getProtocol();
23104    method public int getTlsCipherSuite();
23105    method @NonNull public byte[] toByteArray();
23106    method public void writeToParcel(@NonNull android.os.Parcel, int);
23107    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.gba.UaSecurityProtocolIdentifier> CREATOR;
23108    field public static final int ORG_3GPP = 1; // 0x1
23109    field public static final int ORG_3GPP2 = 2; // 0x2
23110    field public static final int ORG_GSMA = 4; // 0x4
23111    field public static final int ORG_LOCAL = 255; // 0xff
23112    field public static final int ORG_NONE = 0; // 0x0
23113    field public static final int ORG_OMA = 3; // 0x3
23114    field public static final int UA_SECURITY_PROTOCOL_3GPP_GENERATION_TMPI = 256; // 0x100
23115    field public static final int UA_SECURITY_PROTOCOL_3GPP_GENERIC_PUSH_LAYER = 5; // 0x5
23116    field public static final int UA_SECURITY_PROTOCOL_3GPP_HTTP_BASED_MBMS = 3; // 0x3
23117    field public static final int UA_SECURITY_PROTOCOL_3GPP_HTTP_DIGEST_AUTHENTICATION = 2; // 0x2
23118    field public static final int UA_SECURITY_PROTOCOL_3GPP_IMS_MEDIA_PLANE = 6; // 0x6
23119    field public static final int UA_SECURITY_PROTOCOL_3GPP_MBMS = 1; // 0x1
23120    field public static final int UA_SECURITY_PROTOCOL_3GPP_SIP_BASED_MBMS = 4; // 0x4
23121    field public static final int UA_SECURITY_PROTOCOL_3GPP_SUBSCRIBER_CERTIFICATE = 0; // 0x0
23122    field public static final int UA_SECURITY_PROTOCOL_3GPP_TLS_BROWSER = 131072; // 0x20000
23123    field public static final int UA_SECURITY_PROTOCOL_3GPP_TLS_DEFAULT = 65536; // 0x10000
23124  }
23125
23126  public static final class UaSecurityProtocolIdentifier.Builder {
23127    ctor public UaSecurityProtocolIdentifier.Builder();
23128    ctor public UaSecurityProtocolIdentifier.Builder(@NonNull android.telephony.gba.UaSecurityProtocolIdentifier);
23129    method @NonNull public android.telephony.gba.UaSecurityProtocolIdentifier build();
23130    method @NonNull public android.telephony.gba.UaSecurityProtocolIdentifier.Builder setOrg(int);
23131    method @NonNull public android.telephony.gba.UaSecurityProtocolIdentifier.Builder setProtocol(int);
23132    method @NonNull public android.telephony.gba.UaSecurityProtocolIdentifier.Builder setTlsCipherSuite(int);
23133  }
23134
23135}
23136
23137package android.telephony.ims {
23138
23139  public final class AudioCodecAttributes implements android.os.Parcelable {
23140    ctor public AudioCodecAttributes(float, @NonNull android.util.Range<java.lang.Float>, float, @NonNull android.util.Range<java.lang.Float>);
23141    method public int describeContents();
23142    method public float getBandwidthKhz();
23143    method @NonNull public android.util.Range<java.lang.Float> getBandwidthRangeKhz();
23144    method public float getBitrateKbps();
23145    method @NonNull public android.util.Range<java.lang.Float> getBitrateRangeKbps();
23146    method public void writeToParcel(@NonNull android.os.Parcel, int);
23147    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.AudioCodecAttributes> CREATOR;
23148  }
23149
23150  public interface DelegateMessageCallback {
23151    method public void onMessageReceived(@NonNull android.telephony.ims.SipMessage);
23152    method public void onMessageSendFailure(@NonNull String, int);
23153    method public void onMessageSent(@NonNull String);
23154  }
23155
23156  public final class DelegateRegistrationState implements android.os.Parcelable {
23157    method public int describeContents();
23158    method @NonNull public java.util.Set<android.telephony.ims.FeatureTagState> getDeregisteredFeatureTags();
23159    method @NonNull public java.util.Set<android.telephony.ims.FeatureTagState> getDeregisteringFeatureTags();
23160    method @NonNull public java.util.Set<java.lang.String> getRegisteredFeatureTags();
23161    method @NonNull public java.util.Set<java.lang.String> getRegisteringFeatureTags();
23162    method public void writeToParcel(@NonNull android.os.Parcel, int);
23163    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.DelegateRegistrationState> CREATOR;
23164    field public static final int DEREGISTERED_REASON_NOT_PROVISIONED = 1; // 0x1
23165    field public static final int DEREGISTERED_REASON_NOT_REGISTERED = 2; // 0x2
23166    field public static final int DEREGISTERED_REASON_UNKNOWN = 0; // 0x0
23167    field public static final int DEREGISTERING_REASON_DESTROY_PENDING = 6; // 0x6
23168    field public static final int DEREGISTERING_REASON_FEATURE_TAGS_CHANGING = 5; // 0x5
23169    field public static final int DEREGISTERING_REASON_LOSING_PDN = 7; // 0x7
23170    field public static final int DEREGISTERING_REASON_PDN_CHANGE = 3; // 0x3
23171    field public static final int DEREGISTERING_REASON_PROVISIONING_CHANGE = 4; // 0x4
23172    field public static final int DEREGISTERING_REASON_UNSPECIFIED = 8; // 0x8
23173  }
23174
23175  public static final class DelegateRegistrationState.Builder {
23176    ctor public DelegateRegistrationState.Builder();
23177    method @NonNull public android.telephony.ims.DelegateRegistrationState.Builder addDeregisteredFeatureTag(@NonNull String, int);
23178    method @NonNull public android.telephony.ims.DelegateRegistrationState.Builder addDeregisteringFeatureTag(@NonNull String, int);
23179    method @NonNull public android.telephony.ims.DelegateRegistrationState.Builder addRegisteredFeatureTag(@NonNull String);
23180    method @NonNull public android.telephony.ims.DelegateRegistrationState.Builder addRegisteredFeatureTags(@NonNull java.util.Set<java.lang.String>);
23181    method @NonNull public android.telephony.ims.DelegateRegistrationState.Builder addRegisteringFeatureTags(@NonNull java.util.Set<java.lang.String>);
23182    method @NonNull public android.telephony.ims.DelegateRegistrationState build();
23183  }
23184
23185  public final class DelegateRequest implements android.os.Parcelable {
23186    ctor public DelegateRequest(@NonNull java.util.Set<java.lang.String>);
23187    method public int describeContents();
23188    method @NonNull public java.util.Set<java.lang.String> getFeatureTags();
23189    method public void writeToParcel(@NonNull android.os.Parcel, int);
23190    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.DelegateRequest> CREATOR;
23191  }
23192
23193  public interface DelegateStateCallback {
23194    method public void onConfigurationChanged(@NonNull android.telephony.ims.SipDelegateConfiguration);
23195    method public void onCreated(@NonNull android.telephony.ims.stub.SipDelegate, @Nullable java.util.Set<android.telephony.ims.FeatureTagState>);
23196    method public void onDestroyed(int);
23197    method public void onFeatureTagRegistrationChanged(@NonNull android.telephony.ims.DelegateRegistrationState);
23198  }
23199
23200  public final class FeatureTagState implements android.os.Parcelable {
23201    ctor public FeatureTagState(@NonNull String, int);
23202    method public int describeContents();
23203    method @NonNull public String getFeatureTag();
23204    method public int getState();
23205    method public void writeToParcel(@NonNull android.os.Parcel, int);
23206    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.FeatureTagState> CREATOR;
23207  }
23208
23209  public final class ImsCallForwardInfo implements android.os.Parcelable {
23210    ctor public ImsCallForwardInfo(int, int, int, int, @NonNull String, int);
23211    method public int describeContents();
23212    method public int getCondition();
23213    method public String getNumber();
23214    method public int getServiceClass();
23215    method public int getStatus();
23216    method public int getTimeSeconds();
23217    method public int getToA();
23218    method public void writeToParcel(android.os.Parcel, int);
23219    field public static final int CDIV_CF_REASON_ALL = 4; // 0x4
23220    field public static final int CDIV_CF_REASON_ALL_CONDITIONAL = 5; // 0x5
23221    field public static final int CDIV_CF_REASON_BUSY = 1; // 0x1
23222    field public static final int CDIV_CF_REASON_NOT_LOGGED_IN = 6; // 0x6
23223    field public static final int CDIV_CF_REASON_NOT_REACHABLE = 3; // 0x3
23224    field public static final int CDIV_CF_REASON_NO_REPLY = 2; // 0x2
23225    field public static final int CDIV_CF_REASON_UNCONDITIONAL = 0; // 0x0
23226    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsCallForwardInfo> CREATOR;
23227    field public static final int STATUS_ACTIVE = 1; // 0x1
23228    field public static final int STATUS_NOT_ACTIVE = 0; // 0x0
23229    field public static final int TYPE_OF_ADDRESS_INTERNATIONAL = 145; // 0x91
23230    field public static final int TYPE_OF_ADDRESS_UNKNOWN = 129; // 0x81
23231  }
23232
23233  public final class ImsCallProfile implements android.os.Parcelable {
23234    ctor public ImsCallProfile();
23235    ctor public ImsCallProfile(int, int);
23236    ctor public ImsCallProfile(int, int, android.os.Bundle, android.telephony.ims.ImsStreamMediaProfile);
23237    method public int describeContents();
23238    method @NonNull public java.util.Set<android.telephony.ims.RtpHeaderExtensionType> getAcceptedRtpHeaderExtensionTypes();
23239    method public String getCallExtra(String);
23240    method public String getCallExtra(String, String);
23241    method public boolean getCallExtraBoolean(String);
23242    method public boolean getCallExtraBoolean(String, boolean);
23243    method public int getCallExtraInt(String);
23244    method public int getCallExtraInt(String, int);
23245    method @Nullable public <T extends android.os.Parcelable> T getCallExtraParcelable(@Nullable String);
23246    method public android.os.Bundle getCallExtras();
23247    method public int getCallType();
23248    method public static int getCallTypeFromVideoState(int);
23249    method public int getCallerNumberVerificationStatus();
23250    method public int getEmergencyCallRouting();
23251    method public int getEmergencyServiceCategories();
23252    method @NonNull public java.util.List<java.lang.String> getEmergencyUrns();
23253    method public android.telephony.ims.ImsStreamMediaProfile getMediaProfile();
23254    method @NonNull public android.os.Bundle getProprietaryCallExtras();
23255    method public int getRestrictCause();
23256    method public int getServiceType();
23257    method public static int getVideoStateFromCallType(int);
23258    method public static int getVideoStateFromImsCallProfile(android.telephony.ims.ImsCallProfile);
23259    method public boolean hasKnownUserIntentEmergency();
23260    method public boolean isEmergencyCallTesting();
23261    method public boolean isVideoCall();
23262    method public boolean isVideoPaused();
23263    method public static int presentationToOir(int);
23264    method public void setAcceptedRtpHeaderExtensionTypes(@NonNull java.util.Set<android.telephony.ims.RtpHeaderExtensionType>);
23265    method public void setCallExtra(String, String);
23266    method public void setCallExtraBoolean(String, boolean);
23267    method public void setCallExtraInt(String, int);
23268    method public void setCallExtraParcelable(@NonNull String, @NonNull android.os.Parcelable);
23269    method public void setCallRestrictCause(int);
23270    method public void setCallerNumberVerificationStatus(int);
23271    method public void setEmergencyCallRouting(int);
23272    method public void setEmergencyCallTesting(boolean);
23273    method public void setEmergencyServiceCategories(int);
23274    method public void setEmergencyUrns(@NonNull java.util.List<java.lang.String>);
23275    method public void setHasKnownUserIntentEmergency(boolean);
23276    method public void updateCallExtras(android.telephony.ims.ImsCallProfile);
23277    method public void updateCallType(android.telephony.ims.ImsCallProfile);
23278    method public void updateMediaProfile(android.telephony.ims.ImsCallProfile);
23279    method public void writeToParcel(android.os.Parcel, int);
23280    field public static final int CALL_RESTRICT_CAUSE_DISABLED = 2; // 0x2
23281    field public static final int CALL_RESTRICT_CAUSE_HD = 3; // 0x3
23282    field public static final int CALL_RESTRICT_CAUSE_NONE = 0; // 0x0
23283    field public static final int CALL_RESTRICT_CAUSE_RAT = 1; // 0x1
23284    field public static final int CALL_TYPE_NONE = 0; // 0x0
23285    field public static final int CALL_TYPE_VIDEO_N_VOICE = 3; // 0x3
23286    field public static final int CALL_TYPE_VOICE = 2; // 0x2
23287    field public static final int CALL_TYPE_VOICE_N_VIDEO = 1; // 0x1
23288    field public static final int CALL_TYPE_VS = 8; // 0x8
23289    field public static final int CALL_TYPE_VS_RX = 10; // 0xa
23290    field public static final int CALL_TYPE_VS_TX = 9; // 0x9
23291    field public static final int CALL_TYPE_VT = 4; // 0x4
23292    field public static final int CALL_TYPE_VT_NODIR = 7; // 0x7
23293    field public static final int CALL_TYPE_VT_RX = 6; // 0x6
23294    field public static final int CALL_TYPE_VT_TX = 5; // 0x5
23295    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsCallProfile> CREATOR;
23296    field public static final int DIALSTRING_NORMAL = 0; // 0x0
23297    field public static final int DIALSTRING_SS_CONF = 1; // 0x1
23298    field public static final int DIALSTRING_USSD = 2; // 0x2
23299    field public static final String EXTRA_ADDITIONAL_CALL_INFO = "AdditionalCallInfo";
23300    field public static final String EXTRA_ADDITIONAL_SIP_INVITE_FIELDS = "android.telephony.ims.extra.ADDITIONAL_SIP_INVITE_FIELDS";
23301    field public static final String EXTRA_ASSERTED_DISPLAY_NAME = "android.telephony.ims.extra.ASSERTED_DISPLAY_NAME";
23302    field public static final String EXTRA_CALL_DISCONNECT_CAUSE = "android.telephony.ims.extra.CALL_DISCONNECT_CAUSE";
23303    field public static final String EXTRA_CALL_NETWORK_TYPE = "android.telephony.ims.extra.CALL_NETWORK_TYPE";
23304    field @Deprecated public static final String EXTRA_CALL_RAT_TYPE = "CallRadioTech";
23305    field public static final String EXTRA_CALL_SUBJECT = "android.telephony.ims.extra.CALL_SUBJECT";
23306    field public static final String EXTRA_CHILD_NUMBER = "ChildNum";
23307    field public static final String EXTRA_CNA = "cna";
23308    field public static final String EXTRA_CNAP = "cnap";
23309    field public static final String EXTRA_CODEC = "Codec";
23310    field public static final String EXTRA_CONFERENCE = "android.telephony.ims.extra.CONFERENCE";
23311    field public static final String EXTRA_DIALSTRING = "dialstring";
23312    field public static final String EXTRA_DISPLAY_TEXT = "DisplayText";
23313    field public static final String EXTRA_EMERGENCY_CALL = "e_call";
23314    field public static final String EXTRA_EXTENDING_TO_CONFERENCE_SUPPORTED = "android.telephony.ims.extra.EXTENDING_TO_CONFERENCE_SUPPORTED";
23315    field public static final String EXTRA_FORWARDED_NUMBER = "android.telephony.ims.extra.FORWARDED_NUMBER";
23316    field public static final String EXTRA_IS_BUSINESS_CALL = "android.telephony.ims.extra.IS_BUSINESS_CALL";
23317    field public static final String EXTRA_IS_CALL_PULL = "CallPull";
23318    field public static final String EXTRA_IS_CROSS_SIM_CALL = "android.telephony.ims.extra.IS_CROSS_SIM_CALL";
23319    field public static final String EXTRA_LOCATION = "android.telephony.ims.extra.LOCATION";
23320    field public static final String EXTRA_OI = "oi";
23321    field public static final String EXTRA_OIR = "oir";
23322    field public static final String EXTRA_PICTURE_URL = "android.telephony.ims.extra.PICTURE_URL";
23323    field public static final String EXTRA_PRIORITY = "android.telephony.ims.extra.PRIORITY";
23324    field public static final String EXTRA_REMOTE_URI = "remote_uri";
23325    field public static final String EXTRA_USSD = "ussd";
23326    field public static final int OIR_DEFAULT = 0; // 0x0
23327    field public static final int OIR_PRESENTATION_NOT_RESTRICTED = 2; // 0x2
23328    field public static final int OIR_PRESENTATION_PAYPHONE = 4; // 0x4
23329    field public static final int OIR_PRESENTATION_RESTRICTED = 1; // 0x1
23330    field public static final int OIR_PRESENTATION_UNAVAILABLE = 5; // 0x5
23331    field public static final int OIR_PRESENTATION_UNKNOWN = 3; // 0x3
23332    field public static final int PRIORITY_NORMAL = 0; // 0x0
23333    field public static final int PRIORITY_URGENT = 1; // 0x1
23334    field public static final int SERVICE_TYPE_EMERGENCY = 2; // 0x2
23335    field public static final int SERVICE_TYPE_NONE = 0; // 0x0
23336    field public static final int SERVICE_TYPE_NORMAL = 1; // 0x1
23337    field public static final int VERIFICATION_STATUS_FAILED = 2; // 0x2
23338    field public static final int VERIFICATION_STATUS_NOT_VERIFIED = 0; // 0x0
23339    field public static final int VERIFICATION_STATUS_PASSED = 1; // 0x1
23340  }
23341
23342  public class ImsCallSessionListener {
23343    method public void callQualityChanged(@NonNull android.telephony.CallQuality);
23344    method public void callSessionConferenceExtendFailed(android.telephony.ims.ImsReasonInfo);
23345    method public void callSessionConferenceExtendReceived(android.telephony.ims.stub.ImsCallSessionImplBase, android.telephony.ims.ImsCallProfile);
23346    method public void callSessionConferenceExtended(android.telephony.ims.stub.ImsCallSessionImplBase, android.telephony.ims.ImsCallProfile);
23347    method public void callSessionConferenceStateUpdated(android.telephony.ims.ImsConferenceState);
23348    method public void callSessionDtmfReceived(char);
23349    method @Deprecated public void callSessionHandover(int, int, android.telephony.ims.ImsReasonInfo);
23350    method @Deprecated public void callSessionHandoverFailed(int, int, android.telephony.ims.ImsReasonInfo);
23351    method public void callSessionHeld(android.telephony.ims.ImsCallProfile);
23352    method public void callSessionHoldFailed(android.telephony.ims.ImsReasonInfo);
23353    method public void callSessionHoldReceived(android.telephony.ims.ImsCallProfile);
23354    method public void callSessionInitiated(android.telephony.ims.ImsCallProfile);
23355    method @Deprecated public void callSessionInitiatedFailed(android.telephony.ims.ImsReasonInfo);
23356    method public void callSessionInitiating(@NonNull android.telephony.ims.ImsCallProfile);
23357    method public void callSessionInitiatingFailed(@NonNull android.telephony.ims.ImsReasonInfo);
23358    method public void callSessionInviteParticipantsRequestDelivered();
23359    method public void callSessionInviteParticipantsRequestFailed(android.telephony.ims.ImsReasonInfo);
23360    method @Deprecated public void callSessionMayHandover(int, int);
23361    method public void callSessionMergeComplete(android.telephony.ims.stub.ImsCallSessionImplBase);
23362    method public void callSessionMergeFailed(android.telephony.ims.ImsReasonInfo);
23363    method public void callSessionMergeStarted(android.telephony.ims.stub.ImsCallSessionImplBase, android.telephony.ims.ImsCallProfile);
23364    method public void callSessionMultipartyStateChanged(boolean);
23365    method public void callSessionProgressing(android.telephony.ims.ImsStreamMediaProfile);
23366    method public void callSessionRemoveParticipantsRequestDelivered();
23367    method public void callSessionRemoveParticipantsRequestFailed(android.telephony.ims.ImsReasonInfo);
23368    method public void callSessionResumeFailed(android.telephony.ims.ImsReasonInfo);
23369    method public void callSessionResumeReceived(android.telephony.ims.ImsCallProfile);
23370    method public void callSessionResumed(android.telephony.ims.ImsCallProfile);
23371    method public void callSessionRtpHeaderExtensionsReceived(@NonNull java.util.Set<android.telephony.ims.RtpHeaderExtension>);
23372    method public void callSessionRttAudioIndicatorChanged(@NonNull android.telephony.ims.ImsStreamMediaProfile);
23373    method public void callSessionRttMessageReceived(String);
23374    method public void callSessionRttModifyRequestReceived(android.telephony.ims.ImsCallProfile);
23375    method public void callSessionRttModifyResponseReceived(int);
23376    method public void callSessionSuppServiceReceived(android.telephony.ims.ImsSuppServiceNotification);
23377    method public void callSessionTerminated(android.telephony.ims.ImsReasonInfo);
23378    method public void callSessionTtyModeReceived(int);
23379    method public void callSessionUpdateFailed(android.telephony.ims.ImsReasonInfo);
23380    method public void callSessionUpdateReceived(android.telephony.ims.ImsCallProfile);
23381    method public void callSessionUpdated(android.telephony.ims.ImsCallProfile);
23382    method public void callSessionUssdMessageReceived(int, String);
23383    method public void onHandover(int, int, @Nullable android.telephony.ims.ImsReasonInfo);
23384    method public void onHandoverFailed(int, int, @NonNull android.telephony.ims.ImsReasonInfo);
23385    method public void onMayHandover(int, int);
23386  }
23387
23388  public final class ImsConferenceState implements android.os.Parcelable {
23389    method public int describeContents();
23390    method public static int getConnectionStateForStatus(String);
23391    method public void writeToParcel(android.os.Parcel, int);
23392    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsConferenceState> CREATOR;
23393    field public static final String DISPLAY_TEXT = "display-text";
23394    field public static final String ENDPOINT = "endpoint";
23395    field public static final String SIP_STATUS_CODE = "sipstatuscode";
23396    field public static final String STATUS = "status";
23397    field public static final String STATUS_ALERTING = "alerting";
23398    field public static final String STATUS_CONNECTED = "connected";
23399    field public static final String STATUS_CONNECT_FAIL = "connect-fail";
23400    field public static final String STATUS_DIALING_IN = "dialing-in";
23401    field public static final String STATUS_DIALING_OUT = "dialing-out";
23402    field public static final String STATUS_DISCONNECTED = "disconnected";
23403    field public static final String STATUS_DISCONNECTING = "disconnecting";
23404    field public static final String STATUS_MUTED_VIA_FOCUS = "muted-via-focus";
23405    field public static final String STATUS_ON_HOLD = "on-hold";
23406    field public static final String STATUS_PENDING = "pending";
23407    field public static final String STATUS_SEND_ONLY = "sendonly";
23408    field public static final String STATUS_SEND_RECV = "sendrecv";
23409    field public static final String USER = "user";
23410    field public final java.util.HashMap<java.lang.String,android.os.Bundle> mParticipants;
23411  }
23412
23413  public final class ImsException extends java.lang.Exception {
23414    ctor public ImsException(@Nullable String);
23415    ctor public ImsException(@Nullable String, int);
23416    ctor public ImsException(@Nullable String, int, @Nullable Throwable);
23417  }
23418
23419  public final class ImsExternalCallState implements android.os.Parcelable {
23420    ctor public ImsExternalCallState(@NonNull String, @NonNull android.net.Uri, @Nullable android.net.Uri, boolean, int, int, boolean);
23421    method public int describeContents();
23422    method @NonNull public android.net.Uri getAddress();
23423    method public int getCallId();
23424    method public int getCallState();
23425    method public int getCallType();
23426    method @Nullable public android.net.Uri getLocalAddress();
23427    method public boolean isCallHeld();
23428    method public boolean isCallPullable();
23429    method public void writeToParcel(android.os.Parcel, int);
23430    field public static final int CALL_STATE_CONFIRMED = 1; // 0x1
23431    field public static final int CALL_STATE_TERMINATED = 2; // 0x2
23432    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsExternalCallState> CREATOR;
23433  }
23434
23435  public class ImsManager {
23436    method @NonNull public android.telephony.ims.SipDelegateManager getSipDelegateManager(int);
23437  }
23438
23439  public class ImsMmTelManager implements android.telephony.ims.RegistrationManager {
23440    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);
23441    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;
23442    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>);
23443    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getVoWiFiRoamingModeSetting();
23444    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isAvailable(int, int);
23445    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isCapable(int, int);
23446    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;
23447    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;
23448    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setAdvancedCallingSettingEnabled(boolean);
23449    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCrossSimCallingEnabled(boolean) throws android.telephony.ims.ImsException;
23450    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setRttCapabilitySetting(boolean);
23451    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiModeSetting(int);
23452    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiNonPersistent(boolean, int);
23453    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiRoamingModeSetting(int);
23454    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiRoamingSettingEnabled(boolean);
23455    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiSettingEnabled(boolean);
23456    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVtSettingEnabled(boolean);
23457    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void unregisterImsRegistrationCallback(@NonNull android.telephony.ims.ImsMmTelManager.RegistrationCallback);
23458  }
23459
23460  @Deprecated public static class ImsMmTelManager.RegistrationCallback extends android.telephony.ims.RegistrationManager.RegistrationCallback {
23461    ctor @Deprecated public ImsMmTelManager.RegistrationCallback();
23462    method @Deprecated public void onRegistered(int);
23463    method @Deprecated public void onRegistering(int);
23464  }
23465
23466  public class ImsRcsManager {
23467    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;
23468    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isAvailable(int, int) throws android.telephony.ims.ImsException;
23469    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isCapable(int, int) throws android.telephony.ims.ImsException;
23470    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void removeOnAvailabilityChangedListener(@NonNull android.telephony.ims.ImsRcsManager.OnAvailabilityChangedListener);
23471  }
23472
23473  public static interface ImsRcsManager.OnAvailabilityChangedListener {
23474    method public void onAvailabilityChanged(int);
23475  }
23476
23477  public final class ImsReasonInfo implements android.os.Parcelable {
23478    field public static final String EXTRA_MSG_SERVICE_NOT_AUTHORIZED = "Forbidden. Not Authorized for Service";
23479  }
23480
23481  public final class ImsRegistrationAttributes implements android.os.Parcelable {
23482    method public int getRegistrationTechnology();
23483  }
23484
23485  public static final class ImsRegistrationAttributes.Builder {
23486    ctor public ImsRegistrationAttributes.Builder(int);
23487    method @NonNull public android.telephony.ims.ImsRegistrationAttributes build();
23488    method @NonNull public android.telephony.ims.ImsRegistrationAttributes.Builder setFeatureTags(@NonNull java.util.Set<java.lang.String>);
23489    method @NonNull public android.telephony.ims.ImsRegistrationAttributes.Builder setSipDetails(@NonNull android.telephony.ims.SipDetails);
23490  }
23491
23492  public class ImsService extends android.app.Service {
23493    ctor public ImsService();
23494    method @Nullable public android.telephony.ims.feature.MmTelFeature createEmergencyOnlyMmTelFeature(int);
23495    method @Deprecated public android.telephony.ims.feature.MmTelFeature createMmTelFeature(int);
23496    method @Nullable public android.telephony.ims.feature.MmTelFeature createMmTelFeatureForSubscription(int, int);
23497    method @Deprecated public android.telephony.ims.feature.RcsFeature createRcsFeature(int);
23498    method @Nullable public android.telephony.ims.feature.RcsFeature createRcsFeatureForSubscription(int, int);
23499    method @Deprecated public void disableIms(int);
23500    method public void disableImsForSubscription(int, int);
23501    method @Deprecated public void enableIms(int);
23502    method public void enableImsForSubscription(int, int);
23503    method @Deprecated public android.telephony.ims.stub.ImsConfigImplBase getConfig(int);
23504    method @NonNull public android.telephony.ims.stub.ImsConfigImplBase getConfigForSubscription(int, int);
23505    method @NonNull public java.util.concurrent.Executor getExecutor();
23506    method public long getImsServiceCapabilities();
23507    method @Deprecated public android.telephony.ims.stub.ImsRegistrationImplBase getRegistration(int);
23508    method @NonNull public android.telephony.ims.stub.ImsRegistrationImplBase getRegistrationForSubscription(int, int);
23509    method @Nullable public android.telephony.ims.stub.SipTransportImplBase getSipTransport(int);
23510    method public android.os.IBinder onBind(android.content.Intent);
23511    method public final void onUpdateSupportedImsFeatures(android.telephony.ims.stub.ImsFeatureConfiguration) throws android.os.RemoteException;
23512    method public android.telephony.ims.stub.ImsFeatureConfiguration querySupportedImsFeatures();
23513    method public void readyForFeatureCreation();
23514    field public static final long CAPABILITY_SIP_DELEGATE_CREATION = 2L; // 0x2L
23515    field public static final long CAPABILITY_TERMINAL_BASED_CALL_WAITING = 4L; // 0x4L
23516  }
23517
23518  public final class ImsSsData implements android.os.Parcelable {
23519    ctor public ImsSsData(int, int, int, int, int);
23520    method public int describeContents();
23521    method @Nullable public java.util.List<android.telephony.ims.ImsCallForwardInfo> getCallForwardInfo();
23522    method public int getRequestType();
23523    method public int getResult();
23524    method public int getServiceClass();
23525    method public int getServiceType();
23526    method @NonNull public java.util.List<android.telephony.ims.ImsSsInfo> getSuppServiceInfo();
23527    method public int getTeleserviceType();
23528    method public boolean isTypeBarring();
23529    method public boolean isTypeCf();
23530    method public boolean isTypeClip();
23531    method public boolean isTypeClir();
23532    method public boolean isTypeColp();
23533    method public boolean isTypeColr();
23534    method public boolean isTypeCw();
23535    method public boolean isTypeIcb();
23536    method public boolean isTypeInterrogation();
23537    method public boolean isTypeUnConditional();
23538    method public void writeToParcel(android.os.Parcel, int);
23539    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsSsData> CREATOR;
23540    field public static final int RESULT_SUCCESS = 0; // 0x0
23541    field public static final int SERVICE_CLASS_DATA = 2; // 0x2
23542    field public static final int SERVICE_CLASS_DATA_CIRCUIT_ASYNC = 32; // 0x20
23543    field public static final int SERVICE_CLASS_DATA_CIRCUIT_SYNC = 16; // 0x10
23544    field public static final int SERVICE_CLASS_DATA_PACKET_ACCESS = 64; // 0x40
23545    field public static final int SERVICE_CLASS_DATA_PAD = 128; // 0x80
23546    field public static final int SERVICE_CLASS_FAX = 4; // 0x4
23547    field public static final int SERVICE_CLASS_NONE = 0; // 0x0
23548    field public static final int SERVICE_CLASS_SMS = 8; // 0x8
23549    field public static final int SERVICE_CLASS_VOICE = 1; // 0x1
23550    field public static final int SS_ACTIVATION = 0; // 0x0
23551    field public static final int SS_ALL_BARRING = 18; // 0x12
23552    field public static final int SS_ALL_DATA_TELESERVICES = 3; // 0x3
23553    field public static final int SS_ALL_TELESERVICES_EXCEPT_SMS = 5; // 0x5
23554    field public static final int SS_ALL_TELESEVICES = 1; // 0x1
23555    field public static final int SS_ALL_TELE_AND_BEARER_SERVICES = 0; // 0x0
23556    field public static final int SS_BAIC = 16; // 0x10
23557    field public static final int SS_BAIC_ROAMING = 17; // 0x11
23558    field public static final int SS_BAOC = 13; // 0xd
23559    field public static final int SS_BAOIC = 14; // 0xe
23560    field public static final int SS_BAOIC_EXC_HOME = 15; // 0xf
23561    field public static final int SS_CFU = 0; // 0x0
23562    field public static final int SS_CFUT = 6; // 0x6
23563    field public static final int SS_CF_ALL = 4; // 0x4
23564    field public static final int SS_CF_ALL_CONDITIONAL = 5; // 0x5
23565    field public static final int SS_CF_BUSY = 1; // 0x1
23566    field public static final int SS_CF_NOT_REACHABLE = 3; // 0x3
23567    field public static final int SS_CF_NO_REPLY = 2; // 0x2
23568    field public static final int SS_CLIP = 7; // 0x7
23569    field public static final int SS_CLIR = 8; // 0x8
23570    field public static final int SS_CNAP = 11; // 0xb
23571    field public static final int SS_COLP = 9; // 0x9
23572    field public static final int SS_COLR = 10; // 0xa
23573    field public static final int SS_DEACTIVATION = 1; // 0x1
23574    field public static final int SS_ERASURE = 4; // 0x4
23575    field public static final int SS_INCOMING_BARRING = 20; // 0x14
23576    field public static final int SS_INCOMING_BARRING_ANONYMOUS = 22; // 0x16
23577    field public static final int SS_INCOMING_BARRING_DN = 21; // 0x15
23578    field public static final int SS_INTERROGATION = 2; // 0x2
23579    field public static final int SS_OUTGOING_BARRING = 19; // 0x13
23580    field public static final int SS_REGISTRATION = 3; // 0x3
23581    field public static final int SS_SMS_SERVICES = 4; // 0x4
23582    field public static final int SS_TELEPHONY = 2; // 0x2
23583    field public static final int SS_WAIT = 12; // 0xc
23584  }
23585
23586  public static final class ImsSsData.Builder {
23587    ctor public ImsSsData.Builder(int, int, int, int, int);
23588    method @NonNull public android.telephony.ims.ImsSsData build();
23589    method @NonNull public android.telephony.ims.ImsSsData.Builder setCallForwardingInfo(@NonNull java.util.List<android.telephony.ims.ImsCallForwardInfo>);
23590    method @NonNull public android.telephony.ims.ImsSsData.Builder setSuppServiceInfo(@NonNull java.util.List<android.telephony.ims.ImsSsInfo>);
23591  }
23592
23593  public final class ImsSsInfo implements android.os.Parcelable {
23594    ctor @Deprecated public ImsSsInfo(int, @Nullable String);
23595    method public int describeContents();
23596    method public int getClirInterrogationStatus();
23597    method public int getClirOutgoingState();
23598    method @Deprecated public String getIcbNum();
23599    method @Nullable public String getIncomingCommunicationBarringNumber();
23600    method public int getProvisionStatus();
23601    method public int getStatus();
23602    method public void writeToParcel(android.os.Parcel, int);
23603    field public static final int CLIR_OUTGOING_DEFAULT = 0; // 0x0
23604    field public static final int CLIR_OUTGOING_INVOCATION = 1; // 0x1
23605    field public static final int CLIR_OUTGOING_SUPPRESSION = 2; // 0x2
23606    field public static final int CLIR_STATUS_NOT_PROVISIONED = 0; // 0x0
23607    field public static final int CLIR_STATUS_PROVISIONED_PERMANENT = 1; // 0x1
23608    field public static final int CLIR_STATUS_TEMPORARILY_ALLOWED = 4; // 0x4
23609    field public static final int CLIR_STATUS_TEMPORARILY_RESTRICTED = 3; // 0x3
23610    field public static final int CLIR_STATUS_UNKNOWN = 2; // 0x2
23611    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsSsInfo> CREATOR;
23612    field public static final int DISABLED = 0; // 0x0
23613    field public static final int ENABLED = 1; // 0x1
23614    field public static final int NOT_REGISTERED = -1; // 0xffffffff
23615    field public static final int SERVICE_NOT_PROVISIONED = 0; // 0x0
23616    field public static final int SERVICE_PROVISIONED = 1; // 0x1
23617    field public static final int SERVICE_PROVISIONING_UNKNOWN = -1; // 0xffffffff
23618  }
23619
23620  public static final class ImsSsInfo.Builder {
23621    ctor public ImsSsInfo.Builder(int);
23622    method @NonNull public android.telephony.ims.ImsSsInfo build();
23623    method @NonNull public android.telephony.ims.ImsSsInfo.Builder setClirInterrogationStatus(int);
23624    method @NonNull public android.telephony.ims.ImsSsInfo.Builder setClirOutgoingState(int);
23625    method @NonNull public android.telephony.ims.ImsSsInfo.Builder setIncomingCommunicationBarringNumber(@NonNull String);
23626    method @NonNull public android.telephony.ims.ImsSsInfo.Builder setProvisionStatus(int);
23627  }
23628
23629  public final class ImsStreamMediaProfile implements android.os.Parcelable {
23630    ctor public ImsStreamMediaProfile(int, int, int, int, int);
23631    method public void copyFrom(android.telephony.ims.ImsStreamMediaProfile);
23632    method public int describeContents();
23633    method @Nullable public android.telephony.ims.AudioCodecAttributes getAudioCodecAttributes();
23634    method public int getAudioDirection();
23635    method public int getAudioQuality();
23636    method public int getRttMode();
23637    method public int getVideoDirection();
23638    method public int getVideoQuality();
23639    method public boolean isReceivingRttAudio();
23640    method public boolean isRttCall();
23641    method public void setAudioCodecAttributes(@NonNull android.telephony.ims.AudioCodecAttributes);
23642    method public void setReceivingRttAudio(boolean);
23643    method public void setRttMode(int);
23644    method public void writeToParcel(android.os.Parcel, int);
23645    field public static final int AUDIO_QUALITY_AMR = 1; // 0x1
23646    field public static final int AUDIO_QUALITY_AMR_WB = 2; // 0x2
23647    field public static final int AUDIO_QUALITY_EVRC = 4; // 0x4
23648    field public static final int AUDIO_QUALITY_EVRC_B = 5; // 0x5
23649    field public static final int AUDIO_QUALITY_EVRC_NW = 7; // 0x7
23650    field public static final int AUDIO_QUALITY_EVRC_WB = 6; // 0x6
23651    field public static final int AUDIO_QUALITY_EVS_FB = 20; // 0x14
23652    field public static final int AUDIO_QUALITY_EVS_NB = 17; // 0x11
23653    field public static final int AUDIO_QUALITY_EVS_SWB = 19; // 0x13
23654    field public static final int AUDIO_QUALITY_EVS_WB = 18; // 0x12
23655    field public static final int AUDIO_QUALITY_G711A = 13; // 0xd
23656    field public static final int AUDIO_QUALITY_G711AB = 15; // 0xf
23657    field public static final int AUDIO_QUALITY_G711U = 11; // 0xb
23658    field public static final int AUDIO_QUALITY_G722 = 14; // 0xe
23659    field public static final int AUDIO_QUALITY_G723 = 12; // 0xc
23660    field public static final int AUDIO_QUALITY_G729 = 16; // 0x10
23661    field public static final int AUDIO_QUALITY_GSM_EFR = 8; // 0x8
23662    field public static final int AUDIO_QUALITY_GSM_FR = 9; // 0x9
23663    field public static final int AUDIO_QUALITY_GSM_HR = 10; // 0xa
23664    field public static final int AUDIO_QUALITY_NONE = 0; // 0x0
23665    field public static final int AUDIO_QUALITY_QCELP13K = 3; // 0x3
23666    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsStreamMediaProfile> CREATOR;
23667    field public static final int DIRECTION_INACTIVE = 0; // 0x0
23668    field public static final int DIRECTION_INVALID = -1; // 0xffffffff
23669    field public static final int DIRECTION_RECEIVE = 1; // 0x1
23670    field public static final int DIRECTION_SEND = 2; // 0x2
23671    field public static final int DIRECTION_SEND_RECEIVE = 3; // 0x3
23672    field public static final int RTT_MODE_DISABLED = 0; // 0x0
23673    field public static final int RTT_MODE_FULL = 1; // 0x1
23674    field public static final int VIDEO_QUALITY_NONE = 0; // 0x0
23675    field public static final int VIDEO_QUALITY_QCIF = 1; // 0x1
23676    field public static final int VIDEO_QUALITY_QVGA_LANDSCAPE = 2; // 0x2
23677    field public static final int VIDEO_QUALITY_QVGA_PORTRAIT = 4; // 0x4
23678    field public static final int VIDEO_QUALITY_VGA_LANDSCAPE = 8; // 0x8
23679    field public static final int VIDEO_QUALITY_VGA_PORTRAIT = 16; // 0x10
23680  }
23681
23682  public final class ImsSuppServiceNotification implements android.os.Parcelable {
23683    ctor public ImsSuppServiceNotification(int, int, int, int, String, String[]);
23684    method public int describeContents();
23685    method public void writeToParcel(android.os.Parcel, int);
23686    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsSuppServiceNotification> CREATOR;
23687    field public final int code;
23688    field public final String[] history;
23689    field public final int index;
23690    field public final int notificationType;
23691    field public final String number;
23692    field public final int type;
23693  }
23694
23695  public class ImsUtListener {
23696    method public void onLineIdentificationSupplementaryServiceResponse(int, @NonNull android.telephony.ims.ImsSsInfo);
23697    method public void onSupplementaryServiceIndication(android.telephony.ims.ImsSsData);
23698    method public void onUtConfigurationCallBarringQueried(int, android.telephony.ims.ImsSsInfo[]);
23699    method public void onUtConfigurationCallForwardQueried(int, android.telephony.ims.ImsCallForwardInfo[]);
23700    method public void onUtConfigurationCallWaitingQueried(int, android.telephony.ims.ImsSsInfo[]);
23701    method @Deprecated public void onUtConfigurationQueried(int, android.os.Bundle);
23702    method public void onUtConfigurationQueryFailed(int, android.telephony.ims.ImsReasonInfo);
23703    method public void onUtConfigurationUpdateFailed(int, android.telephony.ims.ImsReasonInfo);
23704    method public void onUtConfigurationUpdated(int);
23705    field @Deprecated public static final String BUNDLE_KEY_CLIR = "queryClir";
23706    field @Deprecated public static final String BUNDLE_KEY_SSINFO = "imsSsInfo";
23707  }
23708
23709  public abstract class ImsVideoCallProvider {
23710    ctor public ImsVideoCallProvider();
23711    method public void changeCallDataUsage(long);
23712    method public void changeCameraCapabilities(android.telecom.VideoProfile.CameraCapabilities);
23713    method public void changePeerDimensions(int, int);
23714    method public void changeVideoQuality(int);
23715    method public void handleCallSessionEvent(int);
23716    method public abstract void onRequestCallDataUsage();
23717    method public abstract void onRequestCameraCapabilities();
23718    method public abstract void onSendSessionModifyRequest(android.telecom.VideoProfile, android.telecom.VideoProfile);
23719    method public abstract void onSendSessionModifyResponse(android.telecom.VideoProfile);
23720    method public abstract void onSetCamera(String);
23721    method public void onSetCamera(String, int);
23722    method public abstract void onSetDeviceOrientation(int);
23723    method public abstract void onSetDisplaySurface(android.view.Surface);
23724    method public abstract void onSetPauseImage(android.net.Uri);
23725    method public abstract void onSetPreviewSurface(android.view.Surface);
23726    method public abstract void onSetZoom(float);
23727    method public void receiveSessionModifyRequest(android.telecom.VideoProfile);
23728    method public void receiveSessionModifyResponse(int, android.telecom.VideoProfile, android.telecom.VideoProfile);
23729  }
23730
23731  public final class MediaQualityStatus implements android.os.Parcelable {
23732    ctor public MediaQualityStatus(@NonNull String, int, int, @IntRange(from=0, to=100) int, @IntRange(from=0) int, @IntRange(from=0) long);
23733    method public int describeContents();
23734    method @NonNull public String getCallSessionId();
23735    method public int getMediaSessionType();
23736    method @IntRange(from=0) public long getRtpInactivityMillis();
23737    method @IntRange(from=0) public int getRtpJitterMillis();
23738    method @IntRange(from=0, to=100) public int getRtpPacketLossRate();
23739    method public int getTransportType();
23740    method public void writeToParcel(@NonNull android.os.Parcel, int);
23741    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.MediaQualityStatus> CREATOR;
23742    field public static final int MEDIA_SESSION_TYPE_AUDIO = 1; // 0x1
23743    field public static final int MEDIA_SESSION_TYPE_VIDEO = 2; // 0x2
23744  }
23745
23746  public final class MediaThreshold implements android.os.Parcelable {
23747    method public int describeContents();
23748    method @NonNull public long[] getThresholdsRtpInactivityTimeMillis();
23749    method @NonNull public int[] getThresholdsRtpJitterMillis();
23750    method @NonNull public int[] getThresholdsRtpPacketLossRate();
23751    method public void writeToParcel(@NonNull android.os.Parcel, int);
23752    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.MediaThreshold> CREATOR;
23753  }
23754
23755  public class ProvisioningManager {
23756    method @NonNull public static android.telephony.ims.ProvisioningManager createForSubscriptionId(int);
23757    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public int getProvisioningIntValue(int);
23758    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public String getProvisioningStringValue(int);
23759    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public boolean getRcsProvisioningStatusForCapability(int);
23760    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;
23761    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void notifyRcsAutoConfigurationReceived(@NonNull byte[], boolean);
23762    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;
23763    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;
23764    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public int setProvisioningIntValue(int, int);
23765    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public int setProvisioningStringValue(int, @NonNull String);
23766    method @RequiresPermission(android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION) public void setRcsClientConfiguration(@NonNull android.telephony.ims.RcsClientConfiguration) throws android.telephony.ims.ImsException;
23767    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public void setRcsProvisioningStatusForCapability(int, boolean);
23768    method @RequiresPermission(android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION) public void triggerRcsReconfiguration();
23769    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void unregisterProvisioningChangedCallback(@NonNull android.telephony.ims.ProvisioningManager.Callback);
23770    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);
23771    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";
23772    field public static final String EXTRA_STATUS = "android.telephony.ims.extra.STATUS";
23773    field public static final String EXTRA_SUBSCRIPTION_ID = "android.telephony.ims.extra.SUBSCRIPTION_ID";
23774    field public static final int KEY_VOICE_OVER_WIFI_ENTITLEMENT_ID = 67; // 0x43
23775    field public static final int KEY_VOICE_OVER_WIFI_MODE_OVERRIDE = 27; // 0x1b
23776    field public static final int KEY_VOICE_OVER_WIFI_ROAMING_ENABLED_OVERRIDE = 26; // 0x1a
23777    field public static final int PROVISIONING_VALUE_DISABLED = 0; // 0x0
23778    field public static final int PROVISIONING_VALUE_ENABLED = 1; // 0x1
23779    field public static final int STATUS_CAPABLE = 0; // 0x0
23780    field public static final int STATUS_CARRIER_NOT_CAPABLE = 2; // 0x2
23781    field public static final int STATUS_DEVICE_NOT_CAPABLE = 1; // 0x1
23782    field public static final String STRING_QUERY_RESULT_ERROR_GENERIC = "STRING_QUERY_RESULT_ERROR_GENERIC";
23783    field public static final String STRING_QUERY_RESULT_ERROR_NOT_READY = "STRING_QUERY_RESULT_ERROR_NOT_READY";
23784  }
23785
23786  public static class ProvisioningManager.Callback {
23787    ctor public ProvisioningManager.Callback();
23788    method public void onProvisioningIntChanged(int, int);
23789    method public void onProvisioningStringChanged(int, @NonNull String);
23790  }
23791
23792  public static class ProvisioningManager.RcsProvisioningCallback {
23793    ctor public ProvisioningManager.RcsProvisioningCallback();
23794    method public void onAutoConfigurationErrorReceived(int, @NonNull String);
23795    method public void onConfigurationChanged(@NonNull byte[]);
23796    method public void onConfigurationReset();
23797    method public void onPreProvisioningReceived(@NonNull byte[]);
23798    method public void onRemoved();
23799  }
23800
23801  public final class PublishAttributes implements android.os.Parcelable {
23802    method public int describeContents();
23803    method @NonNull public java.util.List<android.telephony.ims.RcsContactPresenceTuple> getPresenceTuples();
23804    method public int getPublishState();
23805    method @Nullable public android.telephony.ims.SipDetails getSipDetails();
23806    method public void writeToParcel(@NonNull android.os.Parcel, int);
23807    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.PublishAttributes> CREATOR;
23808  }
23809
23810  public final class RcsClientConfiguration implements android.os.Parcelable {
23811    ctor @Deprecated public RcsClientConfiguration(@NonNull String, @NonNull String, @NonNull String, @NonNull String);
23812    ctor public RcsClientConfiguration(@NonNull String, @NonNull String, @NonNull String, @NonNull String, boolean);
23813    method public int describeContents();
23814    method @NonNull public String getClientVendor();
23815    method @NonNull public String getClientVersion();
23816    method @NonNull public String getRcsProfile();
23817    method @NonNull public String getRcsVersion();
23818    method public boolean isRcsEnabledByUser();
23819    method public void writeToParcel(@NonNull android.os.Parcel, int);
23820    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RcsClientConfiguration> CREATOR;
23821    field public static final String RCS_PROFILE_1_0 = "UP_1.0";
23822    field public static final String RCS_PROFILE_2_3 = "UP_2.3";
23823    field public static final String RCS_PROFILE_2_4 = "UP_2.4";
23824  }
23825
23826  public final class RcsContactPresenceTuple implements android.os.Parcelable {
23827    method public int describeContents();
23828    method @Nullable public android.net.Uri getContactUri();
23829    method @Nullable public android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities getServiceCapabilities();
23830    method @Nullable public String getServiceDescription();
23831    method @NonNull public String getServiceId();
23832    method @NonNull public String getServiceVersion();
23833    method @NonNull public String getStatus();
23834    method @Nullable public java.time.Instant getTime();
23835    method public void writeToParcel(@NonNull android.os.Parcel, int);
23836    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RcsContactPresenceTuple> CREATOR;
23837    field public static final String SERVICE_ID_CALL_COMPOSER = "org.3gpp.urn:urn-7:3gpp-service.ims.icsi.gsma.callcomposer";
23838    field public static final String SERVICE_ID_CHATBOT = "org.3gpp.urn:urn-7:3gpp-application.ims.iari.rcs.chatbot";
23839    field public static final String SERVICE_ID_CHATBOT_ROLE = "org.gsma.rcs.isbot";
23840    field public static final String SERVICE_ID_CHATBOT_STANDALONE = " org.3gpp.urn:urn-7:3gpp-application.ims.iari.rcs.chatbot.sa";
23841    field public static final String SERVICE_ID_CHAT_V1 = "org.openmobilealliance:IM-session";
23842    field public static final String SERVICE_ID_CHAT_V2 = "org.openmobilealliance:ChatSession";
23843    field public static final String SERVICE_ID_FT = "org.openmobilealliance:File-Transfer-HTTP";
23844    field public static final String SERVICE_ID_FT_OVER_SMS = "org.3gpp.urn:urn-7:3gpp-application.ims.iari.rcs.ftsms";
23845    field public static final String SERVICE_ID_GEO_PUSH = "org.3gpp.urn:urn-7:3gpp-application.ims.iari.rcs.geopush";
23846    field public static final String SERVICE_ID_GEO_PUSH_VIA_SMS = "org.3gpp.urn:urn-7:3gpp-application.ims.iari.rcs.geosms";
23847    field public static final String SERVICE_ID_MMTEL = "org.3gpp.urn:urn-7:3gpp-service.ims.icsi.mmtel";
23848    field public static final String SERVICE_ID_POST_CALL = "org.3gpp.urn:urn-7:3gpp-service.ims.icsi.gsma.callunanswered";
23849    field public static final String SERVICE_ID_SHARED_MAP = "org.3gpp.urn:urn-7:3gpp-service.ims.icsi.gsma.sharedmap";
23850    field public static final String SERVICE_ID_SHARED_SKETCH = "org.3gpp.urn:urn-7:3gpp-service.ims.icsi.gsma.sharedsketch";
23851    field public static final String SERVICE_ID_SLM = "org.openmobilealliance:StandaloneMsg";
23852    field public static final String TUPLE_BASIC_STATUS_CLOSED = "closed";
23853    field public static final String TUPLE_BASIC_STATUS_OPEN = "open";
23854  }
23855
23856  public static final class RcsContactPresenceTuple.Builder {
23857    ctor public RcsContactPresenceTuple.Builder(@NonNull String, @NonNull String, @NonNull String);
23858    method @NonNull public android.telephony.ims.RcsContactPresenceTuple build();
23859    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.Builder setContactUri(@NonNull android.net.Uri);
23860    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.Builder setServiceCapabilities(@NonNull android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities);
23861    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.Builder setServiceDescription(@NonNull String);
23862    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.Builder setTime(@NonNull java.time.Instant);
23863  }
23864
23865  public static final class RcsContactPresenceTuple.ServiceCapabilities implements android.os.Parcelable {
23866    method public int describeContents();
23867    method @NonNull public java.util.List<java.lang.String> getSupportedDuplexModes();
23868    method @NonNull public java.util.List<java.lang.String> getUnsupportedDuplexModes();
23869    method public boolean isAudioCapable();
23870    method public boolean isVideoCapable();
23871    method public void writeToParcel(@NonNull android.os.Parcel, int);
23872    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities> CREATOR;
23873    field public static final String DUPLEX_MODE_FULL = "full";
23874    field public static final String DUPLEX_MODE_HALF = "half";
23875    field public static final String DUPLEX_MODE_RECEIVE_ONLY = "receive-only";
23876    field public static final String DUPLEX_MODE_SEND_ONLY = "send-only";
23877  }
23878
23879  public static final class RcsContactPresenceTuple.ServiceCapabilities.Builder {
23880    ctor public RcsContactPresenceTuple.ServiceCapabilities.Builder(boolean, boolean);
23881    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities.Builder addSupportedDuplexMode(@NonNull String);
23882    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities.Builder addUnsupportedDuplexMode(@NonNull String);
23883    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities build();
23884  }
23885
23886  public final class RcsContactUceCapability implements android.os.Parcelable {
23887    method public int describeContents();
23888    method public int getCapabilityMechanism();
23889    method @Nullable public android.telephony.ims.RcsContactPresenceTuple getCapabilityTuple(@NonNull String);
23890    method @NonNull public java.util.List<android.telephony.ims.RcsContactPresenceTuple> getCapabilityTuples();
23891    method @NonNull public android.net.Uri getContactUri();
23892    method @Nullable public android.net.Uri getEntityUri();
23893    method @NonNull public java.util.Set<java.lang.String> getFeatureTags();
23894    method public int getRequestResult();
23895    method public int getSourceType();
23896    method public void writeToParcel(@NonNull android.os.Parcel, int);
23897    field public static final int CAPABILITY_MECHANISM_OPTIONS = 2; // 0x2
23898    field public static final int CAPABILITY_MECHANISM_PRESENCE = 1; // 0x1
23899    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RcsContactUceCapability> CREATOR;
23900    field public static final int REQUEST_RESULT_FOUND = 3; // 0x3
23901    field public static final int REQUEST_RESULT_NOT_FOUND = 2; // 0x2
23902    field public static final int REQUEST_RESULT_NOT_ONLINE = 1; // 0x1
23903    field public static final int REQUEST_RESULT_UNKNOWN = 0; // 0x0
23904    field public static final int SOURCE_TYPE_CACHED = 1; // 0x1
23905    field public static final int SOURCE_TYPE_NETWORK = 0; // 0x0
23906  }
23907
23908  public static final class RcsContactUceCapability.OptionsBuilder {
23909    ctor public RcsContactUceCapability.OptionsBuilder(@NonNull android.net.Uri);
23910    method @NonNull public android.telephony.ims.RcsContactUceCapability.OptionsBuilder addFeatureTag(@NonNull String);
23911    method @NonNull public android.telephony.ims.RcsContactUceCapability.OptionsBuilder addFeatureTags(@NonNull java.util.Set<java.lang.String>);
23912    method @NonNull public android.telephony.ims.RcsContactUceCapability build();
23913    method @NonNull public android.telephony.ims.RcsContactUceCapability.OptionsBuilder setRequestResult(int);
23914  }
23915
23916  public static final class RcsContactUceCapability.PresenceBuilder {
23917    ctor public RcsContactUceCapability.PresenceBuilder(@NonNull android.net.Uri, int, int);
23918    method @NonNull public android.telephony.ims.RcsContactUceCapability.PresenceBuilder addCapabilityTuple(@NonNull android.telephony.ims.RcsContactPresenceTuple);
23919    method @NonNull public android.telephony.ims.RcsContactUceCapability.PresenceBuilder addCapabilityTuples(@NonNull java.util.List<android.telephony.ims.RcsContactPresenceTuple>);
23920    method @NonNull public android.telephony.ims.RcsContactUceCapability build();
23921    method @NonNull public android.telephony.ims.RcsContactUceCapability.PresenceBuilder setEntityUri(@NonNull android.net.Uri);
23922  }
23923
23924  public class RcsUceAdapter {
23925    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;
23926    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getUcePublishState() throws android.telephony.ims.ImsException;
23927    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void removeOnPublishStateChangedListener(@NonNull android.telephony.ims.RcsUceAdapter.OnPublishStateChangedListener) throws android.telephony.ims.ImsException;
23928    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;
23929    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;
23930    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setUceSettingEnabled(boolean) throws android.telephony.ims.ImsException;
23931    field @Deprecated public static final int CAPABILITY_TYPE_PRESENCE_UCE = 2; // 0x2
23932    field public static final int CAPABILITY_UPDATE_TRIGGER_ETAG_EXPIRED = 1; // 0x1
23933    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_2G = 7; // 0x7
23934    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_3G = 6; // 0x6
23935    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_EHRPD = 4; // 0x4
23936    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_HSPAPLUS = 5; // 0x5
23937    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_INTERNET_PDN = 12; // 0xc
23938    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_IWLAN = 9; // 0x9
23939    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_LTE_VOPS_DISABLED = 2; // 0x2
23940    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_LTE_VOPS_ENABLED = 3; // 0x3
23941    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_NR5G_VOPS_DISABLED = 10; // 0xa
23942    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_NR5G_VOPS_ENABLED = 11; // 0xb
23943    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_WLAN = 8; // 0x8
23944    field public static final int CAPABILITY_UPDATE_TRIGGER_UNKNOWN = 0; // 0x0
23945    field public static final int ERROR_FORBIDDEN = 6; // 0x6
23946    field public static final int ERROR_GENERIC_FAILURE = 1; // 0x1
23947    field public static final int ERROR_INSUFFICIENT_MEMORY = 10; // 0xa
23948    field public static final int ERROR_LOST_NETWORK = 11; // 0xb
23949    field public static final int ERROR_NOT_AUTHORIZED = 5; // 0x5
23950    field public static final int ERROR_NOT_AVAILABLE = 3; // 0x3
23951    field public static final int ERROR_NOT_ENABLED = 2; // 0x2
23952    field public static final int ERROR_NOT_FOUND = 7; // 0x7
23953    field public static final int ERROR_NOT_REGISTERED = 4; // 0x4
23954    field public static final int ERROR_REQUEST_TIMEOUT = 9; // 0x9
23955    field public static final int ERROR_REQUEST_TOO_LARGE = 8; // 0x8
23956    field public static final int ERROR_SERVER_UNAVAILABLE = 12; // 0xc
23957    field public static final int PUBLISH_STATE_NOT_PUBLISHED = 2; // 0x2
23958    field public static final int PUBLISH_STATE_OK = 1; // 0x1
23959    field public static final int PUBLISH_STATE_OTHER_ERROR = 6; // 0x6
23960    field public static final int PUBLISH_STATE_PUBLISHING = 7; // 0x7
23961    field public static final int PUBLISH_STATE_RCS_PROVISION_ERROR = 4; // 0x4
23962    field public static final int PUBLISH_STATE_REQUEST_TIMEOUT = 5; // 0x5
23963    field public static final int PUBLISH_STATE_VOICE_PROVISION_ERROR = 3; // 0x3
23964  }
23965
23966  public static interface RcsUceAdapter.CapabilitiesCallback {
23967    method public void onCapabilitiesReceived(@NonNull java.util.List<android.telephony.ims.RcsContactUceCapability>);
23968    method public default void onComplete();
23969    method public default void onComplete(@Nullable android.telephony.ims.SipDetails);
23970    method public default void onError(int, long);
23971    method public default void onError(int, long, @Nullable android.telephony.ims.SipDetails);
23972  }
23973
23974  public static interface RcsUceAdapter.OnPublishStateChangedListener {
23975    method public default void onPublishStateChange(@NonNull android.telephony.ims.PublishAttributes);
23976    method @Deprecated public void onPublishStateChange(int);
23977  }
23978
23979  public interface RegistrationManager {
23980    field public static final int SUGGESTED_ACTION_NONE = 0; // 0x0
23981    field public static final int SUGGESTED_ACTION_TRIGGER_PLMN_BLOCK = 1; // 0x1
23982    field public static final int SUGGESTED_ACTION_TRIGGER_PLMN_BLOCK_WITH_TIMEOUT = 2; // 0x2
23983  }
23984
23985  public static class RegistrationManager.RegistrationCallback {
23986    method public void onUnregistered(@NonNull android.telephony.ims.ImsReasonInfo, @NonNull android.telephony.ims.SipDetails);
23987  }
23988
23989  public final class RtpHeaderExtension implements android.os.Parcelable {
23990    ctor public RtpHeaderExtension(@IntRange(from=1, to=14) int, @NonNull byte[]);
23991    method public int describeContents();
23992    method @NonNull public byte[] getExtensionData();
23993    method @IntRange(from=1, to=14) public int getLocalIdentifier();
23994    method public void writeToParcel(@NonNull android.os.Parcel, int);
23995    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RtpHeaderExtension> CREATOR;
23996  }
23997
23998  public final class RtpHeaderExtensionType implements android.os.Parcelable {
23999    ctor public RtpHeaderExtensionType(@IntRange(from=1, to=14) int, @NonNull android.net.Uri);
24000    method public int describeContents();
24001    method @IntRange(from=1, to=14) public int getLocalIdentifier();
24002    method @NonNull public android.net.Uri getUri();
24003    method public void writeToParcel(@NonNull android.os.Parcel, int);
24004    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RtpHeaderExtensionType> CREATOR;
24005  }
24006
24007  public final class SipDelegateConfiguration implements android.os.Parcelable {
24008    method public int describeContents();
24009    method @Nullable public String getHomeDomain();
24010    method @Nullable public String getImei();
24011    method @Nullable public android.telephony.ims.SipDelegateConfiguration.IpSecConfiguration getIpSecConfiguration();
24012    method @NonNull public java.net.InetSocketAddress getLocalAddress();
24013    method public int getMaxUdpPayloadSizeBytes();
24014    method @Nullable public java.net.InetSocketAddress getNatSocketAddress();
24015    method @Nullable public String getPrivateUserIdentifier();
24016    method @Nullable public android.net.Uri getPublicGruuUri();
24017    method @Nullable public String getPublicUserIdentifier();
24018    method @Nullable public String getSipAssociatedUriHeader();
24019    method @Nullable public String getSipAuthenticationHeader();
24020    method @Nullable public String getSipAuthenticationNonce();
24021    method @Nullable public String getSipCniHeader();
24022    method @Nullable public String getSipContactUserParameter();
24023    method @Nullable public String getSipPaniHeader();
24024    method @Nullable public String getSipPathHeader();
24025    method @Nullable public String getSipPlaniHeader();
24026    method @NonNull public java.net.InetSocketAddress getSipServerAddress();
24027    method @Nullable public String getSipServiceRouteHeader();
24028    method @Nullable public String getSipUserAgentHeader();
24029    method public int getTransportType();
24030    method @IntRange(from=0) public long getVersion();
24031    method public boolean isSipCompactFormEnabled();
24032    method public boolean isSipKeepaliveEnabled();
24033    method public void writeToParcel(@NonNull android.os.Parcel, int);
24034    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.SipDelegateConfiguration> CREATOR;
24035    field public static final int SIP_TRANSPORT_TCP = 1; // 0x1
24036    field public static final int SIP_TRANSPORT_UDP = 0; // 0x0
24037    field public static final int UDP_PAYLOAD_SIZE_UNDEFINED = -1; // 0xffffffff
24038  }
24039
24040  public static final class SipDelegateConfiguration.Builder {
24041    ctor public SipDelegateConfiguration.Builder(@NonNull android.telephony.ims.SipDelegateConfiguration);
24042    ctor public SipDelegateConfiguration.Builder(@IntRange(from=0) long, int, @NonNull java.net.InetSocketAddress, @NonNull java.net.InetSocketAddress);
24043    method @NonNull public android.telephony.ims.SipDelegateConfiguration build();
24044    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setHomeDomain(@Nullable String);
24045    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setImei(@Nullable String);
24046    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setIpSecConfiguration(@Nullable android.telephony.ims.SipDelegateConfiguration.IpSecConfiguration);
24047    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setMaxUdpPayloadSizeBytes(@IntRange(from=1) int);
24048    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setNatSocketAddress(@Nullable java.net.InetSocketAddress);
24049    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setPrivateUserIdentifier(@Nullable String);
24050    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setPublicGruuUri(@Nullable android.net.Uri);
24051    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setPublicUserIdentifier(@Nullable String);
24052    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipAssociatedUriHeader(@Nullable String);
24053    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipAuthenticationHeader(@Nullable String);
24054    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipAuthenticationNonce(@Nullable String);
24055    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipCniHeader(@Nullable String);
24056    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipCompactFormEnabled(boolean);
24057    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipContactUserParameter(@Nullable String);
24058    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipKeepaliveEnabled(boolean);
24059    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipPaniHeader(@Nullable String);
24060    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipPathHeader(@Nullable String);
24061    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipPlaniHeader(@Nullable String);
24062    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipServiceRouteHeader(@Nullable String);
24063    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipUserAgentHeader(@Nullable String);
24064  }
24065
24066  public static final class SipDelegateConfiguration.IpSecConfiguration {
24067    ctor public SipDelegateConfiguration.IpSecConfiguration(int, int, int, int, int, int, @NonNull String);
24068    method public int getLastLocalTxPort();
24069    method public int getLastRemoteTxPort();
24070    method public int getLocalRxPort();
24071    method public int getLocalTxPort();
24072    method public int getRemoteRxPort();
24073    method public int getRemoteTxPort();
24074    method @NonNull public String getSipSecurityVerifyHeader();
24075  }
24076
24077  public interface SipDelegateConnection {
24078    method public void cleanupSession(@NonNull String);
24079    method public void notifyMessageReceiveError(@NonNull String, int);
24080    method public void notifyMessageReceived(@NonNull String);
24081    method public void sendMessage(@NonNull android.telephony.ims.SipMessage, long);
24082  }
24083
24084  public class SipDelegateManager {
24085    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;
24086    method @RequiresPermission(android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION) public void destroySipDelegate(@NonNull android.telephony.ims.SipDelegateConnection, int);
24087    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;
24088    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION}) public void registerImsStateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.ImsStateCallback) throws android.telephony.ims.ImsException;
24089    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void registerSipDialogStateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.SipDialogStateCallback) throws android.telephony.ims.ImsException;
24090    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);
24091    method public void unregisterImsStateCallback(@NonNull android.telephony.ims.ImsStateCallback);
24092    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void unregisterSipDialogStateCallback(@NonNull android.telephony.ims.SipDialogStateCallback) throws android.telephony.ims.ImsException;
24093    field public static final int DENIED_REASON_INVALID = 4; // 0x4
24094    field public static final int DENIED_REASON_IN_USE_BY_ANOTHER_DELEGATE = 1; // 0x1
24095    field public static final int DENIED_REASON_NOT_ALLOWED = 2; // 0x2
24096    field public static final int DENIED_REASON_SINGLE_REGISTRATION_NOT_ALLOWED = 3; // 0x3
24097    field public static final int DENIED_REASON_UNKNOWN = 0; // 0x0
24098    field public static final int MESSAGE_FAILURE_REASON_DELEGATE_CLOSED = 2; // 0x2
24099    field public static final int MESSAGE_FAILURE_REASON_DELEGATE_DEAD = 1; // 0x1
24100    field public static final int MESSAGE_FAILURE_REASON_INTERNAL_DELEGATE_STATE_TRANSITION = 11; // 0xb
24101    field public static final int MESSAGE_FAILURE_REASON_INVALID_BODY_CONTENT = 5; // 0x5
24102    field public static final int MESSAGE_FAILURE_REASON_INVALID_FEATURE_TAG = 6; // 0x6
24103    field public static final int MESSAGE_FAILURE_REASON_INVALID_HEADER_FIELDS = 4; // 0x4
24104    field public static final int MESSAGE_FAILURE_REASON_INVALID_START_LINE = 3; // 0x3
24105    field public static final int MESSAGE_FAILURE_REASON_NETWORK_NOT_AVAILABLE = 8; // 0x8
24106    field public static final int MESSAGE_FAILURE_REASON_NOT_REGISTERED = 9; // 0x9
24107    field public static final int MESSAGE_FAILURE_REASON_STALE_IMS_CONFIGURATION = 10; // 0xa
24108    field public static final int MESSAGE_FAILURE_REASON_TAG_NOT_ENABLED_FOR_DELEGATE = 7; // 0x7
24109    field public static final int MESSAGE_FAILURE_REASON_UNKNOWN = 0; // 0x0
24110    field public static final int SIP_DELEGATE_DESTROY_REASON_REQUESTED_BY_APP = 2; // 0x2
24111    field public static final int SIP_DELEGATE_DESTROY_REASON_SERVICE_DEAD = 1; // 0x1
24112    field public static final int SIP_DELEGATE_DESTROY_REASON_SUBSCRIPTION_TORN_DOWN = 4; // 0x4
24113    field public static final int SIP_DELEGATE_DESTROY_REASON_UNKNOWN = 0; // 0x0
24114    field public static final int SIP_DELEGATE_DESTROY_REASON_USER_DISABLED_RCS = 3; // 0x3
24115  }
24116
24117  public final class SipDialogState implements android.os.Parcelable {
24118    method public int describeContents();
24119    method public int getState();
24120    method public void writeToParcel(@NonNull android.os.Parcel, int);
24121    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.SipDialogState> CREATOR;
24122    field public static final int STATE_CLOSED = 2; // 0x2
24123    field public static final int STATE_CONFIRMED = 1; // 0x1
24124    field public static final int STATE_EARLY = 0; // 0x0
24125  }
24126
24127  public abstract class SipDialogStateCallback {
24128    ctor public SipDialogStateCallback();
24129    method public abstract void onActiveSipDialogsChanged(@NonNull java.util.List<android.telephony.ims.SipDialogState>);
24130    method public abstract void onError();
24131  }
24132
24133  public final class SipMessage implements android.os.Parcelable {
24134    ctor public SipMessage(@NonNull String, @NonNull String, @NonNull byte[]);
24135    method public int describeContents();
24136    method @Nullable public String getCallIdParameter();
24137    method @NonNull public byte[] getContent();
24138    method @NonNull public String getHeaderSection();
24139    method @NonNull public String getStartLine();
24140    method @NonNull public String getViaBranchParameter();
24141    method @NonNull public byte[] toEncodedMessage();
24142    method public void writeToParcel(@NonNull android.os.Parcel, int);
24143    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.SipMessage> CREATOR;
24144  }
24145
24146  public final class SrvccCall implements android.os.Parcelable {
24147    ctor public SrvccCall(@NonNull String, int, @NonNull android.telephony.ims.ImsCallProfile);
24148    method public int describeContents();
24149    method @NonNull public String getCallId();
24150    method @NonNull public android.telephony.ims.ImsCallProfile getImsCallProfile();
24151    method public int getPreciseCallState();
24152    method public void writeToParcel(@NonNull android.os.Parcel, int);
24153    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.SrvccCall> CREATOR;
24154  }
24155
24156}
24157
24158package android.telephony.ims.feature {
24159
24160  public final class CapabilityChangeRequest implements android.os.Parcelable {
24161    method public void addCapabilitiesToDisableForTech(int, int);
24162    method public void addCapabilitiesToEnableForTech(int, int);
24163    method public int describeContents();
24164    method public java.util.List<android.telephony.ims.feature.CapabilityChangeRequest.CapabilityPair> getCapabilitiesToDisable();
24165    method public java.util.List<android.telephony.ims.feature.CapabilityChangeRequest.CapabilityPair> getCapabilitiesToEnable();
24166    method public void writeToParcel(android.os.Parcel, int);
24167    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.feature.CapabilityChangeRequest> CREATOR;
24168  }
24169
24170  public static class CapabilityChangeRequest.CapabilityPair {
24171    ctor public CapabilityChangeRequest.CapabilityPair(int, int);
24172    method public int getCapability();
24173    method public int getRadioTech();
24174  }
24175
24176  public abstract class ImsFeature {
24177    ctor public ImsFeature();
24178    method public abstract void changeEnabledCapabilities(android.telephony.ims.feature.CapabilityChangeRequest, android.telephony.ims.feature.ImsFeature.CapabilityCallbackProxy);
24179    method public int getFeatureState();
24180    method public final int getSlotIndex();
24181    method public abstract void onFeatureReady();
24182    method public abstract void onFeatureRemoved();
24183    method public final void setFeatureState(int);
24184    field public static final int CAPABILITY_ERROR_GENERIC = -1; // 0xffffffff
24185    field public static final int CAPABILITY_SUCCESS = 0; // 0x0
24186    field public static final int FEATURE_EMERGENCY_MMTEL = 0; // 0x0
24187    field public static final int FEATURE_MMTEL = 1; // 0x1
24188    field public static final int FEATURE_RCS = 2; // 0x2
24189    field public static final int STATE_INITIALIZING = 1; // 0x1
24190    field public static final int STATE_READY = 2; // 0x2
24191    field public static final int STATE_UNAVAILABLE = 0; // 0x0
24192  }
24193
24194  @Deprecated public static class ImsFeature.Capabilities {
24195    field @Deprecated protected int mCapabilities;
24196  }
24197
24198  protected static class ImsFeature.CapabilityCallbackProxy {
24199    method public void onChangeCapabilityConfigurationError(int, int, int);
24200  }
24201
24202  public class MmTelFeature extends android.telephony.ims.feature.ImsFeature {
24203    ctor public MmTelFeature();
24204    ctor public MmTelFeature(@NonNull java.util.concurrent.Executor);
24205    method public void changeEnabledCapabilities(@NonNull android.telephony.ims.feature.CapabilityChangeRequest, @NonNull android.telephony.ims.feature.ImsFeature.CapabilityCallbackProxy);
24206    method public void changeOfferedRtpHeaderExtensionTypes(@NonNull java.util.Set<android.telephony.ims.RtpHeaderExtensionType>);
24207    method public void clearMediaThreshold(int);
24208    method @Nullable public android.telephony.ims.ImsCallProfile createCallProfile(int, int);
24209    method @Nullable public android.telephony.ims.stub.ImsCallSessionImplBase createCallSession(@NonNull android.telephony.ims.ImsCallProfile);
24210    method @NonNull public android.telephony.ims.stub.ImsEcbmImplBase getEcbm();
24211    method @NonNull public android.telephony.ims.stub.ImsMultiEndpointImplBase getMultiEndpoint();
24212    method @NonNull public android.telephony.ims.stub.ImsSmsImplBase getSmsImplementation();
24213    method @NonNull public android.telephony.ims.stub.ImsUtImplBase getUt();
24214    method public final void notifyCapabilitiesStatusChanged(@NonNull android.telephony.ims.feature.MmTelFeature.MmTelCapabilities);
24215    method @Deprecated public final void notifyIncomingCall(@NonNull android.telephony.ims.stub.ImsCallSessionImplBase, @NonNull android.os.Bundle);
24216    method @Nullable public final android.telephony.ims.ImsCallSessionListener notifyIncomingCall(@NonNull android.telephony.ims.stub.ImsCallSessionImplBase, @NonNull String, @NonNull android.os.Bundle);
24217    method public final void notifyMediaQualityStatusChanged(@NonNull android.telephony.ims.MediaQualityStatus);
24218    method public final void notifyRejectedCall(@NonNull android.telephony.ims.ImsCallProfile, @NonNull android.telephony.ims.ImsReasonInfo);
24219    method public void notifySrvccCanceled();
24220    method public void notifySrvccCompleted();
24221    method public void notifySrvccFailed();
24222    method public void notifySrvccStarted(@NonNull java.util.function.Consumer<java.util.List<android.telephony.ims.SrvccCall>>);
24223    method public final void notifyVoiceMessageCountUpdate(int);
24224    method public void onFeatureReady();
24225    method public void onFeatureRemoved();
24226    method public boolean queryCapabilityConfiguration(int, int);
24227    method @NonNull public final android.telephony.ims.feature.MmTelFeature.MmTelCapabilities queryCapabilityStatus();
24228    method @Nullable public android.telephony.ims.MediaQualityStatus queryMediaQualityStatus(int);
24229    method public final void setCallAudioHandler(int);
24230    method public void setMediaThreshold(int, @NonNull android.telephony.ims.MediaThreshold);
24231    method public void setTerminalBasedCallWaitingStatus(boolean);
24232    method public void setUiTtyMode(int, @Nullable android.os.Message);
24233    method public int shouldProcessCall(@NonNull String[]);
24234    field public static final int AUDIO_HANDLER_ANDROID = 0; // 0x0
24235    field public static final int AUDIO_HANDLER_BASEBAND = 1; // 0x1
24236    field public static final String EXTRA_IS_UNKNOWN_CALL = "android.telephony.ims.feature.extra.IS_UNKNOWN_CALL";
24237    field public static final String EXTRA_IS_USSD = "android.telephony.ims.feature.extra.IS_USSD";
24238    field public static final int PROCESS_CALL_CSFB = 1; // 0x1
24239    field public static final int PROCESS_CALL_IMS = 0; // 0x0
24240  }
24241
24242  public static class MmTelFeature.MmTelCapabilities extends android.telephony.ims.feature.ImsFeature.Capabilities {
24243    ctor public MmTelFeature.MmTelCapabilities();
24244    ctor @Deprecated public MmTelFeature.MmTelCapabilities(android.telephony.ims.feature.ImsFeature.Capabilities);
24245    ctor public MmTelFeature.MmTelCapabilities(int);
24246    method public final void addCapabilities(int);
24247    method public final void removeCapabilities(int);
24248  }
24249
24250  public class RcsFeature extends android.telephony.ims.feature.ImsFeature {
24251    ctor public RcsFeature();
24252    ctor public RcsFeature(@NonNull java.util.concurrent.Executor);
24253    method public void changeEnabledCapabilities(@NonNull android.telephony.ims.feature.CapabilityChangeRequest, @NonNull android.telephony.ims.feature.ImsFeature.CapabilityCallbackProxy);
24254    method @NonNull public android.telephony.ims.stub.RcsCapabilityExchangeImplBase createCapabilityExchangeImpl(@NonNull android.telephony.ims.stub.CapabilityExchangeEventListener);
24255    method public void destroyCapabilityExchangeImpl(@NonNull android.telephony.ims.stub.RcsCapabilityExchangeImplBase);
24256    method public final void notifyCapabilitiesStatusChanged(@NonNull android.telephony.ims.feature.RcsFeature.RcsImsCapabilities);
24257    method public void onFeatureReady();
24258    method public void onFeatureRemoved();
24259    method public boolean queryCapabilityConfiguration(int, int);
24260    method @NonNull public final android.telephony.ims.feature.RcsFeature.RcsImsCapabilities queryCapabilityStatus();
24261  }
24262
24263  public static class RcsFeature.RcsImsCapabilities extends android.telephony.ims.feature.ImsFeature.Capabilities {
24264    ctor public RcsFeature.RcsImsCapabilities(int);
24265    method public void addCapabilities(int);
24266    method public boolean isCapable(int);
24267    method public void removeCapabilities(int);
24268    field public static final int CAPABILITY_TYPE_NONE = 0; // 0x0
24269    field public static final int CAPABILITY_TYPE_OPTIONS_UCE = 1; // 0x1
24270    field public static final int CAPABILITY_TYPE_PRESENCE_UCE = 2; // 0x2
24271  }
24272
24273}
24274
24275package android.telephony.ims.stub {
24276
24277  public interface CapabilityExchangeEventListener {
24278    method public default void onPublishUpdated(@NonNull android.telephony.ims.SipDetails) throws android.telephony.ims.ImsException;
24279    method @Deprecated public default void onPublishUpdated(int, @NonNull String, int, @NonNull String) throws android.telephony.ims.ImsException;
24280    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;
24281    method public void onRequestPublishCapabilities(int) throws android.telephony.ims.ImsException;
24282    method public void onUnpublish() throws android.telephony.ims.ImsException;
24283  }
24284
24285  public static interface CapabilityExchangeEventListener.OptionsRequestCallback {
24286    method public void onRespondToCapabilityRequest(@NonNull android.telephony.ims.RcsContactUceCapability, boolean);
24287    method public void onRespondToCapabilityRequestWithError(@IntRange(from=100, to=699) int, @NonNull String);
24288  }
24289
24290  public interface DelegateConnectionMessageCallback {
24291    method public void onMessageReceived(@NonNull android.telephony.ims.SipMessage);
24292    method public void onMessageSendFailure(@NonNull String, int);
24293    method public void onMessageSent(@NonNull String);
24294  }
24295
24296  public interface DelegateConnectionStateCallback {
24297    method public void onConfigurationChanged(@NonNull android.telephony.ims.SipDelegateConfiguration);
24298    method public void onCreated(@NonNull android.telephony.ims.SipDelegateConnection);
24299    method public void onDestroyed(int);
24300    method public void onFeatureTagStatusChanged(@NonNull android.telephony.ims.DelegateRegistrationState, @NonNull java.util.Set<android.telephony.ims.FeatureTagState>);
24301  }
24302
24303  public class ImsCallSessionImplBase implements java.lang.AutoCloseable {
24304    ctor public ImsCallSessionImplBase();
24305    method public void accept(int, android.telephony.ims.ImsStreamMediaProfile);
24306    method public void close();
24307    method public void deflect(String);
24308    method public void extendToConference(String[]);
24309    method public String getCallId();
24310    method public android.telephony.ims.ImsCallProfile getCallProfile();
24311    method public android.telephony.ims.ImsVideoCallProvider getImsVideoCallProvider();
24312    method public android.telephony.ims.ImsCallProfile getLocalCallProfile();
24313    method public String getProperty(String);
24314    method public android.telephony.ims.ImsCallProfile getRemoteCallProfile();
24315    method public int getState();
24316    method public void hold(android.telephony.ims.ImsStreamMediaProfile);
24317    method public void inviteParticipants(String[]);
24318    method public boolean isInCall();
24319    method public boolean isMultiparty();
24320    method public void merge();
24321    method public void reject(int);
24322    method public void removeParticipants(String[]);
24323    method public void resume(android.telephony.ims.ImsStreamMediaProfile);
24324    method public void sendDtmf(char, android.os.Message);
24325    method public void sendRtpHeaderExtensions(@NonNull java.util.Set<android.telephony.ims.RtpHeaderExtension>);
24326    method public void sendRttMessage(String);
24327    method public void sendRttModifyRequest(android.telephony.ims.ImsCallProfile);
24328    method public void sendRttModifyResponse(boolean);
24329    method public void sendUssd(String);
24330    method @Deprecated public void setListener(android.telephony.ims.ImsCallSessionListener);
24331    method public void setMute(boolean);
24332    method public void start(String, android.telephony.ims.ImsCallProfile);
24333    method public void startConference(String[], android.telephony.ims.ImsCallProfile);
24334    method public void startDtmf(char);
24335    method public void stopDtmf();
24336    method public void terminate(int);
24337    method public void update(int, android.telephony.ims.ImsStreamMediaProfile);
24338    field public static final int USSD_MODE_NOTIFY = 0; // 0x0
24339    field public static final int USSD_MODE_REQUEST = 1; // 0x1
24340  }
24341
24342  public static class ImsCallSessionImplBase.State {
24343    method public static String toString(int);
24344    field public static final int ESTABLISHED = 4; // 0x4
24345    field public static final int ESTABLISHING = 3; // 0x3
24346    field public static final int IDLE = 0; // 0x0
24347    field public static final int INITIATED = 1; // 0x1
24348    field public static final int INVALID = -1; // 0xffffffff
24349    field public static final int NEGOTIATING = 2; // 0x2
24350    field public static final int REESTABLISHING = 6; // 0x6
24351    field public static final int RENEGOTIATING = 5; // 0x5
24352    field public static final int TERMINATED = 8; // 0x8
24353    field public static final int TERMINATING = 7; // 0x7
24354  }
24355
24356  public class ImsConfigImplBase {
24357    ctor public ImsConfigImplBase();
24358    ctor public ImsConfigImplBase(@NonNull java.util.concurrent.Executor);
24359    method public int getConfigInt(int);
24360    method public String getConfigString(int);
24361    method public final void notifyAutoConfigurationErrorReceived(int, @NonNull String);
24362    method public final void notifyPreProvisioningReceived(@NonNull byte[]);
24363    method public final void notifyProvisionedValueChanged(int, int);
24364    method public final void notifyProvisionedValueChanged(int, String);
24365    method public void notifyRcsAutoConfigurationReceived(@NonNull byte[], boolean);
24366    method public void notifyRcsAutoConfigurationRemoved();
24367    method public int setConfig(int, int);
24368    method public int setConfig(int, String);
24369    method public void setRcsClientConfiguration(@NonNull android.telephony.ims.RcsClientConfiguration);
24370    method public void triggerAutoConfiguration();
24371    field public static final int CONFIG_RESULT_FAILED = 1; // 0x1
24372    field public static final int CONFIG_RESULT_SUCCESS = 0; // 0x0
24373    field public static final int CONFIG_RESULT_UNKNOWN = -1; // 0xffffffff
24374  }
24375
24376  public class ImsEcbmImplBase {
24377    ctor public ImsEcbmImplBase();
24378    method public final void enteredEcbm();
24379    method public void exitEmergencyCallbackMode();
24380    method public final void exitedEcbm();
24381  }
24382
24383  public final class ImsFeatureConfiguration implements android.os.Parcelable {
24384    method public int describeContents();
24385    method public java.util.Set<android.telephony.ims.stub.ImsFeatureConfiguration.FeatureSlotPair> getServiceFeatures();
24386    method public void writeToParcel(android.os.Parcel, int);
24387    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.stub.ImsFeatureConfiguration> CREATOR;
24388  }
24389
24390  public static class ImsFeatureConfiguration.Builder {
24391    ctor public ImsFeatureConfiguration.Builder();
24392    method public android.telephony.ims.stub.ImsFeatureConfiguration.Builder addFeature(int, int);
24393    method public android.telephony.ims.stub.ImsFeatureConfiguration build();
24394  }
24395
24396  public static final class ImsFeatureConfiguration.FeatureSlotPair {
24397    ctor public ImsFeatureConfiguration.FeatureSlotPair(int, int);
24398    field public final int featureType;
24399    field public final int slotId;
24400  }
24401
24402  public class ImsMultiEndpointImplBase {
24403    ctor public ImsMultiEndpointImplBase();
24404    method public final void onImsExternalCallStateUpdate(java.util.List<android.telephony.ims.ImsExternalCallState>);
24405    method public void requestImsExternalCallStateInfo();
24406  }
24407
24408  public class ImsRegistrationImplBase {
24409    ctor public ImsRegistrationImplBase();
24410    ctor public ImsRegistrationImplBase(@NonNull java.util.concurrent.Executor);
24411    method public final void onDeregistered(android.telephony.ims.ImsReasonInfo);
24412    method public final void onDeregistered(@Nullable android.telephony.ims.ImsReasonInfo, @NonNull android.telephony.ims.SipDetails);
24413    method public final void onDeregistered(@Nullable android.telephony.ims.ImsReasonInfo, int, int);
24414    method public final void onDeregistered(@Nullable android.telephony.ims.ImsReasonInfo, int, int, @NonNull android.telephony.ims.SipDetails);
24415    method public final void onRegistered(@NonNull android.telephony.ims.ImsRegistrationAttributes);
24416    method public final void onRegistered(int);
24417    method public final void onRegistering(@NonNull android.telephony.ims.ImsRegistrationAttributes);
24418    method public final void onRegistering(int);
24419    method public final void onSubscriberAssociatedUriChanged(android.net.Uri[]);
24420    method public final void onTechnologyChangeFailed(int, android.telephony.ims.ImsReasonInfo);
24421    method public void triggerFullNetworkRegistration(@IntRange(from=100, to=699) int, @Nullable String);
24422    method public void triggerSipDelegateDeregistration();
24423    method public void updateSipDelegateRegistration();
24424  }
24425
24426  public class ImsSmsImplBase {
24427    ctor public ImsSmsImplBase();
24428    ctor public ImsSmsImplBase(@NonNull java.util.concurrent.Executor);
24429    method public void acknowledgeSms(int, @IntRange(from=0, to=65535) int, int);
24430    method public void acknowledgeSms(int, @IntRange(from=0, to=65535) int, int, @NonNull byte[]);
24431    method public void acknowledgeSmsReport(int, @IntRange(from=0, to=65535) int, int);
24432    method public String getSmsFormat();
24433    method public void onReady();
24434    method @Deprecated public final void onSendSmsResult(int, @IntRange(from=0, to=65535) int, int, int) throws java.lang.RuntimeException;
24435    method public final void onSendSmsResultError(int, @IntRange(from=0, to=65535) int, int, int, int) throws java.lang.RuntimeException;
24436    method public final void onSendSmsResultSuccess(int, @IntRange(from=0, to=65535) int) throws java.lang.RuntimeException;
24437    method public final void onSmsReceived(int, String, byte[]) throws java.lang.RuntimeException;
24438    method @Deprecated public final void onSmsStatusReportReceived(int, @IntRange(from=0, to=65535) int, String, byte[]) throws java.lang.RuntimeException;
24439    method public final void onSmsStatusReportReceived(int, String, byte[]) throws java.lang.RuntimeException;
24440    method public void sendSms(int, @IntRange(from=0, to=65535) int, String, String, boolean, byte[]);
24441    field public static final int DELIVER_STATUS_ERROR_GENERIC = 2; // 0x2
24442    field public static final int DELIVER_STATUS_ERROR_NO_MEMORY = 3; // 0x3
24443    field public static final int DELIVER_STATUS_ERROR_REQUEST_NOT_SUPPORTED = 4; // 0x4
24444    field public static final int DELIVER_STATUS_OK = 1; // 0x1
24445    field public static final int RESULT_NO_NETWORK_ERROR = -1; // 0xffffffff
24446    field public static final int SEND_STATUS_ERROR = 2; // 0x2
24447    field public static final int SEND_STATUS_ERROR_FALLBACK = 4; // 0x4
24448    field public static final int SEND_STATUS_ERROR_RETRY = 3; // 0x3
24449    field public static final int SEND_STATUS_OK = 1; // 0x1
24450    field public static final int STATUS_REPORT_STATUS_ERROR = 2; // 0x2
24451    field public static final int STATUS_REPORT_STATUS_OK = 1; // 0x1
24452  }
24453
24454  public class ImsUtImplBase {
24455    ctor public ImsUtImplBase();
24456    method public void close();
24457    method public int queryCallBarring(int);
24458    method public int queryCallBarringForServiceClass(int, int);
24459    method public int queryCallForward(int, String);
24460    method public int queryCallWaiting();
24461    method public int queryClip();
24462    method public int queryClir();
24463    method public int queryColp();
24464    method public int queryColr();
24465    method public void setListener(android.telephony.ims.ImsUtListener);
24466    method public int transact(android.os.Bundle);
24467    method public int updateCallBarring(int, int, String[]);
24468    method public int updateCallBarringForServiceClass(int, int, String[], int);
24469    method public int updateCallForward(int, int, String, int, int);
24470    method public int updateCallWaiting(boolean, int);
24471    method public int updateClip(boolean);
24472    method public int updateClir(int);
24473    method public int updateColp(boolean);
24474    method public int updateColr(int);
24475  }
24476
24477  public class RcsCapabilityExchangeImplBase {
24478    ctor public RcsCapabilityExchangeImplBase();
24479    method public void publishCapabilities(@NonNull String, @NonNull android.telephony.ims.stub.RcsCapabilityExchangeImplBase.PublishResponseCallback);
24480    method public void sendOptionsCapabilityRequest(@NonNull android.net.Uri, @NonNull java.util.Set<java.lang.String>, @NonNull android.telephony.ims.stub.RcsCapabilityExchangeImplBase.OptionsResponseCallback);
24481    method public void subscribeForCapabilities(@NonNull java.util.Collection<android.net.Uri>, @NonNull android.telephony.ims.stub.RcsCapabilityExchangeImplBase.SubscribeResponseCallback);
24482    field public static final int COMMAND_CODE_FETCH_ERROR = 3; // 0x3
24483    field public static final int COMMAND_CODE_GENERIC_FAILURE = 1; // 0x1
24484    field public static final int COMMAND_CODE_INSUFFICIENT_MEMORY = 5; // 0x5
24485    field public static final int COMMAND_CODE_INVALID_PARAM = 2; // 0x2
24486    field public static final int COMMAND_CODE_LOST_NETWORK_CONNECTION = 6; // 0x6
24487    field public static final int COMMAND_CODE_NOT_FOUND = 8; // 0x8
24488    field public static final int COMMAND_CODE_NOT_SUPPORTED = 7; // 0x7
24489    field public static final int COMMAND_CODE_NO_CHANGE = 10; // 0xa
24490    field public static final int COMMAND_CODE_REQUEST_TIMEOUT = 4; // 0x4
24491    field public static final int COMMAND_CODE_SERVICE_UNAVAILABLE = 9; // 0x9
24492    field public static final int COMMAND_CODE_SERVICE_UNKNOWN = 0; // 0x0
24493  }
24494
24495  public static interface RcsCapabilityExchangeImplBase.OptionsResponseCallback {
24496    method public void onCommandError(int) throws android.telephony.ims.ImsException;
24497    method public void onNetworkResponse(int, @NonNull String, @NonNull java.util.List<java.lang.String>) throws android.telephony.ims.ImsException;
24498  }
24499
24500  public static interface RcsCapabilityExchangeImplBase.PublishResponseCallback {
24501    method public void onCommandError(int) throws android.telephony.ims.ImsException;
24502    method public default void onNetworkResponse(@NonNull android.telephony.ims.SipDetails) throws android.telephony.ims.ImsException;
24503    method @Deprecated public void onNetworkResponse(@IntRange(from=100, to=699) int, @NonNull String) throws android.telephony.ims.ImsException;
24504    method @Deprecated public void onNetworkResponse(@IntRange(from=100, to=699) int, @NonNull String, @IntRange(from=100, to=699) int, @NonNull String) throws android.telephony.ims.ImsException;
24505  }
24506
24507  public static interface RcsCapabilityExchangeImplBase.SubscribeResponseCallback {
24508    method public void onCommandError(int) throws android.telephony.ims.ImsException;
24509    method public default void onNetworkResponse(@NonNull android.telephony.ims.SipDetails) throws android.telephony.ims.ImsException;
24510    method @Deprecated public void onNetworkResponse(@IntRange(from=100, to=699) int, @NonNull String) throws android.telephony.ims.ImsException;
24511    method @Deprecated public void onNetworkResponse(@IntRange(from=100, to=699) int, @NonNull String, @IntRange(from=100, to=699) int, @NonNull String) throws android.telephony.ims.ImsException;
24512    method public void onNotifyCapabilitiesUpdate(@NonNull java.util.List<java.lang.String>) throws android.telephony.ims.ImsException;
24513    method public void onResourceTerminated(@NonNull java.util.List<android.util.Pair<android.net.Uri,java.lang.String>>) throws android.telephony.ims.ImsException;
24514    method public void onTerminated(@NonNull String, long) throws android.telephony.ims.ImsException;
24515  }
24516
24517  public interface SipDelegate {
24518    method public void cleanupSession(@NonNull String);
24519    method public void notifyMessageReceiveError(@NonNull String, int);
24520    method public void notifyMessageReceived(@NonNull String);
24521    method public void sendMessage(@NonNull android.telephony.ims.SipMessage, long);
24522  }
24523
24524  public class SipTransportImplBase {
24525    ctor public SipTransportImplBase();
24526    ctor public SipTransportImplBase(@NonNull java.util.concurrent.Executor);
24527    method public void createSipDelegate(int, @NonNull android.telephony.ims.DelegateRequest, @NonNull android.telephony.ims.DelegateStateCallback, @NonNull android.telephony.ims.DelegateMessageCallback);
24528    method public void destroySipDelegate(@NonNull android.telephony.ims.stub.SipDelegate, int);
24529  }
24530
24531}
24532
24533package android.telephony.mbms {
24534
24535  public static class DownloadRequest.Builder {
24536    method public android.telephony.mbms.DownloadRequest.Builder setServiceId(String);
24537  }
24538
24539  public final class FileInfo implements android.os.Parcelable {
24540    ctor public FileInfo(android.net.Uri, String);
24541  }
24542
24543  public final class FileServiceInfo extends android.telephony.mbms.ServiceInfo implements android.os.Parcelable {
24544    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>);
24545  }
24546
24547  public class MbmsDownloadReceiver extends android.content.BroadcastReceiver {
24548    field public static final int RESULT_APP_NOTIFICATION_ERROR = 6; // 0x6
24549    field public static final int RESULT_BAD_TEMP_FILE_ROOT = 3; // 0x3
24550    field public static final int RESULT_DOWNLOAD_FINALIZATION_ERROR = 4; // 0x4
24551    field public static final int RESULT_INVALID_ACTION = 1; // 0x1
24552    field public static final int RESULT_MALFORMED_INTENT = 2; // 0x2
24553    field public static final int RESULT_OK = 0; // 0x0
24554    field public static final int RESULT_TEMP_FILE_GENERATION_ERROR = 5; // 0x5
24555  }
24556
24557  public final class StreamingServiceInfo extends android.telephony.mbms.ServiceInfo implements android.os.Parcelable {
24558    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);
24559  }
24560
24561  public final class UriPathPair implements android.os.Parcelable {
24562    method public int describeContents();
24563    method public android.net.Uri getContentUri();
24564    method public android.net.Uri getFilePathUri();
24565    method public void writeToParcel(android.os.Parcel, int);
24566    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.mbms.UriPathPair> CREATOR;
24567  }
24568
24569}
24570
24571package android.telephony.mbms.vendor {
24572
24573  public class MbmsDownloadServiceBase extends android.os.Binder implements android.os.IInterface {
24574    ctor public MbmsDownloadServiceBase();
24575    method public int addProgressListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadProgressListener) throws android.os.RemoteException;
24576    method public int addServiceAnnouncement(int, @NonNull byte[]);
24577    method public int addStatusListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadStatusListener) throws android.os.RemoteException;
24578    method public android.os.IBinder asBinder();
24579    method public int cancelDownload(android.telephony.mbms.DownloadRequest) throws android.os.RemoteException;
24580    method public void dispose(int) throws android.os.RemoteException;
24581    method public int download(android.telephony.mbms.DownloadRequest) throws android.os.RemoteException;
24582    method public int initialize(int, android.telephony.mbms.MbmsDownloadSessionCallback) throws android.os.RemoteException;
24583    method @NonNull public java.util.List<android.telephony.mbms.DownloadRequest> listPendingDownloads(int) throws android.os.RemoteException;
24584    method public void onAppCallbackDied(int, int);
24585    method public boolean onTransact(int, android.os.Parcel, android.os.Parcel, int) throws android.os.RemoteException;
24586    method public int removeProgressListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadProgressListener) throws android.os.RemoteException;
24587    method public int removeStatusListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadStatusListener) throws android.os.RemoteException;
24588    method public int requestDownloadState(android.telephony.mbms.DownloadRequest, android.telephony.mbms.FileInfo) throws android.os.RemoteException;
24589    method public int requestUpdateFileServices(int, java.util.List<java.lang.String>) throws android.os.RemoteException;
24590    method public int resetDownloadKnowledge(android.telephony.mbms.DownloadRequest) throws android.os.RemoteException;
24591    method public int setTempFileRootDirectory(int, String) throws android.os.RemoteException;
24592  }
24593
24594  public class MbmsGroupCallServiceBase extends android.app.Service {
24595    ctor public MbmsGroupCallServiceBase();
24596    method public void dispose(int) throws android.os.RemoteException;
24597    method public int initialize(@NonNull android.telephony.mbms.MbmsGroupCallSessionCallback, int) throws android.os.RemoteException;
24598    method public void onAppCallbackDied(int, int);
24599    method public android.os.IBinder onBind(android.content.Intent);
24600    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);
24601    method public void stopGroupCall(int, long);
24602    method public void updateGroupCall(int, long, @NonNull java.util.List<java.lang.Integer>, @NonNull java.util.List<java.lang.Integer>);
24603  }
24604
24605  public class MbmsStreamingServiceBase extends android.os.Binder implements android.os.IInterface {
24606    ctor public MbmsStreamingServiceBase();
24607    method public android.os.IBinder asBinder();
24608    method public void dispose(int) throws android.os.RemoteException;
24609    method @Nullable public android.net.Uri getPlaybackUri(int, String) throws android.os.RemoteException;
24610    method public int initialize(android.telephony.mbms.MbmsStreamingSessionCallback, int) throws android.os.RemoteException;
24611    method public void onAppCallbackDied(int, int);
24612    method public boolean onTransact(int, android.os.Parcel, android.os.Parcel, int) throws android.os.RemoteException;
24613    method public int requestUpdateStreamingServices(int, java.util.List<java.lang.String>) throws android.os.RemoteException;
24614    method public int startStreaming(int, String, android.telephony.mbms.StreamingServiceCallback) throws android.os.RemoteException;
24615    method public void stopStreaming(int, String) throws android.os.RemoteException;
24616  }
24617
24618  public class VendorUtils {
24619    ctor public VendorUtils();
24620    method public static android.content.ComponentName getAppReceiverFromPackageName(android.content.Context, String);
24621    field public static final String ACTION_CLEANUP = "android.telephony.mbms.action.CLEANUP";
24622    field public static final String ACTION_DOWNLOAD_RESULT_INTERNAL = "android.telephony.mbms.action.DOWNLOAD_RESULT_INTERNAL";
24623    field public static final String ACTION_FILE_DESCRIPTOR_REQUEST = "android.telephony.mbms.action.FILE_DESCRIPTOR_REQUEST";
24624    field public static final String EXTRA_FD_COUNT = "android.telephony.mbms.extra.FD_COUNT";
24625    field public static final String EXTRA_FINAL_URI = "android.telephony.mbms.extra.FINAL_URI";
24626    field public static final String EXTRA_FREE_URI_LIST = "android.telephony.mbms.extra.FREE_URI_LIST";
24627    field public static final String EXTRA_PAUSED_LIST = "android.telephony.mbms.extra.PAUSED_LIST";
24628    field public static final String EXTRA_PAUSED_URI_LIST = "android.telephony.mbms.extra.PAUSED_URI_LIST";
24629    field public static final String EXTRA_SERVICE_ID = "android.telephony.mbms.extra.SERVICE_ID";
24630    field public static final String EXTRA_TEMP_FILES_IN_USE = "android.telephony.mbms.extra.TEMP_FILES_IN_USE";
24631    field public static final String EXTRA_TEMP_FILE_ROOT = "android.telephony.mbms.extra.TEMP_FILE_ROOT";
24632    field public static final String EXTRA_TEMP_LIST = "android.telephony.mbms.extra.TEMP_LIST";
24633  }
24634
24635}
24636
24637package android.telephony.satellite {
24638
24639  public final class AntennaDirection implements android.os.Parcelable {
24640    method public int describeContents();
24641    method public float getX();
24642    method public float getY();
24643    method public float getZ();
24644    method public void writeToParcel(@NonNull android.os.Parcel, int);
24645    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.satellite.AntennaDirection> CREATOR;
24646  }
24647
24648  public final class AntennaPosition implements android.os.Parcelable {
24649    method public int describeContents();
24650    method @NonNull public android.telephony.satellite.AntennaDirection getAntennaDirection();
24651    method public int getSuggestedHoldPosition();
24652    method public void writeToParcel(@NonNull android.os.Parcel, int);
24653    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.satellite.AntennaPosition> CREATOR;
24654  }
24655
24656  public class EnableRequestAttributes {
24657    method public boolean isDemoMode();
24658    method public boolean isEmergencyMode();
24659    method public boolean isEnabled();
24660  }
24661
24662  public static final class EnableRequestAttributes.Builder {
24663    ctor public EnableRequestAttributes.Builder(boolean);
24664    method @NonNull public android.telephony.satellite.EnableRequestAttributes build();
24665    method @NonNull public android.telephony.satellite.EnableRequestAttributes.Builder setDemoMode(boolean);
24666    method @NonNull public android.telephony.satellite.EnableRequestAttributes.Builder setEmergencyMode(boolean);
24667  }
24668
24669  public final class NtnSignalStrength implements android.os.Parcelable {
24670    ctor public NtnSignalStrength(@Nullable android.telephony.satellite.NtnSignalStrength);
24671    method public int describeContents();
24672    method public int getLevel();
24673    method public void writeToParcel(@NonNull android.os.Parcel, int);
24674    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.satellite.NtnSignalStrength> CREATOR;
24675    field public static final int NTN_SIGNAL_STRENGTH_GOOD = 3; // 0x3
24676    field public static final int NTN_SIGNAL_STRENGTH_GREAT = 4; // 0x4
24677    field public static final int NTN_SIGNAL_STRENGTH_MODERATE = 2; // 0x2
24678    field public static final int NTN_SIGNAL_STRENGTH_NONE = 0; // 0x0
24679    field public static final int NTN_SIGNAL_STRENGTH_POOR = 1; // 0x1
24680  }
24681
24682  public interface NtnSignalStrengthCallback {
24683    method public void onNtnSignalStrengthChanged(@NonNull android.telephony.satellite.NtnSignalStrength);
24684  }
24685
24686  public final class PointingInfo implements android.os.Parcelable {
24687    method public int describeContents();
24688    method @FloatRange(from=0xffffff4c, to=180) public float getSatelliteAzimuthDegrees();
24689    method @FloatRange(from=0xffffffa6, to=90) public float getSatelliteElevationDegrees();
24690    method public void writeToParcel(@NonNull android.os.Parcel, int);
24691    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.satellite.PointingInfo> CREATOR;
24692  }
24693
24694  public final class SatelliteCapabilities implements android.os.Parcelable {
24695    method public int describeContents();
24696    method @NonNull public java.util.Map<java.lang.Integer,android.telephony.satellite.AntennaPosition> getAntennaPositionMap();
24697    method public int getMaxBytesPerOutgoingDatagram();
24698    method @NonNull public java.util.Set<java.lang.Integer> getSupportedRadioTechnologies();
24699    method public boolean isPointingRequired();
24700    method public void writeToParcel(@NonNull android.os.Parcel, int);
24701    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.satellite.SatelliteCapabilities> CREATOR;
24702  }
24703
24704  public interface SatelliteCapabilitiesCallback {
24705    method public void onSatelliteCapabilitiesChanged(@NonNull android.telephony.satellite.SatelliteCapabilities);
24706  }
24707
24708  public final class SatelliteDatagram implements android.os.Parcelable {
24709    method public int describeContents();
24710    method @NonNull public byte[] getSatelliteDatagram();
24711    method public void writeToParcel(@NonNull android.os.Parcel, int);
24712    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.satellite.SatelliteDatagram> CREATOR;
24713  }
24714
24715  public interface SatelliteDatagramCallback {
24716    method public void onSatelliteDatagramReceived(long, @NonNull android.telephony.satellite.SatelliteDatagram, int, @NonNull java.util.function.Consumer<java.lang.Void>);
24717  }
24718
24719  public final class SatelliteManager {
24720    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void addAttachRestrictionForCarrier(int, int, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
24721    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void deprovisionService(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
24722    method @NonNull @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public java.util.Set<java.lang.Integer> getAttachRestrictionReasonsForCarrier(int);
24723    method @NonNull @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public java.util.List<java.lang.String> getSatellitePlmnsForCarrier(int);
24724    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void pollPendingDatagrams(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
24725    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void provisionService(@NonNull String, @NonNull byte[], @Nullable android.os.CancellationSignal, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
24726    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public int registerForCapabilitiesChanged(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.satellite.SatelliteCapabilitiesCallback);
24727    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public int registerForIncomingDatagram(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.satellite.SatelliteDatagramCallback);
24728    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public int registerForModemStateChanged(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.satellite.SatelliteModemStateCallback);
24729    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void registerForNtnSignalStrengthChanged(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.satellite.NtnSignalStrengthCallback);
24730    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public int registerForProvisionStateChanged(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.satellite.SatelliteProvisionStateCallback);
24731    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void removeAttachRestrictionForCarrier(int, int, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
24732    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestAttachEnabledForCarrier(int, boolean, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
24733    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestCapabilities(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.telephony.satellite.SatelliteCapabilities,android.telephony.satellite.SatelliteManager.SatelliteException>);
24734    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestEnabled(@NonNull android.telephony.satellite.EnableRequestAttributes, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
24735    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestIsAttachEnabledForCarrier(int, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Boolean,android.telephony.satellite.SatelliteManager.SatelliteException>);
24736    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestIsCommunicationAllowedForCurrentLocation(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Boolean,android.telephony.satellite.SatelliteManager.SatelliteException>);
24737    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestIsDemoModeEnabled(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Boolean,android.telephony.satellite.SatelliteManager.SatelliteException>);
24738    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestIsEmergencyModeEnabled(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Boolean,android.telephony.satellite.SatelliteManager.SatelliteException>);
24739    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestIsEnabled(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Boolean,android.telephony.satellite.SatelliteManager.SatelliteException>);
24740    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestIsProvisioned(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Boolean,android.telephony.satellite.SatelliteManager.SatelliteException>);
24741    method public void requestIsSupported(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Boolean,android.telephony.satellite.SatelliteManager.SatelliteException>);
24742    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestNtnSignalStrength(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.telephony.satellite.NtnSignalStrength,android.telephony.satellite.SatelliteManager.SatelliteException>);
24743    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestTimeForNextSatelliteVisibility(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.time.Duration,android.telephony.satellite.SatelliteManager.SatelliteException>);
24744    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void sendDatagram(int, @NonNull android.telephony.satellite.SatelliteDatagram, boolean, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
24745    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void setDeviceAlignedWithSatellite(boolean);
24746    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void startTransmissionUpdates(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>, @NonNull android.telephony.satellite.SatelliteTransmissionUpdateCallback);
24747    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void stopTransmissionUpdates(@NonNull android.telephony.satellite.SatelliteTransmissionUpdateCallback, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
24748    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void unregisterForCapabilitiesChanged(@NonNull android.telephony.satellite.SatelliteCapabilitiesCallback);
24749    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void unregisterForIncomingDatagram(@NonNull android.telephony.satellite.SatelliteDatagramCallback);
24750    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void unregisterForModemStateChanged(@NonNull android.telephony.satellite.SatelliteModemStateCallback);
24751    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void unregisterForNtnSignalStrengthChanged(@NonNull android.telephony.satellite.NtnSignalStrengthCallback);
24752    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void unregisterForProvisionStateChanged(@NonNull android.telephony.satellite.SatelliteProvisionStateCallback);
24753    field public static final int DATAGRAM_TYPE_LOCATION_SHARING = 2; // 0x2
24754    field public static final int DATAGRAM_TYPE_SOS_MESSAGE = 1; // 0x1
24755    field public static final int DATAGRAM_TYPE_UNKNOWN = 0; // 0x0
24756    field public static final int DEVICE_HOLD_POSITION_LANDSCAPE_LEFT = 2; // 0x2
24757    field public static final int DEVICE_HOLD_POSITION_LANDSCAPE_RIGHT = 3; // 0x3
24758    field public static final int DEVICE_HOLD_POSITION_PORTRAIT = 1; // 0x1
24759    field public static final int DEVICE_HOLD_POSITION_UNKNOWN = 0; // 0x0
24760    field public static final int DISPLAY_MODE_CLOSED = 3; // 0x3
24761    field public static final int DISPLAY_MODE_FIXED = 1; // 0x1
24762    field public static final int DISPLAY_MODE_OPENED = 2; // 0x2
24763    field public static final int DISPLAY_MODE_UNKNOWN = 0; // 0x0
24764    field public static final int EMERGENCY_CALL_TO_SATELLITE_HANDOVER_TYPE_SOS = 1; // 0x1
24765    field public static final int EMERGENCY_CALL_TO_SATELLITE_HANDOVER_TYPE_T911 = 2; // 0x2
24766    field public static final int NT_RADIO_TECHNOLOGY_EMTC_NTN = 3; // 0x3
24767    field public static final int NT_RADIO_TECHNOLOGY_NB_IOT_NTN = 1; // 0x1
24768    field public static final int NT_RADIO_TECHNOLOGY_NR_NTN = 2; // 0x2
24769    field public static final int NT_RADIO_TECHNOLOGY_PROPRIETARY = 4; // 0x4
24770    field public static final int NT_RADIO_TECHNOLOGY_UNKNOWN = 0; // 0x0
24771    field public static final int SATELLITE_COMMUNICATION_RESTRICTION_REASON_ENTITLEMENT = 2; // 0x2
24772    field public static final int SATELLITE_COMMUNICATION_RESTRICTION_REASON_GEOLOCATION = 1; // 0x1
24773    field public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_IDLE = 0; // 0x0
24774    field public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVE_FAILED = 7; // 0x7
24775    field public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVE_NONE = 6; // 0x6
24776    field public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVE_SUCCESS = 5; // 0x5
24777    field public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVING = 4; // 0x4
24778    field public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_SENDING = 1; // 0x1
24779    field public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_SEND_FAILED = 3; // 0x3
24780    field public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_SEND_SUCCESS = 2; // 0x2
24781    field public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_UNKNOWN = -1; // 0xffffffff
24782    field public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_WAITING_TO_CONNECT = 8; // 0x8
24783    field public static final int SATELLITE_MODEM_STATE_CONNECTED = 7; // 0x7
24784    field public static final int SATELLITE_MODEM_STATE_DATAGRAM_RETRYING = 3; // 0x3
24785    field public static final int SATELLITE_MODEM_STATE_DATAGRAM_TRANSFERRING = 2; // 0x2
24786    field public static final int SATELLITE_MODEM_STATE_IDLE = 0; // 0x0
24787    field public static final int SATELLITE_MODEM_STATE_LISTENING = 1; // 0x1
24788    field public static final int SATELLITE_MODEM_STATE_NOT_CONNECTED = 6; // 0x6
24789    field public static final int SATELLITE_MODEM_STATE_OFF = 4; // 0x4
24790    field public static final int SATELLITE_MODEM_STATE_UNAVAILABLE = 5; // 0x5
24791    field public static final int SATELLITE_MODEM_STATE_UNKNOWN = -1; // 0xffffffff
24792    field public static final int SATELLITE_RESULT_ACCESS_BARRED = 16; // 0x10
24793    field public static final int SATELLITE_RESULT_ERROR = 1; // 0x1
24794    field public static final int SATELLITE_RESULT_ILLEGAL_STATE = 23; // 0x17
24795    field public static final int SATELLITE_RESULT_INVALID_ARGUMENTS = 8; // 0x8
24796    field public static final int SATELLITE_RESULT_INVALID_MODEM_STATE = 7; // 0x7
24797    field public static final int SATELLITE_RESULT_INVALID_TELEPHONY_STATE = 6; // 0x6
24798    field public static final int SATELLITE_RESULT_MODEM_BUSY = 22; // 0x16
24799    field public static final int SATELLITE_RESULT_MODEM_ERROR = 4; // 0x4
24800    field public static final int SATELLITE_RESULT_MODEM_TIMEOUT = 24; // 0x18
24801    field public static final int SATELLITE_RESULT_NETWORK_ERROR = 5; // 0x5
24802    field public static final int SATELLITE_RESULT_NETWORK_TIMEOUT = 17; // 0x11
24803    field public static final int SATELLITE_RESULT_NOT_AUTHORIZED = 19; // 0x13
24804    field public static final int SATELLITE_RESULT_NOT_REACHABLE = 18; // 0x12
24805    field public static final int SATELLITE_RESULT_NOT_SUPPORTED = 20; // 0x14
24806    field public static final int SATELLITE_RESULT_NO_RESOURCES = 12; // 0xc
24807    field public static final int SATELLITE_RESULT_RADIO_NOT_AVAILABLE = 10; // 0xa
24808    field public static final int SATELLITE_RESULT_REQUEST_ABORTED = 15; // 0xf
24809    field public static final int SATELLITE_RESULT_REQUEST_FAILED = 9; // 0x9
24810    field public static final int SATELLITE_RESULT_REQUEST_IN_PROGRESS = 21; // 0x15
24811    field public static final int SATELLITE_RESULT_REQUEST_NOT_SUPPORTED = 11; // 0xb
24812    field public static final int SATELLITE_RESULT_SERVER_ERROR = 2; // 0x2
24813    field public static final int SATELLITE_RESULT_SERVICE_ERROR = 3; // 0x3
24814    field public static final int SATELLITE_RESULT_SERVICE_NOT_PROVISIONED = 13; // 0xd
24815    field public static final int SATELLITE_RESULT_SERVICE_PROVISION_IN_PROGRESS = 14; // 0xe
24816    field public static final int SATELLITE_RESULT_SUCCESS = 0; // 0x0
24817  }
24818
24819  public static class SatelliteManager.SatelliteException extends java.lang.Exception {
24820    ctor public SatelliteManager.SatelliteException(int);
24821    method public int getErrorCode();
24822  }
24823
24824  public interface SatelliteModemStateCallback {
24825    method public void onSatelliteModemStateChanged(int);
24826  }
24827
24828  public interface SatelliteProvisionStateCallback {
24829    method public void onSatelliteProvisionStateChanged(boolean);
24830  }
24831
24832  public interface SatelliteTransmissionUpdateCallback {
24833    method public void onReceiveDatagramStateChanged(int, int, int);
24834    method public void onSatellitePositionChanged(@NonNull android.telephony.satellite.PointingInfo);
24835    method public void onSendDatagramStateChanged(int, int, int);
24836  }
24837
24838}
24839
24840package android.text {
24841
24842  public final class FontConfig implements android.os.Parcelable {
24843    method public int describeContents();
24844    method @NonNull public java.util.List<android.text.FontConfig.Alias> getAliases();
24845    method @IntRange(from=0) public int getConfigVersion();
24846    method @NonNull public java.util.List<android.text.FontConfig.FontFamily> getFontFamilies();
24847    method public long getLastModifiedTimeMillis();
24848    method @NonNull public java.util.List<android.text.FontConfig.NamedFamilyList> getNamedFamilyLists();
24849    method public void writeToParcel(@NonNull android.os.Parcel, int);
24850    field @NonNull public static final android.os.Parcelable.Creator<android.text.FontConfig> CREATOR;
24851  }
24852
24853  public static final class FontConfig.Alias implements android.os.Parcelable {
24854    method public int describeContents();
24855    method @NonNull public String getName();
24856    method @NonNull public String getOriginal();
24857    method @IntRange(from=0, to=1000) public int getWeight();
24858    method public void writeToParcel(@NonNull android.os.Parcel, int);
24859    field @NonNull public static final android.os.Parcelable.Creator<android.text.FontConfig.Alias> CREATOR;
24860  }
24861
24862  public static final class FontConfig.Font implements android.os.Parcelable {
24863    method public int describeContents();
24864    method @NonNull public java.io.File getFile();
24865    method @Nullable public String getFontFamilyName();
24866    method @NonNull public String getFontVariationSettings();
24867    method @NonNull public String getPostScriptName();
24868    method @NonNull public android.graphics.fonts.FontStyle getStyle();
24869    method public int getTtcIndex();
24870    method public void writeToParcel(@NonNull android.os.Parcel, int);
24871    field @NonNull public static final android.os.Parcelable.Creator<android.text.FontConfig.Font> CREATOR;
24872  }
24873
24874  public static final class FontConfig.FontFamily implements android.os.Parcelable {
24875    method public int describeContents();
24876    method @NonNull public java.util.List<android.text.FontConfig.Font> getFontList();
24877    method @NonNull public android.os.LocaleList getLocaleList();
24878    method @Deprecated @Nullable public String getName();
24879    method public int getVariant();
24880    method public void writeToParcel(@NonNull android.os.Parcel, int);
24881    field @NonNull public static final android.os.Parcelable.Creator<android.text.FontConfig.FontFamily> CREATOR;
24882    field public static final int VARIANT_COMPACT = 1; // 0x1
24883    field public static final int VARIANT_DEFAULT = 0; // 0x0
24884    field public static final int VARIANT_ELEGANT = 2; // 0x2
24885  }
24886
24887  public static final class FontConfig.NamedFamilyList implements android.os.Parcelable {
24888    method public int describeContents();
24889    method @NonNull public java.util.List<android.text.FontConfig.FontFamily> getFamilies();
24890    method @NonNull public String getName();
24891    method public void writeToParcel(@NonNull android.os.Parcel, int);
24892    field @NonNull public static final android.os.Parcelable.Creator<android.text.FontConfig.NamedFamilyList> CREATOR;
24893  }
24894
24895}
24896
24897package android.util {
24898
24899  public class EventLog {
24900    method public static void readEventsOnWrapping(int[], long, java.util.Collection<android.util.EventLog.Event>) throws java.io.IOException;
24901  }
24902
24903  public static final class EventLog.Event {
24904    method public int getUid();
24905  }
24906
24907  public final class StatsEvent {
24908    method @NonNull public static android.util.StatsEvent.Builder newBuilder();
24909  }
24910
24911  public static final class StatsEvent.Builder {
24912    method @NonNull public android.util.StatsEvent.Builder addBooleanAnnotation(byte, boolean);
24913    method @NonNull public android.util.StatsEvent.Builder addIntAnnotation(byte, int);
24914    method @NonNull public android.util.StatsEvent build();
24915    method @NonNull public android.util.StatsEvent.Builder setAtomId(int);
24916    method @NonNull public android.util.StatsEvent.Builder usePooledBuffer();
24917    method @NonNull public android.util.StatsEvent.Builder writeAttributionChain(@NonNull int[], @NonNull String[]);
24918    method @NonNull public android.util.StatsEvent.Builder writeBoolean(boolean);
24919    method @NonNull public android.util.StatsEvent.Builder writeBooleanArray(@NonNull boolean[]);
24920    method @NonNull public android.util.StatsEvent.Builder writeByteArray(@NonNull byte[]);
24921    method @NonNull public android.util.StatsEvent.Builder writeFloat(float);
24922    method @NonNull public android.util.StatsEvent.Builder writeFloatArray(@NonNull float[]);
24923    method @NonNull public android.util.StatsEvent.Builder writeInt(int);
24924    method @NonNull public android.util.StatsEvent.Builder writeIntArray(@NonNull int[]);
24925    method @NonNull public android.util.StatsEvent.Builder writeKeyValuePairs(@Nullable android.util.SparseIntArray, @Nullable android.util.SparseLongArray, @Nullable android.util.SparseArray<java.lang.String>, @Nullable android.util.SparseArray<java.lang.Float>);
24926    method @NonNull public android.util.StatsEvent.Builder writeLong(long);
24927    method @NonNull public android.util.StatsEvent.Builder writeLongArray(@NonNull long[]);
24928    method @NonNull public android.util.StatsEvent.Builder writeString(@NonNull String);
24929    method @NonNull public android.util.StatsEvent.Builder writeStringArray(@NonNull String[]);
24930  }
24931
24932  public final class StatsLog {
24933    method public static void write(@NonNull android.util.StatsEvent);
24934    method @Deprecated public static void writeRaw(@NonNull byte[], int);
24935    field public static final byte ANNOTATION_ID_DEFAULT_STATE = 6; // 0x6
24936    field public static final byte ANNOTATION_ID_EXCLUSIVE_STATE = 4; // 0x4
24937    field public static final byte ANNOTATION_ID_FIELD_RESTRICTION_ACCESSIBILITY = 14; // 0xe
24938    field public static final byte ANNOTATION_ID_FIELD_RESTRICTION_AMBIENT_SENSING = 17; // 0x11
24939    field public static final byte ANNOTATION_ID_FIELD_RESTRICTION_APP_ACTIVITY = 12; // 0xc
24940    field public static final byte ANNOTATION_ID_FIELD_RESTRICTION_APP_USAGE = 11; // 0xb
24941    field public static final byte ANNOTATION_ID_FIELD_RESTRICTION_DEMOGRAPHIC_CLASSIFICATION = 18; // 0x12
24942    field public static final byte ANNOTATION_ID_FIELD_RESTRICTION_HEALTH_CONNECT = 13; // 0xd
24943    field public static final byte ANNOTATION_ID_FIELD_RESTRICTION_PERIPHERAL_DEVICE_INFO = 10; // 0xa
24944    field public static final byte ANNOTATION_ID_FIELD_RESTRICTION_SYSTEM_SEARCH = 15; // 0xf
24945    field public static final byte ANNOTATION_ID_FIELD_RESTRICTION_USER_ENGAGEMENT = 16; // 0x10
24946    field public static final byte ANNOTATION_ID_IS_UID = 1; // 0x1
24947    field public static final byte ANNOTATION_ID_PRIMARY_FIELD = 3; // 0x3
24948    field public static final byte ANNOTATION_ID_PRIMARY_FIELD_FIRST_UID = 5; // 0x5
24949    field public static final byte ANNOTATION_ID_RESTRICTION_CATEGORY = 9; // 0x9
24950    field public static final byte ANNOTATION_ID_STATE_NESTED = 8; // 0x8
24951    field public static final byte ANNOTATION_ID_TRIGGER_STATE_RESET = 7; // 0x7
24952    field public static final byte ANNOTATION_ID_TRUNCATE_TIMESTAMP = 2; // 0x2
24953    field public static final int RESTRICTION_CATEGORY_AUTHENTICATION = 3; // 0x3
24954    field public static final int RESTRICTION_CATEGORY_DIAGNOSTIC = 1; // 0x1
24955    field public static final int RESTRICTION_CATEGORY_FRAUD_AND_ABUSE = 4; // 0x4
24956    field public static final int RESTRICTION_CATEGORY_SYSTEM_INTELLIGENCE = 2; // 0x2
24957  }
24958
24959}
24960
24961package android.uwb {
24962
24963  public final class AngleMeasurement implements android.os.Parcelable {
24964    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);
24965    method public int describeContents();
24966    method @FloatRange(from=0.0, to=1.0) public double getConfidenceLevel();
24967    method @FloatRange(from=0.0, to=3.141592653589793) public double getErrorRadians();
24968    method @FloatRange(from=-3.141592653589793, to=3.141592653589793) public double getRadians();
24969    method public void writeToParcel(@NonNull android.os.Parcel, int);
24970    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.AngleMeasurement> CREATOR;
24971  }
24972
24973  public final class AngleOfArrivalMeasurement implements android.os.Parcelable {
24974    method public int describeContents();
24975    method @Nullable public android.uwb.AngleMeasurement getAltitude();
24976    method @NonNull public android.uwb.AngleMeasurement getAzimuth();
24977    method public void writeToParcel(@NonNull android.os.Parcel, int);
24978    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.AngleOfArrivalMeasurement> CREATOR;
24979  }
24980
24981  public static final class AngleOfArrivalMeasurement.Builder {
24982    ctor public AngleOfArrivalMeasurement.Builder(@NonNull android.uwb.AngleMeasurement);
24983    method @NonNull public android.uwb.AngleOfArrivalMeasurement build();
24984    method @NonNull public android.uwb.AngleOfArrivalMeasurement.Builder setAltitude(@NonNull android.uwb.AngleMeasurement);
24985  }
24986
24987  public final class DistanceMeasurement implements android.os.Parcelable {
24988    method public int describeContents();
24989    method @FloatRange(from=0.0, to=1.0) public double getConfidenceLevel();
24990    method @FloatRange(from=0.0) public double getErrorMeters();
24991    method public double getMeters();
24992    method public void writeToParcel(@NonNull android.os.Parcel, int);
24993    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.DistanceMeasurement> CREATOR;
24994  }
24995
24996  public static final class DistanceMeasurement.Builder {
24997    ctor public DistanceMeasurement.Builder();
24998    method @NonNull public android.uwb.DistanceMeasurement build();
24999    method @NonNull public android.uwb.DistanceMeasurement.Builder setConfidenceLevel(@FloatRange(from=0.0, to=1.0) double);
25000    method @NonNull public android.uwb.DistanceMeasurement.Builder setErrorMeters(@FloatRange(from=0.0) double);
25001    method @NonNull public android.uwb.DistanceMeasurement.Builder setMeters(double);
25002  }
25003
25004  public final class RangingMeasurement implements android.os.Parcelable {
25005    method public int describeContents();
25006    method @Nullable public android.uwb.AngleOfArrivalMeasurement getAngleOfArrivalMeasurement();
25007    method @Nullable public android.uwb.AngleOfArrivalMeasurement getDestinationAngleOfArrivalMeasurement();
25008    method @Nullable public android.uwb.DistanceMeasurement getDistanceMeasurement();
25009    method public long getElapsedRealtimeNanos();
25010    method public int getLineOfSight();
25011    method public int getMeasurementFocus();
25012    method @NonNull public android.os.PersistableBundle getRangingMeasurementMetadata();
25013    method @NonNull public android.uwb.UwbAddress getRemoteDeviceAddress();
25014    method @IntRange(from=android.uwb.RangingMeasurement.RSSI_UNKNOWN, to=android.uwb.RangingMeasurement.RSSI_MAX) public int getRssiDbm();
25015    method public int getStatus();
25016    method public void writeToParcel(@NonNull android.os.Parcel, int);
25017    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.RangingMeasurement> CREATOR;
25018    field public static final int LOS = 0; // 0x0
25019    field public static final int LOS_UNDETERMINED = 255; // 0xff
25020    field public static final int MEASUREMENT_FOCUS_ANGLE_OF_ARRIVAL_AZIMUTH = 2; // 0x2
25021    field public static final int MEASUREMENT_FOCUS_ANGLE_OF_ARRIVAL_ELEVATION = 3; // 0x3
25022    field public static final int MEASUREMENT_FOCUS_NONE = 0; // 0x0
25023    field public static final int MEASUREMENT_FOCUS_RANGE = 1; // 0x1
25024    field public static final int NLOS = 1; // 0x1
25025    field public static final int RANGING_STATUS_FAILURE_OUT_OF_RANGE = 1; // 0x1
25026    field public static final int RANGING_STATUS_FAILURE_UNKNOWN_ERROR = -1; // 0xffffffff
25027    field public static final int RANGING_STATUS_SUCCESS = 0; // 0x0
25028    field public static final int RSSI_MAX = -1; // 0xffffffff
25029    field public static final int RSSI_MIN = -127; // 0xffffff81
25030    field public static final int RSSI_UNKNOWN = -128; // 0xffffff80
25031  }
25032
25033  public static final class RangingMeasurement.Builder {
25034    ctor public RangingMeasurement.Builder();
25035    method @NonNull public android.uwb.RangingMeasurement build();
25036    method @NonNull public android.uwb.RangingMeasurement.Builder setAngleOfArrivalMeasurement(@NonNull android.uwb.AngleOfArrivalMeasurement);
25037    method @NonNull public android.uwb.RangingMeasurement.Builder setDestinationAngleOfArrivalMeasurement(@NonNull android.uwb.AngleOfArrivalMeasurement);
25038    method @NonNull public android.uwb.RangingMeasurement.Builder setDistanceMeasurement(@NonNull android.uwb.DistanceMeasurement);
25039    method @NonNull public android.uwb.RangingMeasurement.Builder setElapsedRealtimeNanos(long);
25040    method @NonNull public android.uwb.RangingMeasurement.Builder setLineOfSight(int);
25041    method @NonNull public android.uwb.RangingMeasurement.Builder setMeasurementFocus(int);
25042    method @NonNull public android.uwb.RangingMeasurement.Builder setRangingMeasurementMetadata(@NonNull android.os.PersistableBundle);
25043    method @NonNull public android.uwb.RangingMeasurement.Builder setRemoteDeviceAddress(@NonNull android.uwb.UwbAddress);
25044    method @NonNull public android.uwb.RangingMeasurement.Builder setRssiDbm(@IntRange(from=android.uwb.RangingMeasurement.RSSI_UNKNOWN, to=android.uwb.RangingMeasurement.RSSI_MAX) int);
25045    method @NonNull public android.uwb.RangingMeasurement.Builder setStatus(int);
25046  }
25047
25048  public final class RangingReport implements android.os.Parcelable {
25049    method public int describeContents();
25050    method @NonNull public java.util.List<android.uwb.RangingMeasurement> getMeasurements();
25051    method @NonNull public android.os.PersistableBundle getRangingReportMetadata();
25052    method public void writeToParcel(@NonNull android.os.Parcel, int);
25053    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.RangingReport> CREATOR;
25054  }
25055
25056  public static final class RangingReport.Builder {
25057    ctor public RangingReport.Builder();
25058    method @NonNull public android.uwb.RangingReport.Builder addMeasurement(@NonNull android.uwb.RangingMeasurement);
25059    method @NonNull public android.uwb.RangingReport.Builder addMeasurements(@NonNull java.util.List<android.uwb.RangingMeasurement>);
25060    method @NonNull public android.uwb.RangingReport.Builder addRangingReportMetadata(@NonNull android.os.PersistableBundle);
25061    method @NonNull public android.uwb.RangingReport build();
25062  }
25063
25064  public final class RangingSession implements java.lang.AutoCloseable {
25065    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void addControlee(@NonNull android.os.PersistableBundle);
25066    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void close();
25067    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void pause(@NonNull android.os.PersistableBundle);
25068    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public int queryMaxDataSizeBytes();
25069    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void reconfigure(@NonNull android.os.PersistableBundle);
25070    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void removeControlee(@NonNull android.os.PersistableBundle);
25071    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void resume(@NonNull android.os.PersistableBundle);
25072    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void sendData(@NonNull android.uwb.UwbAddress, @NonNull android.os.PersistableBundle, @NonNull byte[]);
25073    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void setDataTransferPhaseConfig(@NonNull android.os.PersistableBundle);
25074    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void setHybridSessionControleeConfiguration(@NonNull android.os.PersistableBundle);
25075    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void setHybridSessionControllerConfiguration(@NonNull android.os.PersistableBundle);
25076    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void start(@NonNull android.os.PersistableBundle);
25077    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void stop();
25078    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void updatePose(@NonNull android.os.PersistableBundle);
25079    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void updateRangingRoundsDtTag(@NonNull android.os.PersistableBundle);
25080  }
25081
25082  public static interface RangingSession.Callback {
25083    method public void onClosed(int, @NonNull android.os.PersistableBundle);
25084    method public default void onControleeAddFailed(int, @NonNull android.os.PersistableBundle);
25085    method public default void onControleeAdded(@NonNull android.os.PersistableBundle);
25086    method public default void onControleeRemoveFailed(int, @NonNull android.os.PersistableBundle);
25087    method public default void onControleeRemoved(@NonNull android.os.PersistableBundle);
25088    method public default void onDataReceiveFailed(@NonNull android.uwb.UwbAddress, int, @NonNull android.os.PersistableBundle);
25089    method public default void onDataReceived(@NonNull android.uwb.UwbAddress, @NonNull android.os.PersistableBundle, @NonNull byte[]);
25090    method public default void onDataSendFailed(@NonNull android.uwb.UwbAddress, int, @NonNull android.os.PersistableBundle);
25091    method public default void onDataSent(@NonNull android.uwb.UwbAddress, @NonNull android.os.PersistableBundle);
25092    method public default void onDataTransferPhaseConfigFailed(int, @NonNull android.os.PersistableBundle);
25093    method public default void onDataTransferPhaseConfigured(@NonNull android.os.PersistableBundle);
25094    method public default void onHybridSessionControleeConfigurationFailed(int, @NonNull android.os.PersistableBundle);
25095    method public default void onHybridSessionControleeConfigured(@NonNull android.os.PersistableBundle);
25096    method public default void onHybridSessionControllerConfigurationFailed(int, @NonNull android.os.PersistableBundle);
25097    method public default void onHybridSessionControllerConfigured(@NonNull android.os.PersistableBundle);
25098    method public void onOpenFailed(int, @NonNull android.os.PersistableBundle);
25099    method public void onOpened(@NonNull android.uwb.RangingSession);
25100    method public default void onPauseFailed(int, @NonNull android.os.PersistableBundle);
25101    method public default void onPaused(@NonNull android.os.PersistableBundle);
25102    method public default void onRangingRoundsUpdateDtTagStatus(@NonNull android.os.PersistableBundle);
25103    method public void onReconfigureFailed(int, @NonNull android.os.PersistableBundle);
25104    method public void onReconfigured(@NonNull android.os.PersistableBundle);
25105    method public void onReportReceived(@NonNull android.uwb.RangingReport);
25106    method public default void onResumeFailed(int, @NonNull android.os.PersistableBundle);
25107    method public default void onResumed(@NonNull android.os.PersistableBundle);
25108    method public default void onServiceConnected(@NonNull android.os.PersistableBundle);
25109    method public default void onServiceDiscovered(@NonNull android.os.PersistableBundle);
25110    method public void onStartFailed(int, @NonNull android.os.PersistableBundle);
25111    method public void onStarted(@NonNull android.os.PersistableBundle);
25112    method public void onStopFailed(int, @NonNull android.os.PersistableBundle);
25113    method public void onStopped(int, @NonNull android.os.PersistableBundle);
25114    field public static final int CONTROLEE_FAILURE_REASON_MAX_CONTROLEE_REACHED = 0; // 0x0
25115    field public static final int DATA_FAILURE_REASON_DATA_SIZE_TOO_LARGE = 10; // 0xa
25116    field public static final int REASON_BAD_PARAMETERS = 3; // 0x3
25117    field public static final int REASON_GENERIC_ERROR = 4; // 0x4
25118    field public static final int REASON_INBAND_SESSION_STOP = 16; // 0x10
25119    field public static final int REASON_INSUFFICIENT_SLOTS_PER_RR = 14; // 0xe
25120    field public static final int REASON_LOCAL_REQUEST = 1; // 0x1
25121    field public static final int REASON_MAX_RR_RETRY_REACHED = 9; // 0x9
25122    field public static final int REASON_MAX_SESSIONS_REACHED = 5; // 0x5
25123    field public static final int REASON_PROTOCOL_SPECIFIC_ERROR = 7; // 0x7
25124    field public static final int REASON_REMOTE_REQUEST = 2; // 0x2
25125    field public static final int REASON_SERVICE_CONNECTION_FAILURE = 11; // 0xb
25126    field public static final int REASON_SERVICE_DISCOVERY_FAILURE = 10; // 0xa
25127    field public static final int REASON_SE_INTERACTION_FAILURE = 13; // 0xd
25128    field public static final int REASON_SE_NOT_SUPPORTED = 12; // 0xc
25129    field public static final int REASON_SYSTEM_POLICY = 6; // 0x6
25130    field public static final int REASON_SYSTEM_REGULATION = 15; // 0xf
25131    field public static final int REASON_UNKNOWN = 0; // 0x0
25132  }
25133
25134  public final class UwbActivityEnergyInfo implements android.os.Parcelable {
25135    method public int describeContents();
25136    method @IntRange(from=0) public long getControllerIdleDurationMillis();
25137    method @IntRange(from=0) public long getControllerRxDurationMillis();
25138    method @IntRange(from=0) public long getControllerTxDurationMillis();
25139    method @IntRange(from=0) public long getControllerWakeCount();
25140    method public int getStackState();
25141    method public long getTimeSinceBootMillis();
25142    method public void writeToParcel(@NonNull android.os.Parcel, int);
25143    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.UwbActivityEnergyInfo> CREATOR;
25144  }
25145
25146  public static final class UwbActivityEnergyInfo.Builder {
25147    ctor public UwbActivityEnergyInfo.Builder();
25148    method @NonNull public android.uwb.UwbActivityEnergyInfo build();
25149    method @NonNull public android.uwb.UwbActivityEnergyInfo.Builder setControllerIdleDurationMillis(@IntRange(from=0) long);
25150    method @NonNull public android.uwb.UwbActivityEnergyInfo.Builder setControllerRxDurationMillis(@IntRange(from=0) long);
25151    method @NonNull public android.uwb.UwbActivityEnergyInfo.Builder setControllerTxDurationMillis(@IntRange(from=0) long);
25152    method @NonNull public android.uwb.UwbActivityEnergyInfo.Builder setControllerWakeCount(@IntRange(from=0) long);
25153    method @NonNull public android.uwb.UwbActivityEnergyInfo.Builder setStackState(int);
25154    method @NonNull public android.uwb.UwbActivityEnergyInfo.Builder setTimeSinceBootMillis(long);
25155  }
25156
25157  public final class UwbAddress implements android.os.Parcelable {
25158    method public int describeContents();
25159    method @NonNull public static android.uwb.UwbAddress fromBytes(@NonNull byte[]);
25160    method public int size();
25161    method @NonNull public byte[] toBytes();
25162    method public void writeToParcel(@NonNull android.os.Parcel, int);
25163    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.UwbAddress> CREATOR;
25164    field public static final int EXTENDED_ADDRESS_BYTE_LENGTH = 8; // 0x8
25165    field public static final int SHORT_ADDRESS_BYTE_LENGTH = 2; // 0x2
25166  }
25167
25168  public final class UwbManager {
25169    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public android.os.PersistableBundle addServiceProfile(@NonNull android.os.PersistableBundle);
25170    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public long elapsedRealtimeResolutionNanos();
25171    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public long elapsedRealtimeResolutionNanos(@NonNull String);
25172    method public int getAdapterState();
25173    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public android.os.PersistableBundle getAdfCertificateInfo(@NonNull android.os.PersistableBundle);
25174    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public android.os.PersistableBundle getAdfProvisioningAuthorities(@NonNull android.os.PersistableBundle);
25175    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public android.os.PersistableBundle getAllServiceProfiles();
25176    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public java.util.List<android.os.PersistableBundle> getChipInfos();
25177    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public String getDefaultChipId();
25178    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public android.os.PersistableBundle getSpecificationInfo();
25179    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public android.os.PersistableBundle getSpecificationInfo(@NonNull String);
25180    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void getUwbActivityEnergyInfoAsync(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.uwb.UwbActivityEnergyInfo>);
25181    method public boolean isUwbEnabled();
25182    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public boolean isUwbHwEnableRequested();
25183    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public boolean isUwbHwIdleTurnOffEnabled();
25184    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);
25185    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, @NonNull String);
25186    method public void provisionProfileAdfByScript(@NonNull android.os.PersistableBundle, @NonNull java.util.concurrent.Executor, @NonNull android.uwb.UwbManager.AdfProvisionStateCallback);
25187    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public long queryUwbsTimestampMicros();
25188    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void registerAdapterStateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.uwb.UwbManager.AdapterStateCallback);
25189    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void registerUwbOemExtensionCallback(@NonNull java.util.concurrent.Executor, @NonNull android.uwb.UwbManager.UwbOemExtensionCallback);
25190    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void registerUwbVendorUciCallback(@NonNull java.util.concurrent.Executor, @NonNull android.uwb.UwbManager.UwbVendorUciCallback);
25191    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public int removeProfileAdf(@NonNull android.os.PersistableBundle);
25192    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public int removeServiceProfile(@NonNull android.os.PersistableBundle);
25193    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void requestUwbHwEnabled(boolean);
25194    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public int sendVendorUciMessage(@IntRange(from=0, to=15) int, int, @NonNull byte[]);
25195    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public int sendVendorUciMessage(int, @IntRange(from=0, to=15) int, int, @NonNull byte[]);
25196    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void setUwbEnabled(boolean);
25197    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void unregisterAdapterStateCallback(@NonNull android.uwb.UwbManager.AdapterStateCallback);
25198    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void unregisterUwbOemExtensionCallback(@NonNull android.uwb.UwbManager.UwbOemExtensionCallback);
25199    method public void unregisterUwbVendorUciCallback(@NonNull android.uwb.UwbManager.UwbVendorUciCallback);
25200    field public static final int MESSAGE_TYPE_COMMAND = 1; // 0x1
25201    field public static final int MESSAGE_TYPE_TEST_1 = 4; // 0x4
25202    field public static final int MESSAGE_TYPE_TEST_2 = 5; // 0x5
25203    field public static final int REMOVE_PROFILE_ADF_ERROR_INTERNAL = 2; // 0x2
25204    field public static final int REMOVE_PROFILE_ADF_ERROR_UNKNOWN_SERVICE = 1; // 0x1
25205    field public static final int REMOVE_PROFILE_ADF_SUCCESS = 0; // 0x0
25206    field public static final int REMOVE_SERVICE_PROFILE_ERROR_INTERNAL = 2; // 0x2
25207    field public static final int REMOVE_SERVICE_PROFILE_ERROR_UNKNOWN_SERVICE = 1; // 0x1
25208    field public static final int REMOVE_SERVICE_PROFILE_SUCCESS = 0; // 0x0
25209    field public static final int SEND_VENDOR_UCI_ERROR_HW = 1; // 0x1
25210    field public static final int SEND_VENDOR_UCI_ERROR_INVALID_ARGS = 3; // 0x3
25211    field public static final int SEND_VENDOR_UCI_ERROR_INVALID_GID = 4; // 0x4
25212    field public static final int SEND_VENDOR_UCI_ERROR_OFF = 2; // 0x2
25213    field public static final int SEND_VENDOR_UCI_SUCCESS = 0; // 0x0
25214  }
25215
25216  public static interface UwbManager.AdapterStateCallback {
25217    method public void onStateChanged(int, int);
25218    field public static final int STATE_CHANGED_REASON_ALL_SESSIONS_CLOSED = 1; // 0x1
25219    field public static final int STATE_CHANGED_REASON_ERROR_UNKNOWN = 4; // 0x4
25220    field public static final int STATE_CHANGED_REASON_SESSION_STARTED = 0; // 0x0
25221    field public static final int STATE_CHANGED_REASON_SYSTEM_BOOT = 3; // 0x3
25222    field public static final int STATE_CHANGED_REASON_SYSTEM_POLICY = 2; // 0x2
25223    field public static final int STATE_CHANGED_REASON_SYSTEM_REGULATION = 5; // 0x5
25224    field public static final int STATE_DISABLED = 0; // 0x0
25225    field public static final int STATE_ENABLED_ACTIVE = 2; // 0x2
25226    field public static final int STATE_ENABLED_HW_IDLE = 3; // 0x3
25227    field public static final int STATE_ENABLED_INACTIVE = 1; // 0x1
25228  }
25229
25230  public abstract static class UwbManager.AdfProvisionStateCallback {
25231    ctor public UwbManager.AdfProvisionStateCallback();
25232    method public abstract void onProfileAdfsProvisionFailed(int, @NonNull android.os.PersistableBundle);
25233    method public abstract void onProfileAdfsProvisioned(@NonNull android.os.PersistableBundle);
25234    field public static final int REASON_INVALID_OID = 1; // 0x1
25235    field public static final int REASON_SE_FAILURE = 2; // 0x2
25236    field public static final int REASON_UNKNOWN = 3; // 0x3
25237  }
25238
25239  public static interface UwbManager.UwbOemExtensionCallback {
25240    method public boolean onCheckPointedTarget(@NonNull android.os.PersistableBundle);
25241    method public void onDeviceStatusNotificationReceived(@NonNull android.os.PersistableBundle);
25242    method @NonNull public android.uwb.RangingReport onRangingReportReceived(@NonNull android.uwb.RangingReport);
25243    method @NonNull public int onSessionConfigurationComplete(@NonNull android.os.PersistableBundle);
25244    method public void onSessionStatusNotificationReceived(@NonNull android.os.PersistableBundle);
25245  }
25246
25247  public static interface UwbManager.UwbVendorUciCallback {
25248    method public void onVendorUciNotification(@IntRange(from=9, to=15) int, int, @NonNull byte[]);
25249    method public void onVendorUciResponse(@IntRange(from=0, to=15) int, int, @NonNull byte[]);
25250  }
25251
25252}
25253
25254package android.view {
25255
25256  @UiThread public class View implements android.view.accessibility.AccessibilityEventSource android.graphics.drawable.Drawable.Callback android.view.KeyEvent.Callback {
25257    method @NonNull public final java.util.List<android.graphics.Rect> getUnrestrictedPreferKeepClearRects();
25258    method @RequiresPermission(android.Manifest.permission.SET_UNRESTRICTED_KEEP_CLEAR_AREAS) public final void setUnrestrictedPreferKeepClearRects(@NonNull java.util.List<android.graphics.Rect>);
25259  }
25260
25261  public abstract class Window {
25262    method public void addSystemFlags(int);
25263  }
25264
25265  public interface WindowManager extends android.view.ViewManager {
25266    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public android.graphics.Region getCurrentImeTouchRegion();
25267    method @NonNull public default java.util.List<android.content.ComponentName> notifyScreenshotListeners(int);
25268    method public default void registerTaskFpsCallback(@IntRange(from=0) int, @NonNull java.util.concurrent.Executor, @NonNull android.window.TaskFpsCallback);
25269    method public default void unregisterTaskFpsCallback(@NonNull android.window.TaskFpsCallback);
25270    field public static final int DISPLAY_IME_POLICY_FALLBACK_DISPLAY = 1; // 0x1
25271    field public static final int DISPLAY_IME_POLICY_HIDE = 2; // 0x2
25272    field public static final int DISPLAY_IME_POLICY_LOCAL = 0; // 0x0
25273  }
25274
25275  public static class WindowManager.LayoutParams extends android.view.ViewGroup.LayoutParams implements android.os.Parcelable {
25276    method public final long getUserActivityTimeout();
25277    method public boolean isSystemApplicationOverlay();
25278    method @RequiresPermission(android.Manifest.permission.SYSTEM_APPLICATION_OVERLAY) public void setSystemApplicationOverlay(boolean);
25279    method public final void setUserActivityTimeout(long);
25280    field @RequiresPermission(android.Manifest.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS) public static final int SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS = 524288; // 0x80000
25281    field @RequiresPermission(android.Manifest.permission.INTERNAL_SYSTEM_WINDOW) public static final int SYSTEM_FLAG_SHOW_FOR_ALL_USERS = 16; // 0x10
25282  }
25283
25284}
25285
25286package android.view.accessibility {
25287
25288  public abstract class AccessibilityDisplayProxy {
25289    ctor public AccessibilityDisplayProxy(int, @NonNull java.util.concurrent.Executor, @NonNull java.util.List<android.accessibilityservice.AccessibilityServiceInfo>);
25290    method @Nullable public android.view.accessibility.AccessibilityNodeInfo findFocus(int);
25291    method public int getDisplayId();
25292    method @NonNull public final java.util.List<android.accessibilityservice.AccessibilityServiceInfo> getInstalledAndEnabledServices();
25293    method @NonNull public java.util.List<android.view.accessibility.AccessibilityWindowInfo> getWindows();
25294    method public void interrupt();
25295    method public void onAccessibilityEvent(@NonNull android.view.accessibility.AccessibilityEvent);
25296    method public void onProxyConnected();
25297    method public void setAccessibilityFocusAppearance(int, @ColorInt int);
25298    method public void setInstalledAndEnabledServices(@NonNull java.util.List<android.accessibilityservice.AccessibilityServiceInfo>);
25299  }
25300
25301  public final class AccessibilityManager {
25302    method public int getAccessibilityWindowId(@Nullable android.os.IBinder);
25303    method @RequiresPermission(android.Manifest.permission.MANAGE_ACCESSIBILITY) public void performAccessibilityShortcut();
25304    method @RequiresPermission(allOf={android.Manifest.permission.MANAGE_ACCESSIBILITY, android.Manifest.permission.CREATE_VIRTUAL_DEVICE}) public boolean registerDisplayProxy(@NonNull android.view.accessibility.AccessibilityDisplayProxy);
25305    method @RequiresPermission(android.Manifest.permission.MANAGE_ACCESSIBILITY) public void registerSystemAction(@NonNull android.app.RemoteAction, int);
25306    method @RequiresPermission(allOf={android.Manifest.permission.MANAGE_ACCESSIBILITY, android.Manifest.permission.CREATE_VIRTUAL_DEVICE}) public boolean unregisterDisplayProxy(@NonNull android.view.accessibility.AccessibilityDisplayProxy);
25307    method @RequiresPermission(android.Manifest.permission.MANAGE_ACCESSIBILITY) public void unregisterSystemAction(int);
25308  }
25309
25310  public class CaptioningManager {
25311    method @RequiresPermission(android.Manifest.permission.SET_SYSTEM_AUDIO_CAPTION) public final void setSystemAudioCaptioningEnabled(boolean);
25312    method @RequiresPermission(android.Manifest.permission.SET_SYSTEM_AUDIO_CAPTION) public final void setSystemAudioCaptioningUiEnabled(boolean);
25313  }
25314
25315}
25316
25317package android.view.autofill {
25318
25319  public final class AutofillManager {
25320    method public void setAugmentedAutofillWhitelist(@Nullable java.util.Set<java.lang.String>, @Nullable java.util.Set<android.content.ComponentName>);
25321  }
25322
25323}
25324
25325package android.view.contentcapture {
25326
25327  public final class ContentCaptureContext implements android.os.Parcelable {
25328    method @Nullable public android.content.ComponentName getActivityComponent();
25329    method @Nullable public android.app.assist.ActivityId getActivityId();
25330    method public int getDisplayId();
25331    method public int getFlags();
25332    method @Nullable public android.view.contentcapture.ContentCaptureSessionId getParentSessionId();
25333    method public int getTaskId();
25334    method @Nullable public android.os.IBinder getWindowToken();
25335    field public static final int FLAG_DISABLED_BY_APP = 1; // 0x1
25336    field public static final int FLAG_DISABLED_BY_FLAG_SECURE = 2; // 0x2
25337    field public static final int FLAG_RECONNECTED = 4; // 0x4
25338  }
25339
25340  public final class ContentCaptureEvent implements android.os.Parcelable {
25341    method public int describeContents();
25342    method @Nullable public android.graphics.Rect getBounds();
25343    method @Nullable public android.view.contentcapture.ContentCaptureContext getContentCaptureContext();
25344    method public long getEventTime();
25345    method @Nullable public android.view.autofill.AutofillId getId();
25346    method @Nullable public java.util.List<android.view.autofill.AutofillId> getIds();
25347    method @Nullable public android.graphics.Insets getInsets();
25348    method @Nullable public CharSequence getText();
25349    method public int getType();
25350    method @Nullable public android.view.contentcapture.ViewNode getViewNode();
25351    method public void writeToParcel(android.os.Parcel, int);
25352    field @NonNull public static final android.os.Parcelable.Creator<android.view.contentcapture.ContentCaptureEvent> CREATOR;
25353    field public static final int TYPE_CONTEXT_UPDATED = 6; // 0x6
25354    field public static final int TYPE_SESSION_PAUSED = 8; // 0x8
25355    field public static final int TYPE_SESSION_RESUMED = 7; // 0x7
25356    field public static final int TYPE_VIEW_APPEARED = 1; // 0x1
25357    field public static final int TYPE_VIEW_DISAPPEARED = 2; // 0x2
25358    field public static final int TYPE_VIEW_INSETS_CHANGED = 9; // 0x9
25359    field public static final int TYPE_VIEW_TEXT_CHANGED = 3; // 0x3
25360    field public static final int TYPE_VIEW_TREE_APPEARED = 5; // 0x5
25361    field public static final int TYPE_VIEW_TREE_APPEARING = 4; // 0x4
25362    field public static final int TYPE_WINDOW_BOUNDS_CHANGED = 10; // 0xa
25363  }
25364
25365  public final class ContentCaptureManager {
25366    method public boolean isContentCaptureFeatureEnabled();
25367    field public static final int NO_SESSION_ID = 0; // 0x0
25368  }
25369
25370  public final class ViewNode extends android.app.assist.AssistStructure.ViewNode {
25371    method @Nullable public android.view.autofill.AutofillId getParentAutofillId();
25372  }
25373
25374}
25375
25376package android.view.displayhash {
25377
25378  public final class DisplayHash implements android.os.Parcelable {
25379    ctor public DisplayHash(long, @NonNull android.graphics.Rect, @NonNull String, @NonNull byte[], @NonNull byte[]);
25380    method public int describeContents();
25381    method @NonNull public android.graphics.Rect getBoundsInWindow();
25382    method @NonNull public String getHashAlgorithm();
25383    method @NonNull public byte[] getHmac();
25384    method @NonNull public byte[] getImageHash();
25385    method public long getTimeMillis();
25386    method public void writeToParcel(@NonNull android.os.Parcel, int);
25387  }
25388
25389}
25390
25391package android.view.inputmethod {
25392
25393  public final class InputMethodInfo implements android.os.Parcelable {
25394    method public boolean isVirtualDeviceOnly();
25395  }
25396
25397  public final class InputMethodManager {
25398    method @Nullable @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public android.view.inputmethod.InputMethodInfo getCurrentInputMethodInfoAsUser(@NonNull android.os.UserHandle);
25399  }
25400
25401}
25402
25403package android.view.translation {
25404
25405  public final class TranslationCapability implements android.os.Parcelable {
25406    ctor public TranslationCapability(int, @NonNull android.view.translation.TranslationSpec, @NonNull android.view.translation.TranslationSpec, boolean, int);
25407  }
25408
25409  public final class TranslationContext implements android.os.Parcelable {
25410    method @Nullable public android.app.assist.ActivityId getActivityId();
25411  }
25412
25413  public final class UiTranslationManager {
25414    method @RequiresPermission(android.Manifest.permission.MANAGE_UI_TRANSLATION) public void finishTranslation(@NonNull android.app.assist.ActivityId);
25415    method @RequiresPermission(android.Manifest.permission.MANAGE_UI_TRANSLATION) public void pauseTranslation(@NonNull android.app.assist.ActivityId);
25416    method @RequiresPermission(android.Manifest.permission.MANAGE_UI_TRANSLATION) public void resumeTranslation(@NonNull android.app.assist.ActivityId);
25417    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);
25418  }
25419
25420  public final class UiTranslationSpec implements android.os.Parcelable {
25421    method public int describeContents();
25422    method public boolean shouldPadContentForCompat();
25423    method public void writeToParcel(@NonNull android.os.Parcel, int);
25424    field @NonNull public static final android.os.Parcelable.Creator<android.view.translation.UiTranslationSpec> CREATOR;
25425  }
25426
25427  public static final class UiTranslationSpec.Builder {
25428    ctor public UiTranslationSpec.Builder();
25429    method @NonNull public android.view.translation.UiTranslationSpec build();
25430    method @NonNull public android.view.translation.UiTranslationSpec.Builder setShouldPadContentForCompat(boolean);
25431  }
25432
25433}
25434
25435package android.webkit {
25436
25437  public abstract class CookieManager {
25438    method protected abstract boolean allowFileSchemeCookiesImpl();
25439    method public String getCookie(android.net.WebAddress);
25440    method public abstract String getCookie(String, boolean);
25441    method public abstract boolean hasCookies(boolean);
25442    method protected abstract void setAcceptFileSchemeCookiesImpl(boolean);
25443  }
25444
25445  public class FindActionModeCallback implements android.view.ActionMode.Callback android.text.TextWatcher android.view.View.OnClickListener android.webkit.WebView.FindListener {
25446    ctor public FindActionModeCallback(android.content.Context);
25447    method public void afterTextChanged(android.text.Editable);
25448    method public void beforeTextChanged(CharSequence, int, int, int);
25449    method public void findAll();
25450    method public void finish();
25451    method public int getActionModeGlobalBottom();
25452    method public boolean onActionItemClicked(android.view.ActionMode, android.view.MenuItem);
25453    method public void onClick(android.view.View);
25454    method public boolean onCreateActionMode(android.view.ActionMode, android.view.Menu);
25455    method public void onDestroyActionMode(android.view.ActionMode);
25456    method public void onFindResultReceived(int, int, boolean);
25457    method public boolean onPrepareActionMode(android.view.ActionMode, android.view.Menu);
25458    method public void onTextChanged(CharSequence, int, int, int);
25459    method public void setText(String);
25460    method public void setWebView(@NonNull android.webkit.WebView);
25461    method public void showSoftInput();
25462    method public void updateMatchCount(int, int, boolean);
25463  }
25464
25465  public static class FindActionModeCallback.NoAction implements android.view.ActionMode.Callback {
25466    ctor public FindActionModeCallback.NoAction();
25467    method public boolean onActionItemClicked(android.view.ActionMode, android.view.MenuItem);
25468    method public boolean onCreateActionMode(android.view.ActionMode, android.view.Menu);
25469    method public void onDestroyActionMode(android.view.ActionMode);
25470    method public boolean onPrepareActionMode(android.view.ActionMode, android.view.Menu);
25471  }
25472
25473  public class GeolocationPermissions {
25474    ctor public GeolocationPermissions();
25475  }
25476
25477  public class HttpAuthHandler extends android.os.Handler {
25478    ctor public HttpAuthHandler();
25479  }
25480
25481  public class JsDialogHelper {
25482    ctor public JsDialogHelper(android.webkit.JsPromptResult, android.os.Message);
25483    ctor public JsDialogHelper(android.webkit.JsPromptResult, int, String, String, String);
25484    method public boolean invokeCallback(android.webkit.WebChromeClient, android.webkit.WebView);
25485    method public void showDialog(android.content.Context);
25486    field public static final int ALERT = 1; // 0x1
25487    field public static final int CONFIRM = 2; // 0x2
25488    field public static final int PROMPT = 3; // 0x3
25489    field public static final int UNLOAD = 4; // 0x4
25490  }
25491
25492  public class JsPromptResult extends android.webkit.JsResult {
25493    ctor public JsPromptResult(android.webkit.JsResult.ResultReceiver);
25494    method public String getStringResult();
25495  }
25496
25497  public class JsResult {
25498    ctor public JsResult(android.webkit.JsResult.ResultReceiver);
25499    method public final boolean getResult();
25500  }
25501
25502  public static interface JsResult.ResultReceiver {
25503    method public void onJsResultComplete(android.webkit.JsResult);
25504  }
25505
25506  public interface PacProcessor {
25507    method @NonNull public static android.webkit.PacProcessor createInstance();
25508    method @Nullable public String findProxyForUrl(@NonNull String);
25509    method @NonNull public static android.webkit.PacProcessor getInstance();
25510    method @Nullable public default android.net.Network getNetwork();
25511    method public default void release();
25512    method public default void setNetwork(@Nullable android.net.Network);
25513    method public boolean setProxyScript(@NonNull String);
25514  }
25515
25516  public class SslErrorHandler extends android.os.Handler {
25517    ctor public SslErrorHandler();
25518  }
25519
25520  @Deprecated public abstract class TokenBindingService {
25521    ctor @Deprecated public TokenBindingService();
25522  }
25523
25524  public class WebChromeClient {
25525    method @Deprecated public void openFileChooser(android.webkit.ValueCallback<android.net.Uri>, String, String);
25526  }
25527
25528  public abstract class WebHistoryItem implements java.lang.Cloneable {
25529    method @Deprecated public abstract int getId();
25530  }
25531
25532  @Deprecated public abstract class WebIconDatabase {
25533    method @Deprecated public abstract void bulkRequestIconForPageUrl(android.content.ContentResolver, String, android.webkit.WebIconDatabase.IconListener);
25534  }
25535
25536  public abstract class WebMessagePort {
25537    ctor public WebMessagePort();
25538  }
25539
25540  public abstract class WebResourceError {
25541    ctor public WebResourceError();
25542  }
25543
25544  public class WebResourceResponse {
25545    ctor public WebResourceResponse(boolean, String, String, int, String, java.util.Map<java.lang.String,java.lang.String>, java.io.InputStream);
25546  }
25547
25548  public abstract class WebSettings {
25549    method public abstract boolean getAcceptThirdPartyCookies();
25550    method @Deprecated public abstract boolean getNavDump();
25551    method @Deprecated public abstract boolean getPluginsEnabled();
25552    method @Deprecated public abstract boolean getUseWebViewBackgroundForOverscrollBackground();
25553    method @Deprecated public abstract int getUserAgent();
25554    method public abstract boolean getVideoOverlayForEmbeddedEncryptedVideoEnabled();
25555    method public abstract void setAcceptThirdPartyCookies(boolean);
25556    method @Deprecated public abstract void setNavDump(boolean);
25557    method @Deprecated public abstract void setPluginsEnabled(boolean);
25558    method @Deprecated public abstract void setUseWebViewBackgroundForOverscrollBackground(boolean);
25559    method @Deprecated public abstract void setUserAgent(int);
25560    method public abstract void setVideoOverlayForEmbeddedEncryptedVideoEnabled(boolean);
25561    field public static final long ENABLE_SIMPLIFIED_DARK_MODE = 214741472L; // 0xcccb1e0L
25562  }
25563
25564  public class WebStorage {
25565    ctor public WebStorage();
25566  }
25567
25568  public static class WebStorage.Origin {
25569    ctor protected WebStorage.Origin(String, long, long);
25570  }
25571
25572  public class WebView extends android.widget.AbsoluteLayout implements android.view.ViewGroup.OnHierarchyChangeListener android.view.ViewTreeObserver.OnGlobalFocusChangeListener {
25573    method public android.webkit.WebViewProvider getWebViewProvider();
25574  }
25575
25576  public static class WebView.HitTestResult {
25577    ctor public WebView.HitTestResult();
25578    method public void setExtra(String);
25579    method public void setType(int);
25580  }
25581
25582  public class WebView.PrivateAccess {
25583    ctor public WebView.PrivateAccess();
25584    method public void awakenScrollBars(int);
25585    method public void awakenScrollBars(int, boolean);
25586    method public float getHorizontalScrollFactor();
25587    method public int getHorizontalScrollbarHeight();
25588    method public float getVerticalScrollFactor();
25589    method public void onScrollChanged(int, int, int, int);
25590    method public void overScrollBy(int, int, int, int, int, int, int, int, boolean);
25591    method public void setMeasuredDimension(int, int);
25592    method public void setScrollXRaw(int);
25593    method public void setScrollYRaw(int);
25594    method public void super_computeScroll();
25595    method public boolean super_dispatchKeyEvent(android.view.KeyEvent);
25596    method public int super_getScrollBarStyle();
25597    method @Nullable public android.view.WindowInsets super_onApplyWindowInsets(@Nullable android.view.WindowInsets);
25598    method public void super_onDrawVerticalScrollBar(android.graphics.Canvas, android.graphics.drawable.Drawable, int, int, int, int);
25599    method public boolean super_onGenericMotionEvent(android.view.MotionEvent);
25600    method public boolean super_onHoverEvent(android.view.MotionEvent);
25601    method public boolean super_performAccessibilityAction(int, android.os.Bundle);
25602    method public boolean super_performLongClick();
25603    method public boolean super_requestFocus(int, android.graphics.Rect);
25604    method public void super_scrollTo(int, int);
25605    method public boolean super_setFrame(int, int, int, int);
25606    method public void super_setLayoutParams(android.view.ViewGroup.LayoutParams);
25607    method public void super_startActivityForResult(android.content.Intent, int);
25608  }
25609
25610  public final class WebViewDelegate {
25611    method public void addWebViewAssetPath(android.content.Context);
25612    method @Deprecated public void callDrawGlFunction(android.graphics.Canvas, long);
25613    method @Deprecated public void callDrawGlFunction(@NonNull android.graphics.Canvas, long, @Nullable Runnable);
25614    method @Deprecated public boolean canInvokeDrawGlFunctor(android.view.View);
25615    method @Deprecated public void detachDrawGlFunctor(android.view.View, long);
25616    method public void drawWebViewFunctor(@NonNull android.graphics.Canvas, int);
25617    method public android.app.Application getApplication();
25618    method public String getDataDirectorySuffix();
25619    method public String getErrorString(android.content.Context, int);
25620    method public int getPackageId(android.content.res.Resources, String);
25621    method @NonNull public android.webkit.WebViewFactory.StartupTimestamps getStartupTimestamps();
25622    method @Deprecated public void invokeDrawGlFunctor(android.view.View, long, boolean);
25623    method public boolean isMultiProcessEnabled();
25624    method public boolean isTraceTagEnabled();
25625    method public void setOnTraceEnabledChangeListener(android.webkit.WebViewDelegate.OnTraceEnabledChangeListener);
25626  }
25627
25628  public static interface WebViewDelegate.OnTraceEnabledChangeListener {
25629    method public void onTraceEnabledChange(boolean);
25630  }
25631
25632  public final class WebViewFactory {
25633    ctor public WebViewFactory();
25634    method public static android.content.pm.PackageInfo getLoadedPackageInfo();
25635    method public static int loadWebViewNativeLibraryFromPackage(String, ClassLoader);
25636    method public static void prepareWebViewInZygote();
25637    field public static final int LIBLOAD_ADDRESS_SPACE_NOT_RESERVED = 2; // 0x2
25638    field public static final int LIBLOAD_FAILED_JNI_CALL = 7; // 0x7
25639    field public static final int LIBLOAD_FAILED_LISTING_WEBVIEW_PACKAGES = 4; // 0x4
25640    field public static final int LIBLOAD_FAILED_TO_FIND_NAMESPACE = 10; // 0xa
25641    field public static final int LIBLOAD_FAILED_TO_LOAD_LIBRARY = 6; // 0x6
25642    field public static final int LIBLOAD_FAILED_TO_OPEN_RELRO_FILE = 5; // 0x5
25643    field public static final int LIBLOAD_FAILED_WAITING_FOR_RELRO = 3; // 0x3
25644    field public static final int LIBLOAD_FAILED_WAITING_FOR_WEBVIEW_REASON_UNKNOWN = 8; // 0x8
25645    field public static final int LIBLOAD_SUCCESS = 0; // 0x0
25646    field public static final int LIBLOAD_WRONG_PACKAGE_NAME = 1; // 0x1
25647  }
25648
25649  public static class WebViewFactory.StartupTimestamps {
25650    method public long getAddAssetsEnd();
25651    method public long getAddAssetsStart();
25652    method public long getCreateContextEnd();
25653    method public long getCreateContextStart();
25654    method public long getGetClassLoaderEnd();
25655    method public long getGetClassLoaderStart();
25656    method public long getNativeLoadEnd();
25657    method public long getNativeLoadStart();
25658    method public long getProviderClassForNameEnd();
25659    method public long getProviderClassForNameStart();
25660    method public long getWebViewLoadStart();
25661  }
25662
25663  public interface WebViewFactoryProvider {
25664    method @NonNull public default android.webkit.PacProcessor createPacProcessor();
25665    method public android.webkit.WebViewProvider createWebView(android.webkit.WebView, android.webkit.WebView.PrivateAccess);
25666    method public android.webkit.CookieManager getCookieManager();
25667    method public android.webkit.GeolocationPermissions getGeolocationPermissions();
25668    method @NonNull public default android.webkit.PacProcessor getPacProcessor();
25669    method public android.webkit.ServiceWorkerController getServiceWorkerController();
25670    method public android.webkit.WebViewFactoryProvider.Statics getStatics();
25671    method @Deprecated public android.webkit.TokenBindingService getTokenBindingService();
25672    method public android.webkit.TracingController getTracingController();
25673    method public android.webkit.WebIconDatabase getWebIconDatabase();
25674    method public android.webkit.WebStorage getWebStorage();
25675    method public ClassLoader getWebViewClassLoader();
25676    method public android.webkit.WebViewDatabase getWebViewDatabase(android.content.Context);
25677  }
25678
25679  public static interface WebViewFactoryProvider.Statics {
25680    method public void clearClientCertPreferences(Runnable);
25681    method public void enableSlowWholeDocumentDraw();
25682    method public String findAddress(String);
25683    method public void freeMemoryForTests();
25684    method public String getDefaultUserAgent(android.content.Context);
25685    method @NonNull public android.net.Uri getSafeBrowsingPrivacyPolicyUrl();
25686    method public void initSafeBrowsing(android.content.Context, android.webkit.ValueCallback<java.lang.Boolean>);
25687    method public android.net.Uri[] parseFileChooserResult(int, android.content.Intent);
25688    method public void setSafeBrowsingWhitelist(java.util.List<java.lang.String>, android.webkit.ValueCallback<java.lang.Boolean>);
25689    method public void setWebContentsDebuggingEnabled(boolean);
25690  }
25691
25692  public interface WebViewProvider {
25693    method public void addJavascriptInterface(Object, String);
25694    method public boolean canGoBack();
25695    method public boolean canGoBackOrForward(int);
25696    method public boolean canGoForward();
25697    method public boolean canZoomIn();
25698    method public boolean canZoomOut();
25699    method public android.graphics.Picture capturePicture();
25700    method public void clearCache(boolean);
25701    method public void clearFormData();
25702    method public void clearHistory();
25703    method public void clearMatches();
25704    method public void clearSslPreferences();
25705    method public void clearView();
25706    method public android.webkit.WebBackForwardList copyBackForwardList();
25707    method public android.print.PrintDocumentAdapter createPrintDocumentAdapter(String);
25708    method public android.webkit.WebMessagePort[] createWebMessageChannel();
25709    method public void destroy();
25710    method public void documentHasImages(android.os.Message);
25711    method public void dumpViewHierarchyWithProperties(java.io.BufferedWriter, int);
25712    method public void evaluateJavaScript(String, android.webkit.ValueCallback<java.lang.String>);
25713    method public int findAll(String);
25714    method public void findAllAsync(String);
25715    method public android.view.View findHierarchyView(String, int);
25716    method public void findNext(boolean);
25717    method public void flingScroll(int, int);
25718    method public void freeMemory();
25719    method public android.net.http.SslCertificate getCertificate();
25720    method public int getContentHeight();
25721    method public int getContentWidth();
25722    method public android.graphics.Bitmap getFavicon();
25723    method public android.webkit.WebView.HitTestResult getHitTestResult();
25724    method public String[] getHttpAuthUsernamePassword(String, String);
25725    method public String getOriginalUrl();
25726    method public int getProgress();
25727    method public boolean getRendererPriorityWaivedWhenNotVisible();
25728    method public int getRendererRequestedPriority();
25729    method public float getScale();
25730    method public android.webkit.WebViewProvider.ScrollDelegate getScrollDelegate();
25731    method public android.webkit.WebSettings getSettings();
25732    method @NonNull public default android.view.textclassifier.TextClassifier getTextClassifier();
25733    method public String getTitle();
25734    method public String getTouchIconUrl();
25735    method public String getUrl();
25736    method public android.webkit.WebViewProvider.ViewDelegate getViewDelegate();
25737    method public int getVisibleTitleHeight();
25738    method public android.webkit.WebChromeClient getWebChromeClient();
25739    method public android.webkit.WebViewClient getWebViewClient();
25740    method @Nullable public android.webkit.WebViewRenderProcess getWebViewRenderProcess();
25741    method @Nullable public android.webkit.WebViewRenderProcessClient getWebViewRenderProcessClient();
25742    method public android.view.View getZoomControls();
25743    method public void goBack();
25744    method public void goBackOrForward(int);
25745    method public void goForward();
25746    method public void init(java.util.Map<java.lang.String,java.lang.Object>, boolean);
25747    method public void insertVisualStateCallback(long, android.webkit.WebView.VisualStateCallback);
25748    method public void invokeZoomPicker();
25749    method public boolean isPaused();
25750    method public boolean isPrivateBrowsingEnabled();
25751    method public void loadData(String, String, String);
25752    method public void loadDataWithBaseURL(String, String, String, String, String);
25753    method public void loadUrl(String);
25754    method public void loadUrl(String, java.util.Map<java.lang.String,java.lang.String>);
25755    method public void notifyFindDialogDismissed();
25756    method public void onPause();
25757    method public void onResume();
25758    method public boolean overlayHorizontalScrollbar();
25759    method public boolean overlayVerticalScrollbar();
25760    method public boolean pageDown(boolean);
25761    method public boolean pageUp(boolean);
25762    method public void pauseTimers();
25763    method public void postMessageToMainFrame(android.webkit.WebMessage, android.net.Uri);
25764    method public void postUrl(String, byte[]);
25765    method public void reload();
25766    method public void removeJavascriptInterface(String);
25767    method public void requestFocusNodeHref(android.os.Message);
25768    method public void requestImageRef(android.os.Message);
25769    method public boolean restorePicture(android.os.Bundle, java.io.File);
25770    method public android.webkit.WebBackForwardList restoreState(android.os.Bundle);
25771    method public void resumeTimers();
25772    method public void savePassword(String, String, String);
25773    method public boolean savePicture(android.os.Bundle, java.io.File);
25774    method public android.webkit.WebBackForwardList saveState(android.os.Bundle);
25775    method public void saveWebArchive(String);
25776    method public void saveWebArchive(String, boolean, android.webkit.ValueCallback<java.lang.String>);
25777    method public void setCertificate(android.net.http.SslCertificate);
25778    method public void setDownloadListener(android.webkit.DownloadListener);
25779    method public void setFindListener(android.webkit.WebView.FindListener);
25780    method public void setHorizontalScrollbarOverlay(boolean);
25781    method public void setHttpAuthUsernamePassword(String, String, String, String);
25782    method public void setInitialScale(int);
25783    method public void setMapTrackballToArrowKeys(boolean);
25784    method public void setNetworkAvailable(boolean);
25785    method public void setPictureListener(android.webkit.WebView.PictureListener);
25786    method public void setRendererPriorityPolicy(int, boolean);
25787    method public default void setTextClassifier(@Nullable android.view.textclassifier.TextClassifier);
25788    method public void setVerticalScrollbarOverlay(boolean);
25789    method public void setWebChromeClient(android.webkit.WebChromeClient);
25790    method public void setWebViewClient(android.webkit.WebViewClient);
25791    method public void setWebViewRenderProcessClient(@Nullable java.util.concurrent.Executor, @Nullable android.webkit.WebViewRenderProcessClient);
25792    method public boolean showFindDialog(String, boolean);
25793    method public void stopLoading();
25794    method public boolean zoomBy(float);
25795    method public boolean zoomIn();
25796    method public boolean zoomOut();
25797  }
25798
25799  public static interface WebViewProvider.ScrollDelegate {
25800    method public int computeHorizontalScrollOffset();
25801    method public int computeHorizontalScrollRange();
25802    method public void computeScroll();
25803    method public int computeVerticalScrollExtent();
25804    method public int computeVerticalScrollOffset();
25805    method public int computeVerticalScrollRange();
25806  }
25807
25808  public static interface WebViewProvider.ViewDelegate {
25809    method public default void autofill(android.util.SparseArray<android.view.autofill.AutofillValue>);
25810    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>);
25811    method public boolean dispatchKeyEvent(android.view.KeyEvent);
25812    method public android.view.View findFocus(android.view.View);
25813    method public android.view.accessibility.AccessibilityNodeProvider getAccessibilityNodeProvider();
25814    method public android.os.Handler getHandler(android.os.Handler);
25815    method public default boolean isVisibleToUserForAutofill(int);
25816    method public void onActivityResult(int, int, android.content.Intent);
25817    method @Nullable public default android.view.WindowInsets onApplyWindowInsets(@Nullable android.view.WindowInsets);
25818    method public void onAttachedToWindow();
25819    method public default boolean onCheckIsTextEditor();
25820    method public void onConfigurationChanged(android.content.res.Configuration);
25821    method public android.view.inputmethod.InputConnection onCreateInputConnection(android.view.inputmethod.EditorInfo);
25822    method public default void onCreateVirtualViewTranslationRequests(@NonNull long[], @NonNull int[], @NonNull java.util.function.Consumer<android.view.translation.ViewTranslationRequest>);
25823    method public void onDetachedFromWindow();
25824    method public boolean onDragEvent(android.view.DragEvent);
25825    method public void onDraw(android.graphics.Canvas);
25826    method public void onDrawVerticalScrollBar(android.graphics.Canvas, android.graphics.drawable.Drawable, int, int, int, int);
25827    method public void onFinishTemporaryDetach();
25828    method public void onFocusChanged(boolean, int, android.graphics.Rect);
25829    method public boolean onGenericMotionEvent(android.view.MotionEvent);
25830    method public boolean onHoverEvent(android.view.MotionEvent);
25831    method public void onInitializeAccessibilityEvent(android.view.accessibility.AccessibilityEvent);
25832    method public void onInitializeAccessibilityNodeInfo(android.view.accessibility.AccessibilityNodeInfo);
25833    method public boolean onKeyDown(int, android.view.KeyEvent);
25834    method public boolean onKeyMultiple(int, int, android.view.KeyEvent);
25835    method public boolean onKeyUp(int, android.view.KeyEvent);
25836    method public void onMeasure(int, int);
25837    method public default void onMovedToDisplay(int, android.content.res.Configuration);
25838    method public void onOverScrolled(int, int, boolean, boolean);
25839    method public default void onProvideAutofillVirtualStructure(android.view.ViewStructure, int);
25840    method public default void onProvideContentCaptureStructure(@NonNull android.view.ViewStructure, int);
25841    method public void onProvideVirtualStructure(android.view.ViewStructure);
25842    method public void onScrollChanged(int, int, int, int);
25843    method public void onSizeChanged(int, int, int, int);
25844    method public void onStartTemporaryDetach();
25845    method public boolean onTouchEvent(android.view.MotionEvent);
25846    method public boolean onTrackballEvent(android.view.MotionEvent);
25847    method public default void onVirtualViewTranslationResponses(@NonNull android.util.LongSparseArray<android.view.translation.ViewTranslationResponse>);
25848    method public void onVisibilityChanged(android.view.View, int);
25849    method public void onWindowFocusChanged(boolean);
25850    method public void onWindowVisibilityChanged(int);
25851    method public boolean performAccessibilityAction(int, android.os.Bundle);
25852    method public boolean performLongClick();
25853    method public void preDispatchDraw(android.graphics.Canvas);
25854    method public boolean requestChildRectangleOnScreen(android.view.View, android.graphics.Rect, boolean);
25855    method public boolean requestFocus(int, android.graphics.Rect);
25856    method public void setBackgroundColor(int);
25857    method public boolean setFrame(int, int, int, int);
25858    method public void setLayerType(int, android.graphics.Paint);
25859    method public void setLayoutParams(android.view.ViewGroup.LayoutParams);
25860    method public void setOverScrollMode(int);
25861    method public void setScrollBarStyle(int);
25862    method public boolean shouldDelayChildPressedState();
25863  }
25864
25865  public final class WebViewProviderInfo implements android.os.Parcelable {
25866    ctor public WebViewProviderInfo(String, String, boolean, boolean, String[]);
25867    method public int describeContents();
25868    method public void writeToParcel(android.os.Parcel, int);
25869    field @NonNull public static final android.os.Parcelable.Creator<android.webkit.WebViewProviderInfo> CREATOR;
25870    field public final boolean availableByDefault;
25871    field public final String description;
25872    field public final boolean isFallback;
25873    field public final String packageName;
25874    field public final android.content.pm.Signature[] signatures;
25875  }
25876
25877  public final class WebViewUpdateService {
25878    method public static android.webkit.WebViewProviderInfo[] getAllWebViewPackages();
25879    method public static String getCurrentWebViewPackageName();
25880    method public static android.webkit.WebViewProviderInfo[] getValidWebViewPackages();
25881  }
25882
25883}
25884
25885package android.window {
25886
25887  public abstract class TaskFpsCallback {
25888    ctor public TaskFpsCallback();
25889    method public abstract void onFpsReported(float);
25890  }
25891
25892}
25893
25894