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 @FlaggedApi("android.app.contextualsearch.flags.enable_service") 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 @FlaggedApi("android.permission.flags.fine_power_monitor_permission") public static final String ACCESS_FINE_POWER_MONITORS = "android.permission.ACCESS_FINE_POWER_MONITORS";
14    field @Deprecated public static final String ACCESS_FM_RADIO = "android.permission.ACCESS_FM_RADIO";
15    field public static final String ACCESS_FPS_COUNTER = "android.permission.ACCESS_FPS_COUNTER";
16    field @FlaggedApi("android.multiuser.enable_permission_to_access_hidden_profiles") public static final String ACCESS_HIDDEN_PROFILES_FULL = "android.permission.ACCESS_HIDDEN_PROFILES_FULL";
17    field public static final String ACCESS_INSTANT_APPS = "android.permission.ACCESS_INSTANT_APPS";
18    field @FlaggedApi("com.android.server.telecom.flags.telecom_resolve_hidden_dependencies") public static final String ACCESS_LAST_KNOWN_CELL_ID = "android.permission.ACCESS_LAST_KNOWN_CELL_ID";
19    field public static final String ACCESS_LOCUS_ID_USAGE_STATS = "android.permission.ACCESS_LOCUS_ID_USAGE_STATS";
20    field public static final String ACCESS_MOCK_LOCATION = "android.permission.ACCESS_MOCK_LOCATION";
21    field public static final String ACCESS_MTP = "android.permission.ACCESS_MTP";
22    field public static final String ACCESS_NETWORK_CONDITIONS = "android.permission.ACCESS_NETWORK_CONDITIONS";
23    field public static final String ACCESS_NOTIFICATIONS = "android.permission.ACCESS_NOTIFICATIONS";
24    field public static final String ACCESS_PDB_STATE = "android.permission.ACCESS_PDB_STATE";
25    field public static final String ACCESS_RCS_USER_CAPABILITY_EXCHANGE = "android.permission.ACCESS_RCS_USER_CAPABILITY_EXCHANGE";
26    field public static final String ACCESS_SHARED_LIBRARIES = "android.permission.ACCESS_SHARED_LIBRARIES";
27    field public static final String ACCESS_SHORTCUTS = "android.permission.ACCESS_SHORTCUTS";
28    field @FlaggedApi("android.app.smartspace.flags.access_smartspace") public static final String ACCESS_SMARTSPACE = "android.permission.ACCESS_SMARTSPACE";
29    field public static final String ACCESS_SURFACE_FLINGER = "android.permission.ACCESS_SURFACE_FLINGER";
30    field @FlaggedApi("android.permission.flags.text_classifier_choice_api_enabled") public static final String ACCESS_TEXT_CLASSIFIER_BY_TYPE = "android.permission.ACCESS_TEXT_CLASSIFIER_BY_TYPE";
31    field public static final String ACCESS_TUNED_INFO = "android.permission.ACCESS_TUNED_INFO";
32    field public static final String ACCESS_TV_DESCRAMBLER = "android.permission.ACCESS_TV_DESCRAMBLER";
33    field public static final String ACCESS_TV_SHARED_FILTER = "android.permission.ACCESS_TV_SHARED_FILTER";
34    field public static final String ACCESS_TV_TUNER = "android.permission.ACCESS_TV_TUNER";
35    field public static final String ACCESS_ULTRASOUND = "android.permission.ACCESS_ULTRASOUND";
36    field public static final String ACCESS_VIBRATOR_STATE = "android.permission.ACCESS_VIBRATOR_STATE";
37    field public static final String ACTIVITY_EMBEDDING = "android.permission.ACTIVITY_EMBEDDING";
38    field public static final String ADD_ALWAYS_UNLOCKED_DISPLAY = "android.permission.ADD_ALWAYS_UNLOCKED_DISPLAY";
39    field @FlaggedApi("android.companion.virtualdevice.flags.enable_limited_vdm_role") public static final String ADD_MIRROR_DISPLAY = "android.permission.ADD_MIRROR_DISPLAY";
40    field public static final String ADD_TRUSTED_DISPLAY = "android.permission.ADD_TRUSTED_DISPLAY";
41    field public static final String ADJUST_RUNTIME_PERMISSIONS_POLICY = "android.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY";
42    field public static final String ALLOCATE_AGGRESSIVE = "android.permission.ALLOCATE_AGGRESSIVE";
43    field public static final String ALLOW_ANY_CODEC_FOR_PLAYBACK = "android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK";
44    field public static final String ALLOW_PLACE_IN_MULTI_PANE_SETTINGS = "android.permission.ALLOW_PLACE_IN_MULTI_PANE_SETTINGS";
45    field public static final String ALLOW_SLIPPERY_TOUCHES = "android.permission.ALLOW_SLIPPERY_TOUCHES";
46    field @FlaggedApi("com.android.window.flags.always_update_wallpaper_permission") public static final String ALWAYS_UPDATE_WALLPAPER = "android.permission.ALWAYS_UPDATE_WALLPAPER";
47    field public static final String AMBIENT_WALLPAPER = "android.permission.AMBIENT_WALLPAPER";
48    field public static final String APPROVE_INCIDENT_REPORTS = "android.permission.APPROVE_INCIDENT_REPORTS";
49    field public static final String ASSOCIATE_COMPANION_DEVICES = "android.permission.ASSOCIATE_COMPANION_DEVICES";
50    field public static final String BACKGROUND_CAMERA = "android.permission.BACKGROUND_CAMERA";
51    field public static final String BACKUP = "android.permission.BACKUP";
52    field @FlaggedApi("android.permission.flags.health_connect_backup_restore_permission_enabled") public static final String BACKUP_HEALTH_CONNECT_DATA_AND_SETTINGS = "android.permission.BACKUP_HEALTH_CONNECT_DATA_AND_SETTINGS";
53    field public static final String BATTERY_PREDICTION = "android.permission.BATTERY_PREDICTION";
54    field public static final String BIND_AMBIENT_CONTEXT_DETECTION_SERVICE = "android.permission.BIND_AMBIENT_CONTEXT_DETECTION_SERVICE";
55    field public static final String BIND_ATTENTION_SERVICE = "android.permission.BIND_ATTENTION_SERVICE";
56    field public static final String BIND_AUGMENTED_AUTOFILL_SERVICE = "android.permission.BIND_AUGMENTED_AUTOFILL_SERVICE";
57    field public static final String BIND_CALL_DIAGNOSTIC_SERVICE = "android.permission.BIND_CALL_DIAGNOSTIC_SERVICE";
58    field public static final String BIND_CALL_STREAMING_SERVICE = "android.permission.BIND_CALL_STREAMING_SERVICE";
59    field public static final String BIND_CELL_BROADCAST_SERVICE = "android.permission.BIND_CELL_BROADCAST_SERVICE";
60    field @Deprecated public static final String BIND_CONNECTION_SERVICE = "android.permission.BIND_CONNECTION_SERVICE";
61    field public static final String BIND_CONTENT_CAPTURE_SERVICE = "android.permission.BIND_CONTENT_CAPTURE_SERVICE";
62    field public static final String BIND_CONTENT_SUGGESTIONS_SERVICE = "android.permission.BIND_CONTENT_SUGGESTIONS_SERVICE";
63    field @FlaggedApi("android.content.pm.sdk_dependency_installer") public static final String BIND_DEPENDENCY_INSTALLER = "android.permission.BIND_DEPENDENCY_INSTALLER";
64    field public static final String BIND_DIRECTORY_SEARCH = "android.permission.BIND_DIRECTORY_SEARCH";
65    field public static final String BIND_DISPLAY_HASHING_SERVICE = "android.permission.BIND_DISPLAY_HASHING_SERVICE";
66    field @FlaggedApi("com.android.internal.telephony.flags.use_oem_domain_selection_service") public static final String BIND_DOMAIN_SELECTION_SERVICE = "android.permission.BIND_DOMAIN_SELECTION_SERVICE";
67    field public static final String BIND_DOMAIN_VERIFICATION_AGENT = "android.permission.BIND_DOMAIN_VERIFICATION_AGENT";
68    field public static final String BIND_EUICC_SERVICE = "android.permission.BIND_EUICC_SERVICE";
69    field @FlaggedApi("android.crashrecovery.flags.enable_crashrecovery") public static final String BIND_EXPLICIT_HEALTH_CHECK_SERVICE = "android.permission.BIND_EXPLICIT_HEALTH_CHECK_SERVICE";
70    field public static final String BIND_EXTERNAL_STORAGE_SERVICE = "android.permission.BIND_EXTERNAL_STORAGE_SERVICE";
71    field public static final String BIND_FIELD_CLASSIFICATION_SERVICE = "android.permission.BIND_FIELD_CLASSIFICATION_SERVICE";
72    field public static final String BIND_GBA_SERVICE = "android.permission.BIND_GBA_SERVICE";
73    field public static final String BIND_HOTWORD_DETECTION_SERVICE = "android.permission.BIND_HOTWORD_DETECTION_SERVICE";
74    field public static final String BIND_IMS_SERVICE = "android.permission.BIND_IMS_SERVICE";
75    field @FlaggedApi("android.security.afl_api") public static final String BIND_INTRUSION_DETECTION_EVENT_TRANSPORT_SERVICE = "android.permission.BIND_INTRUSION_DETECTION_EVENT_TRANSPORT_SERVICE";
76    field public static final String BIND_KEYGUARD_APPWIDGET = "android.permission.BIND_KEYGUARD_APPWIDGET";
77    field public static final String BIND_MUSIC_RECOGNITION_SERVICE = "android.permission.BIND_MUSIC_RECOGNITION_SERVICE";
78    field public static final String BIND_NETWORK_RECOMMENDATION_SERVICE = "android.permission.BIND_NETWORK_RECOMMENDATION_SERVICE";
79    field public static final String BIND_NOTIFICATION_ASSISTANT_SERVICE = "android.permission.BIND_NOTIFICATION_ASSISTANT_SERVICE";
80    field @FlaggedApi("android.app.ondeviceintelligence.flags.enable_on_device_intelligence") public static final String BIND_ON_DEVICE_INTELLIGENCE_SERVICE = "android.permission.BIND_ON_DEVICE_INTELLIGENCE_SERVICE";
81    field @FlaggedApi("android.app.ondeviceintelligence.flags.enable_on_device_intelligence") public static final String BIND_ON_DEVICE_SANDBOXED_INFERENCE_SERVICE = "android.permission.BIND_ON_DEVICE_SANDBOXED_INFERENCE_SERVICE";
82    field public static final String BIND_PHONE_ACCOUNT_SUGGESTION_SERVICE = "android.permission.BIND_PHONE_ACCOUNT_SUGGESTION_SERVICE";
83    field @FlaggedApi("android.location.flags.population_density_provider") public static final String BIND_POPULATION_DENSITY_PROVIDER_SERVICE = "android.permission.BIND_POPULATION_DENSITY_PROVIDER_SERVICE";
84    field public static final String BIND_PRINT_RECOMMENDATION_SERVICE = "android.permission.BIND_PRINT_RECOMMENDATION_SERVICE";
85    field public static final String BIND_REMOTE_LOCKSCREEN_VALIDATION_SERVICE = "android.permission.BIND_REMOTE_LOCKSCREEN_VALIDATION_SERVICE";
86    field public static final String BIND_RESOLVER_RANKER_SERVICE = "android.permission.BIND_RESOLVER_RANKER_SERVICE";
87    field public static final String BIND_RESUME_ON_REBOOT_SERVICE = "android.permission.BIND_RESUME_ON_REBOOT_SERVICE";
88    field public static final String BIND_ROTATION_RESOLVER_SERVICE = "android.permission.BIND_ROTATION_RESOLVER_SERVICE";
89    field public static final String BIND_RUNTIME_PERMISSION_PRESENTER_SERVICE = "android.permission.BIND_RUNTIME_PERMISSION_PRESENTER_SERVICE";
90    field public static final String BIND_SATELLITE_SERVICE = "android.permission.BIND_SATELLITE_SERVICE";
91    field public static final String BIND_SETTINGS_SUGGESTIONS_SERVICE = "android.permission.BIND_SETTINGS_SUGGESTIONS_SERVICE";
92    field public static final String BIND_SOUND_TRIGGER_DETECTION_SERVICE = "android.permission.BIND_SOUND_TRIGGER_DETECTION_SERVICE";
93    field public static final String BIND_TELEPHONY_DATA_SERVICE = "android.permission.BIND_TELEPHONY_DATA_SERVICE";
94    field public static final String BIND_TELEPHONY_NETWORK_SERVICE = "android.permission.BIND_TELEPHONY_NETWORK_SERVICE";
95    field public static final String BIND_TEXTCLASSIFIER_SERVICE = "android.permission.BIND_TEXTCLASSIFIER_SERVICE";
96    field public static final String BIND_TIME_ZONE_PROVIDER_SERVICE = "android.permission.BIND_TIME_ZONE_PROVIDER_SERVICE";
97    field public static final String BIND_TRACE_REPORT_SERVICE = "android.permission.BIND_TRACE_REPORT_SERVICE";
98    field public static final String BIND_TRANSLATION_SERVICE = "android.permission.BIND_TRANSLATION_SERVICE";
99    field public static final String BIND_TRUST_AGENT = "android.permission.BIND_TRUST_AGENT";
100    field public static final String BIND_TV_REMOTE_SERVICE = "android.permission.BIND_TV_REMOTE_SERVICE";
101    field public static final String BIND_VISUAL_QUERY_DETECTION_SERVICE = "android.permission.BIND_VISUAL_QUERY_DETECTION_SERVICE";
102    field public static final String BIND_WALLPAPER_EFFECTS_GENERATION_SERVICE = "android.permission.BIND_WALLPAPER_EFFECTS_GENERATION_SERVICE";
103    field public static final String BIND_WEARABLE_SENSING_SERVICE = "android.permission.BIND_WEARABLE_SENSING_SERVICE";
104    field public static final String BLUETOOTH_MAP = "android.permission.BLUETOOTH_MAP";
105    field public static final String BRICK = "android.permission.BRICK";
106    field public static final String BRIGHTNESS_SLIDER_USAGE = "android.permission.BRIGHTNESS_SLIDER_USAGE";
107    field public static final String BROADCAST_CLOSE_SYSTEM_DIALOGS = "android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS";
108    field @Deprecated public static final String BROADCAST_NETWORK_PRIVILEGED = "android.permission.BROADCAST_NETWORK_PRIVILEGED";
109    field @FlaggedApi("android.media.audio.concurrent_audio_record_bypass_permission") public static final String BYPASS_CONCURRENT_RECORD_AUDIO_RESTRICTION = "android.permission.BYPASS_CONCURRENT_RECORD_AUDIO_RESTRICTION";
110    field public static final String BYPASS_ROLE_QUALIFICATION = "android.permission.BYPASS_ROLE_QUALIFICATION";
111    field public static final String CALL_AUDIO_INTERCEPTION = "android.permission.CALL_AUDIO_INTERCEPTION";
112    field public static final String CAMERA_DISABLE_TRANSMIT_LED = "android.permission.CAMERA_DISABLE_TRANSMIT_LED";
113    field @FlaggedApi("com.android.internal.camera.flags.camera_hsum_permission") public static final String CAMERA_HEADLESS_SYSTEM_USER = "android.permission.CAMERA_HEADLESS_SYSTEM_USER";
114    field public static final String CAMERA_OPEN_CLOSE_LISTENER = "android.permission.CAMERA_OPEN_CLOSE_LISTENER";
115    field @FlaggedApi("com.android.internal.camera.flags.camera_privacy_allowlist") public static final String CAMERA_PRIVACY_ALLOWLIST = "android.permission.CAMERA_PRIVACY_ALLOWLIST";
116    field public static final String CAPTURE_AUDIO_HOTWORD = "android.permission.CAPTURE_AUDIO_HOTWORD";
117    field @FlaggedApi("android.os.allow_consentless_bugreport_delegated_consent") public static final String CAPTURE_CONSENTLESS_BUGREPORT_DELEGATED_CONSENT = "android.permission.CAPTURE_CONSENTLESS_BUGREPORT_DELEGATED_CONSENT";
118    field public static final String CAPTURE_CONSENTLESS_BUGREPORT_ON_USERDEBUG_BUILD = "android.permission.CAPTURE_CONSENTLESS_BUGREPORT_ON_USERDEBUG_BUILD";
119    field public static final String CAPTURE_MEDIA_OUTPUT = "android.permission.CAPTURE_MEDIA_OUTPUT";
120    field public static final String CAPTURE_TUNER_AUDIO_INPUT = "android.permission.CAPTURE_TUNER_AUDIO_INPUT";
121    field public static final String CAPTURE_TV_INPUT = "android.permission.CAPTURE_TV_INPUT";
122    field public static final String CAPTURE_VOICE_COMMUNICATION_OUTPUT = "android.permission.CAPTURE_VOICE_COMMUNICATION_OUTPUT";
123    field public static final String CHANGE_APP_IDLE_STATE = "android.permission.CHANGE_APP_IDLE_STATE";
124    field public static final String CHANGE_APP_LAUNCH_TIME_ESTIMATE = "android.permission.CHANGE_APP_LAUNCH_TIME_ESTIMATE";
125    field public static final String CHANGE_DEVICE_IDLE_TEMP_WHITELIST = "android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST";
126    field public static final String CHECK_REMOTE_LOCKSCREEN = "android.permission.CHECK_REMOTE_LOCKSCREEN";
127    field public static final String CLEAR_APP_USER_DATA = "android.permission.CLEAR_APP_USER_DATA";
128    field public static final String COMPANION_APPROVE_WIFI_CONNECTIONS = "android.permission.COMPANION_APPROVE_WIFI_CONNECTIONS";
129    field public static final String CONFIGURE_DISPLAY_BRIGHTNESS = "android.permission.CONFIGURE_DISPLAY_BRIGHTNESS";
130    field @FlaggedApi("android.security.frp_enforcement") public static final String CONFIGURE_FACTORY_RESET_PROTECTION = "android.permission.CONFIGURE_FACTORY_RESET_PROTECTION";
131    field public static final String CONFIGURE_INTERACT_ACROSS_PROFILES = "android.permission.CONFIGURE_INTERACT_ACROSS_PROFILES";
132    field @Deprecated public static final String CONNECTIVITY_INTERNAL = "android.permission.CONNECTIVITY_INTERNAL";
133    field public static final String CONNECTIVITY_USE_RESTRICTED_NETWORKS = "android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS";
134    field public static final String CONTROL_DEVICE_LIGHTS = "android.permission.CONTROL_DEVICE_LIGHTS";
135    field public static final String CONTROL_DISPLAY_COLOR_TRANSFORMS = "android.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS";
136    field public static final String CONTROL_DISPLAY_SATURATION = "android.permission.CONTROL_DISPLAY_SATURATION";
137    field public static final String CONTROL_INCALL_EXPERIENCE = "android.permission.CONTROL_INCALL_EXPERIENCE";
138    field public static final String CONTROL_KEYGUARD_SECURE_NOTIFICATIONS = "android.permission.CONTROL_KEYGUARD_SECURE_NOTIFICATIONS";
139    field public static final String CONTROL_OEM_PAID_NETWORK_PREFERENCE = "android.permission.CONTROL_OEM_PAID_NETWORK_PREFERENCE";
140    field public static final String CONTROL_VPN = "android.permission.CONTROL_VPN";
141    field @FlaggedApi("android.app.admin.flags.split_create_managed_profile_enabled") public static final String COPY_ACCOUNTS = "android.permission.COPY_ACCOUNTS";
142    field public static final String CREATE_USERS = "android.permission.CREATE_USERS";
143    field public static final String CREATE_VIRTUAL_DEVICE = "android.permission.CREATE_VIRTUAL_DEVICE";
144    field public static final String CRYPT_KEEPER = "android.permission.CRYPT_KEEPER";
145    field public static final String DEVICE_POWER = "android.permission.DEVICE_POWER";
146    field public static final String DISABLE_SYSTEM_SOUND_EFFECTS = "android.permission.DISABLE_SYSTEM_SOUND_EFFECTS";
147    field public static final String DISPATCH_PROVISIONING_MESSAGE = "android.permission.DISPATCH_PROVISIONING_MESSAGE";
148    field public static final String DOMAIN_VERIFICATION_AGENT = "android.permission.DOMAIN_VERIFICATION_AGENT";
149    field @FlaggedApi("com.android.art.flags.executable_method_file_offsets") public static final String DYNAMIC_INSTRUMENTATION = "android.permission.DYNAMIC_INSTRUMENTATION";
150    field @FlaggedApi("com.android.window.flags.untrusted_embedding_any_app_permission") public static final String EMBED_ANY_APP_IN_UNTRUSTED_MODE = "android.permission.EMBED_ANY_APP_IN_UNTRUSTED_MODE";
151    field @FlaggedApi("android.content.pm.emergency_install_permission") public static final String EMERGENCY_INSTALL_PACKAGES = "android.permission.EMERGENCY_INSTALL_PACKAGES";
152    field public static final String ENTER_CAR_MODE_PRIORITIZED = "android.permission.ENTER_CAR_MODE_PRIORITIZED";
153    field @FlaggedApi("android.app.appfunctions.flags.enable_app_function_manager") public static final String EXECUTE_APP_FUNCTIONS = "android.permission.EXECUTE_APP_FUNCTIONS";
154    field @FlaggedApi("android.app.appfunctions.flags.enable_app_function_manager") public static final String EXECUTE_APP_FUNCTIONS_TRUSTED = "android.permission.EXECUTE_APP_FUNCTIONS_TRUSTED";
155    field public static final String EXEMPT_FROM_AUDIO_RECORD_RESTRICTIONS = "android.permission.EXEMPT_FROM_AUDIO_RECORD_RESTRICTIONS";
156    field public static final String FORCE_BACK = "android.permission.FORCE_BACK";
157    field public static final String FORCE_STOP_PACKAGES = "android.permission.FORCE_STOP_PACKAGES";
158    field public static final String GET_APP_METADATA = "android.permission.GET_APP_METADATA";
159    field public static final String GET_APP_OPS_STATS = "android.permission.GET_APP_OPS_STATS";
160    field @FlaggedApi("android.app.bic_client") public static final String GET_BACKGROUND_INSTALLED_PACKAGES = "android.permission.GET_BACKGROUND_INSTALLED_PACKAGES";
161    field @FlaggedApi("android.app.get_binding_uid_importance") public static final String GET_BINDING_UID_IMPORTANCE = "android.permission.GET_BINDING_UID_IMPORTANCE";
162    field public static final String GET_HISTORICAL_APP_OPS_STATS = "android.permission.GET_HISTORICAL_APP_OPS_STATS";
163    field public static final String GET_PROCESS_STATE_AND_OOM_SCORE = "android.permission.GET_PROCESS_STATE_AND_OOM_SCORE";
164    field public static final String GET_RUNTIME_PERMISSIONS = "android.permission.GET_RUNTIME_PERMISSIONS";
165    field public static final String GET_TOP_ACTIVITY_INFO = "android.permission.GET_TOP_ACTIVITY_INFO";
166    field @Deprecated public static final String GRANT_PROFILE_OWNER_DEVICE_IDS_ACCESS = "android.permission.GRANT_PROFILE_OWNER_DEVICE_IDS_ACCESS";
167    field public static final String GRANT_RUNTIME_PERMISSIONS = "android.permission.GRANT_RUNTIME_PERMISSIONS";
168    field public static final String GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS = "android.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS";
169    field public static final String HANDLE_CAR_MODE_CHANGES = "android.permission.HANDLE_CAR_MODE_CHANGES";
170    field public static final String HARDWARE_TEST = "android.permission.HARDWARE_TEST";
171    field public static final String HDMI_CEC = "android.permission.HDMI_CEC";
172    field @Deprecated public static final String HIDE_NON_SYSTEM_OVERLAY_WINDOWS = "android.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS";
173    field public static final String INJECT_EVENTS = "android.permission.INJECT_EVENTS";
174    field @FlaggedApi("android.content.pm.sdk_dependency_installer") public static final String INSTALL_DEPENDENCY_SHARED_LIBRARIES = "android.permission.INSTALL_DEPENDENCY_SHARED_LIBRARIES";
175    field public static final String INSTALL_DPC_PACKAGES = "android.permission.INSTALL_DPC_PACKAGES";
176    field public static final String INSTALL_DYNAMIC_SYSTEM = "android.permission.INSTALL_DYNAMIC_SYSTEM";
177    field public static final String INSTALL_EXISTING_PACKAGES = "com.android.permission.INSTALL_EXISTING_PACKAGES";
178    field public static final String INSTALL_GRANT_RUNTIME_PERMISSIONS = "android.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS";
179    field public static final String INSTALL_LOCATION_TIME_ZONE_PROVIDER_SERVICE = "android.permission.INSTALL_LOCATION_TIME_ZONE_PROVIDER_SERVICE";
180    field public static final String INSTALL_PACKAGE_UPDATES = "android.permission.INSTALL_PACKAGE_UPDATES";
181    field public static final String INSTALL_SELF_UPDATES = "android.permission.INSTALL_SELF_UPDATES";
182    field public static final String INTENT_FILTER_VERIFICATION_AGENT = "android.permission.INTENT_FILTER_VERIFICATION_AGENT";
183    field public static final String INTERACT_ACROSS_USERS = "android.permission.INTERACT_ACROSS_USERS";
184    field public static final String INTERACT_ACROSS_USERS_FULL = "android.permission.INTERACT_ACROSS_USERS_FULL";
185    field public static final String INTERNAL_SYSTEM_WINDOW = "android.permission.INTERNAL_SYSTEM_WINDOW";
186    field public static final String INVOKE_CARRIER_SETUP = "android.permission.INVOKE_CARRIER_SETUP";
187    field public static final String KEYPHRASE_ENROLLMENT_APPLICATION = "android.permission.KEYPHRASE_ENROLLMENT_APPLICATION";
188    field public static final String KILL_ALL_BACKGROUND_PROCESSES = "android.permission.KILL_ALL_BACKGROUND_PROCESSES";
189    field public static final String KILL_UID = "android.permission.KILL_UID";
190    field public static final String LAUNCH_DEVICE_MANAGER_SETUP = "android.permission.LAUNCH_DEVICE_MANAGER_SETUP";
191    field public static final String LAUNCH_PERMISSION_SETTINGS = "android.permission.LAUNCH_PERMISSION_SETTINGS";
192    field public static final String LOCAL_MAC_ADDRESS = "android.permission.LOCAL_MAC_ADDRESS";
193    field public static final String LOCATION_BYPASS = "android.permission.LOCATION_BYPASS";
194    field public static final String LOCK_DEVICE = "android.permission.LOCK_DEVICE";
195    field public static final String LOG_FOREGROUND_RESOURCE_USE = "android.permission.LOG_FOREGROUND_RESOURCE_USE";
196    field public static final String LOOP_RADIO = "android.permission.LOOP_RADIO";
197    field public static final String MANAGE_ACCESSIBILITY = "android.permission.MANAGE_ACCESSIBILITY";
198    field @Deprecated public static final String MANAGE_ACTIVITY_STACKS = "android.permission.MANAGE_ACTIVITY_STACKS";
199    field public static final String MANAGE_ACTIVITY_TASKS = "android.permission.MANAGE_ACTIVITY_TASKS";
200    field @FlaggedApi("android.security.aapm_api") public static final String MANAGE_ADVANCED_PROTECTION_MODE = "android.permission.MANAGE_ADVANCED_PROTECTION_MODE";
201    field public static final String MANAGE_APP_HIBERNATION = "android.permission.MANAGE_APP_HIBERNATION";
202    field public static final String MANAGE_APP_OPS_RESTRICTIONS = "android.permission.MANAGE_APP_OPS_RESTRICTIONS";
203    field public static final String MANAGE_APP_PREDICTIONS = "android.permission.MANAGE_APP_PREDICTIONS";
204    field public static final String MANAGE_APP_TOKENS = "android.permission.MANAGE_APP_TOKENS";
205    field public static final String MANAGE_AUTO_FILL = "android.permission.MANAGE_AUTO_FILL";
206    field public static final String MANAGE_BLUETOOTH_WHEN_WIRELESS_CONSENT_REQUIRED = "android.permission.MANAGE_BLUETOOTH_WHEN_WIRELESS_CONSENT_REQUIRED";
207    field public static final String MANAGE_CARRIER_OEM_UNLOCK_STATE = "android.permission.MANAGE_CARRIER_OEM_UNLOCK_STATE";
208    field public static final String MANAGE_CA_CERTIFICATES = "android.permission.MANAGE_CA_CERTIFICATES";
209    field public static final String MANAGE_CLIPBOARD_ACCESS_NOTIFICATION = "android.permission.MANAGE_CLIPBOARD_ACCESS_NOTIFICATION";
210    field public static final String MANAGE_CLOUDSEARCH = "android.permission.MANAGE_CLOUDSEARCH";
211    field public static final String MANAGE_CONTENT_CAPTURE = "android.permission.MANAGE_CONTENT_CAPTURE";
212    field public static final String MANAGE_CONTENT_SUGGESTIONS = "android.permission.MANAGE_CONTENT_SUGGESTIONS";
213    field public static final String MANAGE_DEBUGGING = "android.permission.MANAGE_DEBUGGING";
214    field public static final String MANAGE_DEFAULT_APPLICATIONS = "android.permission.MANAGE_DEFAULT_APPLICATIONS";
215    field public static final String MANAGE_DEVICE_ADMINS = "android.permission.MANAGE_DEVICE_ADMINS";
216    field public static final String MANAGE_DEVICE_POLICY_APP_EXEMPTIONS = "android.permission.MANAGE_DEVICE_POLICY_APP_EXEMPTIONS";
217    field public static final String MANAGE_DEVICE_POLICY_AUDIT_LOGGING = "android.permission.MANAGE_DEVICE_POLICY_AUDIT_LOGGING";
218    field @FlaggedApi("android.permission.flags.enhanced_confirmation_mode_apis_enabled") public static final String MANAGE_ENHANCED_CONFIRMATION_STATES = "android.permission.MANAGE_ENHANCED_CONFIRMATION_STATES";
219    field public static final String MANAGE_ETHERNET_NETWORKS = "android.permission.MANAGE_ETHERNET_NETWORKS";
220    field public static final String MANAGE_FACTORY_RESET_PROTECTION = "android.permission.MANAGE_FACTORY_RESET_PROTECTION";
221    field public static final String MANAGE_GAME_ACTIVITY = "android.permission.MANAGE_GAME_ACTIVITY";
222    field public static final String MANAGE_GAME_MODE = "android.permission.MANAGE_GAME_MODE";
223    field @FlaggedApi("android.media.tv.flags.media_quality_fw") public static final String MANAGE_GLOBAL_PICTURE_QUALITY_SERVICE = "android.permission.MANAGE_GLOBAL_PICTURE_QUALITY_SERVICE";
224    field @FlaggedApi("android.media.tv.flags.media_quality_fw") public static final String MANAGE_GLOBAL_SOUND_QUALITY_SERVICE = "android.permission.MANAGE_GLOBAL_SOUND_QUALITY_SERVICE";
225    field public static final String MANAGE_HOTWORD_DETECTION = "android.permission.MANAGE_HOTWORD_DETECTION";
226    field @FlaggedApi("android.security.afl_api") public static final String MANAGE_INTRUSION_DETECTION_STATE = "android.permission.MANAGE_INTRUSION_DETECTION_STATE";
227    field public static final String MANAGE_IPSEC_TUNNELS = "android.permission.MANAGE_IPSEC_TUNNELS";
228    field public static final String MANAGE_LOW_POWER_STANDBY = "android.permission.MANAGE_LOW_POWER_STANDBY";
229    field public static final String MANAGE_MUSIC_RECOGNITION = "android.permission.MANAGE_MUSIC_RECOGNITION";
230    field public static final String MANAGE_NOTIFICATION_LISTENERS = "android.permission.MANAGE_NOTIFICATION_LISTENERS";
231    field public static final String MANAGE_ONE_TIME_PERMISSION_SESSIONS = "android.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS";
232    field public static final String MANAGE_PROFILE_AND_DEVICE_OWNERS = "android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS";
233    field public static final String MANAGE_ROLE_HOLDERS = "android.permission.MANAGE_ROLE_HOLDERS";
234    field public static final String MANAGE_ROLLBACKS = "android.permission.MANAGE_ROLLBACKS";
235    field public static final String MANAGE_ROTATION_RESOLVER = "android.permission.MANAGE_ROTATION_RESOLVER";
236    field public static final String MANAGE_SAFETY_CENTER = "android.permission.MANAGE_SAFETY_CENTER";
237    field public static final String MANAGE_SEARCH_UI = "android.permission.MANAGE_SEARCH_UI";
238    field @FlaggedApi("android.security.secure_lockdown") public static final String MANAGE_SECURE_LOCK_DEVICE = "android.permission.MANAGE_SECURE_LOCK_DEVICE";
239    field public static final String MANAGE_SENSOR_PRIVACY = "android.permission.MANAGE_SENSOR_PRIVACY";
240    field public static final String MANAGE_SMARTSPACE = "android.permission.MANAGE_SMARTSPACE";
241    field public static final String MANAGE_SOUND_TRIGGER = "android.permission.MANAGE_SOUND_TRIGGER";
242    field public static final String MANAGE_SPEECH_RECOGNITION = "android.permission.MANAGE_SPEECH_RECOGNITION";
243    field public static final String MANAGE_SUBSCRIPTION_PLANS = "android.permission.MANAGE_SUBSCRIPTION_PLANS";
244    field public static final String MANAGE_SUBSCRIPTION_USER_ASSOCIATION = "android.permission.MANAGE_SUBSCRIPTION_USER_ASSOCIATION";
245    field public static final String MANAGE_TEST_NETWORKS = "android.permission.MANAGE_TEST_NETWORKS";
246    field public static final String MANAGE_TIME_AND_ZONE_DETECTION = "android.permission.MANAGE_TIME_AND_ZONE_DETECTION";
247    field public static final String MANAGE_UI_TRANSLATION = "android.permission.MANAGE_UI_TRANSLATION";
248    field public static final String MANAGE_USB = "android.permission.MANAGE_USB";
249    field public static final String MANAGE_USERS = "android.permission.MANAGE_USERS";
250    field public static final String MANAGE_USER_OEM_UNLOCK_STATE = "android.permission.MANAGE_USER_OEM_UNLOCK_STATE";
251    field public static final String MANAGE_VOICE_KEYPHRASES = "android.permission.MANAGE_VOICE_KEYPHRASES";
252    field public static final String MANAGE_WALLPAPER_EFFECTS_GENERATION = "android.permission.MANAGE_WALLPAPER_EFFECTS_GENERATION";
253    field public static final String MANAGE_WEAK_ESCROW_TOKEN = "android.permission.MANAGE_WEAK_ESCROW_TOKEN";
254    field public static final String MANAGE_WEARABLE_SENSING_SERVICE = "android.permission.MANAGE_WEARABLE_SENSING_SERVICE";
255    field public static final String MANAGE_WIFI_COUNTRY_CODE = "android.permission.MANAGE_WIFI_COUNTRY_CODE";
256    field public static final String MARK_DEVICE_ORGANIZATION_OWNED = "android.permission.MARK_DEVICE_ORGANIZATION_OWNED";
257    field public static final String MEDIA_RESOURCE_OVERRIDE_PID = "android.permission.MEDIA_RESOURCE_OVERRIDE_PID";
258    field public static final String MIGRATE_HEALTH_CONNECT_DATA = "android.permission.MIGRATE_HEALTH_CONNECT_DATA";
259    field public static final String MODIFY_APPWIDGET_BIND_PERMISSIONS = "android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS";
260    field public static final String MODIFY_AUDIO_ROUTING = "android.permission.MODIFY_AUDIO_ROUTING";
261    field public static final String MODIFY_AUDIO_SETTINGS_PRIVILEGED = "android.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED";
262    field public static final String MODIFY_CELL_BROADCASTS = "android.permission.MODIFY_CELL_BROADCASTS";
263    field public static final String MODIFY_DAY_NIGHT_MODE = "android.permission.MODIFY_DAY_NIGHT_MODE";
264    field @Deprecated public static final String MODIFY_NETWORK_ACCOUNTING = "android.permission.MODIFY_NETWORK_ACCOUNTING";
265    field public static final String MODIFY_PARENTAL_CONTROLS = "android.permission.MODIFY_PARENTAL_CONTROLS";
266    field public static final String MODIFY_QUIET_MODE = "android.permission.MODIFY_QUIET_MODE";
267    field public static final String MODIFY_SETTINGS_OVERRIDEABLE_BY_RESTORE = "android.permission.MODIFY_SETTINGS_OVERRIDEABLE_BY_RESTORE";
268    field public static final String MONITOR_DEVICE_CONFIG_ACCESS = "android.permission.MONITOR_DEVICE_CONFIG_ACCESS";
269    field public static final String MOVE_PACKAGE = "android.permission.MOVE_PACKAGE";
270    field public static final String NETWORK_AIRPLANE_MODE = "android.permission.NETWORK_AIRPLANE_MODE";
271    field public static final String NETWORK_CARRIER_PROVISIONING = "android.permission.NETWORK_CARRIER_PROVISIONING";
272    field public static final String NETWORK_FACTORY = "android.permission.NETWORK_FACTORY";
273    field public static final String NETWORK_MANAGED_PROVISIONING = "android.permission.NETWORK_MANAGED_PROVISIONING";
274    field public static final String NETWORK_SCAN = "android.permission.NETWORK_SCAN";
275    field public static final String NETWORK_SETTINGS = "android.permission.NETWORK_SETTINGS";
276    field public static final String NETWORK_SETUP_WIZARD = "android.permission.NETWORK_SETUP_WIZARD";
277    field public static final String NETWORK_SIGNAL_STRENGTH_WAKEUP = "android.permission.NETWORK_SIGNAL_STRENGTH_WAKEUP";
278    field public static final String NETWORK_STACK = "android.permission.NETWORK_STACK";
279    field public static final String NETWORK_STATS_PROVIDER = "android.permission.NETWORK_STATS_PROVIDER";
280    field public static final String NFC_SET_CONTROLLER_ALWAYS_ON = "android.permission.NFC_SET_CONTROLLER_ALWAYS_ON";
281    field public static final String NOTIFICATION_DURING_SETUP = "android.permission.NOTIFICATION_DURING_SETUP";
282    field public static final String NOTIFY_TV_INPUTS = "android.permission.NOTIFY_TV_INPUTS";
283    field public static final String OBSERVE_APP_USAGE = "android.permission.OBSERVE_APP_USAGE";
284    field public static final String OBSERVE_NETWORK_POLICY = "android.permission.OBSERVE_NETWORK_POLICY";
285    field public static final String OBSERVE_ROLE_HOLDERS = "android.permission.OBSERVE_ROLE_HOLDERS";
286    field public static final String OBSERVE_SENSOR_PRIVACY = "android.permission.OBSERVE_SENSOR_PRIVACY";
287    field public static final String OPEN_ACCESSIBILITY_DETAILS_SETTINGS = "android.permission.OPEN_ACCESSIBILITY_DETAILS_SETTINGS";
288    field public static final String OVERRIDE_COMPAT_CHANGE_CONFIG_ON_RELEASE_BUILD = "android.permission.OVERRIDE_COMPAT_CHANGE_CONFIG_ON_RELEASE_BUILD";
289    field @FlaggedApi("com.android.input.flags.override_key_behavior_permission_apis") public static final String OVERRIDE_SYSTEM_KEY_BEHAVIOR_IN_FOCUSED_WINDOW = "android.permission.OVERRIDE_SYSTEM_KEY_BEHAVIOR_IN_FOCUSED_WINDOW";
290    field public static final String PACKAGE_VERIFICATION_AGENT = "android.permission.PACKAGE_VERIFICATION_AGENT";
291    field public static final String PACKET_KEEPALIVE_OFFLOAD = "android.permission.PACKET_KEEPALIVE_OFFLOAD";
292    field public static final String PEERS_MAC_ADDRESS = "android.permission.PEERS_MAC_ADDRESS";
293    field public static final String PERFORM_CDMA_PROVISIONING = "android.permission.PERFORM_CDMA_PROVISIONING";
294    field public static final String PERFORM_IMS_SINGLE_REGISTRATION = "android.permission.PERFORM_IMS_SINGLE_REGISTRATION";
295    field public static final String PERFORM_SIM_ACTIVATION = "android.permission.PERFORM_SIM_ACTIVATION";
296    field public static final String POWER_SAVER = "android.permission.POWER_SAVER";
297    field @FlaggedApi("android.permission.flags.factory_reset_prep_permission_apis") public static final String PREPARE_FACTORY_RESET = "android.permission.PREPARE_FACTORY_RESET";
298    field public static final String PROVIDE_DEFAULT_ENABLED_CREDENTIAL_SERVICE = "android.permission.PROVIDE_DEFAULT_ENABLED_CREDENTIAL_SERVICE";
299    field public static final String PROVIDE_RESOLVER_RANKER_SERVICE = "android.permission.PROVIDE_RESOLVER_RANKER_SERVICE";
300    field public static final String PROVIDE_TRUST_AGENT = "android.permission.PROVIDE_TRUST_AGENT";
301    field public static final String PROVISION_DEMO_DEVICE = "android.permission.PROVISION_DEMO_DEVICE";
302    field @FlaggedApi("android.content.pm.quarantined_enabled") public static final String QUARANTINE_APPS = "android.permission.QUARANTINE_APPS";
303    field public static final String QUERY_ADMIN_POLICY = "android.permission.QUERY_ADMIN_POLICY";
304    field public static final String QUERY_CLONED_APPS = "android.permission.QUERY_CLONED_APPS";
305    field @FlaggedApi("android.app.admin.flags.device_theft_api_enabled") public static final String QUERY_DEVICE_STOLEN_STATE = "android.permission.QUERY_DEVICE_STOLEN_STATE";
306    field @Deprecated public static final String QUERY_TIME_ZONE_RULES = "android.permission.QUERY_TIME_ZONE_RULES";
307    field public static final String QUERY_USERS = "android.permission.QUERY_USERS";
308    field public static final String RADIO_SCAN_WITHOUT_LOCATION = "android.permission.RADIO_SCAN_WITHOUT_LOCATION";
309    field public static final String READ_ACTIVE_EMERGENCY_SESSION = "android.permission.READ_ACTIVE_EMERGENCY_SESSION";
310    field public static final String READ_APP_SPECIFIC_LOCALES = "android.permission.READ_APP_SPECIFIC_LOCALES";
311    field @FlaggedApi("com.android.server.telecom.flags.telecom_resolve_hidden_dependencies") public static final String READ_BLOCKED_NUMBERS = "android.permission.READ_BLOCKED_NUMBERS";
312    field public static final String READ_CARRIER_APP_INFO = "android.permission.READ_CARRIER_APP_INFO";
313    field public static final String READ_CELL_BROADCASTS = "android.permission.READ_CELL_BROADCASTS";
314    field public static final String READ_CLIPBOARD_IN_BACKGROUND = "android.permission.READ_CLIPBOARD_IN_BACKGROUND";
315    field public static final String READ_CONTENT_RATING_SYSTEMS = "android.permission.READ_CONTENT_RATING_SYSTEMS";
316    field public static final String READ_DEVICE_CONFIG = "android.permission.READ_DEVICE_CONFIG";
317    field public static final String READ_DREAM_STATE = "android.permission.READ_DREAM_STATE";
318    field public static final String READ_GLOBAL_APP_SEARCH_DATA = "android.permission.READ_GLOBAL_APP_SEARCH_DATA";
319    field @FlaggedApi("android.content.pm.get_resolved_apk_path") public static final String READ_INSTALLED_SESSION_PATHS = "android.permission.READ_INSTALLED_SESSION_PATHS";
320    field public static final String READ_INSTALL_SESSIONS = "android.permission.READ_INSTALL_SESSIONS";
321    field @FlaggedApi("android.security.afl_api") public static final String READ_INTRUSION_DETECTION_STATE = "android.permission.READ_INTRUSION_DETECTION_STATE";
322    field public static final String READ_NETWORK_USAGE_HISTORY = "android.permission.READ_NETWORK_USAGE_HISTORY";
323    field public static final String READ_OEM_UNLOCK_STATE = "android.permission.READ_OEM_UNLOCK_STATE";
324    field public static final String READ_PEOPLE_DATA = "android.permission.READ_PEOPLE_DATA";
325    field public static final String READ_PRINT_SERVICES = "android.permission.READ_PRINT_SERVICES";
326    field public static final String READ_PRINT_SERVICE_RECOMMENDATIONS = "android.permission.READ_PRINT_SERVICE_RECOMMENDATIONS";
327    field public static final String READ_PRIVILEGED_PHONE_STATE = "android.permission.READ_PRIVILEGED_PHONE_STATE";
328    field public static final String READ_PROJECTION_STATE = "android.permission.READ_PROJECTION_STATE";
329    field public static final String READ_RESTRICTED_STATS = "android.permission.READ_RESTRICTED_STATS";
330    field public static final String READ_RUNTIME_PROFILES = "android.permission.READ_RUNTIME_PROFILES";
331    field public static final String READ_SAFETY_CENTER_STATUS = "android.permission.READ_SAFETY_CENTER_STATUS";
332    field public static final String READ_SEARCH_INDEXABLES = "android.permission.READ_SEARCH_INDEXABLES";
333    field @FlaggedApi("com.android.internal.telephony.flags.subscription_plan_allow_status_and_end_date") public static final String READ_SUBSCRIPTION_PLANS = "android.permission.READ_SUBSCRIPTION_PLANS";
334    field @FlaggedApi("android.app.system_terms_of_address_enabled") public static final String READ_SYSTEM_GRAMMATICAL_GENDER = "android.permission.READ_SYSTEM_GRAMMATICAL_GENDER";
335    field public static final String READ_SYSTEM_UPDATE_INFO = "android.permission.READ_SYSTEM_UPDATE_INFO";
336    field public static final String READ_WALLPAPER_INTERNAL = "android.permission.READ_WALLPAPER_INTERNAL";
337    field public static final String READ_WIFI_CREDENTIAL = "android.permission.READ_WIFI_CREDENTIAL";
338    field public static final String READ_WRITE_SYNC_DISABLED_MODE_CONFIG = "android.permission.READ_WRITE_SYNC_DISABLED_MODE_CONFIG";
339    field public static final String REAL_GET_TASKS = "android.permission.REAL_GET_TASKS";
340    field public static final String RECEIVE_BLUETOOTH_MAP = "android.permission.RECEIVE_BLUETOOTH_MAP";
341    field public static final String RECEIVE_DATA_ACTIVITY_CHANGE = "android.permission.RECEIVE_DATA_ACTIVITY_CHANGE";
342    field public static final String RECEIVE_DEVICE_CUSTOMIZATION_READY = "android.permission.RECEIVE_DEVICE_CUSTOMIZATION_READY";
343    field public static final String RECEIVE_EMERGENCY_BROADCAST = "android.permission.RECEIVE_EMERGENCY_BROADCAST";
344    field @FlaggedApi("android.permission.flags.voice_activation_permission_apis") public static final String RECEIVE_SANDBOX_TRIGGER_AUDIO = "android.permission.RECEIVE_SANDBOX_TRIGGER_AUDIO";
345    field @FlaggedApi("android.view.flags.sensitive_content_app_protection_api") public static final String RECEIVE_SENSITIVE_NOTIFICATIONS = "android.permission.RECEIVE_SENSITIVE_NOTIFICATIONS";
346    field public static final String RECEIVE_WIFI_CREDENTIAL_CHANGE = "android.permission.RECEIVE_WIFI_CREDENTIAL_CHANGE";
347    field public static final String RECORD_BACKGROUND_AUDIO = "android.permission.RECORD_BACKGROUND_AUDIO";
348    field public static final String RECOVERY = "android.permission.RECOVERY";
349    field public static final String RECOVER_KEYSTORE = "android.permission.RECOVER_KEYSTORE";
350    field public static final String REGISTER_CALL_PROVIDER = "android.permission.REGISTER_CALL_PROVIDER";
351    field public static final String REGISTER_CONNECTION_MANAGER = "android.permission.REGISTER_CONNECTION_MANAGER";
352    field @FlaggedApi("android.net.platform.flags.register_nsd_offload_engine") public static final String REGISTER_NSD_OFFLOAD_ENGINE = "android.permission.REGISTER_NSD_OFFLOAD_ENGINE";
353    field public static final String REGISTER_SIM_SUBSCRIPTION = "android.permission.REGISTER_SIM_SUBSCRIPTION";
354    field public static final String REGISTER_STATS_PULL_ATOM = "android.permission.REGISTER_STATS_PULL_ATOM";
355    field public static final String REMOTE_DISPLAY_PROVIDER = "android.permission.REMOTE_DISPLAY_PROVIDER";
356    field @FlaggedApi("android.app.admin.flags.split_create_managed_profile_enabled") public static final String REMOVE_ACCOUNTS = "android.permission.REMOVE_ACCOUNTS";
357    field public static final String REMOVE_DRM_CERTIFICATES = "android.permission.REMOVE_DRM_CERTIFICATES";
358    field public static final String REMOVE_TASKS = "android.permission.REMOVE_TASKS";
359    field public static final String RENOUNCE_PERMISSIONS = "android.permission.RENOUNCE_PERMISSIONS";
360    field @FlaggedApi("android.app.usage.report_usage_stats_permission") public static final String REPORT_USAGE_STATS = "android.permission.REPORT_USAGE_STATS";
361    field @Deprecated public static final String REQUEST_NETWORK_SCORES = "android.permission.REQUEST_NETWORK_SCORES";
362    field public static final String REQUEST_NOTIFICATION_ASSISTANT_SERVICE = "android.permission.REQUEST_NOTIFICATION_ASSISTANT_SERVICE";
363    field public static final String RESET_PASSWORD = "android.permission.RESET_PASSWORD";
364    field public static final String RESTART_WIFI_SUBSYSTEM = "android.permission.RESTART_WIFI_SUBSYSTEM";
365    field @FlaggedApi("android.permission.flags.health_connect_backup_restore_permission_enabled") public static final String RESTORE_HEALTH_CONNECT_DATA_AND_SETTINGS = "android.permission.RESTORE_HEALTH_CONNECT_DATA_AND_SETTINGS";
366    field public static final String RESTORE_RUNTIME_PERMISSIONS = "android.permission.RESTORE_RUNTIME_PERMISSIONS";
367    field public static final String RESTRICTED_VR_ACCESS = "android.permission.RESTRICTED_VR_ACCESS";
368    field public static final String RETRIEVE_WINDOW_CONTENT = "android.permission.RETRIEVE_WINDOW_CONTENT";
369    field public static final String REVIEW_ACCESSIBILITY_SERVICES = "android.permission.REVIEW_ACCESSIBILITY_SERVICES";
370    field public static final String REVOKE_RUNTIME_PERMISSIONS = "android.permission.REVOKE_RUNTIME_PERMISSIONS";
371    field public static final String ROTATE_SURFACE_FLINGER = "android.permission.ROTATE_SURFACE_FLINGER";
372    field public static final String SATELLITE_COMMUNICATION = "android.permission.SATELLITE_COMMUNICATION";
373    field public static final String SCHEDULE_PRIORITIZED_ALARM = "android.permission.SCHEDULE_PRIORITIZED_ALARM";
374    field @Deprecated public static final String SCORE_NETWORKS = "android.permission.SCORE_NETWORKS";
375    field public static final String SECURE_ELEMENT_PRIVILEGED_OPERATION = "android.permission.SECURE_ELEMENT_PRIVILEGED_OPERATION";
376    field public static final String SEND_CATEGORY_CAR_NOTIFICATIONS = "android.permission.SEND_CATEGORY_CAR_NOTIFICATIONS";
377    field public static final String SEND_DEVICE_CUSTOMIZATION_READY = "android.permission.SEND_DEVICE_CUSTOMIZATION_READY";
378    field public static final String SEND_SAFETY_CENTER_UPDATE = "android.permission.SEND_SAFETY_CENTER_UPDATE";
379    field public static final String SEND_SHOW_SUSPENDED_APP_DETAILS = "android.permission.SEND_SHOW_SUSPENDED_APP_DETAILS";
380    field public static final String SEND_SMS_NO_CONFIRMATION = "android.permission.SEND_SMS_NO_CONFIRMATION";
381    field public static final String SERIAL_PORT = "android.permission.SERIAL_PORT";
382    field @FlaggedApi("android.security.fsverity_api") public static final String SETUP_FSVERITY = "android.permission.SETUP_FSVERITY";
383    field public static final String SET_ACTIVITY_WATCHER = "android.permission.SET_ACTIVITY_WATCHER";
384    field public static final String SET_CLIP_SOURCE = "android.permission.SET_CLIP_SOURCE";
385    field public static final String SET_DEFAULT_ACCOUNT_FOR_CONTACTS = "android.permission.SET_DEFAULT_ACCOUNT_FOR_CONTACTS";
386    field public static final String SET_HARMFUL_APP_WARNINGS = "android.permission.SET_HARMFUL_APP_WARNINGS";
387    field public static final String SET_LOW_POWER_STANDBY_PORTS = "android.permission.SET_LOW_POWER_STANDBY_PORTS";
388    field public static final String SET_MEDIA_KEY_LISTENER = "android.permission.SET_MEDIA_KEY_LISTENER";
389    field public static final String SET_ORIENTATION = "android.permission.SET_ORIENTATION";
390    field public static final String SET_POINTER_SPEED = "android.permission.SET_POINTER_SPEED";
391    field public static final String SET_SCREEN_COMPATIBILITY = "android.permission.SET_SCREEN_COMPATIBILITY";
392    field public static final String SET_SYSTEM_AUDIO_CAPTION = "android.permission.SET_SYSTEM_AUDIO_CAPTION";
393    field public static final String SET_UNRESTRICTED_KEEP_CLEAR_AREAS = "android.permission.SET_UNRESTRICTED_KEEP_CLEAR_AREAS";
394    field public static final String SET_VOLUME_KEY_LONG_PRESS_LISTENER = "android.permission.SET_VOLUME_KEY_LONG_PRESS_LISTENER";
395    field public static final String SET_WALLPAPER_COMPONENT = "android.permission.SET_WALLPAPER_COMPONENT";
396    field public static final String SET_WALLPAPER_DIM_AMOUNT = "android.permission.SET_WALLPAPER_DIM_AMOUNT";
397    field @FlaggedApi("android.nfc.enable_nfc_mainline") public static final String SHOW_CUSTOMIZED_RESOLVER = "android.permission.SHOW_CUSTOMIZED_RESOLVER";
398    field public static final String SHOW_KEYGUARD_MESSAGE = "android.permission.SHOW_KEYGUARD_MESSAGE";
399    field public static final String SHUTDOWN = "android.permission.SHUTDOWN";
400    field public static final String SIGNAL_REBOOT_READINESS = "android.permission.SIGNAL_REBOOT_READINESS";
401    field @FlaggedApi("android.media.tv.flags.kids_mode_tvdb_sharing") public static final String SINGLE_USER_TIS_ACCESS = "android.permission.SINGLE_USER_TIS_ACCESS";
402    field public static final String SOUND_TRIGGER_RUN_IN_BATTERY_SAVER = "android.permission.SOUND_TRIGGER_RUN_IN_BATTERY_SAVER";
403    field public static final String STAGE_HEALTH_CONNECT_REMOTE_DATA = "android.permission.STAGE_HEALTH_CONNECT_REMOTE_DATA";
404    field public static final String START_ACTIVITIES_FROM_BACKGROUND = "android.permission.START_ACTIVITIES_FROM_BACKGROUND";
405    field public static final String START_CROSS_PROFILE_ACTIVITIES = "android.permission.START_CROSS_PROFILE_ACTIVITIES";
406    field public static final String START_REVIEW_PERMISSION_DECISIONS = "android.permission.START_REVIEW_PERMISSION_DECISIONS";
407    field public static final String START_TASKS_FROM_RECENTS = "android.permission.START_TASKS_FROM_RECENTS";
408    field @FlaggedApi("android.os.vibrator.vendor_vibration_effects") public static final String START_VIBRATION_SESSIONS = "android.permission.START_VIBRATION_SESSIONS";
409    field public static final String STATUS_BAR_SERVICE = "android.permission.STATUS_BAR_SERVICE";
410    field public static final String STOP_APP_SWITCHES = "android.permission.STOP_APP_SWITCHES";
411    field public static final String SUBSTITUTE_NOTIFICATION_APP_NAME = "android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME";
412    field public static final String SUBSTITUTE_SHARE_TARGET_APP_NAME_AND_ICON = "android.permission.SUBSTITUTE_SHARE_TARGET_APP_NAME_AND_ICON";
413    field public static final String SUGGEST_EXTERNAL_TIME = "android.permission.SUGGEST_EXTERNAL_TIME";
414    field public static final String SUSPEND_APPS = "android.permission.SUSPEND_APPS";
415    field public static final String SYSTEM_APPLICATION_OVERLAY = "android.permission.SYSTEM_APPLICATION_OVERLAY";
416    field public static final String SYSTEM_CAMERA = "android.permission.SYSTEM_CAMERA";
417    field public static final String TETHER_PRIVILEGED = "android.permission.TETHER_PRIVILEGED";
418    field @FlaggedApi("com.android.net.thread.platform.flags.thread_enabled_platform") public static final String THREAD_NETWORK_PRIVILEGED = "android.permission.THREAD_NETWORK_PRIVILEGED";
419    field public static final String TIS_EXTENSION_INTERFACE = "android.permission.TIS_EXTENSION_INTERFACE";
420    field public static final String TOGGLE_AUTOMOTIVE_PROJECTION = "android.permission.TOGGLE_AUTOMOTIVE_PROJECTION";
421    field public static final String TRIGGER_LOST_MODE = "android.permission.TRIGGER_LOST_MODE";
422    field public static final String TV_INPUT_HARDWARE = "android.permission.TV_INPUT_HARDWARE";
423    field public static final String TV_VIRTUAL_REMOTE_CONTROLLER = "android.permission.TV_VIRTUAL_REMOTE_CONTROLLER";
424    field public static final String UNLIMITED_SHORTCUTS_API_CALLS = "android.permission.UNLIMITED_SHORTCUTS_API_CALLS";
425    field public static final String UPDATE_APP_OPS_STATS = "android.permission.UPDATE_APP_OPS_STATS";
426    field public static final String UPDATE_DEVICE_MANAGEMENT_RESOURCES = "android.permission.UPDATE_DEVICE_MANAGEMENT_RESOURCES";
427    field public static final String UPDATE_DOMAIN_VERIFICATION_USER_SELECTION = "android.permission.UPDATE_DOMAIN_VERIFICATION_USER_SELECTION";
428    field public static final String UPDATE_FONTS = "android.permission.UPDATE_FONTS";
429    field public static final String UPDATE_LOCK = "android.permission.UPDATE_LOCK";
430    field @Deprecated public static final String UPDATE_TIME_ZONE_RULES = "android.permission.UPDATE_TIME_ZONE_RULES";
431    field public static final String UPGRADE_RUNTIME_PERMISSIONS = "android.permission.UPGRADE_RUNTIME_PERMISSIONS";
432    field public static final String USER_ACTIVITY = "android.permission.USER_ACTIVITY";
433    field public static final String USE_COLORIZED_NOTIFICATIONS = "android.permission.USE_COLORIZED_NOTIFICATIONS";
434    field @FlaggedApi("android.app.ondeviceintelligence.flags.enable_on_device_intelligence") public static final String USE_ON_DEVICE_INTELLIGENCE = "android.permission.USE_ON_DEVICE_INTELLIGENCE";
435    field public static final String USE_RESERVED_DISK = "android.permission.USE_RESERVED_DISK";
436    field public static final String UWB_PRIVILEGED = "android.permission.UWB_PRIVILEGED";
437    field @FlaggedApi("android.os.vibrator.vendor_vibration_effects") public static final String VIBRATE_VENDOR_EFFECTS = "android.permission.VIBRATE_VENDOR_EFFECTS";
438    field public static final String WHITELIST_AUTO_REVOKE_PERMISSIONS = "android.permission.WHITELIST_AUTO_REVOKE_PERMISSIONS";
439    field public static final String WHITELIST_RESTRICTED_PERMISSIONS = "android.permission.WHITELIST_RESTRICTED_PERMISSIONS";
440    field public static final String WIFI_ACCESS_COEX_UNSAFE_CHANNELS = "android.permission.WIFI_ACCESS_COEX_UNSAFE_CHANNELS";
441    field public static final String WIFI_SET_DEVICE_MOBILITY_STATE = "android.permission.WIFI_SET_DEVICE_MOBILITY_STATE";
442    field public static final String WIFI_UPDATE_COEX_UNSAFE_CHANNELS = "android.permission.WIFI_UPDATE_COEX_UNSAFE_CHANNELS";
443    field public static final String WIFI_UPDATE_USABILITY_STATS_SCORE = "android.permission.WIFI_UPDATE_USABILITY_STATS_SCORE";
444    field public static final String WRITE_ALLOWLISTED_DEVICE_CONFIG = "android.permission.WRITE_ALLOWLISTED_DEVICE_CONFIG";
445    field @FlaggedApi("com.android.server.telecom.flags.telecom_resolve_hidden_dependencies") public static final String WRITE_BLOCKED_NUMBERS = "android.permission.WRITE_BLOCKED_NUMBERS";
446    field public static final String WRITE_DEVICE_CONFIG = "android.permission.WRITE_DEVICE_CONFIG";
447    field public static final String WRITE_DREAM_STATE = "android.permission.WRITE_DREAM_STATE";
448    field public static final String WRITE_EMBEDDED_SUBSCRIPTIONS = "android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS";
449    field @Deprecated public static final String WRITE_MEDIA_STORAGE = "android.permission.WRITE_MEDIA_STORAGE";
450    field public static final String WRITE_OBB = "android.permission.WRITE_OBB";
451    field public static final String WRITE_SECURITY_LOG = "android.permission.WRITE_SECURITY_LOG";
452    field public static final String WRITE_SMS = "android.permission.WRITE_SMS";
453    field @FlaggedApi("android.provider.user_keys") public static final String WRITE_VERIFICATION_STATE_E2EE_CONTACT_KEYS = "android.permission.WRITE_VERIFICATION_STATE_E2EE_CONTACT_KEYS";
454  }
455
456  public static final class Manifest.permission_group {
457    field public static final String UNDEFINED = "android.permission-group.UNDEFINED";
458  }
459
460  public static final class R.array {
461    field public static final int config_keySystemUuidMapping = 17235973; // 0x1070005
462    field public static final int config_optionalIpSecAlgorithms = 17235974; // 0x1070006
463  }
464
465  public static final class R.attr {
466    field public static final int allowClearUserDataOnFailedRestore = 16844288; // 0x1010600
467    field @FlaggedApi("android.permission.flags.replace_body_sensor_permission_enabled") public static final int backgroundPermission;
468    field @FlaggedApi("android.content.res.manifest_flagging") public static final int featureFlag = 16844428; // 0x101068c
469    field public static final int gameSessionService = 16844373; // 0x1010655
470    field public static final int hotwordDetectionService = 16844326; // 0x1010626
471    field @FlaggedApi("android.companion.virtual.flags.vdm_custom_ime") public static final int isVirtualDeviceOnly = 16844425; // 0x1010689
472    field public static final int isVrOnly = 16844152; // 0x1010578
473    field public static final int minExtensionVersion = 16844305; // 0x1010611
474    field public static final int playHomeTransitionSound = 16844358; // 0x1010646
475    field public static final int requiredSystemPropertyName = 16844133; // 0x1010565
476    field public static final int requiredSystemPropertyValue = 16844134; // 0x1010566
477    field public static final int sdkVersion = 16844304; // 0x1010610
478    field public static final int supportsAmbientMode = 16844173; // 0x101058d
479    field public static final int userRestriction = 16844164; // 0x1010584
480    field public static final int visualQueryDetectionService = 16844410; // 0x101067a
481  }
482
483  public static final class R.bool {
484    field public static final int config_enableDefaultNotes = 17891338; // 0x111000a
485    field public static final int config_enableDefaultNotesForWorkProfile = 17891339; // 0x111000b
486    field public static final int config_enableQrCodeScannerOnLockScreen = 17891336; // 0x1110008
487    field public static final int config_safetyProtectionEnabled = 17891337; // 0x1110009
488    field public static final int config_sendPackageName = 17891328; // 0x1110000
489    field public static final int config_showDefaultAssistant = 17891329; // 0x1110001
490    field public static final int config_showDefaultEmergency = 17891330; // 0x1110002
491    field public static final int config_showDefaultHome = 17891331; // 0x1110003
492  }
493
494  public static final class R.color {
495    field public static final int system_notification_accent_color = 17170460; // 0x106001c
496  }
497
498  public static final class R.dimen {
499    field public static final int config_restrictedIconSize = 17104903; // 0x1050007
500    field public static final int config_viewConfigurationHandwritingGestureLineMargin = 17104906; // 0x105000a
501  }
502
503  public static final class R.drawable {
504    field public static final int ic_info = 17301684; // 0x10800b4
505    field public static final int ic_safety_protection = 17301685; // 0x10800b5
506  }
507
508  public static final class R.raw {
509    field public static final int loaderror = 17825792; // 0x1100000
510    field public static final int nodomain = 17825793; // 0x1100001
511  }
512
513  public static final class R.string {
514    field public static final int config_customMediaKeyDispatcher = 17039404; // 0x104002c
515    field public static final int config_customMediaSessionPolicyProvider = 17039405; // 0x104002d
516    field public static final int config_defaultAssistant = 17039393; // 0x1040021
517    field public static final int config_defaultAutomotiveNavigation = 17039424; // 0x1040040
518    field public static final int config_defaultBrowser = 17039394; // 0x1040022
519    field public static final int config_defaultCallRedirection = 17039397; // 0x1040025
520    field public static final int config_defaultCallScreening = 17039398; // 0x1040026
521    field public static final int config_defaultDialer = 17039395; // 0x1040023
522    field public static final int config_defaultNotes = 17039429; // 0x1040045
523    field @FlaggedApi("android.permission.flags.cross_user_role_platform_api_enabled") public static final int config_defaultReservedForTestingProfileGroupExclusivity;
524    field @FlaggedApi("android.permission.flags.retail_demo_role_enabled") public static final int config_defaultRetailDemo = 17039432; // 0x1040048
525    field public static final int config_defaultSms = 17039396; // 0x1040024
526    field @FlaggedApi("android.permission.flags.wallet_role_enabled") public static final int config_defaultWallet = 17039433; // 0x1040049
527    field public static final int config_devicePolicyManagement = 17039421; // 0x104003d
528    field public static final int config_feedbackIntentExtraKey = 17039391; // 0x104001f
529    field public static final int config_feedbackIntentNameKey = 17039392; // 0x1040020
530    field public static final int config_helpIntentExtraKey = 17039389; // 0x104001d
531    field public static final int config_helpIntentNameKey = 17039390; // 0x104001e
532    field public static final int config_helpPackageNameKey = 17039387; // 0x104001b
533    field public static final int config_helpPackageNameValue = 17039388; // 0x104001c
534    field public static final int config_systemActivityRecognizer = 17039416; // 0x1040038
535    field public static final int config_systemAmbientAudioIntelligence = 17039411; // 0x1040033
536    field public static final int config_systemAppProtectionService = 17039422; // 0x104003e
537    field public static final int config_systemAudioIntelligence = 17039412; // 0x1040034
538    field public static final int config_systemAutomotiveCalendarSyncManager = 17039423; // 0x104003f
539    field public static final int config_systemAutomotiveCluster = 17039400; // 0x1040028
540    field public static final int config_systemAutomotiveProjection = 17039401; // 0x1040029
541    field public static final int config_systemCallStreaming = 17039431; // 0x1040047
542    field public static final int config_systemCompanionDeviceProvider = 17039417; // 0x1040039
543    field public static final int config_systemContacts = 17039403; // 0x104002b
544    field @FlaggedApi("android.content.pm.sdk_dependency_installer") public static final int config_systemDependencyInstaller;
545    field public static final int config_systemFinancedDeviceController = 17039430; // 0x1040046
546    field public static final int config_systemGallery = 17039399; // 0x1040027
547    field public static final int config_systemNotificationIntelligence = 17039413; // 0x1040035
548    field public static final int config_systemSettingsIntelligence = 17039426; // 0x1040042
549    field public static final int config_systemShell = 17039402; // 0x104002a
550    field public static final int config_systemSpeechRecognizer = 17039406; // 0x104002e
551    field public static final int config_systemSupervision = 17039420; // 0x104003c
552    field public static final int config_systemTelevisionNotificationHandler = 17039409; // 0x1040031
553    field public static final int config_systemTextIntelligence = 17039414; // 0x1040036
554    field public static final int config_systemUi = 17039418; // 0x104003a
555    field public static final int config_systemUiIntelligence = 17039410; // 0x1040032
556    field @FlaggedApi("android.permission.flags.system_vendor_intelligence_role_enabled") public static final int config_systemVendorIntelligence;
557    field public static final int config_systemVisualIntelligence = 17039415; // 0x1040037
558    field public static final int config_systemWearHealthService = 17039428; // 0x1040044
559    field public static final int config_systemWellbeing = 17039408; // 0x1040030
560    field public static final int config_systemWifiCoexManager = 17039407; // 0x104002f
561    field public static final int safety_protection_display_text = 17039425; // 0x1040041
562  }
563
564  public static final class R.style {
565    field public static final int Theme_DeviceDefault_DocumentsUI = 16974562; // 0x10302e2
566    field public static final int Theme_Leanback_FormWizard = 16974544; // 0x10302d0
567  }
568
569}
570
571package android.accessibilityservice {
572
573  public class AccessibilityServiceInfo implements android.os.Parcelable {
574    method public void setAccessibilityTool(boolean);
575  }
576
577}
578
579package android.accounts {
580
581  public class AccountManager {
582    method @FlaggedApi("android.app.admin.flags.split_create_managed_profile_enabled") @NonNull @RequiresPermission(anyOf={android.Manifest.permission.COPY_ACCOUNTS, android.Manifest.permission.INTERACT_ACROSS_USERS_FULL}) public android.accounts.AccountManagerFuture<java.lang.Boolean> copyAccountToUser(@NonNull android.accounts.Account, @NonNull android.os.UserHandle, @NonNull android.os.UserHandle, @Nullable android.accounts.AccountManagerCallback<java.lang.Boolean>, @Nullable android.os.Handler);
583    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);
584  }
585
586}
587
588package android.adservices.adid {
589
590  public abstract class AdIdProviderService extends android.app.Service {
591    ctor public AdIdProviderService();
592    method @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent);
593    method @NonNull public abstract android.adservices.adid.AdId onGetAdId(int, @NonNull String) throws java.io.IOException;
594    field public static final String SERVICE_INTERFACE = "android.adservices.adid.AdIdProviderService";
595  }
596
597}
598
599package android.adservices.appsetid {
600
601  public abstract class AppSetIdProviderService extends android.app.Service {
602    ctor public AppSetIdProviderService();
603    method @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent);
604    method @NonNull public abstract android.adservices.appsetid.AppSetId onGetAppSetId(int, @NonNull String) throws java.io.IOException;
605    field public static final String SERVICE_INTERFACE = "android.adservices.appsetid.AppSetIdProviderService";
606  }
607
608}
609
610package android.adservices.cobalt {
611
612  public abstract class AdServicesCobaltUploadService extends android.app.Service {
613    ctor public AdServicesCobaltUploadService();
614    method @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent);
615    method public abstract void onUploadEncryptedCobaltEnvelope(@NonNull android.adservices.cobalt.EncryptedCobaltEnvelopeParams);
616    field public static final String SERVICE_INTERFACE = "android.adservices.cobalt.AdServicesCobaltUploadService";
617  }
618
619  public final class EncryptedCobaltEnvelopeParams implements android.os.Parcelable {
620    ctor public EncryptedCobaltEnvelopeParams(int, @NonNull int, @NonNull byte[]);
621    method public int describeContents();
622    method @NonNull public byte[] getCipherText();
623    method @NonNull public int getEnvironment();
624    method @NonNull public int getKeyIndex();
625    method public void writeToParcel(@NonNull android.os.Parcel, int);
626    field @NonNull public static final android.os.Parcelable.Creator<android.adservices.cobalt.EncryptedCobaltEnvelopeParams> CREATOR;
627    field public static final int ENVIRONMENT_DEV = 1; // 0x1
628    field public static final int ENVIRONMENT_PROD = 0; // 0x0
629  }
630
631}
632
633package android.adservices.common {
634
635  public class AdServicesCommonManager {
636    method @Deprecated @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>);
637    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>);
638    method @NonNull public static android.adservices.common.AdServicesCommonManager get(@NonNull android.content.Context);
639    method @Deprecated @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>);
640    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>);
641    method @RequiresPermission(anyOf={android.adservices.common.AdServicesPermissions.MODIFY_ADSERVICES_STATE, android.adservices.common.AdServicesPermissions.MODIFY_ADSERVICES_STATE_COMPAT}) public void requestAdServicesModuleOverrides(@NonNull android.adservices.common.UpdateAdServicesModuleStatesParams, @NonNull java.util.concurrent.Executor, @NonNull android.adservices.common.AdServicesOutcomeReceiver<java.lang.Void,java.lang.Exception>);
642    method @RequiresPermission(anyOf={android.adservices.common.AdServicesPermissions.MODIFY_ADSERVICES_STATE, android.adservices.common.AdServicesPermissions.MODIFY_ADSERVICES_STATE_COMPAT}) public void requestAdServicesModuleUserChoices(@NonNull android.adservices.common.UpdateAdServicesUserChoicesParams, @NonNull java.util.concurrent.Executor, @NonNull android.adservices.common.AdServicesOutcomeReceiver<java.lang.Void,java.lang.Exception>);
643    method @RequiresPermission(anyOf={android.adservices.common.AdServicesPermissions.MODIFY_ADSERVICES_STATE, android.adservices.common.AdServicesPermissions.MODIFY_ADSERVICES_STATE_COMPAT}) public void setAdServicesEnabled(boolean, boolean);
644    method @Deprecated @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>);
645    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>);
646    field @RequiresPermission(anyOf={android.adservices.common.AdServicesPermissions.MODIFY_ADSERVICES_STATE, android.adservices.common.AdServicesPermissions.MODIFY_ADSERVICES_STATE_COMPAT}) public static final String ACTION_ADSERVICES_NOTIFICATION_DISPLAYED = "android.adservices.common.action.ADSERVICES_NOTIFICATION_DISPLAYED";
647    field @RequiresPermission(anyOf={android.adservices.common.AdServicesPermissions.MODIFY_ADSERVICES_STATE, android.adservices.common.AdServicesPermissions.MODIFY_ADSERVICES_STATE_COMPAT}) public static final String ACTION_VIEW_ADSERVICES_CONSENT_PAGE = "android.adservices.common.action.VIEW_ADSERVICES_CONSENT_PAGE";
648    field public static final int MODULE_ADID = 5; // 0x5
649    field public static final int MODULE_MEASUREMENT = 0; // 0x0
650    field public static final int MODULE_ON_DEVICE_PERSONALIZATION = 4; // 0x4
651    field public static final int MODULE_PROTECTED_APP_SIGNALS = 2; // 0x2
652    field public static final int MODULE_PROTECTED_AUDIENCE = 1; // 0x1
653    field public static final int MODULE_STATE_DISABLED = 2; // 0x2
654    field public static final int MODULE_STATE_ENABLED = 1; // 0x1
655    field public static final int MODULE_STATE_UNKNOWN = 0; // 0x0
656    field public static final int MODULE_TOPICS = 3; // 0x3
657    field public static final int NOTIFICATION_NONE = 0; // 0x0
658    field public static final int NOTIFICATION_ONGOING = 1; // 0x1
659    field public static final int NOTIFICATION_REGULAR = 2; // 0x2
660    field public static final int USER_CHOICE_OPTED_IN = 1; // 0x1
661    field public static final int USER_CHOICE_OPTED_OUT = 2; // 0x2
662    field public static final int USER_CHOICE_UNKNOWN = 0; // 0x0
663  }
664
665  public class AdServicesPermissions {
666    field public static final String ACCESS_ADSERVICES_STATE = "android.permission.ACCESS_ADSERVICES_STATE";
667    field public static final String ACCESS_ADSERVICES_STATE_COMPAT = "android.permission.ACCESS_ADSERVICES_STATE_COMPAT";
668    field public static final String ACCESS_PRIVILEGED_ADSERVICES_COBALT_UPLOAD = "android.permission.ACCESS_PRIVILEGED_AD_SERVICES_COBALT_UPLOAD";
669    field public static final String ACCESS_PRIVILEGED_AD_ID = "android.permission.ACCESS_PRIVILEGED_AD_ID";
670    field public static final String ACCESS_PRIVILEGED_APP_SET_ID = "android.permission.ACCESS_PRIVILEGED_APP_SET_ID";
671    field public static final String MODIFY_ADSERVICES_STATE = "android.permission.MODIFY_ADSERVICES_STATE";
672    field public static final String MODIFY_ADSERVICES_STATE_COMPAT = "android.permission.MODIFY_ADSERVICES_STATE_COMPAT";
673    field public static final String UPDATE_PRIVILEGED_AD_ID = "android.permission.UPDATE_PRIVILEGED_AD_ID";
674    field public static final String UPDATE_PRIVILEGED_AD_ID_COMPAT = "android.permission.UPDATE_PRIVILEGED_AD_ID_COMPAT";
675  }
676
677  public final class AdServicesStates implements android.os.Parcelable {
678    method public int describeContents();
679    method @NonNull public boolean isAdIdEnabled();
680    method @NonNull public boolean isAdultAccount();
681    method @NonNull public boolean isPrivacySandboxUiEnabled();
682    method @NonNull public boolean isPrivacySandboxUiRequest();
683    method @NonNull public boolean isU18Account();
684    method public void writeToParcel(@NonNull android.os.Parcel, int);
685    field @NonNull public static final android.os.Parcelable.Creator<android.adservices.common.AdServicesStates> CREATOR;
686  }
687
688  public static final class AdServicesStates.Builder {
689    ctor public AdServicesStates.Builder();
690    method @NonNull public android.adservices.common.AdServicesStates build();
691    method @NonNull public android.adservices.common.AdServicesStates.Builder setAdIdEnabled(boolean);
692    method @NonNull public android.adservices.common.AdServicesStates.Builder setAdultAccount(boolean);
693    method @NonNull public android.adservices.common.AdServicesStates.Builder setPrivacySandboxUiEnabled(boolean);
694    method @NonNull public android.adservices.common.AdServicesStates.Builder setPrivacySandboxUiRequest(boolean);
695    method @NonNull public android.adservices.common.AdServicesStates.Builder setU18Account(boolean);
696  }
697
698  public final class EnableAdServicesResponse implements android.os.Parcelable {
699    method public int describeContents();
700    method public boolean isApiEnabled();
701    method public boolean isSuccess();
702    method public void writeToParcel(@NonNull android.os.Parcel, int);
703    field @NonNull public static final android.os.Parcelable.Creator<android.adservices.common.EnableAdServicesResponse> CREATOR;
704  }
705
706  public final class UpdateAdIdRequest implements android.os.Parcelable {
707    method public int describeContents();
708    method @NonNull public String getAdId();
709    method public boolean isLimitAdTrackingEnabled();
710    method public void writeToParcel(@NonNull android.os.Parcel, int);
711    field @NonNull public static final android.os.Parcelable.Creator<android.adservices.common.UpdateAdIdRequest> CREATOR;
712  }
713
714  public static final class UpdateAdIdRequest.Builder {
715    ctor public UpdateAdIdRequest.Builder(@NonNull String);
716    method @NonNull public android.adservices.common.UpdateAdIdRequest build();
717    method @NonNull public android.adservices.common.UpdateAdIdRequest.Builder setLimitAdTrackingEnabled(boolean);
718  }
719
720  public final class UpdateAdServicesModuleStatesParams implements android.os.Parcelable {
721    method public int describeContents();
722    method public int getModuleState(int);
723    method public int getNotificationType();
724    method public void writeToParcel(@NonNull android.os.Parcel, int);
725    field @NonNull public static final android.os.Parcelable.Creator<android.adservices.common.UpdateAdServicesModuleStatesParams> CREATOR;
726  }
727
728  public static final class UpdateAdServicesModuleStatesParams.Builder {
729    ctor public UpdateAdServicesModuleStatesParams.Builder();
730    method @NonNull public android.adservices.common.UpdateAdServicesModuleStatesParams build();
731    method @NonNull public android.adservices.common.UpdateAdServicesModuleStatesParams.Builder setModuleState(int, int);
732    method @NonNull public android.adservices.common.UpdateAdServicesModuleStatesParams.Builder setNotificationType(int);
733  }
734
735  public final class UpdateAdServicesUserChoicesParams implements android.os.Parcelable {
736    method public int describeContents();
737    method public int getUserChoice(int);
738    method public void writeToParcel(@NonNull android.os.Parcel, int);
739    field @NonNull public static final android.os.Parcelable.Creator<android.adservices.common.UpdateAdServicesUserChoicesParams> CREATOR;
740  }
741
742  public static final class UpdateAdServicesUserChoicesParams.Builder {
743    ctor public UpdateAdServicesUserChoicesParams.Builder();
744    method @NonNull public android.adservices.common.UpdateAdServicesUserChoicesParams build();
745    method @NonNull public android.adservices.common.UpdateAdServicesUserChoicesParams.Builder setUserChoice(int, int);
746  }
747
748}
749
750package android.adservices.extdata {
751
752  public final class AdServicesExtDataParams implements android.os.Parcelable {
753    ctor public AdServicesExtDataParams(int, int, int, int, int, long);
754    method public int describeContents();
755    method public int getIsAdultAccount();
756    method public int getIsMeasurementConsented();
757    method public int getIsNotificationDisplayed();
758    method public int getIsU18Account();
759    method public int getManualInteractionWithConsentStatus();
760    method public long getMeasurementRollbackApexVersion();
761    method public void writeToParcel(@NonNull android.os.Parcel, int);
762    field @NonNull public static final android.os.Parcelable.Creator<android.adservices.extdata.AdServicesExtDataParams> CREATOR;
763  }
764
765  public abstract class AdServicesExtDataStorageService extends android.app.Service {
766    ctor public AdServicesExtDataStorageService();
767    method @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent);
768    method @NonNull public abstract android.adservices.extdata.AdServicesExtDataParams onGetAdServicesExtData();
769    method public abstract void onPutAdServicesExtData(@NonNull android.adservices.extdata.AdServicesExtDataParams, @NonNull int[]);
770    field public static final int FIELD_IS_ADULT_ACCOUNT = 3; // 0x3
771    field public static final int FIELD_IS_MEASUREMENT_CONSENTED = 1; // 0x1
772    field public static final int FIELD_IS_NOTIFICATION_DISPLAYED = 0; // 0x0
773    field public static final int FIELD_IS_U18_ACCOUNT = 2; // 0x2
774    field public static final int FIELD_MANUAL_INTERACTION_WITH_CONSENT_STATUS = 4; // 0x4
775    field public static final int FIELD_MEASUREMENT_ROLLBACK_APEX_VERSION = 5; // 0x5
776    field public static final String SERVICE_INTERFACE = "android.adservices.extdata.AdServicesExtDataStorageService";
777  }
778
779}
780
781package android.adservices.ondevicepersonalization {
782
783  public final class MeasurementWebTriggerEventParams {
784    method @NonNull public String getAppPackageName();
785    method @Nullable public String getCertDigest();
786    method @NonNull public android.net.Uri getDestinationUrl();
787    method @Nullable public byte[] getEventData();
788    method @NonNull public android.content.ComponentName getIsolatedService();
789  }
790
791  public static final class MeasurementWebTriggerEventParams.Builder {
792    ctor public MeasurementWebTriggerEventParams.Builder(@NonNull android.net.Uri, @NonNull String, @NonNull android.content.ComponentName);
793    method @NonNull public android.adservices.ondevicepersonalization.MeasurementWebTriggerEventParams build();
794    method @NonNull public android.adservices.ondevicepersonalization.MeasurementWebTriggerEventParams.Builder setAppPackageName(@NonNull String);
795    method @NonNull public android.adservices.ondevicepersonalization.MeasurementWebTriggerEventParams.Builder setCertDigest(@Nullable String);
796    method @NonNull public android.adservices.ondevicepersonalization.MeasurementWebTriggerEventParams.Builder setDestinationUrl(@NonNull android.net.Uri);
797    method @NonNull public android.adservices.ondevicepersonalization.MeasurementWebTriggerEventParams.Builder setEventData(@Nullable byte...);
798    method @NonNull public android.adservices.ondevicepersonalization.MeasurementWebTriggerEventParams.Builder setIsolatedService(@NonNull android.content.ComponentName);
799  }
800
801  public class OnDevicePersonalizationConfigManager {
802    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>);
803  }
804
805  public class OnDevicePersonalizationPermissions {
806    field public static final String MODIFY_ONDEVICEPERSONALIZATION_STATE = "android.permission.ondevicepersonalization.MODIFY_ONDEVICEPERSONALIZATION_STATE";
807    field public static final String NOTIFY_MEASUREMENT_EVENT = "android.permission.ondevicepersonalization.NOTIFY_MEASUREMENT_EVENT";
808  }
809
810  public class OnDevicePersonalizationSystemEventManager {
811    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>);
812  }
813
814}
815
816package android.app {
817
818  @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 {
819    method public void convertFromTranslucent();
820    method public boolean convertToTranslucent(android.app.Activity.TranslucentConversionListener, android.app.ActivityOptions);
821    method @Deprecated public boolean isBackgroundVisibleBehind();
822    method @Deprecated public void onBackgroundVisibleBehindChanged(boolean);
823    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);
824    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);
825    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);
826  }
827
828  public static interface Activity.TranslucentConversionListener {
829    method public void onTranslucentConversionComplete(boolean);
830  }
831
832  public class ActivityManager {
833    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public void addOnUidImportanceListener(android.app.ActivityManager.OnUidImportanceListener, int);
834    method @FlaggedApi("android.app.uid_importance_listener_for_uids") @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public void addOnUidImportanceListener(@NonNull android.app.ActivityManager.OnUidImportanceListener, int, @NonNull int[]);
835    method @RequiresPermission(android.Manifest.permission.FORCE_STOP_PACKAGES) public void forceStopPackage(String);
836    method @FlaggedApi("android.app.get_binding_uid_importance") @RequiresPermission(android.Manifest.permission.GET_BINDING_UID_IMPORTANCE) public int getBindingUidImportance(int);
837    method @RequiresPermission(anyOf={"android.permission.INTERACT_ACROSS_USERS", "android.permission.INTERACT_ACROSS_USERS_FULL"}) public static int getCurrentUser();
838    method @FlaggedApi("android.app.app_start_info") @NonNull @RequiresPermission(android.Manifest.permission.DUMP) public java.util.List<android.app.ApplicationStartInfo> getExternalHistoricalProcessStartReasons(@NonNull String, @IntRange(from=0) int);
839    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public int getPackageImportance(String);
840    method @NonNull public java.util.Collection<java.util.Locale> getSupportedLocales();
841    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public int getUidImportance(int);
842    method @RequiresPermission(android.Manifest.permission.FORCE_STOP_PACKAGES) public void killProcessesWhenImperceptible(@NonNull int[], @NonNull String);
843    method @RequiresPermission(android.Manifest.permission.KILL_UID) public void killUid(int, String);
844    method @RequiresPermission(android.Manifest.permission.LOG_FOREGROUND_RESOURCE_USE) public void noteForegroundResourceUseBegin(int, int, int) throws java.lang.SecurityException;
845    method @RequiresPermission(android.Manifest.permission.LOG_FOREGROUND_RESOURCE_USE) public void noteForegroundResourceUseEnd(int, int, int) throws java.lang.SecurityException;
846    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public void removeOnUidImportanceListener(android.app.ActivityManager.OnUidImportanceListener);
847    method public void setDeviceLocales(@NonNull android.os.LocaleList);
848    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public static void setPersistentVrThread(int);
849    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS_FULL}) public boolean startProfile(@NonNull android.os.UserHandle);
850    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS_FULL}) public boolean stopProfile(@NonNull android.os.UserHandle);
851    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean switchUser(@NonNull android.os.UserHandle);
852    field public static final int FOREGROUND_SERVICE_API_TYPE_AUDIO = 5; // 0x5
853    field public static final int FOREGROUND_SERVICE_API_TYPE_BLUETOOTH = 2; // 0x2
854    field public static final int FOREGROUND_SERVICE_API_TYPE_CAMERA = 1; // 0x1
855    field public static final int FOREGROUND_SERVICE_API_TYPE_CDM = 9; // 0x9
856    field public static final int FOREGROUND_SERVICE_API_TYPE_LOCATION = 3; // 0x3
857    field public static final int FOREGROUND_SERVICE_API_TYPE_MEDIA_PLAYBACK = 4; // 0x4
858    field public static final int FOREGROUND_SERVICE_API_TYPE_MICROPHONE = 6; // 0x6
859    field public static final int FOREGROUND_SERVICE_API_TYPE_PHONE_CALL = 7; // 0x7
860    field public static final int FOREGROUND_SERVICE_API_TYPE_USB = 8; // 0x8
861    field public static final int PROCESS_CAPABILITY_FOREGROUND_CAMERA = 2; // 0x2
862    field public static final int PROCESS_CAPABILITY_FOREGROUND_LOCATION = 1; // 0x1
863    field public static final int PROCESS_CAPABILITY_FOREGROUND_MICROPHONE = 4; // 0x4
864    field public static final int PROCESS_CAPABILITY_NONE = 0; // 0x0
865  }
866
867  public static interface ActivityManager.OnUidImportanceListener {
868    method public void onUidImportance(int, int);
869  }
870
871  public class ActivityOptions {
872    method public int getLaunchTaskId();
873    method @RequiresPermission(android.Manifest.permission.START_TASKS_FROM_RECENTS) public void setLaunchTaskId(int);
874  }
875
876  public class AlarmManager {
877    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);
878    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void set(int, long, long, long, @NonNull android.app.PendingIntent, @Nullable android.os.WorkSource);
879    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);
880    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);
881    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);
882    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);
883  }
884
885  public class AppOpsManager {
886    method @Nullable @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public android.app.RuntimeAppOpAccessMessage collectRuntimeAppOpAccessMessage();
887    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>);
888    method public static String[] getOpStrs();
889    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...);
890    method @NonNull @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public java.util.List<android.app.AppOpsManager.PackageOps> getPackagesForOps(@Nullable String[]);
891    method @FlaggedApi("android.permission.flags.device_aware_permission_apis_enabled") @NonNull @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public java.util.List<android.app.AppOpsManager.PackageOps> getPackagesForOps(@Nullable String[], @NonNull String);
892    method @FlaggedApi("android.permission.flags.device_aware_permission_apis_enabled") @NonNull @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public java.util.List<android.permission.PermissionGroupUsage> getPermissionGroupUsageForPrivacyIndicator(boolean);
893    method public static int opToDefaultMode(@NonNull String);
894    method @Nullable public static String opToPermission(@NonNull String);
895    method @RequiresPermission("android.permission.MANAGE_APP_OPS_MODES") public void setMode(@NonNull String, int, @Nullable String, int);
896    method @RequiresPermission("android.permission.MANAGE_APP_OPS_MODES") public void setUidMode(@NonNull String, int, int);
897    method @RequiresPermission(value="android.permission.WATCH_APPOPS", conditional=true) public void startWatchingNoted(@NonNull String[], @NonNull android.app.AppOpsManager.OnOpNotedListener);
898    method @RequiresPermission(value="android.permission.WATCH_APPOPS", conditional=true) public void startWatchingNoted(@NonNull String[], @NonNull java.util.concurrent.Executor, @NonNull android.app.AppOpsManager.OnOpNotedListener);
899    method public void stopWatchingNoted(@NonNull android.app.AppOpsManager.OnOpNotedListener);
900    field public static final int HISTORY_FLAGS_ALL = 3; // 0x3
901    field public static final int HISTORY_FLAG_AGGREGATE = 1; // 0x1
902    field public static final int HISTORY_FLAG_DISCRETE = 2; // 0x2
903    field public static final int HISTORY_FLAG_GET_ATTRIBUTION_CHAINS = 4; // 0x4
904    field public static final String OPSTR_ACCEPT_HANDOVER = "android:accept_handover";
905    field public static final String OPSTR_ACCESS_ACCESSIBILITY = "android:access_accessibility";
906    field public static final String OPSTR_ACCESS_NOTIFICATIONS = "android:access_notifications";
907    field @FlaggedApi("android.permission.flags.enhanced_confirmation_mode_apis_enabled") public static final String OPSTR_ACCESS_RESTRICTED_SETTINGS = "android:access_restricted_settings";
908    field public static final String OPSTR_ACTIVATE_PLATFORM_VPN = "android:activate_platform_vpn";
909    field public static final String OPSTR_ACTIVATE_VPN = "android:activate_vpn";
910    field public static final String OPSTR_ASSIST_SCREENSHOT = "android:assist_screenshot";
911    field public static final String OPSTR_ASSIST_STRUCTURE = "android:assist_structure";
912    field public static final String OPSTR_AUDIO_ACCESSIBILITY_VOLUME = "android:audio_accessibility_volume";
913    field public static final String OPSTR_AUDIO_ALARM_VOLUME = "android:audio_alarm_volume";
914    field public static final String OPSTR_AUDIO_BLUETOOTH_VOLUME = "android:audio_bluetooth_volume";
915    field public static final String OPSTR_AUDIO_MASTER_VOLUME = "android:audio_master_volume";
916    field public static final String OPSTR_AUDIO_MEDIA_VOLUME = "android:audio_media_volume";
917    field public static final String OPSTR_AUDIO_NOTIFICATION_VOLUME = "android:audio_notification_volume";
918    field public static final String OPSTR_AUDIO_RING_VOLUME = "android:audio_ring_volume";
919    field public static final String OPSTR_AUDIO_VOICE_VOLUME = "android:audio_voice_volume";
920    field public static final String OPSTR_AUTO_REVOKE_MANAGED_BY_INSTALLER = "android:auto_revoke_managed_by_installer";
921    field public static final String OPSTR_AUTO_REVOKE_PERMISSIONS_IF_UNUSED = "android:auto_revoke_permissions_if_unused";
922    field public static final String OPSTR_BIND_ACCESSIBILITY_SERVICE = "android:bind_accessibility_service";
923    field public static final String OPSTR_CAPTURE_CONSENTLESS_BUGREPORT_ON_USERDEBUG_BUILD = "android:capture_consentless_bugreport_on_userdebug_build";
924    field public static final String OPSTR_CHANGE_WIFI_STATE = "android:change_wifi_state";
925    field @FlaggedApi("android.view.contentprotection.flags.create_accessibility_overlay_app_op_enabled") public static final String OPSTR_CREATE_ACCESSIBILITY_OVERLAY = "android:create_accessibility_overlay";
926    field @FlaggedApi("android.location.flags.location_bypass") public static final String OPSTR_EMERGENCY_LOCATION = "android:emergency_location";
927    field @FlaggedApi("android.permission.flags.op_enable_mobile_data_by_user") public static final String OPSTR_ENABLE_MOBILE_DATA_BY_USER = "android:enable_mobile_data_by_user";
928    field public static final String OPSTR_ESTABLISH_VPN_MANAGER = "android:establish_vpn_manager";
929    field public static final String OPSTR_ESTABLISH_VPN_SERVICE = "android:establish_vpn_service";
930    field public static final String OPSTR_GET_ACCOUNTS = "android:get_accounts";
931    field public static final String OPSTR_GPS = "android:gps";
932    field public static final String OPSTR_INSTANT_APP_START_FOREGROUND = "android:instant_app_start_foreground";
933    field public static final String OPSTR_INTERACT_ACROSS_PROFILES = "android:interact_across_profiles";
934    field public static final String OPSTR_LEGACY_STORAGE = "android:legacy_storage";
935    field public static final String OPSTR_LOADER_USAGE_STATS = "android:loader_usage_stats";
936    field public static final String OPSTR_MANAGE_EXTERNAL_STORAGE = "android:manage_external_storage";
937    field public static final String OPSTR_MANAGE_IPSEC_TUNNELS = "android:manage_ipsec_tunnels";
938    field public static final String OPSTR_MANAGE_ONGOING_CALLS = "android:manage_ongoing_calls";
939    field @FlaggedApi("com.android.media.flags.enable_privileged_routing_for_media_routing_control") public static final String OPSTR_MEDIA_ROUTING_CONTROL = "android:media_routing_control";
940    field public static final String OPSTR_MUTE_MICROPHONE = "android:mute_microphone";
941    field public static final String OPSTR_NEIGHBORING_CELLS = "android:neighboring_cells";
942    field public static final String OPSTR_PHONE_CALL_CAMERA = "android:phone_call_camera";
943    field public static final String OPSTR_PHONE_CALL_MICROPHONE = "android:phone_call_microphone";
944    field public static final String OPSTR_PLAY_AUDIO = "android:play_audio";
945    field public static final String OPSTR_POST_NOTIFICATION = "android:post_notification";
946    field public static final String OPSTR_PROJECT_MEDIA = "android:project_media";
947    field @FlaggedApi("android.permission.flags.ranging_permission_enabled") public static final String OPSTR_RANGING = "android:ranging";
948    field @FlaggedApi("android.view.contentprotection.flags.rapid_clear_notifications_by_listener_app_op_enabled") public static final String OPSTR_RAPID_CLEAR_NOTIFICATIONS_BY_LISTENER = "android:rapid_clear_notifications_by_listener";
949    field public static final String OPSTR_READ_CLIPBOARD = "android:read_clipboard";
950    field @FlaggedApi("android.permission.flags.replace_body_sensor_permission_enabled") public static final String OPSTR_READ_HEART_RATE = "android:read_heart_rate";
951    field public static final String OPSTR_READ_ICC_SMS = "android:read_icc_sms";
952    field public static final String OPSTR_READ_MEDIA_AUDIO = "android:read_media_audio";
953    field public static final String OPSTR_READ_MEDIA_IMAGES = "android:read_media_images";
954    field public static final String OPSTR_READ_MEDIA_VIDEO = "android:read_media_video";
955    field public static final String OPSTR_READ_MEDIA_VISUAL_USER_SELECTED = "android:read_media_visual_user_selected";
956    field @FlaggedApi("android.permission.flags.replace_body_sensor_permission_enabled") public static final String OPSTR_READ_OXYGEN_SATURATION = "android:read_oxygen_saturation";
957    field @FlaggedApi("android.permission.flags.replace_body_sensor_permission_enabled") public static final String OPSTR_READ_SKIN_TEMPERATURE = "android:read_skin_temperature";
958    field public static final String OPSTR_READ_WRITE_HEALTH_DATA = "android:read_write_health_data";
959    field public static final String OPSTR_RECEIVE_AMBIENT_TRIGGER_AUDIO = "android:receive_ambient_trigger_audio";
960    field public static final String OPSTR_RECEIVE_EMERGENCY_BROADCAST = "android:receive_emergency_broadcast";
961    field public static final String OPSTR_RECEIVE_EXPLICIT_USER_INTERACTION_AUDIO = "android:receive_explicit_user_interaction_audio";
962    field public static final String OPSTR_REQUEST_DELETE_PACKAGES = "android:request_delete_packages";
963    field public static final String OPSTR_REQUEST_INSTALL_PACKAGES = "android:request_install_packages";
964    field public static final String OPSTR_RUN_ANY_IN_BACKGROUND = "android:run_any_in_background";
965    field public static final String OPSTR_RUN_IN_BACKGROUND = "android:run_in_background";
966    field public static final String OPSTR_START_FOREGROUND = "android:start_foreground";
967    field public static final String OPSTR_SYSTEM_EXEMPT_FROM_HIBERNATION = "android:system_exempt_from_hibernation";
968    field public static final String OPSTR_TAKE_AUDIO_FOCUS = "android:take_audio_focus";
969    field public static final String OPSTR_TAKE_MEDIA_BUTTONS = "android:take_media_buttons";
970    field public static final String OPSTR_TOAST_WINDOW = "android:toast_window";
971    field public static final String OPSTR_TURN_SCREEN_ON = "android:turn_screen_on";
972    field public static final String OPSTR_VIBRATE = "android:vibrate";
973    field public static final String OPSTR_WAKE_LOCK = "android:wake_lock";
974    field public static final String OPSTR_WIFI_SCAN = "android:wifi_scan";
975    field public static final String OPSTR_WRITE_CLIPBOARD = "android:write_clipboard";
976    field public static final String OPSTR_WRITE_ICC_SMS = "android:write_icc_sms";
977    field public static final String OPSTR_WRITE_MEDIA_AUDIO = "android:write_media_audio";
978    field public static final String OPSTR_WRITE_MEDIA_IMAGES = "android:write_media_images";
979    field public static final String OPSTR_WRITE_MEDIA_VIDEO = "android:write_media_video";
980    field public static final String OPSTR_WRITE_SMS = "android:write_sms";
981    field public static final String OPSTR_WRITE_WALLPAPER = "android:write_wallpaper";
982    field public static final int OP_FLAGS_ALL = 31; // 0x1f
983    field public static final int OP_FLAGS_ALL_TRUSTED = 13; // 0xd
984    field public static final int OP_FLAG_SELF = 1; // 0x1
985    field public static final int OP_FLAG_TRUSTED_PROXIED = 8; // 0x8
986    field public static final int OP_FLAG_TRUSTED_PROXY = 2; // 0x2
987    field public static final int OP_FLAG_UNTRUSTED_PROXIED = 16; // 0x10
988    field public static final int OP_FLAG_UNTRUSTED_PROXY = 4; // 0x4
989    field public static final int UID_STATE_BACKGROUND = 600; // 0x258
990    field public static final int UID_STATE_CACHED = 700; // 0x2bc
991    field public static final int UID_STATE_FOREGROUND = 500; // 0x1f4
992    field public static final int UID_STATE_FOREGROUND_SERVICE = 400; // 0x190
993    field @Deprecated public static final int UID_STATE_FOREGROUND_SERVICE_LOCATION = 300; // 0x12c
994    field public static final int UID_STATE_PERSISTENT = 100; // 0x64
995    field public static final int UID_STATE_TOP = 200; // 0xc8
996  }
997
998  public static final class AppOpsManager.AttributedHistoricalOps implements android.os.Parcelable {
999    method public int describeContents();
1000    method @Nullable public android.app.AppOpsManager.HistoricalOp getOp(@NonNull String);
1001    method @NonNull public android.app.AppOpsManager.HistoricalOp getOpAt(@IntRange(from=0) int);
1002    method @IntRange(from=0) public int getOpCount();
1003    method @Nullable public String getTag();
1004    method public void writeToParcel(@NonNull android.os.Parcel, int);
1005    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.AttributedHistoricalOps> CREATOR;
1006  }
1007
1008  public static final class AppOpsManager.AttributedOpEntry implements android.os.Parcelable {
1009    method public int describeContents();
1010    method public long getLastAccessBackgroundTime(int);
1011    method public long getLastAccessForegroundTime(int);
1012    method public long getLastAccessTime(int);
1013    method public long getLastAccessTime(int, int, int);
1014    method public long getLastBackgroundDuration(int);
1015    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastBackgroundProxyInfo(int);
1016    method public long getLastDuration(int);
1017    method public long getLastDuration(int, int, int);
1018    method public long getLastForegroundDuration(int);
1019    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastForegroundProxyInfo(int);
1020    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastProxyInfo(int);
1021    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastProxyInfo(int, int, int);
1022    method public long getLastRejectBackgroundTime(int);
1023    method public long getLastRejectForegroundTime(int);
1024    method public long getLastRejectTime(int);
1025    method public long getLastRejectTime(int, int, int);
1026    method public boolean isRunning();
1027    method public void writeToParcel(@NonNull android.os.Parcel, int);
1028    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.AttributedOpEntry> CREATOR;
1029  }
1030
1031  public static final class AppOpsManager.HistoricalOp implements android.os.Parcelable {
1032    method public int describeContents();
1033    method public long getAccessCount(int, int, int);
1034    method public long getAccessDuration(int, int, int);
1035    method public long getBackgroundAccessCount(int);
1036    method public long getBackgroundAccessDuration(int);
1037    method @NonNull public java.util.List<android.app.AppOpsManager.AttributedOpEntry> getBackgroundDiscreteAccesses(int);
1038    method public long getBackgroundRejectCount(int);
1039    method @NonNull public android.app.AppOpsManager.AttributedOpEntry getDiscreteAccessAt(@IntRange(from=0) int);
1040    method @IntRange(from=0) public int getDiscreteAccessCount();
1041    method @NonNull public java.util.List<android.app.AppOpsManager.AttributedOpEntry> getDiscreteAccesses(int, int, int);
1042    method public long getForegroundAccessCount(int);
1043    method public long getForegroundAccessDuration(int);
1044    method @NonNull public java.util.List<android.app.AppOpsManager.AttributedOpEntry> getForegroundDiscreteAccesses(int);
1045    method public long getForegroundRejectCount(int);
1046    method @NonNull public String getOpName();
1047    method public long getRejectCount(int, int, int);
1048    method public void writeToParcel(android.os.Parcel, int);
1049    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalOp> CREATOR;
1050  }
1051
1052  public static final class AppOpsManager.HistoricalOps implements android.os.Parcelable {
1053    method public int describeContents();
1054    method public long getBeginTimeMillis();
1055    method public long getEndTimeMillis();
1056    method @IntRange(from=0) public int getUidCount();
1057    method @Nullable public android.app.AppOpsManager.HistoricalUidOps getUidOps(int);
1058    method @NonNull public android.app.AppOpsManager.HistoricalUidOps getUidOpsAt(@IntRange(from=0) int);
1059    method public void writeToParcel(android.os.Parcel, int);
1060    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalOps> CREATOR;
1061  }
1062
1063  public static final class AppOpsManager.HistoricalOpsRequest {
1064  }
1065
1066  public static final class AppOpsManager.HistoricalOpsRequest.Builder {
1067    ctor public AppOpsManager.HistoricalOpsRequest.Builder(long, long);
1068    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest build();
1069    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setAttributionTag(@Nullable String);
1070    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setFlags(int);
1071    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setHistoryFlags(int);
1072    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setOpNames(@Nullable java.util.List<java.lang.String>);
1073    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setPackageName(@Nullable String);
1074    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setUid(int);
1075  }
1076
1077  public static final class AppOpsManager.HistoricalPackageOps implements android.os.Parcelable {
1078    method public int describeContents();
1079    method @Nullable public android.app.AppOpsManager.AttributedHistoricalOps getAttributedOps(@Nullable String);
1080    method @NonNull public android.app.AppOpsManager.AttributedHistoricalOps getAttributedOpsAt(@IntRange(from=0) int);
1081    method @IntRange(from=0) public int getAttributedOpsCount();
1082    method @Nullable public android.app.AppOpsManager.HistoricalOp getOp(@NonNull String);
1083    method @NonNull public android.app.AppOpsManager.HistoricalOp getOpAt(@IntRange(from=0) int);
1084    method @IntRange(from=0) public int getOpCount();
1085    method @NonNull public String getPackageName();
1086    method public void writeToParcel(@NonNull android.os.Parcel, int);
1087    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalPackageOps> CREATOR;
1088  }
1089
1090  public static final class AppOpsManager.HistoricalUidOps implements android.os.Parcelable {
1091    method public int describeContents();
1092    method @IntRange(from=0) public int getPackageCount();
1093    method @Nullable public android.app.AppOpsManager.HistoricalPackageOps getPackageOps(@NonNull String);
1094    method @NonNull public android.app.AppOpsManager.HistoricalPackageOps getPackageOpsAt(@IntRange(from=0) int);
1095    method public int getUid();
1096    method public void writeToParcel(android.os.Parcel, int);
1097    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalUidOps> CREATOR;
1098  }
1099
1100  public static interface AppOpsManager.OnOpNotedListener {
1101    method public void onOpNoted(@NonNull String, int, @NonNull String, @Nullable String, int, int);
1102    method @FlaggedApi("android.permission.flags.device_aware_permission_apis_enabled") public default void onOpNoted(@NonNull String, int, @NonNull String, @Nullable String, int, int, int);
1103  }
1104
1105  public static final class AppOpsManager.OpEntry implements android.os.Parcelable {
1106    method public int describeContents();
1107    method @NonNull public java.util.Map<java.lang.String,android.app.AppOpsManager.AttributedOpEntry> getAttributedOpEntries();
1108    method @Deprecated public long getDuration();
1109    method public long getLastAccessBackgroundTime(int);
1110    method public long getLastAccessForegroundTime(int);
1111    method public long getLastAccessTime(int);
1112    method public long getLastAccessTime(int, int, int);
1113    method public long getLastBackgroundDuration(int);
1114    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastBackgroundProxyInfo(int);
1115    method public long getLastDuration(int);
1116    method public long getLastDuration(int, int, int);
1117    method public long getLastForegroundDuration(int);
1118    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastForegroundProxyInfo(int);
1119    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastProxyInfo(int);
1120    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastProxyInfo(int, int, int);
1121    method public long getLastRejectBackgroundTime(int);
1122    method public long getLastRejectForegroundTime(int);
1123    method public long getLastRejectTime(int);
1124    method public long getLastRejectTime(int, int, int);
1125    method public int getMode();
1126    method @NonNull public String getOpStr();
1127    method @Deprecated @Nullable public String getProxyPackageName();
1128    method @Deprecated @Nullable public String getProxyPackageName(int, int);
1129    method @Deprecated public int getProxyUid();
1130    method @Deprecated public int getProxyUid(int, int);
1131    method public boolean isRunning();
1132    method public void writeToParcel(android.os.Parcel, int);
1133    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.OpEntry> CREATOR;
1134  }
1135
1136  public static final class AppOpsManager.OpEventProxyInfo implements android.os.Parcelable {
1137    method public int describeContents();
1138    method @Nullable public String getAttributionTag();
1139    method @FlaggedApi("android.permission.flags.device_id_in_op_proxy_info_enabled") @NonNull public String getDeviceId();
1140    method @Nullable public String getPackageName();
1141    method @IntRange(from=0) public int getUid();
1142    method public void writeToParcel(@NonNull android.os.Parcel, int);
1143    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.OpEventProxyInfo> CREATOR;
1144  }
1145
1146  public static final class AppOpsManager.PackageOps implements android.os.Parcelable {
1147    method public int describeContents();
1148    method @NonNull public java.util.List<android.app.AppOpsManager.OpEntry> getOps();
1149    method @NonNull public String getPackageName();
1150    method public int getUid();
1151    method public void writeToParcel(@NonNull android.os.Parcel, int);
1152    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.PackageOps> CREATOR;
1153  }
1154
1155  @FlaggedApi("android.app.bic_client") public final class BackgroundInstallControlManager {
1156    method @FlaggedApi("android.app.bic_client") @NonNull @RequiresPermission(android.Manifest.permission.GET_BACKGROUND_INSTALLED_PACKAGES) public java.util.List<android.content.pm.PackageInfo> getBackgroundInstalledPackages(long);
1157  }
1158
1159  public class BroadcastOptions {
1160    method public void clearRequireCompatChange();
1161    method public int getPendingIntentBackgroundActivityStartMode();
1162    method @Deprecated public boolean isPendingIntentBackgroundActivityLaunchAllowed();
1163    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RESPONSE_STATS) public void recordResponseEventWhileInBackground(@IntRange(from=0) long);
1164    method @RequiresPermission(android.Manifest.permission.START_ACTIVITIES_FROM_BACKGROUND) public void setBackgroundActivityStartsAllowed(boolean);
1165    method public void setDontSendToRestrictedApps(boolean);
1166    method @Deprecated public void setPendingIntentBackgroundActivityLaunchAllowed(boolean);
1167    method @NonNull public android.app.BroadcastOptions setPendingIntentBackgroundActivityStartMode(int);
1168    method public void setRequireAllOfPermissions(@Nullable String[]);
1169    method public void setRequireCompatChange(long, boolean);
1170    method public void setRequireNoneOfPermissions(@Nullable String[]);
1171    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);
1172    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);
1173  }
1174
1175  public class DownloadManager {
1176    method @RequiresPermission(android.Manifest.permission.WRITE_MEDIA_STORAGE) public void onMediaStoreDownloadsDeleted(@NonNull android.util.LongSparseArray<java.lang.String>);
1177    field public static final String ACTION_DOWNLOAD_COMPLETED = "android.intent.action.DOWNLOAD_COMPLETED";
1178  }
1179
1180  public final class GameManager {
1181    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_GAME_MODE) public android.app.GameModeInfo getGameModeInfo(@NonNull String);
1182    method @RequiresPermission(android.Manifest.permission.MANAGE_GAME_MODE) public void setGameMode(@NonNull String, int);
1183    method @RequiresPermission(android.Manifest.permission.MANAGE_GAME_MODE) public void updateCustomGameModeConfiguration(@NonNull String, @NonNull android.app.GameModeConfiguration);
1184  }
1185
1186  public final class GameModeConfiguration implements android.os.Parcelable {
1187    method public int describeContents();
1188    method public int getFpsOverride();
1189    method public float getScalingFactor();
1190    method public void writeToParcel(@NonNull android.os.Parcel, int);
1191    field @NonNull public static final android.os.Parcelable.Creator<android.app.GameModeConfiguration> CREATOR;
1192    field public static final int FPS_OVERRIDE_NONE = 0; // 0x0
1193  }
1194
1195  public static final class GameModeConfiguration.Builder {
1196    ctor public GameModeConfiguration.Builder();
1197    ctor public GameModeConfiguration.Builder(@NonNull android.app.GameModeConfiguration);
1198    method @NonNull public android.app.GameModeConfiguration build();
1199    method @NonNull public android.app.GameModeConfiguration.Builder setFpsOverride(int);
1200    method @NonNull public android.app.GameModeConfiguration.Builder setScalingFactor(float);
1201  }
1202
1203  public final class GameModeInfo implements android.os.Parcelable {
1204    ctor @Deprecated public GameModeInfo(int, @NonNull int[]);
1205    method public int describeContents();
1206    method public int getActiveGameMode();
1207    method @NonNull public int[] getAvailableGameModes();
1208    method @Nullable public android.app.GameModeConfiguration getGameModeConfiguration(int);
1209    method @NonNull public int[] getOverriddenGameModes();
1210    method public boolean isDownscalingAllowed();
1211    method public boolean isFpsOverrideAllowed();
1212    method public void writeToParcel(@NonNull android.os.Parcel, int);
1213    field @NonNull public static final android.os.Parcelable.Creator<android.app.GameModeInfo> CREATOR;
1214  }
1215
1216  public static final class GameModeInfo.Builder {
1217    ctor public GameModeInfo.Builder();
1218    method @NonNull public android.app.GameModeInfo build();
1219    method @NonNull public android.app.GameModeInfo.Builder setActiveGameMode(@NonNull int);
1220    method @NonNull public android.app.GameModeInfo.Builder setAvailableGameModes(@NonNull int[]);
1221    method @NonNull public android.app.GameModeInfo.Builder setDownscalingAllowed(boolean);
1222    method @NonNull public android.app.GameModeInfo.Builder setFpsOverrideAllowed(boolean);
1223    method @NonNull public android.app.GameModeInfo.Builder setGameModeConfiguration(int, @NonNull android.app.GameModeConfiguration);
1224    method @NonNull public android.app.GameModeInfo.Builder setOverriddenGameModes(@NonNull int[]);
1225  }
1226
1227  public abstract class InstantAppResolverService extends android.app.Service {
1228    ctor public InstantAppResolverService();
1229    method public final void attachBaseContext(android.content.Context);
1230    method public final android.os.IBinder onBind(android.content.Intent);
1231    method @Deprecated public void onGetInstantAppIntentFilter(@NonNull android.content.Intent, @Nullable int[], @NonNull android.os.UserHandle, @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
1232    method @Deprecated public void onGetInstantAppIntentFilter(@NonNull android.content.Intent, @Nullable int[], @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
1233    method @MainThread public void onGetInstantAppIntentFilter(@NonNull android.content.pm.InstantAppRequestInfo, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
1234    method @Deprecated public void onGetInstantAppIntentFilter(@Nullable int[], @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
1235    method @Deprecated public void onGetInstantAppResolveInfo(@NonNull android.content.Intent, @Nullable int[], @NonNull android.os.UserHandle, @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
1236    method @Deprecated public void onGetInstantAppResolveInfo(@NonNull android.content.Intent, @Nullable int[], @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
1237    method @MainThread public void onGetInstantAppResolveInfo(@NonNull android.content.pm.InstantAppRequestInfo, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
1238    method @Deprecated public void onGetInstantAppResolveInfo(@Nullable int[], @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
1239  }
1240
1241  public static final class InstantAppResolverService.InstantAppResolutionCallback {
1242    method public void onInstantAppResolveInfo(java.util.List<android.content.pm.InstantAppResolveInfo>);
1243  }
1244
1245  public class KeyguardManager {
1246    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);
1247    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);
1248    method public android.content.Intent createConfirmFactoryResetCredentialIntent(CharSequence, CharSequence, CharSequence);
1249    method @RequiresPermission("android.permission.SET_INITIAL_LOCK") public int getMinLockLength(boolean, int);
1250    method @RequiresPermission(android.Manifest.permission.CONTROL_KEYGUARD_SECURE_NOTIFICATIONS) public boolean getPrivateNotificationsAllowed();
1251    method @RequiresPermission("android.permission.SET_INITIAL_LOCK") public boolean isValidLockPasswordComplexity(int, @NonNull byte[], int);
1252    method @RequiresPermission(android.Manifest.permission.MANAGE_WEAK_ESCROW_TOKEN) public boolean isWeakEscrowTokenActive(long, @NonNull android.os.UserHandle);
1253    method @RequiresPermission(android.Manifest.permission.MANAGE_WEAK_ESCROW_TOKEN) public boolean isWeakEscrowTokenValid(long, @NonNull byte[], @NonNull android.os.UserHandle);
1254    method @RequiresPermission(android.Manifest.permission.MANAGE_WEAK_ESCROW_TOKEN) public boolean registerWeakEscrowTokenRemovedListener(@NonNull java.util.concurrent.Executor, @NonNull android.app.KeyguardManager.WeakEscrowTokenRemovedListener);
1255    method @RequiresPermission(android.Manifest.permission.MANAGE_WEAK_ESCROW_TOKEN) public boolean removeWeakEscrowToken(long, @NonNull android.os.UserHandle);
1256    method @RequiresPermission(android.Manifest.permission.SHOW_KEYGUARD_MESSAGE) public void requestDismissKeyguard(@NonNull android.app.Activity, @Nullable CharSequence, @Nullable android.app.KeyguardManager.KeyguardDismissCallback);
1257    method @RequiresPermission("android.permission.SET_INITIAL_LOCK") public boolean setLock(int, @NonNull byte[], int);
1258    method @RequiresPermission(android.Manifest.permission.CONTROL_KEYGUARD_SECURE_NOTIFICATIONS) public void setPrivateNotificationsAllowed(boolean);
1259    method @NonNull @RequiresPermission(android.Manifest.permission.CHECK_REMOTE_LOCKSCREEN) public android.app.RemoteLockscreenValidationSession startRemoteLockscreenValidation();
1260    method @RequiresPermission(android.Manifest.permission.MANAGE_WEAK_ESCROW_TOKEN) public boolean unregisterWeakEscrowTokenRemovedListener(@NonNull android.app.KeyguardManager.WeakEscrowTokenRemovedListener);
1261    method @NonNull @RequiresPermission(android.Manifest.permission.CHECK_REMOTE_LOCKSCREEN) public android.app.RemoteLockscreenValidationResult validateRemoteLockscreen(@NonNull byte[]);
1262    field public static final int PASSWORD = 0; // 0x0
1263    field public static final int PATTERN = 2; // 0x2
1264    field public static final int PIN = 1; // 0x1
1265  }
1266
1267  public static interface KeyguardManager.WeakEscrowTokenActivatedListener {
1268    method public void onWeakEscrowTokenActivated(long, @NonNull android.os.UserHandle);
1269  }
1270
1271  public static interface KeyguardManager.WeakEscrowTokenRemovedListener {
1272    method public void onWeakEscrowTokenRemoved(long, @NonNull android.os.UserHandle);
1273  }
1274
1275  public class LocaleManager {
1276    method @RequiresPermission(android.Manifest.permission.CHANGE_CONFIGURATION) public void setApplicationLocales(@NonNull String, @NonNull android.os.LocaleList);
1277  }
1278
1279  public class Notification implements android.os.Parcelable {
1280    field public static final String CATEGORY_CAR_EMERGENCY = "car_emergency";
1281    field public static final String CATEGORY_CAR_INFORMATION = "car_information";
1282    field public static final String CATEGORY_CAR_WARNING = "car_warning";
1283    field @RequiresPermission(android.Manifest.permission.NOTIFICATION_DURING_SETUP) public static final String EXTRA_ALLOW_DURING_SETUP = "android.allowDuringSetup";
1284    field @RequiresPermission(android.Manifest.permission.SUBSTITUTE_NOTIFICATION_APP_NAME) public static final String EXTRA_SUBSTITUTE_APP_NAME = "android.substName";
1285    field public static final int FLAG_AUTOGROUP_SUMMARY = 1024; // 0x400
1286  }
1287
1288  public static class Notification.Action implements android.os.Parcelable {
1289    field public static final int SEMANTIC_ACTION_CONVERSATION_IS_PHISHING = 12; // 0xc
1290    field public static final int SEMANTIC_ACTION_MARK_CONVERSATION_AS_PRIORITY = 11; // 0xb
1291  }
1292
1293  @FlaggedApi("android.app.api_tvextender") public static final class Notification.TvExtender implements android.app.Notification.Extender {
1294    method public boolean getSuppressShowOverApps();
1295    method public android.app.Notification.TvExtender setChannel(String);
1296  }
1297
1298  public final class NotificationChannel implements android.os.Parcelable {
1299    method public int getUserLockedFields();
1300    method public boolean isDeleted();
1301    method public void populateFromXml(org.xmlpull.v1.XmlPullParser);
1302    method @FlaggedApi("android.service.notification.notification_conversation_channel_management") public void setImportantConversation(boolean);
1303    method public org.json.JSONObject toJson() throws org.json.JSONException;
1304    method public void writeXml(org.xmlpull.v1.XmlSerializer) throws java.io.IOException;
1305    field public static final int USER_LOCKED_SOUND = 32; // 0x20
1306  }
1307
1308  public final class NotificationChannelGroup implements android.os.Parcelable {
1309    method public org.json.JSONObject toJson() throws org.json.JSONException;
1310  }
1311
1312  public class NotificationManager {
1313    method @NonNull public java.util.List<java.lang.String> getAllowedAssistantAdjustments();
1314    method @Nullable public android.content.ComponentName getAllowedNotificationAssistant();
1315    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_NOTIFICATION_LISTENERS) public java.util.List<android.content.ComponentName> getEnabledNotificationListeners();
1316    method public boolean isNotificationAssistantAccessGranted(@NonNull android.content.ComponentName);
1317    method @FlaggedApi("android.service.notification.callstyle_callback_api") @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);
1318    method public void setNotificationAssistantAccessGranted(@Nullable android.content.ComponentName, boolean);
1319    method @RequiresPermission(android.Manifest.permission.MANAGE_NOTIFICATION_LISTENERS) public void setNotificationListenerAccessGranted(@NonNull android.content.ComponentName, boolean, boolean);
1320    method @FlaggedApi("android.service.notification.callstyle_callback_api") @RequiresPermission(allOf={android.Manifest.permission.INTERACT_ACROSS_USERS, android.Manifest.permission.ACCESS_NOTIFICATIONS}) public void unregisterCallNotificationEventListener(@NonNull android.app.NotificationManager.CallNotificationEventListener);
1321    field @RequiresPermission(android.Manifest.permission.STATUS_BAR_SERVICE) public static final String ACTION_CLOSE_NOTIFICATION_HANDLER_PANEL = "android.app.action.CLOSE_NOTIFICATION_HANDLER_PANEL";
1322    field @RequiresPermission(android.Manifest.permission.STATUS_BAR_SERVICE) public static final String ACTION_OPEN_NOTIFICATION_HANDLER_PANEL = "android.app.action.OPEN_NOTIFICATION_HANDLER_PANEL";
1323    field @RequiresPermission(android.Manifest.permission.STATUS_BAR_SERVICE) public static final String ACTION_TOGGLE_NOTIFICATION_HANDLER_PANEL = "android.app.action.TOGGLE_NOTIFICATION_HANDLER_PANEL";
1324  }
1325
1326  @FlaggedApi("android.service.notification.callstyle_callback_api") public static interface NotificationManager.CallNotificationEventListener {
1327    method @FlaggedApi("android.service.notification.callstyle_callback_api") public void onCallNotificationPosted(@NonNull String, @NonNull android.os.UserHandle);
1328    method @FlaggedApi("android.service.notification.callstyle_callback_api") public void onCallNotificationRemoved(@NonNull String, @NonNull android.os.UserHandle);
1329  }
1330
1331  public final class RemoteLockscreenValidationResult implements android.os.Parcelable {
1332    method public int describeContents();
1333    method public int getResultCode();
1334    method public long getTimeoutMillis();
1335    method public void writeToParcel(@NonNull android.os.Parcel, int);
1336    field @NonNull public static final android.os.Parcelable.Creator<android.app.RemoteLockscreenValidationResult> CREATOR;
1337    field public static final int RESULT_GUESS_INVALID = 2; // 0x2
1338    field public static final int RESULT_GUESS_VALID = 1; // 0x1
1339    field public static final int RESULT_LOCKOUT = 3; // 0x3
1340    field public static final int RESULT_NO_REMAINING_ATTEMPTS = 4; // 0x4
1341    field public static final int RESULT_SESSION_EXPIRED = 5; // 0x5
1342  }
1343
1344  public static final class RemoteLockscreenValidationResult.Builder {
1345    ctor public RemoteLockscreenValidationResult.Builder();
1346    method @NonNull public android.app.RemoteLockscreenValidationResult build();
1347    method @NonNull public android.app.RemoteLockscreenValidationResult.Builder setResultCode(int);
1348    method @NonNull public android.app.RemoteLockscreenValidationResult.Builder setTimeoutMillis(long);
1349  }
1350
1351  public final class RemoteLockscreenValidationSession implements android.os.Parcelable {
1352    method public int describeContents();
1353    method public int getLockType();
1354    method public int getRemainingAttempts();
1355    method @NonNull public byte[] getSourcePublicKey();
1356    method public void writeToParcel(@NonNull android.os.Parcel, int);
1357    field @NonNull public static final android.os.Parcelable.Creator<android.app.RemoteLockscreenValidationSession> CREATOR;
1358  }
1359
1360  public static final class RemoteLockscreenValidationSession.Builder {
1361    ctor public RemoteLockscreenValidationSession.Builder();
1362    method @NonNull public android.app.RemoteLockscreenValidationSession build();
1363    method @NonNull public android.app.RemoteLockscreenValidationSession.Builder setLockType(int);
1364    method @NonNull public android.app.RemoteLockscreenValidationSession.Builder setRemainingAttempts(int);
1365    method @NonNull public android.app.RemoteLockscreenValidationSession.Builder setSourcePublicKey(@NonNull byte[]);
1366  }
1367
1368  public final class RuntimeAppOpAccessMessage implements android.os.Parcelable {
1369    ctor public RuntimeAppOpAccessMessage(@IntRange(from=0L) int, @IntRange(from=0L) int, @NonNull String, @Nullable String, @NonNull String, int);
1370    method public int describeContents();
1371    method @Nullable public String getAttributionTag();
1372    method @NonNull public String getMessage();
1373    method @NonNull public String getOp();
1374    method @NonNull public String getPackageName();
1375    method public int getSamplingStrategy();
1376    method @IntRange(from=0L) public int getUid();
1377    method public void writeToParcel(@NonNull android.os.Parcel, int);
1378    field @NonNull public static final android.os.Parcelable.Creator<android.app.RuntimeAppOpAccessMessage> CREATOR;
1379  }
1380
1381  public class SearchManager implements android.content.DialogInterface.OnCancelListener android.content.DialogInterface.OnDismissListener {
1382    method public void launchAssist(@Nullable android.os.Bundle);
1383  }
1384
1385  public class StatsCursor extends android.database.AbstractCursor {
1386    method @NonNull public String[] getColumnNames();
1387    method public int getCount();
1388    method public double getDouble(int);
1389    method public float getFloat(int);
1390    method public int getInt(int);
1391    method public long getLong(int);
1392    method public short getShort(int);
1393    method @NonNull public String getString(int);
1394    method public boolean isNull(int);
1395  }
1396
1397  public final class StatsManager {
1398    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void addConfig(long, byte[]) throws android.app.StatsManager.StatsUnavailableException;
1399    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean addConfiguration(long, byte[]);
1400    method @RequiresPermission(android.Manifest.permission.REGISTER_STATS_PULL_ATOM) public void clearPullAtomCallback(int);
1401    method @Deprecated @Nullable @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public byte[] getData(long);
1402    method @Deprecated @Nullable @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public byte[] getMetadata();
1403    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public long[] getRegisteredExperimentIds() throws android.app.StatsManager.StatsUnavailableException;
1404    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public byte[] getReports(long) throws android.app.StatsManager.StatsUnavailableException;
1405    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public byte[] getStatsMetadata() throws android.app.StatsManager.StatsUnavailableException;
1406    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;
1407    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void removeConfig(long) throws android.app.StatsManager.StatsUnavailableException;
1408    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean removeConfiguration(long);
1409    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;
1410    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;
1411    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean setBroadcastSubscriber(long, long, android.app.PendingIntent);
1412    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean setDataFetchOperation(long, android.app.PendingIntent);
1413    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;
1414    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);
1415    method @NonNull @RequiresPermission(android.Manifest.permission.READ_RESTRICTED_STATS) public long[] setRestrictedMetricsChangedOperation(long, @NonNull String, @Nullable android.app.PendingIntent) throws android.app.StatsManager.StatsUnavailableException;
1416    field public static final String ACTION_STATSD_STARTED = "android.app.action.STATSD_STARTED";
1417    field public static final String EXTRA_STATS_ACTIVE_CONFIG_KEYS = "android.app.extra.STATS_ACTIVE_CONFIG_KEYS";
1418    field public static final String EXTRA_STATS_BROADCAST_SUBSCRIBER_COOKIES = "android.app.extra.STATS_BROADCAST_SUBSCRIBER_COOKIES";
1419    field public static final String EXTRA_STATS_CONFIG_KEY = "android.app.extra.STATS_CONFIG_KEY";
1420    field public static final String EXTRA_STATS_CONFIG_UID = "android.app.extra.STATS_CONFIG_UID";
1421    field public static final String EXTRA_STATS_DIMENSIONS_VALUE = "android.app.extra.STATS_DIMENSIONS_VALUE";
1422    field public static final String EXTRA_STATS_RESTRICTED_METRIC_IDS = "android.app.extra.STATS_RESTRICTED_METRIC_IDS";
1423    field public static final String EXTRA_STATS_SUBSCRIPTION_ID = "android.app.extra.STATS_SUBSCRIPTION_ID";
1424    field public static final String EXTRA_STATS_SUBSCRIPTION_RULE_ID = "android.app.extra.STATS_SUBSCRIPTION_RULE_ID";
1425    field public static final int PULL_SKIP = 1; // 0x1
1426    field public static final int PULL_SUCCESS = 0; // 0x0
1427  }
1428
1429  public static class StatsManager.PullAtomMetadata {
1430    method @Nullable public int[] getAdditiveFields();
1431    method public long getCoolDownMillis();
1432    method public long getTimeoutMillis();
1433  }
1434
1435  public static class StatsManager.PullAtomMetadata.Builder {
1436    ctor public StatsManager.PullAtomMetadata.Builder();
1437    method @NonNull public android.app.StatsManager.PullAtomMetadata build();
1438    method @NonNull public android.app.StatsManager.PullAtomMetadata.Builder setAdditiveFields(@NonNull int[]);
1439    method @NonNull public android.app.StatsManager.PullAtomMetadata.Builder setCoolDownMillis(long);
1440    method @NonNull public android.app.StatsManager.PullAtomMetadata.Builder setTimeoutMillis(long);
1441  }
1442
1443  public static interface StatsManager.StatsPullAtomCallback {
1444    method public int onPullAtom(int, @NonNull java.util.List<android.util.StatsEvent>);
1445  }
1446
1447  public static class StatsManager.StatsQueryException extends android.util.AndroidException {
1448    ctor public StatsManager.StatsQueryException(@NonNull String);
1449    ctor public StatsManager.StatsQueryException(@NonNull String, @NonNull Throwable);
1450  }
1451
1452  public static class StatsManager.StatsUnavailableException extends android.util.AndroidException {
1453    ctor public StatsManager.StatsUnavailableException(String);
1454    ctor public StatsManager.StatsUnavailableException(String, Throwable);
1455  }
1456
1457  public final class StatsQuery {
1458    method @IntRange(from=0) public int getMinSqlClientVersion();
1459    method @Nullable public byte[] getPolicyConfig();
1460    method @NonNull public String getRawSql();
1461    method public int getSqlDialect();
1462    field public static final int DIALECT_SQLITE = 1; // 0x1
1463    field public static final int DIALECT_UNKNOWN = 0; // 0x0
1464  }
1465
1466  public static final class StatsQuery.Builder {
1467    ctor public StatsQuery.Builder(@NonNull String);
1468    method @NonNull public android.app.StatsQuery build();
1469    method @NonNull public android.app.StatsQuery.Builder setMinSqlClientVersion(@IntRange(from=0) int);
1470    method @NonNull public android.app.StatsQuery.Builder setPolicyConfig(@NonNull byte[]);
1471    method @NonNull public android.app.StatsQuery.Builder setSqlDialect(int);
1472  }
1473
1474  public class StatusBarManager {
1475    method @NonNull @RequiresPermission(android.Manifest.permission.STATUS_BAR) public android.app.StatusBarManager.DisableInfo getDisableInfo();
1476    method @RequiresPermission(android.Manifest.permission.STATUS_BAR) public int getNavBarMode();
1477    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void registerNearbyMediaDevicesProvider(@NonNull android.media.NearbyMediaDevicesProvider);
1478    method @RequiresPermission(android.Manifest.permission.STATUS_BAR) public void setDisabledForSetup(boolean);
1479    method @RequiresPermission(android.Manifest.permission.STATUS_BAR) public void setNavBarMode(int);
1480    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void unregisterNearbyMediaDevicesProvider(@NonNull android.media.NearbyMediaDevicesProvider);
1481    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void updateMediaTapToTransferReceiverDisplay(int, @NonNull android.media.MediaRoute2Info, @Nullable android.graphics.drawable.Icon, @Nullable CharSequence);
1482    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void updateMediaTapToTransferSenderDisplay(int, @NonNull android.media.MediaRoute2Info, @Nullable java.util.concurrent.Executor, @Nullable Runnable);
1483    field public static final int MEDIA_TRANSFER_RECEIVER_STATE_CLOSE_TO_SENDER = 0; // 0x0
1484    field public static final int MEDIA_TRANSFER_RECEIVER_STATE_FAR_FROM_SENDER = 1; // 0x1
1485    field public static final int MEDIA_TRANSFER_RECEIVER_STATE_TRANSFER_TO_RECEIVER_FAILED = 3; // 0x3
1486    field public static final int MEDIA_TRANSFER_RECEIVER_STATE_TRANSFER_TO_RECEIVER_SUCCEEDED = 2; // 0x2
1487    field public static final int MEDIA_TRANSFER_SENDER_STATE_ALMOST_CLOSE_TO_END_CAST = 1; // 0x1
1488    field public static final int MEDIA_TRANSFER_SENDER_STATE_ALMOST_CLOSE_TO_START_CAST = 0; // 0x0
1489    field public static final int MEDIA_TRANSFER_SENDER_STATE_FAR_FROM_RECEIVER = 8; // 0x8
1490    field public static final int MEDIA_TRANSFER_SENDER_STATE_TRANSFER_TO_RECEIVER_FAILED = 6; // 0x6
1491    field public static final int MEDIA_TRANSFER_SENDER_STATE_TRANSFER_TO_RECEIVER_SUCCEEDED = 4; // 0x4
1492    field public static final int MEDIA_TRANSFER_SENDER_STATE_TRANSFER_TO_RECEIVER_TRIGGERED = 2; // 0x2
1493    field public static final int MEDIA_TRANSFER_SENDER_STATE_TRANSFER_TO_THIS_DEVICE_FAILED = 7; // 0x7
1494    field public static final int MEDIA_TRANSFER_SENDER_STATE_TRANSFER_TO_THIS_DEVICE_SUCCEEDED = 5; // 0x5
1495    field public static final int MEDIA_TRANSFER_SENDER_STATE_TRANSFER_TO_THIS_DEVICE_TRIGGERED = 3; // 0x3
1496    field public static final int NAV_BAR_MODE_DEFAULT = 0; // 0x0
1497    field public static final int NAV_BAR_MODE_KIDS = 1; // 0x1
1498  }
1499
1500  public static final class StatusBarManager.DisableInfo {
1501    method public boolean areAllComponentsEnabled();
1502    method public boolean isNavigateToHomeDisabled();
1503    method public boolean isNotificationPeekingDisabled();
1504    method public boolean isRecentsDisabled();
1505    method public boolean isSearchDisabled();
1506    method public boolean isStatusBarExpansionDisabled();
1507  }
1508
1509  public final class SystemServiceRegistry {
1510    method public static <TServiceClass> void registerContextAwareService(@NonNull String, @NonNull Class<TServiceClass>, @NonNull android.app.SystemServiceRegistry.ContextAwareServiceProducerWithBinder<TServiceClass>);
1511    method public static <TServiceClass> void registerContextAwareService(@NonNull String, @NonNull Class<TServiceClass>, @NonNull android.app.SystemServiceRegistry.ContextAwareServiceProducerWithoutBinder<TServiceClass>);
1512    method public static <TServiceClass> void registerStaticService(@NonNull String, @NonNull Class<TServiceClass>, @NonNull android.app.SystemServiceRegistry.StaticServiceProducerWithBinder<TServiceClass>);
1513    method public static <TServiceClass> void registerStaticService(@NonNull String, @NonNull Class<TServiceClass>, @NonNull android.app.SystemServiceRegistry.StaticServiceProducerWithoutBinder<TServiceClass>);
1514  }
1515
1516  public static interface SystemServiceRegistry.ContextAwareServiceProducerWithBinder<TServiceClass> {
1517    method @NonNull public TServiceClass createService(@NonNull android.content.Context, @NonNull android.os.IBinder);
1518  }
1519
1520  public static interface SystemServiceRegistry.ContextAwareServiceProducerWithoutBinder<TServiceClass> {
1521    method @NonNull public TServiceClass createService(@NonNull android.content.Context);
1522  }
1523
1524  public static interface SystemServiceRegistry.StaticServiceProducerWithBinder<TServiceClass> {
1525    method @NonNull public TServiceClass createService(@NonNull android.os.IBinder);
1526  }
1527
1528  public static interface SystemServiceRegistry.StaticServiceProducerWithoutBinder<TServiceClass> {
1529    method @NonNull public TServiceClass createService();
1530  }
1531
1532  public class UiModeManager {
1533    method @RequiresPermission(android.Manifest.permission.READ_PROJECTION_STATE) public void addOnProjectionStateChangedListener(int, @NonNull java.util.concurrent.Executor, @NonNull android.app.UiModeManager.OnProjectionStateChangedListener);
1534    method @RequiresPermission(android.Manifest.permission.ENTER_CAR_MODE_PRIORITIZED) public void enableCarMode(@IntRange(from=0) int, int);
1535    method @RequiresPermission(android.Manifest.permission.READ_PROJECTION_STATE) public int getActiveProjectionTypes();
1536    method @RequiresPermission(android.Manifest.permission.MODIFY_DAY_NIGHT_MODE) public int getNightModeCustomType();
1537    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PROJECTION_STATE) public java.util.Set<java.lang.String> getProjectingPackages(int);
1538    method @RequiresPermission(value=android.Manifest.permission.TOGGLE_AUTOMOTIVE_PROJECTION, conditional=true) public boolean releaseProjection(int);
1539    method @RequiresPermission(android.Manifest.permission.READ_PROJECTION_STATE) public void removeOnProjectionStateChangedListener(@NonNull android.app.UiModeManager.OnProjectionStateChangedListener);
1540    method @RequiresPermission(value=android.Manifest.permission.TOGGLE_AUTOMOTIVE_PROJECTION, conditional=true) public boolean requestProjection(int);
1541    method @RequiresPermission(android.Manifest.permission.MODIFY_DAY_NIGHT_MODE) public boolean setNightModeActivatedForCustomMode(int, boolean);
1542    method @RequiresPermission(android.Manifest.permission.MODIFY_DAY_NIGHT_MODE) public void setNightModeCustomType(int);
1543    field public static final String ACTION_ENTER_CAR_MODE_PRIORITIZED = "android.app.action.ENTER_CAR_MODE_PRIORITIZED";
1544    field public static final String ACTION_EXIT_CAR_MODE_PRIORITIZED = "android.app.action.EXIT_CAR_MODE_PRIORITIZED";
1545    field public static final int DEFAULT_PRIORITY = 0; // 0x0
1546    field public static final String EXTRA_CALLING_PACKAGE = "android.app.extra.CALLING_PACKAGE";
1547    field public static final String EXTRA_PRIORITY = "android.app.extra.PRIORITY";
1548    field public static final int MODE_NIGHT_CUSTOM_TYPE_BEDTIME = 1; // 0x1
1549    field public static final int MODE_NIGHT_CUSTOM_TYPE_SCHEDULE = 0; // 0x0
1550    field public static final int MODE_NIGHT_CUSTOM_TYPE_UNKNOWN = -1; // 0xffffffff
1551    field public static final int PROJECTION_TYPE_ALL = -1; // 0xffffffff
1552    field public static final int PROJECTION_TYPE_AUTOMOTIVE = 1; // 0x1
1553    field public static final int PROJECTION_TYPE_NONE = 0; // 0x0
1554  }
1555
1556  public static interface UiModeManager.OnProjectionStateChangedListener {
1557    method public void onProjectionStateChanged(int, @NonNull java.util.Set<java.lang.String>);
1558  }
1559
1560  public final class Vr2dDisplayProperties implements android.os.Parcelable {
1561    ctor public Vr2dDisplayProperties(int, int, int);
1562    method public int describeContents();
1563    method public void dump(@NonNull java.io.PrintWriter, @NonNull String);
1564    method public int getAddedFlags();
1565    method public int getDpi();
1566    method public int getHeight();
1567    method public int getRemovedFlags();
1568    method public int getWidth();
1569    method public void writeToParcel(android.os.Parcel, int);
1570    field @NonNull public static final android.os.Parcelable.Creator<android.app.Vr2dDisplayProperties> CREATOR;
1571    field public static final int FLAG_VIRTUAL_DISPLAY_ENABLED = 1; // 0x1
1572  }
1573
1574  public static final class Vr2dDisplayProperties.Builder {
1575    ctor public Vr2dDisplayProperties.Builder();
1576    method @NonNull public android.app.Vr2dDisplayProperties.Builder addFlags(int);
1577    method @NonNull public android.app.Vr2dDisplayProperties build();
1578    method @NonNull public android.app.Vr2dDisplayProperties.Builder removeFlags(int);
1579    method @NonNull public android.app.Vr2dDisplayProperties.Builder setDimensions(int, int, int);
1580    method @NonNull public android.app.Vr2dDisplayProperties.Builder setEnabled(boolean);
1581  }
1582
1583  public class VrManager {
1584    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public int getVr2dDisplayId();
1585    method @RequiresPermission(anyOf={android.Manifest.permission.RESTRICTED_VR_ACCESS, "android.permission.ACCESS_VR_STATE"}) public boolean isPersistentVrModeEnabled();
1586    method @RequiresPermission(anyOf={android.Manifest.permission.RESTRICTED_VR_ACCESS, "android.permission.ACCESS_VR_STATE"}) public boolean isVrModeEnabled();
1587    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);
1588    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public void setAndBindVrCompositor(android.content.ComponentName);
1589    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public void setPersistentVrModeEnabled(boolean);
1590    method @RequiresPermission("android.permission.ACCESS_VR_MANAGER") public void setStandbyEnabled(boolean);
1591    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public void setVr2dDisplayProperties(@NonNull android.app.Vr2dDisplayProperties);
1592    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public void setVrInputMethod(@Nullable android.content.ComponentName);
1593    method @RequiresPermission(anyOf={android.Manifest.permission.RESTRICTED_VR_ACCESS, "android.permission.ACCESS_VR_STATE"}) public void unregisterVrStateCallback(@NonNull android.app.VrStateCallback);
1594  }
1595
1596  public abstract class VrStateCallback {
1597    ctor public VrStateCallback();
1598    method public void onPersistentVrStateChanged(boolean);
1599    method public void onVrStateChanged(boolean);
1600  }
1601
1602  public final class WallpaperInfo implements android.os.Parcelable {
1603    method public boolean supportsAmbientMode();
1604  }
1605
1606  public class WallpaperManager {
1607    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public void clearWallpaper(int, int);
1608    method @FlaggedApi("android.app.customization_packs_apis") @NonNull @RequiresPermission(android.Manifest.permission.READ_WALLPAPER_INTERNAL) public android.util.SparseArray<android.graphics.Rect> getBitmapCrops(int);
1609    method @FlaggedApi("android.app.customization_packs_apis") public static int getOrientation(@NonNull android.graphics.Point);
1610    method @FloatRange(from=0.0f, to=1.0f) @RequiresPermission(android.Manifest.permission.SET_WALLPAPER_DIM_AMOUNT) public float getWallpaperDimAmount();
1611    method @FlaggedApi("android.app.customization_packs_apis") @Nullable public android.os.ParcelFileDescriptor getWallpaperFile(int, boolean);
1612    method @FlaggedApi("android.app.live_wallpaper_content_handling") @Nullable @RequiresPermission(android.Manifest.permission.READ_WALLPAPER_INTERNAL) public android.app.wallpaper.WallpaperInstance getWallpaperInstance(int);
1613    method public void setDisplayOffset(android.os.IBinder, int, int);
1614    method @FlaggedApi("com.android.window.flags.multi_crop") @RequiresPermission(android.Manifest.permission.SET_WALLPAPER) public int setStreamWithCrops(@NonNull java.io.InputStream, @NonNull android.util.SparseArray<android.graphics.Rect>, boolean, int) throws java.io.IOException;
1615    method @FlaggedApi("android.app.live_wallpaper_content_handling") @RequiresPermission(android.Manifest.permission.SET_WALLPAPER) public int setStreamWithDescription(@NonNull java.io.InputStream, @NonNull android.app.wallpaper.WallpaperDescription, boolean, int) throws java.io.IOException;
1616    method @RequiresPermission(android.Manifest.permission.SET_WALLPAPER_COMPONENT) public boolean setWallpaperComponent(android.content.ComponentName);
1617    method @FlaggedApi("android.app.live_wallpaper_content_handling") @RequiresPermission(allOf={android.Manifest.permission.SET_WALLPAPER_COMPONENT, android.Manifest.permission.INTERACT_ACROSS_USERS_FULL}, conditional=true) public boolean setWallpaperComponentWithDescription(@NonNull android.app.wallpaper.WallpaperDescription, int);
1618    method @RequiresPermission(android.Manifest.permission.SET_WALLPAPER_COMPONENT) public boolean setWallpaperComponentWithFlags(@NonNull android.content.ComponentName, int);
1619    method @RequiresPermission(android.Manifest.permission.SET_WALLPAPER_DIM_AMOUNT) public void setWallpaperDimAmount(@FloatRange(from=0.0f, to=1.0f) float);
1620    field @FlaggedApi("android.app.customization_packs_apis") public static final int ORIENTATION_LANDSCAPE = 1; // 0x1
1621    field @FlaggedApi("android.app.customization_packs_apis") public static final int ORIENTATION_PORTRAIT = 0; // 0x0
1622    field @FlaggedApi("android.app.customization_packs_apis") public static final int ORIENTATION_SQUARE_LANDSCAPE = 3; // 0x3
1623    field @FlaggedApi("android.app.customization_packs_apis") public static final int ORIENTATION_SQUARE_PORTRAIT = 2; // 0x2
1624  }
1625
1626}
1627
1628package android.app.admin {
1629
1630  public final class AccountTypePolicyKey extends android.app.admin.PolicyKey {
1631    method public int describeContents();
1632    method @NonNull public String getAccountType();
1633    method public void writeToParcel(@NonNull android.os.Parcel, int);
1634    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.AccountTypePolicyKey> CREATOR;
1635  }
1636
1637  public abstract class Authority implements android.os.Parcelable {
1638    method public int describeContents();
1639  }
1640
1641  public final class DeviceAdminAuthority extends android.app.admin.Authority {
1642    ctor public DeviceAdminAuthority();
1643    method public void writeToParcel(@NonNull android.os.Parcel, int);
1644    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.DeviceAdminAuthority> CREATOR;
1645  }
1646
1647  public final class DevicePolicyDrawableResource implements android.os.Parcelable {
1648    ctor public DevicePolicyDrawableResource(@NonNull android.content.Context, @NonNull String, @NonNull String, @DrawableRes int);
1649    ctor public DevicePolicyDrawableResource(@NonNull android.content.Context, @NonNull String, @NonNull String, @NonNull String, @DrawableRes int);
1650    method public int describeContents();
1651    method @NonNull public String getDrawableId();
1652    method @NonNull public String getDrawableSource();
1653    method @NonNull public String getDrawableStyle();
1654    method @DrawableRes public int getResourceIdInCallingPackage();
1655    method public void writeToParcel(@NonNull android.os.Parcel, int);
1656    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.DevicePolicyDrawableResource> CREATOR;
1657  }
1658
1659  public final class DevicePolicyIdentifiers {
1660    field public static final String AUDIT_LOGGING_POLICY = "auditLogging";
1661  }
1662
1663  public class DevicePolicyKeyguardService extends android.app.Service {
1664    ctor public DevicePolicyKeyguardService();
1665    method @Nullable public void dismiss();
1666    method @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent);
1667    method @Nullable public android.view.SurfaceControlViewHost.SurfacePackage onCreateKeyguardSurface(@NonNull android.os.IBinder);
1668  }
1669
1670  public class DevicePolicyManager {
1671    method @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public int checkProvisioningPrecondition(@NonNull String, @NonNull String);
1672    method @RequiresPermission(android.Manifest.permission.MANAGE_DEVICE_POLICY_AUDIT_LOGGING) public void clearAuditLogEventCallback();
1673    method @Deprecated @FlaggedApi("android.app.admin.flags.split_create_managed_profile_enabled") @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;
1674    method @FlaggedApi("android.app.admin.flags.split_create_managed_profile_enabled") @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public android.os.UserHandle createManagedProfile(@NonNull android.app.admin.ManagedProfileProvisioningParams) throws android.app.admin.ProvisioningException;
1675    method @Nullable public android.content.Intent createProvisioningIntentFromNfcIntent(@NonNull android.content.Intent);
1676    method @FlaggedApi("android.app.admin.flags.split_create_managed_profile_enabled") @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public void finalizeCreateManagedProfile(@NonNull android.app.admin.ManagedProfileProvisioningParams, @NonNull android.os.UserHandle) throws android.app.admin.ProvisioningException;
1677    method @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public void finalizeWorkProfileProvisioning(@NonNull android.os.UserHandle, @Nullable android.accounts.Account);
1678    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;
1679    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public boolean getBluetoothContactSharingDisabled(@NonNull android.os.UserHandle);
1680    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public String getDeviceOwner();
1681    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS}) public android.content.ComponentName getDeviceOwnerComponentOnAnyUser();
1682    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS}) public String getDeviceOwnerNameOnAnyUser();
1683    method @Nullable public CharSequence getDeviceOwnerOrganizationName();
1684    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public android.os.UserHandle getDeviceOwnerUser();
1685    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public android.app.admin.DevicePolicyState getDevicePolicyState();
1686    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public String getFinancedDeviceKioskRoleHolder();
1687    method @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public int getMaxPolicyStorageLimit();
1688    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.QUERY_ADMIN_POLICY}) public java.util.List<java.lang.String> getPermittedAccessibilityServices(int);
1689    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.QUERY_ADMIN_POLICY}) public java.util.List<java.lang.String> getPermittedInputMethodsForCurrentUser();
1690    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public java.util.List<android.os.UserHandle> getPolicyManagedProfiles(@NonNull android.os.UserHandle);
1691    method @Nullable public android.content.ComponentName getProfileOwner() throws java.lang.IllegalArgumentException;
1692    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;
1693    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS}) public int getUserProvisioningState();
1694    method @RequiresPermission(android.Manifest.permission.MANAGE_DEVICE_POLICY_AUDIT_LOGGING) public boolean isAuditLogEnabled();
1695    method public boolean isDeviceManaged();
1696    method @FlaggedApi("android.app.admin.flags.device_theft_api_enabled") @RequiresPermission(android.Manifest.permission.QUERY_DEVICE_STOLEN_STATE) public boolean isDevicePotentiallyStolen();
1697    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isDeviceProvisioned();
1698    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isDeviceProvisioningConfigApplied();
1699    method @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public boolean isDpcDownloaded();
1700    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS}) public boolean isManagedKiosk();
1701    method public boolean isSecondaryLockscreenEnabled(@NonNull android.os.UserHandle);
1702    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS}) public boolean isUnattendedManagedKiosk();
1703    method @RequiresPermission("android.permission.NOTIFY_PENDING_SYSTEM_UPDATE") public void notifyPendingSystemUpdate(long);
1704    method @RequiresPermission("android.permission.NOTIFY_PENDING_SYSTEM_UPDATE") public void notifyPendingSystemUpdate(long, boolean);
1705    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public boolean packageHasActiveAdmins(String);
1706    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;
1707    method @FlaggedApi("android.app.admin.flags.remove_managed_profile_enabled") @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public boolean removeManagedProfile();
1708    method @RequiresPermission(android.Manifest.permission.TRIGGER_LOST_MODE) public void sendLostModeLocationUpdate(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
1709    method @Deprecated @RequiresPermission(android.Manifest.permission.MANAGE_DEVICE_ADMINS) public boolean setActiveProfileOwner(@NonNull android.content.ComponentName, String) throws java.lang.IllegalArgumentException;
1710    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;
1711    method @RequiresPermission(android.Manifest.permission.MANAGE_DEVICE_POLICY_AUDIT_LOGGING) public void setAuditLogEnabled(boolean);
1712    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>>);
1713    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void setDeviceProvisioningConfigApplied();
1714    method @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public void setDpcDownloaded(boolean);
1715    method @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public void setMaxPolicyStorageLimit(int);
1716    method @Deprecated @RequiresPermission(value=android.Manifest.permission.GRANT_PROFILE_OWNER_DEVICE_IDS_ACCESS, conditional=true) public void setProfileOwnerCanAccessDeviceIds(@NonNull android.content.ComponentName);
1717    method @Deprecated @FlaggedApi("android.app.admin.flags.secondary_lockscreen_api_enabled") public void setSecondaryLockscreenEnabled(@NonNull android.content.ComponentName, boolean);
1718    method @FlaggedApi("android.app.admin.flags.secondary_lockscreen_api_enabled") public void setSecondaryLockscreenEnabled(boolean, @Nullable android.os.PersistableBundle);
1719    method @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public void setUserProvisioningState(int, @NonNull android.os.UserHandle);
1720    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public boolean shouldAllowBypassingDevicePolicyManagementRoleQualification();
1721    field public static final String ACCOUNT_FEATURE_DEVICE_OR_PROFILE_OWNER_ALLOWED = "android.account.DEVICE_OR_PROFILE_OWNER_ALLOWED";
1722    field public static final String ACCOUNT_FEATURE_DEVICE_OR_PROFILE_OWNER_DISALLOWED = "android.account.DEVICE_OR_PROFILE_OWNER_DISALLOWED";
1723    field public static final String ACTION_BIND_SECONDARY_LOCKSCREEN_SERVICE = "android.app.action.BIND_SECONDARY_LOCKSCREEN_SERVICE";
1724    field @RequiresPermission(android.Manifest.permission.DISPATCH_PROVISIONING_MESSAGE) public static final String ACTION_ESTABLISH_NETWORK_CONNECTION = "android.app.action.ESTABLISH_NETWORK_CONNECTION";
1725    field public static final String ACTION_LOST_MODE_LOCATION_UPDATE = "android.app.action.LOST_MODE_LOCATION_UPDATE";
1726    field public static final String ACTION_PROVISION_FINALIZATION = "android.app.action.PROVISION_FINALIZATION";
1727    field public static final String ACTION_PROVISION_FINANCED_DEVICE = "android.app.action.PROVISION_FINANCED_DEVICE";
1728    field public static final String ACTION_PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE = "android.app.action.PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE";
1729    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";
1730    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";
1731    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";
1732    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";
1733    field public static final String ACTION_SET_PROFILE_OWNER = "android.app.action.SET_PROFILE_OWNER";
1734    field @Deprecated public static final String ACTION_STATE_USER_SETUP_COMPLETE = "android.app.action.STATE_USER_SETUP_COMPLETE";
1735    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";
1736    field public static final int EXEMPT_FROM_ACTIVITY_BG_START_RESTRICTION = 2; // 0x2
1737    field public static final int EXEMPT_FROM_DISMISSIBLE_NOTIFICATIONS = 1; // 0x1
1738    field public static final int EXEMPT_FROM_HIBERNATION = 3; // 0x3
1739    field public static final int EXEMPT_FROM_POWER_RESTRICTIONS = 4; // 0x4
1740    field public static final int EXEMPT_FROM_SUSPENSION = 0; // 0x0
1741    field public static final String EXTRA_FORCE_UPDATE_ROLE_HOLDER = "android.app.extra.FORCE_UPDATE_ROLE_HOLDER";
1742    field public static final String EXTRA_LOST_MODE_LOCATION = "android.app.extra.LOST_MODE_LOCATION";
1743    field public static final String EXTRA_PROFILE_OWNER_NAME = "android.app.extra.PROFILE_OWNER_NAME";
1744    field @Deprecated public static final String EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_ICON_URI = "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_ICON_URI";
1745    field @Deprecated public static final String EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_LABEL = "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_LABEL";
1746    field public static final String EXTRA_PROVISIONING_ORGANIZATION_NAME = "android.app.extra.PROVISIONING_ORGANIZATION_NAME";
1747    field public static final String EXTRA_PROVISIONING_RETURN_BEFORE_POLICY_COMPLIANCE = "android.app.extra.PROVISIONING_RETURN_BEFORE_POLICY_COMPLIANCE";
1748    field public static final String EXTRA_PROVISIONING_ROLE_HOLDER_CUSTOM_USER_CONSENT_INTENT = "android.app.extra.PROVISIONING_ROLE_HOLDER_CUSTOM_USER_CONSENT_INTENT";
1749    field public static final String EXTRA_PROVISIONING_ROLE_HOLDER_EXTRAS_BUNDLE = "android.app.extra.PROVISIONING_ROLE_HOLDER_EXTRAS_BUNDLE";
1750    field public static final String EXTRA_PROVISIONING_ROLE_HOLDER_PACKAGE_DOWNLOAD_COOKIE_HEADER = "android.app.extra.PROVISIONING_ROLE_HOLDER_PACKAGE_DOWNLOAD_COOKIE_HEADER";
1751    field public static final String EXTRA_PROVISIONING_ROLE_HOLDER_PACKAGE_DOWNLOAD_LOCATION = "android.app.extra.PROVISIONING_ROLE_HOLDER_PACKAGE_DOWNLOAD_LOCATION";
1752    field public static final String EXTRA_PROVISIONING_ROLE_HOLDER_SIGNATURE_CHECKSUM = "android.app.extra.PROVISIONING_ROLE_HOLDER_SIGNATURE_CHECKSUM";
1753    field public static final String EXTRA_PROVISIONING_SKIP_OWNERSHIP_DISCLAIMER = "android.app.extra.PROVISIONING_SKIP_OWNERSHIP_DISCLAIMER";
1754    field public static final String EXTRA_PROVISIONING_SUPPORTED_MODES = "android.app.extra.PROVISIONING_SUPPORTED_MODES";
1755    field public static final String EXTRA_PROVISIONING_SUPPORT_URL = "android.app.extra.PROVISIONING_SUPPORT_URL";
1756    field public static final String EXTRA_PROVISIONING_TRIGGER = "android.app.extra.PROVISIONING_TRIGGER";
1757    field public static final String EXTRA_RESTRICTION = "android.app.extra.RESTRICTION";
1758    field public static final String EXTRA_ROLE_HOLDER_PROVISIONING_INITIATOR_PACKAGE = "android.app.extra.ROLE_HOLDER_PROVISIONING_INITIATOR_PACKAGE";
1759    field public static final String EXTRA_ROLE_HOLDER_STATE = "android.app.extra.ROLE_HOLDER_STATE";
1760    field public static final String EXTRA_ROLE_HOLDER_UPDATE_RESULT_CODE = "android.app.extra.ROLE_HOLDER_UPDATE_RESULT_CODE";
1761    field public static final int FLAG_SUPPORTED_MODES_DEVICE_OWNER = 4; // 0x4
1762    field public static final int FLAG_SUPPORTED_MODES_ORGANIZATION_OWNED = 1; // 0x1
1763    field public static final int FLAG_SUPPORTED_MODES_PERSONALLY_OWNED = 2; // 0x2
1764    field public static final int PROVISIONING_TRIGGER_CLOUD_ENROLLMENT = 1; // 0x1
1765    field public static final int PROVISIONING_TRIGGER_MANAGED_ACCOUNT = 4; // 0x4
1766    field public static final int PROVISIONING_TRIGGER_NFC = 5; // 0x5
1767    field @Deprecated public static final int PROVISIONING_TRIGGER_PERSISTENT_DEVICE_OWNER = 3; // 0x3
1768    field public static final int PROVISIONING_TRIGGER_QR_CODE = 2; // 0x2
1769    field public static final int PROVISIONING_TRIGGER_UNSPECIFIED = 0; // 0x0
1770    field public static final String REQUIRED_APP_MANAGED_DEVICE = "android.app.REQUIRED_APP_MANAGED_DEVICE";
1771    field public static final String REQUIRED_APP_MANAGED_PROFILE = "android.app.REQUIRED_APP_MANAGED_PROFILE";
1772    field public static final String REQUIRED_APP_MANAGED_USER = "android.app.REQUIRED_APP_MANAGED_USER";
1773    field public static final int RESULT_DEVICE_OWNER_SET = 123; // 0x7b
1774    field public static final int RESULT_UPDATE_DEVICE_POLICY_MANAGEMENT_ROLE_HOLDER_PROVISIONING_DISABLED = 3; // 0x3
1775    field public static final int RESULT_UPDATE_DEVICE_POLICY_MANAGEMENT_ROLE_HOLDER_RECOVERABLE_ERROR = 1; // 0x1
1776    field public static final int RESULT_UPDATE_DEVICE_POLICY_MANAGEMENT_ROLE_HOLDER_UNRECOVERABLE_ERROR = 2; // 0x2
1777    field public static final int RESULT_UPDATE_ROLE_HOLDER = 2; // 0x2
1778    field public static final int RESULT_WORK_PROFILE_CREATED = 122; // 0x7a
1779    field public static final int STATE_USER_PROFILE_COMPLETE = 4; // 0x4
1780    field public static final int STATE_USER_PROFILE_FINALIZED = 5; // 0x5
1781    field public static final int STATE_USER_SETUP_COMPLETE = 2; // 0x2
1782    field public static final int STATE_USER_SETUP_FINALIZED = 3; // 0x3
1783    field public static final int STATE_USER_SETUP_INCOMPLETE = 1; // 0x1
1784    field public static final int STATE_USER_UNMANAGED = 0; // 0x0
1785    field public static final int STATUS_ACCOUNTS_NOT_EMPTY = 6; // 0x6
1786    field public static final int STATUS_CANNOT_ADD_MANAGED_PROFILE = 11; // 0xb
1787    field public static final int STATUS_DEVICE_ADMIN_NOT_SUPPORTED = 13; // 0xd
1788    field public static final int STATUS_HAS_DEVICE_OWNER = 1; // 0x1
1789    field public static final int STATUS_HAS_PAIRED = 8; // 0x8
1790    field public static final int STATUS_HEADLESS_ONLY_SYSTEM_USER = 17; // 0x11
1791    field public static final int STATUS_HEADLESS_SYSTEM_USER_MODE_NOT_SUPPORTED = 16; // 0x10
1792    field public static final int STATUS_MANAGED_USERS_NOT_SUPPORTED = 9; // 0x9
1793    field public static final int STATUS_NONSYSTEM_USER_EXISTS = 5; // 0x5
1794    field public static final int STATUS_NOT_SYSTEM_USER = 7; // 0x7
1795    field public static final int STATUS_OK = 0; // 0x0
1796    field public static final int STATUS_PROVISIONING_NOT_ALLOWED_FOR_NON_DEVELOPER_USERS = 15; // 0xf
1797    field public static final int STATUS_SYSTEM_USER = 10; // 0xa
1798    field public static final int STATUS_UNKNOWN_ERROR = -1; // 0xffffffff
1799    field public static final int STATUS_USER_HAS_PROFILE_OWNER = 2; // 0x2
1800    field public static final int STATUS_USER_NOT_RUNNING = 3; // 0x3
1801    field public static final int STATUS_USER_SETUP_COMPLETED = 4; // 0x4
1802  }
1803
1804  public static final class DevicePolicyResources.Strings {
1805  }
1806
1807  public static final class DevicePolicyResources.Strings.DefaultAppSettings {
1808    field public static final String HOME_MISSING_WORK_PROFILE_SUPPORT_MESSAGE = "DefaultAppSettings.HOME_MISSING_WORK_PROFILE_SUPPORT_MESSAGE";
1809    field public static final String WORK_PROFILE_DEFAULT_APPS_TITLE = "DefaultAppSettings.WORK_PROFILE_DEFAULT_APPS_TITLE";
1810  }
1811
1812  public static final class DevicePolicyResources.Strings.PermissionSettings {
1813    field public static final String BACKGROUND_ACCESS_DISABLED_BY_ADMIN_MESSAGE = "PermissionSettings.BACKGROUND_ACCESS_DISABLED_BY_ADMIN_MESSAGE";
1814    field public static final String BACKGROUND_ACCESS_ENABLED_BY_ADMIN_MESSAGE = "PermissionSettings.BACKGROUND_ACCESS_ENABLED_BY_ADMIN_MESSAGE";
1815    field public static final String FOREGROUND_ACCESS_ENABLED_BY_ADMIN_MESSAGE = "PermissionSettings.FOREGROUND_ACCESS_ENABLED_BY_ADMIN_MESSAGE";
1816    field public static final String LOCATION_AUTO_GRANTED_MESSAGE = "PermissionSettings.LOCATION_AUTO_GRANTED_MESSAGE";
1817  }
1818
1819  public class DevicePolicyResourcesManager {
1820    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_MANAGEMENT_RESOURCES) public void resetDrawables(@NonNull java.util.Set<java.lang.String>);
1821    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_MANAGEMENT_RESOURCES) public void resetStrings(@NonNull java.util.Set<java.lang.String>);
1822    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_MANAGEMENT_RESOURCES) public void setDrawables(@NonNull java.util.Set<android.app.admin.DevicePolicyDrawableResource>);
1823    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_MANAGEMENT_RESOURCES) public void setStrings(@NonNull java.util.Set<android.app.admin.DevicePolicyStringResource>);
1824  }
1825
1826  public final class DevicePolicyState implements android.os.Parcelable {
1827    method public int describeContents();
1828    method @NonNull public java.util.Map<android.os.UserHandle,java.util.Map<android.app.admin.PolicyKey,android.app.admin.PolicyState<?>>> getPoliciesForAllUsers();
1829    method @NonNull public java.util.Map<android.app.admin.PolicyKey,android.app.admin.PolicyState<?>> getPoliciesForUser(@NonNull android.os.UserHandle);
1830    method public void writeToParcel(@NonNull android.os.Parcel, int);
1831    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.DevicePolicyState> CREATOR;
1832  }
1833
1834  public final class DevicePolicyStringResource implements android.os.Parcelable {
1835    ctor public DevicePolicyStringResource(@NonNull android.content.Context, @NonNull String, @StringRes int);
1836    method public int describeContents();
1837    method public int getResourceIdInCallingPackage();
1838    method @NonNull public String getStringId();
1839    method public void writeToParcel(@NonNull android.os.Parcel, int);
1840    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.DevicePolicyStringResource> CREATOR;
1841  }
1842
1843  public final class DpcAuthority extends android.app.admin.Authority {
1844    ctor public DpcAuthority();
1845    method public void writeToParcel(@NonNull android.os.Parcel, int);
1846    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.DpcAuthority> CREATOR;
1847  }
1848
1849  public final class EnforcingAdmin implements android.os.Parcelable {
1850    ctor public EnforcingAdmin(@NonNull String, @NonNull android.app.admin.Authority, @NonNull android.os.UserHandle);
1851    method public int describeContents();
1852    method @NonNull public android.app.admin.Authority getAuthority();
1853    method @NonNull public String getPackageName();
1854    method @NonNull public android.os.UserHandle getUserHandle();
1855    method public void writeToParcel(@NonNull android.os.Parcel, int);
1856    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.EnforcingAdmin> CREATOR;
1857  }
1858
1859  public final class FullyManagedDeviceProvisioningParams implements android.os.Parcelable {
1860    method public boolean canDeviceOwnerGrantSensorsPermissions();
1861    method public int describeContents();
1862    method @NonNull public android.os.PersistableBundle getAdminExtras();
1863    method @NonNull public android.content.ComponentName getDeviceAdminComponentName();
1864    method public long getLocalTime();
1865    method @Nullable public java.util.Locale getLocale();
1866    method @NonNull public String getOwnerName();
1867    method @Nullable public String getTimeZone();
1868    method public boolean isDemoDevice();
1869    method public boolean isLeaveAllSystemAppsEnabled();
1870    method public void writeToParcel(@NonNull android.os.Parcel, @Nullable int);
1871    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.FullyManagedDeviceProvisioningParams> CREATOR;
1872  }
1873
1874  public static final class FullyManagedDeviceProvisioningParams.Builder {
1875    ctor public FullyManagedDeviceProvisioningParams.Builder(@NonNull android.content.ComponentName, @NonNull String);
1876    method @NonNull public android.app.admin.FullyManagedDeviceProvisioningParams build();
1877    method @NonNull public android.app.admin.FullyManagedDeviceProvisioningParams.Builder setAdminExtras(@NonNull android.os.PersistableBundle);
1878    method @NonNull public android.app.admin.FullyManagedDeviceProvisioningParams.Builder setCanDeviceOwnerGrantSensorsPermissions(boolean);
1879    method @NonNull public android.app.admin.FullyManagedDeviceProvisioningParams.Builder setDemoDevice(boolean);
1880    method @NonNull public android.app.admin.FullyManagedDeviceProvisioningParams.Builder setLeaveAllSystemAppsEnabled(boolean);
1881    method @NonNull public android.app.admin.FullyManagedDeviceProvisioningParams.Builder setLocalTime(long);
1882    method @NonNull public android.app.admin.FullyManagedDeviceProvisioningParams.Builder setLocale(@Nullable java.util.Locale);
1883    method @NonNull public android.app.admin.FullyManagedDeviceProvisioningParams.Builder setTimeZone(@Nullable String);
1884  }
1885
1886  public final class IntentFilterPolicyKey extends android.app.admin.PolicyKey {
1887    method public int describeContents();
1888    method @NonNull public android.content.IntentFilter getIntentFilter();
1889    method public void writeToParcel(@NonNull android.os.Parcel, int);
1890    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.IntentFilterPolicyKey> CREATOR;
1891  }
1892
1893  public final class LockTaskPolicy implements android.os.Parcelable {
1894    method public int describeContents();
1895    method public int getFlags();
1896    method @NonNull public java.util.Set<java.lang.String> getPackages();
1897    method public void writeToParcel(@NonNull android.os.Parcel, int);
1898    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.LockTaskPolicy> CREATOR;
1899  }
1900
1901  public final class ManagedProfileProvisioningParams implements android.os.Parcelable {
1902    method public int describeContents();
1903    method @Nullable public android.accounts.Account getAccountToMigrate();
1904    method @NonNull public android.os.PersistableBundle getAdminExtras();
1905    method @NonNull public String getOwnerName();
1906    method @NonNull public android.content.ComponentName getProfileAdminComponentName();
1907    method @Nullable public String getProfileName();
1908    method public boolean isKeepingAccountOnMigration();
1909    method public boolean isLeaveAllSystemAppsEnabled();
1910    method public boolean isOrganizationOwnedProvisioning();
1911    method public void writeToParcel(@NonNull android.os.Parcel, @Nullable int);
1912    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.ManagedProfileProvisioningParams> CREATOR;
1913  }
1914
1915  public static final class ManagedProfileProvisioningParams.Builder {
1916    ctor public ManagedProfileProvisioningParams.Builder(@NonNull android.content.ComponentName, @NonNull String);
1917    method @NonNull public android.app.admin.ManagedProfileProvisioningParams build();
1918    method @NonNull public android.app.admin.ManagedProfileProvisioningParams.Builder setAccountToMigrate(@Nullable android.accounts.Account);
1919    method @NonNull public android.app.admin.ManagedProfileProvisioningParams.Builder setAdminExtras(@NonNull android.os.PersistableBundle);
1920    method @NonNull public android.app.admin.ManagedProfileProvisioningParams.Builder setKeepingAccountOnMigration(boolean);
1921    method @NonNull public android.app.admin.ManagedProfileProvisioningParams.Builder setLeaveAllSystemAppsEnabled(boolean);
1922    method @NonNull public android.app.admin.ManagedProfileProvisioningParams.Builder setOrganizationOwnedProvisioning(boolean);
1923    method @NonNull public android.app.admin.ManagedProfileProvisioningParams.Builder setProfileName(@Nullable String);
1924  }
1925
1926  public final class NoArgsPolicyKey extends android.app.admin.PolicyKey {
1927    method public int describeContents();
1928    method public void writeToParcel(@NonNull android.os.Parcel, int);
1929    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.NoArgsPolicyKey> CREATOR;
1930  }
1931
1932  public final class PackagePermissionPolicyKey extends android.app.admin.PolicyKey {
1933    method public int describeContents();
1934    method @NonNull public String getPackageName();
1935    method @NonNull public String getPermissionName();
1936    method public void writeToParcel(@NonNull android.os.Parcel, int);
1937    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.PackagePermissionPolicyKey> CREATOR;
1938  }
1939
1940  public final class PackagePolicyKey extends android.app.admin.PolicyKey {
1941    method public int describeContents();
1942    method @NonNull public String getPackageName();
1943    method public void writeToParcel(@NonNull android.os.Parcel, int);
1944    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.PackagePolicyKey> CREATOR;
1945  }
1946
1947  public abstract class PolicyKey implements android.os.Parcelable {
1948    method @NonNull public String getIdentifier();
1949  }
1950
1951  public final class PolicyState<V> implements android.os.Parcelable {
1952    method public int describeContents();
1953    method @Nullable public V getCurrentResolvedPolicy();
1954    method @NonNull public java.util.LinkedHashMap<android.app.admin.EnforcingAdmin,V> getPoliciesSetByAdmins();
1955    method public void writeToParcel(@NonNull android.os.Parcel, int);
1956    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.PolicyState<?>> CREATOR;
1957  }
1958
1959  public class ProvisioningException extends android.util.AndroidException {
1960    ctor public ProvisioningException(@NonNull Exception, int);
1961    ctor public ProvisioningException(@NonNull Exception, int, @Nullable String);
1962    method public int getProvisioningError();
1963    field public static final int ERROR_ADMIN_PACKAGE_INSTALLATION_FAILED = 3; // 0x3
1964    field public static final int ERROR_PRE_CONDITION_FAILED = 1; // 0x1
1965    field public static final int ERROR_PROFILE_CREATION_FAILED = 2; // 0x2
1966    field public static final int ERROR_REMOVE_NON_REQUIRED_APPS_FAILED = 6; // 0x6
1967    field public static final int ERROR_SETTING_PROFILE_OWNER_FAILED = 4; // 0x4
1968    field public static final int ERROR_SET_DEVICE_OWNER_FAILED = 7; // 0x7
1969    field public static final int ERROR_STARTING_PROFILE_FAILED = 5; // 0x5
1970    field public static final int ERROR_UNKNOWN = 0; // 0x0
1971  }
1972
1973  public final class RoleAuthority extends android.app.admin.Authority {
1974    ctor public RoleAuthority(@NonNull java.util.Set<java.lang.String>);
1975    method @NonNull public java.util.Set<java.lang.String> getRoles();
1976    method public void writeToParcel(@NonNull android.os.Parcel, int);
1977    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.RoleAuthority> CREATOR;
1978  }
1979
1980  public class SecurityLog {
1981    method @RequiresPermission(android.Manifest.permission.WRITE_SECURITY_LOG) public static int writeEvent(int, @NonNull java.lang.Object...);
1982  }
1983
1984  public final class SystemUpdatePolicy implements android.os.Parcelable {
1985    method public android.app.admin.SystemUpdatePolicy.InstallationOption getInstallationOptionAt(long);
1986    field public static final int TYPE_PAUSE = 4; // 0x4
1987  }
1988
1989  public static class SystemUpdatePolicy.InstallationOption {
1990    method public long getEffectiveTime();
1991    method public int getType();
1992  }
1993
1994  public final class UnknownAuthority extends android.app.admin.Authority {
1995    ctor public UnknownAuthority();
1996    method public void writeToParcel(@NonNull android.os.Parcel, int);
1997    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.UnknownAuthority> CREATOR;
1998  }
1999
2000  public final class UserRestrictionPolicyKey extends android.app.admin.PolicyKey {
2001    method public int describeContents();
2002    method @NonNull public String getRestriction();
2003    method public void writeToParcel(@NonNull android.os.Parcel, int);
2004    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.UserRestrictionPolicyKey> CREATOR;
2005  }
2006
2007}
2008
2009package android.app.ambientcontext {
2010
2011  public final class AmbientContextEvent implements android.os.Parcelable {
2012    method public int describeContents();
2013    method public int getConfidenceLevel();
2014    method public int getDensityLevel();
2015    method @NonNull public java.time.Instant getEndTime();
2016    method public int getEventType();
2017    method @NonNull public java.time.Instant getStartTime();
2018    method @NonNull public android.os.PersistableBundle getVendorData();
2019    method public void writeToParcel(@NonNull android.os.Parcel, int);
2020    field @NonNull public static final android.os.Parcelable.Creator<android.app.ambientcontext.AmbientContextEvent> CREATOR;
2021    field public static final int EVENT_BACK_DOUBLE_TAP = 3; // 0x3
2022    field public static final int EVENT_COUGH = 1; // 0x1
2023    field public static final int EVENT_SNORE = 2; // 0x2
2024    field public static final int EVENT_UNKNOWN = 0; // 0x0
2025    field public static final int EVENT_VENDOR_WEARABLE_START = 100000; // 0x186a0
2026    field public static final String KEY_VENDOR_WEARABLE_EVENT_NAME = "wearable_event_name";
2027    field public static final int LEVEL_HIGH = 5; // 0x5
2028    field public static final int LEVEL_LOW = 1; // 0x1
2029    field public static final int LEVEL_MEDIUM = 3; // 0x3
2030    field public static final int LEVEL_MEDIUM_HIGH = 4; // 0x4
2031    field public static final int LEVEL_MEDIUM_LOW = 2; // 0x2
2032    field public static final int LEVEL_UNKNOWN = 0; // 0x0
2033  }
2034
2035  public static final class AmbientContextEvent.Builder {
2036    ctor public AmbientContextEvent.Builder();
2037    method @NonNull public android.app.ambientcontext.AmbientContextEvent build();
2038    method @NonNull public android.app.ambientcontext.AmbientContextEvent.Builder setConfidenceLevel(int);
2039    method @NonNull public android.app.ambientcontext.AmbientContextEvent.Builder setDensityLevel(int);
2040    method @NonNull public android.app.ambientcontext.AmbientContextEvent.Builder setEndTime(@NonNull java.time.Instant);
2041    method @NonNull public android.app.ambientcontext.AmbientContextEvent.Builder setEventType(int);
2042    method @NonNull public android.app.ambientcontext.AmbientContextEvent.Builder setStartTime(@NonNull java.time.Instant);
2043    method @NonNull public android.app.ambientcontext.AmbientContextEvent.Builder setVendorData(@NonNull android.os.PersistableBundle);
2044  }
2045
2046  public final class AmbientContextEventRequest implements android.os.Parcelable {
2047    method public int describeContents();
2048    method @NonNull public java.util.Set<java.lang.Integer> getEventTypes();
2049    method @NonNull public android.os.PersistableBundle getOptions();
2050    method public void writeToParcel(@NonNull android.os.Parcel, int);
2051    field @NonNull public static final android.os.Parcelable.Creator<android.app.ambientcontext.AmbientContextEventRequest> CREATOR;
2052  }
2053
2054  public static final class AmbientContextEventRequest.Builder {
2055    ctor public AmbientContextEventRequest.Builder();
2056    method @NonNull public android.app.ambientcontext.AmbientContextEventRequest.Builder addEventType(int);
2057    method @NonNull public android.app.ambientcontext.AmbientContextEventRequest build();
2058    method @NonNull public android.app.ambientcontext.AmbientContextEventRequest.Builder setOptions(@NonNull android.os.PersistableBundle);
2059  }
2060
2061  public final class AmbientContextManager {
2062    method @NonNull public static java.util.List<android.app.ambientcontext.AmbientContextEvent> getEventsFromIntent(@NonNull android.content.Intent);
2063    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>);
2064    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>);
2065    method @RequiresPermission(android.Manifest.permission.ACCESS_AMBIENT_CONTEXT_EVENT) public void startConsentActivity(@NonNull java.util.Set<java.lang.Integer>);
2066    method @RequiresPermission(android.Manifest.permission.ACCESS_AMBIENT_CONTEXT_EVENT) public void unregisterObserver();
2067    field public static final String EXTRA_AMBIENT_CONTEXT_EVENTS = "android.app.ambientcontext.extra.AMBIENT_CONTEXT_EVENTS";
2068    field public static final int STATUS_ACCESS_DENIED = 5; // 0x5
2069    field public static final int STATUS_MICROPHONE_DISABLED = 4; // 0x4
2070    field public static final int STATUS_NOT_SUPPORTED = 2; // 0x2
2071    field public static final int STATUS_SERVICE_UNAVAILABLE = 3; // 0x3
2072    field public static final int STATUS_SUCCESS = 1; // 0x1
2073    field public static final int STATUS_UNKNOWN = 0; // 0x0
2074  }
2075
2076}
2077
2078package android.app.appsearch {
2079
2080  public class AppSearchManagerFrameworkInitializer {
2081    method public static void initialize();
2082  }
2083
2084}
2085
2086package android.app.assist {
2087
2088  public final class ActivityId implements android.os.Parcelable {
2089    method public int describeContents();
2090    method public void writeToParcel(@NonNull android.os.Parcel, int);
2091    field @NonNull public static final android.os.Parcelable.Creator<android.app.assist.ActivityId> CREATOR;
2092  }
2093
2094  public static class AssistStructure.ViewNode {
2095    ctor public AssistStructure.ViewNode();
2096  }
2097
2098}
2099
2100package android.app.backup {
2101
2102  public class BackupDataInput {
2103    ctor public BackupDataInput(java.io.FileDescriptor);
2104  }
2105
2106  public class BackupDataOutput {
2107    ctor public BackupDataOutput(java.io.FileDescriptor);
2108    ctor public BackupDataOutput(java.io.FileDescriptor, long);
2109  }
2110
2111  public class BackupManager {
2112    method @RequiresPermission(android.Manifest.permission.BACKUP) public void backupNow();
2113    method @RequiresPermission(android.Manifest.permission.BACKUP) public android.app.backup.RestoreSession beginRestoreSession();
2114    method @RequiresPermission(android.Manifest.permission.BACKUP) public void cancelBackups();
2115    method @RequiresPermission(android.Manifest.permission.BACKUP) public void excludeKeysFromRestore(@NonNull String, @NonNull java.util.List<java.lang.String>);
2116    method @RequiresPermission(android.Manifest.permission.BACKUP) public long getAvailableRestoreToken(String);
2117    method @NonNull public android.app.backup.BackupRestoreEventLogger getBackupRestoreEventLogger(@NonNull android.app.backup.BackupAgent);
2118    method @RequiresPermission(android.Manifest.permission.BACKUP) public android.content.Intent getConfigurationIntent(String);
2119    method @RequiresPermission(android.Manifest.permission.BACKUP) public String getCurrentTransport();
2120    method @Nullable @RequiresPermission(android.Manifest.permission.BACKUP) public android.content.ComponentName getCurrentTransportComponent();
2121    method @RequiresPermission(android.Manifest.permission.BACKUP) public android.content.Intent getDataManagementIntent(String);
2122    method @Nullable @RequiresPermission(android.Manifest.permission.BACKUP) public CharSequence getDataManagementIntentLabel(@NonNull String);
2123    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.BACKUP) public String getDataManagementLabel(@NonNull String);
2124    method @NonNull public android.app.backup.BackupRestoreEventLogger getDelayedRestoreLogger();
2125    method @RequiresPermission(android.Manifest.permission.BACKUP) public String getDestinationString(String);
2126    method @RequiresPermission(android.Manifest.permission.BACKUP) public boolean isAppEligibleForBackup(String);
2127    method @RequiresPermission(android.Manifest.permission.BACKUP) public boolean isBackupEnabled();
2128    method @RequiresPermission(android.Manifest.permission.BACKUP) public boolean isBackupServiceActive(android.os.UserHandle);
2129    method @RequiresPermission(android.Manifest.permission.BACKUP) public String[] listAllTransports();
2130    method public void reportDelayedRestoreResult(@NonNull android.app.backup.BackupRestoreEventLogger);
2131    method @RequiresPermission(android.Manifest.permission.BACKUP) public int requestBackup(String[], android.app.backup.BackupObserver);
2132    method @RequiresPermission(android.Manifest.permission.BACKUP) public int requestBackup(String[], android.app.backup.BackupObserver, android.app.backup.BackupManagerMonitor, int);
2133    method @Deprecated public int requestRestore(android.app.backup.RestoreObserver, android.app.backup.BackupManagerMonitor);
2134    method @RequiresPermission(android.Manifest.permission.BACKUP) public void selectBackupTransport(android.content.ComponentName, android.app.backup.SelectBackupTransportCallback);
2135    method @Deprecated @RequiresPermission(android.Manifest.permission.BACKUP) public String selectBackupTransport(String);
2136    method @RequiresPermission(android.Manifest.permission.BACKUP) public void setAncestralSerialNumber(long);
2137    method @RequiresPermission(android.Manifest.permission.BACKUP) public void setAutoRestore(boolean);
2138    method @RequiresPermission(android.Manifest.permission.BACKUP) public void setBackupEnabled(boolean);
2139    method @RequiresPermission(allOf={android.Manifest.permission.BACKUP, android.Manifest.permission.INTERACT_ACROSS_USERS_FULL}, conditional=true) public void setFrameworkSchedulingEnabled(boolean);
2140    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);
2141    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);
2142    field public static final int ERROR_AGENT_FAILURE = -1003; // 0xfffffc15
2143    field public static final int ERROR_BACKUP_CANCELLED = -2003; // 0xfffff82d
2144    field public static final int ERROR_BACKUP_NOT_ALLOWED = -2001; // 0xfffff82f
2145    field public static final int ERROR_PACKAGE_NOT_FOUND = -2002; // 0xfffff82e
2146    field public static final int ERROR_TRANSPORT_ABORTED = -1000; // 0xfffffc18
2147    field public static final int ERROR_TRANSPORT_INVALID = -2; // 0xfffffffe
2148    field public static final int ERROR_TRANSPORT_PACKAGE_REJECTED = -1002; // 0xfffffc16
2149    field public static final int ERROR_TRANSPORT_QUOTA_EXCEEDED = -1005; // 0xfffffc13
2150    field public static final int ERROR_TRANSPORT_UNAVAILABLE = -1; // 0xffffffff
2151    field public static final int FLAG_NON_INCREMENTAL_BACKUP = 1; // 0x1
2152    field public static final String PACKAGE_MANAGER_SENTINEL = "@pm@";
2153    field public static final int SUCCESS = 0; // 0x0
2154  }
2155
2156  public class BackupManagerMonitor {
2157    ctor public BackupManagerMonitor();
2158    method public void onEvent(android.os.Bundle);
2159    field public static final String EXTRA_LOG_AGENT_LOGGING_RESULTS = "android.app.backup.extra.LOG_AGENT_LOGGING_RESULTS";
2160    field public static final String EXTRA_LOG_CANCEL_ALL = "android.app.backup.extra.LOG_CANCEL_ALL";
2161    field public static final String EXTRA_LOG_EVENT_CATEGORY = "android.app.backup.extra.LOG_EVENT_CATEGORY";
2162    field public static final String EXTRA_LOG_EVENT_ID = "android.app.backup.extra.LOG_EVENT_ID";
2163    field public static final String EXTRA_LOG_EVENT_PACKAGE_LONG_VERSION = "android.app.backup.extra.LOG_EVENT_PACKAGE_FULL_VERSION";
2164    field public static final String EXTRA_LOG_EVENT_PACKAGE_NAME = "android.app.backup.extra.LOG_EVENT_PACKAGE_NAME";
2165    field @Deprecated public static final String EXTRA_LOG_EVENT_PACKAGE_VERSION = "android.app.backup.extra.LOG_EVENT_PACKAGE_VERSION";
2166    field public static final String EXTRA_LOG_EXCEPTION_FULL_BACKUP = "android.app.backup.extra.LOG_EXCEPTION_FULL_BACKUP";
2167    field public static final String EXTRA_LOG_ILLEGAL_KEY = "android.app.backup.extra.LOG_ILLEGAL_KEY";
2168    field public static final String EXTRA_LOG_MANIFEST_PACKAGE_NAME = "android.app.backup.extra.LOG_MANIFEST_PACKAGE_NAME";
2169    field public static final String EXTRA_LOG_OLD_VERSION = "android.app.backup.extra.LOG_OLD_VERSION";
2170    field public static final String EXTRA_LOG_POLICY_ALLOW_APKS = "android.app.backup.extra.LOG_POLICY_ALLOW_APKS";
2171    field public static final String EXTRA_LOG_PREFLIGHT_ERROR = "android.app.backup.extra.LOG_PREFLIGHT_ERROR";
2172    field public static final String EXTRA_LOG_RESTORE_ANYWAY = "android.app.backup.extra.LOG_RESTORE_ANYWAY";
2173    field public static final String EXTRA_LOG_RESTORE_VERSION = "android.app.backup.extra.LOG_RESTORE_VERSION";
2174    field public static final String EXTRA_LOG_WIDGET_PACKAGE_NAME = "android.app.backup.extra.LOG_WIDGET_PACKAGE_NAME";
2175    field public static final int LOG_EVENT_CATEGORY_AGENT = 2; // 0x2
2176    field public static final int LOG_EVENT_CATEGORY_BACKUP_MANAGER_POLICY = 3; // 0x3
2177    field public static final int LOG_EVENT_CATEGORY_TRANSPORT = 1; // 0x1
2178    field public static final int LOG_EVENT_ID_AGENT_LOGGING_RESULTS = 52; // 0x34
2179    field public static final int LOG_EVENT_ID_APK_NOT_INSTALLED = 40; // 0x28
2180    field public static final int LOG_EVENT_ID_APP_HAS_NO_AGENT = 28; // 0x1c
2181    field public static final int LOG_EVENT_ID_BACKUP_DISABLED = 13; // 0xd
2182    field public static final int LOG_EVENT_ID_CANNOT_RESTORE_WITHOUT_APK = 41; // 0x29
2183    field public static final int LOG_EVENT_ID_CANT_FIND_AGENT = 30; // 0x1e
2184    field public static final int LOG_EVENT_ID_CORRUPT_MANIFEST = 46; // 0x2e
2185    field public static final int LOG_EVENT_ID_DEVICE_NOT_PROVISIONED = 14; // 0xe
2186    field public static final int LOG_EVENT_ID_ERROR_PREFLIGHT = 16; // 0x10
2187    field public static final int LOG_EVENT_ID_EXCEPTION_FULL_BACKUP = 19; // 0x13
2188    field public static final int LOG_EVENT_ID_EXPECTED_DIFFERENT_PACKAGE = 43; // 0x2b
2189    field public static final int LOG_EVENT_ID_FULL_BACKUP_CANCEL = 4; // 0x4
2190    field public static final int LOG_EVENT_ID_FULL_RESTORE_ALLOW_BACKUP_FALSE = 39; // 0x27
2191    field public static final int LOG_EVENT_ID_FULL_RESTORE_SIGNATURE_MISMATCH = 37; // 0x25
2192    field public static final int LOG_EVENT_ID_FULL_RESTORE_TIMEOUT = 45; // 0x2d
2193    field public static final int LOG_EVENT_ID_ILLEGAL_KEY = 5; // 0x5
2194    field public static final int LOG_EVENT_ID_KEY_VALUE_BACKUP_CANCEL = 21; // 0x15
2195    field public static final int LOG_EVENT_ID_KEY_VALUE_RESTORE_TIMEOUT = 31; // 0x1f
2196    field public static final int LOG_EVENT_ID_LOST_TRANSPORT = 25; // 0x19
2197    field public static final int LOG_EVENT_ID_MISSING_SIGNATURE = 42; // 0x2a
2198    field public static final int LOG_EVENT_ID_NO_DATA_TO_SEND = 7; // 0x7
2199    field public static final int LOG_EVENT_ID_NO_PACKAGES = 49; // 0x31
2200    field public static final int LOG_EVENT_ID_NO_PM_METADATA_RECEIVED = 23; // 0x17
2201    field public static final int LOG_EVENT_ID_NO_RESTORE_METADATA_AVAILABLE = 22; // 0x16
2202    field public static final int LOG_EVENT_ID_PACKAGE_INELIGIBLE = 9; // 0x9
2203    field public static final int LOG_EVENT_ID_PACKAGE_KEY_VALUE_PARTICIPANT = 10; // 0xa
2204    field public static final int LOG_EVENT_ID_PACKAGE_NOT_FOUND = 12; // 0xc
2205    field public static final int LOG_EVENT_ID_PACKAGE_NOT_PRESENT = 26; // 0x1a
2206    field public static final int LOG_EVENT_ID_PACKAGE_STOPPED = 11; // 0xb
2207    field public static final int LOG_EVENT_ID_PACKAGE_TRANSPORT_NOT_PRESENT = 15; // 0xf
2208    field public static final int LOG_EVENT_ID_PM_AGENT_HAS_NO_METADATA = 24; // 0x18
2209    field public static final int LOG_EVENT_ID_QUOTA_HIT_PREFLIGHT = 18; // 0x12
2210    field public static final int LOG_EVENT_ID_RESTORE_ANY_VERSION = 34; // 0x22
2211    field public static final int LOG_EVENT_ID_RESTORE_VERSION_HIGHER = 27; // 0x1b
2212    field public static final int LOG_EVENT_ID_SIGNATURE_MISMATCH = 29; // 0x1d
2213    field public static final int LOG_EVENT_ID_SYSTEM_APP_NO_AGENT = 38; // 0x26
2214    field public static final int LOG_EVENT_ID_TRANSPORT_IS_NULL = 50; // 0x32
2215    field public static final int LOG_EVENT_ID_TRANSPORT_NON_INCREMENTAL_BACKUP_REQUIRED = 51; // 0x33
2216    field public static final int LOG_EVENT_ID_UNKNOWN_VERSION = 44; // 0x2c
2217    field public static final int LOG_EVENT_ID_VERSIONS_MATCH = 35; // 0x23
2218    field public static final int LOG_EVENT_ID_VERSION_OF_BACKUP_OLDER = 36; // 0x24
2219    field public static final int LOG_EVENT_ID_WIDGET_METADATA_MISMATCH = 47; // 0x2f
2220    field public static final int LOG_EVENT_ID_WIDGET_UNKNOWN_VERSION = 48; // 0x30
2221  }
2222
2223  public abstract class BackupObserver {
2224    ctor public BackupObserver();
2225    method public void backupFinished(int);
2226    method public void onResult(String, int);
2227    method public void onUpdate(String, android.app.backup.BackupProgress);
2228  }
2229
2230  public class BackupProgress implements android.os.Parcelable {
2231    ctor public BackupProgress(long, long);
2232    method public int describeContents();
2233    method public void writeToParcel(android.os.Parcel, int);
2234    field @NonNull public static final android.os.Parcelable.Creator<android.app.backup.BackupProgress> CREATOR;
2235    field public final long bytesExpected;
2236    field public final long bytesTransferred;
2237  }
2238
2239  public final class BackupRestoreEventLogger {
2240    method public void logBackupMetadata(@NonNull String, @NonNull String);
2241    method public void logItemsBackedUp(@NonNull String, int);
2242    method public void logItemsBackupFailed(@NonNull String, int, @Nullable String);
2243    method public void logItemsRestoreFailed(@NonNull String, int, @Nullable String);
2244    method public void logItemsRestored(@NonNull String, int);
2245    method public void logRestoreMetadata(@NonNull String, @NonNull String);
2246  }
2247
2248  public static final class BackupRestoreEventLogger.DataTypeResult implements android.os.Parcelable {
2249    ctor public BackupRestoreEventLogger.DataTypeResult(@NonNull String);
2250    method public int describeContents();
2251    method @NonNull public String getDataType();
2252    method @NonNull public java.util.Map<java.lang.String,java.lang.Integer> getErrors();
2253    method public int getFailCount();
2254    method @Nullable public byte[] getMetadataHash();
2255    method public int getSuccessCount();
2256    method public void writeToParcel(@NonNull android.os.Parcel, int);
2257    field @NonNull public static final android.os.Parcelable.Creator<android.app.backup.BackupRestoreEventLogger.DataTypeResult> CREATOR;
2258  }
2259
2260  public class BackupTransport {
2261    ctor public BackupTransport();
2262    method public int abortFullRestore();
2263    method public void cancelFullBackup();
2264    method public int checkFullBackupSize(long);
2265    method public int clearBackupData(android.content.pm.PackageInfo);
2266    method public android.content.Intent configurationIntent();
2267    method public String currentDestinationString();
2268    method public android.content.Intent dataManagementIntent();
2269    method @Nullable public CharSequence dataManagementIntentLabel();
2270    method @Deprecated @Nullable public String dataManagementLabel();
2271    method public int finishBackup();
2272    method public void finishRestore();
2273    method public android.app.backup.RestoreSet[] getAvailableRestoreSets();
2274    method @Nullable public android.app.backup.BackupManagerMonitor getBackupManagerMonitor();
2275    method public long getBackupQuota(String, boolean);
2276    method public android.os.IBinder getBinder();
2277    method public long getCurrentRestoreSet();
2278    method public int getNextFullRestoreDataChunk(android.os.ParcelFileDescriptor);
2279    method @FlaggedApi("com.android.server.backup.enable_restricted_mode_changes") @NonNull public java.util.List<java.lang.String> getPackagesThatShouldNotUseRestrictedMode(@NonNull java.util.List<java.lang.String>, int);
2280    method public int getRestoreData(android.os.ParcelFileDescriptor);
2281    method public int getTransportFlags();
2282    method public int initializeDevice();
2283    method public boolean isAppEligibleForBackup(android.content.pm.PackageInfo, boolean);
2284    method public String name();
2285    method public android.app.backup.RestoreDescription nextRestorePackage();
2286    method public int performBackup(android.content.pm.PackageInfo, android.os.ParcelFileDescriptor);
2287    method public int performBackup(android.content.pm.PackageInfo, android.os.ParcelFileDescriptor, int);
2288    method public int performFullBackup(android.content.pm.PackageInfo, android.os.ParcelFileDescriptor);
2289    method public int performFullBackup(android.content.pm.PackageInfo, android.os.ParcelFileDescriptor, int);
2290    method public long requestBackupTime();
2291    method public long requestFullBackupTime();
2292    method public int sendBackupData(int);
2293    method public int startRestore(long, android.content.pm.PackageInfo[]);
2294    method public String transportDirName();
2295    field public static final int AGENT_ERROR = -1003; // 0xfffffc15
2296    field public static final int AGENT_UNKNOWN = -1004; // 0xfffffc14
2297    field public static final String EXTRA_TRANSPORT_REGISTRATION = "android.app.backup.extra.TRANSPORT_REGISTRATION";
2298    field public static final int FLAG_DATA_NOT_CHANGED = 8; // 0x8
2299    field public static final int FLAG_INCREMENTAL = 2; // 0x2
2300    field public static final int FLAG_NON_INCREMENTAL = 4; // 0x4
2301    field public static final int FLAG_USER_INITIATED = 1; // 0x1
2302    field public static final int NO_MORE_DATA = -1; // 0xffffffff
2303    field public static final int TRANSPORT_ERROR = -1000; // 0xfffffc18
2304    field public static final int TRANSPORT_NON_INCREMENTAL_BACKUP_REQUIRED = -1006; // 0xfffffc12
2305    field public static final int TRANSPORT_NOT_INITIALIZED = -1001; // 0xfffffc17
2306    field public static final int TRANSPORT_OK = 0; // 0x0
2307    field public static final int TRANSPORT_PACKAGE_REJECTED = -1002; // 0xfffffc16
2308    field public static final int TRANSPORT_QUOTA_EXCEEDED = -1005; // 0xfffffc13
2309  }
2310
2311  public class RestoreDescription implements android.os.Parcelable {
2312    ctor public RestoreDescription(String, int);
2313    method public int describeContents();
2314    method public int getDataType();
2315    method public String getPackageName();
2316    method public void writeToParcel(android.os.Parcel, int);
2317    field @NonNull public static final android.os.Parcelable.Creator<android.app.backup.RestoreDescription> CREATOR;
2318    field public static final android.app.backup.RestoreDescription NO_MORE_PACKAGES;
2319    field public static final int TYPE_FULL_STREAM = 2; // 0x2
2320    field public static final int TYPE_KEY_VALUE = 1; // 0x1
2321  }
2322
2323  public abstract class RestoreObserver {
2324    method public void restoreSetsAvailable(android.app.backup.RestoreSet[]);
2325  }
2326
2327  public class RestoreSession {
2328    method public void endRestoreSession();
2329    method public int getAvailableRestoreSets(android.app.backup.RestoreObserver);
2330    method public int getAvailableRestoreSets(android.app.backup.RestoreObserver, android.app.backup.BackupManagerMonitor);
2331    method public int restoreAll(long, android.app.backup.RestoreObserver);
2332    method public int restoreAll(long, android.app.backup.RestoreObserver, android.app.backup.BackupManagerMonitor);
2333    method public int restorePackage(String, android.app.backup.RestoreObserver);
2334    method public int restorePackage(String, android.app.backup.RestoreObserver, android.app.backup.BackupManagerMonitor);
2335    method public int restorePackages(long, @Nullable android.app.backup.RestoreObserver, @NonNull java.util.Set<java.lang.String>);
2336    method public int restorePackages(long, @Nullable android.app.backup.RestoreObserver, @NonNull java.util.Set<java.lang.String>, @Nullable android.app.backup.BackupManagerMonitor);
2337  }
2338
2339  public class RestoreSet implements android.os.Parcelable {
2340    ctor public RestoreSet();
2341    ctor public RestoreSet(@Nullable String, @Nullable String, long);
2342    ctor public RestoreSet(@Nullable String, @Nullable String, long, int);
2343    method public int describeContents();
2344    method public void writeToParcel(android.os.Parcel, int);
2345    field @NonNull public static final android.os.Parcelable.Creator<android.app.backup.RestoreSet> CREATOR;
2346    field public final int backupTransportFlags;
2347    field @Nullable public String device;
2348    field @Nullable public String name;
2349    field public long token;
2350  }
2351
2352  public abstract class SelectBackupTransportCallback {
2353    ctor public SelectBackupTransportCallback();
2354    method public void onFailure(int);
2355    method public void onSuccess(String);
2356  }
2357
2358}
2359
2360package android.app.cloudsearch {
2361
2362  public class CloudSearchManager {
2363    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);
2364  }
2365
2366  public static interface CloudSearchManager.CallBack {
2367    method public void onSearchFailed(@NonNull android.app.cloudsearch.SearchRequest, @NonNull android.app.cloudsearch.SearchResponse);
2368    method public void onSearchSucceeded(@NonNull android.app.cloudsearch.SearchRequest, @NonNull android.app.cloudsearch.SearchResponse);
2369  }
2370
2371  public final class SearchRequest implements android.os.Parcelable {
2372    method public int describeContents();
2373    method @NonNull public String getCallerPackageName();
2374    method public float getMaxLatencyMillis();
2375    method @NonNull public String getQuery();
2376    method @NonNull public String getRequestId();
2377    method public int getResultNumber();
2378    method public int getResultOffset();
2379    method @NonNull public android.os.Bundle getSearchConstraints();
2380    method public void writeToParcel(@NonNull android.os.Parcel, int);
2381    field public static final String CONSTRAINT_IS_PRESUBMIT_SUGGESTION = "android.app.cloudsearch.IS_PRESUBMIT_SUGGESTION";
2382    field public static final String CONSTRAINT_SEARCH_PROVIDER_FILTER = "android.app.cloudsearch.SEARCH_PROVIDER_FILTER";
2383    field @NonNull public static final android.os.Parcelable.Creator<android.app.cloudsearch.SearchRequest> CREATOR;
2384  }
2385
2386  public static final class SearchRequest.Builder {
2387    ctor public SearchRequest.Builder(@NonNull String);
2388    method @NonNull public android.app.cloudsearch.SearchRequest build();
2389    method @NonNull public android.app.cloudsearch.SearchRequest.Builder setMaxLatencyMillis(float);
2390    method @NonNull public android.app.cloudsearch.SearchRequest.Builder setQuery(@NonNull String);
2391    method @NonNull public android.app.cloudsearch.SearchRequest.Builder setResultNumber(int);
2392    method @NonNull public android.app.cloudsearch.SearchRequest.Builder setResultOffset(int);
2393    method @NonNull public android.app.cloudsearch.SearchRequest.Builder setSearchConstraints(@Nullable android.os.Bundle);
2394  }
2395
2396  public final class SearchResponse implements android.os.Parcelable {
2397    method public int describeContents();
2398    method @NonNull public java.util.List<android.app.cloudsearch.SearchResult> getSearchResults();
2399    method @NonNull public String getSource();
2400    method public int getStatusCode();
2401    method public void writeToParcel(@NonNull android.os.Parcel, int);
2402    field @NonNull public static final android.os.Parcelable.Creator<android.app.cloudsearch.SearchResponse> CREATOR;
2403    field public static final int SEARCH_STATUS_NO_INTERNET = 2; // 0x2
2404    field public static final int SEARCH_STATUS_OK = 0; // 0x0
2405    field public static final int SEARCH_STATUS_TIME_OUT = 1; // 0x1
2406    field public static final int SEARCH_STATUS_UNKNOWN = -1; // 0xffffffff
2407  }
2408
2409  public static final class SearchResponse.Builder {
2410    ctor public SearchResponse.Builder(int);
2411    method @NonNull public android.app.cloudsearch.SearchResponse build();
2412    method @NonNull public android.app.cloudsearch.SearchResponse.Builder setSearchResults(@NonNull java.util.List<android.app.cloudsearch.SearchResult>);
2413    method @NonNull public android.app.cloudsearch.SearchResponse.Builder setStatusCode(int);
2414  }
2415
2416  public final class SearchResult implements android.os.Parcelable {
2417    method public int describeContents();
2418    method @NonNull public android.os.Bundle getExtraInfos();
2419    method public float getScore();
2420    method @NonNull public String getSnippet();
2421    method @NonNull public String getTitle();
2422    method public void writeToParcel(@NonNull android.os.Parcel, int);
2423    field @NonNull public static final android.os.Parcelable.Creator<android.app.cloudsearch.SearchResult> CREATOR;
2424    field public static final String EXTRAINFO_ACTION_APP_CARD = "android.app.cloudsearch.ACTION_APP_CARD";
2425    field public static final String EXTRAINFO_ACTION_BUTTON_IMAGE_PREREGISTERING = "android.app.cloudsearch.ACTION_BUTTON_IMAGE";
2426    field public static final String EXTRAINFO_ACTION_BUTTON_TEXT_PREREGISTERING = "android.app.cloudsearch.ACTION_BUTTON_TEXT";
2427    field public static final String EXTRAINFO_ACTION_INSTALL_BUTTON = "android.app.cloudsearch.ACTION_INSTALL_BUTTON";
2428    field public static final String EXTRAINFO_APP_BADGES = "android.app.cloudsearch.APP_BADGES";
2429    field public static final String EXTRAINFO_APP_CONTAINS_ADS_DISCLAIMER = "android.app.cloudsearch.APP_CONTAINS_ADS_DISCLAIMER";
2430    field public static final String EXTRAINFO_APP_CONTAINS_IAP_DISCLAIMER = "android.app.cloudsearch.APP_CONTAINS_IAP_DISCLAIMER";
2431    field public static final String EXTRAINFO_APP_DEVELOPER_NAME = "android.app.cloudsearch.APP_DEVELOPER_NAME";
2432    field public static final String EXTRAINFO_APP_DOMAIN_URL = "android.app.cloudsearch.APP_DOMAIN_URL";
2433    field public static final String EXTRAINFO_APP_IARC = "android.app.cloudsearch.APP_IARC";
2434    field public static final String EXTRAINFO_APP_ICON = "android.app.cloudsearch.APP_ICON";
2435    field public static final String EXTRAINFO_APP_INSTALL_COUNT = "android.app.cloudsearch.APP_INSTALL_COUNT";
2436    field public static final String EXTRAINFO_APP_PACKAGE_NAME = "android.app.cloudsearch.APP_PACKAGE_NAME";
2437    field public static final String EXTRAINFO_APP_REVIEW_COUNT = "android.app.cloudsearch.APP_REVIEW_COUNT";
2438    field public static final String EXTRAINFO_APP_SIZE_BYTES = "android.app.cloudsearch.APP_SIZE_BYTES";
2439    field public static final String EXTRAINFO_APP_STAR_RATING = "android.app.cloudsearch.APP_STAR_RATING";
2440    field public static final String EXTRAINFO_LONG_DESCRIPTION = "android.app.cloudsearch.LONG_DESCRIPTION";
2441    field public static final String EXTRAINFO_SCREENSHOTS = "android.app.cloudsearch.SCREENSHOTS";
2442    field public static final String EXTRAINFO_SHORT_DESCRIPTION = "android.app.cloudsearch.SHORT_DESCRIPTION";
2443    field public static final String EXTRAINFO_WEB_ICON = "android.app.cloudsearch.WEB_ICON";
2444    field public static final String EXTRAINFO_WEB_URL = "android.app.cloudsearch.WEB_URL";
2445  }
2446
2447  public static final class SearchResult.Builder {
2448    ctor public SearchResult.Builder(@NonNull String, @NonNull android.os.Bundle);
2449    method @NonNull public android.app.cloudsearch.SearchResult build();
2450    method @NonNull public android.app.cloudsearch.SearchResult.Builder setExtraInfos(@NonNull android.os.Bundle);
2451    method @NonNull public android.app.cloudsearch.SearchResult.Builder setScore(float);
2452    method @NonNull public android.app.cloudsearch.SearchResult.Builder setSnippet(@NonNull String);
2453    method @NonNull public android.app.cloudsearch.SearchResult.Builder setTitle(@NonNull String);
2454  }
2455
2456}
2457
2458package android.app.compat {
2459
2460  public final class CompatChanges {
2461    method public static boolean isChangeEnabled(long);
2462    method @RequiresPermission(allOf={"android.permission.READ_COMPAT_CHANGE_CONFIG", "android.permission.LOG_COMPAT_CHANGE"}) public static boolean isChangeEnabled(long, int);
2463    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);
2464    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>>);
2465    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>);
2466    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>>);
2467    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>);
2468  }
2469
2470  public final class PackageOverride {
2471    method public long getMaxVersionCode();
2472    method public long getMinVersionCode();
2473    method public boolean isEnabled();
2474  }
2475
2476  public static final class PackageOverride.Builder {
2477    ctor public PackageOverride.Builder();
2478    method @NonNull public android.app.compat.PackageOverride build();
2479    method @NonNull public android.app.compat.PackageOverride.Builder setEnabled(boolean);
2480    method @NonNull public android.app.compat.PackageOverride.Builder setMaxVersionCode(long);
2481    method @NonNull public android.app.compat.PackageOverride.Builder setMinVersionCode(long);
2482  }
2483
2484}
2485
2486package android.app.contentsuggestions {
2487
2488  public final class ClassificationsRequest implements android.os.Parcelable {
2489    method public int describeContents();
2490    method @NonNull public android.os.Bundle getExtras();
2491    method @NonNull public java.util.List<android.app.contentsuggestions.ContentSelection> getSelections();
2492    method public void writeToParcel(android.os.Parcel, int);
2493    field @NonNull public static final android.os.Parcelable.Creator<android.app.contentsuggestions.ClassificationsRequest> CREATOR;
2494  }
2495
2496  public static final class ClassificationsRequest.Builder {
2497    ctor public ClassificationsRequest.Builder(@NonNull java.util.List<android.app.contentsuggestions.ContentSelection>);
2498    method @NonNull public android.app.contentsuggestions.ClassificationsRequest build();
2499    method @NonNull public android.app.contentsuggestions.ClassificationsRequest.Builder setExtras(@NonNull android.os.Bundle);
2500  }
2501
2502  public final class ContentClassification implements android.os.Parcelable {
2503    ctor public ContentClassification(@NonNull String, @NonNull android.os.Bundle);
2504    method public int describeContents();
2505    method @NonNull public android.os.Bundle getExtras();
2506    method @NonNull public String getId();
2507    method public void writeToParcel(android.os.Parcel, int);
2508    field @NonNull public static final android.os.Parcelable.Creator<android.app.contentsuggestions.ContentClassification> CREATOR;
2509  }
2510
2511  public final class ContentSelection implements android.os.Parcelable {
2512    ctor public ContentSelection(@NonNull String, @NonNull android.os.Bundle);
2513    method public int describeContents();
2514    method @NonNull public android.os.Bundle getExtras();
2515    method @NonNull public String getId();
2516    method public void writeToParcel(android.os.Parcel, int);
2517    field @NonNull public static final android.os.Parcelable.Creator<android.app.contentsuggestions.ContentSelection> CREATOR;
2518  }
2519
2520  public final class ContentSuggestionsManager {
2521    method public void classifyContentSelections(@NonNull android.app.contentsuggestions.ClassificationsRequest, @NonNull java.util.concurrent.Executor, @NonNull android.app.contentsuggestions.ContentSuggestionsManager.ClassificationsCallback);
2522    method public boolean isEnabled();
2523    method public void notifyInteraction(@NonNull String, @NonNull android.os.Bundle);
2524    method public void provideContextImage(@NonNull android.graphics.Bitmap, @NonNull android.os.Bundle);
2525    method public void provideContextImage(int, @NonNull android.os.Bundle);
2526    method public void suggestContentSelections(@NonNull android.app.contentsuggestions.SelectionsRequest, @NonNull java.util.concurrent.Executor, @NonNull android.app.contentsuggestions.ContentSuggestionsManager.SelectionsCallback);
2527  }
2528
2529  public static interface ContentSuggestionsManager.ClassificationsCallback {
2530    method public void onContentClassificationsAvailable(int, @NonNull java.util.List<android.app.contentsuggestions.ContentClassification>);
2531  }
2532
2533  public static interface ContentSuggestionsManager.SelectionsCallback {
2534    method public void onContentSelectionsAvailable(int, @NonNull java.util.List<android.app.contentsuggestions.ContentSelection>);
2535  }
2536
2537  public final class SelectionsRequest implements android.os.Parcelable {
2538    method public int describeContents();
2539    method @NonNull public android.os.Bundle getExtras();
2540    method @Nullable public android.graphics.Point getInterestPoint();
2541    method public int getTaskId();
2542    method public void writeToParcel(android.os.Parcel, int);
2543    field @NonNull public static final android.os.Parcelable.Creator<android.app.contentsuggestions.SelectionsRequest> CREATOR;
2544  }
2545
2546  public static final class SelectionsRequest.Builder {
2547    ctor public SelectionsRequest.Builder(int);
2548    method @NonNull public android.app.contentsuggestions.SelectionsRequest build();
2549    method @NonNull public android.app.contentsuggestions.SelectionsRequest.Builder setExtras(@NonNull android.os.Bundle);
2550    method @NonNull public android.app.contentsuggestions.SelectionsRequest.Builder setInterestPoint(@NonNull android.graphics.Point);
2551  }
2552
2553}
2554
2555package android.app.contextualsearch {
2556
2557  @FlaggedApi("android.app.contextualsearch.flags.enable_service") public final class CallbackToken implements android.os.Parcelable {
2558    ctor public CallbackToken();
2559    method public int describeContents();
2560    method public void getContextualSearchState(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.app.contextualsearch.ContextualSearchState,java.lang.Throwable>);
2561    method public void writeToParcel(@NonNull android.os.Parcel, int);
2562    field @NonNull public static final android.os.Parcelable.Creator<android.app.contextualsearch.CallbackToken> CREATOR;
2563  }
2564
2565  @FlaggedApi("android.app.contextualsearch.flags.enable_service") public final class ContextualSearchManager {
2566    method @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXTUAL_SEARCH) public void startContextualSearch(int);
2567    field public static final String ACTION_LAUNCH_CONTEXTUAL_SEARCH = "android.app.contextualsearch.action.LAUNCH_CONTEXTUAL_SEARCH";
2568    field public static final int ENTRYPOINT_LONG_PRESS_HOME = 2; // 0x2
2569    field public static final int ENTRYPOINT_LONG_PRESS_META = 10; // 0xa
2570    field public static final int ENTRYPOINT_LONG_PRESS_NAV_HANDLE = 1; // 0x1
2571    field public static final int ENTRYPOINT_LONG_PRESS_OVERVIEW = 3; // 0x3
2572    field public static final int ENTRYPOINT_OVERVIEW_ACTION = 4; // 0x4
2573    field public static final int ENTRYPOINT_OVERVIEW_MENU = 5; // 0x5
2574    field public static final int ENTRYPOINT_SYSTEM_ACTION = 9; // 0x9
2575    field public static final String EXTRA_ENTRYPOINT = "android.app.contextualsearch.extra.ENTRYPOINT";
2576    field public static final String EXTRA_FLAG_SECURE_FOUND = "android.app.contextualsearch.extra.FLAG_SECURE_FOUND";
2577    field public static final String EXTRA_IS_MANAGED_PROFILE_VISIBLE = "android.app.contextualsearch.extra.IS_MANAGED_PROFILE_VISIBLE";
2578    field public static final String EXTRA_SCREENSHOT = "android.app.contextualsearch.extra.SCREENSHOT";
2579    field public static final String EXTRA_TOKEN = "android.app.contextualsearch.extra.TOKEN";
2580    field public static final String EXTRA_VISIBLE_PACKAGE_NAMES = "android.app.contextualsearch.extra.VISIBLE_PACKAGE_NAMES";
2581  }
2582
2583  @FlaggedApi("android.app.contextualsearch.flags.enable_service") public final class ContextualSearchState implements android.os.Parcelable {
2584    ctor public ContextualSearchState(@Nullable android.app.assist.AssistStructure, @Nullable android.app.assist.AssistContent, @NonNull android.os.Bundle);
2585    method public int describeContents();
2586    method @Nullable public android.app.assist.AssistContent getContent();
2587    method @NonNull public android.os.Bundle getExtras();
2588    method @Nullable public android.app.assist.AssistStructure getStructure();
2589    method public void writeToParcel(@NonNull android.os.Parcel, int);
2590    field @NonNull public static final android.os.Parcelable.Creator<android.app.contextualsearch.ContextualSearchState> CREATOR;
2591  }
2592
2593}
2594
2595package android.app.ecm {
2596
2597  public final class EnhancedConfirmationManager {
2598    method @RequiresPermission(android.Manifest.permission.MANAGE_ENHANCED_CONFIRMATION_STATES) public void clearRestriction(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
2599    method @NonNull public android.content.Intent createRestrictedSettingDialogIntent(@NonNull String, @NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
2600    method @RequiresPermission(android.Manifest.permission.MANAGE_ENHANCED_CONFIRMATION_STATES) public boolean isClearRestrictionAllowed(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
2601    method @RequiresPermission(android.Manifest.permission.MANAGE_ENHANCED_CONFIRMATION_STATES) public boolean isRestricted(@NonNull String, @NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
2602    method @RequiresPermission(android.Manifest.permission.MANAGE_ENHANCED_CONFIRMATION_STATES) public void setClearRestrictionAllowed(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
2603    field public static final String ACTION_SHOW_ECM_RESTRICTED_SETTING_DIALOG = "android.app.ecm.action.SHOW_ECM_RESTRICTED_SETTING_DIALOG";
2604  }
2605
2606}
2607
2608package android.app.job {
2609
2610  public abstract class JobScheduler {
2611    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public abstract int scheduleAsPackage(@NonNull android.app.job.JobInfo, @NonNull String, int, String);
2612  }
2613
2614  public class JobSchedulerFrameworkInitializer {
2615    method public static void registerServiceWrappers();
2616  }
2617
2618}
2619
2620package android.app.ondeviceintelligence {
2621
2622  public interface DownloadCallback {
2623    method public void onDownloadCompleted(@NonNull android.os.PersistableBundle);
2624    method public void onDownloadFailed(int, @Nullable String, @NonNull android.os.PersistableBundle);
2625    method public default void onDownloadProgress(long);
2626    method public default void onDownloadStarted(long);
2627    field public static final int DOWNLOAD_FAILURE_STATUS_DOWNLOADING = 3; // 0x3
2628    field public static final int DOWNLOAD_FAILURE_STATUS_NETWORK_FAILURE = 2; // 0x2
2629    field public static final int DOWNLOAD_FAILURE_STATUS_NOT_ENOUGH_DISK_SPACE = 1; // 0x1
2630    field public static final int DOWNLOAD_FAILURE_STATUS_UNAVAILABLE = 4; // 0x4
2631    field public static final int DOWNLOAD_FAILURE_STATUS_UNKNOWN = 0; // 0x0
2632  }
2633
2634  public final class Feature implements android.os.Parcelable {
2635    method public int describeContents();
2636    method @NonNull public android.os.PersistableBundle getFeatureParams();
2637    method public int getId();
2638    method @Nullable public String getModelName();
2639    method @Nullable public String getName();
2640    method public int getType();
2641    method public int getVariant();
2642    method public void writeToParcel(@NonNull android.os.Parcel, int);
2643    field @NonNull public static final android.os.Parcelable.Creator<android.app.ondeviceintelligence.Feature> CREATOR;
2644  }
2645
2646  public static final class Feature.Builder {
2647    ctor public Feature.Builder(int);
2648    method @NonNull public android.app.ondeviceintelligence.Feature build();
2649    method @NonNull public android.app.ondeviceintelligence.Feature.Builder setFeatureParams(@NonNull android.os.PersistableBundle);
2650    method @NonNull public android.app.ondeviceintelligence.Feature.Builder setModelName(@NonNull String);
2651    method @NonNull public android.app.ondeviceintelligence.Feature.Builder setName(@NonNull String);
2652    method @NonNull public android.app.ondeviceintelligence.Feature.Builder setType(int);
2653    method @NonNull public android.app.ondeviceintelligence.Feature.Builder setVariant(int);
2654  }
2655
2656  public final class FeatureDetails implements android.os.Parcelable {
2657    ctor public FeatureDetails(int);
2658    ctor public FeatureDetails(int, @NonNull android.os.PersistableBundle);
2659    method public int describeContents();
2660    method @NonNull public android.os.PersistableBundle getFeatureDetailParams();
2661    method public int getFeatureStatus();
2662    method public void writeToParcel(@NonNull android.os.Parcel, int);
2663    field @NonNull public static final android.os.Parcelable.Creator<android.app.ondeviceintelligence.FeatureDetails> CREATOR;
2664    field public static final int FEATURE_STATUS_AVAILABLE = 3; // 0x3
2665    field public static final int FEATURE_STATUS_DOWNLOADABLE = 1; // 0x1
2666    field public static final int FEATURE_STATUS_DOWNLOADING = 2; // 0x2
2667    field public static final int FEATURE_STATUS_SERVICE_UNAVAILABLE = 4; // 0x4
2668    field public static final int FEATURE_STATUS_UNAVAILABLE = 0; // 0x0
2669  }
2670
2671  public class OnDeviceIntelligenceException extends java.lang.Exception {
2672    ctor public OnDeviceIntelligenceException(int);
2673    ctor public OnDeviceIntelligenceException(int, @NonNull android.os.PersistableBundle);
2674    ctor public OnDeviceIntelligenceException(int, @NonNull String);
2675    ctor public OnDeviceIntelligenceException(int, @NonNull String, @NonNull android.os.PersistableBundle);
2676    method public int getErrorCode();
2677    method @NonNull public android.os.PersistableBundle getErrorParams();
2678    field public static final int ON_DEVICE_INTELLIGENCE_SERVICE_UNAVAILABLE = 100; // 0x64
2679    field public static final int PROCESSING_ERROR_BAD_DATA = 2; // 0x2
2680    field public static final int PROCESSING_ERROR_BAD_REQUEST = 3; // 0x3
2681    field public static final int PROCESSING_ERROR_BUSY = 9; // 0x9
2682    field public static final int PROCESSING_ERROR_CANCELLED = 7; // 0x7
2683    field public static final int PROCESSING_ERROR_COMPUTE_ERROR = 5; // 0x5
2684    field public static final int PROCESSING_ERROR_INTERNAL = 14; // 0xe
2685    field public static final int PROCESSING_ERROR_IPC_ERROR = 6; // 0x6
2686    field public static final int PROCESSING_ERROR_NOT_AVAILABLE = 8; // 0x8
2687    field public static final int PROCESSING_ERROR_REQUEST_NOT_SAFE = 4; // 0x4
2688    field public static final int PROCESSING_ERROR_REQUEST_TOO_LARGE = 12; // 0xc
2689    field public static final int PROCESSING_ERROR_RESPONSE_NOT_SAFE = 11; // 0xb
2690    field public static final int PROCESSING_ERROR_SAFETY_ERROR = 10; // 0xa
2691    field public static final int PROCESSING_ERROR_SERVICE_UNAVAILABLE = 15; // 0xf
2692    field public static final int PROCESSING_ERROR_SUSPENDED = 13; // 0xd
2693    field public static final int PROCESSING_ERROR_UNKNOWN = 1; // 0x1
2694    field public static final int PROCESSING_UPDATE_STATUS_CONNECTION_FAILED = 200; // 0xc8
2695  }
2696
2697  public final class OnDeviceIntelligenceManager {
2698    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>);
2699    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>);
2700    method @Nullable @RequiresPermission(android.Manifest.permission.USE_ON_DEVICE_INTELLIGENCE) public String getRemoteServicePackageName();
2701    method @RequiresPermission(android.Manifest.permission.USE_ON_DEVICE_INTELLIGENCE) public void getVersion(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.LongConsumer);
2702    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>);
2703    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);
2704    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);
2705    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);
2706    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>);
2707    field public static final int REQUEST_TYPE_EMBEDDINGS = 2; // 0x2
2708    field public static final int REQUEST_TYPE_INFERENCE = 0; // 0x0
2709    field public static final int REQUEST_TYPE_PREPARE = 1; // 0x1
2710  }
2711
2712  public interface ProcessingCallback {
2713    method public default void onDataAugmentRequest(@NonNull android.os.Bundle, @NonNull java.util.function.Consumer<android.os.Bundle>);
2714    method public void onError(@NonNull android.app.ondeviceintelligence.OnDeviceIntelligenceException);
2715    method public void onResult(@NonNull android.os.Bundle);
2716  }
2717
2718  public final class ProcessingSignal {
2719    ctor public ProcessingSignal();
2720    method public void sendSignal(@NonNull android.os.PersistableBundle);
2721    method public void setOnProcessingSignalCallback(@NonNull java.util.concurrent.Executor, @Nullable android.app.ondeviceintelligence.ProcessingSignal.OnProcessingSignalCallback);
2722  }
2723
2724  public static interface ProcessingSignal.OnProcessingSignalCallback {
2725    method public void onSignalReceived(@NonNull android.os.PersistableBundle);
2726  }
2727
2728  public interface StreamingProcessingCallback extends android.app.ondeviceintelligence.ProcessingCallback {
2729    method public void onPartialResult(@NonNull android.os.Bundle);
2730  }
2731
2732  public final class TokenInfo implements android.os.Parcelable {
2733    ctor public TokenInfo(long);
2734    ctor public TokenInfo(long, @NonNull android.os.PersistableBundle);
2735    method public int describeContents();
2736    method public long getCount();
2737    method @NonNull public android.os.PersistableBundle getInfoParams();
2738    method public void writeToParcel(@NonNull android.os.Parcel, int);
2739    field @NonNull public static final android.os.Parcelable.Creator<android.app.ondeviceintelligence.TokenInfo> CREATOR;
2740  }
2741
2742}
2743
2744package android.app.people {
2745
2746  public final class PeopleManager {
2747    method @RequiresPermission(android.Manifest.permission.READ_PEOPLE_DATA) public boolean isConversation(@NonNull String, @NonNull String);
2748  }
2749
2750}
2751
2752package android.app.prediction {
2753
2754  public final class AppPredictionContext implements android.os.Parcelable {
2755    method public int describeContents();
2756    method @Nullable public android.os.Bundle getExtras();
2757    method @NonNull public String getPackageName();
2758    method @IntRange(from=0) public int getPredictedTargetCount();
2759    method @NonNull public String getUiSurface();
2760    method public void writeToParcel(@NonNull android.os.Parcel, int);
2761    field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppPredictionContext> CREATOR;
2762  }
2763
2764  public static final class AppPredictionContext.Builder {
2765    ctor public AppPredictionContext.Builder(@NonNull android.content.Context);
2766    method @NonNull public android.app.prediction.AppPredictionContext build();
2767    method @NonNull public android.app.prediction.AppPredictionContext.Builder setExtras(@Nullable android.os.Bundle);
2768    method @NonNull public android.app.prediction.AppPredictionContext.Builder setPredictedTargetCount(@IntRange(from=0) int);
2769    method @NonNull public android.app.prediction.AppPredictionContext.Builder setUiSurface(@NonNull String);
2770  }
2771
2772  public final class AppPredictionManager {
2773    method @NonNull public android.app.prediction.AppPredictor createAppPredictionSession(@NonNull android.app.prediction.AppPredictionContext);
2774  }
2775
2776  public final class AppPredictionSessionId implements android.os.Parcelable {
2777    method public int describeContents();
2778    method public void writeToParcel(android.os.Parcel, int);
2779    field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppPredictionSessionId> CREATOR;
2780  }
2781
2782  public final class AppPredictor {
2783    method public void destroy();
2784    method public void notifyAppTargetEvent(@NonNull android.app.prediction.AppTargetEvent);
2785    method public void notifyLaunchLocationShown(@NonNull String, @NonNull java.util.List<android.app.prediction.AppTargetId>);
2786    method public void registerPredictionUpdates(@NonNull java.util.concurrent.Executor, @NonNull android.app.prediction.AppPredictor.Callback);
2787    method public void requestPredictionUpdate();
2788    method @FlaggedApi("android.service.appprediction.flags.service_features_api") public void requestServiceFeatures(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.os.Bundle>);
2789    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>>);
2790    method public void unregisterPredictionUpdates(@NonNull android.app.prediction.AppPredictor.Callback);
2791  }
2792
2793  public static interface AppPredictor.Callback {
2794    method public void onTargetsAvailable(@NonNull java.util.List<android.app.prediction.AppTarget>);
2795  }
2796
2797  public final class AppTarget implements android.os.Parcelable {
2798    method public int describeContents();
2799    method @Nullable public String getClassName();
2800    method @NonNull public android.app.prediction.AppTargetId getId();
2801    method @NonNull public String getPackageName();
2802    method @IntRange(from=0) public int getRank();
2803    method @Nullable public android.content.pm.ShortcutInfo getShortcutInfo();
2804    method @NonNull public android.os.UserHandle getUser();
2805    method public void writeToParcel(android.os.Parcel, int);
2806    field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppTarget> CREATOR;
2807  }
2808
2809  public static final class AppTarget.Builder {
2810    ctor public AppTarget.Builder(@NonNull android.app.prediction.AppTargetId, @NonNull android.content.pm.ShortcutInfo);
2811    ctor public AppTarget.Builder(@NonNull android.app.prediction.AppTargetId, @NonNull String, @NonNull android.os.UserHandle);
2812    method @NonNull public android.app.prediction.AppTarget build();
2813    method @NonNull public android.app.prediction.AppTarget.Builder setClassName(@NonNull String);
2814    method @NonNull public android.app.prediction.AppTarget.Builder setRank(@IntRange(from=0) int);
2815  }
2816
2817  public final class AppTargetEvent implements android.os.Parcelable {
2818    method public int describeContents();
2819    method public int getAction();
2820    method @Nullable public String getLaunchLocation();
2821    method @Nullable public android.app.prediction.AppTarget getTarget();
2822    method public void writeToParcel(android.os.Parcel, int);
2823    field public static final int ACTION_DISMISS = 2; // 0x2
2824    field public static final int ACTION_LAUNCH = 1; // 0x1
2825    field public static final int ACTION_PIN = 3; // 0x3
2826    field public static final int ACTION_UNDISMISS = 5; // 0x5
2827    field public static final int ACTION_UNPIN = 4; // 0x4
2828    field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppTargetEvent> CREATOR;
2829  }
2830
2831  public static final class AppTargetEvent.Builder {
2832    ctor public AppTargetEvent.Builder(@Nullable android.app.prediction.AppTarget, int);
2833    method @NonNull public android.app.prediction.AppTargetEvent build();
2834    method @NonNull public android.app.prediction.AppTargetEvent.Builder setLaunchLocation(@Nullable String);
2835  }
2836
2837  public final class AppTargetId implements android.os.Parcelable {
2838    ctor public AppTargetId(@NonNull String);
2839    method public int describeContents();
2840    method public void writeToParcel(android.os.Parcel, int);
2841    field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppTargetId> CREATOR;
2842  }
2843
2844}
2845
2846package android.app.role {
2847
2848  public interface OnRoleHoldersChangedListener {
2849    method public void onRoleHoldersChanged(@NonNull String, @NonNull android.os.UserHandle);
2850  }
2851
2852  @Deprecated public abstract class RoleControllerService extends android.app.Service {
2853    ctor @Deprecated public RoleControllerService();
2854    method @Deprecated @WorkerThread public abstract boolean onAddRoleHolder(@NonNull String, @NonNull String, int);
2855    method @Deprecated @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent);
2856    method @Deprecated @WorkerThread public abstract boolean onClearRoleHolders(@NonNull String, int);
2857    method @Deprecated @NonNull public java.util.List<java.lang.String> onGetLegacyFallbackDisabledRoles();
2858    method @Deprecated @WorkerThread public abstract boolean onGrantDefaultRoles();
2859    method @Deprecated public abstract boolean onIsApplicationQualifiedForRole(@NonNull String, @NonNull String);
2860    method @Deprecated public boolean onIsApplicationVisibleForRole(@NonNull String, @NonNull String);
2861    method @Deprecated public abstract boolean onIsRoleVisible(@NonNull String);
2862    method @Deprecated @WorkerThread public abstract boolean onRemoveRoleHolder(@NonNull String, @NonNull String, int);
2863    field @Deprecated public static final String SERVICE_INTERFACE = "android.app.role.RoleControllerService";
2864  }
2865
2866  public final class RoleManager {
2867    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);
2868    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>);
2869    method @Deprecated @RequiresPermission("com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER") public boolean addRoleHolderFromController(@NonNull String, @NonNull String);
2870    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>);
2871    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_DEFAULT_APPLICATIONS) public String getDefaultApplication(@NonNull String);
2872    method @Deprecated @NonNull @RequiresPermission("com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER") public java.util.List<java.lang.String> getHeldRolesFromController(@NonNull String);
2873    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public java.util.List<java.lang.String> getRoleHolders(@NonNull String);
2874    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public java.util.List<java.lang.String> getRoleHoldersAsUser(@NonNull String, @NonNull android.os.UserHandle);
2875    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>);
2876    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public boolean isBypassingRoleQualification();
2877    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public boolean isRoleFallbackEnabled(@NonNull String);
2878    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>);
2879    method @RequiresPermission(android.Manifest.permission.OBSERVE_ROLE_HOLDERS) public void removeOnRoleHoldersChangedListenerAsUser(@NonNull android.app.role.OnRoleHoldersChangedListener, @NonNull android.os.UserHandle);
2880    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>);
2881    method @Deprecated @RequiresPermission("com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER") public boolean removeRoleHolderFromController(@NonNull String, @NonNull String);
2882    method @RequiresPermission(android.Manifest.permission.BYPASS_ROLE_QUALIFICATION) public void setBypassingRoleQualification(boolean);
2883    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>);
2884    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public void setRoleFallbackEnabled(@NonNull String, boolean);
2885    method @Deprecated @RequiresPermission("com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER") public void setRoleNamesFromController(@NonNull java.util.List<java.lang.String>);
2886    field public static final int MANAGE_HOLDERS_FLAG_DONT_KILL_APP = 1; // 0x1
2887    field public static final String ROLE_DEVICE_POLICY_MANAGEMENT = "android.app.role.DEVICE_POLICY_MANAGEMENT";
2888    field public static final String ROLE_FINANCED_DEVICE_KIOSK = "android.app.role.FINANCED_DEVICE_KIOSK";
2889    field public static final String ROLE_SYSTEM_ACTIVITY_RECOGNIZER = "android.app.role.SYSTEM_ACTIVITY_RECOGNIZER";
2890    field public static final String ROLE_SYSTEM_CALL_STREAMING = "android.app.role.SYSTEM_CALL_STREAMING";
2891    field public static final String ROLE_SYSTEM_SUPERVISION = "android.app.role.SYSTEM_SUPERVISION";
2892    field public static final String ROLE_SYSTEM_WELLBEING = "android.app.role.SYSTEM_WELLBEING";
2893  }
2894
2895}
2896
2897package android.app.search {
2898
2899  public final class Query implements android.os.Parcelable {
2900    ctor public Query(@NonNull String, long);
2901    ctor public Query(@NonNull String, long, @NonNull android.os.Bundle);
2902    method public int describeContents();
2903    method @NonNull public android.os.Bundle getExtras();
2904    method @NonNull public String getInput();
2905    method public long getTimestampMillis();
2906    method public void writeToParcel(@NonNull android.os.Parcel, int);
2907    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.Query> CREATOR;
2908    field public static final String EXTRA_IME_HEIGHT = "android.app.search.extra.IME_HEIGHT";
2909  }
2910
2911  public final class SearchAction implements android.os.Parcelable {
2912    method public int describeContents();
2913    method @Nullable public CharSequence getContentDescription();
2914    method @Nullable public android.os.Bundle getExtras();
2915    method @Nullable public android.graphics.drawable.Icon getIcon();
2916    method @NonNull public String getId();
2917    method @Nullable public android.content.Intent getIntent();
2918    method @Nullable public android.app.PendingIntent getPendingIntent();
2919    method @Nullable public CharSequence getSubtitle();
2920    method @NonNull public CharSequence getTitle();
2921    method @Nullable public android.os.UserHandle getUserHandle();
2922    method public void writeToParcel(@NonNull android.os.Parcel, int);
2923    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.SearchAction> CREATOR;
2924  }
2925
2926  public static final class SearchAction.Builder {
2927    ctor public SearchAction.Builder(@NonNull String, @NonNull String);
2928    method @NonNull public android.app.search.SearchAction build();
2929    method @NonNull public android.app.search.SearchAction.Builder setContentDescription(@Nullable CharSequence);
2930    method @NonNull public android.app.search.SearchAction.Builder setExtras(@Nullable android.os.Bundle);
2931    method @NonNull public android.app.search.SearchAction.Builder setIcon(@Nullable android.graphics.drawable.Icon);
2932    method @NonNull public android.app.search.SearchAction.Builder setIntent(@Nullable android.content.Intent);
2933    method @NonNull public android.app.search.SearchAction.Builder setPendingIntent(@Nullable android.app.PendingIntent);
2934    method @NonNull public android.app.search.SearchAction.Builder setSubtitle(@Nullable CharSequence);
2935    method @NonNull public android.app.search.SearchAction.Builder setUserHandle(@Nullable android.os.UserHandle);
2936  }
2937
2938  public final class SearchContext implements android.os.Parcelable {
2939    ctor public SearchContext(int, int);
2940    ctor public SearchContext(int, int, @NonNull android.os.Bundle);
2941    method public int describeContents();
2942    method @NonNull public android.os.Bundle getExtras();
2943    method @Nullable public String getPackageName();
2944    method @NonNull public int getResultTypes();
2945    method @NonNull public int getTimeoutMillis();
2946    method public void writeToParcel(@NonNull android.os.Parcel, int);
2947    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.SearchContext> CREATOR;
2948  }
2949
2950  public final class SearchSession implements java.lang.AutoCloseable {
2951    method public void close();
2952    method protected void finalize();
2953    method public void notifyEvent(@NonNull android.app.search.Query, @NonNull android.app.search.SearchTargetEvent);
2954    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>>);
2955    method public void registerEmptyQueryResultUpdateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.app.search.SearchSession.Callback);
2956    method public void unregisterEmptyQueryResultUpdateCallback(@NonNull android.app.search.SearchSession.Callback);
2957  }
2958
2959  public static interface SearchSession.Callback {
2960    method public void onTargetsAvailable(@NonNull java.util.List<android.app.search.SearchTarget>);
2961  }
2962
2963  public final class SearchSessionId implements android.os.Parcelable {
2964    method public int describeContents();
2965    method public void writeToParcel(@NonNull android.os.Parcel, int);
2966    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.SearchSessionId> CREATOR;
2967  }
2968
2969  public final class SearchTarget implements android.os.Parcelable {
2970    method public int describeContents();
2971    method @Nullable public android.appwidget.AppWidgetProviderInfo getAppWidgetProviderInfo();
2972    method @NonNull public android.os.Bundle getExtras();
2973    method @NonNull public String getId();
2974    method @NonNull public String getLayoutType();
2975    method @NonNull public String getPackageName();
2976    method @NonNull public String getParentId();
2977    method public int getResultType();
2978    method public float getScore();
2979    method @Nullable public android.app.search.SearchAction getSearchAction();
2980    method @Nullable public android.content.pm.ShortcutInfo getShortcutInfo();
2981    method @Nullable public android.net.Uri getSliceUri();
2982    method @NonNull public android.os.UserHandle getUserHandle();
2983    method public boolean isHidden();
2984    method public void writeToParcel(@NonNull android.os.Parcel, int);
2985    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.SearchTarget> CREATOR;
2986    field public static final String LAYOUT_TYPE_ICON = "icon";
2987    field public static final String LAYOUT_TYPE_ICON_ROW = "icon_row";
2988    field public static final String LAYOUT_TYPE_SHORT_ICON_ROW = "short_icon_row";
2989    field public static final int RESULT_TYPE_APPLICATION = 1; // 0x1
2990    field public static final int RESULT_TYPE_SHORTCUT = 2; // 0x2
2991    field public static final int RESULT_TYPE_SLICE = 4; // 0x4
2992    field public static final int RESULT_TYPE_WIDGETS = 8; // 0x8
2993  }
2994
2995  public static final class SearchTarget.Builder {
2996    ctor public SearchTarget.Builder(int, @NonNull String, @NonNull String);
2997    method @NonNull public android.app.search.SearchTarget build();
2998    method @NonNull public android.app.search.SearchTarget.Builder setAppWidgetProviderInfo(@NonNull android.appwidget.AppWidgetProviderInfo);
2999    method @NonNull public android.app.search.SearchTarget.Builder setExtras(@NonNull android.os.Bundle);
3000    method @NonNull public android.app.search.SearchTarget.Builder setHidden(boolean);
3001    method @NonNull public android.app.search.SearchTarget.Builder setPackageName(@NonNull String);
3002    method @NonNull public android.app.search.SearchTarget.Builder setParentId(@NonNull String);
3003    method @NonNull public android.app.search.SearchTarget.Builder setScore(@FloatRange(from=0.0f, to=1.0f) float);
3004    method @NonNull public android.app.search.SearchTarget.Builder setSearchAction(@Nullable android.app.search.SearchAction);
3005    method @NonNull public android.app.search.SearchTarget.Builder setShortcutInfo(@NonNull android.content.pm.ShortcutInfo);
3006    method @NonNull public android.app.search.SearchTarget.Builder setSliceUri(@NonNull android.net.Uri);
3007    method @NonNull public android.app.search.SearchTarget.Builder setUserHandle(@NonNull android.os.UserHandle);
3008  }
3009
3010  public final class SearchTargetEvent implements android.os.Parcelable {
3011    method public int describeContents();
3012    method public int getAction();
3013    method public int getFlags();
3014    method @Nullable public String getLaunchLocation();
3015    method @NonNull public String getTargetId();
3016    method @NonNull public java.util.List<java.lang.String> getTargetIds();
3017    method public void writeToParcel(@NonNull android.os.Parcel, int);
3018    field public static final int ACTION_DELETE = 9; // 0x9
3019    field public static final int ACTION_DISMISS = 10; // 0xa
3020    field public static final int ACTION_DRAGNDROP = 7; // 0x7
3021    field public static final int ACTION_LAUNCH_KEYBOARD_FOCUS = 6; // 0x6
3022    field public static final int ACTION_LAUNCH_TOUCH = 5; // 0x5
3023    field public static final int ACTION_LONGPRESS = 4; // 0x4
3024    field public static final int ACTION_SURFACE_INVISIBLE = 8; // 0x8
3025    field public static final int ACTION_SURFACE_VISIBLE = 1; // 0x1
3026    field public static final int ACTION_TAP = 3; // 0x3
3027    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.SearchTargetEvent> CREATOR;
3028    field public static final int FLAG_IME_SHOWN = 1; // 0x1
3029  }
3030
3031  public static final class SearchTargetEvent.Builder {
3032    ctor public SearchTargetEvent.Builder(@NonNull String, int);
3033    ctor public SearchTargetEvent.Builder(@NonNull java.util.List<java.lang.String>, int);
3034    method @NonNull public android.app.search.SearchTargetEvent build();
3035    method @NonNull public android.app.search.SearchTargetEvent.Builder setFlags(int);
3036    method @NonNull public android.app.search.SearchTargetEvent.Builder setLaunchLocation(@Nullable String);
3037  }
3038
3039  public final class SearchUiManager {
3040    method @NonNull public android.app.search.SearchSession createSearchSession(@NonNull android.app.search.SearchContext);
3041  }
3042
3043}
3044
3045package android.app.smartspace {
3046
3047  public final class SmartspaceAction implements android.os.Parcelable {
3048    method public int describeContents();
3049    method @Nullable public CharSequence getContentDescription();
3050    method @Nullable public android.os.Bundle getExtras();
3051    method @Nullable public android.graphics.drawable.Icon getIcon();
3052    method @NonNull public String getId();
3053    method @Nullable public android.content.Intent getIntent();
3054    method @Nullable public android.app.PendingIntent getPendingIntent();
3055    method @Nullable public CharSequence getSubtitle();
3056    method @NonNull public CharSequence getTitle();
3057    method @Nullable public android.os.UserHandle getUserHandle();
3058    method public void writeToParcel(@NonNull android.os.Parcel, int);
3059    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.SmartspaceAction> CREATOR;
3060  }
3061
3062  public static final class SmartspaceAction.Builder {
3063    ctor public SmartspaceAction.Builder(@NonNull String, @NonNull String);
3064    method @NonNull public android.app.smartspace.SmartspaceAction build();
3065    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setContentDescription(@Nullable CharSequence);
3066    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setExtras(@Nullable android.os.Bundle);
3067    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setIcon(@Nullable android.graphics.drawable.Icon);
3068    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setIntent(@Nullable android.content.Intent);
3069    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setPendingIntent(@Nullable android.app.PendingIntent);
3070    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setSubtitle(@Nullable CharSequence);
3071    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setUserHandle(@Nullable android.os.UserHandle);
3072  }
3073
3074  public final class SmartspaceConfig implements android.os.Parcelable {
3075    method public int describeContents();
3076    method @Nullable public android.os.Bundle getExtras();
3077    method @NonNull public String getPackageName();
3078    method @NonNull public int getSmartspaceTargetCount();
3079    method @NonNull public String getUiSurface();
3080    method public void writeToParcel(@NonNull android.os.Parcel, int);
3081    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.SmartspaceConfig> CREATOR;
3082  }
3083
3084  public static final class SmartspaceConfig.Builder {
3085    ctor public SmartspaceConfig.Builder(@NonNull android.content.Context, @NonNull String);
3086    method @NonNull public android.app.smartspace.SmartspaceConfig build();
3087    method @NonNull public android.app.smartspace.SmartspaceConfig.Builder setExtras(@NonNull android.os.Bundle);
3088    method @NonNull public android.app.smartspace.SmartspaceConfig.Builder setSmartspaceTargetCount(@IntRange(from=0, to=50) int);
3089  }
3090
3091  public final class SmartspaceManager {
3092    method @NonNull public android.app.smartspace.SmartspaceSession createSmartspaceSession(@NonNull android.app.smartspace.SmartspaceConfig);
3093  }
3094
3095  public final class SmartspaceSession implements java.lang.AutoCloseable {
3096    method public void addOnTargetsAvailableListener(@NonNull java.util.concurrent.Executor, @NonNull android.app.smartspace.SmartspaceSession.OnTargetsAvailableListener);
3097    method public void close();
3098    method protected void finalize();
3099    method public void notifySmartspaceEvent(@NonNull android.app.smartspace.SmartspaceTargetEvent);
3100    method public void removeOnTargetsAvailableListener(@NonNull android.app.smartspace.SmartspaceSession.OnTargetsAvailableListener);
3101    method public void requestSmartspaceUpdate();
3102  }
3103
3104  public static interface SmartspaceSession.OnTargetsAvailableListener {
3105    method public void onTargetsAvailable(@NonNull java.util.List<android.app.smartspace.SmartspaceTarget>);
3106  }
3107
3108  public final class SmartspaceSessionId implements android.os.Parcelable {
3109    method public int describeContents();
3110    method @Nullable public String getId();
3111    method @NonNull public android.os.UserHandle getUserHandle();
3112    method public void writeToParcel(@NonNull android.os.Parcel, int);
3113    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.SmartspaceSessionId> CREATOR;
3114  }
3115
3116  public final class SmartspaceTarget implements android.os.Parcelable {
3117    method public int describeContents();
3118    method @NonNull public java.util.List<android.app.smartspace.SmartspaceAction> getActionChips();
3119    method @Nullable public String getAssociatedSmartspaceTargetId();
3120    method @Nullable public android.app.smartspace.SmartspaceAction getBaseAction();
3121    method @NonNull public android.content.ComponentName getComponentName();
3122    method public long getCreationTimeMillis();
3123    method public long getExpiryTimeMillis();
3124    method public int getFeatureType();
3125    method @Nullable public android.app.smartspace.SmartspaceAction getHeaderAction();
3126    method @NonNull public java.util.List<android.app.smartspace.SmartspaceAction> getIconGrid();
3127    method @FlaggedApi("android.app.smartspace.flags.remote_views") @Nullable public android.widget.RemoteViews getRemoteViews();
3128    method public float getScore();
3129    method @Nullable public android.net.Uri getSliceUri();
3130    method @NonNull public String getSmartspaceTargetId();
3131    method @Nullable public String getSourceNotificationKey();
3132    method @Nullable public android.app.smartspace.uitemplatedata.BaseTemplateData getTemplateData();
3133    method @NonNull public android.os.UserHandle getUserHandle();
3134    method @Nullable public android.appwidget.AppWidgetProviderInfo getWidget();
3135    method public boolean isSensitive();
3136    method public boolean shouldShowExpanded();
3137    method public void writeToParcel(@NonNull android.os.Parcel, int);
3138    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.SmartspaceTarget> CREATOR;
3139    field public static final int FEATURE_ALARM = 7; // 0x7
3140    field public static final int FEATURE_BEDTIME_ROUTINE = 16; // 0x10
3141    field public static final int FEATURE_BLAZE_BUILD_PROGRESS = 40; // 0x28
3142    field public static final int FEATURE_CALENDAR = 2; // 0x2
3143    field public static final int FEATURE_COMMUTE_TIME = 3; // 0x3
3144    field public static final int FEATURE_CONSENT = 11; // 0xb
3145    field public static final int FEATURE_CROSS_DEVICE_TIMER = 32; // 0x20
3146    field public static final int FEATURE_DOORBELL = 30; // 0x1e
3147    field public static final int FEATURE_DRIVING_MODE = 26; // 0x1a
3148    field public static final int FEATURE_EARTHQUAKE_ALERT = 38; // 0x26
3149    field public static final int FEATURE_EARTHQUAKE_OCCURRED = 41; // 0x29
3150    field public static final int FEATURE_ETA_MONITORING = 18; // 0x12
3151    field public static final int FEATURE_FITNESS_TRACKING = 17; // 0x11
3152    field public static final int FEATURE_FLASHLIGHT = 28; // 0x1c
3153    field public static final int FEATURE_FLIGHT = 4; // 0x4
3154    field public static final int FEATURE_GAS_STATION_PAYMENT = 24; // 0x18
3155    field public static final int FEATURE_HOLIDAY_ALARM = 34; // 0x22
3156    field public static final int FEATURE_LOYALTY_CARD = 14; // 0xe
3157    field public static final int FEATURE_MEDIA = 15; // 0xf
3158    field public static final int FEATURE_MEDIA_HEADS_UP = 36; // 0x24
3159    field public static final int FEATURE_MEDIA_RESUME = 31; // 0x1f
3160    field public static final int FEATURE_MISSED_CALL = 19; // 0x13
3161    field public static final int FEATURE_ONBOARDING = 8; // 0x8
3162    field public static final int FEATURE_PACKAGE_TRACKING = 20; // 0x14
3163    field public static final int FEATURE_PAIRED_DEVICE_STATE = 25; // 0x19
3164    field public static final int FEATURE_REMINDER = 6; // 0x6
3165    field public static final int FEATURE_SAFETY_CHECK = 35; // 0x23
3166    field public static final int FEATURE_SEVERE_WEATHER_ALERT = 33; // 0x21
3167    field public static final int FEATURE_SHOPPING_LIST = 13; // 0xd
3168    field public static final int FEATURE_SLEEP_SUMMARY = 27; // 0x1b
3169    field public static final int FEATURE_SPORTS = 9; // 0x9
3170    field public static final int FEATURE_STEP_COUNTING = 37; // 0x25
3171    field public static final int FEATURE_STEP_DATE = 39; // 0x27
3172    field public static final int FEATURE_STOCK_PRICE_CHANGE = 12; // 0xc
3173    field public static final int FEATURE_STOPWATCH = 22; // 0x16
3174    field public static final int FEATURE_TIMER = 21; // 0x15
3175    field public static final int FEATURE_TIME_TO_LEAVE = 29; // 0x1d
3176    field public static final int FEATURE_TIPS = 5; // 0x5
3177    field public static final int FEATURE_UNDEFINED = 0; // 0x0
3178    field public static final int FEATURE_UPCOMING_ALARM = 23; // 0x17
3179    field public static final int FEATURE_WEATHER = 1; // 0x1
3180    field public static final int FEATURE_WEATHER_ALERT = 10; // 0xa
3181    field public static final int UI_TEMPLATE_CAROUSEL = 4; // 0x4
3182    field public static final int UI_TEMPLATE_COMBINED_CARDS = 6; // 0x6
3183    field public static final int UI_TEMPLATE_DEFAULT = 1; // 0x1
3184    field public static final int UI_TEMPLATE_HEAD_TO_HEAD = 5; // 0x5
3185    field public static final int UI_TEMPLATE_SUB_CARD = 7; // 0x7
3186    field public static final int UI_TEMPLATE_SUB_IMAGE = 2; // 0x2
3187    field public static final int UI_TEMPLATE_SUB_LIST = 3; // 0x3
3188    field public static final int UI_TEMPLATE_UNDEFINED = 0; // 0x0
3189  }
3190
3191  public static final class SmartspaceTarget.Builder {
3192    ctor public SmartspaceTarget.Builder(@NonNull String, @NonNull android.content.ComponentName, @NonNull android.os.UserHandle);
3193    method @NonNull public android.app.smartspace.SmartspaceTarget build();
3194    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setActionChips(@NonNull java.util.List<android.app.smartspace.SmartspaceAction>);
3195    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setAssociatedSmartspaceTargetId(@NonNull String);
3196    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setBaseAction(@NonNull android.app.smartspace.SmartspaceAction);
3197    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setCreationTimeMillis(long);
3198    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setExpiryTimeMillis(long);
3199    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setFeatureType(int);
3200    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setHeaderAction(@NonNull android.app.smartspace.SmartspaceAction);
3201    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setIconGrid(@NonNull java.util.List<android.app.smartspace.SmartspaceAction>);
3202    method @FlaggedApi("android.app.smartspace.flags.remote_views") @NonNull public android.app.smartspace.SmartspaceTarget.Builder setRemoteViews(@NonNull android.widget.RemoteViews);
3203    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setScore(float);
3204    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setSensitive(boolean);
3205    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setShouldShowExpanded(boolean);
3206    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setSliceUri(@NonNull android.net.Uri);
3207    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setSourceNotificationKey(@NonNull String);
3208    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setTemplateData(@Nullable android.app.smartspace.uitemplatedata.BaseTemplateData);
3209    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setWidget(@NonNull android.appwidget.AppWidgetProviderInfo);
3210  }
3211
3212  public final class SmartspaceTargetEvent implements android.os.Parcelable {
3213    method public int describeContents();
3214    method @NonNull public int getEventType();
3215    method @Nullable public String getSmartspaceActionId();
3216    method @Nullable public android.app.smartspace.SmartspaceTarget getSmartspaceTarget();
3217    method public void writeToParcel(@NonNull android.os.Parcel, int);
3218    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.SmartspaceTargetEvent> CREATOR;
3219    field public static final int EVENT_TARGET_BLOCK = 5; // 0x5
3220    field public static final int EVENT_TARGET_DISMISS = 4; // 0x4
3221    field public static final int EVENT_TARGET_HIDDEN = 3; // 0x3
3222    field public static final int EVENT_TARGET_INTERACTION = 1; // 0x1
3223    field public static final int EVENT_TARGET_SHOWN = 2; // 0x2
3224    field public static final int EVENT_UI_SURFACE_HIDDEN = 7; // 0x7
3225    field public static final int EVENT_UI_SURFACE_SHOWN = 6; // 0x6
3226  }
3227
3228  public static final class SmartspaceTargetEvent.Builder {
3229    ctor public SmartspaceTargetEvent.Builder(int);
3230    method @NonNull public android.app.smartspace.SmartspaceTargetEvent build();
3231    method @NonNull public android.app.smartspace.SmartspaceTargetEvent.Builder setSmartspaceActionId(@NonNull String);
3232    method @NonNull public android.app.smartspace.SmartspaceTargetEvent.Builder setSmartspaceTarget(@NonNull android.app.smartspace.SmartspaceTarget);
3233  }
3234
3235}
3236
3237package android.app.smartspace.uitemplatedata {
3238
3239  public class BaseTemplateData implements android.os.Parcelable {
3240    method public int describeContents();
3241    method public int getLayoutWeight();
3242    method @Nullable public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo getPrimaryItem();
3243    method @Nullable public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo getSubtitleItem();
3244    method @Nullable public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo getSubtitleSupplementalItem();
3245    method @Nullable public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo getSupplementalAlarmItem();
3246    method @Nullable public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo getSupplementalLineItem();
3247    method public int getTemplateType();
3248    method public void writeToParcel(@NonNull android.os.Parcel, int);
3249    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.BaseTemplateData> CREATOR;
3250  }
3251
3252  public static class BaseTemplateData.Builder {
3253    ctor public BaseTemplateData.Builder(int);
3254    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData build();
3255    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.Builder setLayoutWeight(int);
3256    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.Builder setPrimaryItem(@NonNull android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo);
3257    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.Builder setSubtitleItem(@NonNull android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo);
3258    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.Builder setSubtitleSupplementalItem(@NonNull android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo);
3259    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.Builder setSupplementalAlarmItem(@NonNull android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo);
3260    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.Builder setSupplementalLineItem(@NonNull android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo);
3261  }
3262
3263  public static final class BaseTemplateData.SubItemInfo implements android.os.Parcelable {
3264    method public int describeContents();
3265    method @Nullable public android.app.smartspace.uitemplatedata.Icon getIcon();
3266    method @Nullable public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemLoggingInfo getLoggingInfo();
3267    method @Nullable public android.app.smartspace.uitemplatedata.TapAction getTapAction();
3268    method @Nullable public android.app.smartspace.uitemplatedata.Text getText();
3269    method public void writeToParcel(@NonNull android.os.Parcel, int);
3270    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo> CREATOR;
3271  }
3272
3273  public static final class BaseTemplateData.SubItemInfo.Builder {
3274    ctor public BaseTemplateData.SubItemInfo.Builder();
3275    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo build();
3276    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo.Builder setIcon(@NonNull android.app.smartspace.uitemplatedata.Icon);
3277    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo.Builder setLoggingInfo(@NonNull android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemLoggingInfo);
3278    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo.Builder setTapAction(@NonNull android.app.smartspace.uitemplatedata.TapAction);
3279    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo.Builder setText(@NonNull android.app.smartspace.uitemplatedata.Text);
3280  }
3281
3282  public static final class BaseTemplateData.SubItemLoggingInfo implements android.os.Parcelable {
3283    method public int describeContents();
3284    method public int getFeatureType();
3285    method public int getInstanceId();
3286    method @Nullable public CharSequence getPackageName();
3287    method public void writeToParcel(@NonNull android.os.Parcel, int);
3288    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemLoggingInfo> CREATOR;
3289  }
3290
3291  public static final class BaseTemplateData.SubItemLoggingInfo.Builder {
3292    ctor public BaseTemplateData.SubItemLoggingInfo.Builder(int, int);
3293    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemLoggingInfo build();
3294    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemLoggingInfo.Builder setPackageName(@NonNull CharSequence);
3295  }
3296
3297  public final class CarouselTemplateData extends android.app.smartspace.uitemplatedata.BaseTemplateData {
3298    method @Nullable public android.app.smartspace.uitemplatedata.TapAction getCarouselAction();
3299    method @NonNull public java.util.List<android.app.smartspace.uitemplatedata.CarouselTemplateData.CarouselItem> getCarouselItems();
3300    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.CarouselTemplateData> CREATOR;
3301  }
3302
3303  public static final class CarouselTemplateData.Builder extends android.app.smartspace.uitemplatedata.BaseTemplateData.Builder {
3304    ctor public CarouselTemplateData.Builder(@NonNull java.util.List<android.app.smartspace.uitemplatedata.CarouselTemplateData.CarouselItem>);
3305    method @NonNull public android.app.smartspace.uitemplatedata.CarouselTemplateData build();
3306    method @NonNull public android.app.smartspace.uitemplatedata.CarouselTemplateData.Builder setCarouselAction(@NonNull android.app.smartspace.uitemplatedata.TapAction);
3307  }
3308
3309  public static final class CarouselTemplateData.CarouselItem implements android.os.Parcelable {
3310    method public int describeContents();
3311    method @Nullable public android.app.smartspace.uitemplatedata.Icon getImage();
3312    method @Nullable public android.app.smartspace.uitemplatedata.Text getLowerText();
3313    method @Nullable public android.app.smartspace.uitemplatedata.TapAction getTapAction();
3314    method @Nullable public android.app.smartspace.uitemplatedata.Text getUpperText();
3315    method public void writeToParcel(@NonNull android.os.Parcel, int);
3316    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.CarouselTemplateData.CarouselItem> CREATOR;
3317  }
3318
3319  public static final class CarouselTemplateData.CarouselItem.Builder {
3320    ctor public CarouselTemplateData.CarouselItem.Builder();
3321    method @NonNull public android.app.smartspace.uitemplatedata.CarouselTemplateData.CarouselItem build();
3322    method @NonNull public android.app.smartspace.uitemplatedata.CarouselTemplateData.CarouselItem.Builder setImage(@Nullable android.app.smartspace.uitemplatedata.Icon);
3323    method @NonNull public android.app.smartspace.uitemplatedata.CarouselTemplateData.CarouselItem.Builder setLowerText(@Nullable android.app.smartspace.uitemplatedata.Text);
3324    method @NonNull public android.app.smartspace.uitemplatedata.CarouselTemplateData.CarouselItem.Builder setTapAction(@Nullable android.app.smartspace.uitemplatedata.TapAction);
3325    method @NonNull public android.app.smartspace.uitemplatedata.CarouselTemplateData.CarouselItem.Builder setUpperText(@Nullable android.app.smartspace.uitemplatedata.Text);
3326  }
3327
3328  public final class CombinedCardsTemplateData extends android.app.smartspace.uitemplatedata.BaseTemplateData {
3329    method @NonNull public java.util.List<android.app.smartspace.uitemplatedata.BaseTemplateData> getCombinedCardDataList();
3330    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.CombinedCardsTemplateData> CREATOR;
3331  }
3332
3333  public static final class CombinedCardsTemplateData.Builder extends android.app.smartspace.uitemplatedata.BaseTemplateData.Builder {
3334    ctor public CombinedCardsTemplateData.Builder(@NonNull java.util.List<android.app.smartspace.uitemplatedata.BaseTemplateData>);
3335    method @NonNull public android.app.smartspace.uitemplatedata.CombinedCardsTemplateData build();
3336  }
3337
3338  public final class HeadToHeadTemplateData extends android.app.smartspace.uitemplatedata.BaseTemplateData {
3339    method @Nullable public android.app.smartspace.uitemplatedata.TapAction getHeadToHeadAction();
3340    method @Nullable public android.app.smartspace.uitemplatedata.Icon getHeadToHeadFirstCompetitorIcon();
3341    method @Nullable public android.app.smartspace.uitemplatedata.Text getHeadToHeadFirstCompetitorText();
3342    method @Nullable public android.app.smartspace.uitemplatedata.Icon getHeadToHeadSecondCompetitorIcon();
3343    method @Nullable public android.app.smartspace.uitemplatedata.Text getHeadToHeadSecondCompetitorText();
3344    method @Nullable public android.app.smartspace.uitemplatedata.Text getHeadToHeadTitle();
3345    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.HeadToHeadTemplateData> CREATOR;
3346  }
3347
3348  public static final class HeadToHeadTemplateData.Builder extends android.app.smartspace.uitemplatedata.BaseTemplateData.Builder {
3349    ctor public HeadToHeadTemplateData.Builder();
3350    method @NonNull public android.app.smartspace.uitemplatedata.HeadToHeadTemplateData build();
3351    method @NonNull public android.app.smartspace.uitemplatedata.HeadToHeadTemplateData.Builder setHeadToHeadAction(@Nullable android.app.smartspace.uitemplatedata.TapAction);
3352    method @NonNull public android.app.smartspace.uitemplatedata.HeadToHeadTemplateData.Builder setHeadToHeadFirstCompetitorIcon(@Nullable android.app.smartspace.uitemplatedata.Icon);
3353    method @NonNull public android.app.smartspace.uitemplatedata.HeadToHeadTemplateData.Builder setHeadToHeadFirstCompetitorText(@Nullable android.app.smartspace.uitemplatedata.Text);
3354    method @NonNull public android.app.smartspace.uitemplatedata.HeadToHeadTemplateData.Builder setHeadToHeadSecondCompetitorIcon(@Nullable android.app.smartspace.uitemplatedata.Icon);
3355    method @NonNull public android.app.smartspace.uitemplatedata.HeadToHeadTemplateData.Builder setHeadToHeadSecondCompetitorText(@Nullable android.app.smartspace.uitemplatedata.Text);
3356    method @NonNull public android.app.smartspace.uitemplatedata.HeadToHeadTemplateData.Builder setHeadToHeadTitle(@Nullable android.app.smartspace.uitemplatedata.Text);
3357  }
3358
3359  public final class Icon implements android.os.Parcelable {
3360    method public int describeContents();
3361    method @Nullable public CharSequence getContentDescription();
3362    method @NonNull public android.graphics.drawable.Icon getIcon();
3363    method public boolean shouldTint();
3364    method public void writeToParcel(@NonNull android.os.Parcel, int);
3365    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.Icon> CREATOR;
3366  }
3367
3368  public static final class Icon.Builder {
3369    ctor public Icon.Builder(@NonNull android.graphics.drawable.Icon);
3370    method @NonNull public android.app.smartspace.uitemplatedata.Icon build();
3371    method @NonNull public android.app.smartspace.uitemplatedata.Icon.Builder setContentDescription(@NonNull CharSequence);
3372    method @NonNull public android.app.smartspace.uitemplatedata.Icon.Builder setShouldTint(boolean);
3373  }
3374
3375  public final class SubCardTemplateData extends android.app.smartspace.uitemplatedata.BaseTemplateData {
3376    method @Nullable public android.app.smartspace.uitemplatedata.TapAction getSubCardAction();
3377    method @NonNull public android.app.smartspace.uitemplatedata.Icon getSubCardIcon();
3378    method @Nullable public android.app.smartspace.uitemplatedata.Text getSubCardText();
3379    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.SubCardTemplateData> CREATOR;
3380  }
3381
3382  public static final class SubCardTemplateData.Builder extends android.app.smartspace.uitemplatedata.BaseTemplateData.Builder {
3383    ctor public SubCardTemplateData.Builder(@NonNull android.app.smartspace.uitemplatedata.Icon);
3384    method @NonNull public android.app.smartspace.uitemplatedata.SubCardTemplateData build();
3385    method @NonNull public android.app.smartspace.uitemplatedata.SubCardTemplateData.Builder setSubCardAction(@NonNull android.app.smartspace.uitemplatedata.TapAction);
3386    method @NonNull public android.app.smartspace.uitemplatedata.SubCardTemplateData.Builder setSubCardText(@NonNull android.app.smartspace.uitemplatedata.Text);
3387  }
3388
3389  public final class SubImageTemplateData extends android.app.smartspace.uitemplatedata.BaseTemplateData {
3390    method @Nullable public android.app.smartspace.uitemplatedata.TapAction getSubImageAction();
3391    method @NonNull public java.util.List<android.app.smartspace.uitemplatedata.Text> getSubImageTexts();
3392    method @NonNull public java.util.List<android.app.smartspace.uitemplatedata.Icon> getSubImages();
3393    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.SubImageTemplateData> CREATOR;
3394  }
3395
3396  public static final class SubImageTemplateData.Builder extends android.app.smartspace.uitemplatedata.BaseTemplateData.Builder {
3397    ctor public SubImageTemplateData.Builder(@NonNull java.util.List<android.app.smartspace.uitemplatedata.Text>, @NonNull java.util.List<android.app.smartspace.uitemplatedata.Icon>);
3398    method @NonNull public android.app.smartspace.uitemplatedata.SubImageTemplateData build();
3399    method @NonNull public android.app.smartspace.uitemplatedata.SubImageTemplateData.Builder setSubImageAction(@NonNull android.app.smartspace.uitemplatedata.TapAction);
3400  }
3401
3402  public final class SubListTemplateData extends android.app.smartspace.uitemplatedata.BaseTemplateData {
3403    method @Nullable public android.app.smartspace.uitemplatedata.TapAction getSubListAction();
3404    method @Nullable public android.app.smartspace.uitemplatedata.Icon getSubListIcon();
3405    method @NonNull public java.util.List<android.app.smartspace.uitemplatedata.Text> getSubListTexts();
3406    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.SubListTemplateData> CREATOR;
3407  }
3408
3409  public static final class SubListTemplateData.Builder extends android.app.smartspace.uitemplatedata.BaseTemplateData.Builder {
3410    ctor public SubListTemplateData.Builder(@NonNull java.util.List<android.app.smartspace.uitemplatedata.Text>);
3411    method @NonNull public android.app.smartspace.uitemplatedata.SubListTemplateData build();
3412    method @NonNull public android.app.smartspace.uitemplatedata.SubListTemplateData.Builder setSubListAction(@NonNull android.app.smartspace.uitemplatedata.TapAction);
3413    method @NonNull public android.app.smartspace.uitemplatedata.SubListTemplateData.Builder setSubListIcon(@NonNull android.app.smartspace.uitemplatedata.Icon);
3414  }
3415
3416  public final class TapAction implements android.os.Parcelable {
3417    method public int describeContents();
3418    method @Nullable public android.os.Bundle getExtras();
3419    method @Nullable public CharSequence getId();
3420    method @Nullable public android.content.Intent getIntent();
3421    method @Nullable public android.app.PendingIntent getPendingIntent();
3422    method @Nullable public android.os.UserHandle getUserHandle();
3423    method public boolean shouldShowOnLockscreen();
3424    method public void writeToParcel(@NonNull android.os.Parcel, int);
3425    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.TapAction> CREATOR;
3426  }
3427
3428  public static final class TapAction.Builder {
3429    ctor public TapAction.Builder(@NonNull CharSequence);
3430    method @NonNull public android.app.smartspace.uitemplatedata.TapAction build();
3431    method @NonNull public android.app.smartspace.uitemplatedata.TapAction.Builder setExtras(@NonNull android.os.Bundle);
3432    method @NonNull public android.app.smartspace.uitemplatedata.TapAction.Builder setIntent(@NonNull android.content.Intent);
3433    method @NonNull public android.app.smartspace.uitemplatedata.TapAction.Builder setPendingIntent(@NonNull android.app.PendingIntent);
3434    method @NonNull public android.app.smartspace.uitemplatedata.TapAction.Builder setShouldShowOnLockscreen(@NonNull boolean);
3435    method @NonNull public android.app.smartspace.uitemplatedata.TapAction.Builder setUserHandle(@Nullable android.os.UserHandle);
3436  }
3437
3438  public final class Text implements android.os.Parcelable {
3439    method public int describeContents();
3440    method public int getMaxLines();
3441    method @NonNull public CharSequence getText();
3442    method @NonNull public android.text.TextUtils.TruncateAt getTruncateAtType();
3443    method public void writeToParcel(@NonNull android.os.Parcel, int);
3444    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.Text> CREATOR;
3445  }
3446
3447  public static final class Text.Builder {
3448    ctor public Text.Builder(@NonNull CharSequence);
3449    method @NonNull public android.app.smartspace.uitemplatedata.Text build();
3450    method @NonNull public android.app.smartspace.uitemplatedata.Text.Builder setMaxLines(int);
3451    method @NonNull public android.app.smartspace.uitemplatedata.Text.Builder setTruncateAtType(@NonNull android.text.TextUtils.TruncateAt);
3452  }
3453
3454}
3455
3456package android.app.time {
3457
3458  public final class Capabilities {
3459    field public static final int CAPABILITY_NOT_ALLOWED = 20; // 0x14
3460    field public static final int CAPABILITY_NOT_APPLICABLE = 30; // 0x1e
3461    field public static final int CAPABILITY_NOT_SUPPORTED = 10; // 0xa
3462    field public static final int CAPABILITY_POSSESSED = 40; // 0x28
3463  }
3464
3465  public final class ExternalTimeSuggestion implements android.os.Parcelable {
3466    ctor public ExternalTimeSuggestion(long, long);
3467    method public void addDebugInfo(@NonNull java.lang.String...);
3468    method public int describeContents();
3469    method @NonNull public java.util.List<java.lang.String> getDebugInfo();
3470    method public void writeToParcel(@NonNull android.os.Parcel, int);
3471    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.ExternalTimeSuggestion> CREATOR;
3472  }
3473
3474  public final class TimeCapabilities implements android.os.Parcelable {
3475    method public int describeContents();
3476    method public int getConfigureAutoDetectionEnabledCapability();
3477    method public int getSetManualTimeCapability();
3478    method public void writeToParcel(@NonNull android.os.Parcel, int);
3479    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.TimeCapabilities> CREATOR;
3480  }
3481
3482  public final class TimeCapabilitiesAndConfig implements android.os.Parcelable {
3483    method public int describeContents();
3484    method @NonNull public android.app.time.TimeCapabilities getCapabilities();
3485    method @NonNull public android.app.time.TimeConfiguration getConfiguration();
3486    method public void writeToParcel(@NonNull android.os.Parcel, int);
3487    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.TimeCapabilitiesAndConfig> CREATOR;
3488  }
3489
3490  public final class TimeConfiguration implements android.os.Parcelable {
3491    method public int describeContents();
3492    method public boolean isAutoDetectionEnabled();
3493    method public void writeToParcel(@NonNull android.os.Parcel, int);
3494    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.TimeConfiguration> CREATOR;
3495  }
3496
3497  public static final class TimeConfiguration.Builder {
3498    ctor public TimeConfiguration.Builder();
3499    ctor public TimeConfiguration.Builder(@NonNull android.app.time.TimeConfiguration);
3500    method @NonNull public android.app.time.TimeConfiguration build();
3501    method @NonNull public android.app.time.TimeConfiguration.Builder setAutoDetectionEnabled(boolean);
3502  }
3503
3504  public final class TimeManager {
3505    method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public void addTimeZoneDetectorListener(@NonNull java.util.concurrent.Executor, @NonNull android.app.time.TimeManager.TimeZoneDetectorListener);
3506    method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public boolean confirmTime(@NonNull android.app.time.UnixEpochTime);
3507    method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public boolean confirmTimeZone(@NonNull String);
3508    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public android.app.time.TimeCapabilitiesAndConfig getTimeCapabilitiesAndConfig();
3509    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public android.app.time.TimeState getTimeState();
3510    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public android.app.time.TimeZoneCapabilitiesAndConfig getTimeZoneCapabilitiesAndConfig();
3511    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public android.app.time.TimeZoneState getTimeZoneState();
3512    method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public void removeTimeZoneDetectorListener(@NonNull android.app.time.TimeManager.TimeZoneDetectorListener);
3513    method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public boolean setManualTime(@NonNull android.app.time.UnixEpochTime);
3514    method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public boolean setManualTimeZone(@NonNull String);
3515    method @RequiresPermission(android.Manifest.permission.SUGGEST_EXTERNAL_TIME) public void suggestExternalTime(@NonNull android.app.time.ExternalTimeSuggestion);
3516    method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public boolean updateTimeConfiguration(@NonNull android.app.time.TimeConfiguration);
3517    method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public boolean updateTimeZoneConfiguration(@NonNull android.app.time.TimeZoneConfiguration);
3518  }
3519
3520  @java.lang.FunctionalInterface public static interface TimeManager.TimeZoneDetectorListener {
3521    method public void onChange();
3522  }
3523
3524  public final class TimeState implements android.os.Parcelable {
3525    method public int describeContents();
3526    method @NonNull public android.app.time.UnixEpochTime getUnixEpochTime();
3527    method public boolean getUserShouldConfirmTime();
3528    method public void writeToParcel(@NonNull android.os.Parcel, int);
3529    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.TimeState> CREATOR;
3530  }
3531
3532  public final class TimeZoneCapabilities implements android.os.Parcelable {
3533    method public int describeContents();
3534    method public int getConfigureAutoDetectionEnabledCapability();
3535    method public int getConfigureGeoDetectionEnabledCapability();
3536    method public int getSetManualTimeZoneCapability();
3537    method public void writeToParcel(@NonNull android.os.Parcel, int);
3538    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.TimeZoneCapabilities> CREATOR;
3539  }
3540
3541  public final class TimeZoneCapabilitiesAndConfig implements android.os.Parcelable {
3542    method public int describeContents();
3543    method @NonNull public android.app.time.TimeZoneCapabilities getCapabilities();
3544    method @NonNull public android.app.time.TimeZoneConfiguration getConfiguration();
3545    method public void writeToParcel(@NonNull android.os.Parcel, int);
3546    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.TimeZoneCapabilitiesAndConfig> CREATOR;
3547  }
3548
3549  public final class TimeZoneConfiguration implements android.os.Parcelable {
3550    method public int describeContents();
3551    method public boolean isAutoDetectionEnabled();
3552    method public boolean isGeoDetectionEnabled();
3553    method public void writeToParcel(@NonNull android.os.Parcel, int);
3554    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.TimeZoneConfiguration> CREATOR;
3555  }
3556
3557  public static final class TimeZoneConfiguration.Builder {
3558    ctor public TimeZoneConfiguration.Builder();
3559    ctor public TimeZoneConfiguration.Builder(@NonNull android.app.time.TimeZoneConfiguration);
3560    method @NonNull public android.app.time.TimeZoneConfiguration build();
3561    method @NonNull public android.app.time.TimeZoneConfiguration.Builder setAutoDetectionEnabled(boolean);
3562    method @NonNull public android.app.time.TimeZoneConfiguration.Builder setGeoDetectionEnabled(boolean);
3563  }
3564
3565  public final class TimeZoneState implements android.os.Parcelable {
3566    method public int describeContents();
3567    method @NonNull public String getId();
3568    method public boolean getUserShouldConfirmId();
3569    method public void writeToParcel(@NonNull android.os.Parcel, int);
3570    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.TimeZoneState> CREATOR;
3571  }
3572
3573  public final class UnixEpochTime implements android.os.Parcelable {
3574    ctor public UnixEpochTime(long, long);
3575    method @NonNull public android.app.time.UnixEpochTime at(long);
3576    method public int describeContents();
3577    method public long getElapsedRealtimeMillis();
3578    method public long getUnixEpochTimeMillis();
3579    method public void writeToParcel(@NonNull android.os.Parcel, int);
3580    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.UnixEpochTime> CREATOR;
3581  }
3582
3583}
3584
3585package android.app.usage {
3586
3587  public final class BroadcastResponseStats implements android.os.Parcelable {
3588    ctor public BroadcastResponseStats(@NonNull String, @IntRange(from=1) long);
3589    method public int describeContents();
3590    method @IntRange(from=0) public int getBroadcastsDispatchedCount();
3591    method @IntRange(from=1) public long getId();
3592    method @IntRange(from=0) public int getNotificationsCancelledCount();
3593    method @IntRange(from=0) public int getNotificationsPostedCount();
3594    method @IntRange(from=0) public int getNotificationsUpdatedCount();
3595    method @NonNull public String getPackageName();
3596    method public void writeToParcel(@NonNull android.os.Parcel, int);
3597    field @NonNull public static final android.os.Parcelable.Creator<android.app.usage.BroadcastResponseStats> CREATOR;
3598  }
3599
3600  public final class CacheQuotaHint implements android.os.Parcelable {
3601    ctor public CacheQuotaHint(@NonNull android.app.usage.CacheQuotaHint.Builder);
3602    method public int describeContents();
3603    method public long getQuota();
3604    method public int getUid();
3605    method @Nullable public android.app.usage.UsageStats getUsageStats();
3606    method @Nullable public String getVolumeUuid();
3607    method public void writeToParcel(@NonNull android.os.Parcel, int);
3608    field @NonNull public static final android.os.Parcelable.Creator<android.app.usage.CacheQuotaHint> CREATOR;
3609    field public static final long QUOTA_NOT_SET = -1L; // 0xffffffffffffffffL
3610  }
3611
3612  public static final class CacheQuotaHint.Builder {
3613    ctor public CacheQuotaHint.Builder();
3614    ctor public CacheQuotaHint.Builder(@NonNull android.app.usage.CacheQuotaHint);
3615    method @NonNull public android.app.usage.CacheQuotaHint build();
3616    method @NonNull public android.app.usage.CacheQuotaHint.Builder setQuota(long);
3617    method @NonNull public android.app.usage.CacheQuotaHint.Builder setUid(int);
3618    method @NonNull public android.app.usage.CacheQuotaHint.Builder setUsageStats(@Nullable android.app.usage.UsageStats);
3619    method @NonNull public android.app.usage.CacheQuotaHint.Builder setVolumeUuid(@Nullable String);
3620  }
3621
3622  public abstract class CacheQuotaService extends android.app.Service {
3623    ctor public CacheQuotaService();
3624    method public android.os.IBinder onBind(android.content.Intent);
3625    method public abstract java.util.List<android.app.usage.CacheQuotaHint> onComputeCacheQuotaHints(java.util.List<android.app.usage.CacheQuotaHint>);
3626    field public static final String SERVICE_INTERFACE = "android.app.usage.CacheQuotaService";
3627  }
3628
3629  public class NetworkStatsManager {
3630    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);
3631    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);
3632  }
3633
3634  public static final class UsageEvents.Event {
3635    method public int getInstanceId();
3636    method @Nullable public String getNotificationChannelId();
3637    method @Nullable public String getTaskRootClassName();
3638    method @Nullable public String getTaskRootPackageName();
3639    method public boolean isInstantApp();
3640    field public static final int NOTIFICATION_INTERRUPTION = 12; // 0xc
3641    field public static final int NOTIFICATION_SEEN = 10; // 0xa
3642    field public static final int SLICE_PINNED = 14; // 0xe
3643    field public static final int SLICE_PINNED_PRIV = 13; // 0xd
3644    field public static final int SYSTEM_INTERACTION = 6; // 0x6
3645  }
3646
3647  public final class UsageStats implements android.os.Parcelable {
3648    method public int getAppLaunchCount();
3649    method public long getLastTimeAnyComponentUsed();
3650  }
3651
3652  public final class UsageStatsManager {
3653    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RESPONSE_STATS) public void clearBroadcastResponseStats(@Nullable String, @IntRange(from=0) long);
3654    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public int getAppStandbyBucket(String);
3655    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public java.util.Map<java.lang.String,java.lang.Integer> getAppStandbyBuckets();
3656    method @RequiresPermission(allOf={android.Manifest.permission.INTERACT_ACROSS_USERS, android.Manifest.permission.PACKAGE_USAGE_STATS}) public long getLastTimeAnyComponentUsed(@NonNull String);
3657    method public int getUsageSource();
3658    method @RequiresPermission(android.Manifest.permission.BIND_CARRIER_SERVICES) public void onCarrierPrivilegedAppsChanged();
3659    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);
3660    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);
3661    method @RequiresPermission(android.Manifest.permission.OBSERVE_APP_USAGE) public void registerAppUsageObserver(int, @NonNull String[], long, @NonNull java.util.concurrent.TimeUnit, @NonNull android.app.PendingIntent);
3662    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);
3663    method public void reportUsageStart(@NonNull android.app.Activity, @NonNull String);
3664    method public void reportUsageStart(@NonNull android.app.Activity, @NonNull String, long);
3665    method public void reportUsageStop(@NonNull android.app.Activity, @NonNull String);
3666    method @RequiresPermission(android.Manifest.permission.CHANGE_APP_IDLE_STATE) public void setAppStandbyBucket(String, int);
3667    method @RequiresPermission(android.Manifest.permission.CHANGE_APP_IDLE_STATE) public void setAppStandbyBuckets(java.util.Map<java.lang.String,java.lang.Integer>);
3668    method @RequiresPermission(android.Manifest.permission.CHANGE_APP_LAUNCH_TIME_ESTIMATE) public void setEstimatedLaunchTimeMillis(@NonNull String, long);
3669    method @RequiresPermission(android.Manifest.permission.CHANGE_APP_LAUNCH_TIME_ESTIMATE) public void setEstimatedLaunchTimesMillis(@NonNull java.util.Map<java.lang.String,java.lang.Long>);
3670    method @RequiresPermission(allOf={android.Manifest.permission.SUSPEND_APPS, android.Manifest.permission.OBSERVE_APP_USAGE}) public void unregisterAppUsageLimitObserver(int);
3671    method @RequiresPermission(android.Manifest.permission.OBSERVE_APP_USAGE) public void unregisterAppUsageObserver(int);
3672    method @RequiresPermission(android.Manifest.permission.OBSERVE_APP_USAGE) public void unregisterUsageSessionObserver(int);
3673    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public void whitelistAppTemporarily(String, long, android.os.UserHandle);
3674    field public static final String EXTRA_OBSERVER_ID = "android.app.usage.extra.OBSERVER_ID";
3675    field public static final String EXTRA_TIME_LIMIT = "android.app.usage.extra.TIME_LIMIT";
3676    field public static final String EXTRA_TIME_USED = "android.app.usage.extra.TIME_USED";
3677    field public static final int STANDBY_BUCKET_EXEMPTED = 5; // 0x5
3678    field public static final int STANDBY_BUCKET_NEVER = 50; // 0x32
3679    field public static final int USAGE_SOURCE_CURRENT_ACTIVITY = 2; // 0x2
3680    field public static final int USAGE_SOURCE_TASK_ROOT_ACTIVITY = 1; // 0x1
3681  }
3682
3683}
3684
3685package android.app.wallpaper {
3686
3687  @FlaggedApi("android.app.live_wallpaper_content_handling") public final class WallpaperDescription implements android.os.Parcelable {
3688    method @NonNull public android.util.SparseArray<android.graphics.Rect> getCropHints();
3689  }
3690
3691}
3692
3693package android.app.wallpapereffectsgeneration {
3694
3695  public final class CameraAttributes implements android.os.Parcelable {
3696    method public int describeContents();
3697    method @NonNull public float[] getAnchorPointInOutputUvSpace();
3698    method @NonNull public float[] getAnchorPointInWorldSpace();
3699    method @FloatRange(from=-90.0F, to=90.0f) public float getCameraOrbitPitchDegrees();
3700    method @FloatRange(from=-180.0F, to=180.0f) public float getCameraOrbitYawDegrees();
3701    method public float getDollyDistanceInWorldSpace();
3702    method @FloatRange(from=0.0f) public float getFrustumFarInWorldSpace();
3703    method @FloatRange(from=0.0f) public float getFrustumNearInWorldSpace();
3704    method @FloatRange(from=0.0f, to=180.0f, fromInclusive=false) public float getVerticalFovDegrees();
3705    method public void writeToParcel(@NonNull android.os.Parcel, int);
3706    field @NonNull public static final android.os.Parcelable.Creator<android.app.wallpapereffectsgeneration.CameraAttributes> CREATOR;
3707  }
3708
3709  public static final class CameraAttributes.Builder {
3710    ctor public CameraAttributes.Builder(@NonNull @Size(3) float[], @NonNull @Size(2) float[]);
3711    method @NonNull public android.app.wallpapereffectsgeneration.CameraAttributes build();
3712    method @NonNull public android.app.wallpapereffectsgeneration.CameraAttributes.Builder setCameraOrbitPitchDegrees(@FloatRange(from=-90.0F, to=90.0f) float);
3713    method @NonNull public android.app.wallpapereffectsgeneration.CameraAttributes.Builder setCameraOrbitYawDegrees(@FloatRange(from=-180.0F, to=180.0f) float);
3714    method @NonNull public android.app.wallpapereffectsgeneration.CameraAttributes.Builder setDollyDistanceInWorldSpace(float);
3715    method @NonNull public android.app.wallpapereffectsgeneration.CameraAttributes.Builder setFrustumFarInWorldSpace(@FloatRange(from=0.0f) float);
3716    method @NonNull public android.app.wallpapereffectsgeneration.CameraAttributes.Builder setFrustumNearInWorldSpace(@FloatRange(from=0.0f) float);
3717    method @NonNull public android.app.wallpapereffectsgeneration.CameraAttributes.Builder setVerticalFovDegrees(@FloatRange(from=0.0f, to=180.0f, fromInclusive=false) float);
3718  }
3719
3720  public final class CinematicEffectRequest implements android.os.Parcelable {
3721    ctor public CinematicEffectRequest(@NonNull String, @NonNull android.graphics.Bitmap);
3722    method public int describeContents();
3723    method @NonNull public android.graphics.Bitmap getBitmap();
3724    method @NonNull public String getTaskId();
3725    method public void writeToParcel(@NonNull android.os.Parcel, int);
3726    field @NonNull public static final android.os.Parcelable.Creator<android.app.wallpapereffectsgeneration.CinematicEffectRequest> CREATOR;
3727  }
3728
3729  public final class CinematicEffectResponse implements android.os.Parcelable {
3730    method public int describeContents();
3731    method @Nullable public android.app.wallpapereffectsgeneration.CameraAttributes getEndKeyFrame();
3732    method public int getImageContentType();
3733    method @Nullable public android.app.wallpapereffectsgeneration.CameraAttributes getStartKeyFrame();
3734    method public int getStatusCode();
3735    method @NonNull public String getTaskId();
3736    method @NonNull public java.util.List<android.app.wallpapereffectsgeneration.TexturedMesh> getTexturedMeshes();
3737    method public void writeToParcel(@NonNull android.os.Parcel, int);
3738    field public static final int CINEMATIC_EFFECT_STATUS_ANIMATION_FAILURE = 10; // 0xa
3739    field public static final int CINEMATIC_EFFECT_STATUS_CONTENT_TARGET_ERROR = 8; // 0x8
3740    field public static final int CINEMATIC_EFFECT_STATUS_CONTENT_TOO_FLAT = 9; // 0x9
3741    field public static final int CINEMATIC_EFFECT_STATUS_CONTENT_UNSUPPORTED = 7; // 0x7
3742    field public static final int CINEMATIC_EFFECT_STATUS_ERROR = 0; // 0x0
3743    field public static final int CINEMATIC_EFFECT_STATUS_FEATURE_DISABLED = 5; // 0x5
3744    field public static final int CINEMATIC_EFFECT_STATUS_IMAGE_FORMAT_NOT_SUITABLE = 6; // 0x6
3745    field public static final int CINEMATIC_EFFECT_STATUS_NOT_READY = 2; // 0x2
3746    field public static final int CINEMATIC_EFFECT_STATUS_OK = 1; // 0x1
3747    field public static final int CINEMATIC_EFFECT_STATUS_PENDING = 3; // 0x3
3748    field public static final int CINEMATIC_EFFECT_STATUS_TOO_MANY_REQUESTS = 4; // 0x4
3749    field @NonNull public static final android.os.Parcelable.Creator<android.app.wallpapereffectsgeneration.CinematicEffectResponse> CREATOR;
3750    field public static final int IMAGE_CONTENT_TYPE_LANDSCAPE = 2; // 0x2
3751    field public static final int IMAGE_CONTENT_TYPE_OTHER = 3; // 0x3
3752    field public static final int IMAGE_CONTENT_TYPE_PEOPLE_PORTRAIT = 1; // 0x1
3753    field public static final int IMAGE_CONTENT_TYPE_UNKNOWN = 0; // 0x0
3754  }
3755
3756  public static final class CinematicEffectResponse.Builder {
3757    ctor public CinematicEffectResponse.Builder(int, @NonNull String);
3758    method @NonNull public android.app.wallpapereffectsgeneration.CinematicEffectResponse build();
3759    method @NonNull public android.app.wallpapereffectsgeneration.CinematicEffectResponse.Builder setEndKeyFrame(@Nullable android.app.wallpapereffectsgeneration.CameraAttributes);
3760    method @NonNull public android.app.wallpapereffectsgeneration.CinematicEffectResponse.Builder setImageContentType(int);
3761    method @NonNull public android.app.wallpapereffectsgeneration.CinematicEffectResponse.Builder setStartKeyFrame(@Nullable android.app.wallpapereffectsgeneration.CameraAttributes);
3762    method @NonNull public android.app.wallpapereffectsgeneration.CinematicEffectResponse.Builder setTexturedMeshes(@NonNull java.util.List<android.app.wallpapereffectsgeneration.TexturedMesh>);
3763  }
3764
3765  public final class TexturedMesh implements android.os.Parcelable {
3766    method public int describeContents();
3767    method @NonNull public android.graphics.Bitmap getBitmap();
3768    method @NonNull public int[] getIndices();
3769    method @NonNull public int getIndicesLayoutType();
3770    method @NonNull public float[] getVertices();
3771    method @NonNull public int getVerticesLayoutType();
3772    method public void writeToParcel(@NonNull android.os.Parcel, int);
3773    field @NonNull public static final android.os.Parcelable.Creator<android.app.wallpapereffectsgeneration.TexturedMesh> CREATOR;
3774    field public static final int INDICES_LAYOUT_TRIANGLES = 1; // 0x1
3775    field public static final int INDICES_LAYOUT_UNDEFINED = 0; // 0x0
3776    field public static final int VERTICES_LAYOUT_POSITION3_UV2 = 1; // 0x1
3777    field public static final int VERTICES_LAYOUT_UNDEFINED = 0; // 0x0
3778  }
3779
3780  public static final class TexturedMesh.Builder {
3781    ctor public TexturedMesh.Builder(@NonNull android.graphics.Bitmap);
3782    method @NonNull public android.app.wallpapereffectsgeneration.TexturedMesh build();
3783    method @NonNull public android.app.wallpapereffectsgeneration.TexturedMesh.Builder setIndices(@NonNull int[]);
3784    method @NonNull public android.app.wallpapereffectsgeneration.TexturedMesh.Builder setIndicesLayoutType(int);
3785    method @NonNull public android.app.wallpapereffectsgeneration.TexturedMesh.Builder setVertices(@NonNull float[]);
3786    method @NonNull public android.app.wallpapereffectsgeneration.TexturedMesh.Builder setVerticesLayoutType(int);
3787  }
3788
3789  public final class WallpaperEffectsGenerationManager {
3790    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);
3791  }
3792
3793  public static interface WallpaperEffectsGenerationManager.CinematicEffectListener {
3794    method public void onCinematicEffectGenerated(@NonNull android.app.wallpapereffectsgeneration.CinematicEffectResponse);
3795  }
3796
3797}
3798
3799package android.app.wearable {
3800
3801  @FlaggedApi("android.app.wearable.enable_concurrent_wearable_connections") public interface WearableConnection {
3802    method @NonNull public android.os.ParcelFileDescriptor getConnection();
3803    method @NonNull public android.os.PersistableBundle getMetadata();
3804    method public void onConnectionAccepted();
3805    method public void onError(int);
3806  }
3807
3808  public final class WearableSensingDataRequest implements android.os.Parcelable {
3809    method public int describeContents();
3810    method public int getDataSize();
3811    method public int getDataType();
3812    method public static int getMaxRequestSize();
3813    method public static int getRateLimit();
3814    method @NonNull public static java.time.Duration getRateLimitWindowSize();
3815    method @NonNull public android.os.PersistableBundle getRequestDetails();
3816    method public void writeToParcel(@NonNull android.os.Parcel, int);
3817    field @NonNull public static final android.os.Parcelable.Creator<android.app.wearable.WearableSensingDataRequest> CREATOR;
3818  }
3819
3820  public static final class WearableSensingDataRequest.Builder {
3821    ctor public WearableSensingDataRequest.Builder(int);
3822    method @NonNull public android.app.wearable.WearableSensingDataRequest build();
3823    method @NonNull public android.app.wearable.WearableSensingDataRequest.Builder setRequestDetails(@NonNull android.os.PersistableBundle);
3824  }
3825
3826  public class WearableSensingManager {
3827    method @FlaggedApi("android.app.wearable.enable_concurrent_wearable_connections") @RequiresPermission(android.Manifest.permission.MANAGE_WEARABLE_SENSING_SERVICE) public int getAvailableConnectionCount();
3828    method @Nullable public static android.app.wearable.WearableSensingDataRequest getDataRequestFromIntent(@NonNull android.content.Intent);
3829    method @FlaggedApi("android.app.wearable.enable_concurrent_wearable_connections") @RequiresPermission(android.Manifest.permission.MANAGE_WEARABLE_SENSING_SERVICE) public void provideConnection(@NonNull android.app.wearable.WearableConnection, @NonNull java.util.concurrent.Executor);
3830    method @Deprecated @FlaggedApi("android.app.wearable.enable_concurrent_wearable_connections") @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>);
3831    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>);
3832    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>);
3833    method @FlaggedApi("android.app.wearable.enable_provide_read_only_pfd") @RequiresPermission(android.Manifest.permission.MANAGE_WEARABLE_SENSING_SERVICE) public void provideReadOnlyParcelFileDescriptor(@NonNull android.os.ParcelFileDescriptor, @NonNull android.os.PersistableBundle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
3834    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>);
3835    method @FlaggedApi("android.app.wearable.enable_concurrent_wearable_connections") @RequiresPermission(android.Manifest.permission.MANAGE_WEARABLE_SENSING_SERVICE) public void removeAllConnections();
3836    method @FlaggedApi("android.app.wearable.enable_concurrent_wearable_connections") @RequiresPermission(android.Manifest.permission.MANAGE_WEARABLE_SENSING_SERVICE) public void removeConnection(@NonNull android.app.wearable.WearableConnection);
3837    method @FlaggedApi("android.app.wearable.enable_hotword_wearable_sensing_api") @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>);
3838    method @FlaggedApi("android.app.wearable.enable_hotword_wearable_sensing_api") @RequiresPermission(android.Manifest.permission.MANAGE_WEARABLE_SENSING_SERVICE) public void stopHotwordRecognition(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
3839    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>);
3840    field public static final int STATUS_ACCESS_DENIED = 5; // 0x5
3841    field public static final int STATUS_CHANNEL_ERROR = 7; // 0x7
3842    field @FlaggedApi("android.app.wearable.enable_concurrent_wearable_connections") public static final int STATUS_MAX_CONCURRENT_CONNECTIONS_EXCEEDED = 9; // 0x9
3843    field public static final int STATUS_SERVICE_UNAVAILABLE = 3; // 0x3
3844    field public static final int STATUS_SUCCESS = 1; // 0x1
3845    field public static final int STATUS_UNKNOWN = 0; // 0x0
3846    field @Deprecated public static final int STATUS_UNSUPPORTED = 2; // 0x2
3847    field public static final int STATUS_UNSUPPORTED_DATA_TYPE = 8; // 0x8
3848    field public static final int STATUS_UNSUPPORTED_OPERATION = 6; // 0x6
3849    field public static final int STATUS_WEARABLE_UNAVAILABLE = 4; // 0x4
3850  }
3851
3852}
3853
3854package android.apphibernation {
3855
3856  public class AppHibernationManager {
3857    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public java.util.List<java.lang.String> getHibernatingPackagesForUser();
3858    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public java.util.Map<java.lang.String,android.apphibernation.HibernationStats> getHibernationStatsForUser();
3859    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>);
3860    method @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public boolean isHibernatingForUser(@NonNull String);
3861    method @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public boolean isHibernatingGlobally(@NonNull String);
3862    method @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public boolean isOatArtifactDeletionEnabled();
3863    method @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public void setHibernatingForUser(@NonNull String, boolean);
3864    method @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public void setHibernatingGlobally(@NonNull String, boolean);
3865  }
3866
3867  public final class HibernationStats implements android.os.Parcelable {
3868    method public int describeContents();
3869    method public long getDiskBytesSaved();
3870    method public void writeToParcel(@NonNull android.os.Parcel, int);
3871    field @NonNull public static final android.os.Parcelable.Creator<android.apphibernation.HibernationStats> CREATOR;
3872  }
3873
3874}
3875
3876package android.bluetooth {
3877
3878  public final class BluetoothA2dp implements android.bluetooth.BluetoothProfile {
3879    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void disableOptionalCodecs(@NonNull android.bluetooth.BluetoothDevice);
3880    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void enableOptionalCodecs(@NonNull android.bluetooth.BluetoothDevice);
3881    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BufferConstraints getBufferConstraints();
3882    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BluetoothCodecStatus getCodecStatus(@NonNull android.bluetooth.BluetoothDevice);
3883    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
3884    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getDynamicBufferSupport();
3885    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int isOptionalCodecsEnabled(@NonNull android.bluetooth.BluetoothDevice);
3886    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int isOptionalCodecsSupported(@NonNull android.bluetooth.BluetoothDevice);
3887    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void setAvrcpAbsoluteVolume(int);
3888    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setBufferLengthMillis(int, int);
3889    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}, conditional=true) public void setCodecConfigPreference(@NonNull android.bluetooth.BluetoothDevice, @NonNull android.bluetooth.BluetoothCodecConfig);
3890    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
3891    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void setOptionalCodecsEnabled(@NonNull android.bluetooth.BluetoothDevice, int);
3892    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_ACTIVE_DEVICE_CHANGED = "android.bluetooth.a2dp.profile.action.ACTIVE_DEVICE_CHANGED";
3893    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CODEC_CONFIG_CHANGED = "android.bluetooth.a2dp.profile.action.CODEC_CONFIG_CHANGED";
3894    field public static final int DYNAMIC_BUFFER_SUPPORT_A2DP_OFFLOAD = 1; // 0x1
3895    field public static final int DYNAMIC_BUFFER_SUPPORT_A2DP_SOFTWARE_ENCODING = 2; // 0x2
3896    field public static final int DYNAMIC_BUFFER_SUPPORT_NONE = 0; // 0x0
3897    field public static final int OPTIONAL_CODECS_NOT_SUPPORTED = 0; // 0x0
3898    field public static final int OPTIONAL_CODECS_PREF_DISABLED = 0; // 0x0
3899    field public static final int OPTIONAL_CODECS_PREF_ENABLED = 1; // 0x1
3900    field public static final int OPTIONAL_CODECS_PREF_UNKNOWN = -1; // 0xffffffff
3901    field public static final int OPTIONAL_CODECS_SUPPORTED = 1; // 0x1
3902    field public static final int OPTIONAL_CODECS_SUPPORT_UNKNOWN = -1; // 0xffffffff
3903  }
3904
3905  public final class BluetoothA2dpSink implements android.bluetooth.BluetoothProfile {
3906    method public void finalize();
3907    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
3908    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
3909    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(android.bluetooth.BluetoothDevice);
3910    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]);
3911    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isAudioPlaying(@NonNull android.bluetooth.BluetoothDevice);
3912    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
3913    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.a2dp-sink.profile.action.CONNECTION_STATE_CHANGED";
3914  }
3915
3916  public final class BluetoothActivityEnergyInfo implements android.os.Parcelable {
3917    method public int describeContents();
3918    method public int getBluetoothStackState();
3919    method public long getControllerEnergyUsed();
3920    method public long getControllerIdleTimeMillis();
3921    method public long getControllerRxTimeMillis();
3922    method public long getControllerTxTimeMillis();
3923    method public long getTimestampMillis();
3924    method @NonNull public java.util.List<android.bluetooth.UidTraffic> getUidTraffic();
3925    method public boolean isValid();
3926    method public void writeToParcel(android.os.Parcel, int);
3927    field public static final int BT_STACK_STATE_INVALID = 0; // 0x0
3928    field public static final int BT_STACK_STATE_STATE_ACTIVE = 1; // 0x1
3929    field public static final int BT_STACK_STATE_STATE_IDLE = 3; // 0x3
3930    field public static final int BT_STACK_STATE_STATE_SCANNING = 2; // 0x2
3931    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothActivityEnergyInfo> CREATOR;
3932  }
3933
3934  public final class BluetoothAdapter {
3935    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);
3936    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean clearBluetooth();
3937    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}, conditional=true) public boolean disable(boolean);
3938    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean disableBLE();
3939    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean enableBLE();
3940    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean enableNoAutoConnect();
3941    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);
3942    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getActiveDevices(int);
3943    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public int getBluetoothHciSnoopLoggingMode();
3944    method public int getConnectionState();
3945    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public long getDiscoveryEndMillis();
3946    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.le.DistanceMeasurementManager getDistanceMeasurementManager();
3947    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getMostRecentlyConnectedDevices();
3948    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getOffloadedTransportDiscoveryDataScanSupported();
3949    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.os.Bundle getPreferredAudioProfiles(@NonNull android.bluetooth.BluetoothDevice);
3950    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<java.lang.Integer> getSupportedProfiles();
3951    method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.os.ParcelUuid> getUuidsList();
3952    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean isAutoOnEnabled();
3953    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean isAutoOnSupported();
3954    method public boolean isBleScanAlwaysAvailable();
3955    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int isDistanceMeasurementSupported();
3956    method public boolean isLeEnabled();
3957    method @NonNull public static String nameForState(int);
3958    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int notifyActiveDeviceChangeApplied(@NonNull android.bluetooth.BluetoothDevice);
3959    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);
3960    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);
3961    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);
3962    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED, android.Manifest.permission.MODIFY_PHONE_STATE}) public boolean removeActiveDevice(int);
3963    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);
3964    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);
3965    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BluetoothSocket retrieveConnectedRfcommSocket(@NonNull java.util.UUID);
3966    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);
3967    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public void setAutoOnEnabled(boolean);
3968    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public int setBluetoothHciSnoopLoggingMode(int);
3969    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int setDiscoverableTimeout(@NonNull java.time.Duration);
3970    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int setPreferredAudioProfiles(@NonNull android.bluetooth.BluetoothDevice, @NonNull android.os.Bundle);
3971    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int setScanMode(int);
3972    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);
3973    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int stopRfcommServer(@NonNull java.util.UUID);
3974    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean unregisterBluetoothConnectionCallback(@NonNull android.bluetooth.BluetoothAdapter.BluetoothConnectionCallback);
3975    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int unregisterBluetoothQualityReportReadyCallback(@NonNull android.bluetooth.BluetoothAdapter.BluetoothQualityReportReadyCallback);
3976    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int unregisterPreferredAudioProfilesChangedCallback(@NonNull android.bluetooth.BluetoothAdapter.PreferredAudioProfilesChangedCallback);
3977    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public static final String ACTION_AUTO_ON_STATE_CHANGED = "android.bluetooth.action.AUTO_ON_STATE_CHANGED";
3978    field public static final String ACTION_BLE_STATE_CHANGED = "android.bluetooth.adapter.action.BLE_STATE_CHANGED";
3979    field public static final String ACTION_REQUEST_BLE_SCAN_ALWAYS_AVAILABLE = "android.bluetooth.adapter.action.REQUEST_BLE_SCAN_ALWAYS_AVAILABLE";
3980    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_REQUEST_DISABLE = "android.bluetooth.adapter.action.REQUEST_DISABLE";
3981    field public static final int ACTIVE_DEVICE_ALL = 2; // 0x2
3982    field public static final int ACTIVE_DEVICE_AUDIO = 0; // 0x0
3983    field public static final int ACTIVE_DEVICE_PHONE_CALL = 1; // 0x1
3984    field public static final String AUDIO_MODE_DUPLEX = "audio_mode_duplex";
3985    field public static final String AUDIO_MODE_OUTPUT_ONLY = "audio_mode_output_only";
3986    field public static final int AUTO_ON_STATE_DISABLED = 1; // 0x1
3987    field public static final int AUTO_ON_STATE_ENABLED = 2; // 0x2
3988    field public static final int BT_SNOOP_LOG_MODE_DISABLED = 0; // 0x0
3989    field public static final int BT_SNOOP_LOG_MODE_FILTERED = 1; // 0x1
3990    field public static final int BT_SNOOP_LOG_MODE_FULL = 2; // 0x2
3991    field public static final String EXTRA_AUTO_ON_STATE = "android.bluetooth.extra.AUTO_ON_STATE";
3992    field public static final String EXTRA_RFCOMM_LISTENER_ID = "android.bluetooth.adapter.extra.RFCOMM_LISTENER_ID";
3993    field public static final int STATE_BLE_ON = 15; // 0xf
3994  }
3995
3996  public abstract static class BluetoothAdapter.BluetoothConnectionCallback {
3997    ctor public BluetoothAdapter.BluetoothConnectionCallback();
3998    method @NonNull public static String disconnectReasonToString(int);
3999    method public void onDeviceConnected(@NonNull android.bluetooth.BluetoothDevice);
4000    method public void onDeviceDisconnected(@NonNull android.bluetooth.BluetoothDevice, int);
4001  }
4002
4003  public static interface BluetoothAdapter.BluetoothQualityReportReadyCallback {
4004    method public void onBluetoothQualityReportReady(@NonNull android.bluetooth.BluetoothDevice, @NonNull android.bluetooth.BluetoothQualityReport, int);
4005  }
4006
4007  public static interface BluetoothAdapter.OnBluetoothActivityEnergyInfoCallback {
4008    method public void onBluetoothActivityEnergyInfoAvailable(@NonNull android.bluetooth.BluetoothActivityEnergyInfo);
4009    method public void onBluetoothActivityEnergyInfoError(int);
4010  }
4011
4012  public static interface BluetoothAdapter.OnMetadataChangedListener {
4013    method public void onMetadataChanged(@NonNull android.bluetooth.BluetoothDevice, int, @Nullable byte[]);
4014  }
4015
4016  public static interface BluetoothAdapter.OobDataCallback {
4017    method public void onError(int);
4018    method public void onOobData(int, @NonNull android.bluetooth.OobData);
4019  }
4020
4021  public static interface BluetoothAdapter.PreferredAudioProfilesChangedCallback {
4022    method public void onPreferredAudioProfilesChanged(@NonNull android.bluetooth.BluetoothDevice, @NonNull android.os.Bundle, int);
4023  }
4024
4025  public static class BluetoothAssignedNumbers.OrganizationId {
4026    field public static final int BLUETOOTH_SIG = 1; // 0x1
4027    field public static final int WIFI_ALLIANCE_NEIGHBOR_AWARENESS_NETWORKING = 2; // 0x2
4028    field public static final int WIFI_ALLIANCE_SERVICE_ADVERTISEMENT = 3; // 0x3
4029  }
4030
4031  public final class BluetoothClass implements android.os.Parcelable {
4032    field public static final int PROFILE_A2DP_SINK = 6; // 0x6
4033    field public static final int PROFILE_NAP = 5; // 0x5
4034    field public static final int PROFILE_OPP = 2; // 0x2
4035    field public static final int PROFILE_PANU = 4; // 0x4
4036  }
4037
4038  public final class BluetoothCodecType implements android.os.Parcelable {
4039    ctor public BluetoothCodecType(int, long, @NonNull String);
4040    method @Nullable public static android.bluetooth.BluetoothCodecType createFromType(int);
4041  }
4042
4043  public final class BluetoothCsipSetCoordinator implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
4044    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<java.lang.Integer> getAllGroupIds(@Nullable android.os.ParcelUuid);
4045    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@Nullable android.bluetooth.BluetoothDevice);
4046    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.Map<java.lang.Integer,android.os.ParcelUuid> getGroupUuidMapByDevice(@Nullable android.bluetooth.BluetoothDevice);
4047    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.UUID lockGroup(int, @NonNull java.util.concurrent.Executor, @NonNull android.bluetooth.BluetoothCsipSetCoordinator.ClientLockCallback);
4048    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@Nullable android.bluetooth.BluetoothDevice, int);
4049    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean unlockGroup(@NonNull java.util.UUID);
4050    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public static final String ACTION_CSIS_DEVICE_AVAILABLE = "android.bluetooth.action.CSIS_DEVICE_AVAILABLE";
4051    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public static final String ACTION_CSIS_SET_MEMBER_AVAILABLE = "android.bluetooth.action.CSIS_SET_MEMBER_AVAILABLE";
4052    field public static final String EXTRA_CSIS_GROUP_ID = "android.bluetooth.extra.CSIS_GROUP_ID";
4053    field public static final int GROUP_ID_INVALID = -1; // 0xffffffff
4054  }
4055
4056  public static interface BluetoothCsipSetCoordinator.ClientLockCallback {
4057    method public void onGroupLockSet(int, int, boolean);
4058  }
4059
4060  public final class BluetoothDevice implements android.os.Parcelable {
4061    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean canBondWithoutDialog();
4062    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean cancelBondProcess();
4063    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED, android.Manifest.permission.MODIFY_PHONE_STATE}) public int connect();
4064    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean createBond(int);
4065    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean createBondOutOfBand(int, @Nullable android.bluetooth.OobData, @Nullable android.bluetooth.OobData);
4066    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int disconnect();
4067    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}, conditional=true) public boolean fetchUuidsWithSdp(int);
4068    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getActiveAudioDevicePolicy();
4069    method @NonNull public String getAnonymizedAddress();
4070    method @IntRange(from=0xffffff9c, to=100) @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getBatteryLevel();
4071    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionHandle(int);
4072    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public String getIdentityAddress();
4073    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getMessageAccessPermission();
4074    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public byte[] getMetadata(int);
4075    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public String getPackageNameOfBondingApplication();
4076    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getPhonebookAccessPermission();
4077    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BluetoothSinkAudioPolicy getRequestedAudioPolicyAsSink();
4078    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getSimAccessPermission();
4079    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isBondingInitiatedLocally();
4080    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isConnected();
4081    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isEncrypted();
4082    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isInSilenceMode();
4083    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int isRequestAudioPolicyAsSinkSupported();
4084    method public void prepareToEnterProcess(@NonNull android.content.AttributionSource);
4085    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean removeBond();
4086    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int requestAudioPolicyAsSink(@NonNull android.bluetooth.BluetoothSinkAudioPolicy);
4087    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int setActiveAudioDevicePolicy(int);
4088    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setLowLatencyAudioAllowed(boolean);
4089    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setMessageAccessPermission(int);
4090    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setMetadata(int, @NonNull byte[]);
4091    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setPhonebookAccessPermission(int);
4092    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean setPin(@NonNull String);
4093    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setSilenceMode(boolean);
4094    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setSimAccessPermission(int);
4095    field public static final int ACCESS_ALLOWED = 1; // 0x1
4096    field public static final int ACCESS_REJECTED = 2; // 0x2
4097    field public static final int ACCESS_UNKNOWN = 0; // 0x0
4098    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_BATTERY_LEVEL_CHANGED = "android.bluetooth.device.action.BATTERY_LEVEL_CHANGED";
4099    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_ACCESS_CANCEL = "android.bluetooth.device.action.CONNECTION_ACCESS_CANCEL";
4100    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_ACCESS_REPLY = "android.bluetooth.device.action.CONNECTION_ACCESS_REPLY";
4101    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_ACCESS_REQUEST = "android.bluetooth.device.action.CONNECTION_ACCESS_REQUEST";
4102    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";
4103    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_PAIRING_CANCEL = "android.bluetooth.device.action.PAIRING_CANCEL";
4104    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_SILENCE_MODE_CHANGED = "android.bluetooth.device.action.SILENCE_MODE_CHANGED";
4105    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";
4106    field public static final int ACTIVE_AUDIO_DEVICE_POLICY_ALL_PROFILES_ACTIVE_UPON_CONNECTION = 1; // 0x1
4107    field public static final int ACTIVE_AUDIO_DEVICE_POLICY_ALL_PROFILES_INACTIVE_UPON_CONNECTION = 2; // 0x2
4108    field public static final int ACTIVE_AUDIO_DEVICE_POLICY_DEFAULT = 0; // 0x0
4109    field public static final int BATTERY_LEVEL_BLUETOOTH_OFF = -100; // 0xffffff9c
4110    field public static final int BATTERY_LEVEL_UNKNOWN = -1; // 0xffffffff
4111    field public static final int CONNECTION_ACCESS_NO = 2; // 0x2
4112    field public static final int CONNECTION_ACCESS_YES = 1; // 0x1
4113    field public static final String DEVICE_TYPE_DEFAULT = "Default";
4114    field public static final String DEVICE_TYPE_STYLUS = "Stylus";
4115    field public static final String DEVICE_TYPE_UNTETHERED_HEADSET = "Untethered Headset";
4116    field public static final String DEVICE_TYPE_WATCH = "Watch";
4117    field public static final String EXTRA_ACCESS_REQUEST_TYPE = "android.bluetooth.device.extra.ACCESS_REQUEST_TYPE";
4118    field public static final String EXTRA_ALWAYS_ALLOWED = "android.bluetooth.device.extra.ALWAYS_ALLOWED";
4119    field public static final String EXTRA_BATTERY_LEVEL = "android.bluetooth.device.extra.BATTERY_LEVEL";
4120    field public static final String EXTRA_CONNECTION_ACCESS_RESULT = "android.bluetooth.device.extra.CONNECTION_ACCESS_RESULT";
4121    field public static final String EXTRA_LOW_LATENCY_BUFFER_SIZE = "android.bluetooth.device.extra.LOW_LATENCY_BUFFER_SIZE";
4122    field public static final String EXTRA_PAIRING_INITIATOR = "android.bluetooth.device.extra.PAIRING_INITIATOR";
4123    field public static final int EXTRA_PAIRING_INITIATOR_BACKGROUND = 2; // 0x2
4124    field public static final int EXTRA_PAIRING_INITIATOR_FOREGROUND = 1; // 0x1
4125    field public static final String EXTRA_UNBOND_REASON = "android.bluetooth.device.extra.REASON";
4126    field public static final int METADATA_COMPANION_APP = 4; // 0x4
4127    field public static final int METADATA_DEVICE_TYPE = 17; // 0x11
4128    field public static final int METADATA_ENHANCED_SETTINGS_UI_URI = 16; // 0x10
4129    field public static final int METADATA_EXCLUSIVE_MANAGER = 29; // 0x1d
4130    field public static final int METADATA_HARDWARE_VERSION = 3; // 0x3
4131    field public static final int METADATA_IS_UNTETHERED_HEADSET = 6; // 0x6
4132    field public static final int METADATA_LE_AUDIO = 26; // 0x1a
4133    field public static final int METADATA_MAIN_BATTERY = 18; // 0x12
4134    field public static final int METADATA_MAIN_CHARGING = 19; // 0x13
4135    field public static final int METADATA_MAIN_ICON = 5; // 0x5
4136    field public static final int METADATA_MAIN_LOW_BATTERY_THRESHOLD = 20; // 0x14
4137    field public static final int METADATA_MANUFACTURER_NAME = 0; // 0x0
4138    field public static final int METADATA_MAX_LENGTH = 2048; // 0x800
4139    field public static final int METADATA_MODEL_NAME = 1; // 0x1
4140    field public static final int METADATA_SOFTWARE_VERSION = 2; // 0x2
4141    field public static final int METADATA_UNTETHERED_CASE_BATTERY = 12; // 0xc
4142    field public static final int METADATA_UNTETHERED_CASE_CHARGING = 15; // 0xf
4143    field public static final int METADATA_UNTETHERED_CASE_ICON = 9; // 0x9
4144    field public static final int METADATA_UNTETHERED_CASE_LOW_BATTERY_THRESHOLD = 23; // 0x17
4145    field public static final int METADATA_UNTETHERED_LEFT_BATTERY = 10; // 0xa
4146    field public static final int METADATA_UNTETHERED_LEFT_CHARGING = 13; // 0xd
4147    field public static final int METADATA_UNTETHERED_LEFT_ICON = 7; // 0x7
4148    field public static final int METADATA_UNTETHERED_LEFT_LOW_BATTERY_THRESHOLD = 21; // 0x15
4149    field public static final int METADATA_UNTETHERED_RIGHT_BATTERY = 11; // 0xb
4150    field public static final int METADATA_UNTETHERED_RIGHT_CHARGING = 14; // 0xe
4151    field public static final int METADATA_UNTETHERED_RIGHT_ICON = 8; // 0x8
4152    field public static final int METADATA_UNTETHERED_RIGHT_LOW_BATTERY_THRESHOLD = 22; // 0x16
4153    field public static final int PAIRING_VARIANT_CONSENT = 3; // 0x3
4154    field public static final int PAIRING_VARIANT_DISPLAY_PASSKEY = 4; // 0x4
4155    field public static final int PAIRING_VARIANT_DISPLAY_PIN = 5; // 0x5
4156    field public static final int PAIRING_VARIANT_OOB_CONSENT = 6; // 0x6
4157    field public static final int PAIRING_VARIANT_PASSKEY = 1; // 0x1
4158    field public static final int PAIRING_VARIANT_PIN_16_DIGITS = 7; // 0x7
4159    field public static final int REQUEST_TYPE_MESSAGE_ACCESS = 3; // 0x3
4160    field public static final int REQUEST_TYPE_PHONEBOOK_ACCESS = 2; // 0x2
4161    field public static final int REQUEST_TYPE_PROFILE_CONNECTION = 1; // 0x1
4162    field public static final int REQUEST_TYPE_SIM_ACCESS = 4; // 0x4
4163    field public static final int UNBOND_REASON_AUTH_CANCELED = 3; // 0x3
4164    field public static final int UNBOND_REASON_AUTH_FAILED = 1; // 0x1
4165    field public static final int UNBOND_REASON_AUTH_REJECTED = 2; // 0x2
4166    field public static final int UNBOND_REASON_AUTH_TIMEOUT = 6; // 0x6
4167    field public static final int UNBOND_REASON_DISCOVERY_IN_PROGRESS = 5; // 0x5
4168    field public static final int UNBOND_REASON_REMOTE_AUTH_CANCELED = 8; // 0x8
4169    field public static final int UNBOND_REASON_REMOTE_DEVICE_DOWN = 4; // 0x4
4170    field public static final int UNBOND_REASON_REMOVED = 9; // 0x9
4171    field public static final int UNBOND_REASON_REPEATED_ATTEMPTS = 7; // 0x7
4172  }
4173
4174  public interface BluetoothDevicePicker {
4175    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_DEVICE_SELECTED = "android.bluetooth.devicepicker.action.DEVICE_SELECTED";
4176    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_LAUNCH = "android.bluetooth.devicepicker.action.LAUNCH";
4177    field public static final String EXTRA_FILTER_TYPE = "android.bluetooth.devicepicker.extra.FILTER_TYPE";
4178    field public static final String EXTRA_LAUNCH_CLASS = "android.bluetooth.devicepicker.extra.DEVICE_PICKER_LAUNCH_CLASS";
4179    field public static final String EXTRA_LAUNCH_PACKAGE = "android.bluetooth.devicepicker.extra.LAUNCH_PACKAGE";
4180    field public static final String EXTRA_NEED_AUTH = "android.bluetooth.devicepicker.extra.NEED_AUTH";
4181    field public static final int FILTER_TYPE_ALL = 0; // 0x0
4182    field public static final int FILTER_TYPE_AUDIO = 1; // 0x1
4183    field public static final int FILTER_TYPE_NAP = 4; // 0x4
4184    field public static final int FILTER_TYPE_PANU = 3; // 0x3
4185    field public static final int FILTER_TYPE_TRANSFER = 2; // 0x2
4186  }
4187
4188  public final class BluetoothHapClient implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
4189    method public void close();
4190    method protected void finalize();
4191    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getActivePresetIndex(@NonNull android.bluetooth.BluetoothDevice);
4192    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BluetoothHapPresetInfo getActivePresetInfo(@NonNull android.bluetooth.BluetoothDevice);
4193    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);
4194    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
4195    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@Nullable android.bluetooth.BluetoothDevice);
4196    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
4197    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(@NonNull int[]);
4198    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getHapGroup(@NonNull android.bluetooth.BluetoothDevice);
4199    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getHearingAidType(@NonNull android.bluetooth.BluetoothDevice);
4200    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BluetoothHapPresetInfo getPresetInfo(@NonNull android.bluetooth.BluetoothDevice, int);
4201    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);
4202    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void selectPreset(@NonNull android.bluetooth.BluetoothDevice, int);
4203    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void selectPresetForGroup(int, int);
4204    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
4205    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void setPresetName(@NonNull android.bluetooth.BluetoothDevice, int, @NonNull String);
4206    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void setPresetNameForGroup(int, int, @NonNull String);
4207    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean supportsDynamicPresets(@NonNull android.bluetooth.BluetoothDevice);
4208    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean supportsIndependentPresets(@NonNull android.bluetooth.BluetoothDevice);
4209    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean supportsSynchronizedPresets(@NonNull android.bluetooth.BluetoothDevice);
4210    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean supportsWritablePresets(@NonNull android.bluetooth.BluetoothDevice);
4211    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void switchToNextPreset(@NonNull android.bluetooth.BluetoothDevice);
4212    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void switchToNextPresetForGroup(int);
4213    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void switchToPreviousPreset(@NonNull android.bluetooth.BluetoothDevice);
4214    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void switchToPreviousPresetForGroup(int);
4215    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void unregisterCallback(@NonNull android.bluetooth.BluetoothHapClient.Callback);
4216    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";
4217    field public static final int PRESET_INDEX_UNAVAILABLE = 0; // 0x0
4218    field public static final int TYPE_BANDED = 2; // 0x2
4219    field public static final int TYPE_BINAURAL = 0; // 0x0
4220    field public static final int TYPE_MONAURAL = 1; // 0x1
4221    field public static final int TYPE_RFU = 3; // 0x3
4222  }
4223
4224  public static interface BluetoothHapClient.Callback {
4225    method public void onPresetInfoChanged(@NonNull android.bluetooth.BluetoothDevice, @NonNull java.util.List<android.bluetooth.BluetoothHapPresetInfo>, int);
4226    method public void onPresetSelected(@NonNull android.bluetooth.BluetoothDevice, int, int);
4227    method public void onPresetSelectionFailed(@NonNull android.bluetooth.BluetoothDevice, int);
4228    method public void onPresetSelectionForGroupFailed(int, int);
4229    method public void onSetPresetNameFailed(@NonNull android.bluetooth.BluetoothDevice, int);
4230    method public void onSetPresetNameForGroupFailed(int, int);
4231  }
4232
4233  public final class BluetoothHapPresetInfo implements android.os.Parcelable {
4234    method public int describeContents();
4235    method public int getIndex();
4236    method @NonNull public String getName();
4237    method public boolean isAvailable();
4238    method public boolean isWritable();
4239    method public void writeToParcel(@NonNull android.os.Parcel, int);
4240    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothHapPresetInfo> CREATOR;
4241  }
4242
4243  public final class BluetoothHeadset implements android.bluetooth.BluetoothProfile {
4244    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.MODIFY_PHONE_STATE}) public boolean connect(android.bluetooth.BluetoothDevice);
4245    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int connectAudio();
4246    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean disconnect(android.bluetooth.BluetoothDevice);
4247    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int disconnectAudio();
4248    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getAudioRouteAllowed();
4249    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getAudioState(@NonNull android.bluetooth.BluetoothDevice);
4250    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
4251    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isInbandRingingEnabled();
4252    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int setAudioRouteAllowed(boolean);
4253    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);
4254    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.MODIFY_PHONE_STATE, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean startScoUsingVirtualVoiceCall();
4255    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.MODIFY_PHONE_STATE, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean stopScoUsingVirtualVoiceCall();
4256    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_ACTIVE_DEVICE_CHANGED = "android.bluetooth.headset.profile.action.ACTIVE_DEVICE_CHANGED";
4257  }
4258
4259  public final class BluetoothHeadsetClient implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
4260    method public void close();
4261    method protected void finalize();
4262    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
4263    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
4264    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
4265    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(@NonNull int[]);
4266    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BluetoothHeadsetClient.NetworkServiceState getNetworkServiceState(@NonNull android.bluetooth.BluetoothDevice);
4267    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
4268    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";
4269    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";
4270    field public static final String EXTRA_NETWORK_SERVICE_STATE = "android.bluetooth.headsetclient.extra.EXTRA_NETWORK_SERVICE_STATE";
4271  }
4272
4273  public static final class BluetoothHeadsetClient.NetworkServiceState implements android.os.Parcelable {
4274    method public int describeContents();
4275    method @NonNull public android.bluetooth.BluetoothDevice getDevice();
4276    method @Nullable public String getNetworkOperatorName();
4277    method @IntRange(from=0, to=5) public int getSignalStrength();
4278    method public boolean isRoaming();
4279    method public boolean isServiceAvailable();
4280    method public void writeToParcel(@NonNull android.os.Parcel, int);
4281    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothHeadsetClient.NetworkServiceState> CREATOR;
4282  }
4283
4284  public final class BluetoothHearingAid implements android.bluetooth.BluetoothProfile {
4285    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BluetoothHearingAid.AdvertisementServiceData getAdvertisementServiceData(@NonNull android.bluetooth.BluetoothDevice);
4286    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
4287    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getDeviceMode(@NonNull android.bluetooth.BluetoothDevice);
4288    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getDeviceSide(@NonNull android.bluetooth.BluetoothDevice);
4289    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public long getHiSyncId(@NonNull android.bluetooth.BluetoothDevice);
4290    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
4291    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void setVolume(int);
4292    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_ACTIVE_DEVICE_CHANGED = "android.bluetooth.hearingaid.profile.action.ACTIVE_DEVICE_CHANGED";
4293    field public static final long HI_SYNC_ID_INVALID = 0L; // 0x0L
4294    field public static final int MODE_BINAURAL = 1; // 0x1
4295    field public static final int MODE_MONAURAL = 0; // 0x0
4296    field public static final int MODE_UNKNOWN = -1; // 0xffffffff
4297    field public static final int SIDE_LEFT = 0; // 0x0
4298    field public static final int SIDE_RIGHT = 1; // 0x1
4299    field public static final int SIDE_UNKNOWN = -1; // 0xffffffff
4300  }
4301
4302  public static final class BluetoothHearingAid.AdvertisementServiceData implements android.os.Parcelable {
4303    method public int describeContents();
4304    method public int getDeviceMode();
4305    method public int getDeviceSide();
4306    method public int getTruncatedHiSyncId();
4307    method public boolean isCsipSupported();
4308    method public boolean isInPairWith(@Nullable android.bluetooth.BluetoothHearingAid.AdvertisementServiceData);
4309    method public void writeToParcel(@NonNull android.os.Parcel, int);
4310    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothHearingAid.AdvertisementServiceData> CREATOR;
4311  }
4312
4313  public final class BluetoothHidDevice implements android.bluetooth.BluetoothProfile {
4314    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
4315  }
4316
4317  public final class BluetoothHidHost implements android.bluetooth.BluetoothProfile {
4318    method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
4319    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
4320    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
4321    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]);
4322    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getPreferredTransport(@NonNull android.bluetooth.BluetoothDevice);
4323    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
4324    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setPreferredTransport(@NonNull android.bluetooth.BluetoothDevice, int);
4325    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.input.profile.action.CONNECTION_STATE_CHANGED";
4326  }
4327
4328  public final class BluetoothLeAudio implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
4329    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getAudioLocation(@NonNull android.bluetooth.BluetoothDevice);
4330    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BluetoothLeAudioCodecStatus getCodecStatus(int);
4331    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@Nullable android.bluetooth.BluetoothDevice);
4332    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isInbandRingtoneEnabled(int);
4333    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);
4334    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);
4335    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
4336    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void setVolume(@IntRange(from=0, to=255) int);
4337    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void unregisterCallback(@NonNull android.bluetooth.BluetoothLeAudio.Callback);
4338    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";
4339    field public static final int AUDIO_LOCATION_BACK_CENTER = 256; // 0x100
4340    field public static final int AUDIO_LOCATION_BACK_LEFT = 16; // 0x10
4341    field public static final int AUDIO_LOCATION_BACK_RIGHT = 32; // 0x20
4342    field public static final int AUDIO_LOCATION_BOTTOM_FRONT_CENTER = 2097152; // 0x200000
4343    field public static final int AUDIO_LOCATION_BOTTOM_FRONT_LEFT = 4194304; // 0x400000
4344    field public static final int AUDIO_LOCATION_BOTTOM_FRONT_RIGHT = 8388608; // 0x800000
4345    field public static final int AUDIO_LOCATION_FRONT_CENTER = 4; // 0x4
4346    field public static final int AUDIO_LOCATION_FRONT_LEFT = 1; // 0x1
4347    field public static final int AUDIO_LOCATION_FRONT_LEFT_OF_CENTER = 64; // 0x40
4348    field public static final int AUDIO_LOCATION_FRONT_LEFT_WIDE = 16777216; // 0x1000000
4349    field public static final int AUDIO_LOCATION_FRONT_RIGHT = 2; // 0x2
4350    field public static final int AUDIO_LOCATION_FRONT_RIGHT_OF_CENTER = 128; // 0x80
4351    field public static final int AUDIO_LOCATION_FRONT_RIGHT_WIDE = 33554432; // 0x2000000
4352    field public static final int AUDIO_LOCATION_INVALID = 0; // 0x0
4353    field public static final int AUDIO_LOCATION_LEFT_SURROUND = 67108864; // 0x4000000
4354    field public static final int AUDIO_LOCATION_LOW_FREQ_EFFECTS_ONE = 8; // 0x8
4355    field public static final int AUDIO_LOCATION_LOW_FREQ_EFFECTS_TWO = 512; // 0x200
4356    field public static final int AUDIO_LOCATION_RIGHT_SURROUND = 134217728; // 0x8000000
4357    field public static final int AUDIO_LOCATION_SIDE_LEFT = 1024; // 0x400
4358    field public static final int AUDIO_LOCATION_SIDE_RIGHT = 2048; // 0x800
4359    field public static final int AUDIO_LOCATION_TOP_BACK_CENTER = 1048576; // 0x100000
4360    field public static final int AUDIO_LOCATION_TOP_BACK_LEFT = 65536; // 0x10000
4361    field public static final int AUDIO_LOCATION_TOP_BACK_RIGHT = 131072; // 0x20000
4362    field public static final int AUDIO_LOCATION_TOP_CENTER = 32768; // 0x8000
4363    field public static final int AUDIO_LOCATION_TOP_FRONT_CENTER = 16384; // 0x4000
4364    field public static final int AUDIO_LOCATION_TOP_FRONT_LEFT = 4096; // 0x1000
4365    field public static final int AUDIO_LOCATION_TOP_FRONT_RIGHT = 8192; // 0x2000
4366    field public static final int AUDIO_LOCATION_TOP_SIDE_LEFT = 262144; // 0x40000
4367    field public static final int AUDIO_LOCATION_TOP_SIDE_RIGHT = 524288; // 0x80000
4368    field public static final String EXTRA_LE_AUDIO_GROUP_ID = "android.bluetooth.extra.LE_AUDIO_GROUP_ID";
4369    field public static final int GROUP_STREAM_STATUS_IDLE = 0; // 0x0
4370    field public static final int GROUP_STREAM_STATUS_STREAMING = 1; // 0x1
4371  }
4372
4373  public static interface BluetoothLeAudio.Callback {
4374    method public void onCodecConfigChanged(int, @NonNull android.bluetooth.BluetoothLeAudioCodecStatus);
4375    method public void onGroupNodeAdded(@NonNull android.bluetooth.BluetoothDevice, int);
4376    method public void onGroupNodeRemoved(@NonNull android.bluetooth.BluetoothDevice, int);
4377    method public void onGroupStatusChanged(int, int);
4378    method public default void onGroupStreamStatusChanged(int, int);
4379  }
4380
4381  public final class BluetoothLeAudioCodecConfigMetadata implements android.os.Parcelable {
4382    method public int describeContents();
4383    method @NonNull public static android.bluetooth.BluetoothLeAudioCodecConfigMetadata fromRawBytes(@NonNull byte[]);
4384    method public long getAudioLocation();
4385    method public int getFrameDuration();
4386    method public int getOctetsPerFrame();
4387    method @NonNull public byte[] getRawMetadata();
4388    method public int getSampleRate();
4389    method public void writeToParcel(android.os.Parcel, int);
4390    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothLeAudioCodecConfigMetadata> CREATOR;
4391  }
4392
4393  public static final class BluetoothLeAudioCodecConfigMetadata.Builder {
4394    ctor public BluetoothLeAudioCodecConfigMetadata.Builder();
4395    ctor public BluetoothLeAudioCodecConfigMetadata.Builder(@NonNull android.bluetooth.BluetoothLeAudioCodecConfigMetadata);
4396    method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfigMetadata build();
4397    method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfigMetadata.Builder setAudioLocation(long);
4398    method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfigMetadata.Builder setFrameDuration(int);
4399    method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfigMetadata.Builder setOctetsPerFrame(int);
4400    method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfigMetadata.Builder setSampleRate(int);
4401  }
4402
4403  public final class BluetoothLeAudioContentMetadata implements android.os.Parcelable {
4404    method public int describeContents();
4405    method @NonNull public static android.bluetooth.BluetoothLeAudioContentMetadata fromRawBytes(@NonNull byte[]);
4406    method @Nullable public String getLanguage();
4407    method @Nullable public String getProgramInfo();
4408    method @NonNull public byte[] getRawMetadata();
4409    method public void writeToParcel(android.os.Parcel, int);
4410    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothLeAudioContentMetadata> CREATOR;
4411  }
4412
4413  public static final class BluetoothLeAudioContentMetadata.Builder {
4414    ctor public BluetoothLeAudioContentMetadata.Builder();
4415    ctor public BluetoothLeAudioContentMetadata.Builder(@NonNull android.bluetooth.BluetoothLeAudioContentMetadata);
4416    method @NonNull public android.bluetooth.BluetoothLeAudioContentMetadata build();
4417    method @NonNull public android.bluetooth.BluetoothLeAudioContentMetadata.Builder setLanguage(@Nullable String);
4418    method @NonNull public android.bluetooth.BluetoothLeAudioContentMetadata.Builder setProgramInfo(@Nullable String);
4419  }
4420
4421  public final class BluetoothLeBroadcast implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
4422    method public void close();
4423    method protected void finalize();
4424    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothLeBroadcastMetadata> getAllBroadcastMetadata();
4425    method @NonNull public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
4426    method public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
4427    method @NonNull public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(@NonNull int[]);
4428    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public int getMaximumNumberOfBroadcasts();
4429    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public int getMaximumStreamsPerBroadcast();
4430    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public int getMaximumSubgroupsPerBroadcast();
4431    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isPlaying(int);
4432    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);
4433    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void startBroadcast(@NonNull android.bluetooth.BluetoothLeAudioContentMetadata, @Nullable byte[]);
4434    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void startBroadcast(@NonNull android.bluetooth.BluetoothLeBroadcastSettings);
4435    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void stopBroadcast(int);
4436    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void unregisterCallback(@NonNull android.bluetooth.BluetoothLeBroadcast.Callback);
4437    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void updateBroadcast(int, @NonNull android.bluetooth.BluetoothLeAudioContentMetadata);
4438    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void updateBroadcast(int, @NonNull android.bluetooth.BluetoothLeBroadcastSettings);
4439  }
4440
4441  public static interface BluetoothLeBroadcast.Callback {
4442    method public void onBroadcastMetadataChanged(int, @NonNull android.bluetooth.BluetoothLeBroadcastMetadata);
4443    method public void onBroadcastStartFailed(int);
4444    method public void onBroadcastStarted(int, int);
4445    method public void onBroadcastStopFailed(int);
4446    method public void onBroadcastStopped(int, int);
4447    method public void onBroadcastUpdateFailed(int, int);
4448    method public void onBroadcastUpdated(int, int);
4449    method public void onPlaybackStarted(int, int);
4450    method public void onPlaybackStopped(int, int);
4451  }
4452
4453  public final class BluetoothLeBroadcastAssistant implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
4454    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);
4455    method public void close();
4456    method protected void finalize();
4457    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);
4458    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
4459    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
4460    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
4461    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(@NonNull int[]);
4462    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getMaximumSourceCapacity(@NonNull android.bluetooth.BluetoothDevice);
4463    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isSearchInProgress();
4464    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);
4465    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);
4466    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void removeSource(@NonNull android.bluetooth.BluetoothDevice, int);
4467    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
4468    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void startSearchingForSources(@NonNull java.util.List<android.bluetooth.le.ScanFilter>);
4469    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void stopSearchingForSources();
4470    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void unregisterCallback(@NonNull android.bluetooth.BluetoothLeBroadcastAssistant.Callback);
4471    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";
4472  }
4473
4474  public static interface BluetoothLeBroadcastAssistant.Callback {
4475    method public void onReceiveStateChanged(@NonNull android.bluetooth.BluetoothDevice, int, @NonNull android.bluetooth.BluetoothLeBroadcastReceiveState);
4476    method public void onSearchStartFailed(int);
4477    method public void onSearchStarted(int);
4478    method public void onSearchStopFailed(int);
4479    method public void onSearchStopped(int);
4480    method public void onSourceAddFailed(@NonNull android.bluetooth.BluetoothDevice, @NonNull android.bluetooth.BluetoothLeBroadcastMetadata, int);
4481    method public void onSourceAdded(@NonNull android.bluetooth.BluetoothDevice, int, int);
4482    method public void onSourceFound(@NonNull android.bluetooth.BluetoothLeBroadcastMetadata);
4483    method public default void onSourceLost(int);
4484    method public void onSourceModified(@NonNull android.bluetooth.BluetoothDevice, int, int);
4485    method public void onSourceModifyFailed(@NonNull android.bluetooth.BluetoothDevice, int, int);
4486    method public void onSourceRemoveFailed(@NonNull android.bluetooth.BluetoothDevice, int, int);
4487    method public void onSourceRemoved(@NonNull android.bluetooth.BluetoothDevice, int, int);
4488  }
4489
4490  public final class BluetoothLeBroadcastChannel implements android.os.Parcelable {
4491    method public int describeContents();
4492    method public int getChannelIndex();
4493    method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfigMetadata getCodecMetadata();
4494    method public boolean isSelected();
4495    method public void writeToParcel(android.os.Parcel, int);
4496    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothLeBroadcastChannel> CREATOR;
4497  }
4498
4499  public static final class BluetoothLeBroadcastChannel.Builder {
4500    ctor public BluetoothLeBroadcastChannel.Builder();
4501    ctor public BluetoothLeBroadcastChannel.Builder(@NonNull android.bluetooth.BluetoothLeBroadcastChannel);
4502    method @NonNull public android.bluetooth.BluetoothLeBroadcastChannel build();
4503    method @NonNull public android.bluetooth.BluetoothLeBroadcastChannel.Builder setChannelIndex(int);
4504    method @NonNull public android.bluetooth.BluetoothLeBroadcastChannel.Builder setCodecMetadata(@NonNull android.bluetooth.BluetoothLeAudioCodecConfigMetadata);
4505    method @NonNull public android.bluetooth.BluetoothLeBroadcastChannel.Builder setSelected(boolean);
4506  }
4507
4508  public final class BluetoothLeBroadcastMetadata implements android.os.Parcelable {
4509    method public int describeContents();
4510    method public int getAudioConfigQuality();
4511    method @Nullable public byte[] getBroadcastCode();
4512    method public int getBroadcastId();
4513    method @Nullable public String getBroadcastName();
4514    method public int getPaSyncInterval();
4515    method @IntRange(from=0, to=16777215) public int getPresentationDelayMicros();
4516    method @Nullable public android.bluetooth.BluetoothLeAudioContentMetadata getPublicBroadcastMetadata();
4517    method @IntRange(from=0xffffff81, to=127) public int getRssi();
4518    method public int getSourceAddressType();
4519    method public int getSourceAdvertisingSid();
4520    method @NonNull public android.bluetooth.BluetoothDevice getSourceDevice();
4521    method @NonNull public java.util.List<android.bluetooth.BluetoothLeBroadcastSubgroup> getSubgroups();
4522    method public boolean isEncrypted();
4523    method public boolean isPublicBroadcast();
4524    method public void writeToParcel(android.os.Parcel, int);
4525    field public static final int AUDIO_CONFIG_QUALITY_HIGH = 2; // 0x2
4526    field public static final int AUDIO_CONFIG_QUALITY_NONE = 0; // 0x0
4527    field public static final int AUDIO_CONFIG_QUALITY_STANDARD = 1; // 0x1
4528    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothLeBroadcastMetadata> CREATOR;
4529    field public static final int PA_SYNC_INTERVAL_UNKNOWN = 65535; // 0xffff
4530    field public static final int RSSI_UNKNOWN = 127; // 0x7f
4531  }
4532
4533  public static final class BluetoothLeBroadcastMetadata.Builder {
4534    ctor public BluetoothLeBroadcastMetadata.Builder();
4535    ctor public BluetoothLeBroadcastMetadata.Builder(@NonNull android.bluetooth.BluetoothLeBroadcastMetadata);
4536    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder addSubgroup(@NonNull android.bluetooth.BluetoothLeBroadcastSubgroup);
4537    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata build();
4538    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder clearSubgroup();
4539    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setAudioConfigQuality(int);
4540    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setBroadcastCode(@Nullable byte[]);
4541    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setBroadcastId(int);
4542    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setBroadcastName(@Nullable String);
4543    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setEncrypted(boolean);
4544    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setPaSyncInterval(int);
4545    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setPresentationDelayMicros(@IntRange(from=0, to=16777215) int);
4546    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setPublicBroadcast(boolean);
4547    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setPublicBroadcastMetadata(@Nullable android.bluetooth.BluetoothLeAudioContentMetadata);
4548    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setRssi(@IntRange(from=0xffffff81, to=127) int);
4549    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setSourceAdvertisingSid(int);
4550    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setSourceDevice(@NonNull android.bluetooth.BluetoothDevice, int);
4551  }
4552
4553  public final class BluetoothLeBroadcastReceiveState implements android.os.Parcelable {
4554    method public int describeContents();
4555    method @Nullable public byte[] getBadCode();
4556    method public int getBigEncryptionState();
4557    method @NonNull public java.util.List<java.lang.Long> getBisSyncState();
4558    method public int getBroadcastId();
4559    method public int getNumSubgroups();
4560    method public int getPaSyncState();
4561    method public int getSourceAddressType();
4562    method public int getSourceAdvertisingSid();
4563    method @NonNull public android.bluetooth.BluetoothDevice getSourceDevice();
4564    method @IntRange(from=0, to=255) public int getSourceId();
4565    method @NonNull public java.util.List<android.bluetooth.BluetoothLeAudioContentMetadata> getSubgroupMetadata();
4566    method public void writeToParcel(android.os.Parcel, int);
4567    field public static final int BIG_ENCRYPTION_STATE_BAD_CODE = 3; // 0x3
4568    field public static final int BIG_ENCRYPTION_STATE_CODE_REQUIRED = 1; // 0x1
4569    field public static final int BIG_ENCRYPTION_STATE_DECRYPTING = 2; // 0x2
4570    field public static final int BIG_ENCRYPTION_STATE_NOT_ENCRYPTED = 0; // 0x0
4571    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothLeBroadcastReceiveState> CREATOR;
4572    field public static final int PA_SYNC_STATE_FAILED_TO_SYNCHRONIZE = 3; // 0x3
4573    field public static final int PA_SYNC_STATE_IDLE = 0; // 0x0
4574    field public static final int PA_SYNC_STATE_NO_PAST = 4; // 0x4
4575    field public static final int PA_SYNC_STATE_SYNCHRONIZED = 2; // 0x2
4576    field public static final int PA_SYNC_STATE_SYNCINFO_REQUEST = 1; // 0x1
4577  }
4578
4579  public final class BluetoothLeBroadcastSettings implements android.os.Parcelable {
4580    method public int describeContents();
4581    method @Nullable public byte[] getBroadcastCode();
4582    method @Nullable public String getBroadcastName();
4583    method @Nullable public android.bluetooth.BluetoothLeAudioContentMetadata getPublicBroadcastMetadata();
4584    method @NonNull public java.util.List<android.bluetooth.BluetoothLeBroadcastSubgroupSettings> getSubgroupSettings();
4585    method public boolean isPublicBroadcast();
4586    method public void writeToParcel(android.os.Parcel, int);
4587    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothLeBroadcastSettings> CREATOR;
4588  }
4589
4590  public static final class BluetoothLeBroadcastSettings.Builder {
4591    ctor public BluetoothLeBroadcastSettings.Builder();
4592    ctor public BluetoothLeBroadcastSettings.Builder(@NonNull android.bluetooth.BluetoothLeBroadcastSettings);
4593    method @NonNull public android.bluetooth.BluetoothLeBroadcastSettings.Builder addSubgroupSettings(@NonNull android.bluetooth.BluetoothLeBroadcastSubgroupSettings);
4594    method @NonNull public android.bluetooth.BluetoothLeBroadcastSettings build();
4595    method @NonNull public android.bluetooth.BluetoothLeBroadcastSettings.Builder clearSubgroupSettings();
4596    method @NonNull public android.bluetooth.BluetoothLeBroadcastSettings.Builder setBroadcastCode(@Nullable byte[]);
4597    method @NonNull public android.bluetooth.BluetoothLeBroadcastSettings.Builder setBroadcastName(@Nullable String);
4598    method @NonNull public android.bluetooth.BluetoothLeBroadcastSettings.Builder setPublicBroadcast(boolean);
4599    method @NonNull public android.bluetooth.BluetoothLeBroadcastSettings.Builder setPublicBroadcastMetadata(@Nullable android.bluetooth.BluetoothLeAudioContentMetadata);
4600  }
4601
4602  public final class BluetoothLeBroadcastSubgroup implements android.os.Parcelable {
4603    method public int describeContents();
4604    method @NonNull public java.util.List<android.bluetooth.BluetoothLeBroadcastChannel> getChannels();
4605    method public long getCodecId();
4606    method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfigMetadata getCodecSpecificConfig();
4607    method @NonNull public android.bluetooth.BluetoothLeAudioContentMetadata getContentMetadata();
4608    method public boolean hasChannelPreference();
4609    method public void writeToParcel(android.os.Parcel, int);
4610    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothLeBroadcastSubgroup> CREATOR;
4611  }
4612
4613  public static final class BluetoothLeBroadcastSubgroup.Builder {
4614    ctor public BluetoothLeBroadcastSubgroup.Builder();
4615    ctor public BluetoothLeBroadcastSubgroup.Builder(@NonNull android.bluetooth.BluetoothLeBroadcastSubgroup);
4616    method @NonNull public android.bluetooth.BluetoothLeBroadcastSubgroup.Builder addChannel(@NonNull android.bluetooth.BluetoothLeBroadcastChannel);
4617    method @NonNull public android.bluetooth.BluetoothLeBroadcastSubgroup build();
4618    method @NonNull public android.bluetooth.BluetoothLeBroadcastSubgroup.Builder clearChannel();
4619    method @NonNull public android.bluetooth.BluetoothLeBroadcastSubgroup.Builder setCodecId(long);
4620    method @NonNull public android.bluetooth.BluetoothLeBroadcastSubgroup.Builder setCodecSpecificConfig(@NonNull android.bluetooth.BluetoothLeAudioCodecConfigMetadata);
4621    method @NonNull public android.bluetooth.BluetoothLeBroadcastSubgroup.Builder setContentMetadata(@NonNull android.bluetooth.BluetoothLeAudioContentMetadata);
4622  }
4623
4624  public final class BluetoothLeBroadcastSubgroupSettings implements android.os.Parcelable {
4625    method public int describeContents();
4626    method @NonNull public android.bluetooth.BluetoothLeAudioContentMetadata getContentMetadata();
4627    method public int getPreferredQuality();
4628    method public void writeToParcel(android.os.Parcel, int);
4629    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothLeBroadcastSubgroupSettings> CREATOR;
4630    field public static final int QUALITY_HIGH = 1; // 0x1
4631    field public static final int QUALITY_STANDARD = 0; // 0x0
4632  }
4633
4634  public static final class BluetoothLeBroadcastSubgroupSettings.Builder {
4635    ctor public BluetoothLeBroadcastSubgroupSettings.Builder();
4636    ctor public BluetoothLeBroadcastSubgroupSettings.Builder(@NonNull android.bluetooth.BluetoothLeBroadcastSubgroupSettings);
4637    method @NonNull public android.bluetooth.BluetoothLeBroadcastSubgroupSettings build();
4638    method @NonNull public android.bluetooth.BluetoothLeBroadcastSubgroupSettings.Builder setContentMetadata(@NonNull android.bluetooth.BluetoothLeAudioContentMetadata);
4639    method @NonNull public android.bluetooth.BluetoothLeBroadcastSubgroupSettings.Builder setPreferredQuality(int);
4640  }
4641
4642  public final class BluetoothMap implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
4643    method public void close();
4644    method protected void finalize();
4645    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
4646    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
4647    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(android.bluetooth.BluetoothDevice);
4648    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]);
4649    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
4650    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.map.profile.action.CONNECTION_STATE_CHANGED";
4651  }
4652
4653  public final class BluetoothMapClient implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
4654    method public void close();
4655    method protected void finalize();
4656    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
4657    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
4658    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
4659    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(@NonNull int[]);
4660    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);
4661    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
4662    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";
4663  }
4664
4665  public final class BluetoothPan implements android.bluetooth.BluetoothProfile {
4666    method protected void finalize();
4667    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
4668    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
4669    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]);
4670    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isTetheringOn();
4671    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED, android.Manifest.permission.TETHER_PRIVILEGED}) public void setBluetoothTethering(boolean);
4672    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
4673    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.pan.profile.action.CONNECTION_STATE_CHANGED";
4674    field public static final String ACTION_TETHERING_STATE_CHANGED = "android.bluetooth.action.TETHERING_STATE_CHANGED";
4675    field public static final String EXTRA_LOCAL_ROLE = "android.bluetooth.pan.extra.LOCAL_ROLE";
4676    field public static final String EXTRA_TETHERING_STATE = "android.bluetooth.extra.TETHERING_STATE";
4677    field public static final int LOCAL_NAP_ROLE = 1; // 0x1
4678    field public static final int LOCAL_PANU_ROLE = 2; // 0x2
4679    field public static final int PAN_ROLE_NONE = 0; // 0x0
4680    field public static final int REMOTE_NAP_ROLE = 1; // 0x1
4681    field public static final int REMOTE_PANU_ROLE = 2; // 0x2
4682    field public static final int TETHERING_STATE_OFF = 1; // 0x1
4683    field public static final int TETHERING_STATE_ON = 2; // 0x2
4684  }
4685
4686  public class BluetoothPbap implements android.bluetooth.BluetoothProfile {
4687    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
4688    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
4689    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]);
4690    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
4691    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.pbap.profile.action.CONNECTION_STATE_CHANGED";
4692  }
4693
4694  public final class BluetoothPbapClient implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
4695    method public void close();
4696    method protected void finalize();
4697    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
4698    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
4699    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
4700    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(@NonNull int[]);
4701    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
4702    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";
4703  }
4704
4705  public interface BluetoothProfile {
4706    method @NonNull public static String getConnectionStateName(int);
4707    method @NonNull public static String getProfileName(int);
4708    field public static final int A2DP_SINK = 11; // 0xb
4709    field public static final int AVRCP_CONTROLLER = 12; // 0xc
4710    field public static final int CONNECTION_POLICY_ALLOWED = 100; // 0x64
4711    field public static final int CONNECTION_POLICY_FORBIDDEN = 0; // 0x0
4712    field public static final int CONNECTION_POLICY_UNKNOWN = -1; // 0xffffffff
4713    field public static final int HEADSET_CLIENT = 16; // 0x10
4714    field public static final int HID_HOST = 4; // 0x4
4715    field public static final int LE_AUDIO_BROADCAST = 26; // 0x1a
4716    field public static final int LE_AUDIO_BROADCAST_ASSISTANT = 29; // 0x1d
4717    field public static final int MAP = 9; // 0x9
4718    field public static final int MAP_CLIENT = 18; // 0x12
4719    field public static final int OPP = 20; // 0x14
4720    field public static final int PAN = 5; // 0x5
4721    field public static final int PBAP = 6; // 0x6
4722    field public static final int PBAP_CLIENT = 17; // 0x11
4723    field @Deprecated public static final int PRIORITY_OFF = 0; // 0x0
4724    field @Deprecated public static final int PRIORITY_ON = 100; // 0x64
4725    field public static final int VOLUME_CONTROL = 23; // 0x17
4726  }
4727
4728  public final class BluetoothQualityReport implements android.os.Parcelable {
4729    method public int describeContents();
4730    method @Nullable public android.bluetooth.BluetoothClass getBluetoothClass();
4731    method @Nullable public android.bluetooth.BluetoothQualityReport.BqrCommon getBqrCommon();
4732    method @Nullable public android.os.Parcelable getBqrEvent();
4733    method public int getLmpSubVersion();
4734    method public int getLmpVersion();
4735    method public int getManufacturerId();
4736    method public int getQualityReportId();
4737    method @Nullable public String getRemoteAddress();
4738    method @Nullable public String getRemoteName();
4739    method @NonNull public static String qualityReportIdToString(int);
4740    method public void writeToParcel(@NonNull android.os.Parcel, int);
4741    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothQualityReport> CREATOR;
4742    field public static final int QUALITY_REPORT_ID_A2DP_CHOPPY = 3; // 0x3
4743    field public static final int QUALITY_REPORT_ID_APPROACH_LSTO = 2; // 0x2
4744    field public static final int QUALITY_REPORT_ID_CONN_FAIL = 8; // 0x8
4745    field public static final int QUALITY_REPORT_ID_MONITOR = 1; // 0x1
4746    field public static final int QUALITY_REPORT_ID_SCO_CHOPPY = 4; // 0x4
4747  }
4748
4749  public static final class BluetoothQualityReport.BqrCommon implements android.os.Parcelable {
4750    method @NonNull public static String connectionRoleToString(int);
4751    method public int describeContents();
4752    method public int getAfhSelectUnidealChannelCount();
4753    method public int getCalFailedItemCount();
4754    method public int getConnectionHandle();
4755    method public int getConnectionRole();
4756    method public long getFlowOffCount();
4757    method public long getLastFlowOnTimestamp();
4758    method public long getLastTxAckTimestamp();
4759    method public int getLsto();
4760    method public long getNakCount();
4761    method public long getNoRxCount();
4762    method public long getOverflowCount();
4763    method public int getPacketType();
4764    method public long getPiconetClock();
4765    method public long getRetransmissionCount();
4766    method public int getRssi();
4767    method public int getSnr();
4768    method public int getTxPowerLevel();
4769    method public long getUnderflowCount();
4770    method public int getUnusedAfhChannelCount();
4771    method @Nullable public static String packetTypeToString(int);
4772    method public void writeToParcel(@NonNull android.os.Parcel, int);
4773    field public static final int CONNECTION_ROLE_CENTRAL = 0; // 0x0
4774    field public static final int CONNECTION_ROLE_PERIPHERAL = 1; // 0x1
4775    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothQualityReport.BqrCommon> CREATOR;
4776  }
4777
4778  public static final class BluetoothQualityReport.BqrConnectFail implements android.os.Parcelable {
4779    method @NonNull public static String connectFailIdToString(int);
4780    method public int describeContents();
4781    method public int getFailReason();
4782    method public void writeToParcel(@NonNull android.os.Parcel, int);
4783    field public static final int CONNECT_FAIL_ID_ACL_ALREADY_EXIST = 11; // 0xb
4784    field public static final int CONNECT_FAIL_ID_CONNECTION_TIMEOUT = 8; // 0x8
4785    field public static final int CONNECT_FAIL_ID_CONTROLLER_BUSY = 58; // 0x3a
4786    field public static final int CONNECT_FAIL_ID_NO_ERROR = 0; // 0x0
4787    field public static final int CONNECT_FAIL_ID_PAGE_TIMEOUT = 4; // 0x4
4788    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothQualityReport.BqrConnectFail> CREATOR;
4789  }
4790
4791  public static final class BluetoothQualityReport.BqrVsA2dpChoppy implements android.os.Parcelable {
4792    method public int describeContents();
4793    method public int getAclTxQueueLength();
4794    method public long getArrivalTime();
4795    method public int getGlitchCount();
4796    method public int getLinkQuality();
4797    method public int getRxCxmDenials();
4798    method public long getScheduleTime();
4799    method public int getTxCxmDenials();
4800    method @Nullable public static String linkQualityToString(int);
4801    method public void writeToParcel(@NonNull android.os.Parcel, int);
4802    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothQualityReport.BqrVsA2dpChoppy> CREATOR;
4803  }
4804
4805  public static final class BluetoothQualityReport.BqrVsLsto implements android.os.Parcelable {
4806    method @Nullable public static String connStateToString(int);
4807    method public int describeContents();
4808    method public long getBasebandStats();
4809    method public int getConnState();
4810    method public int getCxmDenials();
4811    method public long getLastTxAckTimestamp();
4812    method public long getNativeClock();
4813    method public int getRfLoss();
4814    method public long getSlotsUsed();
4815    method public int getTxSkipped();
4816    method public void writeToParcel(@NonNull android.os.Parcel, int);
4817    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothQualityReport.BqrVsLsto> CREATOR;
4818  }
4819
4820  public static final class BluetoothQualityReport.BqrVsScoChoppy implements android.os.Parcelable {
4821    method @Nullable public static String airFormatToString(int);
4822    method public int describeContents();
4823    method public int getAirFormat();
4824    method public int getGlitchCount();
4825    method public int getGoodRxFrameCount();
4826    method public int getInstanceCount();
4827    method public int getIntervalEsco();
4828    method public int getLateDispatch();
4829    method public int getLpaIntrMiss();
4830    method public int getMicIntrMiss();
4831    method public int getMissedInstanceCount();
4832    method public int getPlcDiscardCount();
4833    method public int getPlcFillCount();
4834    method public int getRxCxmDenials();
4835    method public int getRxRetransmitSlotCount();
4836    method public int getSprIntrMiss();
4837    method public int getTxAbortCount();
4838    method public int getTxCxmDenials();
4839    method public int getTxRetransmitSlotCount();
4840    method public int getWindowEsco();
4841    method public void writeToParcel(@NonNull android.os.Parcel, int);
4842    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothQualityReport.BqrVsScoChoppy> CREATOR;
4843  }
4844
4845  public static final class BluetoothQualityReport.Builder {
4846    ctor public BluetoothQualityReport.Builder(@NonNull byte[]);
4847    method @NonNull public android.bluetooth.BluetoothQualityReport build();
4848    method @NonNull public android.bluetooth.BluetoothQualityReport.Builder setBluetoothClass(@Nullable android.bluetooth.BluetoothClass);
4849    method @NonNull public android.bluetooth.BluetoothQualityReport.Builder setLmpSubVersion(int);
4850    method @NonNull public android.bluetooth.BluetoothQualityReport.Builder setLmpVersion(int);
4851    method @NonNull public android.bluetooth.BluetoothQualityReport.Builder setManufacturerId(int);
4852    method @NonNull public android.bluetooth.BluetoothQualityReport.Builder setRemoteAddress(@Nullable String);
4853    method @NonNull public android.bluetooth.BluetoothQualityReport.Builder setRemoteName(@Nullable String);
4854  }
4855
4856  public final class BluetoothSap implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
4857    method public void close();
4858    method protected void finalize();
4859    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
4860    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
4861    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(android.bluetooth.BluetoothDevice);
4862    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]);
4863    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
4864    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.sap.profile.action.CONNECTION_STATE_CHANGED";
4865  }
4866
4867  public final class BluetoothSinkAudioPolicy implements android.os.Parcelable {
4868    method public int describeContents();
4869    method public int getActiveDevicePolicyAfterConnection();
4870    method public int getCallEstablishPolicy();
4871    method public int getInBandRingtonePolicy();
4872    method public void writeToParcel(@NonNull android.os.Parcel, int);
4873    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothSinkAudioPolicy> CREATOR;
4874    field public static final int POLICY_ALLOWED = 1; // 0x1
4875    field public static final int POLICY_NOT_ALLOWED = 2; // 0x2
4876    field public static final int POLICY_UNCONFIGURED = 0; // 0x0
4877  }
4878
4879  public static final class BluetoothSinkAudioPolicy.Builder {
4880    ctor public BluetoothSinkAudioPolicy.Builder();
4881    ctor public BluetoothSinkAudioPolicy.Builder(@NonNull android.bluetooth.BluetoothSinkAudioPolicy);
4882    method @NonNull public android.bluetooth.BluetoothSinkAudioPolicy build();
4883    method @NonNull public android.bluetooth.BluetoothSinkAudioPolicy.Builder setActiveDevicePolicyAfterConnection(int);
4884    method @NonNull public android.bluetooth.BluetoothSinkAudioPolicy.Builder setCallEstablishPolicy(int);
4885    method @NonNull public android.bluetooth.BluetoothSinkAudioPolicy.Builder setInBandRingtonePolicy(int);
4886  }
4887
4888  public final class BluetoothStatusCodes {
4889    field public static final int ALLOWED = 400; // 0x190
4890    field public static final int ERROR_ALREADY_IN_TARGET_STATE = 26; // 0x1a
4891    field public static final int ERROR_ANOTHER_ACTIVE_OOB_REQUEST = 1000; // 0x3e8
4892    field public static final int ERROR_ANOTHER_ACTIVE_REQUEST = 29; // 0x1d
4893    field public static final int ERROR_AUDIO_DEVICE_ALREADY_CONNECTED = 1116; // 0x45c
4894    field public static final int ERROR_AUDIO_DEVICE_ALREADY_DISCONNECTED = 1117; // 0x45d
4895    field public static final int ERROR_AUDIO_ROUTE_BLOCKED = 1118; // 0x45e
4896    field public static final int ERROR_BAD_PARAMETERS = 21; // 0x15
4897    field public static final int ERROR_CALLBACK_NOT_REGISTERED = 28; // 0x1c
4898    field public static final int ERROR_CALL_ACTIVE = 1119; // 0x45f
4899    field public static final int ERROR_CSIP_GROUP_LOCKED_BY_OTHER = 1208; // 0x4b8
4900    field public static final int ERROR_CSIP_INVALID_GROUP_ID = 1207; // 0x4b7
4901    field public static final int ERROR_CSIP_LOCKED_GROUP_MEMBER_LOST = 1209; // 0x4b9
4902    field public static final int ERROR_DISTANCE_MEASUREMENT_INTERNAL = 1301; // 0x515
4903    field public static final int ERROR_HAP_INVALID_PRESET_INDEX = 1211; // 0x4bb
4904    field public static final int ERROR_HAP_PRESET_NAME_TOO_LONG = 1210; // 0x4ba
4905    field public static final int ERROR_HARDWARE_GENERIC = 20; // 0x14
4906    field public static final int ERROR_LE_BROADCAST_ASSISTANT_DUPLICATE_ADDITION = 1203; // 0x4b3
4907    field public static final int ERROR_LE_BROADCAST_ASSISTANT_INVALID_SOURCE_ID = 1202; // 0x4b2
4908    field public static final int ERROR_LE_BROADCAST_INVALID_BROADCAST_ID = 1200; // 0x4b0
4909    field public static final int ERROR_LE_BROADCAST_INVALID_CODE = 1201; // 0x4b1
4910    field public static final int ERROR_LE_CONTENT_METADATA_INVALID_LANGUAGE = 1205; // 0x4b5
4911    field public static final int ERROR_LE_CONTENT_METADATA_INVALID_OTHER = 1206; // 0x4b6
4912    field public static final int ERROR_LE_CONTENT_METADATA_INVALID_PROGRAM_INFO = 1204; // 0x4b4
4913    field public static final int ERROR_LOCAL_NOT_ENOUGH_RESOURCES = 22; // 0x16
4914    field public static final int ERROR_NOT_ACTIVE_DEVICE = 12; // 0xc
4915    field public static final int ERROR_NOT_DUAL_MODE_AUDIO_DEVICE = 3000; // 0xbb8
4916    field public static final int ERROR_NO_ACTIVE_DEVICES = 13; // 0xd
4917    field public static final int ERROR_NO_LE_CONNECTION = 1300; // 0x514
4918    field public static final int ERROR_PROFILE_NOT_CONNECTED = 14; // 0xe
4919    field public static final int ERROR_REMOTE_LINK_ERROR = 25; // 0x19
4920    field public static final int ERROR_REMOTE_NOT_ENOUGH_RESOURCES = 23; // 0x17
4921    field public static final int ERROR_REMOTE_OPERATION_NOT_SUPPORTED = 27; // 0x1b
4922    field public static final int ERROR_REMOTE_OPERATION_REJECTED = 24; // 0x18
4923    field public static final int ERROR_TIMEOUT = 15; // 0xf
4924    field public static final int NOT_ALLOWED = 401; // 0x191
4925    field public static final int REASON_LOCAL_APP_REQUEST = 16; // 0x10
4926    field public static final int REASON_LOCAL_STACK_REQUEST = 17; // 0x11
4927    field public static final int REASON_REMOTE_REQUEST = 18; // 0x12
4928    field public static final int REASON_SYSTEM_POLICY = 19; // 0x13
4929    field public static final int RFCOMM_LISTENER_FAILED_TO_CLOSE_SERVER_SOCKET = 2004; // 0x7d4
4930    field public static final int RFCOMM_LISTENER_FAILED_TO_CREATE_SERVER_SOCKET = 2003; // 0x7d3
4931    field public static final int RFCOMM_LISTENER_NO_SOCKET_AVAILABLE = 2005; // 0x7d5
4932    field public static final int RFCOMM_LISTENER_OPERATION_FAILED_DIFFERENT_APP = 2002; // 0x7d2
4933    field public static final int RFCOMM_LISTENER_OPERATION_FAILED_NO_MATCHING_SERVICE_RECORD = 2001; // 0x7d1
4934    field public static final int RFCOMM_LISTENER_START_FAILED_UUID_IN_USE = 2000; // 0x7d0
4935  }
4936
4937  public final class BluetoothUuid {
4938    method public static boolean containsAnyUuid(@Nullable android.os.ParcelUuid[], @Nullable android.os.ParcelUuid[]);
4939    method @NonNull public static android.os.ParcelUuid parseUuidFrom(@Nullable byte[]);
4940    field @NonNull public static final android.os.ParcelUuid A2DP_SINK;
4941    field @NonNull public static final android.os.ParcelUuid A2DP_SOURCE;
4942    field @NonNull public static final android.os.ParcelUuid ADV_AUDIO_DIST;
4943    field @NonNull public static final android.os.ParcelUuid AVRCP;
4944    field @NonNull public static final android.os.ParcelUuid AVRCP_CONTROLLER;
4945    field @NonNull public static final android.os.ParcelUuid AVRCP_TARGET;
4946    field @NonNull public static final android.os.ParcelUuid BASE_UUID;
4947    field @NonNull public static final android.os.ParcelUuid BASS;
4948    field @NonNull public static final android.os.ParcelUuid BNEP;
4949    field @NonNull public static final android.os.ParcelUuid CAP;
4950    field @NonNull public static final android.os.ParcelUuid COORDINATED_SET;
4951    field @NonNull public static final android.os.ParcelUuid DIP;
4952    field @NonNull public static final android.os.ParcelUuid GENERIC_MEDIA_CONTROL;
4953    field @NonNull public static final android.os.ParcelUuid HAS;
4954    field @NonNull public static final android.os.ParcelUuid HEARING_AID;
4955    field @NonNull public static final android.os.ParcelUuid HFP;
4956    field @NonNull public static final android.os.ParcelUuid HFP_AG;
4957    field @NonNull public static final android.os.ParcelUuid HID;
4958    field @NonNull public static final android.os.ParcelUuid HOGP;
4959    field @NonNull public static final android.os.ParcelUuid HSP;
4960    field @NonNull public static final android.os.ParcelUuid HSP_AG;
4961    field @NonNull public static final android.os.ParcelUuid LE_AUDIO;
4962    field @NonNull public static final android.os.ParcelUuid MAP;
4963    field @NonNull public static final android.os.ParcelUuid MAS;
4964    field @NonNull public static final android.os.ParcelUuid MEDIA_CONTROL;
4965    field @NonNull public static final android.os.ParcelUuid MFI_HAS;
4966    field @NonNull public static final android.os.ParcelUuid MNS;
4967    field @NonNull public static final android.os.ParcelUuid NAP;
4968    field @NonNull public static final android.os.ParcelUuid OBEX_OBJECT_PUSH;
4969    field @NonNull public static final android.os.ParcelUuid PANU;
4970    field @NonNull public static final android.os.ParcelUuid PBAP_PCE;
4971    field @NonNull public static final android.os.ParcelUuid PBAP_PSE;
4972    field @NonNull public static final android.os.ParcelUuid SAP;
4973    field public static final int UUID_BYTES_128_BIT = 16; // 0x10
4974    field public static final int UUID_BYTES_16_BIT = 2; // 0x2
4975    field public static final int UUID_BYTES_32_BIT = 4; // 0x4
4976    field @NonNull public static final android.os.ParcelUuid VOLUME_CONTROL;
4977  }
4978
4979  public final class BluetoothVolumeControl implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
4980    method public void close();
4981    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) protected void finalize();
4982    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
4983    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
4984    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(android.bluetooth.BluetoothDevice);
4985    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]);
4986    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getNumberOfVolumeOffsetInstances(@NonNull android.bluetooth.BluetoothDevice);
4987    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isVolumeOffsetAvailable(@NonNull android.bluetooth.BluetoothDevice);
4988    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);
4989    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
4990    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);
4991    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);
4992    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);
4993    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void unregisterCallback(@NonNull android.bluetooth.BluetoothVolumeControl.Callback);
4994    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.volume-control.profile.action.CONNECTION_STATE_CHANGED";
4995  }
4996
4997  public static interface BluetoothVolumeControl.Callback {
4998    method public default void onDeviceVolumeChanged(@NonNull android.bluetooth.BluetoothDevice, @IntRange(from=0, to=255) int);
4999    method public default void onVolumeOffsetAudioDescriptionChanged(@NonNull android.bluetooth.BluetoothDevice, @IntRange(from=1, to=255) int, @NonNull String);
5000    method public default void onVolumeOffsetAudioLocationChanged(@NonNull android.bluetooth.BluetoothDevice, @IntRange(from=1, to=255) int, @IntRange(from=0xffffff01, to=255) int);
5001    method @Deprecated public default void onVolumeOffsetChanged(@NonNull android.bluetooth.BluetoothDevice, @IntRange(from=0xffffff01, to=255) int);
5002    method public default void onVolumeOffsetChanged(@NonNull android.bluetooth.BluetoothDevice, @IntRange(from=1, to=255) int, @IntRange(from=0xffffff01, to=255) int);
5003  }
5004
5005  public final class BufferConstraint implements android.os.Parcelable {
5006    ctor public BufferConstraint(int, int, int);
5007    method public int describeContents();
5008    method public int getDefaultMillis();
5009    method public int getMaxMillis();
5010    method public int getMinMillis();
5011    method public void writeToParcel(@NonNull android.os.Parcel, int);
5012    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BufferConstraint> CREATOR;
5013  }
5014
5015  public final class BufferConstraints implements android.os.Parcelable {
5016    ctor public BufferConstraints(@NonNull java.util.List<android.bluetooth.BufferConstraint>);
5017    method public int describeContents();
5018    method @Nullable public android.bluetooth.BufferConstraint forCodec(int);
5019    method public void writeToParcel(@NonNull android.os.Parcel, int);
5020    field public static final int BUFFER_CODEC_MAX_NUM = 32; // 0x20
5021    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BufferConstraints> CREATOR;
5022  }
5023
5024  public final class OobData implements android.os.Parcelable {
5025    method public int describeContents();
5026    method @NonNull public byte[] getClassOfDevice();
5027    method @NonNull public byte[] getClassicLength();
5028    method @NonNull public byte[] getConfirmationHash();
5029    method @NonNull public byte[] getDeviceAddressWithType();
5030    method @Nullable public byte[] getDeviceName();
5031    method @Nullable public byte[] getLeAppearance();
5032    method public int getLeDeviceRole();
5033    method public int getLeFlags();
5034    method @Nullable public byte[] getLeTemporaryKey();
5035    method @NonNull public byte[] getRandomizerHash();
5036    method public void writeToParcel(@NonNull android.os.Parcel, int);
5037    field public static final int CLASS_OF_DEVICE_OCTETS = 3; // 0x3
5038    field public static final int CONFIRMATION_OCTETS = 16; // 0x10
5039    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.OobData> CREATOR;
5040    field public static final int DEVICE_ADDRESS_OCTETS = 7; // 0x7
5041    field public static final int LE_APPEARANCE_OCTETS = 2; // 0x2
5042    field public static final int LE_DEVICE_FLAG_OCTETS = 1; // 0x1
5043    field public static final int LE_DEVICE_ROLE_BOTH_PREFER_CENTRAL = 3; // 0x3
5044    field public static final int LE_DEVICE_ROLE_BOTH_PREFER_PERIPHERAL = 2; // 0x2
5045    field public static final int LE_DEVICE_ROLE_CENTRAL_ONLY = 1; // 0x1
5046    field public static final int LE_DEVICE_ROLE_OCTETS = 1; // 0x1
5047    field public static final int LE_DEVICE_ROLE_PERIPHERAL_ONLY = 0; // 0x0
5048    field public static final int LE_FLAG_BREDR_NOT_SUPPORTED = 2; // 0x2
5049    field public static final int LE_FLAG_GENERAL_DISCOVERY_MODE = 1; // 0x1
5050    field public static final int LE_FLAG_LIMITED_DISCOVERY_MODE = 0; // 0x0
5051    field public static final int LE_FLAG_SIMULTANEOUS_CONTROLLER = 3; // 0x3
5052    field public static final int LE_FLAG_SIMULTANEOUS_HOST = 4; // 0x4
5053    field public static final int LE_TK_OCTETS = 16; // 0x10
5054    field public static final int OOB_LENGTH_OCTETS = 2; // 0x2
5055    field public static final int RANDOMIZER_OCTETS = 16; // 0x10
5056  }
5057
5058  public static final class OobData.ClassicBuilder {
5059    ctor public OobData.ClassicBuilder(@NonNull byte[], @NonNull byte[], @NonNull byte[]);
5060    method @NonNull public android.bluetooth.OobData build();
5061    method @NonNull public android.bluetooth.OobData.ClassicBuilder setClassOfDevice(@NonNull byte[]);
5062    method @NonNull public android.bluetooth.OobData.ClassicBuilder setDeviceName(@NonNull byte[]);
5063    method @NonNull public android.bluetooth.OobData.ClassicBuilder setRandomizerHash(@NonNull byte[]);
5064  }
5065
5066  public static final class OobData.LeBuilder {
5067    ctor public OobData.LeBuilder(@NonNull byte[], @NonNull byte[], int);
5068    method @NonNull public android.bluetooth.OobData build();
5069    method @NonNull public android.bluetooth.OobData.LeBuilder setDeviceName(@NonNull byte[]);
5070    method @NonNull public android.bluetooth.OobData.LeBuilder setLeFlags(int);
5071    method @NonNull public android.bluetooth.OobData.LeBuilder setLeTemporaryKey(@NonNull byte[]);
5072    method @NonNull public android.bluetooth.OobData.LeBuilder setRandomizerHash(@NonNull byte[]);
5073  }
5074
5075  public final class UidTraffic implements java.lang.Cloneable android.os.Parcelable {
5076    method public android.bluetooth.UidTraffic clone();
5077    method public int describeContents();
5078    method public long getRxBytes();
5079    method public long getTxBytes();
5080    method public int getUid();
5081    method public void writeToParcel(android.os.Parcel, int);
5082    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.UidTraffic> CREATOR;
5083  }
5084
5085}
5086
5087package android.bluetooth.le {
5088
5089  public final class AdvertiseSettings implements android.os.Parcelable {
5090    method public int getOwnAddressType();
5091  }
5092
5093  public static final class AdvertiseSettings.Builder {
5094    method @NonNull public android.bluetooth.le.AdvertiseSettings.Builder setOwnAddressType(int);
5095  }
5096
5097  public final class AdvertisingSet {
5098    method public int getAdvertiserId();
5099  }
5100
5101  public final class AdvertisingSetParameters implements android.os.Parcelable {
5102    method public int getOwnAddressType();
5103    field public static final int ADDRESS_TYPE_DEFAULT = -1; // 0xffffffff
5104    field public static final int ADDRESS_TYPE_PUBLIC = 0; // 0x0
5105    field public static final int ADDRESS_TYPE_RANDOM = 1; // 0x1
5106    field public static final int ADDRESS_TYPE_RANDOM_NON_RESOLVABLE = 2; // 0x2
5107  }
5108
5109  public static final class AdvertisingSetParameters.Builder {
5110    method @NonNull public android.bluetooth.le.AdvertisingSetParameters.Builder setOwnAddressType(int);
5111  }
5112
5113  public final class BluetoothLeAdvertiser {
5114    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_ADVERTISE, android.Manifest.permission.BLUETOOTH_PRIVILEGED}, conditional=true) 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);
5115  }
5116
5117  public final class BluetoothLeScanner {
5118    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.UPDATE_DEVICE_STATS}) public void startScanFromSource(android.os.WorkSource, android.bluetooth.le.ScanCallback);
5119    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);
5120    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);
5121  }
5122
5123  public final class ChannelSoundingParams implements android.os.Parcelable {
5124    method public int describeContents();
5125    method public int getCsSecurityLevel();
5126    method public int getLocationType();
5127    method public int getSightType();
5128    method public void writeToParcel(@NonNull android.os.Parcel, int);
5129    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.ChannelSoundingParams> CREATOR;
5130    field public static final int CS_SECURITY_LEVEL_FOUR = 4; // 0x4
5131    field public static final int CS_SECURITY_LEVEL_ONE = 1; // 0x1
5132    field public static final int CS_SECURITY_LEVEL_THREE = 3; // 0x3
5133    field public static final int CS_SECURITY_LEVEL_TWO = 2; // 0x2
5134    field public static final int CS_SECURITY_LEVEL_UNKNOWN = 0; // 0x0
5135    field public static final int LOCATION_TYPE_INDOOR = 1; // 0x1
5136    field public static final int LOCATION_TYPE_OUTDOOR = 2; // 0x2
5137    field public static final int LOCATION_TYPE_UNKNOWN = 0; // 0x0
5138    field public static final int SIGHT_TYPE_LINE_OF_SIGHT = 1; // 0x1
5139    field public static final int SIGHT_TYPE_NON_LINE_OF_SIGHT = 2; // 0x2
5140    field public static final int SIGHT_TYPE_UNKNOWN = 0; // 0x0
5141  }
5142
5143  public static final class ChannelSoundingParams.Builder {
5144    ctor public ChannelSoundingParams.Builder();
5145    method @NonNull public android.bluetooth.le.ChannelSoundingParams build();
5146    method @NonNull public android.bluetooth.le.ChannelSoundingParams.Builder setCsSecurityLevel(int);
5147    method @NonNull public android.bluetooth.le.ChannelSoundingParams.Builder setLocationType(int);
5148    method @NonNull public android.bluetooth.le.ChannelSoundingParams.Builder setSightType(int);
5149  }
5150
5151  public final class DistanceMeasurementManager {
5152    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getChannelSoundingMaxSupportedSecurityLevel(@NonNull android.bluetooth.BluetoothDevice);
5153    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getLocalChannelSoundingMaxSupportedSecurityLevel();
5154    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.le.DistanceMeasurementMethod> getSupportedMethods();
5155    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);
5156  }
5157
5158  public final class DistanceMeasurementMethod implements android.os.Parcelable {
5159    method public int describeContents();
5160    method public double getId();
5161    method public boolean isAltitudeAngleSupported();
5162    method public boolean isAzimuthAngleSupported();
5163    method public void writeToParcel(android.os.Parcel, int);
5164    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.DistanceMeasurementMethod> CREATOR;
5165    field public static final int DISTANCE_MEASUREMENT_METHOD_AUTO = 0; // 0x0
5166    field public static final int DISTANCE_MEASUREMENT_METHOD_CHANNEL_SOUNDING = 2; // 0x2
5167    field public static final int DISTANCE_MEASUREMENT_METHOD_RSSI = 1; // 0x1
5168  }
5169
5170  public static final class DistanceMeasurementMethod.Builder {
5171    ctor public DistanceMeasurementMethod.Builder(int);
5172    method @NonNull public android.bluetooth.le.DistanceMeasurementMethod build();
5173    method @NonNull public android.bluetooth.le.DistanceMeasurementMethod.Builder setAltitudeAngleSupported(boolean);
5174    method @NonNull public android.bluetooth.le.DistanceMeasurementMethod.Builder setAzimuthAngleSupported(boolean);
5175  }
5176
5177  public final class DistanceMeasurementParams implements android.os.Parcelable {
5178    method public int describeContents();
5179    method @Nullable public android.bluetooth.le.ChannelSoundingParams getChannelSoundingParams();
5180    method public static int getDefaultDurationSeconds();
5181    method @NonNull public android.bluetooth.BluetoothDevice getDevice();
5182    method @IntRange(from=0) public int getDurationSeconds();
5183    method public int getFrequency();
5184    method public static int getMaxDurationSeconds();
5185    method public int getMethodId();
5186    method public void writeToParcel(android.os.Parcel, int);
5187    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.DistanceMeasurementParams> CREATOR;
5188    field public static final int REPORT_FREQUENCY_HIGH = 2; // 0x2
5189    field public static final int REPORT_FREQUENCY_LOW = 0; // 0x0
5190    field public static final int REPORT_FREQUENCY_MEDIUM = 1; // 0x1
5191  }
5192
5193  public static final class DistanceMeasurementParams.Builder {
5194    ctor public DistanceMeasurementParams.Builder(@NonNull android.bluetooth.BluetoothDevice);
5195    method @NonNull public android.bluetooth.le.DistanceMeasurementParams build();
5196    method @NonNull public android.bluetooth.le.DistanceMeasurementParams.Builder setChannelSoundingParams(@NonNull android.bluetooth.le.ChannelSoundingParams);
5197    method @NonNull public android.bluetooth.le.DistanceMeasurementParams.Builder setDurationSeconds(@IntRange(from=0) int);
5198    method @NonNull public android.bluetooth.le.DistanceMeasurementParams.Builder setFrequency(int);
5199    method @NonNull public android.bluetooth.le.DistanceMeasurementParams.Builder setMethodId(int);
5200  }
5201
5202  public final class DistanceMeasurementResult implements android.os.Parcelable {
5203    method public int describeContents();
5204    method @FloatRange(from=-90.0, to=90.0) public double getAltitudeAngle();
5205    method @FloatRange(from=0.0, to=360.0) public double getAzimuthAngle();
5206    method @FloatRange(from=0.0, to=1.0) public double getConfidenceLevel();
5207    method public double getDelaySpreadMeters();
5208    method public int getDetectedAttackLevel();
5209    method public double getErrorAltitudeAngle();
5210    method public double getErrorAzimuthAngle();
5211    method @FloatRange(from=0.0) public double getErrorMeters();
5212    method public double getResultMeters();
5213    method public double getVelocityMetersPerSecond();
5214    method public void writeToParcel(android.os.Parcel, int);
5215    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.DistanceMeasurementResult> CREATOR;
5216    field public static final int NADM_ATTACK_IS_EXTREMELY_LIKELY = 6; // 0x6
5217    field public static final int NADM_ATTACK_IS_EXTREMELY_UNLIKELY = 0; // 0x0
5218    field public static final int NADM_ATTACK_IS_LIKELY = 4; // 0x4
5219    field public static final int NADM_ATTACK_IS_POSSIBLE = 3; // 0x3
5220    field public static final int NADM_ATTACK_IS_UNLIKELY = 2; // 0x2
5221    field public static final int NADM_ATTACK_IS_VERY_LIKELY = 5; // 0x5
5222    field public static final int NADM_ATTACK_IS_VERY_UNLIKELY = 1; // 0x1
5223    field public static final int NADM_UNKNOWN = 255; // 0xff
5224  }
5225
5226  public static final class DistanceMeasurementResult.Builder {
5227    ctor public DistanceMeasurementResult.Builder(@FloatRange(from=0.0) double, @FloatRange(from=0.0) double);
5228    method @NonNull public android.bluetooth.le.DistanceMeasurementResult build();
5229    method @NonNull public android.bluetooth.le.DistanceMeasurementResult.Builder setAltitudeAngle(@FloatRange(from=-90.0, to=90.0) double);
5230    method @NonNull public android.bluetooth.le.DistanceMeasurementResult.Builder setAzimuthAngle(@FloatRange(from=0.0, to=360.0) double);
5231    method @NonNull public android.bluetooth.le.DistanceMeasurementResult.Builder setConfidenceLevel(@FloatRange(from=0.0, to=1.0) double);
5232    method @NonNull public android.bluetooth.le.DistanceMeasurementResult.Builder setDelaySpreadMeters(double);
5233    method @NonNull public android.bluetooth.le.DistanceMeasurementResult.Builder setDetectedAttackLevel(int);
5234    method @NonNull public android.bluetooth.le.DistanceMeasurementResult.Builder setErrorAltitudeAngle(@FloatRange(from=0.0, to=180.0) double);
5235    method @NonNull public android.bluetooth.le.DistanceMeasurementResult.Builder setErrorAzimuthAngle(@FloatRange(from=0.0, to=360.0) double);
5236    method @NonNull public android.bluetooth.le.DistanceMeasurementResult.Builder setVelocityMetersPerSecond(double);
5237  }
5238
5239  public final class DistanceMeasurementSession {
5240    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int stopSession();
5241  }
5242
5243  public static interface DistanceMeasurementSession.Callback {
5244    method public void onResult(@NonNull android.bluetooth.BluetoothDevice, @NonNull android.bluetooth.le.DistanceMeasurementResult);
5245    method public void onStartFail(int);
5246    method public void onStarted(@NonNull android.bluetooth.le.DistanceMeasurementSession);
5247    method public void onStopped(@NonNull android.bluetooth.le.DistanceMeasurementSession, int);
5248  }
5249
5250  @Deprecated public final class ResultStorageDescriptor implements android.os.Parcelable {
5251    ctor @Deprecated public ResultStorageDescriptor(int, int, int);
5252    method @Deprecated public int describeContents();
5253    method @Deprecated public int getLength();
5254    method @Deprecated public int getOffset();
5255    method @Deprecated public int getType();
5256    method @Deprecated public void writeToParcel(android.os.Parcel, int);
5257    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.ResultStorageDescriptor> CREATOR;
5258  }
5259
5260  public final class ScanFilter implements android.os.Parcelable {
5261    method public int getAddressType();
5262    method @Nullable public byte[] getIrk();
5263    method @Nullable public android.bluetooth.le.TransportBlockFilter getTransportBlockFilter();
5264  }
5265
5266  public static final class ScanFilter.Builder {
5267    method @NonNull public android.bluetooth.le.ScanFilter.Builder setDeviceAddress(@NonNull String, int);
5268    method @NonNull public android.bluetooth.le.ScanFilter.Builder setDeviceAddress(@NonNull String, int, @NonNull byte[]);
5269    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.le.ScanFilter.Builder setTransportBlockFilter(@NonNull android.bluetooth.le.TransportBlockFilter);
5270    field public static final int LEN_IRK_OCTETS = 16; // 0x10
5271  }
5272
5273  public final class ScanRecord {
5274    method @Nullable public android.bluetooth.le.TransportDiscoveryData getTransportDiscoveryData();
5275  }
5276
5277  public final class ScanSettings implements android.os.Parcelable {
5278    field public static final int SCAN_MODE_AMBIENT_DISCOVERY = 3; // 0x3
5279    field public static final int SCAN_RESULT_TYPE_ABBREVIATED = 1; // 0x1
5280    field public static final int SCAN_RESULT_TYPE_FULL = 0; // 0x0
5281  }
5282
5283  public static final class ScanSettings.Builder {
5284    method public android.bluetooth.le.ScanSettings.Builder setScanResultType(int);
5285  }
5286
5287  public final class TransportBlockFilter implements android.os.Parcelable {
5288    method public int describeContents();
5289    method public int getOrgId();
5290    method public int getTdsFlags();
5291    method public int getTdsFlagsMask();
5292    method @Nullable public byte[] getTransportData();
5293    method @Nullable public byte[] getTransportDataMask();
5294    method @Nullable public byte[] getWifiNanHash();
5295    method public void writeToParcel(@NonNull android.os.Parcel, int);
5296    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.TransportBlockFilter> CREATOR;
5297    field public static final int WIFI_NAN_HASH_LENGTH_BYTES = 8; // 0x8
5298  }
5299
5300  public static final class TransportBlockFilter.Builder {
5301    ctor public TransportBlockFilter.Builder(int);
5302    method @NonNull public android.bluetooth.le.TransportBlockFilter build();
5303    method @NonNull public android.bluetooth.le.TransportBlockFilter.Builder setTdsFlags(int, int);
5304    method @NonNull public android.bluetooth.le.TransportBlockFilter.Builder setTransportData(@NonNull byte[], @NonNull byte[]);
5305    method @NonNull public android.bluetooth.le.TransportBlockFilter.Builder setWifiNanHash(@NonNull byte[]);
5306  }
5307
5308  @Deprecated public final class TruncatedFilter {
5309    ctor @Deprecated public TruncatedFilter(android.bluetooth.le.ScanFilter, java.util.List<android.bluetooth.le.ResultStorageDescriptor>);
5310    method @Deprecated public android.bluetooth.le.ScanFilter getFilter();
5311    method @Deprecated public java.util.List<android.bluetooth.le.ResultStorageDescriptor> getStorageDescriptors();
5312  }
5313
5314}
5315
5316package android.companion {
5317
5318  public final class AssociationInfo implements android.os.Parcelable {
5319    method @NonNull public String getPackageName();
5320  }
5321
5322  public final class CompanionDeviceManager {
5323    method @RequiresPermission("android.permission.MANAGE_COMPANION_DEVICES") public void addOnAssociationsChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.companion.CompanionDeviceManager.OnAssociationsChangedListener);
5324    method @RequiresPermission(android.Manifest.permission.ASSOCIATE_COMPANION_DEVICES) public void associate(@NonNull String, @NonNull android.net.MacAddress, @NonNull byte[]);
5325    method @RequiresPermission("android.permission.MANAGE_COMPANION_DEVICES") public boolean canPairWithoutPrompt(@NonNull String, @NonNull String, @NonNull android.os.UserHandle);
5326    method @NonNull @RequiresPermission("android.permission.MANAGE_COMPANION_DEVICES") public java.util.List<android.companion.AssociationInfo> getAllAssociations();
5327    method @RequiresPermission("android.permission.MANAGE_COMPANION_DEVICES") public boolean isDeviceAssociatedForWifiConnection(@NonNull String, @NonNull android.net.MacAddress, @NonNull android.os.UserHandle);
5328    method @RequiresPermission(android.Manifest.permission.REQUEST_COMPANION_SELF_MANAGED) public void notifyDeviceAppeared(int);
5329    method @RequiresPermission(android.Manifest.permission.REQUEST_COMPANION_SELF_MANAGED) public void notifyDeviceDisappeared(int);
5330    method @RequiresPermission("android.permission.MANAGE_COMPANION_DEVICES") public void removeOnAssociationsChangedListener(@NonNull android.companion.CompanionDeviceManager.OnAssociationsChangedListener);
5331  }
5332
5333  public static interface CompanionDeviceManager.OnAssociationsChangedListener {
5334    method public void onAssociationsChanged(@NonNull java.util.List<android.companion.AssociationInfo>);
5335  }
5336
5337}
5338
5339package android.companion.virtual {
5340
5341  @FlaggedApi("android.companion.virtualdevice.flags.activity_control_api") public final class ActivityPolicyExemption implements android.os.Parcelable {
5342    method public int describeContents();
5343    method @Nullable public android.content.ComponentName getComponentName();
5344    method public int getDisplayId();
5345    method @Nullable public String getPackageName();
5346    method public void writeToParcel(@NonNull android.os.Parcel, int);
5347    field @NonNull public static final android.os.Parcelable.Creator<android.companion.virtual.ActivityPolicyExemption> CREATOR;
5348  }
5349
5350  @FlaggedApi("android.companion.virtualdevice.flags.activity_control_api") public static final class ActivityPolicyExemption.Builder {
5351    ctor public ActivityPolicyExemption.Builder();
5352    method @NonNull public android.companion.virtual.ActivityPolicyExemption build();
5353    method @NonNull public android.companion.virtual.ActivityPolicyExemption.Builder setComponentName(@NonNull android.content.ComponentName);
5354    method @NonNull public android.companion.virtual.ActivityPolicyExemption.Builder setDisplayId(int);
5355    method @NonNull public android.companion.virtual.ActivityPolicyExemption.Builder setPackageName(@NonNull String);
5356  }
5357
5358  public final class VirtualDevice implements android.os.Parcelable {
5359    method @FlaggedApi("android.companion.virtual.flags.vdm_public_apis") public boolean hasCustomAudioInputSupport();
5360    method @FlaggedApi("android.companion.virtual.flags.vdm_public_apis") public boolean hasCustomCameraSupport();
5361  }
5362
5363  public final class VirtualDeviceManager {
5364    method @NonNull @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public android.companion.virtual.VirtualDeviceManager.VirtualDevice createVirtualDevice(int, @NonNull android.companion.virtual.VirtualDeviceParams);
5365    method @FlaggedApi("android.companion.virtual.flags.persistent_device_id_api") @NonNull public java.util.Set<java.lang.String> getAllPersistentDeviceIds();
5366    method @FlaggedApi("android.companion.virtual.flags.persistent_device_id_api") @Nullable public CharSequence getDisplayNameForPersistentDeviceId(@NonNull String);
5367    field public static final int LAUNCH_FAILURE_NO_ACTIVITY = 2; // 0x2
5368    field public static final int LAUNCH_FAILURE_PENDING_INTENT_CANCELED = 1; // 0x1
5369    field public static final int LAUNCH_SUCCESS = 0; // 0x0
5370    field @FlaggedApi("android.companion.virtual.flags.persistent_device_id_api") public static final String PERSISTENT_DEVICE_ID_DEFAULT = "default:0";
5371  }
5372
5373  public static interface VirtualDeviceManager.ActivityListener {
5374    method @FlaggedApi("android.companion.virtualdevice.flags.activity_control_api") public default void onActivityLaunchBlocked(int, @NonNull android.content.ComponentName, @NonNull android.os.UserHandle, @Nullable android.content.IntentSender);
5375    method public void onDisplayEmpty(int);
5376    method @FlaggedApi("android.companion.virtualdevice.flags.activity_control_api") public default void onSecureWindowHidden(int);
5377    method @FlaggedApi("android.companion.virtualdevice.flags.activity_control_api") public default void onSecureWindowShown(int, @NonNull android.content.ComponentName, @NonNull android.os.UserHandle);
5378    method @Deprecated public void onTopActivityChanged(int, @NonNull android.content.ComponentName);
5379    method public default void onTopActivityChanged(int, @NonNull android.content.ComponentName, int);
5380  }
5381
5382  public static interface VirtualDeviceManager.IntentInterceptorCallback {
5383    method public void onIntentIntercepted(@NonNull android.content.Intent);
5384  }
5385
5386  public static interface VirtualDeviceManager.SoundEffectListener {
5387    method public void onPlaySoundEffect(int);
5388  }
5389
5390  public static class VirtualDeviceManager.VirtualDevice implements java.lang.AutoCloseable {
5391    method public void addActivityListener(@NonNull java.util.concurrent.Executor, @NonNull android.companion.virtual.VirtualDeviceManager.ActivityListener);
5392    method @FlaggedApi("android.companion.virtualdevice.flags.activity_control_api") public void addActivityPolicyExemption(@NonNull android.companion.virtual.ActivityPolicyExemption);
5393    method @FlaggedApi("android.companion.virtual.flags.dynamic_policy") public void addActivityPolicyExemption(@NonNull android.content.ComponentName);
5394    method public void addSoundEffectListener(@NonNull java.util.concurrent.Executor, @NonNull android.companion.virtual.VirtualDeviceManager.SoundEffectListener);
5395    method public void close();
5396    method @NonNull public android.content.Context createContext();
5397    method @NonNull public android.companion.virtual.audio.VirtualAudioDevice createVirtualAudioDevice(@NonNull android.hardware.display.VirtualDisplay, @Nullable java.util.concurrent.Executor, @Nullable android.companion.virtual.audio.VirtualAudioDevice.AudioConfigurationChangeCallback);
5398    method @FlaggedApi("android.companion.virtual.flags.virtual_camera") @NonNull public android.companion.virtual.camera.VirtualCamera createVirtualCamera(@NonNull android.companion.virtual.camera.VirtualCameraConfig);
5399    method @Nullable public android.hardware.display.VirtualDisplay createVirtualDisplay(@NonNull android.hardware.display.VirtualDisplayConfig, @Nullable java.util.concurrent.Executor, @Nullable android.hardware.display.VirtualDisplay.Callback);
5400    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);
5401    method @NonNull public android.hardware.input.VirtualDpad createVirtualDpad(@NonNull android.hardware.input.VirtualDpadConfig);
5402    method @Deprecated @NonNull public android.hardware.input.VirtualKeyboard createVirtualKeyboard(@NonNull android.hardware.display.VirtualDisplay, @NonNull String, int, int);
5403    method @NonNull public android.hardware.input.VirtualKeyboard createVirtualKeyboard(@NonNull android.hardware.input.VirtualKeyboardConfig);
5404    method @Deprecated @NonNull public android.hardware.input.VirtualMouse createVirtualMouse(@NonNull android.hardware.display.VirtualDisplay, @NonNull String, int, int);
5405    method @NonNull public android.hardware.input.VirtualMouse createVirtualMouse(@NonNull android.hardware.input.VirtualMouseConfig);
5406    method @NonNull public android.hardware.input.VirtualNavigationTouchpad createVirtualNavigationTouchpad(@NonNull android.hardware.input.VirtualNavigationTouchpadConfig);
5407    method @FlaggedApi("android.companion.virtualdevice.flags.virtual_rotary") @NonNull public android.hardware.input.VirtualRotaryEncoder createVirtualRotaryEncoder(@NonNull android.hardware.input.VirtualRotaryEncoderConfig);
5408    method @FlaggedApi("android.companion.virtual.flags.virtual_stylus") @NonNull public android.hardware.input.VirtualStylus createVirtualStylus(@NonNull android.hardware.input.VirtualStylusConfig);
5409    method @Deprecated @NonNull public android.hardware.input.VirtualTouchscreen createVirtualTouchscreen(@NonNull android.hardware.display.VirtualDisplay, @NonNull String, int, int);
5410    method @NonNull public android.hardware.input.VirtualTouchscreen createVirtualTouchscreen(@NonNull android.hardware.input.VirtualTouchscreenConfig);
5411    method public int getDeviceId();
5412    method @FlaggedApi("android.companion.virtual.flags.vdm_public_apis") @Nullable public String getPersistentDeviceId();
5413    method @NonNull public java.util.List<android.companion.virtual.sensor.VirtualSensor> getVirtualSensorList();
5414    method @FlaggedApi("android.companion.virtualdevice.flags.device_aware_display_power") public void goToSleep();
5415    method public void launchPendingIntent(int, @NonNull android.app.PendingIntent, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.IntConsumer);
5416    method public void registerIntentInterceptor(@NonNull android.content.IntentFilter, @NonNull java.util.concurrent.Executor, @NonNull android.companion.virtual.VirtualDeviceManager.IntentInterceptorCallback);
5417    method public void removeActivityListener(@NonNull android.companion.virtual.VirtualDeviceManager.ActivityListener);
5418    method @FlaggedApi("android.companion.virtualdevice.flags.activity_control_api") public void removeActivityPolicyExemption(@NonNull android.companion.virtual.ActivityPolicyExemption);
5419    method @FlaggedApi("android.companion.virtual.flags.dynamic_policy") public void removeActivityPolicyExemption(@NonNull android.content.ComponentName);
5420    method public void removeSoundEffectListener(@NonNull android.companion.virtual.VirtualDeviceManager.SoundEffectListener);
5421    method @FlaggedApi("android.companion.virtual.flags.dynamic_policy") public void setDevicePolicy(int, int);
5422    method @FlaggedApi("android.companion.virtualdevice.flags.activity_control_api") public void setDevicePolicy(int, int, int);
5423    method @FlaggedApi("android.companion.virtual.flags.vdm_custom_ime") public void setDisplayImePolicy(int, int);
5424    method public void setShowPointerIcon(boolean);
5425    method public void unregisterIntentInterceptor(@NonNull android.companion.virtual.VirtualDeviceManager.IntentInterceptorCallback);
5426    method @FlaggedApi("android.companion.virtualdevice.flags.device_aware_display_power") public void wakeUp();
5427  }
5428
5429  public final class VirtualDeviceParams implements android.os.Parcelable {
5430    method public int describeContents();
5431    method @Deprecated @NonNull public java.util.Set<android.content.ComponentName> getAllowedActivities();
5432    method @Deprecated @NonNull public java.util.Set<android.content.ComponentName> getAllowedCrossTaskNavigations();
5433    method public int getAudioPlaybackSessionId();
5434    method public int getAudioRecordingSessionId();
5435    method @Deprecated @NonNull public java.util.Set<android.content.ComponentName> getBlockedActivities();
5436    method @Deprecated @NonNull public java.util.Set<android.content.ComponentName> getBlockedCrossTaskNavigations();
5437    method @Deprecated public int getDefaultActivityPolicy();
5438    method @Deprecated public int getDefaultNavigationPolicy();
5439    method public int getDevicePolicy(int);
5440    method @FlaggedApi("android.companion.virtualdevice.flags.device_aware_display_power") @NonNull public java.time.Duration getDimDuration();
5441    method @FlaggedApi("android.companion.virtual.flags.vdm_custom_home") @Nullable public android.content.ComponentName getHomeComponent();
5442    method @FlaggedApi("android.companion.virtual.flags.vdm_custom_ime") @Nullable public android.content.ComponentName getInputMethodComponent();
5443    method public int getLockState();
5444    method @Nullable public String getName();
5445    method @FlaggedApi("android.companion.virtualdevice.flags.device_aware_display_power") @NonNull public java.time.Duration getScreenOffTimeout();
5446    method @NonNull public java.util.Set<android.os.UserHandle> getUsersWithMatchingAccounts();
5447    method @NonNull public java.util.List<android.companion.virtual.sensor.VirtualSensorConfig> getVirtualSensorConfigs();
5448    method public void writeToParcel(@NonNull android.os.Parcel, int);
5449    field @Deprecated public static final int ACTIVITY_POLICY_DEFAULT_ALLOWED = 0; // 0x0
5450    field @Deprecated public static final int ACTIVITY_POLICY_DEFAULT_BLOCKED = 1; // 0x1
5451    field @NonNull public static final android.os.Parcelable.Creator<android.companion.virtual.VirtualDeviceParams> CREATOR;
5452    field public static final int DEVICE_POLICY_CUSTOM = 1; // 0x1
5453    field public static final int DEVICE_POLICY_DEFAULT = 0; // 0x0
5454    field public static final int LOCK_STATE_ALWAYS_UNLOCKED = 1; // 0x1
5455    field public static final int LOCK_STATE_DEFAULT = 0; // 0x0
5456    field @Deprecated public static final int NAVIGATION_POLICY_DEFAULT_ALLOWED = 0; // 0x0
5457    field @Deprecated public static final int NAVIGATION_POLICY_DEFAULT_BLOCKED = 1; // 0x1
5458    field @FlaggedApi("android.companion.virtual.flags.dynamic_policy") public static final int POLICY_TYPE_ACTIVITY = 3; // 0x3
5459    field public static final int POLICY_TYPE_AUDIO = 1; // 0x1
5460    field @FlaggedApi("android.companion.virtualdevice.flags.activity_control_api") public static final int POLICY_TYPE_BLOCKED_ACTIVITY = 6; // 0x6
5461    field @FlaggedApi("android.companion.virtual.flags.virtual_camera") public static final int POLICY_TYPE_CAMERA = 5; // 0x5
5462    field @FlaggedApi("android.companion.virtual.flags.cross_device_clipboard") public static final int POLICY_TYPE_CLIPBOARD = 4; // 0x4
5463    field @FlaggedApi("android.companion.virtualdevice.flags.default_device_camera_access_policy") public static final int POLICY_TYPE_DEFAULT_DEVICE_CAMERA_ACCESS = 7; // 0x7
5464    field public static final int POLICY_TYPE_RECENTS = 2; // 0x2
5465    field public static final int POLICY_TYPE_SENSORS = 0; // 0x0
5466  }
5467
5468  public static final class VirtualDeviceParams.Builder {
5469    ctor public VirtualDeviceParams.Builder();
5470    method @NonNull public android.companion.virtual.VirtualDeviceParams.Builder addVirtualSensorConfig(@NonNull android.companion.virtual.sensor.VirtualSensorConfig);
5471    method @NonNull public android.companion.virtual.VirtualDeviceParams build();
5472    method @Deprecated @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setAllowedActivities(@NonNull java.util.Set<android.content.ComponentName>);
5473    method @Deprecated @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setAllowedCrossTaskNavigations(@NonNull java.util.Set<android.content.ComponentName>);
5474    method @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setAudioPlaybackSessionId(int);
5475    method @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setAudioRecordingSessionId(int);
5476    method @Deprecated @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setBlockedActivities(@NonNull java.util.Set<android.content.ComponentName>);
5477    method @Deprecated @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setBlockedCrossTaskNavigations(@NonNull java.util.Set<android.content.ComponentName>);
5478    method @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setDevicePolicy(int, int);
5479    method @FlaggedApi("android.companion.virtualdevice.flags.device_aware_display_power") @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setDimDuration(@NonNull java.time.Duration);
5480    method @FlaggedApi("android.companion.virtual.flags.vdm_custom_home") @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setHomeComponent(@Nullable android.content.ComponentName);
5481    method @FlaggedApi("android.companion.virtual.flags.vdm_custom_ime") @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setInputMethodComponent(@Nullable android.content.ComponentName);
5482    method @NonNull @RequiresPermission(value=android.Manifest.permission.ADD_ALWAYS_UNLOCKED_DISPLAY, conditional=true) public android.companion.virtual.VirtualDeviceParams.Builder setLockState(int);
5483    method @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setName(@NonNull String);
5484    method @FlaggedApi("android.companion.virtualdevice.flags.device_aware_display_power") @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setScreenOffTimeout(@NonNull java.time.Duration);
5485    method @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setUsersWithMatchingAccounts(@NonNull java.util.Set<android.os.UserHandle>);
5486    method @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setVirtualSensorCallback(@NonNull java.util.concurrent.Executor, @NonNull android.companion.virtual.sensor.VirtualSensorCallback);
5487    method @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setVirtualSensorDirectChannelCallback(@NonNull java.util.concurrent.Executor, @NonNull android.companion.virtual.sensor.VirtualSensorDirectChannelCallback);
5488  }
5489
5490}
5491
5492package android.companion.virtual.audio {
5493
5494  public final class AudioCapture {
5495    method @NonNull public android.media.AudioFormat getFormat();
5496    method public int getRecordingState();
5497    method public int read(@NonNull byte[], int, int);
5498    method public int read(@NonNull byte[], int, int, int);
5499    method public int read(@NonNull float[], int, int, int);
5500    method public int read(@NonNull java.nio.ByteBuffer, int);
5501    method public int read(@NonNull java.nio.ByteBuffer, int, int);
5502    method public int read(@NonNull short[], int, int);
5503    method public int read(@NonNull short[], int, int, int);
5504    method public void startRecording();
5505    method public void stop();
5506  }
5507
5508  public final class AudioInjection {
5509    method @NonNull public android.media.AudioFormat getFormat();
5510    method public int getPlayState();
5511    method public void play();
5512    method public void stop();
5513    method public int write(@NonNull byte[], int, int);
5514    method public int write(@NonNull byte[], int, int, int);
5515    method public int write(@NonNull float[], int, int, int);
5516    method public int write(@NonNull java.nio.ByteBuffer, int, int);
5517    method public int write(@NonNull java.nio.ByteBuffer, int, int, long);
5518    method public int write(@NonNull short[], int, int);
5519    method public int write(@NonNull short[], int, int, int);
5520  }
5521
5522  public final class VirtualAudioDevice implements java.io.Closeable {
5523    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void close();
5524    method @Nullable public android.companion.virtual.audio.AudioCapture getAudioCapture();
5525    method @Nullable public android.companion.virtual.audio.AudioInjection getAudioInjection();
5526    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public android.companion.virtual.audio.AudioCapture startAudioCapture(@NonNull android.media.AudioFormat);
5527    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public android.companion.virtual.audio.AudioInjection startAudioInjection(@NonNull android.media.AudioFormat);
5528  }
5529
5530  public static interface VirtualAudioDevice.AudioConfigurationChangeCallback {
5531    method public void onPlaybackConfigChanged(@NonNull java.util.List<android.media.AudioPlaybackConfiguration>);
5532    method public void onRecordingConfigChanged(@NonNull java.util.List<android.media.AudioRecordingConfiguration>);
5533  }
5534
5535}
5536
5537package android.companion.virtual.camera {
5538
5539  @FlaggedApi("android.companion.virtual.flags.virtual_camera") public final class VirtualCamera implements java.io.Closeable {
5540    method public void close();
5541    method @NonNull public android.companion.virtual.camera.VirtualCameraConfig getConfig();
5542  }
5543
5544  @FlaggedApi("android.companion.virtual.flags.virtual_camera") public interface VirtualCameraCallback {
5545    method public default void onProcessCaptureRequest(int, long);
5546    method public void onStreamClosed(int);
5547    method public void onStreamConfigured(int, @NonNull android.view.Surface, @IntRange(from=1) int, @IntRange(from=1) int, int);
5548  }
5549
5550  @FlaggedApi("android.companion.virtual.flags.virtual_camera") public final class VirtualCameraConfig implements android.os.Parcelable {
5551    method public int describeContents();
5552    method public int getLensFacing();
5553    method @NonNull public String getName();
5554    method public int getSensorOrientation();
5555    method @NonNull public java.util.Set<android.companion.virtual.camera.VirtualCameraStreamConfig> getStreamConfigs();
5556    method public void writeToParcel(@NonNull android.os.Parcel, int);
5557    field @NonNull public static final android.os.Parcelable.Creator<android.companion.virtual.camera.VirtualCameraConfig> CREATOR;
5558    field public static final int SENSOR_ORIENTATION_0 = 0; // 0x0
5559    field public static final int SENSOR_ORIENTATION_180 = 180; // 0xb4
5560    field public static final int SENSOR_ORIENTATION_270 = 270; // 0x10e
5561    field public static final int SENSOR_ORIENTATION_90 = 90; // 0x5a
5562  }
5563
5564  @FlaggedApi("android.companion.virtual.flags.virtual_camera") public static final class VirtualCameraConfig.Builder {
5565    ctor public VirtualCameraConfig.Builder(@NonNull String);
5566    method @NonNull public android.companion.virtual.camera.VirtualCameraConfig.Builder addStreamConfig(@IntRange(from=1) int, @IntRange(from=1) int, int, @IntRange(from=1) int);
5567    method @NonNull public android.companion.virtual.camera.VirtualCameraConfig build();
5568    method @NonNull public android.companion.virtual.camera.VirtualCameraConfig.Builder setLensFacing(int);
5569    method @NonNull public android.companion.virtual.camera.VirtualCameraConfig.Builder setSensorOrientation(int);
5570    method @NonNull public android.companion.virtual.camera.VirtualCameraConfig.Builder setVirtualCameraCallback(@NonNull java.util.concurrent.Executor, @NonNull android.companion.virtual.camera.VirtualCameraCallback);
5571  }
5572
5573  @FlaggedApi("android.companion.virtual.flags.virtual_camera") public final class VirtualCameraStreamConfig implements android.os.Parcelable {
5574    method public int describeContents();
5575    method public int getFormat();
5576    method @IntRange(from=1) public int getHeight();
5577    method @IntRange(from=1) public int getMaximumFramesPerSecond();
5578    method @IntRange(from=1) public int getWidth();
5579    method public void writeToParcel(@NonNull android.os.Parcel, int);
5580    field @NonNull public static final android.os.Parcelable.Creator<android.companion.virtual.camera.VirtualCameraStreamConfig> CREATOR;
5581  }
5582
5583}
5584
5585package android.companion.virtual.sensor {
5586
5587  public final class VirtualSensor implements android.os.Parcelable {
5588    method public int describeContents();
5589    method public int getDeviceId();
5590    method @NonNull public String getName();
5591    method public int getType();
5592    method public void sendEvent(@NonNull android.companion.virtual.sensor.VirtualSensorEvent);
5593    method public void writeToParcel(@NonNull android.os.Parcel, int);
5594    field @NonNull public static final android.os.Parcelable.Creator<android.companion.virtual.sensor.VirtualSensor> CREATOR;
5595  }
5596
5597  public interface VirtualSensorCallback {
5598    method public void onConfigurationChanged(@NonNull android.companion.virtual.sensor.VirtualSensor, boolean, @NonNull java.time.Duration, @NonNull java.time.Duration);
5599  }
5600
5601  public final class VirtualSensorConfig implements android.os.Parcelable {
5602    method public int describeContents();
5603    method public int getDirectChannelTypesSupported();
5604    method public int getHighestDirectReportRateLevel();
5605    method public int getMaxDelay();
5606    method public float getMaximumRange();
5607    method public int getMinDelay();
5608    method @NonNull public String getName();
5609    method public float getPower();
5610    method @FlaggedApi("android.companion.virtualdevice.flags.device_aware_display_power") public int getReportingMode();
5611    method public float getResolution();
5612    method public int getType();
5613    method @Nullable public String getVendor();
5614    method @FlaggedApi("android.companion.virtualdevice.flags.device_aware_display_power") public boolean isWakeUpSensor();
5615    method public void writeToParcel(@NonNull android.os.Parcel, int);
5616    field @NonNull public static final android.os.Parcelable.Creator<android.companion.virtual.sensor.VirtualSensorConfig> CREATOR;
5617  }
5618
5619  public static final class VirtualSensorConfig.Builder {
5620    ctor public VirtualSensorConfig.Builder(@IntRange(from=1) int, @NonNull String);
5621    method @NonNull public android.companion.virtual.sensor.VirtualSensorConfig build();
5622    method @NonNull public android.companion.virtual.sensor.VirtualSensorConfig.Builder setDirectChannelTypesSupported(int);
5623    method @NonNull public android.companion.virtual.sensor.VirtualSensorConfig.Builder setHighestDirectReportRateLevel(int);
5624    method @NonNull public android.companion.virtual.sensor.VirtualSensorConfig.Builder setMaxDelay(int);
5625    method @NonNull public android.companion.virtual.sensor.VirtualSensorConfig.Builder setMaximumRange(float);
5626    method @NonNull public android.companion.virtual.sensor.VirtualSensorConfig.Builder setMinDelay(int);
5627    method @NonNull public android.companion.virtual.sensor.VirtualSensorConfig.Builder setPower(float);
5628    method @FlaggedApi("android.companion.virtualdevice.flags.device_aware_display_power") @NonNull public android.companion.virtual.sensor.VirtualSensorConfig.Builder setReportingMode(int);
5629    method @NonNull public android.companion.virtual.sensor.VirtualSensorConfig.Builder setResolution(float);
5630    method @NonNull public android.companion.virtual.sensor.VirtualSensorConfig.Builder setVendor(@Nullable String);
5631    method @FlaggedApi("android.companion.virtualdevice.flags.device_aware_display_power") @NonNull public android.companion.virtual.sensor.VirtualSensorConfig.Builder setWakeUpSensor(boolean);
5632  }
5633
5634  public interface VirtualSensorDirectChannelCallback {
5635    method public void onDirectChannelConfigured(@IntRange(from=1) int, @NonNull android.companion.virtual.sensor.VirtualSensor, int, @IntRange(from=1) int);
5636    method public void onDirectChannelCreated(@IntRange(from=1) int, @NonNull android.os.SharedMemory);
5637    method public void onDirectChannelDestroyed(@IntRange(from=1) int);
5638  }
5639
5640  public final class VirtualSensorDirectChannelWriter implements java.lang.AutoCloseable {
5641    ctor public VirtualSensorDirectChannelWriter();
5642    method public void addChannel(@IntRange(from=1) int, @NonNull android.os.SharedMemory) throws android.system.ErrnoException;
5643    method public void close();
5644    method public boolean configureChannel(@IntRange(from=1) int, @NonNull android.companion.virtual.sensor.VirtualSensor, int, @IntRange(from=1) int);
5645    method public void removeChannel(@IntRange(from=1) int);
5646    method public boolean writeSensorEvent(@NonNull android.companion.virtual.sensor.VirtualSensor, @NonNull android.companion.virtual.sensor.VirtualSensorEvent);
5647  }
5648
5649  public final class VirtualSensorEvent implements android.os.Parcelable {
5650    method public int describeContents();
5651    method public long getTimestampNanos();
5652    method @NonNull public float[] getValues();
5653    method public void writeToParcel(@NonNull android.os.Parcel, int);
5654    field @NonNull public static final android.os.Parcelable.Creator<android.companion.virtual.sensor.VirtualSensorEvent> CREATOR;
5655  }
5656
5657  public static final class VirtualSensorEvent.Builder {
5658    ctor public VirtualSensorEvent.Builder(@NonNull float[]);
5659    method @NonNull public android.companion.virtual.sensor.VirtualSensorEvent build();
5660    method @NonNull public android.companion.virtual.sensor.VirtualSensorEvent.Builder setTimestampNanos(long);
5661  }
5662
5663}
5664
5665package android.content {
5666
5667  public class ApexEnvironment {
5668    method @NonNull public static android.content.ApexEnvironment getApexEnvironment(@NonNull String);
5669    method @NonNull public java.io.File getCredentialProtectedDataDirForUser(@NonNull android.os.UserHandle);
5670    method @NonNull public java.io.File getDeviceProtectedDataDir();
5671    method @NonNull public java.io.File getDeviceProtectedDataDirForUser(@NonNull android.os.UserHandle);
5672  }
5673
5674  public final class AttributionSource implements android.os.Parcelable {
5675    method @NonNull @RequiresPermission(android.Manifest.permission.RENOUNCE_PERMISSIONS) public java.util.Set<java.lang.String> getRenouncedPermissions();
5676  }
5677
5678  public static final class AttributionSource.Builder {
5679    method @NonNull @RequiresPermission(android.Manifest.permission.RENOUNCE_PERMISSIONS) public android.content.AttributionSource.Builder setRenouncedPermissions(@Nullable java.util.Set<java.lang.String>);
5680  }
5681
5682  public abstract class BroadcastReceiver {
5683    method @NonNull public final android.os.UserHandle getSendingUser();
5684  }
5685
5686  public class ClipboardManager extends android.text.ClipboardManager {
5687    method @RequiresPermission(android.Manifest.permission.MANAGE_CLIPBOARD_ACCESS_NOTIFICATION) public boolean areClipboardAccessNotificationsEnabled();
5688    method @RequiresPermission(android.Manifest.permission.MANAGE_CLIPBOARD_ACCESS_NOTIFICATION) public void setClipboardAccessNotificationsEnabled(boolean);
5689    method @RequiresPermission(android.Manifest.permission.SET_CLIP_SOURCE) public void setPrimaryClipAsPackage(@NonNull android.content.ClipData, @NonNull String);
5690  }
5691
5692  public abstract class ContentProvider implements android.content.ComponentCallbacks2 {
5693    method public int checkUriPermission(@NonNull android.net.Uri, int, int);
5694  }
5695
5696  public class ContentProviderClient implements java.lang.AutoCloseable {
5697    method @RequiresPermission(android.Manifest.permission.REMOVE_TASKS) public void setDetectNotResponding(long);
5698  }
5699
5700  public abstract class ContentResolver {
5701    method public int checkUriPermission(@NonNull android.net.Uri, int, int);
5702    method @NonNull public static android.net.Uri decodeFromFile(@NonNull java.io.File);
5703    method @NonNull public static java.io.File encodeToFile(@NonNull android.net.Uri);
5704    method @Nullable @RequiresPermission("android.permission.CACHE_CONTENT") public android.os.Bundle getCache(@NonNull android.net.Uri);
5705    method @RequiresPermission("android.permission.CACHE_CONTENT") public void putCache(@NonNull android.net.Uri, @Nullable android.os.Bundle);
5706  }
5707
5708  public abstract class Context {
5709    method @NonNull public android.content.Context createContextAsUser(@NonNull android.os.UserHandle, int);
5710    method public abstract android.content.Context createCredentialProtectedStorageContext();
5711    method @NonNull public android.content.Context createPackageContextAsUser(@NonNull String, int, @NonNull android.os.UserHandle) throws android.content.pm.PackageManager.NameNotFoundException;
5712    method @Nullable public abstract java.io.File getPreloadsFileCache();
5713    method public abstract boolean isCredentialProtectedStorage();
5714    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);
5715    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);
5716    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);
5717    method public void sendBroadcastMultiplePermissions(@NonNull android.content.Intent, @NonNull String[], @Nullable android.app.BroadcastOptions);
5718    method @FlaggedApi("android.os.ordered_broadcast_multiple_permissions") public void sendOrderedBroadcastMultiplePermissions(@NonNull android.content.Intent, @NonNull String[], @Nullable String, @Nullable android.content.BroadcastReceiver, @Nullable android.os.Handler, int, @Nullable String, @Nullable android.os.Bundle, @Nullable android.os.Bundle);
5719    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public void startActivityAsUser(@NonNull @RequiresPermission android.content.Intent, @Nullable android.os.Bundle, @NonNull android.os.UserHandle);
5720    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public void startActivityAsUser(@NonNull @RequiresPermission android.content.Intent, @NonNull android.os.UserHandle);
5721    field public static final String AMBIENT_CONTEXT_SERVICE = "ambient_context";
5722    field public static final String APP_HIBERNATION_SERVICE = "app_hibernation";
5723    field public static final String APP_INTEGRITY_SERVICE = "app_integrity";
5724    field public static final String APP_PREDICTION_SERVICE = "app_prediction";
5725    field public static final String AUDIO_DEVICE_VOLUME_SERVICE = "audio_device_volume";
5726    field @FlaggedApi("android.security.secure_lockdown") public static final String AUTHENTICATION_POLICY_SERVICE = "authentication_policy";
5727    field public static final String BACKUP_SERVICE = "backup";
5728    field public static final String BATTERY_STATS_SERVICE = "batterystats";
5729    field public static final int BIND_ALLOW_BACKGROUND_ACTIVITY_STARTS = 1048576; // 0x100000
5730    field @Deprecated public static final int BIND_ALLOW_FOREGROUND_SERVICE_STARTS_FROM_BACKGROUND = 262144; // 0x40000
5731    field @FlaggedApi("com.android.server.telecom.flags.telecom_mainline_blocked_numbers_manager") public static final String BLOCKED_NUMBERS_SERVICE = "blocked_numbers";
5732    field public static final String CLOUDSEARCH_SERVICE = "cloudsearch";
5733    field public static final String CONTENT_SUGGESTIONS_SERVICE = "content_suggestions";
5734    field public static final String CONTEXTHUB_SERVICE = "contexthub";
5735    field @FlaggedApi("android.app.contextualsearch.flags.enable_service") public static final String CONTEXTUAL_SEARCH_SERVICE = "contextual_search";
5736    field @FlaggedApi("android.permission.flags.enhanced_confirmation_mode_apis_enabled") public static final String ECM_ENHANCED_CONFIRMATION_SERVICE = "ecm_enhanced_confirmation";
5737    field public static final String ETHERNET_SERVICE = "ethernet";
5738    field public static final String EUICC_CARD_SERVICE = "euicc_card";
5739    field public static final String FONT_SERVICE = "font";
5740    field public static final String HDMI_CONTROL_SERVICE = "hdmi_control";
5741    field public static final String MEDIA_TRANSCODING_SERVICE = "media_transcoding";
5742    field public static final String MUSIC_RECOGNITION_SERVICE = "music_recognition";
5743    field public static final String NEARBY_SERVICE = "nearby";
5744    field public static final String NETD_SERVICE = "netd";
5745    field @Deprecated public static final String NETWORK_SCORE_SERVICE = "network_score";
5746    field public static final String OEM_LOCK_SERVICE = "oem_lock";
5747    field @FlaggedApi("android.app.ondeviceintelligence.flags.enable_on_device_intelligence") public static final String ON_DEVICE_INTELLIGENCE_SERVICE = "on_device_intelligence";
5748    field public static final String PERMISSION_CONTROLLER_SERVICE = "permission_controller";
5749    field public static final String PERMISSION_SERVICE = "permission";
5750    field @FlaggedApi("com.android.ranging.flags.ranging_stack_enabled") public static final String RANGING_SERVICE = "ranging";
5751    field public static final String REBOOT_READINESS_SERVICE = "reboot_readiness";
5752    field public static final String ROLLBACK_SERVICE = "rollback";
5753    field public static final String SAFETY_CENTER_SERVICE = "safety_center";
5754    field public static final String SEARCH_UI_SERVICE = "search_ui";
5755    field public static final String SECURE_ELEMENT_SERVICE = "secure_element";
5756    field public static final String SHARED_CONNECTIVITY_SERVICE = "shared_connectivity";
5757    field public static final String SMARTSPACE_SERVICE = "smartspace";
5758    field public static final String STATS_MANAGER = "stats";
5759    field public static final String SYSTEM_CONFIG_SERVICE = "system_config";
5760    field public static final String SYSTEM_UPDATE_SERVICE = "system_update";
5761    field public static final String TETHERING_SERVICE = "tethering";
5762    field @FlaggedApi("com.android.net.thread.platform.flags.thread_enabled_platform") public static final String THREAD_NETWORK_SERVICE = "thread_network";
5763    field public static final String TIME_MANAGER_SERVICE = "time_manager";
5764    field public static final String TRANSLATION_MANAGER_SERVICE = "translation";
5765    field public static final String UI_TRANSLATION_SERVICE = "ui_translation";
5766    field public static final String UWB_SERVICE = "uwb";
5767    field public static final String VIRTUALIZATION_SERVICE = "virtualization";
5768    field public static final String VR_SERVICE = "vrmanager";
5769    field public static final String WALLPAPER_EFFECTS_GENERATION_SERVICE = "wallpaper_effects_generation";
5770    field public static final String WEARABLE_SENSING_SERVICE = "wearable_sensing";
5771    field public static final String WIFI_NL80211_SERVICE = "wifinl80211";
5772    field @Deprecated public static final String WIFI_RTT_SERVICE = "rttmanager";
5773    field public static final String WIFI_SCANNING_SERVICE = "wifiscanner";
5774    field @FlaggedApi("android.net.wifi.flags.usd") public static final String WIFI_USD_SERVICE = "wifi_usd";
5775  }
5776
5777  public final class ContextParams {
5778    method @NonNull @RequiresPermission(android.Manifest.permission.RENOUNCE_PERMISSIONS) public java.util.Set<java.lang.String> getRenouncedPermissions();
5779  }
5780
5781  public static final class ContextParams.Builder {
5782    method @NonNull @RequiresPermission(android.Manifest.permission.RENOUNCE_PERMISSIONS) public android.content.ContextParams.Builder setRenouncedPermissions(@Nullable java.util.Set<java.lang.String>);
5783  }
5784
5785  public class ContextWrapper extends android.content.Context {
5786    method public android.content.Context createCredentialProtectedStorageContext();
5787    method @Nullable public java.io.File getPreloadsFileCache();
5788    method public boolean isCredentialProtectedStorage();
5789    method public void sendBroadcastAsUser(android.content.Intent, android.os.UserHandle, @Nullable String, @Nullable android.os.Bundle);
5790  }
5791
5792  public class Intent implements java.lang.Cloneable android.os.Parcelable {
5793    field public static final String ACTION_ACTIVITY_RECOGNIZER = "android.intent.action.ACTIVITY_RECOGNIZER";
5794    field public static final String ACTION_BATTERY_LEVEL_CHANGED = "android.intent.action.BATTERY_LEVEL_CHANGED";
5795    field public static final String ACTION_CALL_EMERGENCY = "android.intent.action.CALL_EMERGENCY";
5796    field public static final String ACTION_CALL_PRIVILEGED = "android.intent.action.CALL_PRIVILEGED";
5797    field public static final String ACTION_DEVICE_CUSTOMIZATION_READY = "android.intent.action.DEVICE_CUSTOMIZATION_READY";
5798    field public static final String ACTION_DIAL_EMERGENCY = "android.intent.action.DIAL_EMERGENCY";
5799    field public static final String ACTION_DOMAINS_NEED_VERIFICATION = "android.intent.action.DOMAINS_NEED_VERIFICATION";
5800    field public static final String ACTION_FACTORY_RESET = "android.intent.action.FACTORY_RESET";
5801    field public static final String ACTION_GLOBAL_BUTTON = "android.intent.action.GLOBAL_BUTTON";
5802    field public static final String ACTION_INCIDENT_REPORT_READY = "android.intent.action.INCIDENT_REPORT_READY";
5803    field public static final String ACTION_INSTALL_INSTANT_APP_PACKAGE = "android.intent.action.INSTALL_INSTANT_APP_PACKAGE";
5804    field public static final String ACTION_INSTANT_APP_RESOLVER_SETTINGS = "android.intent.action.INSTANT_APP_RESOLVER_SETTINGS";
5805    field @Deprecated public static final String ACTION_INTENT_FILTER_NEEDS_VERIFICATION = "android.intent.action.INTENT_FILTER_NEEDS_VERIFICATION";
5806    field public static final String ACTION_LOAD_DATA = "android.intent.action.LOAD_DATA";
5807    field @FlaggedApi("android.security.frp_enforcement") public static final String ACTION_MAIN_USER_LOCKSCREEN_KNOWLEDGE_FACTOR_CHANGED = "android.intent.action.MAIN_USER_LOCKSCREEN_KNOWLEDGE_FACTOR_CHANGED";
5808    field @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public static final String ACTION_MANAGE_APP_PERMISSION = "android.intent.action.MANAGE_APP_PERMISSION";
5809    field @Deprecated public static final String ACTION_MANAGE_APP_PERMISSIONS = "android.intent.action.MANAGE_APP_PERMISSIONS";
5810    field @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public static final String ACTION_MANAGE_DEFAULT_APP = "android.intent.action.MANAGE_DEFAULT_APP";
5811    field public static final String ACTION_MANAGE_PERMISSIONS = "android.intent.action.MANAGE_PERMISSIONS";
5812    field public static final String ACTION_MANAGE_PERMISSION_APPS = "android.intent.action.MANAGE_PERMISSION_APPS";
5813    field @RequiresPermission(android.Manifest.permission.START_VIEW_PERMISSION_USAGE) public static final String ACTION_MANAGE_PERMISSION_USAGE = "android.intent.action.MANAGE_PERMISSION_USAGE";
5814    field @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public static final String ACTION_MANAGE_SPECIAL_APP_ACCESSES = "android.intent.action.MANAGE_SPECIAL_APP_ACCESSES";
5815    field @RequiresPermission(android.Manifest.permission.MASTER_CLEAR) public static final String ACTION_MASTER_CLEAR_NOTIFICATION = "android.intent.action.MASTER_CLEAR_NOTIFICATION";
5816    field public static final String ACTION_PACKAGE_NEEDS_INTEGRITY_VERIFICATION = "android.intent.action.PACKAGE_NEEDS_INTEGRITY_VERIFICATION";
5817    field public static final String ACTION_PACKAGE_UNSUSPENDED_MANUALLY = "android.intent.action.PACKAGE_UNSUSPENDED_MANUALLY";
5818    field public static final String ACTION_PENDING_INCIDENT_REPORTS_CHANGED = "android.intent.action.PENDING_INCIDENT_REPORTS_CHANGED";
5819    field public static final String ACTION_PRE_BOOT_COMPLETED = "android.intent.action.PRE_BOOT_COMPLETED";
5820    field public static final String ACTION_QUERY_PACKAGE_RESTART = "android.intent.action.QUERY_PACKAGE_RESTART";
5821    field public static final String ACTION_RESOLVE_INSTANT_APP_PACKAGE = "android.intent.action.RESOLVE_INSTANT_APP_PACKAGE";
5822    field @RequiresPermission(android.Manifest.permission.REVIEW_ACCESSIBILITY_SERVICES) public static final String ACTION_REVIEW_ACCESSIBILITY_SERVICES = "android.intent.action.REVIEW_ACCESSIBILITY_SERVICES";
5823    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";
5824    field @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public static final String ACTION_REVIEW_ONGOING_PERMISSION_USAGE = "android.intent.action.REVIEW_ONGOING_PERMISSION_USAGE";
5825    field public static final String ACTION_REVIEW_PERMISSIONS = "android.intent.action.REVIEW_PERMISSIONS";
5826    field @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public static final String ACTION_REVIEW_PERMISSION_HISTORY = "android.intent.action.REVIEW_PERMISSION_HISTORY";
5827    field @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public static final String ACTION_REVIEW_PERMISSION_USAGE = "android.intent.action.REVIEW_PERMISSION_USAGE";
5828    field public static final String ACTION_ROLLBACK_COMMITTED = "android.intent.action.ROLLBACK_COMMITTED";
5829    field public static final String ACTION_SHOW_SUSPENDED_APP_DETAILS = "android.intent.action.SHOW_SUSPENDED_APP_DETAILS";
5830    field @Deprecated public static final String ACTION_SIM_STATE_CHANGED = "android.intent.action.SIM_STATE_CHANGED";
5831    field public static final String ACTION_SPLIT_CONFIGURATION_CHANGED = "android.intent.action.SPLIT_CONFIGURATION_CHANGED";
5832    field public static final String ACTION_UPGRADE_SETUP = "android.intent.action.UPGRADE_SETUP";
5833    field public static final String ACTION_USER_ADDED = "android.intent.action.USER_ADDED";
5834    field public static final String ACTION_USER_REMOVED = "android.intent.action.USER_REMOVED";
5835    field public static final String ACTION_USER_SWITCHED = "android.intent.action.USER_SWITCHED";
5836    field @RequiresPermission(android.Manifest.permission.START_VIEW_APP_FEATURES) public static final String ACTION_VIEW_APP_FEATURES = "android.intent.action.VIEW_APP_FEATURES";
5837    field @RequiresPermission(android.Manifest.permission.MANAGE_SENSOR_PRIVACY) public static final String ACTION_VIEW_SAFETY_CENTER_QS = "android.intent.action.VIEW_SAFETY_CENTER_QS";
5838    field public static final String ACTION_VOICE_ASSIST = "android.intent.action.VOICE_ASSIST";
5839    field public static final String CATEGORY_LEANBACK_SETTINGS = "android.intent.category.LEANBACK_SETTINGS";
5840    field public static final String EXTRA_CALLING_PACKAGE = "android.intent.extra.CALLING_PACKAGE";
5841    field public static final String EXTRA_FORCE_FACTORY_RESET = "android.intent.extra.FORCE_FACTORY_RESET";
5842    field public static final String EXTRA_INSTALL_RESULT = "android.intent.extra.INSTALL_RESULT";
5843    field public static final String EXTRA_INSTANT_APP_ACTION = "android.intent.extra.INSTANT_APP_ACTION";
5844    field public static final String EXTRA_INSTANT_APP_BUNDLES = "android.intent.extra.INSTANT_APP_BUNDLES";
5845    field public static final String EXTRA_INSTANT_APP_EXTRAS = "android.intent.extra.INSTANT_APP_EXTRAS";
5846    field public static final String EXTRA_INSTANT_APP_FAILURE = "android.intent.extra.INSTANT_APP_FAILURE";
5847    field public static final String EXTRA_INSTANT_APP_HOSTNAME = "android.intent.extra.INSTANT_APP_HOSTNAME";
5848    field public static final String EXTRA_INSTANT_APP_SUCCESS = "android.intent.extra.INSTANT_APP_SUCCESS";
5849    field public static final String EXTRA_INSTANT_APP_TOKEN = "android.intent.extra.INSTANT_APP_TOKEN";
5850    field public static final String EXTRA_LONG_VERSION_CODE = "android.intent.extra.LONG_VERSION_CODE";
5851    field public static final String EXTRA_ORIGINATING_UID = "android.intent.extra.ORIGINATING_UID";
5852    field public static final String EXTRA_PERMISSION_NAME = "android.intent.extra.PERMISSION_NAME";
5853    field public static final String EXTRA_REASON = "android.intent.extra.REASON";
5854    field public static final String EXTRA_REMOTE_CALLBACK = "android.intent.extra.REMOTE_CALLBACK";
5855    field public static final String EXTRA_RESULT_NEEDED = "android.intent.extra.RESULT_NEEDED";
5856    field public static final String EXTRA_ROLE_NAME = "android.intent.extra.ROLE_NAME";
5857    field public static final String EXTRA_SHOWING_ATTRIBUTION = "android.intent.extra.SHOWING_ATTRIBUTION";
5858    field public static final String EXTRA_UNINSTALL_ALL_USERS = "android.intent.extra.UNINSTALL_ALL_USERS";
5859    field public static final String EXTRA_UNKNOWN_INSTANT_APP = "android.intent.extra.UNKNOWN_INSTANT_APP";
5860    field public static final String EXTRA_USER_HANDLE = "android.intent.extra.user_handle";
5861    field public static final String EXTRA_VERIFICATION_BUNDLE = "android.intent.extra.VERIFICATION_BUNDLE";
5862    field public static final int FLAG_RECEIVER_INCLUDE_BACKGROUND = 16777216; // 0x1000000
5863    field public static final int FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT = 67108864; // 0x4000000
5864    field public static final String METADATA_SETUP_VERSION = "android.SETUP_VERSION";
5865  }
5866
5867  public class IntentFilter implements android.os.Parcelable {
5868    method public final int getOrder();
5869    method public final void setOrder(int);
5870  }
5871
5872}
5873
5874package android.content.integrity {
5875
5876  public class AppIntegrityManager {
5877    method @NonNull public String getCurrentRuleSetProvider();
5878    method @NonNull public String getCurrentRuleSetVersion();
5879    method public void updateRuleSet(@NonNull android.content.integrity.RuleSet, @NonNull android.content.IntentSender);
5880    field public static final String EXTRA_STATUS = "android.content.integrity.extra.STATUS";
5881    field public static final int STATUS_FAILURE = 1; // 0x1
5882    field public static final int STATUS_SUCCESS = 0; // 0x0
5883  }
5884
5885  public abstract class IntegrityFormula {
5886    method @NonNull public static android.content.integrity.IntegrityFormula all(@NonNull android.content.integrity.IntegrityFormula...);
5887    method @NonNull public static android.content.integrity.IntegrityFormula any(@NonNull android.content.integrity.IntegrityFormula...);
5888    method @NonNull public static android.content.integrity.IntegrityFormula not(@NonNull android.content.integrity.IntegrityFormula);
5889  }
5890
5891  public static final class IntegrityFormula.Application {
5892    method @NonNull public static android.content.integrity.IntegrityFormula certificateLineageContains(@NonNull String);
5893    method @NonNull public static android.content.integrity.IntegrityFormula certificatesContain(@NonNull String);
5894    method @NonNull public static android.content.integrity.IntegrityFormula isPreInstalled();
5895    method @NonNull public static android.content.integrity.IntegrityFormula packageNameEquals(@NonNull String);
5896    method @NonNull public static android.content.integrity.IntegrityFormula versionCodeEquals(@NonNull long);
5897    method @NonNull public static android.content.integrity.IntegrityFormula versionCodeGreaterThan(@NonNull long);
5898    method @NonNull public static android.content.integrity.IntegrityFormula versionCodeGreaterThanOrEqualTo(@NonNull long);
5899  }
5900
5901  public static final class IntegrityFormula.Installer {
5902    method @NonNull public static android.content.integrity.IntegrityFormula certificatesContain(@NonNull String);
5903    method @NonNull public static android.content.integrity.IntegrityFormula notAllowedByManifest();
5904    method @NonNull public static android.content.integrity.IntegrityFormula packageNameEquals(@NonNull String);
5905  }
5906
5907  public static final class IntegrityFormula.SourceStamp {
5908    method @NonNull public static android.content.integrity.IntegrityFormula notTrusted();
5909    method @NonNull public static android.content.integrity.IntegrityFormula stampCertificateHashEquals(@NonNull String);
5910  }
5911
5912  public final class Rule implements android.os.Parcelable {
5913    ctor public Rule(@NonNull android.content.integrity.IntegrityFormula, int);
5914    method public int describeContents();
5915    method public int getEffect();
5916    method @NonNull public android.content.integrity.IntegrityFormula getFormula();
5917    method public void writeToParcel(@NonNull android.os.Parcel, int);
5918    field @NonNull public static final android.os.Parcelable.Creator<android.content.integrity.Rule> CREATOR;
5919    field public static final int DENY = 0; // 0x0
5920    field public static final int FORCE_ALLOW = 1; // 0x1
5921  }
5922
5923  public class RuleSet {
5924    method @NonNull public java.util.List<android.content.integrity.Rule> getRules();
5925    method @NonNull public String getVersion();
5926  }
5927
5928  public static class RuleSet.Builder {
5929    ctor public RuleSet.Builder();
5930    method @NonNull public android.content.integrity.RuleSet.Builder addRules(@NonNull java.util.List<android.content.integrity.Rule>);
5931    method @NonNull public android.content.integrity.RuleSet build();
5932    method @NonNull public android.content.integrity.RuleSet.Builder setVersion(@NonNull String);
5933  }
5934
5935}
5936
5937package android.content.om {
5938
5939  public final class OverlayInfo implements android.os.Parcelable {
5940    method @Nullable public String getCategory();
5941    method @NonNull public String getPackageName();
5942    method public int getUserId();
5943    method public boolean isEnabled();
5944  }
5945
5946  public class OverlayManager {
5947    method @Nullable public android.content.om.OverlayInfo getOverlayInfo(@NonNull String, @NonNull android.os.UserHandle);
5948    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);
5949    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;
5950    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;
5951  }
5952
5953}
5954
5955package android.content.pm {
5956
5957  public class ApplicationInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
5958    method @RequiresPermission(android.Manifest.permission.DELETE_PACKAGES) public boolean hasFragileUserData();
5959    method public boolean isEncryptionAware();
5960    method public boolean isInstantApp();
5961    method public boolean isOem();
5962    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public boolean isPrivilegedApp();
5963    method public boolean isProduct();
5964    method public boolean isVendor();
5965    field public String credentialProtectedDataDir;
5966    field public int targetSandboxVersion;
5967  }
5968
5969  public class CrossProfileApps {
5970    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);
5971    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);
5972  }
5973
5974  public class DataLoaderParams {
5975    method @NonNull public static final android.content.pm.DataLoaderParams forIncremental(@NonNull android.content.ComponentName, @NonNull String);
5976    method @NonNull public static final android.content.pm.DataLoaderParams forStreaming(@NonNull android.content.ComponentName, @NonNull String);
5977    method @NonNull public final String getArguments();
5978    method @NonNull public final android.content.ComponentName getComponentName();
5979    method @NonNull public final int getType();
5980  }
5981
5982  public final class InstallationFile {
5983    method public long getLengthBytes();
5984    method public int getLocation();
5985    method @Nullable public byte[] getMetadata();
5986    method @NonNull public String getName();
5987    method @Nullable public byte[] getSignature();
5988  }
5989
5990  public final class InstantAppInfo implements android.os.Parcelable {
5991    ctor public InstantAppInfo(android.content.pm.ApplicationInfo, String[], String[]);
5992    ctor public InstantAppInfo(String, CharSequence, String[], String[]);
5993    method public int describeContents();
5994    method @Nullable public android.content.pm.ApplicationInfo getApplicationInfo();
5995    method @Nullable public String[] getGrantedPermissions();
5996    method @NonNull public String getPackageName();
5997    method @Nullable public String[] getRequestedPermissions();
5998    method @NonNull public android.graphics.drawable.Drawable loadIcon(@NonNull android.content.pm.PackageManager);
5999    method @NonNull public CharSequence loadLabel(@NonNull android.content.pm.PackageManager);
6000    method public void writeToParcel(android.os.Parcel, int);
6001    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppInfo> CREATOR;
6002  }
6003
6004  public final class InstantAppIntentFilter implements android.os.Parcelable {
6005    ctor public InstantAppIntentFilter(@Nullable String, @NonNull java.util.List<android.content.IntentFilter>);
6006    method public int describeContents();
6007    method public java.util.List<android.content.IntentFilter> getFilters();
6008    method public String getSplitName();
6009    method public void writeToParcel(android.os.Parcel, int);
6010    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppIntentFilter> CREATOR;
6011  }
6012
6013  public final class InstantAppRequestInfo implements android.os.Parcelable {
6014    ctor public InstantAppRequestInfo(@NonNull android.content.Intent, @Nullable int[], @NonNull android.os.UserHandle, boolean, @NonNull String);
6015    method public int describeContents();
6016    method @Nullable public int[] getHostDigestPrefix();
6017    method @NonNull public android.content.Intent getIntent();
6018    method @NonNull public String getToken();
6019    method @NonNull public android.os.UserHandle getUserHandle();
6020    method public boolean isRequesterInstantApp();
6021    method public void writeToParcel(@NonNull android.os.Parcel, int);
6022    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppRequestInfo> CREATOR;
6023  }
6024
6025  public final class InstantAppResolveInfo implements android.os.Parcelable {
6026    ctor public InstantAppResolveInfo(@NonNull android.content.pm.InstantAppResolveInfo.InstantAppDigest, @Nullable String, @Nullable java.util.List<android.content.pm.InstantAppIntentFilter>, int);
6027    ctor public InstantAppResolveInfo(@NonNull android.content.pm.InstantAppResolveInfo.InstantAppDigest, @Nullable String, @Nullable java.util.List<android.content.pm.InstantAppIntentFilter>, long, @Nullable android.os.Bundle);
6028    ctor public InstantAppResolveInfo(@Nullable android.os.Bundle);
6029    ctor public InstantAppResolveInfo(@NonNull String, @Nullable String, @Nullable java.util.List<android.content.pm.InstantAppIntentFilter>);
6030    method public int describeContents();
6031    method public byte[] getDigestBytes();
6032    method public int getDigestPrefix();
6033    method @Nullable public android.os.Bundle getExtras();
6034    method public java.util.List<android.content.pm.InstantAppIntentFilter> getIntentFilters();
6035    method public long getLongVersionCode();
6036    method public String getPackageName();
6037    method @Deprecated public int getVersionCode();
6038    method public boolean shouldLetInstallerDecide();
6039    method public void writeToParcel(android.os.Parcel, int);
6040    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppResolveInfo> CREATOR;
6041  }
6042
6043  public static final class InstantAppResolveInfo.InstantAppDigest implements android.os.Parcelable {
6044    ctor public InstantAppResolveInfo.InstantAppDigest(@NonNull String);
6045    method public int describeContents();
6046    method public byte[][] getDigestBytes();
6047    method public int[] getDigestPrefix();
6048    method public void writeToParcel(android.os.Parcel, int);
6049    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppResolveInfo.InstantAppDigest> CREATOR;
6050    field public static final android.content.pm.InstantAppResolveInfo.InstantAppDigest UNDEFINED;
6051  }
6052
6053  public final class IntentFilterVerificationInfo implements android.os.Parcelable {
6054    method public int describeContents();
6055    method public java.util.Set<java.lang.String> getDomains();
6056    method public String getPackageName();
6057    method public int getStatus();
6058    method public void writeToParcel(android.os.Parcel, int);
6059    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.IntentFilterVerificationInfo> CREATOR;
6060  }
6061
6062  public class LauncherApps {
6063    method @Nullable public android.content.pm.LauncherApps.AppUsageLimit getAppUsageLimit(@NonNull String, @NonNull android.os.UserHandle);
6064  }
6065
6066  public static final class LauncherApps.AppUsageLimit implements android.os.Parcelable {
6067    method public int describeContents();
6068    method public long getTotalUsageLimit();
6069    method public long getUsageRemaining();
6070    method public void writeToParcel(android.os.Parcel, int);
6071    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.LauncherApps.AppUsageLimit> CREATOR;
6072  }
6073
6074  public static class LauncherApps.ShortcutQuery {
6075    field public static final int FLAG_GET_PERSISTED_DATA = 4096; // 0x1000
6076    field @RequiresPermission(android.Manifest.permission.ACCESS_SHORTCUTS) public static final int FLAG_GET_PERSONS_DATA = 2048; // 0x800
6077  }
6078
6079  public class PackageInstaller {
6080    method @FlaggedApi("android.content.pm.read_install_info") @NonNull public android.content.pm.PackageInstaller.InstallInfo readInstallInfo(@NonNull android.os.ParcelFileDescriptor, @Nullable String, int) throws android.content.pm.PackageInstaller.PackageParsingException;
6081    method @NonNull public android.content.pm.PackageInstaller.InstallInfo readInstallInfo(@NonNull java.io.File, int) throws android.content.pm.PackageInstaller.PackageParsingException;
6082    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void setPermissionsResult(int, boolean);
6083    field public static final String ACTION_CONFIRM_INSTALL = "android.content.pm.action.CONFIRM_INSTALL";
6084    field public static final String ACTION_CONFIRM_PRE_APPROVAL = "android.content.pm.action.CONFIRM_PRE_APPROVAL";
6085    field @FlaggedApi("android.content.pm.sdk_dependency_installer") public static final String ACTION_INSTALL_DEPENDENCY = "android.content.pm.action.INSTALL_DEPENDENCY";
6086    field public static final int DATA_LOADER_TYPE_INCREMENTAL = 2; // 0x2
6087    field public static final int DATA_LOADER_TYPE_NONE = 0; // 0x0
6088    field public static final int DATA_LOADER_TYPE_STREAMING = 1; // 0x1
6089    field public static final String EXTRA_CALLBACK = "android.content.pm.extra.CALLBACK";
6090    field public static final String EXTRA_DATA_LOADER_TYPE = "android.content.pm.extra.DATA_LOADER_TYPE";
6091    field @FlaggedApi("android.content.pm.archiving") public static final String EXTRA_DELETE_FLAGS = "android.content.pm.extra.DELETE_FLAGS";
6092    field public static final String EXTRA_LEGACY_STATUS = "android.content.pm.extra.LEGACY_STATUS";
6093    field @Deprecated public static final String EXTRA_RESOLVED_BASE_PATH = "android.content.pm.extra.RESOLVED_BASE_PATH";
6094    field public static final int LOCATION_DATA_APP = 0; // 0x0
6095    field public static final int LOCATION_MEDIA_DATA = 2; // 0x2
6096    field public static final int LOCATION_MEDIA_OBB = 1; // 0x1
6097    field public static final int REASON_CONFIRM_PACKAGE_CHANGE = 0; // 0x0
6098    field public static final int REASON_OWNERSHIP_CHANGED = 1; // 0x1
6099    field public static final int REASON_REMIND_OWNERSHIP = 2; // 0x2
6100  }
6101
6102  public static class PackageInstaller.InstallInfo {
6103    method public long calculateInstalledSize(@NonNull android.content.pm.PackageInstaller.SessionParams) throws java.io.IOException;
6104    method @FlaggedApi("android.content.pm.read_install_info") public long calculateInstalledSize(@NonNull android.content.pm.PackageInstaller.SessionParams, @NonNull android.os.ParcelFileDescriptor) throws java.io.IOException;
6105    method public int getInstallLocation();
6106    method @NonNull public String getPackageName();
6107  }
6108
6109  public static class PackageInstaller.PackageParsingException extends java.lang.Exception {
6110    method public int getErrorCode();
6111  }
6112
6113  public static class PackageInstaller.Session implements java.io.Closeable {
6114    method @RequiresPermission("com.android.permission.USE_INSTALLER_V2") public void addFile(int, @NonNull String, long, @NonNull byte[], @Nullable byte[]);
6115    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void commitTransferred(@NonNull android.content.IntentSender);
6116    method @Nullable @RequiresPermission("com.android.permission.USE_INSTALLER_V2") public android.content.pm.DataLoaderParams getDataLoaderParams();
6117    method @FlaggedApi("android.content.pm.set_pre_verified_domains") @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_INSTANT_APPS) public java.util.Set<java.lang.String> getPreVerifiedDomains();
6118    method @RequiresPermission("com.android.permission.USE_INSTALLER_V2") public void removeFile(int, @NonNull String);
6119    method @FlaggedApi("android.content.pm.set_pre_verified_domains") @RequiresPermission(android.Manifest.permission.ACCESS_INSTANT_APPS) public void setPreVerifiedDomains(@NonNull java.util.Set<java.lang.String>);
6120  }
6121
6122  public static class PackageInstaller.SessionInfo implements android.os.Parcelable {
6123    method public boolean getAllocateAggressive();
6124    method @Deprecated public boolean getAllowDowngrade();
6125    method public int getAutoRevokePermissionsMode();
6126    method public boolean getEnableRollback();
6127    method @Nullable public String[] getGrantedRuntimePermissions();
6128    method public boolean getInstallAsFullApp(boolean);
6129    method public boolean getInstallAsInstantApp(boolean);
6130    method public boolean getInstallAsVirtualPreload();
6131    method public int getPendingUserActionReason();
6132    method public boolean getRequestDowngrade();
6133    method @FlaggedApi("android.content.pm.get_resolved_apk_path") @Nullable @RequiresPermission(android.Manifest.permission.READ_INSTALLED_SESSION_PATHS) public String getResolvedBaseApkPath();
6134    method public int getRollbackDataPolicy();
6135    method @NonNull public java.util.Set<java.lang.String> getWhitelistedRestrictedPermissions();
6136  }
6137
6138  public static class PackageInstaller.SessionParams implements android.os.Parcelable {
6139    method @RequiresPermission(android.Manifest.permission.ALLOCATE_AGGRESSIVE) public void setAllocateAggressive(boolean);
6140    method @Deprecated public void setAllowDowngrade(boolean);
6141    method @RequiresPermission(allOf={android.Manifest.permission.INSTALL_PACKAGES, "com.android.permission.USE_INSTALLER_V2"}) public void setDataLoaderParams(@NonNull android.content.pm.DataLoaderParams);
6142    method public void setEnableRollback(boolean);
6143    method public void setEnableRollback(boolean, int);
6144    method @Deprecated @RequiresPermission(android.Manifest.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS) public void setGrantedRuntimePermissions(String[]);
6145    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void setInstallAsApex();
6146    method public void setInstallAsInstantApp(boolean);
6147    method public void setInstallAsVirtualPreload();
6148    method public void setRequestDowngrade(boolean);
6149    method @FlaggedApi("android.content.pm.recoverability_detection") @RequiresPermission(android.Manifest.permission.MANAGE_ROLLBACKS) public void setRollbackImpactLevel(int);
6150    method @FlaggedApi("android.content.pm.rollback_lifetime") @RequiresPermission(android.Manifest.permission.MANAGE_ROLLBACKS) public void setRollbackLifetimeMillis(long);
6151    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void setStaged();
6152  }
6153
6154  public class PackageItemInfo {
6155    method public static void forceSafeLabels();
6156    method @Deprecated @NonNull public CharSequence loadSafeLabel(@NonNull android.content.pm.PackageManager);
6157    method @NonNull public CharSequence loadSafeLabel(@NonNull android.content.pm.PackageManager, @FloatRange(from=0) float, int);
6158  }
6159
6160  public abstract class PackageManager {
6161    method @RequiresPermission("android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS") public abstract void addOnPermissionsChangeListener(@NonNull android.content.pm.PackageManager.OnPermissionsChangedListener);
6162    method public abstract boolean arePermissionsIndividuallyControlled();
6163    method @NonNull public boolean canUserUninstall(@NonNull String, @NonNull android.os.UserHandle);
6164    method @NonNull public abstract java.util.List<android.content.IntentFilter> getAllIntentFilters(@NonNull String);
6165    method @NonNull @RequiresPermission(android.Manifest.permission.GET_APP_METADATA) public android.os.PersistableBundle getAppMetadata(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
6166    method @FlaggedApi("android.content.pm.asl_in_apk_app_metadata_source") @RequiresPermission(android.Manifest.permission.GET_APP_METADATA) public int getAppMetadataSource(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
6167    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;
6168    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;
6169    method @NonNull public android.content.pm.dex.ArtManager getArtManager();
6170    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);
6171    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_SHARED_LIBRARIES) public java.util.List<android.content.pm.SharedLibraryInfo> getDeclaredSharedLibraries(@NonNull String, int);
6172    method @Nullable @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public abstract String getDefaultBrowserPackageNameAsUser(int);
6173    method @Nullable @RequiresPermission(android.Manifest.permission.SET_HARMFUL_APP_WARNINGS) public CharSequence getHarmfulAppWarning(@NonNull String);
6174    method @Nullable public String getIncidentReportApproverPackageName();
6175    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);
6176    method @NonNull @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public abstract java.util.List<android.content.pm.PackageInfo> getInstalledPackagesAsUser(int, int);
6177    method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_INSTANT_APPS) public abstract android.graphics.drawable.Drawable getInstantAppIcon(String);
6178    method @Nullable public abstract android.content.ComponentName getInstantAppInstallerComponent();
6179    method @Nullable public abstract android.content.ComponentName getInstantAppResolverSettingsComponent();
6180    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_INSTANT_APPS) public abstract java.util.List<android.content.pm.InstantAppInfo> getInstantApps();
6181    method @Deprecated @NonNull public abstract java.util.List<android.content.pm.IntentFilterVerificationInfo> getIntentFilterVerifications(@NonNull String);
6182    method @Deprecated @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public abstract int getIntentVerificationStatusAsUser(@NonNull String, int);
6183    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;
6184    method @NonNull public String getPermissionControllerPackageName();
6185    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);
6186    method @NonNull @RequiresPermission(android.Manifest.permission.SUSPEND_APPS) public String[] getUnsuspendablePackages(@NonNull String[]);
6187    method @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public abstract void grantRuntimePermission(@NonNull String, @NonNull String, @NonNull android.os.UserHandle);
6188    method @Deprecated public abstract int installExistingPackage(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
6189    method @Deprecated public abstract int installExistingPackage(@NonNull String, int) throws android.content.pm.PackageManager.NameNotFoundException;
6190    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);
6191    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);
6192    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);
6193    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);
6194    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);
6195    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);
6196    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);
6197    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);
6198    method public abstract void registerDexModule(@NonNull String, @Nullable android.content.pm.PackageManager.DexModuleRegisterCallback);
6199    method @RequiresPermission("android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS") public abstract void removeOnPermissionsChangeListener(@NonNull android.content.pm.PackageManager.OnPermissionsChangedListener);
6200    method public void replacePreferredActivity(@NonNull android.content.IntentFilter, int, @NonNull java.util.List<android.content.ComponentName>, @NonNull android.content.ComponentName);
6201    method @RequiresPermission(android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS) public abstract void revokeRuntimePermission(@NonNull String, @NonNull String, @NonNull android.os.UserHandle);
6202    method @RequiresPermission(android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS) public void revokeRuntimePermission(@NonNull String, @NonNull String, @NonNull android.os.UserHandle, @NonNull String);
6203    method public void sendDeviceCustomizationReadyBroadcast();
6204    method @RequiresPermission(allOf={android.Manifest.permission.SET_PREFERRED_APPLICATIONS, android.Manifest.permission.INTERACT_ACROSS_USERS_FULL}) public abstract boolean setDefaultBrowserPackageNameAsUser(@Nullable String, int);
6205    method @NonNull @RequiresPermission(android.Manifest.permission.SUSPEND_APPS) public String[] setDistractingPackageRestrictions(@NonNull String[], int);
6206    method @RequiresPermission(android.Manifest.permission.SET_HARMFUL_APP_WARNINGS) public void setHarmfulAppWarning(@NonNull String, @Nullable CharSequence);
6207    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);
6208    method @FlaggedApi("android.content.pm.quarantined_enabled") @Nullable @RequiresPermission(anyOf={android.Manifest.permission.SUSPEND_APPS, android.Manifest.permission.QUARANTINE_APPS}, conditional=true) public String[] setPackagesSuspended(@Nullable String[], boolean, @Nullable android.os.PersistableBundle, @Nullable android.os.PersistableBundle, @Nullable android.content.pm.SuspendDialogInfo, int);
6209    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);
6210    method @RequiresPermission(value=android.Manifest.permission.CHANGE_COMPONENT_ENABLED_STATE, conditional=true) public void setSyntheticAppDetailsActivityEnabled(@NonNull String, boolean);
6211    method public void setSystemAppState(@NonNull String, int);
6212    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public abstract void setUpdateAvailable(@NonNull String, boolean);
6213    method @NonNull public boolean shouldShowNewAppInstalledNotification();
6214    method @Deprecated @RequiresPermission(android.Manifest.permission.SET_PREFERRED_APPLICATIONS) public abstract boolean updateIntentVerificationStatusAsUser(@NonNull String, int, int);
6215    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);
6216    method @Deprecated @RequiresPermission(android.Manifest.permission.INTENT_FILTER_VERIFICATION_AGENT) public abstract void verifyIntentFilter(int, int, @NonNull java.util.List<java.lang.String>);
6217    field public static final String ACTION_REQUEST_PERMISSIONS = "android.content.pm.action.REQUEST_PERMISSIONS";
6218    field public static final String ACTION_REQUEST_PERMISSIONS_FOR_OTHER = "android.content.pm.action.REQUEST_PERMISSIONS_FOR_OTHER";
6219    field @FlaggedApi("android.content.pm.asl_in_apk_app_metadata_source") public static final int APP_METADATA_SOURCE_APK = 1; // 0x1
6220    field @FlaggedApi("android.content.pm.asl_in_apk_app_metadata_source") public static final int APP_METADATA_SOURCE_INSTALLER = 2; // 0x2
6221    field @FlaggedApi("android.content.pm.asl_in_apk_app_metadata_source") public static final int APP_METADATA_SOURCE_SYSTEM_IMAGE = 3; // 0x3
6222    field @FlaggedApi("android.content.pm.asl_in_apk_app_metadata_source") public static final int APP_METADATA_SOURCE_UNKNOWN = 0; // 0x0
6223    field public static final int DELETE_ALL_USERS = 2; // 0x2
6224    field public static final int DELETE_FAILED_ABORTED = -5; // 0xfffffffb
6225    field public static final int DELETE_FAILED_DEVICE_POLICY_MANAGER = -2; // 0xfffffffe
6226    field public static final int DELETE_FAILED_INTERNAL_ERROR = -1; // 0xffffffff
6227    field public static final int DELETE_FAILED_OWNER_BLOCKED = -4; // 0xfffffffc
6228    field public static final int DELETE_KEEP_DATA = 1; // 0x1
6229    field public static final int DELETE_SUCCEEDED = 1; // 0x1
6230    field @FlaggedApi("android.permission.flags.device_aware_permission_apis_enabled") public static final String EXTRA_REQUEST_PERMISSIONS_DEVICE_ID = "android.content.pm.extra.REQUEST_PERMISSIONS_DEVICE_ID";
6231    field public static final String EXTRA_REQUEST_PERMISSIONS_LEGACY_ACCESS_PERMISSION_NAMES = "android.content.pm.extra.REQUEST_PERMISSIONS_LEGACY_ACCESS_PERMISSION_NAMES";
6232    field public static final String EXTRA_REQUEST_PERMISSIONS_NAMES = "android.content.pm.extra.REQUEST_PERMISSIONS_NAMES";
6233    field public static final String EXTRA_REQUEST_PERMISSIONS_RESULTS = "android.content.pm.extra.REQUEST_PERMISSIONS_RESULTS";
6234    field public static final String FEATURE_BROADCAST_RADIO = "android.hardware.broadcastradio";
6235    field public static final String FEATURE_CONTEXT_HUB = "android.hardware.context_hub";
6236    field public static final String FEATURE_EROFS = "android.software.erofs";
6237    field public static final String FEATURE_EROFS_LEGACY = "android.software.erofs_legacy";
6238    field public static final String FEATURE_GAME_SERVICE = "android.software.game_service";
6239    field public static final String FEATURE_INCREMENTAL_DELIVERY = "android.software.incremental_delivery";
6240    field public static final String FEATURE_REBOOT_ESCROW = "android.hardware.reboot_escrow";
6241    field public static final String FEATURE_TELEPHONY_CARRIERLOCK = "android.hardware.telephony.carrierlock";
6242    field public static final String FEATURE_TELEPHONY_IMS_SINGLE_REGISTRATION = "android.hardware.telephony.ims.singlereg";
6243    field public static final String FEATURE_VIRTUALIZATION_FRAMEWORK = "android.software.virtualization_framework";
6244    field public static final int FLAGS_PERMISSION_RESERVED_PERMISSION_CONTROLLER = -268435456; // 0xf0000000
6245    field public static final int FLAG_PERMISSION_APPLY_RESTRICTION = 16384; // 0x4000
6246    field public static final int FLAG_PERMISSION_AUTO_REVOKED = 131072; // 0x20000
6247    field public static final int FLAG_PERMISSION_GRANTED_BY_DEFAULT = 32; // 0x20
6248    field public static final int FLAG_PERMISSION_GRANTED_BY_ROLE = 32768; // 0x8000
6249    field public static final int FLAG_PERMISSION_ONE_TIME = 65536; // 0x10000
6250    field public static final int FLAG_PERMISSION_POLICY_FIXED = 4; // 0x4
6251    field public static final int FLAG_PERMISSION_RESTRICTION_INSTALLER_EXEMPT = 2048; // 0x800
6252    field public static final int FLAG_PERMISSION_RESTRICTION_SYSTEM_EXEMPT = 4096; // 0x1000
6253    field public static final int FLAG_PERMISSION_RESTRICTION_UPGRADE_EXEMPT = 8192; // 0x2000
6254    field public static final int FLAG_PERMISSION_REVIEW_REQUIRED = 64; // 0x40
6255    field public static final int FLAG_PERMISSION_REVOKED_COMPAT = 8; // 0x8
6256    field @Deprecated public static final int FLAG_PERMISSION_REVOKE_ON_UPGRADE = 8; // 0x8
6257    field public static final int FLAG_PERMISSION_REVOKE_WHEN_REQUESTED = 128; // 0x80
6258    field public static final int FLAG_PERMISSION_SELECTED_LOCATION_ACCURACY = 524288; // 0x80000
6259    field public static final int FLAG_PERMISSION_SYSTEM_FIXED = 16; // 0x10
6260    field public static final int FLAG_PERMISSION_USER_FIXED = 2; // 0x2
6261    field public static final int FLAG_PERMISSION_USER_SENSITIVE_WHEN_DENIED = 512; // 0x200
6262    field public static final int FLAG_PERMISSION_USER_SENSITIVE_WHEN_GRANTED = 256; // 0x100
6263    field public static final int FLAG_PERMISSION_USER_SET = 1; // 0x1
6264    field @FlaggedApi("android.content.pm.quarantined_enabled") public static final int FLAG_SUSPEND_QUARANTINED = 1; // 0x1
6265    field public static final int INSTALL_FAILED_ALREADY_EXISTS = -1; // 0xffffffff
6266    field public static final int INSTALL_FAILED_CONFLICTING_PROVIDER = -13; // 0xfffffff3
6267    field public static final int INSTALL_FAILED_CONTAINER_ERROR = -18; // 0xffffffee
6268    field public static final int INSTALL_FAILED_CPU_ABI_INCOMPATIBLE = -16; // 0xfffffff0
6269    field public static final int INSTALL_FAILED_DEXOPT = -11; // 0xfffffff5
6270    field public static final int INSTALL_FAILED_DUPLICATE_PACKAGE = -5; // 0xfffffffb
6271    field public static final int INSTALL_FAILED_INSUFFICIENT_STORAGE = -4; // 0xfffffffc
6272    field public static final int INSTALL_FAILED_INTERNAL_ERROR = -110; // 0xffffff92
6273    field public static final int INSTALL_FAILED_INVALID_APK = -2; // 0xfffffffe
6274    field public static final int INSTALL_FAILED_INVALID_INSTALL_LOCATION = -19; // 0xffffffed
6275    field public static final int INSTALL_FAILED_INVALID_URI = -3; // 0xfffffffd
6276    field public static final int INSTALL_FAILED_MEDIA_UNAVAILABLE = -20; // 0xffffffec
6277    field public static final int INSTALL_FAILED_MISSING_FEATURE = -17; // 0xffffffef
6278    field public static final int INSTALL_FAILED_MISSING_SHARED_LIBRARY = -9; // 0xfffffff7
6279    field public static final int INSTALL_FAILED_NEWER_SDK = -14; // 0xfffffff2
6280    field public static final int INSTALL_FAILED_NO_SHARED_USER = -6; // 0xfffffffa
6281    field public static final int INSTALL_FAILED_OLDER_SDK = -12; // 0xfffffff4
6282    field public static final int INSTALL_FAILED_PACKAGE_CHANGED = -23; // 0xffffffe9
6283    field public static final int INSTALL_FAILED_PERMISSION_MODEL_DOWNGRADE = -26; // 0xffffffe6
6284    field public static final int INSTALL_FAILED_REPLACE_COULDNT_DELETE = -10; // 0xfffffff6
6285    field public static final int INSTALL_FAILED_SANDBOX_VERSION_DOWNGRADE = -27; // 0xffffffe5
6286    field public static final int INSTALL_FAILED_SHARED_USER_INCOMPATIBLE = -8; // 0xfffffff8
6287    field public static final int INSTALL_FAILED_TEST_ONLY = -15; // 0xfffffff1
6288    field public static final int INSTALL_FAILED_UPDATE_INCOMPATIBLE = -7; // 0xfffffff9
6289    field public static final int INSTALL_FAILED_VERIFICATION_FAILURE = -22; // 0xffffffea
6290    field public static final int INSTALL_FAILED_VERIFICATION_TIMEOUT = -21; // 0xffffffeb
6291    field public static final int INSTALL_PARSE_FAILED_BAD_MANIFEST = -101; // 0xffffff9b
6292    field public static final int INSTALL_PARSE_FAILED_BAD_PACKAGE_NAME = -106; // 0xffffff96
6293    field public static final int INSTALL_PARSE_FAILED_BAD_SHARED_USER_ID = -107; // 0xffffff95
6294    field public static final int INSTALL_PARSE_FAILED_CERTIFICATE_ENCODING = -105; // 0xffffff97
6295    field public static final int INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES = -104; // 0xffffff98
6296    field public static final int INSTALL_PARSE_FAILED_MANIFEST_EMPTY = -109; // 0xffffff93
6297    field public static final int INSTALL_PARSE_FAILED_MANIFEST_MALFORMED = -108; // 0xffffff94
6298    field public static final int INSTALL_PARSE_FAILED_NOT_APK = -100; // 0xffffff9c
6299    field public static final int INSTALL_PARSE_FAILED_NO_CERTIFICATES = -103; // 0xffffff99
6300    field public static final int INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION = -102; // 0xffffff9a
6301    field public static final int INSTALL_SUCCEEDED = 1; // 0x1
6302    field @Deprecated public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ALWAYS = 2; // 0x2
6303    field @Deprecated public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ALWAYS_ASK = 4; // 0x4
6304    field @Deprecated public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ASK = 1; // 0x1
6305    field @Deprecated public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_NEVER = 3; // 0x3
6306    field @Deprecated public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_UNDEFINED = 0; // 0x0
6307    field @Deprecated public static final int INTENT_FILTER_VERIFICATION_FAILURE = -1; // 0xffffffff
6308    field @Deprecated public static final int INTENT_FILTER_VERIFICATION_SUCCESS = 1; // 0x1
6309    field @Deprecated public static final int MASK_PERMISSION_FLAGS = 255; // 0xff
6310    field public static final int MATCH_ANY_USER = 4194304; // 0x400000
6311    field @Deprecated public static final int MATCH_CLONE_PROFILE = 536870912; // 0x20000000
6312    field @FlaggedApi("android.content.pm.fix_duplicated_flags") public static final long MATCH_CLONE_PROFILE_LONG = 17179869184L; // 0x400000000L
6313    field public static final int MATCH_FACTORY_ONLY = 2097152; // 0x200000
6314    field public static final int MATCH_HIDDEN_UNTIL_INSTALLED_COMPONENTS = 536870912; // 0x20000000
6315    field public static final int MATCH_INSTANT = 8388608; // 0x800000
6316    field public static final int MODULE_APEX_NAME = 1; // 0x1
6317    field public static final int RESTRICTION_HIDE_FROM_SUGGESTIONS = 1; // 0x1
6318    field public static final int RESTRICTION_HIDE_NOTIFICATIONS = 2; // 0x2
6319    field public static final int RESTRICTION_NONE = 0; // 0x0
6320    field public static final int ROLLBACK_DATA_POLICY_RESTORE = 0; // 0x0
6321    field public static final int ROLLBACK_DATA_POLICY_RETAIN = 2; // 0x2
6322    field public static final int ROLLBACK_DATA_POLICY_WIPE = 1; // 0x1
6323    field @FlaggedApi("android.content.pm.recoverability_detection") public static final int ROLLBACK_USER_IMPACT_HIGH = 1; // 0x1
6324    field @FlaggedApi("android.content.pm.recoverability_detection") public static final int ROLLBACK_USER_IMPACT_LOW = 0; // 0x0
6325    field @FlaggedApi("android.content.pm.recoverability_detection") public static final int ROLLBACK_USER_IMPACT_ONLY_MANUAL = 2; // 0x2
6326    field public static final int SYSTEM_APP_STATE_HIDDEN_UNTIL_INSTALLED_HIDDEN = 0; // 0x0
6327    field public static final int SYSTEM_APP_STATE_HIDDEN_UNTIL_INSTALLED_VISIBLE = 1; // 0x1
6328    field public static final int SYSTEM_APP_STATE_INSTALLED = 2; // 0x2
6329    field public static final int SYSTEM_APP_STATE_UNINSTALLED = 3; // 0x3
6330  }
6331
6332  public abstract static class PackageManager.DexModuleRegisterCallback {
6333    ctor public PackageManager.DexModuleRegisterCallback();
6334    method public abstract void onDexModuleRegistered(String, boolean, String);
6335  }
6336
6337  public static interface PackageManager.OnPermissionsChangedListener {
6338    method public void onPermissionsChanged(int);
6339    method @FlaggedApi("android.permission.flags.device_aware_permission_apis_enabled") public default void onPermissionsChanged(int, @NonNull String);
6340  }
6341
6342  public static final class PackageManager.UninstallCompleteCallback implements android.os.Parcelable {
6343    method public int describeContents();
6344    method public void onUninstallComplete(@NonNull String, int, @Nullable String);
6345    method public void writeToParcel(@NonNull android.os.Parcel, int);
6346    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.PackageManager.UninstallCompleteCallback> CREATOR;
6347  }
6348
6349  public class PermissionGroupInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
6350    field @StringRes public final int backgroundRequestDetailResourceId;
6351    field @StringRes public final int backgroundRequestResourceId;
6352    field @StringRes public final int requestDetailResourceId;
6353    field @StringRes public int requestRes;
6354  }
6355
6356  public class PermissionInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
6357    field public static final int FLAG_REMOVED = 2; // 0x2
6358    field public static final int PROTECTION_FLAG_APP_PREDICTOR = 2097152; // 0x200000
6359    field public static final int PROTECTION_FLAG_COMPANION = 8388608; // 0x800000
6360    field public static final int PROTECTION_FLAG_CONFIGURATOR = 524288; // 0x80000
6361    field @Deprecated public static final int PROTECTION_FLAG_DOCUMENTER = 262144; // 0x40000
6362    field public static final int PROTECTION_FLAG_INCIDENT_REPORT_APPROVER = 1048576; // 0x100000
6363    field public static final int PROTECTION_FLAG_KNOWN_SIGNER = 134217728; // 0x8000000
6364    field public static final int PROTECTION_FLAG_MODULE = 4194304; // 0x400000
6365    field public static final int PROTECTION_FLAG_OEM = 16384; // 0x4000
6366    field public static final int PROTECTION_FLAG_RECENTS = 33554432; // 0x2000000
6367    field @Deprecated public static final int PROTECTION_FLAG_RETAIL_DEMO = 16777216; // 0x1000000
6368    field public static final int PROTECTION_FLAG_ROLE = 67108864; // 0x4000000
6369    field public static final int PROTECTION_FLAG_SYSTEM_TEXT_CLASSIFIER = 65536; // 0x10000
6370    field public static final int PROTECTION_FLAG_VENDOR_PRIVILEGED = 32768; // 0x8000
6371    field @Deprecated public static final int PROTECTION_FLAG_WELLBEING = 131072; // 0x20000
6372    field @Nullable public final String backgroundPermission;
6373    field @NonNull public java.util.Set<java.lang.String> knownCerts;
6374    field @StringRes public int requestRes;
6375  }
6376
6377  public class ResolveInfo implements android.os.Parcelable {
6378    field public boolean handleAllWebDataURI;
6379  }
6380
6381  public final class ShortcutInfo implements android.os.Parcelable {
6382    method @Nullable public android.app.Person[] getPersons();
6383  }
6384
6385  public class ShortcutManager {
6386    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_APP_PREDICTIONS) @WorkerThread public java.util.List<android.content.pm.ShortcutManager.ShareShortcutInfo> getShareTargets(@NonNull android.content.IntentFilter);
6387    method public boolean hasShareTargets(@NonNull String);
6388  }
6389
6390  public static final class ShortcutManager.ShareShortcutInfo implements android.os.Parcelable {
6391    method public int describeContents();
6392    method @NonNull public android.content.pm.ShortcutInfo getShortcutInfo();
6393    method @NonNull public android.content.ComponentName getTargetComponent();
6394    method public void writeToParcel(@NonNull android.os.Parcel, int);
6395    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.ShortcutManager.ShareShortcutInfo> CREATOR;
6396  }
6397
6398  public final class SuspendDialogInfo implements android.os.Parcelable {
6399    method public int describeContents();
6400    method public void writeToParcel(android.os.Parcel, int);
6401    field public static final int BUTTON_ACTION_MORE_DETAILS = 0; // 0x0
6402    field public static final int BUTTON_ACTION_UNSUSPEND = 1; // 0x1
6403    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.SuspendDialogInfo> CREATOR;
6404  }
6405
6406  public static final class SuspendDialogInfo.Builder {
6407    ctor public SuspendDialogInfo.Builder();
6408    method @NonNull public android.content.pm.SuspendDialogInfo build();
6409    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setIcon(@DrawableRes int);
6410    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setMessage(@StringRes int);
6411    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setMessage(@NonNull String);
6412    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setNeutralButtonAction(int);
6413    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setNeutralButtonText(@StringRes int);
6414    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setNeutralButtonText(@NonNull String);
6415    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setTitle(@StringRes int);
6416    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setTitle(@NonNull String);
6417  }
6418
6419  public final class UserProperties implements android.os.Parcelable {
6420    method public int describeContents();
6421    method public int getCrossProfileContentSharingStrategy();
6422    method public int getShowInQuietMode();
6423    method public int getShowInSharingSurfaces();
6424    method public boolean isCredentialShareableWithParent();
6425    method public boolean isMediaSharedWithParent();
6426    method public void writeToParcel(@NonNull android.os.Parcel, int);
6427    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.UserProperties> CREATOR;
6428    field public static final int CROSS_PROFILE_CONTENT_SHARING_DELEGATE_FROM_PARENT = 1; // 0x1
6429    field public static final int CROSS_PROFILE_CONTENT_SHARING_NO_DELEGATION = 0; // 0x0
6430    field public static final int CROSS_PROFILE_CONTENT_SHARING_UNKNOWN = -1; // 0xffffffff
6431    field public static final int SHOW_IN_QUIET_MODE_DEFAULT = 2; // 0x2
6432    field public static final int SHOW_IN_QUIET_MODE_HIDDEN = 1; // 0x1
6433    field public static final int SHOW_IN_QUIET_MODE_PAUSED = 0; // 0x0
6434    field public static final int SHOW_IN_QUIET_MODE_UNKNOWN = -1; // 0xffffffff
6435    field public static final int SHOW_IN_SHARING_SURFACES_NO = 2; // 0x2
6436    field public static final int SHOW_IN_SHARING_SURFACES_SEPARATE = 1; // 0x1
6437    field public static final int SHOW_IN_SHARING_SURFACES_UNKNOWN = -1; // 0xffffffff
6438    field public static final int SHOW_IN_SHARING_SURFACES_WITH_PARENT = 0; // 0x0
6439  }
6440
6441}
6442
6443package android.content.pm.dependencyinstaller {
6444
6445  @FlaggedApi("android.content.pm.sdk_dependency_installer") public final class DependencyInstallerCallback implements android.os.Parcelable {
6446    method public int describeContents();
6447    method public void onAllDependenciesResolved(@NonNull int[]);
6448    method public void onFailureToResolveAllDependencies();
6449    method public void writeToParcel(@NonNull android.os.Parcel, int);
6450    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.dependencyinstaller.DependencyInstallerCallback> CREATOR;
6451  }
6452
6453  @FlaggedApi("android.content.pm.sdk_dependency_installer") public abstract class DependencyInstallerService extends android.app.Service {
6454    ctor public DependencyInstallerService();
6455    method @NonNull public final android.os.IBinder onBind(@Nullable android.content.Intent);
6456    method public abstract void onDependenciesRequired(@NonNull java.util.List<android.content.pm.SharedLibraryInfo>, @NonNull android.content.pm.dependencyinstaller.DependencyInstallerCallback);
6457  }
6458
6459}
6460
6461package android.content.pm.dex {
6462
6463  public class ArtManager {
6464    method @RequiresPermission(allOf={android.Manifest.permission.READ_RUNTIME_PROFILES, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean isRuntimeProfilingEnabled(int);
6465    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);
6466    field public static final int PROFILE_APPS = 0; // 0x0
6467    field public static final int PROFILE_BOOT_IMAGE = 1; // 0x1
6468    field public static final int SNAPSHOT_FAILED_CODE_PATH_NOT_FOUND = 1; // 0x1
6469    field public static final int SNAPSHOT_FAILED_INTERNAL_ERROR = 2; // 0x2
6470    field public static final int SNAPSHOT_FAILED_PACKAGE_NOT_FOUND = 0; // 0x0
6471  }
6472
6473  public abstract static class ArtManager.SnapshotRuntimeProfileCallback {
6474    ctor public ArtManager.SnapshotRuntimeProfileCallback();
6475    method public abstract void onError(int);
6476    method public abstract void onSuccess(android.os.ParcelFileDescriptor);
6477  }
6478
6479}
6480
6481package android.content.pm.permission {
6482
6483  @Deprecated public final class RuntimePermissionPresentationInfo implements android.os.Parcelable {
6484    ctor @Deprecated public RuntimePermissionPresentationInfo(CharSequence, boolean, boolean);
6485    method @Deprecated public int describeContents();
6486    method @Deprecated @NonNull public CharSequence getLabel();
6487    method @Deprecated public boolean isGranted();
6488    method @Deprecated public boolean isStandard();
6489    method @Deprecated public void writeToParcel(android.os.Parcel, int);
6490    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.content.pm.permission.RuntimePermissionPresentationInfo> CREATOR;
6491  }
6492
6493}
6494
6495package android.content.pm.verify.domain {
6496
6497  public final class DomainOwner implements android.os.Parcelable {
6498    ctor public DomainOwner(@NonNull String, boolean);
6499    method public int describeContents();
6500    method @NonNull public String getPackageName();
6501    method public boolean isOverrideable();
6502    method public void writeToParcel(@NonNull android.os.Parcel, int);
6503    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.verify.domain.DomainOwner> CREATOR;
6504  }
6505
6506  public final class DomainVerificationInfo implements android.os.Parcelable {
6507    method public int describeContents();
6508    method @NonNull public java.util.Map<java.lang.String,java.lang.Integer> getHostToStateMap();
6509    method @NonNull public java.util.UUID getIdentifier();
6510    method @NonNull public String getPackageName();
6511    method public void writeToParcel(@NonNull android.os.Parcel, int);
6512    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.verify.domain.DomainVerificationInfo> CREATOR;
6513    field public static final int STATE_FIRST_VERIFIER_DEFINED = 1024; // 0x400
6514    field public static final int STATE_MODIFIABLE_UNVERIFIED = 3; // 0x3
6515    field public static final int STATE_MODIFIABLE_VERIFIED = 4; // 0x4
6516    field public static final int STATE_NO_RESPONSE = 0; // 0x0
6517    field public static final int STATE_SUCCESS = 1; // 0x1
6518    field public static final int STATE_UNMODIFIABLE = 2; // 0x2
6519  }
6520
6521  public final class DomainVerificationManager {
6522    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;
6523    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DOMAIN_VERIFICATION_USER_SELECTION) public java.util.SortedSet<android.content.pm.verify.domain.DomainOwner> getOwnersForDomain(@NonNull String);
6524    method @FlaggedApi("android.content.pm.relative_reference_intent_filters") @NonNull public java.util.Map<java.lang.String,java.util.List<android.content.UriRelativeFilterGroup>> getUriRelativeFilterGroups(@NonNull String, @NonNull java.util.List<java.lang.String>);
6525    method @NonNull @RequiresPermission(android.Manifest.permission.DOMAIN_VERIFICATION_AGENT) public java.util.List<java.lang.String> queryValidVerificationPackageNames();
6526    method @RequiresPermission(android.Manifest.permission.UPDATE_DOMAIN_VERIFICATION_USER_SELECTION) public void setDomainVerificationLinkHandlingAllowed(@NonNull String, boolean) throws android.content.pm.PackageManager.NameNotFoundException;
6527    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;
6528    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;
6529    method @FlaggedApi("android.content.pm.relative_reference_intent_filters") @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>>);
6530    field public static final int ERROR_DOMAIN_SET_ID_INVALID = 1; // 0x1
6531    field public static final int ERROR_UNABLE_TO_APPROVE = 3; // 0x3
6532    field public static final int ERROR_UNKNOWN_DOMAIN = 2; // 0x2
6533    field public static final String EXTRA_VERIFICATION_REQUEST = "android.content.pm.verify.domain.extra.VERIFICATION_REQUEST";
6534    field public static final int STATUS_OK = 0; // 0x0
6535  }
6536
6537  public final class DomainVerificationRequest implements android.os.Parcelable {
6538    method public int describeContents();
6539    method @NonNull public java.util.Set<java.lang.String> getPackageNames();
6540    method public void writeToParcel(@NonNull android.os.Parcel, int);
6541    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.verify.domain.DomainVerificationRequest> CREATOR;
6542  }
6543
6544  public final class DomainVerificationUserState implements android.os.Parcelable {
6545    method @NonNull public java.util.UUID getIdentifier();
6546  }
6547
6548}
6549
6550package android.content.rollback {
6551
6552  public final class PackageRollbackInfo implements android.os.Parcelable {
6553    method public int describeContents();
6554    method @NonNull public String getPackageName();
6555    method @NonNull public android.content.pm.VersionedPackage getVersionRolledBackFrom();
6556    method @NonNull public android.content.pm.VersionedPackage getVersionRolledBackTo();
6557    method @FlaggedApi("android.crashrecovery.flags.enable_crashrecovery") public boolean isApex();
6558    method @FlaggedApi("android.crashrecovery.flags.enable_crashrecovery") public boolean isApkInApex();
6559    method public void writeToParcel(android.os.Parcel, int);
6560    field @NonNull public static final android.os.Parcelable.Creator<android.content.rollback.PackageRollbackInfo> CREATOR;
6561  }
6562
6563  public final class RollbackInfo implements android.os.Parcelable {
6564    method public int describeContents();
6565    method @NonNull public java.util.List<android.content.pm.VersionedPackage> getCausePackages();
6566    method public int getCommittedSessionId();
6567    method @NonNull public java.util.List<android.content.rollback.PackageRollbackInfo> getPackages();
6568    method public int getRollbackId();
6569    method @FlaggedApi("android.crashrecovery.flags.enable_crashrecovery") public int getRollbackImpactLevel();
6570    method public boolean isStaged();
6571    method public void writeToParcel(android.os.Parcel, int);
6572    field @NonNull public static final android.os.Parcelable.Creator<android.content.rollback.RollbackInfo> CREATOR;
6573  }
6574
6575  public final class RollbackManager {
6576    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);
6577    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_ROLLBACKS, "android.permission.TEST_MANAGE_ROLLBACKS"}) public java.util.List<android.content.rollback.RollbackInfo> getAvailableRollbacks();
6578    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_ROLLBACKS, "android.permission.TEST_MANAGE_ROLLBACKS"}) public java.util.List<android.content.rollback.RollbackInfo> getRecentlyCommittedRollbacks();
6579    field public static final String EXTRA_STATUS = "android.content.rollback.extra.STATUS";
6580    field public static final String EXTRA_STATUS_MESSAGE = "android.content.rollback.extra.STATUS_MESSAGE";
6581    field public static final int STATUS_FAILURE = 1; // 0x1
6582    field public static final int STATUS_FAILURE_INSTALL = 3; // 0x3
6583    field public static final int STATUS_FAILURE_ROLLBACK_UNAVAILABLE = 2; // 0x2
6584    field public static final int STATUS_SUCCESS = 0; // 0x0
6585  }
6586
6587}
6588
6589package android.credentials.selection {
6590
6591  @FlaggedApi("android.credentials.flags.configurable_selector_ui_enabled") public final class AuthenticationEntry implements android.os.Parcelable {
6592    ctor public AuthenticationEntry(@NonNull String, @NonNull String, @NonNull android.app.slice.Slice, int, @NonNull android.content.Intent);
6593    method public int describeContents();
6594    method @Nullable public android.content.Intent getFrameworkExtrasIntent();
6595    method @NonNull public String getKey();
6596    method @NonNull public android.app.slice.Slice getSlice();
6597    method @NonNull public int getStatus();
6598    method @NonNull public String getSubkey();
6599    method public void writeToParcel(@NonNull android.os.Parcel, int);
6600    field @NonNull public static final android.os.Parcelable.Creator<android.credentials.selection.AuthenticationEntry> CREATOR;
6601    field public static final int STATUS_LOCKED = 0; // 0x0
6602    field public static final int STATUS_UNLOCKED_BUT_EMPTY_LESS_RECENT = 1; // 0x1
6603    field public static final int STATUS_UNLOCKED_BUT_EMPTY_MOST_RECENT = 2; // 0x2
6604  }
6605
6606  @FlaggedApi("android.credentials.flags.configurable_selector_ui_enabled") public final class CancelSelectionRequest implements android.os.Parcelable {
6607    ctor public CancelSelectionRequest(@NonNull android.credentials.selection.RequestToken, boolean, @NonNull String);
6608    method public int describeContents();
6609    method @NonNull public String getPackageName();
6610    method @NonNull public android.credentials.selection.RequestToken getRequestToken();
6611    method public boolean shouldShowCancellationExplanation();
6612    method public void writeToParcel(@NonNull android.os.Parcel, int);
6613    field @NonNull public static final android.os.Parcelable.Creator<android.credentials.selection.CancelSelectionRequest> CREATOR;
6614  }
6615
6616  @FlaggedApi("android.credentials.flags.configurable_selector_ui_enabled") public final class CreateCredentialProviderInfo {
6617    method @NonNull public String getProviderName();
6618    method @Nullable public android.credentials.selection.Entry getRemoteEntry();
6619    method @NonNull public java.util.List<android.credentials.selection.Entry> getSaveEntries();
6620  }
6621
6622  @FlaggedApi("android.credentials.flags.configurable_selector_ui_enabled") public static final class CreateCredentialProviderInfo.Builder {
6623    ctor public CreateCredentialProviderInfo.Builder(@NonNull String);
6624    method @NonNull public android.credentials.selection.CreateCredentialProviderInfo build();
6625    method @NonNull public android.credentials.selection.CreateCredentialProviderInfo.Builder setRemoteEntry(@Nullable android.credentials.selection.Entry);
6626    method @NonNull public android.credentials.selection.CreateCredentialProviderInfo.Builder setSaveEntries(@NonNull java.util.List<android.credentials.selection.Entry>);
6627  }
6628
6629  @FlaggedApi("android.credentials.flags.configurable_selector_ui_enabled") public final class DisabledProviderInfo {
6630    ctor public DisabledProviderInfo(@NonNull String);
6631    method @NonNull public String getProviderName();
6632  }
6633
6634  @FlaggedApi("android.credentials.flags.configurable_selector_ui_enabled") public final class Entry implements android.os.Parcelable {
6635    ctor public Entry(@NonNull String, @NonNull String, @NonNull android.app.slice.Slice, @NonNull android.content.Intent);
6636    method public int describeContents();
6637    method @Nullable public android.content.Intent getFrameworkExtrasIntent();
6638    method @NonNull public String getKey();
6639    method @NonNull public android.app.slice.Slice getSlice();
6640    method @NonNull public String getSubkey();
6641    method public void writeToParcel(@NonNull android.os.Parcel, int);
6642    field @NonNull public static final android.os.Parcelable.Creator<android.credentials.selection.Entry> CREATOR;
6643  }
6644
6645  @FlaggedApi("android.credentials.flags.configurable_selector_ui_enabled") public final class FailureResult {
6646    ctor public FailureResult(int, @Nullable String);
6647    method public int getErrorCode();
6648    method @Nullable public String getErrorMessage();
6649    method public static void sendFailureResult(@NonNull android.os.ResultReceiver, @NonNull android.credentials.selection.FailureResult);
6650    field public static final int ERROR_CODE_CANCELED_AND_LAUNCHED_SETTINGS = 2; // 0x2
6651    field public static final int ERROR_CODE_DIALOG_CANCELED_BY_USER = 1; // 0x1
6652    field public static final int ERROR_CODE_UI_FAILURE = 0; // 0x0
6653  }
6654
6655  @FlaggedApi("android.credentials.flags.configurable_selector_ui_enabled") public final class GetCredentialProviderInfo {
6656    method @NonNull public java.util.List<android.credentials.selection.Entry> getActionChips();
6657    method @NonNull public java.util.List<android.credentials.selection.AuthenticationEntry> getAuthenticationEntries();
6658    method @NonNull public java.util.List<android.credentials.selection.Entry> getCredentialEntries();
6659    method @NonNull public String getProviderName();
6660    method @Nullable public android.credentials.selection.Entry getRemoteEntry();
6661  }
6662
6663  @FlaggedApi("android.credentials.flags.configurable_selector_ui_enabled") public static final class GetCredentialProviderInfo.Builder {
6664    ctor public GetCredentialProviderInfo.Builder(@NonNull String);
6665    method @NonNull public android.credentials.selection.GetCredentialProviderInfo build();
6666    method @NonNull public android.credentials.selection.GetCredentialProviderInfo.Builder setActionChips(@NonNull java.util.List<android.credentials.selection.Entry>);
6667    method @NonNull public android.credentials.selection.GetCredentialProviderInfo.Builder setAuthenticationEntries(@NonNull java.util.List<android.credentials.selection.AuthenticationEntry>);
6668    method @NonNull public android.credentials.selection.GetCredentialProviderInfo.Builder setCredentialEntries(@NonNull java.util.List<android.credentials.selection.Entry>);
6669    method @NonNull public android.credentials.selection.GetCredentialProviderInfo.Builder setRemoteEntry(@Nullable android.credentials.selection.Entry);
6670  }
6671
6672  @FlaggedApi("android.credentials.flags.configurable_selector_ui_enabled") public final class IntentHelper {
6673    method @Nullable public static android.credentials.selection.CancelSelectionRequest extractCancelUiRequest(@NonNull android.content.Intent);
6674    method @NonNull public static java.util.List<android.credentials.selection.CreateCredentialProviderInfo> extractCreateCredentialProviderInfoList(@NonNull android.content.Intent);
6675    method @NonNull public static java.util.List<android.credentials.selection.DisabledProviderInfo> extractDisabledProviderInfoList(@NonNull android.content.Intent);
6676    method @NonNull public static java.util.List<android.credentials.selection.GetCredentialProviderInfo> extractGetCredentialProviderInfoList(@NonNull android.content.Intent);
6677    method @Nullable public static android.credentials.selection.RequestInfo extractRequestInfo(@NonNull android.content.Intent);
6678    method @Nullable public static android.os.ResultReceiver extractResultReceiver(@NonNull android.content.Intent);
6679  }
6680
6681  @FlaggedApi("android.credentials.flags.configurable_selector_ui_enabled") public final class ProviderPendingIntentResponse implements android.os.Parcelable {
6682    ctor public ProviderPendingIntentResponse(int, @Nullable android.content.Intent);
6683    method public int describeContents();
6684    method public int getResultCode();
6685    method @Nullable public android.content.Intent getResultData();
6686    method public void writeToParcel(@NonNull android.os.Parcel, int);
6687    field @NonNull public static final android.os.Parcelable.Creator<android.credentials.selection.ProviderPendingIntentResponse> CREATOR;
6688  }
6689
6690  @FlaggedApi("android.credentials.flags.configurable_selector_ui_enabled") public final class RequestInfo implements android.os.Parcelable {
6691    method public int describeContents();
6692    method @Nullable public android.credentials.CreateCredentialRequest getCreateCredentialRequest();
6693    method @NonNull public java.util.List<java.lang.String> getDefaultProviderIds();
6694    method @Nullable public android.credentials.GetCredentialRequest getGetCredentialRequest();
6695    method @NonNull public String getPackageName();
6696    method @NonNull public java.util.List<java.lang.String> getRegistryProviderIds();
6697    method @NonNull public android.credentials.selection.RequestToken getRequestToken();
6698    method @NonNull public String getType();
6699    method public boolean hasPermissionToOverrideDefault();
6700    method public boolean isShowAllOptionsRequested();
6701    method public void writeToParcel(@NonNull android.os.Parcel, int);
6702    field @NonNull public static final android.os.Parcelable.Creator<android.credentials.selection.RequestInfo> CREATOR;
6703    field @NonNull public static final String TYPE_CREATE = "android.credentials.selection.TYPE_CREATE";
6704    field @NonNull public static final String TYPE_GET = "android.credentials.selection.TYPE_GET";
6705    field @NonNull public static final String TYPE_UNDEFINED = "android.credentials.selection.TYPE_UNDEFINED";
6706  }
6707
6708  @FlaggedApi("android.credentials.flags.configurable_selector_ui_enabled") public final class RequestToken {
6709  }
6710
6711  @FlaggedApi("android.credentials.flags.configurable_selector_ui_enabled") public final class UserSelectionResult {
6712    ctor public UserSelectionResult(@NonNull String, @NonNull String, @NonNull String, @Nullable android.credentials.selection.ProviderPendingIntentResponse);
6713    method @NonNull public String getEntryKey();
6714    method @NonNull public String getEntrySubkey();
6715    method @Nullable public android.credentials.selection.ProviderPendingIntentResponse getPendingIntentProviderResponse();
6716    method @NonNull public String getProviderId();
6717    method public static void sendUserSelectionResult(@NonNull android.os.ResultReceiver, @NonNull android.credentials.selection.UserSelectionResult);
6718  }
6719
6720}
6721
6722package android.database {
6723
6724  public abstract class ContentObserver {
6725    method public void onChange(boolean, @NonNull java.util.Collection<android.net.Uri>, int, @NonNull android.os.UserHandle);
6726  }
6727
6728}
6729
6730package android.debug {
6731
6732  public class AdbManager {
6733    method @RequiresPermission(android.Manifest.permission.MANAGE_DEBUGGING) public boolean isAdbWifiQrSupported();
6734    method @RequiresPermission(android.Manifest.permission.MANAGE_DEBUGGING) public boolean isAdbWifiSupported();
6735  }
6736
6737}
6738
6739package android.graphics.fonts {
6740
6741  public final class FontFamilyUpdateRequest {
6742    method @NonNull public java.util.List<android.graphics.fonts.FontFamilyUpdateRequest.FontFamily> getFontFamilies();
6743    method @NonNull public java.util.List<android.graphics.fonts.FontFileUpdateRequest> getFontFileUpdateRequests();
6744  }
6745
6746  public static final class FontFamilyUpdateRequest.Builder {
6747    ctor public FontFamilyUpdateRequest.Builder();
6748    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.Builder addFontFamily(@NonNull android.graphics.fonts.FontFamilyUpdateRequest.FontFamily);
6749    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.Builder addFontFileUpdateRequest(@NonNull android.graphics.fonts.FontFileUpdateRequest);
6750    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest build();
6751  }
6752
6753  public static final class FontFamilyUpdateRequest.Font {
6754    method @NonNull public java.util.List<android.graphics.fonts.FontVariationAxis> getAxes();
6755    method @IntRange(from=0) public int getIndex();
6756    method @NonNull public String getPostScriptName();
6757    method @NonNull public android.graphics.fonts.FontStyle getStyle();
6758  }
6759
6760  public static final class FontFamilyUpdateRequest.Font.Builder {
6761    ctor public FontFamilyUpdateRequest.Font.Builder(@NonNull String, @NonNull android.graphics.fonts.FontStyle);
6762    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.Font build();
6763    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.Font.Builder setAxes(@NonNull java.util.List<android.graphics.fonts.FontVariationAxis>);
6764    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.Font.Builder setIndex(@IntRange(from=0) int);
6765  }
6766
6767  public static final class FontFamilyUpdateRequest.FontFamily {
6768    method @NonNull public java.util.List<android.graphics.fonts.FontFamilyUpdateRequest.Font> getFonts();
6769    method @NonNull public String getName();
6770  }
6771
6772  public static final class FontFamilyUpdateRequest.FontFamily.Builder {
6773    ctor public FontFamilyUpdateRequest.FontFamily.Builder(@NonNull String, @NonNull java.util.List<android.graphics.fonts.FontFamilyUpdateRequest.Font>);
6774    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.FontFamily.Builder addFont(@NonNull android.graphics.fonts.FontFamilyUpdateRequest.Font);
6775    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.FontFamily build();
6776  }
6777
6778  public final class FontFileUpdateRequest {
6779    ctor public FontFileUpdateRequest(@NonNull android.os.ParcelFileDescriptor, @NonNull byte[]);
6780    method @NonNull public android.os.ParcelFileDescriptor getParcelFileDescriptor();
6781    method @NonNull public byte[] getSignature();
6782  }
6783
6784  public class FontManager {
6785    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_FONTS) public android.text.FontConfig getFontConfig();
6786    method @RequiresPermission(android.Manifest.permission.UPDATE_FONTS) public int updateFontFamily(@NonNull android.graphics.fonts.FontFamilyUpdateRequest, @IntRange(from=0) int);
6787    field public static final int RESULT_ERROR_DOWNGRADING = -5; // 0xfffffffb
6788    field public static final int RESULT_ERROR_FAILED_TO_WRITE_FONT_FILE = -1; // 0xffffffff
6789    field public static final int RESULT_ERROR_FAILED_UPDATE_CONFIG = -6; // 0xfffffffa
6790    field public static final int RESULT_ERROR_FONT_NOT_FOUND = -9; // 0xfffffff7
6791    field public static final int RESULT_ERROR_FONT_UPDATER_DISABLED = -7; // 0xfffffff9
6792    field public static final int RESULT_ERROR_INVALID_FONT_FILE = -3; // 0xfffffffd
6793    field public static final int RESULT_ERROR_INVALID_FONT_NAME = -4; // 0xfffffffc
6794    field public static final int RESULT_ERROR_VERIFICATION_FAILURE = -2; // 0xfffffffe
6795    field public static final int RESULT_ERROR_VERSION_MISMATCH = -8; // 0xfffffff8
6796    field public static final int RESULT_SUCCESS = 0; // 0x0
6797  }
6798
6799}
6800
6801package android.hardware {
6802
6803  public final class Sensor {
6804    method public java.util.UUID getUuid();
6805    method public boolean isDataInjectionSupported();
6806    field public static final String STRING_TYPE_DYNAMIC_SENSOR_META = "android.sensor.dynamic_sensor_meta";
6807    field public static final String STRING_TYPE_WRIST_TILT_GESTURE = "android.sensor.wrist_tilt_gesture";
6808    field public static final int TYPE_DYNAMIC_SENSOR_META = 32; // 0x20
6809    field public static final int TYPE_WRIST_TILT_GESTURE = 26; // 0x1a
6810  }
6811
6812  public abstract class SensorManager {
6813    method public boolean initDataInjection(boolean);
6814    method public boolean injectSensorData(android.hardware.Sensor, float[], int, long);
6815  }
6816
6817  public final class SensorPrivacyManager {
6818    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public void addSensorPrivacyListener(@NonNull android.hardware.SensorPrivacyManager.OnSensorPrivacyChangedListener);
6819    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public void addSensorPrivacyListener(int, @NonNull android.hardware.SensorPrivacyManager.OnSensorPrivacyChangedListener);
6820    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public void addSensorPrivacyListener(int, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.SensorPrivacyManager.OnSensorPrivacyChangedListener);
6821    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public void addSensorPrivacyListener(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.SensorPrivacyManager.OnSensorPrivacyChangedListener);
6822    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public boolean areAnySensorPrivacyTogglesEnabled(int);
6823    method @FlaggedApi("com.android.internal.camera.flags.camera_privacy_allowlist") @NonNull @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public java.util.List<java.lang.String> getCameraPrivacyAllowlist();
6824    method @FlaggedApi("com.android.internal.camera.flags.camera_privacy_allowlist") @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public int getSensorPrivacyState(int, int);
6825    method @FlaggedApi("com.android.internal.camera.flags.camera_privacy_allowlist") @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public boolean isCameraPrivacyEnabled(@NonNull String);
6826    method @Deprecated @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public boolean isSensorPrivacyEnabled(int);
6827    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public boolean isSensorPrivacyEnabled(int, int);
6828    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public void removeSensorPrivacyListener(@NonNull android.hardware.SensorPrivacyManager.OnSensorPrivacyChangedListener);
6829    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public void removeSensorPrivacyListener(int, @NonNull android.hardware.SensorPrivacyManager.OnSensorPrivacyChangedListener);
6830    method @RequiresPermission(android.Manifest.permission.MANAGE_SENSOR_PRIVACY) public void setSensorPrivacy(int, boolean);
6831    method @FlaggedApi("com.android.internal.camera.flags.camera_privacy_allowlist") @RequiresPermission(android.Manifest.permission.MANAGE_SENSOR_PRIVACY) public void setSensorPrivacyState(int, int);
6832  }
6833
6834  public static interface SensorPrivacyManager.OnSensorPrivacyChangedListener {
6835    method public default void onSensorPrivacyChanged(@NonNull android.hardware.SensorPrivacyManager.OnSensorPrivacyChangedListener.SensorPrivacyChangedParams);
6836    method @Deprecated public void onSensorPrivacyChanged(int, boolean);
6837  }
6838
6839  public static class SensorPrivacyManager.OnSensorPrivacyChangedListener.SensorPrivacyChangedParams {
6840    method public int getSensor();
6841    method @FlaggedApi("com.android.internal.camera.flags.camera_privacy_allowlist") public int getState();
6842    method public int getToggleType();
6843    method public boolean isEnabled();
6844  }
6845
6846  @FlaggedApi("com.android.internal.camera.flags.camera_privacy_allowlist") public static class SensorPrivacyManager.StateTypes {
6847    field public static final int DISABLED = 2; // 0x2
6848    field public static final int ENABLED = 1; // 0x1
6849    field public static final int ENABLED_EXCEPT_ALLOWLISTED_APPS = 3; // 0x3
6850  }
6851
6852}
6853
6854package android.hardware.biometrics {
6855
6856  public static interface BiometricManager.Authenticators {
6857    field @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static final int BIOMETRIC_CONVENIENCE = 4095; // 0xfff
6858    field @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static final int EMPTY_SET = 0; // 0x0
6859  }
6860
6861}
6862
6863package android.hardware.camera2 {
6864
6865  public final class CameraCharacteristics extends android.hardware.camera2.CameraMetadata<android.hardware.camera2.CameraCharacteristics.Key<?>> {
6866    field @FlaggedApi("com.android.internal.camera.flags.camera_multi_client") @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.SharedSessionConfiguration> SHARED_SESSION_CONFIGURATION;
6867  }
6868
6869  public abstract class CameraDevice implements java.lang.AutoCloseable {
6870    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;
6871    field public static final int SESSION_OPERATION_MODE_CONSTRAINED_HIGH_SPEED = 1; // 0x1
6872    field public static final int SESSION_OPERATION_MODE_NORMAL = 0; // 0x0
6873    field @FlaggedApi("com.android.internal.camera.flags.camera_multi_client") public static final int SESSION_OPERATION_MODE_SHARED = 2; // 0x2
6874    field public static final int SESSION_OPERATION_MODE_VENDOR_START = 32768; // 0x8000
6875  }
6876
6877  public abstract static class CameraDevice.StateCallback {
6878    method @FlaggedApi("com.android.internal.camera.flags.camera_multi_client") public void onClientSharedAccessPriorityChanged(@NonNull android.hardware.camera2.CameraDevice, boolean);
6879    method @FlaggedApi("com.android.internal.camera.flags.camera_multi_client") public void onOpenedInSharedMode(@NonNull android.hardware.camera2.CameraDevice, boolean);
6880  }
6881
6882  public final class CameraManager {
6883    method @FlaggedApi("com.android.internal.camera.flags.camera_multi_client") public boolean isCameraDeviceSharingSupported(@NonNull String) throws android.hardware.camera2.CameraAccessException;
6884    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;
6885    method @FlaggedApi("com.android.internal.camera.flags.camera_multi_client") @RequiresPermission(allOf={android.Manifest.permission.SYSTEM_CAMERA, android.Manifest.permission.CAMERA}) public void openSharedCamera(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.camera2.CameraDevice.StateCallback) throws android.hardware.camera2.CameraAccessException;
6886  }
6887
6888  public abstract static class CameraManager.AvailabilityCallback {
6889    method @RequiresPermission(android.Manifest.permission.CAMERA_OPEN_CLOSE_LISTENER) public void onCameraClosed(@NonNull String);
6890    method @RequiresPermission(android.Manifest.permission.CAMERA_OPEN_CLOSE_LISTENER) public void onCameraOpened(@NonNull String, @NonNull String);
6891  }
6892
6893  @FlaggedApi("com.android.internal.camera.flags.camera_multi_client") public abstract class CameraSharedCaptureSession extends android.hardware.camera2.CameraCaptureSession {
6894    ctor public CameraSharedCaptureSession();
6895    method @FlaggedApi("com.android.internal.camera.flags.camera_multi_client") public abstract int startStreaming(@NonNull java.util.List<android.view.Surface>, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.camera2.CameraCaptureSession.CaptureCallback) throws android.hardware.camera2.CameraAccessException;
6896    method @FlaggedApi("com.android.internal.camera.flags.camera_multi_client") public abstract void stopStreaming() throws android.hardware.camera2.CameraAccessException;
6897  }
6898
6899}
6900
6901package android.hardware.camera2.extension {
6902
6903  public abstract class AdvancedExtender {
6904    ctor public AdvancedExtender(@NonNull android.hardware.camera2.CameraManager);
6905    method @NonNull public abstract java.util.List<android.hardware.camera2.CaptureRequest.Key> getAvailableCaptureRequestKeys(@NonNull String);
6906    method @NonNull public abstract java.util.List<android.hardware.camera2.CaptureResult.Key> getAvailableCaptureResultKeys(@NonNull String);
6907    method @NonNull public abstract java.util.List<android.util.Pair<android.hardware.camera2.CameraCharacteristics.Key,java.lang.Object>> getAvailableCharacteristicsKeyValues();
6908    method public long getMetadataVendorId(@NonNull String);
6909    method @NonNull public abstract android.hardware.camera2.extension.SessionProcessor getSessionProcessor();
6910    method @NonNull public abstract java.util.Map<java.lang.Integer,java.util.List<android.util.Size>> getSupportedCaptureOutputResolutions(@NonNull String);
6911    method @NonNull public abstract java.util.Map<java.lang.Integer,java.util.List<android.util.Size>> getSupportedPreviewOutputResolutions(@NonNull String);
6912    method public abstract void initialize(@NonNull String, @NonNull android.hardware.camera2.extension.CharacteristicsMap);
6913    method public abstract boolean isExtensionAvailable(@NonNull String, @NonNull android.hardware.camera2.extension.CharacteristicsMap);
6914  }
6915
6916  public abstract class CameraExtensionService extends android.app.Service {
6917    ctor protected CameraExtensionService();
6918    method @NonNull public final android.os.IBinder onBind(@Nullable android.content.Intent);
6919    method @NonNull public abstract android.hardware.camera2.extension.AdvancedExtender onInitializeAdvancedExtension(int);
6920    method public abstract boolean onRegisterClient(@NonNull android.os.IBinder);
6921    method public abstract void onUnregisterClient(@NonNull android.os.IBinder);
6922  }
6923
6924  public final class CameraOutputSurface {
6925    ctor public CameraOutputSurface(@NonNull android.view.Surface, @NonNull android.util.Size);
6926    method public int getColorSpace();
6927    method public long getDynamicRangeProfile();
6928    method public int getImageFormat();
6929    method @NonNull public android.util.Size getSize();
6930    method @NonNull public android.view.Surface getSurface();
6931    method public void setDynamicRangeProfile(long);
6932  }
6933
6934  public class CharacteristicsMap {
6935    method @Nullable public android.hardware.camera2.CameraCharacteristics get(@NonNull String);
6936    method @NonNull public java.util.Set<java.lang.String> getCameraIds();
6937  }
6938
6939  public class ExtensionConfiguration {
6940    ctor public ExtensionConfiguration(int, int, @NonNull java.util.List<android.hardware.camera2.extension.ExtensionOutputConfiguration>, @Nullable android.hardware.camera2.CaptureRequest);
6941    method public void setColorSpace(int);
6942  }
6943
6944  public class ExtensionOutputConfiguration {
6945    ctor public ExtensionOutputConfiguration(@NonNull java.util.List<android.hardware.camera2.extension.CameraOutputSurface>, int, @Nullable String, int);
6946  }
6947
6948  public final class RequestProcessor {
6949    method public void abortCaptures();
6950    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;
6951    method public void stopRepeating();
6952    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;
6953    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;
6954  }
6955
6956  public static final class RequestProcessor.Request {
6957    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);
6958    method @NonNull public java.util.List<android.util.Pair<android.hardware.camera2.CaptureRequest.Key,java.lang.Object>> getParameters();
6959  }
6960
6961  public static interface RequestProcessor.RequestCallback {
6962    method public void onCaptureBufferLost(@NonNull android.hardware.camera2.extension.RequestProcessor.Request, long, int);
6963    method public void onCaptureCompleted(@NonNull android.hardware.camera2.extension.RequestProcessor.Request, @Nullable android.hardware.camera2.TotalCaptureResult);
6964    method public void onCaptureFailed(@NonNull android.hardware.camera2.extension.RequestProcessor.Request, @NonNull android.hardware.camera2.CaptureFailure);
6965    method public void onCaptureProgressed(@NonNull android.hardware.camera2.extension.RequestProcessor.Request, @NonNull android.hardware.camera2.CaptureResult);
6966    method public void onCaptureSequenceAborted(int);
6967    method public void onCaptureSequenceCompleted(int, long);
6968    method public void onCaptureStarted(@NonNull android.hardware.camera2.extension.RequestProcessor.Request, long, long);
6969  }
6970
6971  public abstract class SessionProcessor {
6972    ctor public SessionProcessor();
6973    method public abstract void deInitSession(@NonNull android.os.IBinder);
6974    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);
6975    method public abstract void onCaptureSessionEnd();
6976    method public abstract void onCaptureSessionStart(@NonNull android.hardware.camera2.extension.RequestProcessor, @NonNull String);
6977    method public abstract void setParameters(@NonNull android.hardware.camera2.CaptureRequest);
6978    method public abstract int startMultiFrameCapture(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.camera2.extension.SessionProcessor.CaptureCallback);
6979    method public abstract int startRepeating(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.camera2.extension.SessionProcessor.CaptureCallback);
6980    method public abstract int startTrigger(@NonNull android.hardware.camera2.CaptureRequest, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.camera2.extension.SessionProcessor.CaptureCallback);
6981    method public abstract void stopRepeating();
6982  }
6983
6984  public static interface SessionProcessor.CaptureCallback {
6985    method public void onCaptureCompleted(long, int, @NonNull java.util.Map<android.hardware.camera2.CaptureResult.Key,java.lang.Object>);
6986    method public void onCaptureFailed(int, int);
6987    method public void onCaptureProcessStarted(int);
6988    method public void onCaptureSequenceAborted(int);
6989    method public void onCaptureSequenceCompleted(int);
6990    method public void onCaptureStarted(int, long);
6991  }
6992
6993}
6994
6995package android.hardware.camera2.params {
6996
6997  public final class OutputConfiguration implements android.os.Parcelable {
6998    ctor public OutputConfiguration(@NonNull android.view.Surface, int);
6999    ctor public OutputConfiguration(int, @NonNull android.view.Surface, int);
7000    method public int getRotation();
7001    field public static final int ROTATION_0 = 0; // 0x0
7002    field public static final int ROTATION_180 = 2; // 0x2
7003    field public static final int ROTATION_270 = 3; // 0x3
7004    field public static final int ROTATION_90 = 1; // 0x1
7005  }
7006
7007  public final class SessionConfiguration implements android.os.Parcelable {
7008    field @FlaggedApi("com.android.internal.camera.flags.camera_multi_client") public static final int SESSION_SHARED = 2; // 0x2
7009  }
7010
7011  @FlaggedApi("com.android.internal.camera.flags.camera_multi_client") public final class SharedSessionConfiguration {
7012    method @Nullable public android.graphics.ColorSpace getColorSpace();
7013    method @NonNull public java.util.List<android.hardware.camera2.params.SharedSessionConfiguration.SharedOutputConfiguration> getOutputStreamsInformation();
7014  }
7015
7016  public static final class SharedSessionConfiguration.SharedOutputConfiguration {
7017    method public int getDataspace();
7018    method public int getFormat();
7019    method public int getMirrorMode();
7020    method @Nullable public String getPhysicalCameraId();
7021    method @NonNull public android.util.Size getSize();
7022    method public long getStreamUseCase();
7023    method public int getSurfaceType();
7024    method public int getTimestampBase();
7025    method public long getUsage();
7026    method public boolean isReadoutTimestampEnabled();
7027  }
7028
7029}
7030
7031package android.hardware.contexthub {
7032
7033  @FlaggedApi("android.chre.flags.offload_api") public class HubDiscoveryInfo {
7034    method @NonNull public android.hardware.contexthub.HubEndpointInfo getHubEndpointInfo();
7035    method @Nullable public android.hardware.contexthub.HubServiceInfo getHubServiceInfo();
7036  }
7037
7038  @FlaggedApi("android.chre.flags.offload_api") public class HubEndpoint {
7039    method @Nullable public android.hardware.contexthub.IHubEndpointLifecycleCallback getLifecycleCallback();
7040    method @Nullable public android.hardware.contexthub.IHubEndpointMessageCallback getMessageCallback();
7041    method @NonNull public java.util.Collection<android.hardware.contexthub.HubServiceInfo> getServiceInfoCollection();
7042    method @Nullable public String getTag();
7043    method public int getVersion();
7044    field public static final int REASON_CLOSE_ENDPOINT_SESSION_REQUESTED = 4; // 0x4
7045    field public static final int REASON_ENDPOINT_INVALID = 5; // 0x5
7046    field public static final int REASON_ENDPOINT_STOPPED = 6; // 0x6
7047    field public static final int REASON_FAILURE = 0; // 0x0
7048    field public static final int REASON_OPEN_ENDPOINT_SESSION_REQUEST_REJECTED = 3; // 0x3
7049  }
7050
7051  public static final class HubEndpoint.Builder {
7052    ctor public HubEndpoint.Builder(@NonNull android.content.Context);
7053    method @NonNull public android.hardware.contexthub.HubEndpoint build();
7054    method @NonNull public android.hardware.contexthub.HubEndpoint.Builder setLifecycleCallback(@NonNull android.hardware.contexthub.IHubEndpointLifecycleCallback);
7055    method @NonNull public android.hardware.contexthub.HubEndpoint.Builder setLifecycleCallback(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.contexthub.IHubEndpointLifecycleCallback);
7056    method @NonNull public android.hardware.contexthub.HubEndpoint.Builder setMessageCallback(@NonNull android.hardware.contexthub.IHubEndpointMessageCallback);
7057    method @NonNull public android.hardware.contexthub.HubEndpoint.Builder setMessageCallback(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.contexthub.IHubEndpointMessageCallback);
7058    method @NonNull public android.hardware.contexthub.HubEndpoint.Builder setServiceInfoCollection(@NonNull java.util.Collection<android.hardware.contexthub.HubServiceInfo>);
7059    method @NonNull public android.hardware.contexthub.HubEndpoint.Builder setTag(@NonNull String);
7060  }
7061
7062  @FlaggedApi("android.chre.flags.offload_api") public final class HubEndpointInfo implements android.os.Parcelable {
7063    method public int describeContents();
7064    method @NonNull public android.hardware.contexthub.HubEndpointInfo.HubEndpointIdentifier getIdentifier();
7065    method @NonNull public String getName();
7066    method @NonNull public java.util.Collection<java.lang.String> getRequiredPermissions();
7067    method @NonNull public java.util.Collection<android.hardware.contexthub.HubServiceInfo> getServiceInfoCollection();
7068    method @Nullable public String getTag();
7069    method public int getType();
7070    method public int getVersion();
7071    method public void writeToParcel(@NonNull android.os.Parcel, int);
7072    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.contexthub.HubEndpointInfo> CREATOR;
7073    field public static final int TYPE_APP = 2; // 0x2
7074    field public static final int TYPE_FRAMEWORK = 1; // 0x1
7075    field public static final int TYPE_HUB_ENDPOINT = 5; // 0x5
7076    field public static final int TYPE_NANOAPP = 4; // 0x4
7077    field public static final int TYPE_NATIVE = 3; // 0x3
7078  }
7079
7080  public static class HubEndpointInfo.HubEndpointIdentifier {
7081    method public long getEndpoint();
7082    method public long getHub();
7083  }
7084
7085  @FlaggedApi("android.chre.flags.offload_api") public class HubEndpointSession implements java.lang.AutoCloseable {
7086    method @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public void close();
7087    method @Nullable public String getServiceDescriptor();
7088    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public android.hardware.location.ContextHubTransaction<java.lang.Void> sendMessage(@NonNull android.hardware.contexthub.HubMessage);
7089  }
7090
7091  @FlaggedApi("android.chre.flags.offload_api") public class HubEndpointSessionResult {
7092    method @NonNull public static android.hardware.contexthub.HubEndpointSessionResult accept();
7093    method @Nullable public String getReason();
7094    method public boolean isAccepted();
7095    method @NonNull public static android.hardware.contexthub.HubEndpointSessionResult reject(@NonNull String);
7096  }
7097
7098  @FlaggedApi("android.chre.flags.offload_api") public final class HubMessage implements android.os.Parcelable {
7099    method @NonNull public static android.hardware.contexthub.HubMessage createMessage(int, @NonNull byte[]);
7100    method @NonNull public static android.hardware.contexthub.HubMessage createMessage(int, @NonNull byte[], @NonNull android.hardware.contexthub.HubMessage.DeliveryParams);
7101    method public int describeContents();
7102    method @NonNull public byte[] getMessageBody();
7103    method public int getMessageType();
7104    method public void writeToParcel(@NonNull android.os.Parcel, int);
7105    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.contexthub.HubMessage> CREATOR;
7106  }
7107
7108  public static class HubMessage.DeliveryParams {
7109    method public boolean isResponseRequired();
7110    method @NonNull public static android.hardware.contexthub.HubMessage.DeliveryParams makeBasic();
7111    method @NonNull public android.hardware.contexthub.HubMessage.DeliveryParams setResponseRequired(boolean);
7112  }
7113
7114  @FlaggedApi("android.chre.flags.offload_api") public final class HubServiceInfo implements android.os.Parcelable {
7115    ctor public HubServiceInfo(@NonNull String, int, int, int);
7116    method public int describeContents();
7117    method public int getFormat();
7118    method public int getMajorVersion();
7119    method public int getMinorVersion();
7120    method @NonNull public String getServiceDescriptor();
7121    method public void writeToParcel(@NonNull android.os.Parcel, int);
7122    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.contexthub.HubServiceInfo> CREATOR;
7123    field public static final int FORMAT_AIDL = 1; // 0x1
7124    field public static final int FORMAT_CUSTOM = 0; // 0x0
7125    field public static final int FORMAT_PW_RPC_PROTOBUF = 2; // 0x2
7126  }
7127
7128  public static final class HubServiceInfo.Builder {
7129    ctor public HubServiceInfo.Builder(@NonNull String, int, int, int);
7130    method @NonNull public android.hardware.contexthub.HubServiceInfo build();
7131  }
7132
7133  @FlaggedApi("android.chre.flags.offload_api") public interface IHubEndpointDiscoveryCallback {
7134    method public void onEndpointsStarted(@NonNull java.util.List<android.hardware.contexthub.HubDiscoveryInfo>);
7135    method public void onEndpointsStopped(@NonNull java.util.List<android.hardware.contexthub.HubDiscoveryInfo>, int);
7136  }
7137
7138  @FlaggedApi("android.chre.flags.offload_api") public interface IHubEndpointLifecycleCallback {
7139    method public void onSessionClosed(@NonNull android.hardware.contexthub.HubEndpointSession, int);
7140    method @NonNull public android.hardware.contexthub.HubEndpointSessionResult onSessionOpenRequest(@NonNull android.hardware.contexthub.HubEndpointInfo, @Nullable String);
7141    method public void onSessionOpened(@NonNull android.hardware.contexthub.HubEndpointSession);
7142  }
7143
7144  @FlaggedApi("android.chre.flags.offload_api") public interface IHubEndpointMessageCallback {
7145    method public void onMessageReceived(@NonNull android.hardware.contexthub.HubEndpointSession, @NonNull android.hardware.contexthub.HubMessage);
7146  }
7147
7148}
7149
7150package android.hardware.devicestate {
7151
7152  @FlaggedApi("android.hardware.devicestate.feature.flags.device_state_property_api") public final class DeviceState {
7153    method @IntRange(from=0x0) public int getIdentifier();
7154    method @NonNull public String getName();
7155    method public boolean hasProperties(@NonNull int...);
7156    method public boolean hasProperty(int);
7157    field public static final int PROPERTY_EMULATED_ONLY = 10; // 0xa
7158    field public static final int PROPERTY_EXTENDED_DEVICE_STATE_EXTERNAL_DISPLAY = 15; // 0xf
7159    field public static final int PROPERTY_FEATURE_DUAL_DISPLAY_INTERNAL_DEFAULT = 17; // 0x11
7160    field public static final int PROPERTY_FEATURE_REAR_DISPLAY = 16; // 0x10
7161    field public static final int PROPERTY_FOLDABLE_DISPLAY_CONFIGURATION_INNER_PRIMARY = 12; // 0xc
7162    field public static final int PROPERTY_FOLDABLE_DISPLAY_CONFIGURATION_OUTER_PRIMARY = 11; // 0xb
7163    field public static final int PROPERTY_FOLDABLE_HARDWARE_CONFIGURATION_FOLD_IN_CLOSED = 1; // 0x1
7164    field public static final int PROPERTY_FOLDABLE_HARDWARE_CONFIGURATION_FOLD_IN_HALF_OPEN = 2; // 0x2
7165    field public static final int PROPERTY_FOLDABLE_HARDWARE_CONFIGURATION_FOLD_IN_OPEN = 3; // 0x3
7166    field public static final int PROPERTY_POWER_CONFIGURATION_TRIGGER_SLEEP = 13; // 0xd
7167    field public static final int PROPERTY_POWER_CONFIGURATION_TRIGGER_WAKE = 14; // 0xe
7168  }
7169
7170  @FlaggedApi("android.hardware.devicestate.feature.flags.device_state_property_api") public final class DeviceStateManager {
7171    method @NonNull public java.util.List<android.hardware.devicestate.DeviceState> getSupportedDeviceStates();
7172    method public void registerCallback(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.devicestate.DeviceStateManager.DeviceStateCallback);
7173    method public void unregisterCallback(@NonNull android.hardware.devicestate.DeviceStateManager.DeviceStateCallback);
7174  }
7175
7176  public static interface DeviceStateManager.DeviceStateCallback {
7177    method public void onDeviceStateChanged(@NonNull android.hardware.devicestate.DeviceState);
7178    method public default void onSupportedStatesChanged(@NonNull java.util.List<android.hardware.devicestate.DeviceState>);
7179  }
7180
7181}
7182
7183package android.hardware.display {
7184
7185  public final class AmbientBrightnessDayStats implements android.os.Parcelable {
7186    method public int describeContents();
7187    method public float[] getBucketBoundaries();
7188    method public java.time.LocalDate getLocalDate();
7189    method public float[] getStats();
7190    method public void writeToParcel(android.os.Parcel, int);
7191    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.display.AmbientBrightnessDayStats> CREATOR;
7192  }
7193
7194  public final class BrightnessChangeEvent implements android.os.Parcelable {
7195    method public int describeContents();
7196    method public void writeToParcel(android.os.Parcel, int);
7197    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.display.BrightnessChangeEvent> CREATOR;
7198    field public final float batteryLevel;
7199    field public final float brightness;
7200    field public final long colorSampleDuration;
7201    field public final int colorTemperature;
7202    field @Nullable public final long[] colorValueBuckets;
7203    field public final boolean isDefaultBrightnessConfig;
7204    field public final boolean isUserSetBrightness;
7205    field public final float lastBrightness;
7206    field public final long[] luxTimestamps;
7207    field public final float[] luxValues;
7208    field public final boolean nightMode;
7209    field public final String packageName;
7210    field public final float powerBrightnessFactor;
7211    field public final boolean reduceBrightColors;
7212    field public final float reduceBrightColorsOffset;
7213    field public final int reduceBrightColorsStrength;
7214    field public final long timeStamp;
7215    field @NonNull public final String uniqueDisplayId;
7216  }
7217
7218  public final class BrightnessConfiguration implements android.os.Parcelable {
7219    method public int describeContents();
7220    method @Nullable public android.hardware.display.BrightnessCorrection getCorrectionByCategory(int);
7221    method @Nullable public android.hardware.display.BrightnessCorrection getCorrectionByPackageName(@NonNull String);
7222    method public android.util.Pair<float[],float[]> getCurve();
7223    method public float getShortTermModelLowerLuxMultiplier();
7224    method public long getShortTermModelTimeoutMillis();
7225    method public float getShortTermModelUpperLuxMultiplier();
7226    method public boolean shouldCollectColorSamples();
7227    method public void writeToParcel(android.os.Parcel, int);
7228    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.display.BrightnessConfiguration> CREATOR;
7229    field public static final long SHORT_TERM_TIMEOUT_UNSET = -1L; // 0xffffffffffffffffL
7230  }
7231
7232  public static class BrightnessConfiguration.Builder {
7233    ctor public BrightnessConfiguration.Builder(float[], float[]);
7234    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder addCorrectionByCategory(int, @NonNull android.hardware.display.BrightnessCorrection);
7235    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder addCorrectionByPackageName(@NonNull String, @NonNull android.hardware.display.BrightnessCorrection);
7236    method @NonNull public android.hardware.display.BrightnessConfiguration build();
7237    method public int getMaxCorrectionsByCategory();
7238    method public int getMaxCorrectionsByPackageName();
7239    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setDescription(@Nullable String);
7240    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setShortTermModelLowerLuxMultiplier(@FloatRange(from=0.0f) float);
7241    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setShortTermModelTimeoutMillis(long);
7242    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setShortTermModelUpperLuxMultiplier(@FloatRange(from=0.0f) float);
7243    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setShouldCollectColorSamples(boolean);
7244  }
7245
7246  public final class BrightnessCorrection implements android.os.Parcelable {
7247    method @FloatRange(from=0.0) public float apply(@FloatRange(from=0.0) float);
7248    method @NonNull public static android.hardware.display.BrightnessCorrection createScaleAndTranslateLog(float, float);
7249    method public int describeContents();
7250    method public void writeToParcel(android.os.Parcel, int);
7251    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.display.BrightnessCorrection> CREATOR;
7252  }
7253
7254  public final class ColorDisplayManager {
7255    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public int getNightDisplayAutoMode();
7256    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public int getTransformCapabilities();
7257    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public boolean setAppSaturationLevel(@NonNull String, @IntRange(from=0, to=100) int);
7258    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public boolean setNightDisplayAutoMode(int);
7259    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public boolean setNightDisplayCustomEndTime(@NonNull java.time.LocalTime);
7260    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public boolean setNightDisplayCustomStartTime(@NonNull java.time.LocalTime);
7261    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public boolean setSaturationLevel(@IntRange(from=0, to=100) int);
7262    field public static final int AUTO_MODE_CUSTOM_TIME = 1; // 0x1
7263    field public static final int AUTO_MODE_DISABLED = 0; // 0x0
7264    field public static final int AUTO_MODE_TWILIGHT = 2; // 0x2
7265    field public static final int CAPABILITY_HARDWARE_ACCELERATION_GLOBAL = 2; // 0x2
7266    field public static final int CAPABILITY_HARDWARE_ACCELERATION_PER_APP = 4; // 0x4
7267    field public static final int CAPABILITY_NONE = 0; // 0x0
7268    field public static final int CAPABILITY_PROTECTED_CONTENT = 1; // 0x1
7269  }
7270
7271  public final class DisplayManager {
7272    method @Nullable @RequiresPermission("android.permission.CAPTURE_VIDEO_OUTPUT") public static android.hardware.display.VirtualDisplay createVirtualDisplay(@NonNull String, int, int, int, @Nullable android.view.Surface);
7273    method @RequiresPermission(android.Manifest.permission.ACCESS_AMBIENT_LIGHT_STATS) public java.util.List<android.hardware.display.AmbientBrightnessDayStats> getAmbientBrightnessStats();
7274    method @RequiresPermission(android.Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS) public android.hardware.display.BrightnessConfiguration getBrightnessConfiguration();
7275    method @Nullable @RequiresPermission(android.Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS) public android.hardware.display.BrightnessConfiguration getBrightnessConfigurationForDisplay(@NonNull String);
7276    method @RequiresPermission(android.Manifest.permission.BRIGHTNESS_SLIDER_USAGE) public java.util.List<android.hardware.display.BrightnessChangeEvent> getBrightnessEvents();
7277    method @Nullable @RequiresPermission(android.Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS) public android.hardware.display.BrightnessConfiguration getDefaultBrightnessConfiguration();
7278    method public android.util.Pair<float[],float[]> getMinimumBrightnessCurve();
7279    method public android.graphics.Point getStableDisplaySize();
7280    method @FlaggedApi("com.android.server.display.feature.flags.is_always_on_available_api") public boolean isAlwaysOnDisplayCurrentlyAvailable();
7281    method @RequiresPermission(android.Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS) public void setBrightnessConfiguration(android.hardware.display.BrightnessConfiguration);
7282    method @RequiresPermission(android.Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS) public void setBrightnessConfigurationForDisplay(@NonNull android.hardware.display.BrightnessConfiguration, @NonNull String);
7283    method @Deprecated @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_SATURATION) public void setSaturationLevel(float);
7284    field @FlaggedApi("android.companion.virtual.flags.vdm_public_apis") public static final int VIRTUAL_DISPLAY_FLAG_ROTATES_WITH_CONTENT = 128; // 0x80
7285    field public static final int VIRTUAL_DISPLAY_FLAG_STEAL_TOP_FOCUS_DISABLED = 65536; // 0x10000
7286    field public static final int VIRTUAL_DISPLAY_FLAG_TRUSTED = 1024; // 0x400
7287  }
7288
7289  public final class VirtualDisplayConfig implements android.os.Parcelable {
7290    method @FlaggedApi("android.companion.virtualdevice.flags.virtual_display_insets") @Nullable public android.view.DisplayCutout getDisplayCutout();
7291    method @FlaggedApi("android.companion.virtual.flags.vdm_custom_home") public boolean isHomeSupported();
7292    method @FlaggedApi("com.android.window.flags.vdm_force_app_universal_resizable_api") public boolean isIgnoreActivitySizeRestrictions();
7293  }
7294
7295  public static final class VirtualDisplayConfig.Builder {
7296    method @FlaggedApi("android.companion.virtualdevice.flags.virtual_display_insets") @NonNull public android.hardware.display.VirtualDisplayConfig.Builder setDisplayCutout(@Nullable android.view.DisplayCutout);
7297    method @FlaggedApi("android.companion.virtual.flags.vdm_custom_home") @NonNull public android.hardware.display.VirtualDisplayConfig.Builder setHomeSupported(boolean);
7298    method @FlaggedApi("com.android.window.flags.vdm_force_app_universal_resizable_api") @NonNull public android.hardware.display.VirtualDisplayConfig.Builder setIgnoreActivitySizeRestrictions(boolean);
7299  }
7300
7301}
7302
7303package android.hardware.hdmi {
7304
7305  public abstract class HdmiClient {
7306    method public android.hardware.hdmi.HdmiDeviceInfo getActiveSource();
7307    method public void selectDevice(int, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.hdmi.HdmiClient.OnDeviceSelectedListener);
7308    method public void sendKeyEvent(int, boolean);
7309    method public void sendVendorCommand(int, byte[], boolean);
7310    method public void setVendorCommandListener(@NonNull android.hardware.hdmi.HdmiControlManager.VendorCommandListener);
7311    method public void setVendorCommandListener(@NonNull android.hardware.hdmi.HdmiControlManager.VendorCommandListener, int);
7312  }
7313
7314  public static interface HdmiClient.OnDeviceSelectedListener {
7315    method public void onDeviceSelected(int, int);
7316  }
7317
7318  public final class HdmiControlManager {
7319    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void addHdmiCecEnabledChangeListener(@NonNull android.hardware.hdmi.HdmiControlManager.CecSettingChangeListener);
7320    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void addHdmiCecEnabledChangeListener(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.hdmi.HdmiControlManager.CecSettingChangeListener);
7321    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void addHotplugEventListener(android.hardware.hdmi.HdmiControlManager.HotplugEventListener);
7322    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void addHotplugEventListener(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.hdmi.HdmiControlManager.HotplugEventListener);
7323    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public java.util.List<java.lang.Integer> getAllowedCecSettingIntValues(@NonNull String);
7324    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public java.util.List<java.lang.String> getAllowedCecSettingStringValues(@NonNull String);
7325    method @Nullable public android.hardware.hdmi.HdmiClient getClient(int);
7326    method @NonNull public java.util.List<android.hardware.hdmi.HdmiDeviceInfo> getConnectedDevices();
7327    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getEarcEnabled();
7328    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getHdmiCecEnabled();
7329    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getHdmiCecVersion();
7330    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getHdmiCecVolumeControlEnabled();
7331    method public int getPhysicalAddress();
7332    method @Nullable public android.hardware.hdmi.HdmiPlaybackClient getPlaybackClient();
7333    method @NonNull public java.util.List<android.hardware.hdmi.HdmiPortInfo> getPortInfo();
7334    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public String getPowerControlMode();
7335    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public String getPowerStateChangeOnActiveSourceLost();
7336    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getRoutingControl();
7337    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getSadPresenceInQuery(@NonNull String);
7338    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getSoundbarMode();
7339    method @Nullable public android.hardware.hdmi.HdmiSwitchClient getSwitchClient();
7340    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getSystemAudioControl();
7341    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getSystemAudioModeMuting();
7342    method @Nullable public android.hardware.hdmi.HdmiTvClient getTvClient();
7343    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getTvSendStandbyOnSleep();
7344    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getTvWakeOnOneTouchPlay();
7345    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public java.util.List<java.lang.String> getUserCecSettings();
7346    method public boolean isDeviceConnected(@NonNull android.hardware.hdmi.HdmiDeviceInfo);
7347    method public void powerOffDevice(@NonNull android.hardware.hdmi.HdmiDeviceInfo);
7348    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void removeHdmiCecEnabledChangeListener(@NonNull android.hardware.hdmi.HdmiControlManager.CecSettingChangeListener);
7349    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void removeHotplugEventListener(android.hardware.hdmi.HdmiControlManager.HotplugEventListener);
7350    method public void setActiveSource(@NonNull android.hardware.hdmi.HdmiDeviceInfo);
7351    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setEarcEnabled(@NonNull int);
7352    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setHdmiCecEnabled(@NonNull int);
7353    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setHdmiCecVersion(@NonNull int);
7354    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setHdmiCecVolumeControlEnabled(int);
7355    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setPowerControlMode(@NonNull String);
7356    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setPowerStateChangeOnActiveSourceLost(@NonNull String);
7357    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setRoutingControl(@NonNull int);
7358    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setSadPresenceInQuery(@NonNull String, int);
7359    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setSadsPresenceInQuery(@NonNull java.util.List<java.lang.String>, int);
7360    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setSoundbarMode(int);
7361    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setStandbyMode(boolean);
7362    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setSystemAudioControl(@NonNull int);
7363    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setSystemAudioModeMuting(@NonNull int);
7364    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setTvSendStandbyOnSleep(@NonNull int);
7365    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setTvWakeOnOneTouchPlay(@NonNull int);
7366    field public static final String ACTION_OSD_MESSAGE = "android.hardware.hdmi.action.OSD_MESSAGE";
7367    field public static final int AVR_VOLUME_MUTED = 101; // 0x65
7368    field public static final String CEC_SETTING_NAME_HDMI_CEC_ENABLED = "hdmi_cec_enabled";
7369    field public static final String CEC_SETTING_NAME_HDMI_CEC_VERSION = "hdmi_cec_version";
7370    field public static final String CEC_SETTING_NAME_POWER_CONTROL_MODE = "power_control_mode";
7371    field public static final String CEC_SETTING_NAME_POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST = "power_state_change_on_active_source_lost";
7372    field public static final String CEC_SETTING_NAME_QUERY_SAD_AAC = "query_sad_aac";
7373    field public static final String CEC_SETTING_NAME_QUERY_SAD_ATRAC = "query_sad_atrac";
7374    field public static final String CEC_SETTING_NAME_QUERY_SAD_DD = "query_sad_dd";
7375    field public static final String CEC_SETTING_NAME_QUERY_SAD_DDP = "query_sad_ddp";
7376    field public static final String CEC_SETTING_NAME_QUERY_SAD_DST = "query_sad_dst";
7377    field public static final String CEC_SETTING_NAME_QUERY_SAD_DTS = "query_sad_dts";
7378    field public static final String CEC_SETTING_NAME_QUERY_SAD_DTSHD = "query_sad_dtshd";
7379    field public static final String CEC_SETTING_NAME_QUERY_SAD_LPCM = "query_sad_lpcm";
7380    field public static final String CEC_SETTING_NAME_QUERY_SAD_MAX = "query_sad_max";
7381    field public static final String CEC_SETTING_NAME_QUERY_SAD_MP3 = "query_sad_mp3";
7382    field public static final String CEC_SETTING_NAME_QUERY_SAD_MPEG1 = "query_sad_mpeg1";
7383    field public static final String CEC_SETTING_NAME_QUERY_SAD_MPEG2 = "query_sad_mpeg2";
7384    field public static final String CEC_SETTING_NAME_QUERY_SAD_ONEBITAUDIO = "query_sad_onebitaudio";
7385    field public static final String CEC_SETTING_NAME_QUERY_SAD_TRUEHD = "query_sad_truehd";
7386    field public static final String CEC_SETTING_NAME_QUERY_SAD_WMAPRO = "query_sad_wmapro";
7387    field public static final String CEC_SETTING_NAME_ROUTING_CONTROL = "routing_control";
7388    field public static final String CEC_SETTING_NAME_SOUNDBAR_MODE = "soundbar_mode";
7389    field public static final String CEC_SETTING_NAME_SYSTEM_AUDIO_CONTROL = "system_audio_control";
7390    field public static final String CEC_SETTING_NAME_SYSTEM_AUDIO_MODE_MUTING = "system_audio_mode_muting";
7391    field public static final String CEC_SETTING_NAME_TV_SEND_STANDBY_ON_SLEEP = "tv_send_standby_on_sleep";
7392    field public static final String CEC_SETTING_NAME_TV_WAKE_ON_ONE_TOUCH_PLAY = "tv_wake_on_one_touch_play";
7393    field public static final String CEC_SETTING_NAME_VOLUME_CONTROL_MODE = "volume_control_enabled";
7394    field public static final int CLEAR_TIMER_STATUS_CEC_DISABLE = 162; // 0xa2
7395    field public static final int CLEAR_TIMER_STATUS_CHECK_RECORDER_CONNECTION = 160; // 0xa0
7396    field public static final int CLEAR_TIMER_STATUS_FAIL_TO_CLEAR_SELECTED_SOURCE = 161; // 0xa1
7397    field public static final int CLEAR_TIMER_STATUS_TIMER_CLEARED = 128; // 0x80
7398    field public static final int CLEAR_TIMER_STATUS_TIMER_NOT_CLEARED_NO_INFO_AVAILABLE = 2; // 0x2
7399    field public static final int CLEAR_TIMER_STATUS_TIMER_NOT_CLEARED_NO_MATCHING = 1; // 0x1
7400    field public static final int CLEAR_TIMER_STATUS_TIMER_NOT_CLEARED_RECORDING = 0; // 0x0
7401    field public static final int CONTROL_STATE_CHANGED_REASON_SETTING = 1; // 0x1
7402    field public static final int CONTROL_STATE_CHANGED_REASON_STANDBY = 3; // 0x3
7403    field public static final int CONTROL_STATE_CHANGED_REASON_START = 0; // 0x0
7404    field public static final int CONTROL_STATE_CHANGED_REASON_WAKEUP = 2; // 0x2
7405    field public static final int DEVICE_EVENT_ADD_DEVICE = 1; // 0x1
7406    field public static final int DEVICE_EVENT_REMOVE_DEVICE = 2; // 0x2
7407    field public static final int DEVICE_EVENT_UPDATE_DEVICE = 3; // 0x3
7408    field public static final int EARC_FEATURE_DISABLED = 0; // 0x0
7409    field public static final int EARC_FEATURE_ENABLED = 1; // 0x1
7410    field public static final String EXTRA_MESSAGE_EXTRA_PARAM1 = "android.hardware.hdmi.extra.MESSAGE_EXTRA_PARAM1";
7411    field public static final String EXTRA_MESSAGE_ID = "android.hardware.hdmi.extra.MESSAGE_ID";
7412    field public static final int HDMI_CEC_CONTROL_DISABLED = 0; // 0x0
7413    field public static final int HDMI_CEC_CONTROL_ENABLED = 1; // 0x1
7414    field public static final int HDMI_CEC_VERSION_1_4_B = 5; // 0x5
7415    field public static final int HDMI_CEC_VERSION_2_0 = 6; // 0x6
7416    field public static final int ONE_TOUCH_RECORD_ALREADY_RECORDING = 18; // 0x12
7417    field public static final int ONE_TOUCH_RECORD_CEC_DISABLED = 51; // 0x33
7418    field public static final int ONE_TOUCH_RECORD_CHECK_RECORDER_CONNECTION = 49; // 0x31
7419    field public static final int ONE_TOUCH_RECORD_DISALLOW_TO_COPY = 13; // 0xd
7420    field public static final int ONE_TOUCH_RECORD_DISALLOW_TO_FUTHER_COPIES = 14; // 0xe
7421    field public static final int ONE_TOUCH_RECORD_FAIL_TO_RECORD_DISPLAYED_SCREEN = 50; // 0x32
7422    field public static final int ONE_TOUCH_RECORD_INVALID_EXTERNAL_PHYSICAL_ADDRESS = 10; // 0xa
7423    field public static final int ONE_TOUCH_RECORD_INVALID_EXTERNAL_PLUG_NUMBER = 9; // 0x9
7424    field public static final int ONE_TOUCH_RECORD_MEDIA_PROBLEM = 21; // 0x15
7425    field public static final int ONE_TOUCH_RECORD_MEDIA_PROTECTED = 19; // 0x13
7426    field public static final int ONE_TOUCH_RECORD_NOT_ENOUGH_SPACE = 22; // 0x16
7427    field public static final int ONE_TOUCH_RECORD_NO_MEDIA = 16; // 0x10
7428    field public static final int ONE_TOUCH_RECORD_NO_OR_INSUFFICIENT_CA_ENTITLEMENTS = 12; // 0xc
7429    field public static final int ONE_TOUCH_RECORD_NO_SOURCE_SIGNAL = 20; // 0x14
7430    field public static final int ONE_TOUCH_RECORD_OTHER_REASON = 31; // 0x1f
7431    field public static final int ONE_TOUCH_RECORD_PARENT_LOCK_ON = 23; // 0x17
7432    field public static final int ONE_TOUCH_RECORD_PLAYING = 17; // 0x11
7433    field public static final int ONE_TOUCH_RECORD_PREVIOUS_RECORDING_IN_PROGRESS = 48; // 0x30
7434    field public static final int ONE_TOUCH_RECORD_RECORDING_ALREADY_TERMINATED = 27; // 0x1b
7435    field public static final int ONE_TOUCH_RECORD_RECORDING_ANALOGUE_SERVICE = 3; // 0x3
7436    field public static final int ONE_TOUCH_RECORD_RECORDING_CURRENTLY_SELECTED_SOURCE = 1; // 0x1
7437    field public static final int ONE_TOUCH_RECORD_RECORDING_DIGITAL_SERVICE = 2; // 0x2
7438    field public static final int ONE_TOUCH_RECORD_RECORDING_EXTERNAL_INPUT = 4; // 0x4
7439    field public static final int ONE_TOUCH_RECORD_RECORDING_TERMINATED_NORMALLY = 26; // 0x1a
7440    field public static final int ONE_TOUCH_RECORD_UNABLE_ANALOGUE_SERVICE = 6; // 0x6
7441    field public static final int ONE_TOUCH_RECORD_UNABLE_DIGITAL_SERVICE = 5; // 0x5
7442    field public static final int ONE_TOUCH_RECORD_UNABLE_SELECTED_SERVICE = 7; // 0x7
7443    field public static final int ONE_TOUCH_RECORD_UNSUPPORTED_CA = 11; // 0xb
7444    field public static final int OSD_MESSAGE_ARC_CONNECTED_INVALID_PORT = 1; // 0x1
7445    field public static final int OSD_MESSAGE_AVR_VOLUME_CHANGED = 2; // 0x2
7446    field public static final String POWER_CONTROL_MODE_BROADCAST = "broadcast";
7447    field public static final String POWER_CONTROL_MODE_NONE = "none";
7448    field public static final String POWER_CONTROL_MODE_TV = "to_tv";
7449    field public static final String POWER_CONTROL_MODE_TV_AND_AUDIO_SYSTEM = "to_tv_and_audio_system";
7450    field public static final String POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST_NONE = "none";
7451    field public static final String POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST_STANDBY_NOW = "standby_now";
7452    field public static final int POWER_STATUS_ON = 0; // 0x0
7453    field public static final int POWER_STATUS_STANDBY = 1; // 0x1
7454    field public static final int POWER_STATUS_TRANSIENT_TO_ON = 2; // 0x2
7455    field public static final int POWER_STATUS_TRANSIENT_TO_STANDBY = 3; // 0x3
7456    field public static final int POWER_STATUS_UNKNOWN = -1; // 0xffffffff
7457    field public static final int QUERY_SAD_DISABLED = 0; // 0x0
7458    field public static final int QUERY_SAD_ENABLED = 1; // 0x1
7459    field @Deprecated public static final int RESULT_ALREADY_IN_PROGRESS = 4; // 0x4
7460    field public static final int RESULT_COMMUNICATION_FAILED = 7; // 0x7
7461    field public static final int RESULT_EXCEPTION = 5; // 0x5
7462    field public static final int RESULT_INCORRECT_MODE = 6; // 0x6
7463    field public static final int RESULT_SOURCE_NOT_AVAILABLE = 2; // 0x2
7464    field public static final int RESULT_SUCCESS = 0; // 0x0
7465    field public static final int RESULT_TARGET_NOT_AVAILABLE = 3; // 0x3
7466    field public static final int RESULT_TIMEOUT = 1; // 0x1
7467    field public static final int ROUTING_CONTROL_DISABLED = 0; // 0x0
7468    field public static final int ROUTING_CONTROL_ENABLED = 1; // 0x1
7469    field public static final String SETTING_NAME_EARC_ENABLED = "earc_enabled";
7470    field public static final int SOUNDBAR_MODE_DISABLED = 0; // 0x0
7471    field public static final int SOUNDBAR_MODE_ENABLED = 1; // 0x1
7472    field public static final int SYSTEM_AUDIO_CONTROL_DISABLED = 0; // 0x0
7473    field public static final int SYSTEM_AUDIO_CONTROL_ENABLED = 1; // 0x1
7474    field public static final int SYSTEM_AUDIO_MODE_MUTING_DISABLED = 0; // 0x0
7475    field public static final int SYSTEM_AUDIO_MODE_MUTING_ENABLED = 1; // 0x1
7476    field public static final int TIMER_RECORDING_RESULT_EXTRA_CEC_DISABLED = 3; // 0x3
7477    field public static final int TIMER_RECORDING_RESULT_EXTRA_CHECK_RECORDER_CONNECTION = 1; // 0x1
7478    field public static final int TIMER_RECORDING_RESULT_EXTRA_FAIL_TO_RECORD_SELECTED_SOURCE = 2; // 0x2
7479    field public static final int TIMER_RECORDING_RESULT_EXTRA_NO_ERROR = 0; // 0x0
7480    field public static final int TIMER_RECORDING_TYPE_ANALOGUE = 2; // 0x2
7481    field public static final int TIMER_RECORDING_TYPE_DIGITAL = 1; // 0x1
7482    field public static final int TIMER_RECORDING_TYPE_EXTERNAL = 3; // 0x3
7483    field public static final int TIMER_STATUS_MEDIA_INFO_NOT_PRESENT = 2; // 0x2
7484    field public static final int TIMER_STATUS_MEDIA_INFO_PRESENT_NOT_PROTECTED = 0; // 0x0
7485    field public static final int TIMER_STATUS_MEDIA_INFO_PRESENT_PROTECTED = 1; // 0x1
7486    field public static final int TIMER_STATUS_NOT_PROGRAMMED_CA_NOT_SUPPORTED = 6; // 0x6
7487    field public static final int TIMER_STATUS_NOT_PROGRAMMED_CLOCK_FAILURE = 10; // 0xa
7488    field public static final int TIMER_STATUS_NOT_PROGRAMMED_DATE_OUT_OF_RANGE = 2; // 0x2
7489    field public static final int TIMER_STATUS_NOT_PROGRAMMED_DUPLICATED = 14; // 0xe
7490    field public static final int TIMER_STATUS_NOT_PROGRAMMED_INVALID_EXTERNAL_PHYSICAL_NUMBER = 5; // 0x5
7491    field public static final int TIMER_STATUS_NOT_PROGRAMMED_INVALID_EXTERNAL_PLUG_NUMBER = 4; // 0x4
7492    field public static final int TIMER_STATUS_NOT_PROGRAMMED_INVALID_SEQUENCE = 3; // 0x3
7493    field public static final int TIMER_STATUS_NOT_PROGRAMMED_NO_CA_ENTITLEMENTS = 7; // 0x7
7494    field public static final int TIMER_STATUS_NOT_PROGRAMMED_NO_FREE_TIME = 1; // 0x1
7495    field public static final int TIMER_STATUS_NOT_PROGRAMMED_PARENTAL_LOCK_ON = 9; // 0x9
7496    field public static final int TIMER_STATUS_NOT_PROGRAMMED_UNSUPPORTED_RESOLUTION = 8; // 0x8
7497    field public static final int TIMER_STATUS_PROGRAMMED_INFO_ENOUGH_SPACE = 8; // 0x8
7498    field public static final int TIMER_STATUS_PROGRAMMED_INFO_MIGHT_NOT_ENOUGH_SPACE = 11; // 0xb
7499    field public static final int TIMER_STATUS_PROGRAMMED_INFO_NOT_ENOUGH_SPACE = 9; // 0x9
7500    field public static final int TIMER_STATUS_PROGRAMMED_INFO_NO_MEDIA_INFO = 10; // 0xa
7501    field public static final int TV_SEND_STANDBY_ON_SLEEP_DISABLED = 0; // 0x0
7502    field public static final int TV_SEND_STANDBY_ON_SLEEP_ENABLED = 1; // 0x1
7503    field public static final int TV_WAKE_ON_ONE_TOUCH_PLAY_DISABLED = 0; // 0x0
7504    field public static final int TV_WAKE_ON_ONE_TOUCH_PLAY_ENABLED = 1; // 0x1
7505    field public static final int VOLUME_CONTROL_DISABLED = 0; // 0x0
7506    field public static final int VOLUME_CONTROL_ENABLED = 1; // 0x1
7507  }
7508
7509  public static interface HdmiControlManager.CecSettingChangeListener {
7510    method public void onChange(@NonNull String);
7511  }
7512
7513  public static interface HdmiControlManager.HotplugEventListener {
7514    method public void onReceived(android.hardware.hdmi.HdmiHotplugEvent);
7515  }
7516
7517  public static interface HdmiControlManager.VendorCommandListener {
7518    method public void onControlStateChanged(boolean, int);
7519    method public void onReceived(int, int, byte[], boolean);
7520  }
7521
7522  public class HdmiDeviceInfo implements android.os.Parcelable {
7523    ctor @Deprecated public HdmiDeviceInfo();
7524    method public int describeContents();
7525    method public int getAdopterId();
7526    method public int getDeviceId();
7527    method public int getDevicePowerStatus();
7528    method public int getDeviceType();
7529    method public String getDisplayName();
7530    method public int getId();
7531    method public int getLogicalAddress();
7532    method public int getPhysicalAddress();
7533    method public int getPortId();
7534    method public int getVendorId();
7535    method public static int idForCecDevice(int);
7536    method public static int idForHardware(int);
7537    method public static int idForMhlDevice(int);
7538    method public boolean isCecDevice();
7539    method public boolean isInactivated();
7540    method public boolean isMhlDevice();
7541    method public boolean isSourceType();
7542    method public void writeToParcel(android.os.Parcel, int);
7543    field public static final int ADDR_INTERNAL = 0; // 0x0
7544    field public static final int ADDR_INVALID = -1; // 0xffffffff
7545    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.hdmi.HdmiDeviceInfo> CREATOR;
7546    field public static final int DEVICE_AUDIO_SYSTEM = 5; // 0x5
7547    field public static final int DEVICE_INACTIVE = -1; // 0xffffffff
7548    field public static final int DEVICE_PLAYBACK = 4; // 0x4
7549    field public static final int DEVICE_RECORDER = 1; // 0x1
7550    field public static final int DEVICE_RESERVED = 2; // 0x2
7551    field public static final int DEVICE_TUNER = 3; // 0x3
7552    field public static final int DEVICE_TV = 0; // 0x0
7553    field public static final int ID_INVALID = 65535; // 0xffff
7554    field public static final android.hardware.hdmi.HdmiDeviceInfo INACTIVE_DEVICE;
7555    field public static final int PATH_INTERNAL = 0; // 0x0
7556    field public static final int PATH_INVALID = 65535; // 0xffff
7557    field public static final int PORT_INVALID = -1; // 0xffffffff
7558    field public static final int VENDOR_ID_UNKNOWN = 16777215; // 0xffffff
7559  }
7560
7561  public final class HdmiHotplugEvent implements android.os.Parcelable {
7562    method public int describeContents();
7563    method public int getPort();
7564    method public boolean isConnected();
7565    method public void writeToParcel(android.os.Parcel, int);
7566    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.hdmi.HdmiHotplugEvent> CREATOR;
7567  }
7568
7569  public final class HdmiPlaybackClient extends android.hardware.hdmi.HdmiClient {
7570    method public int getDeviceType();
7571    method public void oneTouchPlay(android.hardware.hdmi.HdmiPlaybackClient.OneTouchPlayCallback);
7572    method public void queryDisplayStatus(android.hardware.hdmi.HdmiPlaybackClient.DisplayStatusCallback);
7573    method public void sendStandby();
7574  }
7575
7576  public static interface HdmiPlaybackClient.DisplayStatusCallback {
7577    method public void onComplete(int);
7578  }
7579
7580  public static interface HdmiPlaybackClient.OneTouchPlayCallback {
7581    method public void onComplete(int);
7582  }
7583
7584  public final class HdmiPortInfo implements android.os.Parcelable {
7585    ctor @Deprecated public HdmiPortInfo(int, int, int, boolean, boolean, boolean);
7586    method public int describeContents();
7587    method public int getAddress();
7588    method public int getId();
7589    method public int getType();
7590    method public boolean isArcSupported();
7591    method public boolean isCecSupported();
7592    method public boolean isEarcSupported();
7593    method public boolean isMhlSupported();
7594    method public void writeToParcel(android.os.Parcel, int);
7595    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.hdmi.HdmiPortInfo> CREATOR;
7596    field public static final int PORT_INPUT = 0; // 0x0
7597    field public static final int PORT_OUTPUT = 1; // 0x1
7598  }
7599
7600  public static final class HdmiPortInfo.Builder {
7601    ctor public HdmiPortInfo.Builder(int, int, int);
7602    method @NonNull public android.hardware.hdmi.HdmiPortInfo build();
7603    method @NonNull public android.hardware.hdmi.HdmiPortInfo.Builder setArcSupported(boolean);
7604    method @NonNull public android.hardware.hdmi.HdmiPortInfo.Builder setCecSupported(boolean);
7605    method @NonNull public android.hardware.hdmi.HdmiPortInfo.Builder setEarcSupported(boolean);
7606    method @NonNull public android.hardware.hdmi.HdmiPortInfo.Builder setMhlSupported(boolean);
7607  }
7608
7609  public abstract class HdmiRecordListener {
7610    ctor public HdmiRecordListener();
7611    method public void onClearTimerRecordingResult(int, int);
7612    method public void onOneTouchRecordResult(int, int);
7613    method public abstract android.hardware.hdmi.HdmiRecordSources.RecordSource onOneTouchRecordSourceRequested(int);
7614    method public void onTimerRecordingResult(int, android.hardware.hdmi.HdmiRecordListener.TimerStatusData);
7615  }
7616
7617  public static class HdmiRecordListener.TimerStatusData {
7618    method public int getDurationHour();
7619    method public int getDurationMinute();
7620    method public int getExtraError();
7621    method public int getMediaInfo();
7622    method public int getNotProgammedError();
7623    method public int getProgrammedInfo();
7624    method public boolean isOverlapped();
7625    method public boolean isProgrammed();
7626  }
7627
7628  public final class HdmiRecordSources {
7629    method public static boolean checkRecordSource(byte[]);
7630    method public static android.hardware.hdmi.HdmiRecordSources.OwnSource ofOwnSource();
7631  }
7632
7633  public static final class HdmiRecordSources.AnalogueServiceSource extends android.hardware.hdmi.HdmiRecordSources.RecordSource {
7634  }
7635
7636  public static final class HdmiRecordSources.DigitalServiceSource extends android.hardware.hdmi.HdmiRecordSources.RecordSource {
7637  }
7638
7639  public static final class HdmiRecordSources.ExternalPhysicalAddress extends android.hardware.hdmi.HdmiRecordSources.RecordSource {
7640  }
7641
7642  public static final class HdmiRecordSources.ExternalPlugData extends android.hardware.hdmi.HdmiRecordSources.RecordSource {
7643  }
7644
7645  public static final class HdmiRecordSources.OwnSource extends android.hardware.hdmi.HdmiRecordSources.RecordSource {
7646  }
7647
7648  public abstract static class HdmiRecordSources.RecordSource {
7649  }
7650
7651  public class HdmiSwitchClient extends android.hardware.hdmi.HdmiClient {
7652    method public int getDeviceType();
7653    method @Deprecated @NonNull public java.util.List<android.hardware.hdmi.HdmiPortInfo> getPortInfo();
7654    method public void selectPort(int, @NonNull android.hardware.hdmi.HdmiSwitchClient.OnSelectListener);
7655    method public void selectPort(int, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.hdmi.HdmiSwitchClient.OnSelectListener);
7656  }
7657
7658  public static interface HdmiSwitchClient.OnSelectListener {
7659    method public void onSelect(int);
7660  }
7661
7662  public class HdmiTimerRecordSources {
7663    method public static boolean checkTimerRecordSource(int, byte[]);
7664    method public static android.hardware.hdmi.HdmiTimerRecordSources.Duration durationOf(int, int);
7665    method public static android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource ofAnalogueSource(android.hardware.hdmi.HdmiTimerRecordSources.TimerInfo, android.hardware.hdmi.HdmiRecordSources.AnalogueServiceSource);
7666    method public static android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource ofDigitalSource(android.hardware.hdmi.HdmiTimerRecordSources.TimerInfo, android.hardware.hdmi.HdmiRecordSources.DigitalServiceSource);
7667    method public static android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource ofExternalPhysicalAddress(android.hardware.hdmi.HdmiTimerRecordSources.TimerInfo, android.hardware.hdmi.HdmiRecordSources.ExternalPhysicalAddress);
7668    method public static android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource ofExternalPlug(android.hardware.hdmi.HdmiTimerRecordSources.TimerInfo, android.hardware.hdmi.HdmiRecordSources.ExternalPlugData);
7669    method public static android.hardware.hdmi.HdmiTimerRecordSources.Time timeOf(int, int);
7670    method public static android.hardware.hdmi.HdmiTimerRecordSources.TimerInfo timerInfoOf(int, int, android.hardware.hdmi.HdmiTimerRecordSources.Time, android.hardware.hdmi.HdmiTimerRecordSources.Duration, int);
7671    field public static final int RECORDING_SEQUENCE_REPEAT_FRIDAY = 32; // 0x20
7672    field public static final int RECORDING_SEQUENCE_REPEAT_MONDAY = 2; // 0x2
7673    field public static final int RECORDING_SEQUENCE_REPEAT_ONCE_ONLY = 0; // 0x0
7674    field public static final int RECORDING_SEQUENCE_REPEAT_SATUREDAY = 64; // 0x40
7675    field public static final int RECORDING_SEQUENCE_REPEAT_SUNDAY = 1; // 0x1
7676    field public static final int RECORDING_SEQUENCE_REPEAT_THURSDAY = 16; // 0x10
7677    field public static final int RECORDING_SEQUENCE_REPEAT_TUESDAY = 4; // 0x4
7678    field public static final int RECORDING_SEQUENCE_REPEAT_WEDNESDAY = 8; // 0x8
7679  }
7680
7681  public static final class HdmiTimerRecordSources.Duration {
7682  }
7683
7684  public static final class HdmiTimerRecordSources.Time {
7685  }
7686
7687  public static final class HdmiTimerRecordSources.TimerInfo {
7688  }
7689
7690  public static final class HdmiTimerRecordSources.TimerRecordSource {
7691  }
7692
7693  public final class HdmiTvClient extends android.hardware.hdmi.HdmiClient {
7694    method public void clearTimerRecording(int, int, android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource);
7695    method @Deprecated public void deviceSelect(int, @NonNull android.hardware.hdmi.HdmiTvClient.SelectCallback);
7696    method @Deprecated public java.util.List<android.hardware.hdmi.HdmiDeviceInfo> getDeviceList();
7697    method public int getDeviceType();
7698    method public void portSelect(int, @NonNull android.hardware.hdmi.HdmiTvClient.SelectCallback);
7699    method public void sendMhlVendorCommand(int, int, int, byte[]);
7700    method public void sendStandby(int);
7701    method public void setHdmiMhlVendorCommandListener(android.hardware.hdmi.HdmiTvClient.HdmiMhlVendorCommandListener);
7702    method public void setInputChangeListener(android.hardware.hdmi.HdmiTvClient.InputChangeListener);
7703    method public void setRecordListener(@NonNull android.hardware.hdmi.HdmiRecordListener);
7704    method public void setSystemAudioMode(boolean, android.hardware.hdmi.HdmiTvClient.SelectCallback);
7705    method public void setSystemAudioMute(boolean);
7706    method public void setSystemAudioVolume(int, int, int);
7707    method public void startOneTouchRecord(int, @NonNull android.hardware.hdmi.HdmiRecordSources.RecordSource);
7708    method public void startTimerRecording(int, int, android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource);
7709    method public void stopOneTouchRecord(int);
7710    field public static final int VENDOR_DATA_SIZE = 16; // 0x10
7711  }
7712
7713  public static interface HdmiTvClient.HdmiMhlVendorCommandListener {
7714    method public void onReceived(int, int, int, byte[]);
7715  }
7716
7717  public static interface HdmiTvClient.InputChangeListener {
7718    method public void onChanged(android.hardware.hdmi.HdmiDeviceInfo);
7719  }
7720
7721  public static interface HdmiTvClient.SelectCallback {
7722    method public void onComplete(int);
7723  }
7724
7725}
7726
7727package android.hardware.input {
7728
7729  public class VirtualDpad implements java.io.Closeable {
7730    method public void close();
7731    method public void sendKeyEvent(@NonNull android.hardware.input.VirtualKeyEvent);
7732  }
7733
7734  public final class VirtualDpadConfig extends android.hardware.input.VirtualInputDeviceConfig implements android.os.Parcelable {
7735    method public int describeContents();
7736    method public void writeToParcel(@NonNull android.os.Parcel, int);
7737    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualDpadConfig> CREATOR;
7738  }
7739
7740  public static final class VirtualDpadConfig.Builder extends android.hardware.input.VirtualInputDeviceConfig.Builder<android.hardware.input.VirtualDpadConfig.Builder> {
7741    ctor public VirtualDpadConfig.Builder();
7742    method @NonNull public android.hardware.input.VirtualDpadConfig build();
7743  }
7744
7745  public abstract class VirtualInputDeviceConfig {
7746    ctor protected VirtualInputDeviceConfig(@NonNull android.hardware.input.VirtualInputDeviceConfig.Builder<? extends android.hardware.input.VirtualInputDeviceConfig.Builder<?>>);
7747    ctor protected VirtualInputDeviceConfig(@NonNull android.os.Parcel);
7748    method public int getAssociatedDisplayId();
7749    method @NonNull public String getInputDeviceName();
7750    method public int getProductId();
7751    method public int getVendorId();
7752  }
7753
7754  public abstract static class VirtualInputDeviceConfig.Builder<T extends android.hardware.input.VirtualInputDeviceConfig.Builder<T>> {
7755    ctor public VirtualInputDeviceConfig.Builder();
7756    method @NonNull public T setAssociatedDisplayId(int);
7757    method @NonNull public T setInputDeviceName(@NonNull String);
7758    method @NonNull public T setProductId(int);
7759    method @NonNull public T setVendorId(int);
7760  }
7761
7762  public final class VirtualKeyEvent implements android.os.Parcelable {
7763    method public int describeContents();
7764    method public int getAction();
7765    method public long getEventTimeNanos();
7766    method public int getKeyCode();
7767    method public void writeToParcel(@NonNull android.os.Parcel, int);
7768    field public static final int ACTION_DOWN = 0; // 0x0
7769    field public static final int ACTION_UP = 1; // 0x1
7770    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualKeyEvent> CREATOR;
7771  }
7772
7773  public static final class VirtualKeyEvent.Builder {
7774    ctor public VirtualKeyEvent.Builder();
7775    method @NonNull public android.hardware.input.VirtualKeyEvent build();
7776    method @NonNull public android.hardware.input.VirtualKeyEvent.Builder setAction(int);
7777    method @NonNull public android.hardware.input.VirtualKeyEvent.Builder setEventTimeNanos(long);
7778    method @NonNull public android.hardware.input.VirtualKeyEvent.Builder setKeyCode(int);
7779  }
7780
7781  public class VirtualKeyboard implements java.io.Closeable {
7782    method public void close();
7783    method public void sendKeyEvent(@NonNull android.hardware.input.VirtualKeyEvent);
7784  }
7785
7786  public final class VirtualKeyboardConfig extends android.hardware.input.VirtualInputDeviceConfig implements android.os.Parcelable {
7787    method public int describeContents();
7788    method @NonNull public String getLanguageTag();
7789    method @NonNull public String getLayoutType();
7790    method public void writeToParcel(@NonNull android.os.Parcel, int);
7791    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualKeyboardConfig> CREATOR;
7792    field public static final String DEFAULT_LANGUAGE_TAG = "en-Latn-US";
7793    field public static final String DEFAULT_LAYOUT_TYPE = "qwerty";
7794  }
7795
7796  public static final class VirtualKeyboardConfig.Builder extends android.hardware.input.VirtualInputDeviceConfig.Builder<android.hardware.input.VirtualKeyboardConfig.Builder> {
7797    ctor public VirtualKeyboardConfig.Builder();
7798    method @NonNull public android.hardware.input.VirtualKeyboardConfig build();
7799    method @NonNull public android.hardware.input.VirtualKeyboardConfig.Builder setLanguageTag(@NonNull String);
7800    method @NonNull public android.hardware.input.VirtualKeyboardConfig.Builder setLayoutType(@NonNull String);
7801  }
7802
7803  public class VirtualMouse implements java.io.Closeable {
7804    method public void close();
7805    method @NonNull public android.graphics.PointF getCursorPosition();
7806    method public void sendButtonEvent(@NonNull android.hardware.input.VirtualMouseButtonEvent);
7807    method public void sendRelativeEvent(@NonNull android.hardware.input.VirtualMouseRelativeEvent);
7808    method public void sendScrollEvent(@NonNull android.hardware.input.VirtualMouseScrollEvent);
7809  }
7810
7811  public final class VirtualMouseButtonEvent implements android.os.Parcelable {
7812    method public int describeContents();
7813    method public int getAction();
7814    method public int getButtonCode();
7815    method public long getEventTimeNanos();
7816    method public void writeToParcel(@NonNull android.os.Parcel, int);
7817    field public static final int ACTION_BUTTON_PRESS = 11; // 0xb
7818    field public static final int ACTION_BUTTON_RELEASE = 12; // 0xc
7819    field public static final int BUTTON_BACK = 8; // 0x8
7820    field public static final int BUTTON_FORWARD = 16; // 0x10
7821    field public static final int BUTTON_PRIMARY = 1; // 0x1
7822    field public static final int BUTTON_SECONDARY = 2; // 0x2
7823    field public static final int BUTTON_TERTIARY = 4; // 0x4
7824    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualMouseButtonEvent> CREATOR;
7825  }
7826
7827  public static final class VirtualMouseButtonEvent.Builder {
7828    ctor public VirtualMouseButtonEvent.Builder();
7829    method @NonNull public android.hardware.input.VirtualMouseButtonEvent build();
7830    method @NonNull public android.hardware.input.VirtualMouseButtonEvent.Builder setAction(int);
7831    method @NonNull public android.hardware.input.VirtualMouseButtonEvent.Builder setButtonCode(int);
7832    method @NonNull public android.hardware.input.VirtualMouseButtonEvent.Builder setEventTimeNanos(long);
7833  }
7834
7835  public final class VirtualMouseConfig extends android.hardware.input.VirtualInputDeviceConfig implements android.os.Parcelable {
7836    method public int describeContents();
7837    method public void writeToParcel(@NonNull android.os.Parcel, int);
7838    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualMouseConfig> CREATOR;
7839  }
7840
7841  public static final class VirtualMouseConfig.Builder extends android.hardware.input.VirtualInputDeviceConfig.Builder<android.hardware.input.VirtualMouseConfig.Builder> {
7842    ctor public VirtualMouseConfig.Builder();
7843    method @NonNull public android.hardware.input.VirtualMouseConfig build();
7844  }
7845
7846  public final class VirtualMouseRelativeEvent implements android.os.Parcelable {
7847    method public int describeContents();
7848    method public long getEventTimeNanos();
7849    method public float getRelativeX();
7850    method public float getRelativeY();
7851    method public void writeToParcel(@NonNull android.os.Parcel, int);
7852    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualMouseRelativeEvent> CREATOR;
7853  }
7854
7855  public static final class VirtualMouseRelativeEvent.Builder {
7856    ctor public VirtualMouseRelativeEvent.Builder();
7857    method @NonNull public android.hardware.input.VirtualMouseRelativeEvent build();
7858    method @NonNull public android.hardware.input.VirtualMouseRelativeEvent.Builder setEventTimeNanos(long);
7859    method @NonNull public android.hardware.input.VirtualMouseRelativeEvent.Builder setRelativeX(float);
7860    method @NonNull public android.hardware.input.VirtualMouseRelativeEvent.Builder setRelativeY(float);
7861  }
7862
7863  public final class VirtualMouseScrollEvent implements android.os.Parcelable {
7864    method public int describeContents();
7865    method public long getEventTimeNanos();
7866    method public float getXAxisMovement();
7867    method public float getYAxisMovement();
7868    method public void writeToParcel(@NonNull android.os.Parcel, int);
7869    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualMouseScrollEvent> CREATOR;
7870  }
7871
7872  public static final class VirtualMouseScrollEvent.Builder {
7873    ctor public VirtualMouseScrollEvent.Builder();
7874    method @NonNull public android.hardware.input.VirtualMouseScrollEvent build();
7875    method @NonNull public android.hardware.input.VirtualMouseScrollEvent.Builder setEventTimeNanos(long);
7876    method @NonNull public android.hardware.input.VirtualMouseScrollEvent.Builder setXAxisMovement(@FloatRange(from=-1.0F, to=1.0f) float);
7877    method @NonNull public android.hardware.input.VirtualMouseScrollEvent.Builder setYAxisMovement(@FloatRange(from=-1.0F, to=1.0f) float);
7878  }
7879
7880  public class VirtualNavigationTouchpad implements java.io.Closeable {
7881    method public void close();
7882    method public void sendTouchEvent(@NonNull android.hardware.input.VirtualTouchEvent);
7883  }
7884
7885  public final class VirtualNavigationTouchpadConfig extends android.hardware.input.VirtualInputDeviceConfig implements android.os.Parcelable {
7886    method public int describeContents();
7887    method @IntRange(from=1) public int getHeight();
7888    method @IntRange(from=1) public int getWidth();
7889    method public void writeToParcel(@NonNull android.os.Parcel, int);
7890    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualNavigationTouchpadConfig> CREATOR;
7891  }
7892
7893  public static final class VirtualNavigationTouchpadConfig.Builder extends android.hardware.input.VirtualInputDeviceConfig.Builder<android.hardware.input.VirtualNavigationTouchpadConfig.Builder> {
7894    ctor public VirtualNavigationTouchpadConfig.Builder(@IntRange(from=1) int, @IntRange(from=1) int);
7895    method @NonNull public android.hardware.input.VirtualNavigationTouchpadConfig build();
7896  }
7897
7898  @FlaggedApi("android.companion.virtualdevice.flags.virtual_rotary") public class VirtualRotaryEncoder implements java.io.Closeable {
7899    method public void close();
7900    method public void sendScrollEvent(@NonNull android.hardware.input.VirtualRotaryEncoderScrollEvent);
7901  }
7902
7903  @FlaggedApi("android.companion.virtualdevice.flags.virtual_rotary") public final class VirtualRotaryEncoderConfig extends android.hardware.input.VirtualInputDeviceConfig implements android.os.Parcelable {
7904    method public int describeContents();
7905    method public void writeToParcel(@NonNull android.os.Parcel, int);
7906    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualRotaryEncoderConfig> CREATOR;
7907  }
7908
7909  public static final class VirtualRotaryEncoderConfig.Builder extends android.hardware.input.VirtualInputDeviceConfig.Builder<android.hardware.input.VirtualRotaryEncoderConfig.Builder> {
7910    ctor public VirtualRotaryEncoderConfig.Builder();
7911    method @NonNull public android.hardware.input.VirtualRotaryEncoderConfig build();
7912  }
7913
7914  @FlaggedApi("android.companion.virtualdevice.flags.virtual_rotary") public final class VirtualRotaryEncoderScrollEvent implements android.os.Parcelable {
7915    method public int describeContents();
7916    method public long getEventTimeNanos();
7917    method @FloatRange(from=-1.0F, to=1.0f) public float getScrollAmount();
7918    method public void writeToParcel(@NonNull android.os.Parcel, int);
7919    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualRotaryEncoderScrollEvent> CREATOR;
7920  }
7921
7922  public static final class VirtualRotaryEncoderScrollEvent.Builder {
7923    ctor public VirtualRotaryEncoderScrollEvent.Builder();
7924    method @NonNull public android.hardware.input.VirtualRotaryEncoderScrollEvent build();
7925    method @NonNull public android.hardware.input.VirtualRotaryEncoderScrollEvent.Builder setEventTimeNanos(long);
7926    method @NonNull public android.hardware.input.VirtualRotaryEncoderScrollEvent.Builder setScrollAmount(@FloatRange(from=-1.0F, to=1.0f) float);
7927  }
7928
7929  @FlaggedApi("android.companion.virtual.flags.virtual_stylus") public class VirtualStylus implements java.io.Closeable {
7930    method public void close();
7931    method public void sendButtonEvent(@NonNull android.hardware.input.VirtualStylusButtonEvent);
7932    method public void sendMotionEvent(@NonNull android.hardware.input.VirtualStylusMotionEvent);
7933  }
7934
7935  @FlaggedApi("android.companion.virtual.flags.virtual_stylus") public final class VirtualStylusButtonEvent implements android.os.Parcelable {
7936    method public int describeContents();
7937    method public int getAction();
7938    method public int getButtonCode();
7939    method public long getEventTimeNanos();
7940    method public void writeToParcel(@NonNull android.os.Parcel, int);
7941    field public static final int ACTION_BUTTON_PRESS = 11; // 0xb
7942    field public static final int ACTION_BUTTON_RELEASE = 12; // 0xc
7943    field public static final int BUTTON_PRIMARY = 32; // 0x20
7944    field public static final int BUTTON_SECONDARY = 64; // 0x40
7945    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualStylusButtonEvent> CREATOR;
7946  }
7947
7948  @FlaggedApi("android.companion.virtual.flags.virtual_stylus") public static final class VirtualStylusButtonEvent.Builder {
7949    ctor public VirtualStylusButtonEvent.Builder();
7950    method @NonNull public android.hardware.input.VirtualStylusButtonEvent build();
7951    method @NonNull public android.hardware.input.VirtualStylusButtonEvent.Builder setAction(int);
7952    method @NonNull public android.hardware.input.VirtualStylusButtonEvent.Builder setButtonCode(int);
7953    method @NonNull public android.hardware.input.VirtualStylusButtonEvent.Builder setEventTimeNanos(long);
7954  }
7955
7956  @FlaggedApi("android.companion.virtual.flags.virtual_stylus") public final class VirtualStylusConfig extends android.hardware.input.VirtualInputDeviceConfig implements android.os.Parcelable {
7957    method public int describeContents();
7958    method public int getHeight();
7959    method public int getWidth();
7960    method public void writeToParcel(@NonNull android.os.Parcel, int);
7961    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualStylusConfig> CREATOR;
7962  }
7963
7964  @FlaggedApi("android.companion.virtual.flags.virtual_stylus") public static final class VirtualStylusConfig.Builder extends android.hardware.input.VirtualInputDeviceConfig.Builder<android.hardware.input.VirtualStylusConfig.Builder> {
7965    ctor public VirtualStylusConfig.Builder(@IntRange(from=1) int, @IntRange(from=1) int);
7966    method @NonNull public android.hardware.input.VirtualStylusConfig build();
7967  }
7968
7969  @FlaggedApi("android.companion.virtual.flags.virtual_stylus") public final class VirtualStylusMotionEvent implements android.os.Parcelable {
7970    method public int describeContents();
7971    method public int getAction();
7972    method public long getEventTimeNanos();
7973    method public int getPressure();
7974    method public int getTiltX();
7975    method public int getTiltY();
7976    method public int getToolType();
7977    method public int getX();
7978    method public int getY();
7979    method public void writeToParcel(@NonNull android.os.Parcel, int);
7980    field public static final int ACTION_DOWN = 0; // 0x0
7981    field public static final int ACTION_MOVE = 2; // 0x2
7982    field public static final int ACTION_UP = 1; // 0x1
7983    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualStylusMotionEvent> CREATOR;
7984    field public static final int TOOL_TYPE_ERASER = 4; // 0x4
7985    field public static final int TOOL_TYPE_STYLUS = 2; // 0x2
7986  }
7987
7988  @FlaggedApi("android.companion.virtual.flags.virtual_stylus") public static final class VirtualStylusMotionEvent.Builder {
7989    ctor public VirtualStylusMotionEvent.Builder();
7990    method @NonNull public android.hardware.input.VirtualStylusMotionEvent build();
7991    method @NonNull public android.hardware.input.VirtualStylusMotionEvent.Builder setAction(int);
7992    method @NonNull public android.hardware.input.VirtualStylusMotionEvent.Builder setEventTimeNanos(long);
7993    method @NonNull public android.hardware.input.VirtualStylusMotionEvent.Builder setPressure(@IntRange(from=0x0, to=0xff) int);
7994    method @NonNull public android.hardware.input.VirtualStylusMotionEvent.Builder setTiltX(@IntRange(from=0xffffffa6, to=0x5a) int);
7995    method @NonNull public android.hardware.input.VirtualStylusMotionEvent.Builder setTiltY(@IntRange(from=0xffffffa6, to=0x5a) int);
7996    method @NonNull public android.hardware.input.VirtualStylusMotionEvent.Builder setToolType(int);
7997    method @NonNull public android.hardware.input.VirtualStylusMotionEvent.Builder setX(int);
7998    method @NonNull public android.hardware.input.VirtualStylusMotionEvent.Builder setY(int);
7999  }
8000
8001  public final class VirtualTouchEvent implements android.os.Parcelable {
8002    method public int describeContents();
8003    method public int getAction();
8004    method public long getEventTimeNanos();
8005    method public float getMajorAxisSize();
8006    method public int getPointerId();
8007    method public float getPressure();
8008    method public int getToolType();
8009    method public float getX();
8010    method public float getY();
8011    method public void writeToParcel(@NonNull android.os.Parcel, int);
8012    field public static final int ACTION_CANCEL = 3; // 0x3
8013    field public static final int ACTION_DOWN = 0; // 0x0
8014    field public static final int ACTION_MOVE = 2; // 0x2
8015    field public static final int ACTION_UP = 1; // 0x1
8016    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualTouchEvent> CREATOR;
8017    field public static final int TOOL_TYPE_FINGER = 1; // 0x1
8018    field public static final int TOOL_TYPE_PALM = 5; // 0x5
8019  }
8020
8021  public static final class VirtualTouchEvent.Builder {
8022    ctor public VirtualTouchEvent.Builder();
8023    method @NonNull public android.hardware.input.VirtualTouchEvent build();
8024    method @NonNull public android.hardware.input.VirtualTouchEvent.Builder setAction(int);
8025    method @NonNull public android.hardware.input.VirtualTouchEvent.Builder setEventTimeNanos(long);
8026    method @NonNull public android.hardware.input.VirtualTouchEvent.Builder setMajorAxisSize(@FloatRange(from=0.0f) float);
8027    method @NonNull public android.hardware.input.VirtualTouchEvent.Builder setPointerId(@IntRange(from=0, to=0x10 - 1) int);
8028    method @NonNull public android.hardware.input.VirtualTouchEvent.Builder setPressure(@FloatRange(from=0.0f) float);
8029    method @NonNull public android.hardware.input.VirtualTouchEvent.Builder setToolType(int);
8030    method @NonNull public android.hardware.input.VirtualTouchEvent.Builder setX(float);
8031    method @NonNull public android.hardware.input.VirtualTouchEvent.Builder setY(float);
8032  }
8033
8034  public class VirtualTouchscreen implements java.io.Closeable {
8035    method public void close();
8036    method public void sendTouchEvent(@NonNull android.hardware.input.VirtualTouchEvent);
8037  }
8038
8039  public final class VirtualTouchscreenConfig extends android.hardware.input.VirtualInputDeviceConfig implements android.os.Parcelable {
8040    method public int describeContents();
8041    method public int getHeight();
8042    method public int getWidth();
8043    method public void writeToParcel(@NonNull android.os.Parcel, int);
8044    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualTouchscreenConfig> CREATOR;
8045  }
8046
8047  public static final class VirtualTouchscreenConfig.Builder extends android.hardware.input.VirtualInputDeviceConfig.Builder<android.hardware.input.VirtualTouchscreenConfig.Builder> {
8048    ctor public VirtualTouchscreenConfig.Builder(@IntRange(from=1) int, @IntRange(from=1) int);
8049    method @NonNull public android.hardware.input.VirtualTouchscreenConfig build();
8050  }
8051
8052}
8053
8054package android.hardware.lights {
8055
8056  public final class LightState implements android.os.Parcelable {
8057    ctor @Deprecated public LightState(@ColorInt int);
8058  }
8059
8060  public abstract class LightsManager {
8061    field @Deprecated public static final int LIGHT_TYPE_MICROPHONE = 8; // 0x8
8062  }
8063
8064  public static final class LightsRequest.Builder {
8065    method @Deprecated @NonNull public android.hardware.lights.LightsRequest.Builder setLight(@NonNull android.hardware.lights.Light, @NonNull android.hardware.lights.LightState);
8066  }
8067
8068}
8069
8070package android.hardware.location {
8071
8072  public class ContextHubClient implements java.io.Closeable {
8073    method public void close();
8074    method @NonNull public android.hardware.location.ContextHubInfo getAttachedHub();
8075    method @IntRange(from=0, to=65535) public int getId();
8076    method @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public int sendMessageToNanoApp(@NonNull android.hardware.location.NanoAppMessage);
8077    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public android.hardware.location.ContextHubTransaction<java.lang.Void> sendReliableMessageToNanoApp(@NonNull android.hardware.location.NanoAppMessage);
8078  }
8079
8080  public class ContextHubClientCallback {
8081    ctor public ContextHubClientCallback();
8082    method public void onClientAuthorizationChanged(@NonNull android.hardware.location.ContextHubClient, long, int);
8083    method public void onHubReset(android.hardware.location.ContextHubClient);
8084    method public void onMessageFromNanoApp(android.hardware.location.ContextHubClient, android.hardware.location.NanoAppMessage);
8085    method public void onNanoAppAborted(android.hardware.location.ContextHubClient, long, int);
8086    method public void onNanoAppDisabled(android.hardware.location.ContextHubClient, long);
8087    method public void onNanoAppEnabled(android.hardware.location.ContextHubClient, long);
8088    method public void onNanoAppLoaded(android.hardware.location.ContextHubClient, long);
8089    method public void onNanoAppUnloaded(android.hardware.location.ContextHubClient, long);
8090  }
8091
8092  public class ContextHubInfo implements android.os.Parcelable {
8093    ctor public ContextHubInfo();
8094    method public int describeContents();
8095    method public byte getChreApiMajorVersion();
8096    method public byte getChreApiMinorVersion();
8097    method public short getChrePatchVersion();
8098    method public long getChrePlatformId();
8099    method public int getId();
8100    method public int getMaxPacketLengthBytes();
8101    method public android.hardware.location.MemoryRegion[] getMemoryRegions();
8102    method public String getName();
8103    method public float getPeakMips();
8104    method public float getPeakPowerDrawMw();
8105    method public int getPlatformVersion();
8106    method public float getSleepPowerDrawMw();
8107    method public int getStaticSwVersion();
8108    method public float getStoppedPowerDrawMw();
8109    method public int[] getSupportedSensors();
8110    method public String getToolchain();
8111    method public int getToolchainVersion();
8112    method public String getVendor();
8113    method public boolean supportsReliableMessages();
8114    method public void writeToParcel(android.os.Parcel, int);
8115    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.ContextHubInfo> CREATOR;
8116  }
8117
8118  public class ContextHubIntentEvent {
8119    method @NonNull public static android.hardware.location.ContextHubIntentEvent fromIntent(@NonNull android.content.Intent);
8120    method public int getClientAuthorizationState();
8121    method @NonNull public android.hardware.location.ContextHubInfo getContextHubInfo();
8122    method public int getEventType();
8123    method public int getNanoAppAbortCode();
8124    method public long getNanoAppId();
8125    method @NonNull public android.hardware.location.NanoAppMessage getNanoAppMessage();
8126  }
8127
8128  public final class ContextHubManager {
8129    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);
8130    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);
8131    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);
8132    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);
8133    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);
8134    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public android.hardware.location.ContextHubTransaction<java.lang.Void> disableNanoApp(@NonNull android.hardware.location.ContextHubInfo, long);
8135    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public android.hardware.location.ContextHubTransaction<java.lang.Void> enableNanoApp(@NonNull android.hardware.location.ContextHubInfo, long);
8136    method @FlaggedApi("android.chre.flags.offload_api") @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public java.util.List<android.hardware.contexthub.HubDiscoveryInfo> findEndpoints(@NonNull String);
8137    method @FlaggedApi("android.chre.flags.offload_api") @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public java.util.List<android.hardware.contexthub.HubDiscoveryInfo> findEndpoints(long);
8138    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public int[] findNanoAppOnHub(int, @NonNull android.hardware.location.NanoAppFilter);
8139    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public int[] getContextHubHandles();
8140    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public android.hardware.location.ContextHubInfo getContextHubInfo(int);
8141    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public java.util.List<android.hardware.location.ContextHubInfo> getContextHubs();
8142    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public android.hardware.location.NanoAppInstanceInfo getNanoAppInstanceInfo(int);
8143    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);
8144    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public int loadNanoApp(int, @NonNull android.hardware.location.NanoApp);
8145    method @FlaggedApi("android.chre.flags.offload_api") @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public void openSession(@NonNull android.hardware.contexthub.HubEndpoint, @NonNull android.hardware.contexthub.HubEndpointInfo);
8146    method @FlaggedApi("android.chre.flags.offload_api") @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public void openSession(@NonNull android.hardware.contexthub.HubEndpoint, @NonNull android.hardware.contexthub.HubEndpointInfo, @NonNull String);
8147    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);
8148    method @Deprecated public int registerCallback(@NonNull android.hardware.location.ContextHubManager.Callback);
8149    method @Deprecated public int registerCallback(android.hardware.location.ContextHubManager.Callback, android.os.Handler);
8150    method @FlaggedApi("android.chre.flags.offload_api") @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public void registerEndpoint(@NonNull android.hardware.contexthub.HubEndpoint);
8151    method @FlaggedApi("android.chre.flags.offload_api") @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public void registerEndpointDiscoveryCallback(@NonNull String, @NonNull android.hardware.contexthub.IHubEndpointDiscoveryCallback);
8152    method @FlaggedApi("android.chre.flags.offload_api") @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public void registerEndpointDiscoveryCallback(@NonNull String, @NonNull android.hardware.contexthub.IHubEndpointDiscoveryCallback, @NonNull java.util.concurrent.Executor);
8153    method @FlaggedApi("android.chre.flags.offload_api") @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public void registerEndpointDiscoveryCallback(long, @NonNull android.hardware.contexthub.IHubEndpointDiscoveryCallback);
8154    method @FlaggedApi("android.chre.flags.offload_api") @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public void registerEndpointDiscoveryCallback(long, @NonNull android.hardware.contexthub.IHubEndpointDiscoveryCallback, @NonNull java.util.concurrent.Executor);
8155    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public int sendMessage(int, int, @NonNull android.hardware.location.ContextHubMessage);
8156    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public android.hardware.location.ContextHubTransaction<java.lang.Void> unloadNanoApp(@NonNull android.hardware.location.ContextHubInfo, long);
8157    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public int unloadNanoApp(int);
8158    method @Deprecated public int unregisterCallback(@NonNull android.hardware.location.ContextHubManager.Callback);
8159    method @FlaggedApi("android.chre.flags.offload_api") @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public void unregisterEndpoint(@NonNull android.hardware.contexthub.HubEndpoint);
8160    method @FlaggedApi("android.chre.flags.offload_api") @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public void unregisterEndpointDiscoveryCallback(@NonNull android.hardware.contexthub.IHubEndpointDiscoveryCallback);
8161    field public static final int AUTHORIZATION_DENIED = 0; // 0x0
8162    field public static final int AUTHORIZATION_DENIED_GRACE_PERIOD = 1; // 0x1
8163    field public static final int AUTHORIZATION_GRANTED = 2; // 0x2
8164    field public static final int EVENT_CLIENT_AUTHORIZATION = 7; // 0x7
8165    field public static final int EVENT_HUB_RESET = 6; // 0x6
8166    field public static final int EVENT_NANOAPP_ABORTED = 4; // 0x4
8167    field public static final int EVENT_NANOAPP_DISABLED = 3; // 0x3
8168    field public static final int EVENT_NANOAPP_ENABLED = 2; // 0x2
8169    field public static final int EVENT_NANOAPP_LOADED = 0; // 0x0
8170    field public static final int EVENT_NANOAPP_MESSAGE = 5; // 0x5
8171    field public static final int EVENT_NANOAPP_UNLOADED = 1; // 0x1
8172    field public static final String EXTRA_CLIENT_AUTHORIZATION_STATE = "android.hardware.location.extra.CLIENT_AUTHORIZATION_STATE";
8173    field public static final String EXTRA_CONTEXT_HUB_INFO = "android.hardware.location.extra.CONTEXT_HUB_INFO";
8174    field public static final String EXTRA_EVENT_TYPE = "android.hardware.location.extra.EVENT_TYPE";
8175    field public static final String EXTRA_MESSAGE = "android.hardware.location.extra.MESSAGE";
8176    field public static final String EXTRA_NANOAPP_ABORT_CODE = "android.hardware.location.extra.NANOAPP_ABORT_CODE";
8177    field public static final String EXTRA_NANOAPP_ID = "android.hardware.location.extra.NANOAPP_ID";
8178  }
8179
8180  @Deprecated public abstract static class ContextHubManager.Callback {
8181    ctor @Deprecated protected ContextHubManager.Callback();
8182    method @Deprecated public abstract void onMessageReceipt(int, int, @NonNull android.hardware.location.ContextHubMessage);
8183  }
8184
8185  @Deprecated public class ContextHubMessage implements android.os.Parcelable {
8186    ctor @Deprecated public ContextHubMessage(int, int, byte[]);
8187    method @Deprecated public int describeContents();
8188    method @Deprecated public byte[] getData();
8189    method @Deprecated public int getMsgType();
8190    method @Deprecated public int getVersion();
8191    method @Deprecated public void setMsgData(byte[]);
8192    method @Deprecated public void setMsgType(int);
8193    method @Deprecated public void setVersion(int);
8194    method @Deprecated public void writeToParcel(android.os.Parcel, int);
8195    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.ContextHubMessage> CREATOR;
8196  }
8197
8198  public class ContextHubTransaction<T> {
8199    method public int getType();
8200    method public void setOnCompleteListener(@NonNull android.hardware.location.ContextHubTransaction.OnCompleteListener<T>);
8201    method public void setOnCompleteListener(@NonNull android.hardware.location.ContextHubTransaction.OnCompleteListener<T>, @NonNull java.util.concurrent.Executor);
8202    method public static String typeToString(int, boolean);
8203    method public android.hardware.location.ContextHubTransaction.Response<T> waitForResponse(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException, java.util.concurrent.TimeoutException;
8204    field public static final int RESULT_FAILED_AT_HUB = 5; // 0x5
8205    field public static final int RESULT_FAILED_BAD_PARAMS = 2; // 0x2
8206    field public static final int RESULT_FAILED_BUSY = 4; // 0x4
8207    field public static final int RESULT_FAILED_HAL_UNAVAILABLE = 8; // 0x8
8208    field public static final int RESULT_FAILED_NOT_SUPPORTED = 9; // 0x9
8209    field public static final int RESULT_FAILED_SERVICE_INTERNAL_FAILURE = 7; // 0x7
8210    field public static final int RESULT_FAILED_TIMEOUT = 6; // 0x6
8211    field public static final int RESULT_FAILED_UNINITIALIZED = 3; // 0x3
8212    field public static final int RESULT_FAILED_UNKNOWN = 1; // 0x1
8213    field public static final int RESULT_SUCCESS = 0; // 0x0
8214    field public static final int TYPE_DISABLE_NANOAPP = 3; // 0x3
8215    field public static final int TYPE_ENABLE_NANOAPP = 2; // 0x2
8216    field @FlaggedApi("android.chre.flags.offload_api") public static final int TYPE_HUB_MESSAGE_DEFAULT = 6; // 0x6
8217    field @FlaggedApi("android.chre.flags.offload_api") public static final int TYPE_HUB_MESSAGE_REQUIRES_RESPONSE = 7; // 0x7
8218    field public static final int TYPE_LOAD_NANOAPP = 0; // 0x0
8219    field public static final int TYPE_QUERY_NANOAPPS = 4; // 0x4
8220    field public static final int TYPE_RELIABLE_MESSAGE = 5; // 0x5
8221    field public static final int TYPE_UNLOAD_NANOAPP = 1; // 0x1
8222  }
8223
8224  @java.lang.FunctionalInterface public static interface ContextHubTransaction.OnCompleteListener<L> {
8225    method public void onComplete(android.hardware.location.ContextHubTransaction<L>, android.hardware.location.ContextHubTransaction.Response<L>);
8226  }
8227
8228  public static class ContextHubTransaction.Response<R> {
8229    method public R getContents();
8230    method public int getResult();
8231  }
8232
8233  public final class GeofenceHardware {
8234    method public boolean addGeofence(int, int, android.hardware.location.GeofenceHardwareRequest, android.hardware.location.GeofenceHardwareCallback);
8235    method public int[] getMonitoringTypes();
8236    method public int getStatusOfMonitoringType(int);
8237    method public boolean pauseGeofence(int, int);
8238    method public boolean registerForMonitorStateChangeCallback(int, android.hardware.location.GeofenceHardwareMonitorCallback);
8239    method public boolean removeGeofence(int, int);
8240    method public boolean resumeGeofence(int, int, int);
8241    method public boolean unregisterForMonitorStateChangeCallback(int, android.hardware.location.GeofenceHardwareMonitorCallback);
8242    field public static final int GEOFENCE_ENTERED = 1; // 0x1
8243    field public static final int GEOFENCE_ERROR_ID_EXISTS = 2; // 0x2
8244    field public static final int GEOFENCE_ERROR_ID_UNKNOWN = 3; // 0x3
8245    field public static final int GEOFENCE_ERROR_INSUFFICIENT_MEMORY = 6; // 0x6
8246    field public static final int GEOFENCE_ERROR_INVALID_TRANSITION = 4; // 0x4
8247    field public static final int GEOFENCE_ERROR_TOO_MANY_GEOFENCES = 1; // 0x1
8248    field public static final int GEOFENCE_EXITED = 2; // 0x2
8249    field public static final int GEOFENCE_FAILURE = 5; // 0x5
8250    field public static final int GEOFENCE_SUCCESS = 0; // 0x0
8251    field public static final int GEOFENCE_UNCERTAIN = 4; // 0x4
8252    field public static final int MONITORING_TYPE_FUSED_HARDWARE = 1; // 0x1
8253    field public static final int MONITORING_TYPE_GPS_HARDWARE = 0; // 0x0
8254    field public static final int MONITOR_CURRENTLY_AVAILABLE = 0; // 0x0
8255    field public static final int MONITOR_CURRENTLY_UNAVAILABLE = 1; // 0x1
8256    field public static final int MONITOR_UNSUPPORTED = 2; // 0x2
8257    field public static final int SOURCE_TECHNOLOGY_BLUETOOTH = 16; // 0x10
8258    field public static final int SOURCE_TECHNOLOGY_CELL = 8; // 0x8
8259    field public static final int SOURCE_TECHNOLOGY_GNSS = 1; // 0x1
8260    field public static final int SOURCE_TECHNOLOGY_SENSORS = 4; // 0x4
8261    field public static final int SOURCE_TECHNOLOGY_WIFI = 2; // 0x2
8262  }
8263
8264  public abstract class GeofenceHardwareCallback {
8265    ctor public GeofenceHardwareCallback();
8266    method public void onGeofenceAdd(int, int);
8267    method public void onGeofencePause(int, int);
8268    method public void onGeofenceRemove(int, int);
8269    method public void onGeofenceResume(int, int);
8270    method public void onGeofenceTransition(int, int, android.location.Location, long, int);
8271  }
8272
8273  public abstract class GeofenceHardwareMonitorCallback {
8274    ctor public GeofenceHardwareMonitorCallback();
8275    method public void onMonitoringSystemChange(android.hardware.location.GeofenceHardwareMonitorEvent);
8276    method @Deprecated public void onMonitoringSystemChange(int, boolean, android.location.Location);
8277  }
8278
8279  public class GeofenceHardwareMonitorEvent implements android.os.Parcelable {
8280    ctor public GeofenceHardwareMonitorEvent(int, int, int, android.location.Location);
8281    method public int describeContents();
8282    method public android.location.Location getLocation();
8283    method public int getMonitoringStatus();
8284    method public int getMonitoringType();
8285    method public int getSourceTechnologies();
8286    method public void writeToParcel(android.os.Parcel, int);
8287    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.GeofenceHardwareMonitorEvent> CREATOR;
8288  }
8289
8290  public final class GeofenceHardwareRequest {
8291    ctor public GeofenceHardwareRequest();
8292    method public static android.hardware.location.GeofenceHardwareRequest createCircularGeofence(double, double, double);
8293    method public int getLastTransition();
8294    method public double getLatitude();
8295    method public double getLongitude();
8296    method public int getMonitorTransitions();
8297    method public int getNotificationResponsiveness();
8298    method public double getRadius();
8299    method public int getSourceTechnologies();
8300    method public int getUnknownTimer();
8301    method public void setLastTransition(int);
8302    method public void setMonitorTransitions(int);
8303    method public void setNotificationResponsiveness(int);
8304    method public void setSourceTechnologies(int);
8305    method public void setUnknownTimer(int);
8306  }
8307
8308  public class MemoryRegion implements android.os.Parcelable {
8309    ctor public MemoryRegion(android.os.Parcel);
8310    method public int describeContents();
8311    method public int getCapacityBytes();
8312    method public int getFreeCapacityBytes();
8313    method public boolean isExecutable();
8314    method public boolean isReadable();
8315    method public boolean isWritable();
8316    method public void writeToParcel(android.os.Parcel, int);
8317    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.MemoryRegion> CREATOR;
8318  }
8319
8320  @Deprecated public class NanoApp implements android.os.Parcelable {
8321    ctor @Deprecated public NanoApp();
8322    ctor @Deprecated public NanoApp(int, byte[]);
8323    ctor @Deprecated public NanoApp(long, byte[]);
8324    method @Deprecated public int describeContents();
8325    method @Deprecated public byte[] getAppBinary();
8326    method @Deprecated public long getAppId();
8327    method @Deprecated public int getAppVersion();
8328    method @Deprecated public String getName();
8329    method @Deprecated public int getNeededExecMemBytes();
8330    method @Deprecated public int getNeededReadMemBytes();
8331    method @Deprecated public int[] getNeededSensors();
8332    method @Deprecated public int getNeededWriteMemBytes();
8333    method @Deprecated public int[] getOutputEvents();
8334    method @Deprecated public String getPublisher();
8335    method @Deprecated public void setAppBinary(byte[]);
8336    method @Deprecated public void setAppId(long);
8337    method @Deprecated public void setAppVersion(int);
8338    method @Deprecated public void setName(String);
8339    method @Deprecated public void setNeededExecMemBytes(int);
8340    method @Deprecated public void setNeededReadMemBytes(int);
8341    method @Deprecated public void setNeededSensors(int[]);
8342    method @Deprecated public void setNeededWriteMemBytes(int);
8343    method @Deprecated public void setOutputEvents(int[]);
8344    method @Deprecated public void setPublisher(String);
8345    method @Deprecated public void writeToParcel(android.os.Parcel, int);
8346    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoApp> CREATOR;
8347  }
8348
8349  public final class NanoAppBinary implements android.os.Parcelable {
8350    ctor public NanoAppBinary(byte[]);
8351    method public int describeContents();
8352    method public byte[] getBinary();
8353    method public byte[] getBinaryNoHeader();
8354    method public int getFlags();
8355    method public int getHeaderVersion();
8356    method public long getHwHubType();
8357    method public long getNanoAppId();
8358    method public int getNanoAppVersion();
8359    method public byte getTargetChreApiMajorVersion();
8360    method public byte getTargetChreApiMinorVersion();
8361    method public boolean hasValidHeader();
8362    method public boolean isEncrypted();
8363    method public boolean isSigned();
8364    method public void writeToParcel(android.os.Parcel, int);
8365    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppBinary> CREATOR;
8366  }
8367
8368  @Deprecated public class NanoAppFilter implements android.os.Parcelable {
8369    ctor @Deprecated public NanoAppFilter(long, int, int, long);
8370    method @Deprecated public int describeContents();
8371    method @Deprecated public boolean testMatch(android.hardware.location.NanoAppInstanceInfo);
8372    method @Deprecated public void writeToParcel(android.os.Parcel, int);
8373    field @Deprecated public static final int APP_ANY = -1; // 0xffffffff
8374    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppFilter> CREATOR;
8375    field @Deprecated public static final int FLAGS_VERSION_ANY = -1; // 0xffffffff
8376    field @Deprecated public static final int FLAGS_VERSION_GREAT_THAN = 2; // 0x2
8377    field @Deprecated public static final int FLAGS_VERSION_LESS_THAN = 4; // 0x4
8378    field @Deprecated public static final int FLAGS_VERSION_STRICTLY_EQUAL = 8; // 0x8
8379    field @Deprecated public static final int HUB_ANY = -1; // 0xffffffff
8380    field @Deprecated public static final int VENDOR_ANY = -1; // 0xffffffff
8381  }
8382
8383  @Deprecated public class NanoAppInstanceInfo implements android.os.Parcelable {
8384    ctor @Deprecated public NanoAppInstanceInfo();
8385    method @Deprecated public int describeContents();
8386    method @Deprecated public long getAppId();
8387    method @Deprecated public int getAppVersion();
8388    method @Deprecated public int getContexthubId();
8389    method @Deprecated public int getHandle();
8390    method @Deprecated public String getName();
8391    method @Deprecated public int getNeededExecMemBytes();
8392    method @Deprecated public int getNeededReadMemBytes();
8393    method @Deprecated @NonNull public int[] getNeededSensors();
8394    method @Deprecated public int getNeededWriteMemBytes();
8395    method @Deprecated @NonNull public int[] getOutputEvents();
8396    method @Deprecated public String getPublisher();
8397    method @Deprecated public void writeToParcel(android.os.Parcel, int);
8398    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppInstanceInfo> CREATOR;
8399  }
8400
8401  public final class NanoAppMessage implements android.os.Parcelable {
8402    method public static android.hardware.location.NanoAppMessage createMessageFromNanoApp(long, int, byte[], boolean);
8403    method @NonNull public static android.hardware.location.NanoAppMessage createMessageFromNanoApp(long, int, @NonNull byte[], boolean, boolean, int);
8404    method public static android.hardware.location.NanoAppMessage createMessageToNanoApp(long, int, byte[]);
8405    method public int describeContents();
8406    method public byte[] getMessageBody();
8407    method public int getMessageSequenceNumber();
8408    method public int getMessageType();
8409    method public long getNanoAppId();
8410    method public boolean isBroadcastMessage();
8411    method public boolean isReliable();
8412    method public void writeToParcel(android.os.Parcel, int);
8413    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppMessage> CREATOR;
8414  }
8415
8416  public final class NanoAppRpcService implements android.os.Parcelable {
8417    ctor public NanoAppRpcService(long, int);
8418    method public int describeContents();
8419    method public long getId();
8420    method public int getVersion();
8421    method public void writeToParcel(@NonNull android.os.Parcel, int);
8422    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppRpcService> CREATOR;
8423  }
8424
8425  public final class NanoAppState implements android.os.Parcelable {
8426    ctor public NanoAppState(long, int, boolean);
8427    ctor public NanoAppState(long, int, boolean, @NonNull java.util.List<java.lang.String>);
8428    ctor public NanoAppState(long, int, boolean, @NonNull java.util.List<java.lang.String>, @NonNull java.util.List<android.hardware.location.NanoAppRpcService>);
8429    method public int describeContents();
8430    method public long getNanoAppId();
8431    method @NonNull public java.util.List<java.lang.String> getNanoAppPermissions();
8432    method public long getNanoAppVersion();
8433    method @NonNull public java.util.List<android.hardware.location.NanoAppRpcService> getRpcServices();
8434    method public boolean isEnabled();
8435    method public void writeToParcel(android.os.Parcel, int);
8436    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppState> CREATOR;
8437  }
8438
8439}
8440
8441package android.hardware.radio {
8442
8443  public final class Announcement implements android.os.Parcelable {
8444    method public int describeContents();
8445    method @NonNull public android.hardware.radio.ProgramSelector getSelector();
8446    method public int getType();
8447    method @NonNull public java.util.Map<java.lang.String,java.lang.String> getVendorInfo();
8448    method public void writeToParcel(android.os.Parcel, int);
8449    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.Announcement> CREATOR;
8450    field public static final int TYPE_EMERGENCY = 1; // 0x1
8451    field public static final int TYPE_EVENT = 6; // 0x6
8452    field public static final int TYPE_MISC = 8; // 0x8
8453    field public static final int TYPE_NEWS = 5; // 0x5
8454    field public static final int TYPE_SPORT = 7; // 0x7
8455    field public static final int TYPE_TRAFFIC = 3; // 0x3
8456    field public static final int TYPE_WARNING = 2; // 0x2
8457    field public static final int TYPE_WEATHER = 4; // 0x4
8458  }
8459
8460  public static interface Announcement.OnListUpdatedListener {
8461    method public void onListUpdated(java.util.Collection<android.hardware.radio.Announcement>);
8462  }
8463
8464  public final class ProgramList implements java.lang.AutoCloseable {
8465    method public void addOnCompleteListener(@NonNull android.hardware.radio.ProgramList.OnCompleteListener);
8466    method public void addOnCompleteListener(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.radio.ProgramList.OnCompleteListener);
8467    method public void close();
8468    method @Deprecated @Nullable public android.hardware.radio.RadioManager.ProgramInfo get(@NonNull android.hardware.radio.ProgramSelector.Identifier);
8469    method @FlaggedApi("android.hardware.radio.hd_radio_improved") @NonNull public java.util.List<android.hardware.radio.RadioManager.ProgramInfo> getProgramInfos(@NonNull android.hardware.radio.ProgramSelector.Identifier);
8470    method public void registerListCallback(@NonNull android.hardware.radio.ProgramList.ListCallback);
8471    method public void registerListCallback(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.radio.ProgramList.ListCallback);
8472    method public void removeOnCompleteListener(@NonNull android.hardware.radio.ProgramList.OnCompleteListener);
8473    method @NonNull public java.util.List<android.hardware.radio.RadioManager.ProgramInfo> toList();
8474    method public void unregisterListCallback(@NonNull android.hardware.radio.ProgramList.ListCallback);
8475  }
8476
8477  public static final class ProgramList.Filter implements android.os.Parcelable {
8478    ctor public ProgramList.Filter(@NonNull java.util.Set<java.lang.Integer>, @NonNull java.util.Set<android.hardware.radio.ProgramSelector.Identifier>, boolean, boolean);
8479    method public boolean areCategoriesIncluded();
8480    method public boolean areModificationsExcluded();
8481    method public int describeContents();
8482    method @NonNull public java.util.Set<java.lang.Integer> getIdentifierTypes();
8483    method @NonNull public java.util.Set<android.hardware.radio.ProgramSelector.Identifier> getIdentifiers();
8484    method public void writeToParcel(android.os.Parcel, int);
8485    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.ProgramList.Filter> CREATOR;
8486  }
8487
8488  public abstract static class ProgramList.ListCallback {
8489    ctor public ProgramList.ListCallback();
8490    method public void onItemChanged(@NonNull android.hardware.radio.ProgramSelector.Identifier);
8491    method public void onItemRemoved(@NonNull android.hardware.radio.ProgramSelector.Identifier);
8492  }
8493
8494  public static interface ProgramList.OnCompleteListener {
8495    method public void onComplete();
8496  }
8497
8498  public final class ProgramSelector implements android.os.Parcelable {
8499    ctor public ProgramSelector(int, @NonNull android.hardware.radio.ProgramSelector.Identifier, @Nullable android.hardware.radio.ProgramSelector.Identifier[], @Nullable long[]);
8500    method @NonNull public static android.hardware.radio.ProgramSelector createAmFmSelector(int, int);
8501    method @NonNull public static android.hardware.radio.ProgramSelector createAmFmSelector(int, int, int);
8502    method public int describeContents();
8503    method @NonNull public android.hardware.radio.ProgramSelector.Identifier[] getAllIds(int);
8504    method public long getFirstId(int);
8505    method @NonNull public android.hardware.radio.ProgramSelector.Identifier getPrimaryId();
8506    method @Deprecated public int getProgramType();
8507    method @NonNull public android.hardware.radio.ProgramSelector.Identifier[] getSecondaryIds();
8508    method @Deprecated @NonNull public long[] getVendorIds();
8509    method @NonNull public android.hardware.radio.ProgramSelector withSecondaryPreferred(@NonNull android.hardware.radio.ProgramSelector.Identifier);
8510    method public void writeToParcel(android.os.Parcel, int);
8511    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.ProgramSelector> CREATOR;
8512    field public static final int IDENTIFIER_TYPE_AMFM_FREQUENCY = 1; // 0x1
8513    field public static final int IDENTIFIER_TYPE_DAB_DMB_SID_EXT = 14; // 0xe
8514    field public static final int IDENTIFIER_TYPE_DAB_ENSEMBLE = 6; // 0x6
8515    field public static final int IDENTIFIER_TYPE_DAB_FREQUENCY = 8; // 0x8
8516    field public static final int IDENTIFIER_TYPE_DAB_SCID = 7; // 0x7
8517    field @Deprecated public static final int IDENTIFIER_TYPE_DAB_SIDECC = 5; // 0x5
8518    field @Deprecated public static final int IDENTIFIER_TYPE_DAB_SID_EXT = 5; // 0x5
8519    field public static final int IDENTIFIER_TYPE_DRMO_FREQUENCY = 10; // 0xa
8520    field @Deprecated public static final int IDENTIFIER_TYPE_DRMO_MODULATION = 11; // 0xb
8521    field public static final int IDENTIFIER_TYPE_DRMO_SERVICE_ID = 9; // 0x9
8522    field public static final int IDENTIFIER_TYPE_HD_STATION_ID_EXT = 3; // 0x3
8523    field @FlaggedApi("android.hardware.radio.hd_radio_improved") public static final int IDENTIFIER_TYPE_HD_STATION_LOCATION = 15; // 0xf
8524    field public static final int IDENTIFIER_TYPE_HD_STATION_NAME = 10004; // 0x2714
8525    field @Deprecated public static final int IDENTIFIER_TYPE_HD_SUBCHANNEL = 4; // 0x4
8526    field public static final int IDENTIFIER_TYPE_INVALID = 0; // 0x0
8527    field public static final int IDENTIFIER_TYPE_RDS_PI = 2; // 0x2
8528    field @Deprecated public static final int IDENTIFIER_TYPE_SXM_CHANNEL = 13; // 0xd
8529    field @Deprecated public static final int IDENTIFIER_TYPE_SXM_SERVICE_ID = 12; // 0xc
8530    field public static final int IDENTIFIER_TYPE_VENDOR_END = 1999; // 0x7cf
8531    field @Deprecated public static final int IDENTIFIER_TYPE_VENDOR_PRIMARY_END = 1999; // 0x7cf
8532    field @Deprecated public static final int IDENTIFIER_TYPE_VENDOR_PRIMARY_START = 1000; // 0x3e8
8533    field public static final int IDENTIFIER_TYPE_VENDOR_START = 1000; // 0x3e8
8534    field @Deprecated public static final int PROGRAM_TYPE_AM = 1; // 0x1
8535    field @Deprecated public static final int PROGRAM_TYPE_AM_HD = 3; // 0x3
8536    field @Deprecated public static final int PROGRAM_TYPE_DAB = 5; // 0x5
8537    field @Deprecated public static final int PROGRAM_TYPE_DRMO = 6; // 0x6
8538    field @Deprecated public static final int PROGRAM_TYPE_FM = 2; // 0x2
8539    field @Deprecated public static final int PROGRAM_TYPE_FM_HD = 4; // 0x4
8540    field @Deprecated public static final int PROGRAM_TYPE_INVALID = 0; // 0x0
8541    field @Deprecated public static final int PROGRAM_TYPE_SXM = 7; // 0x7
8542    field @Deprecated public static final int PROGRAM_TYPE_VENDOR_END = 1999; // 0x7cf
8543    field @Deprecated public static final int PROGRAM_TYPE_VENDOR_START = 1000; // 0x3e8
8544    field @FlaggedApi("android.hardware.radio.hd_radio_improved") public static final int SUB_CHANNEL_HD_1 = 1; // 0x1
8545    field @FlaggedApi("android.hardware.radio.hd_radio_improved") public static final int SUB_CHANNEL_HD_2 = 2; // 0x2
8546    field @FlaggedApi("android.hardware.radio.hd_radio_improved") public static final int SUB_CHANNEL_HD_3 = 4; // 0x4
8547    field @FlaggedApi("android.hardware.radio.hd_radio_improved") public static final int SUB_CHANNEL_HD_4 = 8; // 0x8
8548    field @FlaggedApi("android.hardware.radio.hd_radio_improved") public static final int SUB_CHANNEL_HD_5 = 16; // 0x10
8549    field @FlaggedApi("android.hardware.radio.hd_radio_improved") public static final int SUB_CHANNEL_HD_6 = 32; // 0x20
8550    field @FlaggedApi("android.hardware.radio.hd_radio_improved") public static final int SUB_CHANNEL_HD_7 = 64; // 0x40
8551    field @FlaggedApi("android.hardware.radio.hd_radio_improved") public static final int SUB_CHANNEL_HD_8 = 128; // 0x80
8552  }
8553
8554  public static final class ProgramSelector.Identifier implements android.os.Parcelable {
8555    ctor public ProgramSelector.Identifier(int, long);
8556    method public int describeContents();
8557    method public int getType();
8558    method public long getValue();
8559    method public boolean isCategoryType();
8560    method public void writeToParcel(android.os.Parcel, int);
8561    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.ProgramSelector.Identifier> CREATOR;
8562  }
8563
8564  @FlaggedApi("android.hardware.radio.hd_radio_emergency_alert_system") public final class RadioAlert implements android.os.Parcelable {
8565    method public int describeContents();
8566    method @NonNull public java.util.List<android.hardware.radio.RadioAlert.AlertInfo> getInfoList();
8567    method public int getMessageType();
8568    method public int getStatus();
8569    method public void writeToParcel(@NonNull android.os.Parcel, int);
8570    field public static final int CATEGORY_CBRNE = 10; // 0xa
8571    field public static final int CATEGORY_ENV = 7; // 0x7
8572    field public static final int CATEGORY_FIRE = 5; // 0x5
8573    field public static final int CATEGORY_GEO = 0; // 0x0
8574    field public static final int CATEGORY_HEALTH = 6; // 0x6
8575    field public static final int CATEGORY_INFRA = 9; // 0x9
8576    field public static final int CATEGORY_MET = 1; // 0x1
8577    field public static final int CATEGORY_OTHER = 11; // 0xb
8578    field public static final int CATEGORY_RESCUE = 4; // 0x4
8579    field public static final int CATEGORY_SAFETY = 2; // 0x2
8580    field public static final int CATEGORY_SECURITY = 3; // 0x3
8581    field public static final int CATEGORY_TRANSPORT = 8; // 0x8
8582    field public static final int CERTAINTY_LIKELY = 1; // 0x1
8583    field public static final int CERTAINTY_OBSERVED = 0; // 0x0
8584    field public static final int CERTAINTY_POSSIBLE = 2; // 0x2
8585    field public static final int CERTAINTY_UNKNOWN = 4; // 0x4
8586    field public static final int CERTAINTY_UNLIKELY = 3; // 0x3
8587    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioAlert> CREATOR;
8588    field public static final int MESSAGE_TYPE_ALERT = 0; // 0x0
8589    field public static final int MESSAGE_TYPE_CANCEL = 2; // 0x2
8590    field public static final int MESSAGE_TYPE_UPDATE = 1; // 0x1
8591    field public static final int SEVERITY_EXTREME = 0; // 0x0
8592    field public static final int SEVERITY_MINOR = 3; // 0x3
8593    field public static final int SEVERITY_MODERATE = 2; // 0x2
8594    field public static final int SEVERITY_SEVERE = 1; // 0x1
8595    field public static final int SEVERITY_UNKNOWN = 4; // 0x4
8596    field public static final int STATUS_ACTUAL = 0; // 0x0
8597    field public static final int STATUS_EXERCISE = 1; // 0x1
8598    field public static final int STATUS_TEST = 2; // 0x2
8599    field public static final int URGENCY_EXPECTED = 1; // 0x1
8600    field public static final int URGENCY_FUTURE = 2; // 0x2
8601    field public static final int URGENCY_IMMEDIATE = 0; // 0x0
8602    field public static final int URGENCY_PAST = 3; // 0x3
8603    field public static final int URGENCY_UNKNOWN = 4; // 0x4
8604  }
8605
8606  public static final class RadioAlert.AlertArea implements android.os.Parcelable {
8607    method public int describeContents();
8608    method @NonNull public java.util.List<android.hardware.radio.RadioAlert.Geocode> getGeocodes();
8609    method @NonNull public java.util.List<android.hardware.radio.RadioAlert.Polygon> getPolygons();
8610    method public void writeToParcel(@NonNull android.os.Parcel, int);
8611    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioAlert.AlertArea> CREATOR;
8612  }
8613
8614  public static final class RadioAlert.AlertInfo implements android.os.Parcelable {
8615    method public int describeContents();
8616    method @NonNull public java.util.List<android.hardware.radio.RadioAlert.AlertArea> getAreas();
8617    method @NonNull public int[] getCategories();
8618    method public int getCertainty();
8619    method @NonNull public String getDescription();
8620    method @Nullable public String getLanguage();
8621    method public int getSeverity();
8622    method public int getUrgency();
8623    method public void writeToParcel(@NonNull android.os.Parcel, int);
8624    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioAlert.AlertInfo> CREATOR;
8625  }
8626
8627  public static final class RadioAlert.Coordinate implements android.os.Parcelable {
8628    method public int describeContents();
8629    method @FloatRange(from=-90.0, to=90.0) public double getLatitude();
8630    method @FloatRange(from=-180.0, to=180.0) public double getLongitude();
8631    method public void writeToParcel(@NonNull android.os.Parcel, int);
8632    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioAlert.Coordinate> CREATOR;
8633  }
8634
8635  public static final class RadioAlert.Geocode implements android.os.Parcelable {
8636    method public int describeContents();
8637    method @NonNull public String getValue();
8638    method @NonNull public String getValueName();
8639    method public void writeToParcel(@NonNull android.os.Parcel, int);
8640    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioAlert.Geocode> CREATOR;
8641  }
8642
8643  public static final class RadioAlert.Polygon implements android.os.Parcelable {
8644    method public int describeContents();
8645    method @NonNull public java.util.List<android.hardware.radio.RadioAlert.Coordinate> getCoordinates();
8646    method public void writeToParcel(@NonNull android.os.Parcel, int);
8647    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioAlert.Polygon> CREATOR;
8648  }
8649
8650  public class RadioManager {
8651    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);
8652    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public void addAnnouncementListener(@NonNull java.util.Set<java.lang.Integer>, @NonNull android.hardware.radio.Announcement.OnListUpdatedListener);
8653    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public int listModules(java.util.List<android.hardware.radio.RadioManager.ModuleProperties>);
8654    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);
8655    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public void removeAnnouncementListener(@NonNull android.hardware.radio.Announcement.OnListUpdatedListener);
8656    field public static final int BAND_AM = 0; // 0x0
8657    field public static final int BAND_AM_HD = 3; // 0x3
8658    field public static final int BAND_FM = 1; // 0x1
8659    field public static final int BAND_FM_HD = 2; // 0x2
8660    field public static final int BAND_INVALID = -1; // 0xffffffff
8661    field public static final int CLASS_AM_FM = 0; // 0x0
8662    field public static final int CLASS_DT = 2; // 0x2
8663    field public static final int CLASS_SAT = 1; // 0x1
8664    field public static final int CONFIG_DAB_DAB_LINKING = 6; // 0x6
8665    field public static final int CONFIG_DAB_DAB_SOFT_LINKING = 8; // 0x8
8666    field public static final int CONFIG_DAB_FM_LINKING = 7; // 0x7
8667    field public static final int CONFIG_DAB_FM_SOFT_LINKING = 9; // 0x9
8668    field @Deprecated public static final int CONFIG_FORCE_ANALOG = 2; // 0x2
8669    field @FlaggedApi("android.hardware.radio.hd_radio_improved") public static final int CONFIG_FORCE_ANALOG_AM = 11; // 0xb
8670    field @FlaggedApi("android.hardware.radio.hd_radio_improved") public static final int CONFIG_FORCE_ANALOG_FM = 10; // 0xa
8671    field public static final int CONFIG_FORCE_DIGITAL = 3; // 0x3
8672    field public static final int CONFIG_FORCE_MONO = 1; // 0x1
8673    field public static final int CONFIG_RDS_AF = 4; // 0x4
8674    field public static final int CONFIG_RDS_REG = 5; // 0x5
8675    field public static final int REGION_ITU_1 = 0; // 0x0
8676    field public static final int REGION_ITU_2 = 1; // 0x1
8677    field public static final int REGION_JAPAN = 3; // 0x3
8678    field public static final int REGION_KOREA = 4; // 0x4
8679    field public static final int REGION_OIRT = 2; // 0x2
8680    field public static final int STATUS_BAD_VALUE = -22; // 0xffffffea
8681    field public static final int STATUS_DEAD_OBJECT = -32; // 0xffffffe0
8682    field public static final int STATUS_ERROR = -2147483648; // 0x80000000
8683    field public static final int STATUS_INVALID_OPERATION = -38; // 0xffffffda
8684    field public static final int STATUS_NO_INIT = -19; // 0xffffffed
8685    field public static final int STATUS_OK = 0; // 0x0
8686    field public static final int STATUS_PERMISSION_DENIED = -1; // 0xffffffff
8687    field public static final int STATUS_TIMED_OUT = -110; // 0xffffff92
8688  }
8689
8690  public static class RadioManager.AmBandConfig extends android.hardware.radio.RadioManager.BandConfig {
8691    method public boolean getStereo();
8692    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.AmBandConfig> CREATOR;
8693  }
8694
8695  public static class RadioManager.AmBandConfig.Builder {
8696    ctor public RadioManager.AmBandConfig.Builder(android.hardware.radio.RadioManager.AmBandConfig);
8697    ctor public RadioManager.AmBandConfig.Builder(android.hardware.radio.RadioManager.AmBandDescriptor);
8698    method public android.hardware.radio.RadioManager.AmBandConfig build();
8699    method public android.hardware.radio.RadioManager.AmBandConfig.Builder setStereo(boolean);
8700  }
8701
8702  public static class RadioManager.AmBandDescriptor extends android.hardware.radio.RadioManager.BandDescriptor {
8703    method public boolean isStereoSupported();
8704    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.AmBandDescriptor> CREATOR;
8705  }
8706
8707  public static class RadioManager.BandConfig implements android.os.Parcelable {
8708    method public int describeContents();
8709    method public int getLowerLimit();
8710    method public int getRegion();
8711    method public int getSpacing();
8712    method public int getType();
8713    method public int getUpperLimit();
8714    method public void writeToParcel(android.os.Parcel, int);
8715    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.BandConfig> CREATOR;
8716  }
8717
8718  public static class RadioManager.BandDescriptor implements android.os.Parcelable {
8719    method public int describeContents();
8720    method public int getLowerLimit();
8721    method public int getRegion();
8722    method public int getSpacing();
8723    method public int getType();
8724    method public int getUpperLimit();
8725    method public boolean isAmBand();
8726    method public boolean isFmBand();
8727    method public void writeToParcel(android.os.Parcel, int);
8728    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.BandDescriptor> CREATOR;
8729  }
8730
8731  public static class RadioManager.FmBandConfig extends android.hardware.radio.RadioManager.BandConfig {
8732    method public boolean getAf();
8733    method public boolean getEa();
8734    method public boolean getRds();
8735    method public boolean getStereo();
8736    method public boolean getTa();
8737    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.FmBandConfig> CREATOR;
8738  }
8739
8740  public static class RadioManager.FmBandConfig.Builder {
8741    ctor public RadioManager.FmBandConfig.Builder(android.hardware.radio.RadioManager.FmBandConfig);
8742    ctor public RadioManager.FmBandConfig.Builder(android.hardware.radio.RadioManager.FmBandDescriptor);
8743    method public android.hardware.radio.RadioManager.FmBandConfig build();
8744    method public android.hardware.radio.RadioManager.FmBandConfig.Builder setAf(boolean);
8745    method public android.hardware.radio.RadioManager.FmBandConfig.Builder setEa(boolean);
8746    method public android.hardware.radio.RadioManager.FmBandConfig.Builder setRds(boolean);
8747    method public android.hardware.radio.RadioManager.FmBandConfig.Builder setStereo(boolean);
8748    method public android.hardware.radio.RadioManager.FmBandConfig.Builder setTa(boolean);
8749  }
8750
8751  public static class RadioManager.FmBandDescriptor extends android.hardware.radio.RadioManager.BandDescriptor {
8752    method public boolean isAfSupported();
8753    method public boolean isEaSupported();
8754    method public boolean isRdsSupported();
8755    method public boolean isStereoSupported();
8756    method public boolean isTaSupported();
8757    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.FmBandDescriptor> CREATOR;
8758  }
8759
8760  public static class RadioManager.ModuleProperties implements android.os.Parcelable {
8761    method public int describeContents();
8762    method public android.hardware.radio.RadioManager.BandDescriptor[] getBands();
8763    method public int getClassId();
8764    method @Nullable public java.util.Map<java.lang.String,java.lang.Integer> getDabFrequencyTable();
8765    method public int getId();
8766    method public String getImplementor();
8767    method public int getNumAudioSources();
8768    method public int getNumTuners();
8769    method public String getProduct();
8770    method public String getSerial();
8771    method @NonNull public String getServiceName();
8772    method @NonNull public java.util.Map<java.lang.String,java.lang.String> getVendorInfo();
8773    method public String getVersion();
8774    method public boolean isBackgroundScanningSupported();
8775    method public boolean isCaptureSupported();
8776    method public boolean isInitializationRequired();
8777    method public boolean isProgramIdentifierSupported(int);
8778    method public boolean isProgramTypeSupported(int);
8779    method public void writeToParcel(android.os.Parcel, int);
8780    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.ModuleProperties> CREATOR;
8781  }
8782
8783  public static class RadioManager.ProgramInfo implements android.os.Parcelable {
8784    method public int describeContents();
8785    method @FlaggedApi("android.hardware.radio.hd_radio_emergency_alert_system") @Nullable public android.hardware.radio.RadioAlert getAlert();
8786    method @Deprecated public int getChannel();
8787    method @Nullable public android.hardware.radio.ProgramSelector.Identifier getLogicallyTunedTo();
8788    method public android.hardware.radio.RadioMetadata getMetadata();
8789    method @Nullable public android.hardware.radio.ProgramSelector.Identifier getPhysicallyTunedTo();
8790    method @Nullable public java.util.Collection<android.hardware.radio.ProgramSelector.Identifier> getRelatedContent();
8791    method @NonNull public android.hardware.radio.ProgramSelector getSelector();
8792    method public int getSignalStrength();
8793    method @Deprecated public int getSubChannel();
8794    method @NonNull public java.util.Map<java.lang.String,java.lang.String> getVendorInfo();
8795    method @Deprecated public boolean isDigital();
8796    method @FlaggedApi("android.hardware.radio.hd_radio_improved") public boolean isHdAudioAvailable();
8797    method @FlaggedApi("android.hardware.radio.hd_radio_improved") public boolean isHdSisAvailable();
8798    method public boolean isLive();
8799    method public boolean isMuted();
8800    method @FlaggedApi("android.hardware.radio.hd_radio_improved") public boolean isSignalAcquired();
8801    method public boolean isStereo();
8802    method public boolean isTrafficAnnouncementActive();
8803    method public boolean isTrafficProgram();
8804    method public boolean isTuned();
8805    method public void writeToParcel(android.os.Parcel, int);
8806    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.ProgramInfo> CREATOR;
8807  }
8808
8809  public final class RadioMetadata implements android.os.Parcelable {
8810    method public boolean containsKey(String);
8811    method public int describeContents();
8812    method @Deprecated public android.graphics.Bitmap getBitmap(String);
8813    method @FlaggedApi("android.hardware.radio.hd_radio_improved") public int getBitmapId(@NonNull String);
8814    method public android.hardware.radio.RadioMetadata.Clock getClock(String);
8815    method public int getInt(String);
8816    method public String getString(String);
8817    method @FlaggedApi("android.hardware.radio.hd_radio_improved") @NonNull public String[] getStringArray(@NonNull String);
8818    method public java.util.Set<java.lang.String> keySet();
8819    method public int size();
8820    method public void writeToParcel(android.os.Parcel, int);
8821    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioMetadata> CREATOR;
8822    field public static final String METADATA_KEY_ALBUM = "android.hardware.radio.metadata.ALBUM";
8823    field public static final String METADATA_KEY_ART = "android.hardware.radio.metadata.ART";
8824    field public static final String METADATA_KEY_ARTIST = "android.hardware.radio.metadata.ARTIST";
8825    field public static final String METADATA_KEY_CLOCK = "android.hardware.radio.metadata.CLOCK";
8826    field @FlaggedApi("android.hardware.radio.hd_radio_improved") public static final String METADATA_KEY_COMMENT_ACTUAL_TEXT = "android.hardware.radio.metadata.COMMENT_ACTUAL_TEXT";
8827    field @FlaggedApi("android.hardware.radio.hd_radio_improved") public static final String METADATA_KEY_COMMENT_SHORT_DESCRIPTION = "android.hardware.radio.metadata.COMMENT_SHORT_DESCRIPTION";
8828    field @FlaggedApi("android.hardware.radio.hd_radio_improved") public static final String METADATA_KEY_COMMERCIAL = "android.hardware.radio.metadata.COMMERCIAL";
8829    field public static final String METADATA_KEY_DAB_COMPONENT_NAME = "android.hardware.radio.metadata.DAB_COMPONENT_NAME";
8830    field public static final String METADATA_KEY_DAB_COMPONENT_NAME_SHORT = "android.hardware.radio.metadata.DAB_COMPONENT_NAME_SHORT";
8831    field public static final String METADATA_KEY_DAB_ENSEMBLE_NAME = "android.hardware.radio.metadata.DAB_ENSEMBLE_NAME";
8832    field public static final String METADATA_KEY_DAB_ENSEMBLE_NAME_SHORT = "android.hardware.radio.metadata.DAB_ENSEMBLE_NAME_SHORT";
8833    field public static final String METADATA_KEY_DAB_SERVICE_NAME = "android.hardware.radio.metadata.DAB_SERVICE_NAME";
8834    field public static final String METADATA_KEY_DAB_SERVICE_NAME_SHORT = "android.hardware.radio.metadata.DAB_SERVICE_NAME_SHORT";
8835    field public static final String METADATA_KEY_GENRE = "android.hardware.radio.metadata.GENRE";
8836    field @FlaggedApi("android.hardware.radio.hd_radio_improved") public static final String METADATA_KEY_HD_STATION_NAME_LONG = "android.hardware.radio.metadata.HD_STATION_NAME_LONG";
8837    field @FlaggedApi("android.hardware.radio.hd_radio_improved") public static final String METADATA_KEY_HD_STATION_NAME_SHORT = "android.hardware.radio.metadata.HD_STATION_NAME_SHORT";
8838    field @FlaggedApi("android.hardware.radio.hd_radio_improved") public static final String METADATA_KEY_HD_SUBCHANNELS_AVAILABLE = "android.hardware.radio.metadata.HD_SUBCHANNELS_AVAILABLE";
8839    field public static final String METADATA_KEY_ICON = "android.hardware.radio.metadata.ICON";
8840    field public static final String METADATA_KEY_PROGRAM_NAME = "android.hardware.radio.metadata.PROGRAM_NAME";
8841    field public static final String METADATA_KEY_RBDS_PTY = "android.hardware.radio.metadata.RBDS_PTY";
8842    field public static final String METADATA_KEY_RDS_PI = "android.hardware.radio.metadata.RDS_PI";
8843    field public static final String METADATA_KEY_RDS_PS = "android.hardware.radio.metadata.RDS_PS";
8844    field public static final String METADATA_KEY_RDS_PTY = "android.hardware.radio.metadata.RDS_PTY";
8845    field public static final String METADATA_KEY_RDS_RT = "android.hardware.radio.metadata.RDS_RT";
8846    field public static final String METADATA_KEY_TITLE = "android.hardware.radio.metadata.TITLE";
8847    field @FlaggedApi("android.hardware.radio.hd_radio_improved") public static final String METADATA_KEY_UFIDS = "android.hardware.radio.metadata.UFIDS";
8848  }
8849
8850  public static final class RadioMetadata.Builder {
8851    ctor public RadioMetadata.Builder();
8852    ctor public RadioMetadata.Builder(android.hardware.radio.RadioMetadata);
8853    method public android.hardware.radio.RadioMetadata build();
8854    method public android.hardware.radio.RadioMetadata.Builder putBitmap(String, android.graphics.Bitmap);
8855    method public android.hardware.radio.RadioMetadata.Builder putClock(String, long, int);
8856    method public android.hardware.radio.RadioMetadata.Builder putInt(String, int);
8857    method public android.hardware.radio.RadioMetadata.Builder putString(String, String);
8858    method @FlaggedApi("android.hardware.radio.hd_radio_improved") @NonNull public android.hardware.radio.RadioMetadata.Builder putStringArray(@NonNull String, @NonNull String[]);
8859  }
8860
8861  public static final class RadioMetadata.Clock implements android.os.Parcelable {
8862    ctor public RadioMetadata.Clock(long, int);
8863    method public int describeContents();
8864    method public int getTimezoneOffsetMinutes();
8865    method public long getUtcEpochSeconds();
8866    method public void writeToParcel(android.os.Parcel, int);
8867    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioMetadata.Clock> CREATOR;
8868  }
8869
8870  public abstract class RadioTuner {
8871    ctor public RadioTuner();
8872    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract int cancel();
8873    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract void cancelAnnouncement();
8874    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract void close();
8875    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract int getConfiguration(android.hardware.radio.RadioManager.BandConfig[]);
8876    method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public android.hardware.radio.ProgramList getDynamicProgramList(@Nullable android.hardware.radio.ProgramList.Filter);
8877    method @FlaggedApi("android.hardware.radio.hd_radio_improved") @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public android.graphics.Bitmap getMetadataImage(int);
8878    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract boolean getMute();
8879    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>);
8880    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract int getProgramInformation(android.hardware.radio.RadioManager.ProgramInfo[]);
8881    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>);
8882    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract boolean hasControl();
8883    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract boolean isAnalogForced();
8884    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract boolean isAntennaConnected();
8885    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public boolean isConfigFlagSet(int);
8886    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public boolean isConfigFlagSupported(int);
8887    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract int scan(int, boolean);
8888    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public int seek(int, boolean);
8889    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract void setAnalogForced(boolean);
8890    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public void setConfigFlag(int, boolean);
8891    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract int setConfiguration(android.hardware.radio.RadioManager.BandConfig);
8892    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract int setMute(boolean);
8893    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>);
8894    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract boolean startBackgroundScan();
8895    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract int step(int, boolean);
8896    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract void tune(@NonNull android.hardware.radio.ProgramSelector);
8897    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract int tune(int, int);
8898    field public static final int DIRECTION_DOWN = 1; // 0x1
8899    field public static final int DIRECTION_UP = 0; // 0x0
8900    field @Deprecated public static final int ERROR_BACKGROUND_SCAN_FAILED = 6; // 0x6
8901    field @Deprecated public static final int ERROR_BACKGROUND_SCAN_UNAVAILABLE = 5; // 0x5
8902    field @Deprecated public static final int ERROR_CANCELLED = 2; // 0x2
8903    field @Deprecated public static final int ERROR_CONFIG = 4; // 0x4
8904    field @Deprecated public static final int ERROR_HARDWARE_FAILURE = 0; // 0x0
8905    field @Deprecated public static final int ERROR_SCAN_TIMEOUT = 3; // 0x3
8906    field @Deprecated public static final int ERROR_SERVER_DIED = 1; // 0x1
8907    field public static final int TUNER_RESULT_CANCELED = 6; // 0x6
8908    field public static final int TUNER_RESULT_INTERNAL_ERROR = 1; // 0x1
8909    field public static final int TUNER_RESULT_INVALID_ARGUMENTS = 2; // 0x2
8910    field public static final int TUNER_RESULT_INVALID_STATE = 3; // 0x3
8911    field public static final int TUNER_RESULT_NOT_SUPPORTED = 4; // 0x4
8912    field public static final int TUNER_RESULT_OK = 0; // 0x0
8913    field public static final int TUNER_RESULT_TIMEOUT = 5; // 0x5
8914    field public static final int TUNER_RESULT_UNKNOWN_ERROR = 7; // 0x7
8915  }
8916
8917  public abstract static class RadioTuner.Callback {
8918    ctor public RadioTuner.Callback();
8919    method public void onAntennaState(boolean);
8920    method public void onBackgroundScanAvailabilityChange(boolean);
8921    method public void onBackgroundScanComplete();
8922    method public void onConfigFlagUpdated(int, boolean);
8923    method @Deprecated public void onConfigurationChanged(android.hardware.radio.RadioManager.BandConfig);
8924    method public void onControlChanged(boolean);
8925    method public void onEmergencyAnnouncement(boolean);
8926    method @Deprecated public void onError(int);
8927    method @Deprecated public void onMetadataChanged(android.hardware.radio.RadioMetadata);
8928    method public void onParametersUpdated(@NonNull java.util.Map<java.lang.String,java.lang.String>);
8929    method public void onProgramInfoChanged(android.hardware.radio.RadioManager.ProgramInfo);
8930    method public void onProgramListChanged();
8931    method public void onTrafficAnnouncement(boolean);
8932    method public void onTuneFailed(int, @Nullable android.hardware.radio.ProgramSelector);
8933  }
8934
8935}
8936
8937package android.hardware.soundtrigger {
8938
8939  public class SoundTrigger {
8940    field public static final int RECOGNITION_MODE_GENERIC = 8; // 0x8
8941    field public static final int RECOGNITION_MODE_USER_AUTHENTICATION = 4; // 0x4
8942    field public static final int RECOGNITION_MODE_USER_IDENTIFICATION = 2; // 0x2
8943    field public static final int RECOGNITION_MODE_VOICE_TRIGGER = 1; // 0x1
8944    field public static final int STATUS_OK = 0; // 0x0
8945  }
8946
8947  @FlaggedApi("android.media.soundtrigger.generic_model_api") public static final class SoundTrigger.GenericSoundModel extends android.hardware.soundtrigger.SoundTrigger.SoundModel implements android.os.Parcelable {
8948    ctor public SoundTrigger.GenericSoundModel(@NonNull java.util.UUID, @NonNull java.util.UUID, @Nullable byte[]);
8949    ctor public SoundTrigger.GenericSoundModel(@NonNull java.util.UUID, @NonNull java.util.UUID, @Nullable byte[], int);
8950    method public int describeContents();
8951    method public void writeToParcel(@NonNull android.os.Parcel, int);
8952    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.GenericSoundModel> CREATOR;
8953  }
8954
8955  public static final class SoundTrigger.Keyphrase implements android.os.Parcelable {
8956    ctor public SoundTrigger.Keyphrase(int, int, @NonNull java.util.Locale, @NonNull String, @Nullable int[]);
8957    method public int describeContents();
8958    method public int getId();
8959    method @NonNull public java.util.Locale getLocale();
8960    method public int getRecognitionModes();
8961    method @NonNull public String getText();
8962    method @NonNull public int[] getUsers();
8963    method @NonNull public static android.hardware.soundtrigger.SoundTrigger.Keyphrase readFromParcel(@NonNull android.os.Parcel);
8964    method public void writeToParcel(@NonNull android.os.Parcel, int);
8965    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.Keyphrase> CREATOR;
8966  }
8967
8968  public static final class SoundTrigger.KeyphraseRecognitionExtra implements android.os.Parcelable {
8969    method public int describeContents();
8970    method @IntRange(from=0, to=100) public int getCoarseConfidenceLevel();
8971    method public int getKeyphraseId();
8972    method public int getRecognitionModes();
8973    method public void writeToParcel(@NonNull android.os.Parcel, int);
8974    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.KeyphraseRecognitionExtra> CREATOR;
8975  }
8976
8977  public static final class SoundTrigger.KeyphraseSoundModel extends android.hardware.soundtrigger.SoundTrigger.SoundModel implements android.os.Parcelable {
8978    ctor public SoundTrigger.KeyphraseSoundModel(@NonNull java.util.UUID, @NonNull java.util.UUID, @Nullable byte[], @Nullable android.hardware.soundtrigger.SoundTrigger.Keyphrase[]);
8979    ctor public SoundTrigger.KeyphraseSoundModel(@NonNull java.util.UUID, @NonNull java.util.UUID, @Nullable byte[], @Nullable android.hardware.soundtrigger.SoundTrigger.Keyphrase[], int);
8980    method public int describeContents();
8981    method @NonNull public android.hardware.soundtrigger.SoundTrigger.Keyphrase[] getKeyphrases();
8982    method @NonNull public static android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel readFromParcel(@NonNull android.os.Parcel);
8983    method public void writeToParcel(@NonNull android.os.Parcel, int);
8984    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel> CREATOR;
8985  }
8986
8987  public static final class SoundTrigger.ModelParamRange implements android.os.Parcelable {
8988    method public int describeContents();
8989    method public int getEnd();
8990    method public int getStart();
8991    method public void writeToParcel(@NonNull android.os.Parcel, int);
8992    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.ModelParamRange> CREATOR;
8993  }
8994
8995  public static final class SoundTrigger.ModuleProperties implements android.os.Parcelable {
8996    method public int describeContents();
8997    method public int getAudioCapabilities();
8998    method @NonNull public String getDescription();
8999    method public int getId();
9000    method @NonNull public String getImplementor();
9001    method public int getMaxBufferMillis();
9002    method public int getMaxKeyphrases();
9003    method public int getMaxSoundModels();
9004    method public int getMaxUsers();
9005    method public int getPowerConsumptionMw();
9006    method public int getRecognitionModes();
9007    method @NonNull public String getSupportedModelArch();
9008    method @NonNull public java.util.UUID getUuid();
9009    method public int getVersion();
9010    method public boolean isCaptureTransitionSupported();
9011    method public boolean isConcurrentCaptureSupported();
9012    method public boolean isTriggerReturnedInEvent();
9013    method public void writeToParcel(android.os.Parcel, int);
9014    field public static final int AUDIO_CAPABILITY_ECHO_CANCELLATION = 1; // 0x1
9015    field public static final int AUDIO_CAPABILITY_NOISE_SUPPRESSION = 2; // 0x2
9016    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.ModuleProperties> CREATOR;
9017  }
9018
9019  @FlaggedApi("android.media.soundtrigger.manager_api") public static final class SoundTrigger.RecognitionConfig implements android.os.Parcelable {
9020    method public int describeContents();
9021    method public int getAudioCapabilities();
9022    method @NonNull public byte[] getData();
9023    method @NonNull public java.util.List<android.hardware.soundtrigger.SoundTrigger.KeyphraseRecognitionExtra> getKeyphrases();
9024    method public boolean isCaptureRequested();
9025    method public boolean isMultipleTriggersAllowed();
9026    method public void writeToParcel(@NonNull android.os.Parcel, int);
9027    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.RecognitionConfig> CREATOR;
9028  }
9029
9030  public static final class SoundTrigger.RecognitionConfig.Builder {
9031    ctor public SoundTrigger.RecognitionConfig.Builder();
9032    method @NonNull public android.hardware.soundtrigger.SoundTrigger.RecognitionConfig build();
9033    method @NonNull public android.hardware.soundtrigger.SoundTrigger.RecognitionConfig.Builder setAudioCapabilities(int);
9034    method @NonNull public android.hardware.soundtrigger.SoundTrigger.RecognitionConfig.Builder setCaptureRequested(boolean);
9035    method @NonNull public android.hardware.soundtrigger.SoundTrigger.RecognitionConfig.Builder setData(@NonNull byte[]);
9036    method @NonNull public android.hardware.soundtrigger.SoundTrigger.RecognitionConfig.Builder setKeyphrases(@NonNull java.util.Collection<android.hardware.soundtrigger.SoundTrigger.KeyphraseRecognitionExtra>);
9037    method @NonNull public android.hardware.soundtrigger.SoundTrigger.RecognitionConfig.Builder setMultipleTriggersAllowed(boolean);
9038  }
9039
9040  public static class SoundTrigger.RecognitionEvent {
9041    method @Nullable public android.media.AudioFormat getCaptureFormat();
9042    method public int getCaptureSession();
9043    method public byte[] getData();
9044    method public long getHalEventReceivedMillis();
9045    method public boolean isCaptureAvailable();
9046  }
9047
9048  public static class SoundTrigger.SoundModel {
9049    method @NonNull public byte[] getData();
9050    method public int getType();
9051    method @NonNull public java.util.UUID getUuid();
9052    method @NonNull public java.util.UUID getVendorUuid();
9053    method public int getVersion();
9054    field public static final int TYPE_GENERIC_SOUND = 1; // 0x1
9055    field public static final int TYPE_KEYPHRASE = 0; // 0x0
9056  }
9057
9058}
9059
9060package android.hardware.usb {
9061
9062  public final class DisplayPortAltModeInfo implements android.os.Parcelable {
9063    method public int describeContents();
9064    method public int getCableStatus();
9065    method public int getLinkTrainingStatus();
9066    method public int getNumberOfLanes();
9067    method public int getPartnerSinkStatus();
9068    method public boolean isHotPlugDetectActive();
9069    method public void writeToParcel(@NonNull android.os.Parcel, int);
9070    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.usb.DisplayPortAltModeInfo> CREATOR;
9071    field public static final int DISPLAYPORT_ALT_MODE_STATUS_CAPABLE_DISABLED = 2; // 0x2
9072    field public static final int DISPLAYPORT_ALT_MODE_STATUS_ENABLED = 3; // 0x3
9073    field public static final int DISPLAYPORT_ALT_MODE_STATUS_NOT_CAPABLE = 1; // 0x1
9074    field public static final int DISPLAYPORT_ALT_MODE_STATUS_UNKNOWN = 0; // 0x0
9075    field public static final int LINK_TRAINING_STATUS_FAILURE = 2; // 0x2
9076    field public static final int LINK_TRAINING_STATUS_SUCCESS = 1; // 0x1
9077    field public static final int LINK_TRAINING_STATUS_UNKNOWN = 0; // 0x0
9078  }
9079
9080  public class UsbDeviceConnection {
9081    method public boolean resetDevice();
9082  }
9083
9084  public class UsbManager {
9085    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public long getCurrentFunctions();
9086    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_USB) public java.util.List<android.hardware.usb.UsbPort> getPorts();
9087    method @FlaggedApi("android.hardware.usb.flags.expose_usb_speed_system_api") @RequiresPermission(android.Manifest.permission.MANAGE_USB) public int getUsbBandwidthMbps();
9088    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void grantPermission(android.hardware.usb.UsbDevice, String);
9089    method public static boolean isUvcSupportEnabled();
9090    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void registerDisplayPortAltModeInfoListener(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.usb.UsbManager.DisplayPortAltModeInfoListener);
9091    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void resetUsbGadget();
9092    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void setCurrentFunctions(long);
9093    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void unregisterDisplayPortAltModeInfoListener(@NonNull android.hardware.usb.UsbManager.DisplayPortAltModeInfoListener);
9094    field @RequiresPermission(android.Manifest.permission.MANAGE_USB) public static final String ACTION_USB_ACCESSORY_HANDSHAKE = "android.hardware.usb.action.USB_ACCESSORY_HANDSHAKE";
9095    field @RequiresPermission(android.Manifest.permission.MANAGE_USB) public static final String ACTION_USB_PORT_CHANGED = "android.hardware.usb.action.USB_PORT_CHANGED";
9096    field @RequiresPermission(android.Manifest.permission.MANAGE_USB) public static final String ACTION_USB_PORT_COMPLIANCE_CHANGED = "android.hardware.usb.action.USB_PORT_COMPLIANCE_CHANGED";
9097    field public static final String ACTION_USB_STATE = "android.hardware.usb.action.USB_STATE";
9098    field public static final String EXTRA_ACCESSORY_HANDSHAKE_END = "android.hardware.usb.extra.ACCESSORY_HANDSHAKE_END";
9099    field public static final String EXTRA_ACCESSORY_START = "android.hardware.usb.extra.ACCESSORY_START";
9100    field public static final String EXTRA_ACCESSORY_STRING_COUNT = "android.hardware.usb.extra.ACCESSORY_STRING_COUNT";
9101    field public static final String EXTRA_ACCESSORY_UEVENT_TIME = "android.hardware.usb.extra.ACCESSORY_UEVENT_TIME";
9102    field public static final long FUNCTION_ACCESSORY = 2L; // 0x2L
9103    field public static final long FUNCTION_ADB = 1L; // 0x1L
9104    field public static final long FUNCTION_AUDIO_SOURCE = 64L; // 0x40L
9105    field public static final long FUNCTION_MIDI = 8L; // 0x8L
9106    field public static final long FUNCTION_MTP = 4L; // 0x4L
9107    field public static final long FUNCTION_NCM = 1024L; // 0x400L
9108    field public static final long FUNCTION_NONE = 0L; // 0x0L
9109    field public static final long FUNCTION_PTP = 16L; // 0x10L
9110    field public static final long FUNCTION_RNDIS = 32L; // 0x20L
9111    field public static final long FUNCTION_UVC = 128L; // 0x80L
9112    field public static final String USB_CONFIGURED = "configured";
9113    field public static final String USB_CONNECTED = "connected";
9114    field @FlaggedApi("android.hardware.usb.flags.expose_usb_speed_system_api") public static final int USB_DATA_TRANSFER_RATE_10G = 10240; // 0x2800
9115    field @FlaggedApi("android.hardware.usb.flags.expose_usb_speed_system_api") public static final int USB_DATA_TRANSFER_RATE_20G = 20480; // 0x5000
9116    field @FlaggedApi("android.hardware.usb.flags.expose_usb_speed_system_api") public static final int USB_DATA_TRANSFER_RATE_40G = 40960; // 0xa000
9117    field @FlaggedApi("android.hardware.usb.flags.expose_usb_speed_system_api") public static final int USB_DATA_TRANSFER_RATE_5G = 5120; // 0x1400
9118    field @FlaggedApi("android.hardware.usb.flags.expose_usb_speed_system_api") public static final int USB_DATA_TRANSFER_RATE_FULL_SPEED = 12; // 0xc
9119    field @FlaggedApi("android.hardware.usb.flags.expose_usb_speed_system_api") public static final int USB_DATA_TRANSFER_RATE_HIGH_SPEED = 480; // 0x1e0
9120    field @FlaggedApi("android.hardware.usb.flags.expose_usb_speed_system_api") public static final int USB_DATA_TRANSFER_RATE_LOW_SPEED = 2; // 0x2
9121    field @FlaggedApi("android.hardware.usb.flags.expose_usb_speed_system_api") public static final int USB_DATA_TRANSFER_RATE_UNKNOWN = -1; // 0xffffffff
9122    field public static final String USB_FUNCTION_NCM = "ncm";
9123    field public static final String USB_FUNCTION_RNDIS = "rndis";
9124  }
9125
9126  public static interface UsbManager.DisplayPortAltModeInfoListener {
9127    method public void onDisplayPortAltModeInfoChanged(@NonNull String, @NonNull android.hardware.usb.DisplayPortAltModeInfo);
9128  }
9129
9130  public final class UsbPort {
9131    method @CheckResult @RequiresPermission(android.Manifest.permission.MANAGE_USB) public int enableLimitPowerTransfer(boolean);
9132    method @CheckResult @RequiresPermission(android.Manifest.permission.MANAGE_USB) public int enableUsbData(boolean);
9133    method @CheckResult @RequiresPermission(android.Manifest.permission.MANAGE_USB) public int enableUsbDataWhileDocked();
9134    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USB) public android.hardware.usb.UsbPortStatus getStatus();
9135    method public boolean isAltModeSupported(int);
9136    method @CheckResult @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void resetUsbPort(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
9137    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void setRoles(int, int);
9138    method @CheckResult @RequiresPermission(android.Manifest.permission.MANAGE_USB) public boolean supportsComplianceWarnings();
9139    field public static final int ENABLE_LIMIT_POWER_TRANSFER_ERROR_INTERNAL = 1; // 0x1
9140    field public static final int ENABLE_LIMIT_POWER_TRANSFER_ERROR_NOT_SUPPORTED = 2; // 0x2
9141    field public static final int ENABLE_LIMIT_POWER_TRANSFER_ERROR_OTHER = 4; // 0x4
9142    field public static final int ENABLE_LIMIT_POWER_TRANSFER_ERROR_PORT_MISMATCH = 3; // 0x3
9143    field public static final int ENABLE_LIMIT_POWER_TRANSFER_SUCCESS = 0; // 0x0
9144    field public static final int ENABLE_USB_DATA_ERROR_INTERNAL = 1; // 0x1
9145    field public static final int ENABLE_USB_DATA_ERROR_NOT_SUPPORTED = 2; // 0x2
9146    field public static final int ENABLE_USB_DATA_ERROR_OTHER = 4; // 0x4
9147    field public static final int ENABLE_USB_DATA_ERROR_PORT_MISMATCH = 3; // 0x3
9148    field public static final int ENABLE_USB_DATA_SUCCESS = 0; // 0x0
9149    field public static final int ENABLE_USB_DATA_WHILE_DOCKED_ERROR_DATA_ENABLED = 4; // 0x4
9150    field public static final int ENABLE_USB_DATA_WHILE_DOCKED_ERROR_INTERNAL = 1; // 0x1
9151    field public static final int ENABLE_USB_DATA_WHILE_DOCKED_ERROR_NOT_SUPPORTED = 2; // 0x2
9152    field public static final int ENABLE_USB_DATA_WHILE_DOCKED_ERROR_OTHER = 5; // 0x5
9153    field public static final int ENABLE_USB_DATA_WHILE_DOCKED_ERROR_PORT_MISMATCH = 3; // 0x3
9154    field public static final int ENABLE_USB_DATA_WHILE_DOCKED_SUCCESS = 0; // 0x0
9155    field public static final int FLAG_ALT_MODE_TYPE_DISPLAYPORT = 1; // 0x1
9156    field public static final int RESET_USB_PORT_ERROR_INTERNAL = 1; // 0x1
9157    field public static final int RESET_USB_PORT_ERROR_NOT_SUPPORTED = 2; // 0x2
9158    field public static final int RESET_USB_PORT_ERROR_OTHER = 4; // 0x4
9159    field public static final int RESET_USB_PORT_ERROR_PORT_MISMATCH = 3; // 0x3
9160    field public static final int RESET_USB_PORT_SUCCESS = 0; // 0x0
9161  }
9162
9163  public final class UsbPortStatus implements android.os.Parcelable {
9164    method public int describeContents();
9165    method @NonNull @CheckResult public int[] getComplianceWarnings();
9166    method public int getCurrentDataRole();
9167    method public int getCurrentMode();
9168    method public int getCurrentPowerRole();
9169    method @Nullable public android.hardware.usb.DisplayPortAltModeInfo getDisplayPortAltModeInfo();
9170    method public int getPlugState();
9171    method public int getPowerBrickConnectionStatus();
9172    method public int getSupportedRoleCombinations();
9173    method public int getUsbDataStatus();
9174    method public boolean isConnected();
9175    method @FlaggedApi("android.hardware.usb.flags.enable_is_pd_compliant_api") public boolean isPdCompliant();
9176    method public boolean isPowerTransferLimited();
9177    method public boolean isRoleCombinationSupported(int, int);
9178    method public void writeToParcel(android.os.Parcel, int);
9179    field public static final int COMPLIANCE_WARNING_BC_1_2 = 3; // 0x3
9180    field public static final int COMPLIANCE_WARNING_DEBUG_ACCESSORY = 2; // 0x2
9181    field @FlaggedApi("android.hardware.usb.flags.enable_usb_data_compliance_warning") public static final int COMPLIANCE_WARNING_ENUMERATION_FAIL = 7; // 0x7
9182    field @FlaggedApi("android.hardware.usb.flags.enable_usb_data_compliance_warning") public static final int COMPLIANCE_WARNING_FLAKY_CONNECTION = 8; // 0x8
9183    field @FlaggedApi("android.hardware.usb.flags.enable_usb_data_compliance_warning") public static final int COMPLIANCE_WARNING_INPUT_POWER_LIMITED = 5; // 0x5
9184    field @FlaggedApi("android.hardware.usb.flags.enable_usb_data_compliance_warning") public static final int COMPLIANCE_WARNING_MISSING_DATA_LINES = 6; // 0x6
9185    field public static final int COMPLIANCE_WARNING_MISSING_RP = 4; // 0x4
9186    field public static final int COMPLIANCE_WARNING_OTHER = 1; // 0x1
9187    field @FlaggedApi("android.hardware.usb.flags.enable_usb_data_compliance_warning") public static final int COMPLIANCE_WARNING_UNRELIABLE_IO = 9; // 0x9
9188    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.usb.UsbPortStatus> CREATOR;
9189    field public static final int DATA_ROLE_DEVICE = 2; // 0x2
9190    field public static final int DATA_ROLE_HOST = 1; // 0x1
9191    field public static final int DATA_ROLE_NONE = 0; // 0x0
9192    field public static final int DATA_STATUS_DISABLED_CONTAMINANT = 4; // 0x4
9193    field public static final int DATA_STATUS_DISABLED_DEBUG = 32; // 0x20
9194    field public static final int DATA_STATUS_DISABLED_DOCK = 8; // 0x8
9195    field public static final int DATA_STATUS_DISABLED_DOCK_DEVICE_MODE = 128; // 0x80
9196    field public static final int DATA_STATUS_DISABLED_DOCK_HOST_MODE = 64; // 0x40
9197    field public static final int DATA_STATUS_DISABLED_FORCE = 16; // 0x10
9198    field public static final int DATA_STATUS_DISABLED_OVERHEAT = 2; // 0x2
9199    field public static final int DATA_STATUS_ENABLED = 1; // 0x1
9200    field public static final int DATA_STATUS_UNKNOWN = 0; // 0x0
9201    field public static final int MODE_AUDIO_ACCESSORY = 4; // 0x4
9202    field public static final int MODE_DEBUG_ACCESSORY = 8; // 0x8
9203    field public static final int MODE_DFP = 2; // 0x2
9204    field public static final int MODE_NONE = 0; // 0x0
9205    field public static final int MODE_UFP = 1; // 0x1
9206    field public static final int PLUG_STATE_PLUGGED_ORIENTATION_FLIPPED = 4; // 0x4
9207    field public static final int PLUG_STATE_PLUGGED_ORIENTATION_NORMAL = 3; // 0x3
9208    field public static final int PLUG_STATE_PLUGGED_ORIENTATION_UNKNOWN = 2; // 0x2
9209    field public static final int PLUG_STATE_UNKNOWN = 0; // 0x0
9210    field public static final int PLUG_STATE_UNPLUGGED = 1; // 0x1
9211    field public static final int POWER_BRICK_STATUS_CONNECTED = 1; // 0x1
9212    field public static final int POWER_BRICK_STATUS_DISCONNECTED = 2; // 0x2
9213    field public static final int POWER_BRICK_STATUS_UNKNOWN = 0; // 0x0
9214    field public static final int POWER_ROLE_NONE = 0; // 0x0
9215    field public static final int POWER_ROLE_SINK = 2; // 0x2
9216    field public static final int POWER_ROLE_SOURCE = 1; // 0x1
9217  }
9218
9219}
9220
9221package android.health.connect {
9222
9223  public class ApplicationInfoResponse {
9224    method @NonNull public java.util.List<android.health.connect.datatypes.AppInfo> getApplicationInfoList();
9225  }
9226
9227  public final class DeleteUsingFiltersRequest {
9228    method @NonNull public java.util.Set<android.health.connect.datatypes.DataOrigin> getDataOrigins();
9229    method @NonNull public java.util.Set<java.lang.Class<? extends android.health.connect.datatypes.Record>> getRecordTypes();
9230    method @Nullable public android.health.connect.TimeRangeFilter getTimeRangeFilter();
9231  }
9232
9233  public static final class DeleteUsingFiltersRequest.Builder {
9234    ctor public DeleteUsingFiltersRequest.Builder();
9235    method @NonNull public android.health.connect.DeleteUsingFiltersRequest.Builder addDataOrigin(@NonNull android.health.connect.datatypes.DataOrigin);
9236    method @NonNull public android.health.connect.DeleteUsingFiltersRequest.Builder addRecordType(@NonNull Class<? extends android.health.connect.datatypes.Record>);
9237    method @NonNull public android.health.connect.DeleteUsingFiltersRequest build();
9238    method @NonNull public android.health.connect.DeleteUsingFiltersRequest.Builder clearDataOrigins();
9239    method @NonNull public android.health.connect.DeleteUsingFiltersRequest.Builder clearRecordTypes();
9240    method @NonNull public android.health.connect.DeleteUsingFiltersRequest.Builder setTimeRangeFilter(@Nullable android.health.connect.TimeRangeFilter);
9241  }
9242
9243  public final class FetchDataOriginsPriorityOrderResponse {
9244    method @NonNull public java.util.List<android.health.connect.datatypes.DataOrigin> getDataOriginsPriorityOrder();
9245  }
9246
9247  public final class HealthConnectDataState implements android.os.Parcelable {
9248    method public int describeContents();
9249    method public int getDataMigrationState();
9250    method public int getDataRestoreError();
9251    method public int getDataRestoreState();
9252    method public void writeToParcel(@NonNull android.os.Parcel, int);
9253    field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.HealthConnectDataState> CREATOR;
9254    field public static final int MIGRATION_STATE_ALLOWED = 4; // 0x4
9255    field public static final int MIGRATION_STATE_APP_UPGRADE_REQUIRED = 1; // 0x1
9256    field public static final int MIGRATION_STATE_COMPLETE = 5; // 0x5
9257    field public static final int MIGRATION_STATE_IDLE = 0; // 0x0
9258    field public static final int MIGRATION_STATE_IN_PROGRESS = 3; // 0x3
9259    field public static final int MIGRATION_STATE_MODULE_UPGRADE_REQUIRED = 2; // 0x2
9260    field public static final int RESTORE_ERROR_FETCHING_DATA = 2; // 0x2
9261    field public static final int RESTORE_ERROR_NONE = 0; // 0x0
9262    field public static final int RESTORE_ERROR_UNKNOWN = 1; // 0x1
9263    field public static final int RESTORE_ERROR_VERSION_DIFF = 3; // 0x3
9264    field public static final int RESTORE_STATE_IDLE = 0; // 0x0
9265    field public static final int RESTORE_STATE_IN_PROGRESS = 2; // 0x2
9266    field public static final int RESTORE_STATE_PENDING = 1; // 0x1
9267  }
9268
9269  public class HealthConnectManager {
9270    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>);
9271    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>);
9272    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>);
9273    method @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>);
9274    method @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>);
9275    method @NonNull public static java.util.Set<java.lang.String> getHealthPermissions(@NonNull android.content.Context);
9276    method @IntRange(from=0, to=7300) @RequiresPermission(android.health.connect.HealthPermissions.MANAGE_HEALTH_DATA_PERMISSION) public int getRecordRetentionPeriodInDays();
9277    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>);
9278    method public static boolean isHealthPermission(@NonNull android.content.Context, @NonNull String);
9279    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>);
9280    method @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>);
9281    method @RequiresPermission(android.health.connect.HealthPermissions.MANAGE_HEALTH_DATA_PERMISSION) public void queryAllMedicalResourceTypeInfos(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.util.List<android.health.connect.MedicalResourceTypeInfo>,android.health.connect.HealthConnectException>);
9282    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>);
9283    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>);
9284    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;
9285    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>);
9286    method @RequiresPermission(android.Manifest.permission.STAGE_HEALTH_CONNECT_REMOTE_DATA) public void updateDataDownloadState(int);
9287    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>);
9288    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>);
9289    field public static final String ACTION_HEALTH_CONNECT_MIGRATION_READY = "android.health.connect.action.HEALTH_CONNECT_MIGRATION_READY";
9290    field public static final String ACTION_HEALTH_HOME_SETTINGS = "android.health.connect.action.HEALTH_HOME_SETTINGS";
9291    field public static final String ACTION_MANAGE_HEALTH_DATA = "android.health.connect.action.MANAGE_HEALTH_DATA";
9292    field public static final String ACTION_REQUEST_HEALTH_PERMISSIONS = "android.health.connect.action.REQUEST_HEALTH_PERMISSIONS";
9293    field public static final String ACTION_SHOW_MIGRATION_INFO = "android.health.connect.action.SHOW_MIGRATION_INFO";
9294    field public static final int DATA_DOWNLOAD_COMPLETE = 4; // 0x4
9295    field public static final int DATA_DOWNLOAD_FAILED = 3; // 0x3
9296    field public static final int DATA_DOWNLOAD_RETRY = 2; // 0x2
9297    field public static final int DATA_DOWNLOAD_STARTED = 1; // 0x1
9298    field public static final int DATA_DOWNLOAD_STATE_UNKNOWN = 0; // 0x0
9299  }
9300
9301  public class HealthDataCategory {
9302    field public static final int ACTIVITY = 1; // 0x1
9303    field public static final int BODY_MEASUREMENTS = 2; // 0x2
9304    field public static final int CYCLE_TRACKING = 3; // 0x3
9305    field public static final int NUTRITION = 4; // 0x4
9306    field public static final int SLEEP = 5; // 0x5
9307    field public static final int UNKNOWN = 0; // 0x0
9308    field public static final int VITALS = 6; // 0x6
9309    field public static final int WELLNESS = 7; // 0x7
9310  }
9311
9312  public class HealthPermissionCategory {
9313    field public static final int ACTIVE_CALORIES_BURNED = 1; // 0x1
9314    field public static final int ACTIVITY_INTENSITY = 42; // 0x2a
9315    field public static final int BASAL_BODY_TEMPERATURE = 33; // 0x21
9316    field public static final int BASAL_METABOLIC_RATE = 9; // 0x9
9317    field public static final int BLOOD_GLUCOSE = 26; // 0x1a
9318    field public static final int BLOOD_PRESSURE = 27; // 0x1b
9319    field public static final int BODY_FAT = 10; // 0xa
9320    field public static final int BODY_TEMPERATURE = 28; // 0x1c
9321    field public static final int BODY_WATER_MASS = 11; // 0xb
9322    field public static final int BONE_MASS = 12; // 0xc
9323    field public static final int CERVICAL_MUCUS = 18; // 0x12
9324    field public static final int DISTANCE = 2; // 0x2
9325    field public static final int ELEVATION_GAINED = 3; // 0x3
9326    field public static final int EXERCISE = 4; // 0x4
9327    field public static final int FLOORS_CLIMBED = 5; // 0x5
9328    field public static final int HEART_RATE = 29; // 0x1d
9329    field public static final int HEART_RATE_VARIABILITY = 30; // 0x1e
9330    field public static final int HEIGHT = 13; // 0xd
9331    field public static final int HYDRATION = 23; // 0x17
9332    field public static final int INTERMENSTRUAL_BLEEDING = 38; // 0x26
9333    field public static final int LEAN_BODY_MASS = 15; // 0xf
9334    field public static final int MENSTRUATION = 20; // 0x14
9335    field public static final int MINDFULNESS = 41; // 0x29
9336    field public static final int NUTRITION = 24; // 0x18
9337    field public static final int OVULATION_TEST = 21; // 0x15
9338    field public static final int OXYGEN_SATURATION = 31; // 0x1f
9339    field public static final int PLANNED_EXERCISE = 40; // 0x28
9340    field public static final int POWER = 36; // 0x24
9341    field public static final int RESPIRATORY_RATE = 32; // 0x20
9342    field public static final int RESTING_HEART_RATE = 34; // 0x22
9343    field public static final int SEXUAL_ACTIVITY = 22; // 0x16
9344    field public static final int SKIN_TEMPERATURE = 39; // 0x27
9345    field public static final int SLEEP = 25; // 0x19
9346    field public static final int SPEED = 37; // 0x25
9347    field public static final int STEPS = 6; // 0x6
9348    field public static final int TOTAL_CALORIES_BURNED = 35; // 0x23
9349    field public static final int UNKNOWN = 0; // 0x0
9350    field public static final int VO2_MAX = 7; // 0x7
9351    field public static final int WEIGHT = 17; // 0x11
9352    field public static final int WHEELCHAIR_PUSHES = 8; // 0x8
9353  }
9354
9355  public final class HealthPermissions {
9356    field public static final String HEALTH_PERMISSION_GROUP = "android.permission-group.HEALTH";
9357    field public static final String MANAGE_HEALTH_DATA_PERMISSION = "android.permission.MANAGE_HEALTH_DATA";
9358    field public static final String MANAGE_HEALTH_PERMISSIONS = "android.permission.MANAGE_HEALTH_PERMISSIONS";
9359  }
9360
9361  public final class MedicalResourceTypeInfo implements android.os.Parcelable {
9362    ctor public MedicalResourceTypeInfo(int, @NonNull java.util.Set<android.health.connect.datatypes.MedicalDataSource>);
9363    method public int describeContents();
9364    method @NonNull public java.util.Set<android.health.connect.datatypes.MedicalDataSource> getContributingDataSources();
9365    method public int getMedicalResourceType();
9366    method public void writeToParcel(@NonNull android.os.Parcel, int);
9367    field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.MedicalResourceTypeInfo> CREATOR;
9368  }
9369
9370  public class RecordTypeInfoResponse {
9371    method @NonNull public java.util.List<android.health.connect.datatypes.DataOrigin> getContributingPackages();
9372    method public int getDataCategory();
9373    method public int getPermissionCategory();
9374  }
9375
9376  public final class UpdateDataOriginPriorityOrderRequest {
9377    ctor public UpdateDataOriginPriorityOrderRequest(@NonNull java.util.List<android.health.connect.datatypes.DataOrigin>, int);
9378    method public int getDataCategory();
9379    method @NonNull public java.util.List<android.health.connect.datatypes.DataOrigin> getDataOriginInOrder();
9380  }
9381
9382}
9383
9384package android.health.connect.accesslog {
9385
9386  public final class AccessLog implements android.os.Parcelable {
9387    method public int describeContents();
9388    method @NonNull public java.time.Instant getAccessTime();
9389    method @NonNull public java.util.Set<java.lang.Integer> getMedicalResourceTypes();
9390    method public int getOperationType();
9391    method @NonNull public String getPackageName();
9392    method @NonNull public java.util.List<java.lang.Class<? extends android.health.connect.datatypes.Record>> getRecordTypes();
9393    method public boolean isMedicalDataSourceAccessed();
9394    method public void writeToParcel(@NonNull android.os.Parcel, int);
9395    field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.accesslog.AccessLog> CREATOR;
9396  }
9397
9398  public static final class AccessLog.OperationType {
9399    field public static final int OPERATION_TYPE_DELETE = 1; // 0x1
9400    field public static final int OPERATION_TYPE_READ = 2; // 0x2
9401    field public static final int OPERATION_TYPE_UPSERT = 0; // 0x0
9402  }
9403
9404}
9405
9406package android.health.connect.datatypes {
9407
9408  public abstract class Record {
9409    method public int getRecordType();
9410  }
9411
9412  public final class RecordTypeIdentifier {
9413    field public static final int RECORD_TYPE_ACTIVE_CALORIES_BURNED = 2; // 0x2
9414    field public static final int RECORD_TYPE_ACTIVITY_INTENSITY = 42; // 0x2a
9415    field public static final int RECORD_TYPE_BASAL_BODY_TEMPERATURE = 20; // 0x14
9416    field public static final int RECORD_TYPE_BASAL_METABOLIC_RATE = 16; // 0x10
9417    field public static final int RECORD_TYPE_BLOOD_GLUCOSE = 25; // 0x19
9418    field public static final int RECORD_TYPE_BLOOD_PRESSURE = 23; // 0x17
9419    field public static final int RECORD_TYPE_BODY_FAT = 17; // 0x11
9420    field public static final int RECORD_TYPE_BODY_TEMPERATURE = 29; // 0x1d
9421    field public static final int RECORD_TYPE_BODY_WATER_MASS = 34; // 0x22
9422    field public static final int RECORD_TYPE_BONE_MASS = 32; // 0x20
9423    field public static final int RECORD_TYPE_CERVICAL_MUCUS = 19; // 0x13
9424    field public static final int RECORD_TYPE_CYCLING_PEDALING_CADENCE = 12; // 0xc
9425    field public static final int RECORD_TYPE_DISTANCE = 7; // 0x7
9426    field public static final int RECORD_TYPE_ELEVATION_GAINED = 4; // 0x4
9427    field public static final int RECORD_TYPE_EXERCISE_SESSION = 37; // 0x25
9428    field public static final int RECORD_TYPE_FLOORS_CLIMBED = 5; // 0x5
9429    field public static final int RECORD_TYPE_HEART_RATE = 11; // 0xb
9430    field public static final int RECORD_TYPE_HEART_RATE_VARIABILITY_RMSSD = 35; // 0x23
9431    field public static final int RECORD_TYPE_HEIGHT = 24; // 0x18
9432    field public static final int RECORD_TYPE_HYDRATION = 3; // 0x3
9433    field public static final int RECORD_TYPE_INTERMENSTRUAL_BLEEDING = 36; // 0x24
9434    field public static final int RECORD_TYPE_LEAN_BODY_MASS = 27; // 0x1b
9435    field public static final int RECORD_TYPE_MENSTRUATION_FLOW = 21; // 0x15
9436    field public static final int RECORD_TYPE_MENSTRUATION_PERIOD = 10; // 0xa
9437    field public static final int RECORD_TYPE_MINDFULNESS_SESSION = 41; // 0x29
9438    field public static final int RECORD_TYPE_NUTRITION = 8; // 0x8
9439    field public static final int RECORD_TYPE_OVULATION_TEST = 30; // 0x1e
9440    field public static final int RECORD_TYPE_OXYGEN_SATURATION = 22; // 0x16
9441    field public static final int RECORD_TYPE_PLANNED_EXERCISE_SESSION = 40; // 0x28
9442    field public static final int RECORD_TYPE_POWER = 13; // 0xd
9443    field public static final int RECORD_TYPE_RESPIRATORY_RATE = 31; // 0x1f
9444    field public static final int RECORD_TYPE_RESTING_HEART_RATE = 33; // 0x21
9445    field public static final int RECORD_TYPE_SEXUAL_ACTIVITY = 28; // 0x1c
9446    field public static final int RECORD_TYPE_SKIN_TEMPERATURE = 39; // 0x27
9447    field public static final int RECORD_TYPE_SLEEP_SESSION = 38; // 0x26
9448    field public static final int RECORD_TYPE_SPEED = 14; // 0xe
9449    field public static final int RECORD_TYPE_STEPS = 1; // 0x1
9450    field public static final int RECORD_TYPE_STEPS_CADENCE = 15; // 0xf
9451    field public static final int RECORD_TYPE_TOTAL_CALORIES_BURNED = 9; // 0x9
9452    field public static final int RECORD_TYPE_UNKNOWN = 0; // 0x0
9453    field public static final int RECORD_TYPE_VO2_MAX = 18; // 0x12
9454    field public static final int RECORD_TYPE_WEIGHT = 26; // 0x1a
9455    field public static final int RECORD_TYPE_WHEELCHAIR_PUSHES = 6; // 0x6
9456  }
9457
9458}
9459
9460package android.health.connect.migration {
9461
9462  public final class AppInfoMigrationPayload extends android.health.connect.migration.MigrationPayload implements android.os.Parcelable {
9463    method @Nullable public byte[] getAppIcon();
9464    method @NonNull public String getAppName();
9465    method @NonNull public String getPackageName();
9466    method public void writeToParcel(@NonNull android.os.Parcel, int);
9467    field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.migration.AppInfoMigrationPayload> CREATOR;
9468  }
9469
9470  public static final class AppInfoMigrationPayload.Builder {
9471    ctor public AppInfoMigrationPayload.Builder(@NonNull String, @NonNull String);
9472    method @NonNull public android.health.connect.migration.AppInfoMigrationPayload build();
9473    method @NonNull public android.health.connect.migration.AppInfoMigrationPayload.Builder setAppIcon(@Nullable byte[]);
9474    method @NonNull public android.health.connect.migration.AppInfoMigrationPayload.Builder setAppName(@NonNull String);
9475    method @NonNull public android.health.connect.migration.AppInfoMigrationPayload.Builder setPackageName(@NonNull String);
9476  }
9477
9478  public final class MetadataMigrationPayload extends android.health.connect.migration.MigrationPayload implements android.os.Parcelable {
9479    method public int getRecordRetentionPeriodDays();
9480    method public void writeToParcel(@NonNull android.os.Parcel, int);
9481    field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.migration.MetadataMigrationPayload> CREATOR;
9482  }
9483
9484  public static final class MetadataMigrationPayload.Builder {
9485    ctor public MetadataMigrationPayload.Builder();
9486    method @NonNull public android.health.connect.migration.MetadataMigrationPayload build();
9487    method @NonNull public android.health.connect.migration.MetadataMigrationPayload.Builder setRecordRetentionPeriodDays(@IntRange(from=0x0, to=0x1c84) int);
9488  }
9489
9490  public final class MigrationEntity implements android.os.Parcelable {
9491    ctor public MigrationEntity(@NonNull String, @NonNull android.health.connect.migration.MigrationPayload);
9492    method public int describeContents();
9493    method @NonNull public String getEntityId();
9494    method @NonNull public android.health.connect.migration.MigrationPayload getPayload();
9495    method public void writeToParcel(@NonNull android.os.Parcel, int);
9496    field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.migration.MigrationEntity> CREATOR;
9497  }
9498
9499  public final class MigrationException extends java.lang.RuntimeException implements android.os.Parcelable {
9500    ctor public MigrationException(@Nullable String, int, @Nullable String);
9501    method public int describeContents();
9502    method public int getErrorCode();
9503    method @Nullable public String getFailedEntityId();
9504    method public void writeToParcel(@NonNull android.os.Parcel, int);
9505    field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.migration.MigrationException> CREATOR;
9506    field public static final int ERROR_INTERNAL = 1; // 0x1
9507    field public static final int ERROR_MIGRATE_ENTITY = 2; // 0x2
9508    field public static final int ERROR_MIGRATION_UNAVAILABLE = 3; // 0x3
9509  }
9510
9511  public abstract class MigrationPayload implements android.os.Parcelable {
9512    method public int describeContents();
9513    field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.migration.MigrationPayload> CREATOR;
9514  }
9515
9516  public final class PermissionMigrationPayload extends android.health.connect.migration.MigrationPayload implements android.os.Parcelable {
9517    method @NonNull public java.time.Instant getFirstGrantTime();
9518    method @NonNull public String getHoldingPackageName();
9519    method @NonNull public java.util.List<java.lang.String> getPermissions();
9520    method public void writeToParcel(@NonNull android.os.Parcel, int);
9521    field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.migration.PermissionMigrationPayload> CREATOR;
9522  }
9523
9524  public static final class PermissionMigrationPayload.Builder {
9525    ctor public PermissionMigrationPayload.Builder(@NonNull String, @NonNull java.time.Instant);
9526    method @NonNull public android.health.connect.migration.PermissionMigrationPayload.Builder addPermission(@NonNull String);
9527    method @NonNull public android.health.connect.migration.PermissionMigrationPayload build();
9528    method @NonNull public android.health.connect.migration.PermissionMigrationPayload.Builder setFirstGrantTime(@NonNull java.time.Instant);
9529    method @NonNull public android.health.connect.migration.PermissionMigrationPayload.Builder setHoldingPackageName(@NonNull String);
9530  }
9531
9532  public final class PriorityMigrationPayload extends android.health.connect.migration.MigrationPayload implements android.os.Parcelable {
9533    method public int getDataCategory();
9534    method @NonNull public java.util.List<android.health.connect.datatypes.DataOrigin> getDataOrigins();
9535    method public void writeToParcel(@NonNull android.os.Parcel, int);
9536    field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.migration.PriorityMigrationPayload> CREATOR;
9537  }
9538
9539  public static final class PriorityMigrationPayload.Builder {
9540    ctor public PriorityMigrationPayload.Builder();
9541    method @NonNull public android.health.connect.migration.PriorityMigrationPayload.Builder addDataOrigin(@NonNull android.health.connect.datatypes.DataOrigin);
9542    method @NonNull public android.health.connect.migration.PriorityMigrationPayload build();
9543    method @NonNull public android.health.connect.migration.PriorityMigrationPayload.Builder setDataCategory(int);
9544  }
9545
9546  public final class RecordMigrationPayload extends android.health.connect.migration.MigrationPayload implements android.os.Parcelable {
9547    method @NonNull public String getOriginAppName();
9548    method @NonNull public String getOriginPackageName();
9549    method @NonNull public android.health.connect.datatypes.Record getRecord();
9550    method public void writeToParcel(@NonNull android.os.Parcel, int);
9551    field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.migration.RecordMigrationPayload> CREATOR;
9552  }
9553
9554  public static final class RecordMigrationPayload.Builder {
9555    ctor public RecordMigrationPayload.Builder(@NonNull String, @NonNull String, @NonNull android.health.connect.datatypes.Record);
9556    method @NonNull public android.health.connect.migration.RecordMigrationPayload build();
9557    method @NonNull public android.health.connect.migration.RecordMigrationPayload.Builder setOriginAppName(@NonNull String);
9558    method @NonNull public android.health.connect.migration.RecordMigrationPayload.Builder setOriginPackageName(@NonNull String);
9559    method @NonNull public android.health.connect.migration.RecordMigrationPayload.Builder setRecord(@NonNull android.health.connect.datatypes.Record);
9560  }
9561
9562}
9563
9564package android.health.connect.restore {
9565
9566  public final class StageRemoteDataException extends java.lang.RuntimeException implements android.os.Parcelable {
9567    method public int describeContents();
9568    method @NonNull public java.util.Map<java.lang.String,android.health.connect.HealthConnectException> getExceptionsByFileNames();
9569    method public void writeToParcel(@NonNull android.os.Parcel, int);
9570    field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.restore.StageRemoteDataException> CREATOR;
9571  }
9572
9573}
9574
9575package android.location {
9576
9577  public abstract class BatchedLocationCallback {
9578    ctor public BatchedLocationCallback();
9579    method public void onLocationBatch(java.util.List<android.location.Location>);
9580  }
9581
9582  public final class CorrelationVector implements android.os.Parcelable {
9583    method public int describeContents();
9584    method @FloatRange(from=0.0f) public double getFrequencyOffsetMetersPerSecond();
9585    method @NonNull public int[] getMagnitude();
9586    method @FloatRange(from=0.0f) public double getSamplingStartMeters();
9587    method @FloatRange(from=0.0f, fromInclusive=false) public double getSamplingWidthMeters();
9588    method public void writeToParcel(@NonNull android.os.Parcel, int);
9589    field @NonNull public static final android.os.Parcelable.Creator<android.location.CorrelationVector> CREATOR;
9590  }
9591
9592  public static final class CorrelationVector.Builder {
9593    ctor public CorrelationVector.Builder();
9594    method @NonNull public android.location.CorrelationVector build();
9595    method @NonNull public android.location.CorrelationVector.Builder setFrequencyOffsetMetersPerSecond(@FloatRange(from=0.0f) double);
9596    method @NonNull public android.location.CorrelationVector.Builder setMagnitude(@NonNull int[]);
9597    method @NonNull public android.location.CorrelationVector.Builder setSamplingStartMeters(@FloatRange(from=0.0f) double);
9598    method @NonNull public android.location.CorrelationVector.Builder setSamplingWidthMeters(@FloatRange(from=0.0f, fromInclusive=false) double);
9599  }
9600
9601  public final class Country implements android.os.Parcelable {
9602    ctor public Country(@NonNull String, int);
9603    method public int describeContents();
9604    method @NonNull public String getCountryCode();
9605    method public int getSource();
9606    method public void writeToParcel(@NonNull android.os.Parcel, int);
9607    field public static final int COUNTRY_SOURCE_LOCALE = 3; // 0x3
9608    field public static final int COUNTRY_SOURCE_LOCATION = 1; // 0x1
9609    field public static final int COUNTRY_SOURCE_NETWORK = 0; // 0x0
9610    field public static final int COUNTRY_SOURCE_SIM = 2; // 0x2
9611    field @NonNull public static final android.os.Parcelable.Creator<android.location.Country> CREATOR;
9612  }
9613
9614  public class CountryDetector {
9615    method public void registerCountryDetectorCallback(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.location.Country>);
9616    method public void unregisterCountryDetectorCallback(@NonNull java.util.function.Consumer<android.location.Country>);
9617  }
9618
9619  public final class GnssCapabilities implements android.os.Parcelable {
9620    method @Deprecated public boolean hasMeasurementCorrectionsReflectingPane();
9621    method @Deprecated public boolean hasNavMessages();
9622    method @Deprecated public boolean hasSatelliteBlacklist();
9623  }
9624
9625  public final class GnssExcessPathInfo implements android.os.Parcelable {
9626    method public int describeContents();
9627    method @FloatRange(from=0.0f) public float getAttenuationDb();
9628    method @FloatRange(from=0.0f) public float getExcessPathLengthMeters();
9629    method @FloatRange(from=0.0f) public float getExcessPathLengthUncertaintyMeters();
9630    method @NonNull public android.location.GnssReflectingPlane getReflectingPlane();
9631    method public boolean hasAttenuation();
9632    method public boolean hasExcessPathLength();
9633    method public boolean hasExcessPathLengthUncertainty();
9634    method public boolean hasReflectingPlane();
9635    method public void writeToParcel(@NonNull android.os.Parcel, int);
9636    field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssExcessPathInfo> CREATOR;
9637  }
9638
9639  public static final class GnssExcessPathInfo.Builder {
9640    ctor public GnssExcessPathInfo.Builder();
9641    method @NonNull public android.location.GnssExcessPathInfo build();
9642    method @NonNull public android.location.GnssExcessPathInfo.Builder clearAttenuationDb();
9643    method @NonNull public android.location.GnssExcessPathInfo.Builder clearExcessPathLengthMeters();
9644    method @NonNull public android.location.GnssExcessPathInfo.Builder clearExcessPathLengthUncertaintyMeters();
9645    method @NonNull public android.location.GnssExcessPathInfo.Builder setAttenuationDb(@FloatRange(from=0.0f) float);
9646    method @NonNull public android.location.GnssExcessPathInfo.Builder setExcessPathLengthMeters(@FloatRange(from=0.0f) float);
9647    method @NonNull public android.location.GnssExcessPathInfo.Builder setExcessPathLengthUncertaintyMeters(@FloatRange(from=0.0f) float);
9648    method @NonNull public android.location.GnssExcessPathInfo.Builder setReflectingPlane(@Nullable android.location.GnssReflectingPlane);
9649  }
9650
9651  public final class GnssMeasurement implements android.os.Parcelable {
9652    method @Nullable public java.util.Collection<android.location.CorrelationVector> getCorrelationVectors();
9653    method @Nullable public android.location.SatellitePvt getSatellitePvt();
9654    method public boolean hasCorrelationVectors();
9655    method public boolean hasSatellitePvt();
9656  }
9657
9658  public final class GnssMeasurementCorrections implements android.os.Parcelable {
9659    method public int describeContents();
9660    method @FloatRange(from=-1000.0F, to=10000.0f) public double getAltitudeMeters();
9661    method @FloatRange(from=0.0f, to=360.0f) public float getEnvironmentBearingDegrees();
9662    method @FloatRange(from=0.0f, to=180.0f) public float getEnvironmentBearingUncertaintyDegrees();
9663    method @FloatRange(from=0.0f) public double getHorizontalPositionUncertaintyMeters();
9664    method @FloatRange(from=-90.0F, to=90.0f) public double getLatitudeDegrees();
9665    method @FloatRange(from=-180.0F, to=180.0f) public double getLongitudeDegrees();
9666    method @NonNull public java.util.List<android.location.GnssSingleSatCorrection> getSingleSatelliteCorrectionList();
9667    method @IntRange(from=0) public long getToaGpsNanosecondsOfWeek();
9668    method @FloatRange(from=0.0f) public double getVerticalPositionUncertaintyMeters();
9669    method public boolean hasEnvironmentBearing();
9670    method public void writeToParcel(@NonNull android.os.Parcel, int);
9671    field public static final android.os.Parcelable.Creator<android.location.GnssMeasurementCorrections> CREATOR;
9672  }
9673
9674  public static final class GnssMeasurementCorrections.Builder {
9675    ctor public GnssMeasurementCorrections.Builder();
9676    method @NonNull public android.location.GnssMeasurementCorrections build();
9677    method @NonNull public android.location.GnssMeasurementCorrections.Builder setAltitudeMeters(@FloatRange(from=-1000.0F, to=10000.0f) double);
9678    method @NonNull public android.location.GnssMeasurementCorrections.Builder setEnvironmentBearingDegrees(@FloatRange(from=0.0f, to=360.0f) float);
9679    method @NonNull public android.location.GnssMeasurementCorrections.Builder setEnvironmentBearingUncertaintyDegrees(@FloatRange(from=0.0f, to=180.0f) float);
9680    method @NonNull public android.location.GnssMeasurementCorrections.Builder setHorizontalPositionUncertaintyMeters(@FloatRange(from=0.0f) double);
9681    method @NonNull public android.location.GnssMeasurementCorrections.Builder setLatitudeDegrees(@FloatRange(from=-90.0F, to=90.0f) double);
9682    method @NonNull public android.location.GnssMeasurementCorrections.Builder setLongitudeDegrees(@FloatRange(from=-180.0F, to=180.0f) double);
9683    method @NonNull public android.location.GnssMeasurementCorrections.Builder setSingleSatelliteCorrectionList(@NonNull java.util.List<android.location.GnssSingleSatCorrection>);
9684    method @NonNull public android.location.GnssMeasurementCorrections.Builder setToaGpsNanosecondsOfWeek(@IntRange(from=0) long);
9685    method @NonNull public android.location.GnssMeasurementCorrections.Builder setVerticalPositionUncertaintyMeters(@FloatRange(from=0.0f) double);
9686  }
9687
9688  public final class GnssMeasurementRequest implements android.os.Parcelable {
9689    method @NonNull public android.os.WorkSource getWorkSource();
9690    method public boolean isCorrelationVectorOutputsEnabled();
9691  }
9692
9693  public static final class GnssMeasurementRequest.Builder {
9694    method @NonNull public android.location.GnssMeasurementRequest.Builder setCorrelationVectorOutputsEnabled(boolean);
9695    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public android.location.GnssMeasurementRequest.Builder setWorkSource(@Nullable android.os.WorkSource);
9696  }
9697
9698  public final class GnssReflectingPlane implements android.os.Parcelable {
9699    method public int describeContents();
9700    method @FloatRange(from=-1000.0F, to=10000.0f) public double getAltitudeMeters();
9701    method @FloatRange(from=0.0f, to=360.0f) public double getAzimuthDegrees();
9702    method @FloatRange(from=-90.0F, to=90.0f) public double getLatitudeDegrees();
9703    method @FloatRange(from=-180.0F, to=180.0f) public double getLongitudeDegrees();
9704    method public void writeToParcel(@NonNull android.os.Parcel, int);
9705    field public static final android.os.Parcelable.Creator<android.location.GnssReflectingPlane> CREATOR;
9706  }
9707
9708  public static final class GnssReflectingPlane.Builder {
9709    ctor public GnssReflectingPlane.Builder();
9710    method @NonNull public android.location.GnssReflectingPlane build();
9711    method @NonNull public android.location.GnssReflectingPlane.Builder setAltitudeMeters(@FloatRange(from=-1000.0F, to=10000.0f) double);
9712    method @NonNull public android.location.GnssReflectingPlane.Builder setAzimuthDegrees(@FloatRange(from=0.0f, to=360.0f) double);
9713    method @NonNull public android.location.GnssReflectingPlane.Builder setLatitudeDegrees(@FloatRange(from=-90.0F, to=90.0f) double);
9714    method @NonNull public android.location.GnssReflectingPlane.Builder setLongitudeDegrees(@FloatRange(from=-180.0F, to=180.0f) double);
9715  }
9716
9717  public final class GnssRequest implements android.os.Parcelable {
9718    method public int describeContents();
9719    method public boolean isFullTracking();
9720    method public void writeToParcel(@NonNull android.os.Parcel, int);
9721    field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssRequest> CREATOR;
9722  }
9723
9724  public static final class GnssRequest.Builder {
9725    ctor public GnssRequest.Builder();
9726    ctor public GnssRequest.Builder(@NonNull android.location.GnssRequest);
9727    method @NonNull public android.location.GnssRequest build();
9728    method @NonNull public android.location.GnssRequest.Builder setFullTracking(boolean);
9729  }
9730
9731  public final class GnssSingleSatCorrection implements android.os.Parcelable {
9732    method public int describeContents();
9733    method @FloatRange(from=0.0f, fromInclusive=false) public float getCarrierFrequencyHz();
9734    method @FloatRange(from=0.0f) public float getCombinedAttenuationDb();
9735    method public int getConstellationType();
9736    method @FloatRange(from=0.0f) public float getExcessPathLengthMeters();
9737    method @FloatRange(from=0.0f) public float getExcessPathLengthUncertaintyMeters();
9738    method @NonNull public java.util.List<android.location.GnssExcessPathInfo> getGnssExcessPathInfoList();
9739    method @FloatRange(from=0.0f, to=1.0f) public float getProbabilityLineOfSight();
9740    method @Deprecated @Nullable public android.location.GnssReflectingPlane getReflectingPlane();
9741    method @IntRange(from=0) public int getSatelliteId();
9742    method public boolean hasCombinedAttenuation();
9743    method public boolean hasExcessPathLength();
9744    method public boolean hasExcessPathLengthUncertainty();
9745    method @Deprecated public boolean hasReflectingPlane();
9746    method public boolean hasValidSatelliteLineOfSight();
9747    method public void writeToParcel(@NonNull android.os.Parcel, int);
9748    field public static final android.os.Parcelable.Creator<android.location.GnssSingleSatCorrection> CREATOR;
9749  }
9750
9751  public static final class GnssSingleSatCorrection.Builder {
9752    ctor public GnssSingleSatCorrection.Builder();
9753    method @NonNull public android.location.GnssSingleSatCorrection build();
9754    method @NonNull public android.location.GnssSingleSatCorrection.Builder clearCombinedAttenuationDb();
9755    method @NonNull public android.location.GnssSingleSatCorrection.Builder clearExcessPathLengthMeters();
9756    method @NonNull public android.location.GnssSingleSatCorrection.Builder clearExcessPathLengthUncertaintyMeters();
9757    method @NonNull public android.location.GnssSingleSatCorrection.Builder clearProbabilityLineOfSight();
9758    method @NonNull public android.location.GnssSingleSatCorrection.Builder setCarrierFrequencyHz(@FloatRange(from=0.0f, fromInclusive=false) float);
9759    method @NonNull public android.location.GnssSingleSatCorrection.Builder setCombinedAttenuationDb(@FloatRange(from=0.0f) float);
9760    method @NonNull public android.location.GnssSingleSatCorrection.Builder setConstellationType(int);
9761    method @NonNull public android.location.GnssSingleSatCorrection.Builder setExcessPathLengthMeters(@FloatRange(from=0.0f) float);
9762    method @NonNull public android.location.GnssSingleSatCorrection.Builder setExcessPathLengthUncertaintyMeters(@FloatRange(from=0.0f) float);
9763    method @NonNull public android.location.GnssSingleSatCorrection.Builder setGnssExcessPathInfoList(@NonNull java.util.List<android.location.GnssExcessPathInfo>);
9764    method @NonNull public android.location.GnssSingleSatCorrection.Builder setProbabilityLineOfSight(@FloatRange(from=0.0f, to=1.0f) float);
9765    method @Deprecated @NonNull public android.location.GnssSingleSatCorrection.Builder setReflectingPlane(@Nullable android.location.GnssReflectingPlane);
9766    method @NonNull public android.location.GnssSingleSatCorrection.Builder setSatelliteId(@IntRange(from=0) int);
9767  }
9768
9769  @Deprecated public class GpsClock implements android.os.Parcelable {
9770    method @Deprecated public int describeContents();
9771    method @Deprecated public double getBiasInNs();
9772    method @Deprecated public double getBiasUncertaintyInNs();
9773    method @Deprecated public double getDriftInNsPerSec();
9774    method @Deprecated public double getDriftUncertaintyInNsPerSec();
9775    method @Deprecated public long getFullBiasInNs();
9776    method @Deprecated public short getLeapSecond();
9777    method @Deprecated public long getTimeInNs();
9778    method @Deprecated public double getTimeUncertaintyInNs();
9779    method @Deprecated public byte getType();
9780    method @Deprecated public boolean hasBiasInNs();
9781    method @Deprecated public boolean hasBiasUncertaintyInNs();
9782    method @Deprecated public boolean hasDriftInNsPerSec();
9783    method @Deprecated public boolean hasDriftUncertaintyInNsPerSec();
9784    method @Deprecated public boolean hasFullBiasInNs();
9785    method @Deprecated public boolean hasLeapSecond();
9786    method @Deprecated public boolean hasTimeUncertaintyInNs();
9787    method @Deprecated public void reset();
9788    method @Deprecated public void resetBiasInNs();
9789    method @Deprecated public void resetBiasUncertaintyInNs();
9790    method @Deprecated public void resetDriftInNsPerSec();
9791    method @Deprecated public void resetDriftUncertaintyInNsPerSec();
9792    method @Deprecated public void resetFullBiasInNs();
9793    method @Deprecated public void resetLeapSecond();
9794    method @Deprecated public void resetTimeUncertaintyInNs();
9795    method @Deprecated public void set(android.location.GpsClock);
9796    method @Deprecated public void setBiasInNs(double);
9797    method @Deprecated public void setBiasUncertaintyInNs(double);
9798    method @Deprecated public void setDriftInNsPerSec(double);
9799    method @Deprecated public void setDriftUncertaintyInNsPerSec(double);
9800    method @Deprecated public void setFullBiasInNs(long);
9801    method @Deprecated public void setLeapSecond(short);
9802    method @Deprecated public void setTimeInNs(long);
9803    method @Deprecated public void setTimeUncertaintyInNs(double);
9804    method @Deprecated public void setType(byte);
9805    method @Deprecated public void writeToParcel(android.os.Parcel, int);
9806    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsClock> CREATOR;
9807    field @Deprecated public static final byte TYPE_GPS_TIME = 2; // 0x2
9808    field @Deprecated public static final byte TYPE_LOCAL_HW_TIME = 1; // 0x1
9809    field @Deprecated public static final byte TYPE_UNKNOWN = 0; // 0x0
9810  }
9811
9812  @Deprecated public class GpsMeasurement implements android.os.Parcelable {
9813    method @Deprecated public int describeContents();
9814    method @Deprecated public double getAccumulatedDeltaRangeInMeters();
9815    method @Deprecated public short getAccumulatedDeltaRangeState();
9816    method @Deprecated public double getAccumulatedDeltaRangeUncertaintyInMeters();
9817    method @Deprecated public double getAzimuthInDeg();
9818    method @Deprecated public double getAzimuthUncertaintyInDeg();
9819    method @Deprecated public int getBitNumber();
9820    method @Deprecated public long getCarrierCycles();
9821    method @Deprecated public float getCarrierFrequencyInHz();
9822    method @Deprecated public double getCarrierPhase();
9823    method @Deprecated public double getCarrierPhaseUncertainty();
9824    method @Deprecated public double getCn0InDbHz();
9825    method @Deprecated public double getCodePhaseInChips();
9826    method @Deprecated public double getCodePhaseUncertaintyInChips();
9827    method @Deprecated public double getDopplerShiftInHz();
9828    method @Deprecated public double getDopplerShiftUncertaintyInHz();
9829    method @Deprecated public double getElevationInDeg();
9830    method @Deprecated public double getElevationUncertaintyInDeg();
9831    method @Deprecated public byte getLossOfLock();
9832    method @Deprecated public byte getMultipathIndicator();
9833    method @Deprecated public byte getPrn();
9834    method @Deprecated public double getPseudorangeInMeters();
9835    method @Deprecated public double getPseudorangeRateInMetersPerSec();
9836    method @Deprecated public double getPseudorangeRateUncertaintyInMetersPerSec();
9837    method @Deprecated public double getPseudorangeUncertaintyInMeters();
9838    method @Deprecated public long getReceivedGpsTowInNs();
9839    method @Deprecated public long getReceivedGpsTowUncertaintyInNs();
9840    method @Deprecated public double getSnrInDb();
9841    method @Deprecated public short getState();
9842    method @Deprecated public short getTimeFromLastBitInMs();
9843    method @Deprecated public double getTimeOffsetInNs();
9844    method @Deprecated public boolean hasAzimuthInDeg();
9845    method @Deprecated public boolean hasAzimuthUncertaintyInDeg();
9846    method @Deprecated public boolean hasBitNumber();
9847    method @Deprecated public boolean hasCarrierCycles();
9848    method @Deprecated public boolean hasCarrierFrequencyInHz();
9849    method @Deprecated public boolean hasCarrierPhase();
9850    method @Deprecated public boolean hasCarrierPhaseUncertainty();
9851    method @Deprecated public boolean hasCodePhaseInChips();
9852    method @Deprecated public boolean hasCodePhaseUncertaintyInChips();
9853    method @Deprecated public boolean hasDopplerShiftInHz();
9854    method @Deprecated public boolean hasDopplerShiftUncertaintyInHz();
9855    method @Deprecated public boolean hasElevationInDeg();
9856    method @Deprecated public boolean hasElevationUncertaintyInDeg();
9857    method @Deprecated public boolean hasPseudorangeInMeters();
9858    method @Deprecated public boolean hasPseudorangeUncertaintyInMeters();
9859    method @Deprecated public boolean hasSnrInDb();
9860    method @Deprecated public boolean hasTimeFromLastBitInMs();
9861    method @Deprecated public boolean isPseudorangeRateCorrected();
9862    method @Deprecated public boolean isUsedInFix();
9863    method @Deprecated public void reset();
9864    method @Deprecated public void resetAzimuthInDeg();
9865    method @Deprecated public void resetAzimuthUncertaintyInDeg();
9866    method @Deprecated public void resetBitNumber();
9867    method @Deprecated public void resetCarrierCycles();
9868    method @Deprecated public void resetCarrierFrequencyInHz();
9869    method @Deprecated public void resetCarrierPhase();
9870    method @Deprecated public void resetCarrierPhaseUncertainty();
9871    method @Deprecated public void resetCodePhaseInChips();
9872    method @Deprecated public void resetCodePhaseUncertaintyInChips();
9873    method @Deprecated public void resetDopplerShiftInHz();
9874    method @Deprecated public void resetDopplerShiftUncertaintyInHz();
9875    method @Deprecated public void resetElevationInDeg();
9876    method @Deprecated public void resetElevationUncertaintyInDeg();
9877    method @Deprecated public void resetPseudorangeInMeters();
9878    method @Deprecated public void resetPseudorangeUncertaintyInMeters();
9879    method @Deprecated public void resetSnrInDb();
9880    method @Deprecated public void resetTimeFromLastBitInMs();
9881    method @Deprecated public void set(android.location.GpsMeasurement);
9882    method @Deprecated public void setAccumulatedDeltaRangeInMeters(double);
9883    method @Deprecated public void setAccumulatedDeltaRangeState(short);
9884    method @Deprecated public void setAccumulatedDeltaRangeUncertaintyInMeters(double);
9885    method @Deprecated public void setAzimuthInDeg(double);
9886    method @Deprecated public void setAzimuthUncertaintyInDeg(double);
9887    method @Deprecated public void setBitNumber(int);
9888    method @Deprecated public void setCarrierCycles(long);
9889    method @Deprecated public void setCarrierFrequencyInHz(float);
9890    method @Deprecated public void setCarrierPhase(double);
9891    method @Deprecated public void setCarrierPhaseUncertainty(double);
9892    method @Deprecated public void setCn0InDbHz(double);
9893    method @Deprecated public void setCodePhaseInChips(double);
9894    method @Deprecated public void setCodePhaseUncertaintyInChips(double);
9895    method @Deprecated public void setDopplerShiftInHz(double);
9896    method @Deprecated public void setDopplerShiftUncertaintyInHz(double);
9897    method @Deprecated public void setElevationInDeg(double);
9898    method @Deprecated public void setElevationUncertaintyInDeg(double);
9899    method @Deprecated public void setLossOfLock(byte);
9900    method @Deprecated public void setMultipathIndicator(byte);
9901    method @Deprecated public void setPrn(byte);
9902    method @Deprecated public void setPseudorangeInMeters(double);
9903    method @Deprecated public void setPseudorangeRateInMetersPerSec(double);
9904    method @Deprecated public void setPseudorangeRateUncertaintyInMetersPerSec(double);
9905    method @Deprecated public void setPseudorangeUncertaintyInMeters(double);
9906    method @Deprecated public void setReceivedGpsTowInNs(long);
9907    method @Deprecated public void setReceivedGpsTowUncertaintyInNs(long);
9908    method @Deprecated public void setSnrInDb(double);
9909    method @Deprecated public void setState(short);
9910    method @Deprecated public void setTimeFromLastBitInMs(short);
9911    method @Deprecated public void setTimeOffsetInNs(double);
9912    method @Deprecated public void setUsedInFix(boolean);
9913    method @Deprecated public void writeToParcel(android.os.Parcel, int);
9914    field @Deprecated public static final short ADR_STATE_CYCLE_SLIP = 4; // 0x4
9915    field @Deprecated public static final short ADR_STATE_RESET = 2; // 0x2
9916    field @Deprecated public static final short ADR_STATE_UNKNOWN = 0; // 0x0
9917    field @Deprecated public static final short ADR_STATE_VALID = 1; // 0x1
9918    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsMeasurement> CREATOR;
9919    field @Deprecated public static final byte LOSS_OF_LOCK_CYCLE_SLIP = 2; // 0x2
9920    field @Deprecated public static final byte LOSS_OF_LOCK_OK = 1; // 0x1
9921    field @Deprecated public static final byte LOSS_OF_LOCK_UNKNOWN = 0; // 0x0
9922    field @Deprecated public static final byte MULTIPATH_INDICATOR_DETECTED = 1; // 0x1
9923    field @Deprecated public static final byte MULTIPATH_INDICATOR_NOT_USED = 2; // 0x2
9924    field @Deprecated public static final byte MULTIPATH_INDICATOR_UNKNOWN = 0; // 0x0
9925    field @Deprecated public static final short STATE_BIT_SYNC = 2; // 0x2
9926    field @Deprecated public static final short STATE_CODE_LOCK = 1; // 0x1
9927    field @Deprecated public static final short STATE_MSEC_AMBIGUOUS = 16; // 0x10
9928    field @Deprecated public static final short STATE_SUBFRAME_SYNC = 4; // 0x4
9929    field @Deprecated public static final short STATE_TOW_DECODED = 8; // 0x8
9930    field @Deprecated public static final short STATE_UNKNOWN = 0; // 0x0
9931  }
9932
9933  @Deprecated public class GpsMeasurementsEvent implements android.os.Parcelable {
9934    ctor @Deprecated public GpsMeasurementsEvent(android.location.GpsClock, android.location.GpsMeasurement[]);
9935    method @Deprecated public int describeContents();
9936    method @Deprecated @NonNull public android.location.GpsClock getClock();
9937    method @Deprecated @NonNull public java.util.Collection<android.location.GpsMeasurement> getMeasurements();
9938    method @Deprecated public void writeToParcel(android.os.Parcel, int);
9939    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsMeasurementsEvent> CREATOR;
9940    field @Deprecated public static final int STATUS_GPS_LOCATION_DISABLED = 2; // 0x2
9941    field @Deprecated public static final int STATUS_NOT_SUPPORTED = 0; // 0x0
9942    field @Deprecated public static final int STATUS_READY = 1; // 0x1
9943  }
9944
9945  @Deprecated public static interface GpsMeasurementsEvent.Listener {
9946    method @Deprecated public void onGpsMeasurementsReceived(android.location.GpsMeasurementsEvent);
9947    method @Deprecated public void onStatusChanged(int);
9948  }
9949
9950  @Deprecated public class GpsNavigationMessage implements android.os.Parcelable {
9951    method @Deprecated public int describeContents();
9952    method @Deprecated @NonNull public byte[] getData();
9953    method @Deprecated public short getMessageId();
9954    method @Deprecated public byte getPrn();
9955    method @Deprecated public short getStatus();
9956    method @Deprecated public short getSubmessageId();
9957    method @Deprecated public byte getType();
9958    method @Deprecated public void reset();
9959    method @Deprecated public void set(android.location.GpsNavigationMessage);
9960    method @Deprecated public void setData(byte[]);
9961    method @Deprecated public void setMessageId(short);
9962    method @Deprecated public void setPrn(byte);
9963    method @Deprecated public void setStatus(short);
9964    method @Deprecated public void setSubmessageId(short);
9965    method @Deprecated public void setType(byte);
9966    method @Deprecated public void writeToParcel(android.os.Parcel, int);
9967    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsNavigationMessage> CREATOR;
9968    field @Deprecated public static final short STATUS_PARITY_PASSED = 1; // 0x1
9969    field @Deprecated public static final short STATUS_PARITY_REBUILT = 2; // 0x2
9970    field @Deprecated public static final short STATUS_UNKNOWN = 0; // 0x0
9971    field @Deprecated public static final byte TYPE_CNAV2 = 4; // 0x4
9972    field @Deprecated public static final byte TYPE_L1CA = 1; // 0x1
9973    field @Deprecated public static final byte TYPE_L2CNAV = 2; // 0x2
9974    field @Deprecated public static final byte TYPE_L5CNAV = 3; // 0x3
9975    field @Deprecated public static final byte TYPE_UNKNOWN = 0; // 0x0
9976  }
9977
9978  @Deprecated public class GpsNavigationMessageEvent implements android.os.Parcelable {
9979    ctor @Deprecated public GpsNavigationMessageEvent(android.location.GpsNavigationMessage);
9980    method @Deprecated public int describeContents();
9981    method @Deprecated @NonNull public android.location.GpsNavigationMessage getNavigationMessage();
9982    method @Deprecated public void writeToParcel(android.os.Parcel, int);
9983    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsNavigationMessageEvent> CREATOR;
9984    field @Deprecated public static int STATUS_GPS_LOCATION_DISABLED;
9985    field @Deprecated public static int STATUS_NOT_SUPPORTED;
9986    field @Deprecated public static int STATUS_READY;
9987  }
9988
9989  @Deprecated public static interface GpsNavigationMessageEvent.Listener {
9990    method @Deprecated public void onGpsNavigationMessageReceived(android.location.GpsNavigationMessageEvent);
9991    method @Deprecated public void onStatusChanged(int);
9992  }
9993
9994  public final class LastLocationRequest implements android.os.Parcelable {
9995    method public int describeContents();
9996    method public boolean isAdasGnssBypass();
9997    method public boolean isHiddenFromAppOps();
9998    method public boolean isLocationSettingsIgnored();
9999    method public void writeToParcel(@NonNull android.os.Parcel, int);
10000    field @NonNull public static final android.os.Parcelable.Creator<android.location.LastLocationRequest> CREATOR;
10001  }
10002
10003  public static final class LastLocationRequest.Builder {
10004    ctor public LastLocationRequest.Builder();
10005    ctor public LastLocationRequest.Builder(@NonNull android.location.LastLocationRequest);
10006    method @NonNull public android.location.LastLocationRequest build();
10007    method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_BYPASS) public android.location.LastLocationRequest.Builder setAdasGnssBypass(boolean);
10008    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_APP_OPS_STATS) public android.location.LastLocationRequest.Builder setHiddenFromAppOps(boolean);
10009    method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_BYPASS) public android.location.LastLocationRequest.Builder setLocationSettingsIgnored(boolean);
10010  }
10011
10012  public class Location implements android.os.Parcelable {
10013    method public void makeComplete();
10014    method @Deprecated public void setIsFromMockProvider(boolean);
10015    field @Deprecated public static final String EXTRA_NO_GPS_LOCATION = "noGPSLocation";
10016  }
10017
10018  public class LocationManager {
10019    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);
10020    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void flushGnssBatch();
10021    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>);
10022    method @Nullable public String getExtraLocationControllerPackage();
10023    method @Deprecated public int getGnssBatchSize();
10024    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);
10025    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public void injectGnssMeasurementCorrections(@NonNull android.location.GnssMeasurementCorrections);
10026    method public boolean isAdasGnssLocationEnabled();
10027    method public boolean isExtraLocationControllerPackageEnabled();
10028    method public boolean isLocationEnabledForUser(@NonNull android.os.UserHandle);
10029    method public boolean isProviderEnabledForUser(@NonNull String, @NonNull android.os.UserHandle);
10030    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public boolean isProviderPackage(@NonNull String);
10031    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public boolean isProviderPackage(@Nullable String, @NonNull String, @Nullable String);
10032    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);
10033    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);
10034    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void removeProviderRequestChangedListener(@NonNull android.location.provider.ProviderRequest.ChangedListener);
10035    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);
10036    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);
10037    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);
10038    method @RequiresPermission(android.Manifest.permission.LOCATION_BYPASS) public void setAdasGnssLocationEnabled(boolean);
10039    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void setExtraLocationControllerPackage(@Nullable String);
10040    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void setExtraLocationControllerPackageEnabled(boolean);
10041    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void setLocationEnabledForUser(boolean, @NonNull android.os.UserHandle);
10042    method @Deprecated @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean setProviderEnabledForUser(@NonNull String, boolean, @NonNull android.os.UserHandle);
10043    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public boolean unregisterGnssBatchedLocationCallback(@NonNull android.location.BatchedLocationCallback);
10044    field public static final String ACTION_ADAS_GNSS_ENABLED_CHANGED = "android.location.action.ADAS_GNSS_ENABLED_CHANGED";
10045    field public static final String EXTRA_ADAS_GNSS_ENABLED = "android.location.extra.ADAS_GNSS_ENABLED";
10046    field @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public static final String GPS_HARDWARE_PROVIDER = "gps_hardware";
10047  }
10048
10049  public final class LocationRequest implements android.os.Parcelable {
10050    method @Deprecated @NonNull public static android.location.LocationRequest create();
10051    method @Deprecated @NonNull public static android.location.LocationRequest createFromDeprecatedCriteria(@NonNull android.location.Criteria, long, float, boolean);
10052    method @Deprecated @NonNull public static android.location.LocationRequest createFromDeprecatedProvider(@NonNull String, long, float, boolean);
10053    method @Deprecated public long getExpireAt();
10054    method @Deprecated public long getExpireIn();
10055    method @Deprecated public long getFastestInterval();
10056    method @Deprecated public boolean getHideFromAppOps();
10057    method @Deprecated public long getInterval();
10058    method @Deprecated public int getNumUpdates();
10059    method @Deprecated @NonNull public String getProvider();
10060    method @Deprecated public float getSmallestDisplacement();
10061    method @NonNull public android.os.WorkSource getWorkSource();
10062    method public boolean isAdasGnssBypass();
10063    method public boolean isHiddenFromAppOps();
10064    method public boolean isLocationSettingsIgnored();
10065    method public boolean isLowPower();
10066    method @Deprecated public boolean isLowPowerMode();
10067    method @Deprecated @NonNull public android.location.LocationRequest setExpireAt(long);
10068    method @Deprecated @NonNull public android.location.LocationRequest setExpireIn(long);
10069    method @Deprecated @NonNull public android.location.LocationRequest setFastestInterval(long);
10070    method @Deprecated public void setHideFromAppOps(boolean);
10071    method @Deprecated @NonNull public android.location.LocationRequest setInterval(long);
10072    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_BYPASS) public android.location.LocationRequest setLocationSettingsIgnored(boolean);
10073    method @Deprecated @NonNull public android.location.LocationRequest setLowPowerMode(boolean);
10074    method @Deprecated @NonNull public android.location.LocationRequest setNumUpdates(int);
10075    method @Deprecated @NonNull public android.location.LocationRequest setProvider(@NonNull String);
10076    method @Deprecated @NonNull public android.location.LocationRequest setQuality(int);
10077    method @Deprecated @NonNull public android.location.LocationRequest setSmallestDisplacement(float);
10078    method @Deprecated public void setWorkSource(@Nullable android.os.WorkSource);
10079    field @Deprecated public static final int ACCURACY_BLOCK = 102; // 0x66
10080    field @Deprecated public static final int ACCURACY_CITY = 104; // 0x68
10081    field @Deprecated public static final int ACCURACY_FINE = 100; // 0x64
10082    field @Deprecated public static final int POWER_HIGH = 203; // 0xcb
10083    field @Deprecated public static final int POWER_LOW = 201; // 0xc9
10084    field @Deprecated public static final int POWER_NONE = 200; // 0xc8
10085  }
10086
10087  public static final class LocationRequest.Builder {
10088    method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_BYPASS) public android.location.LocationRequest.Builder setAdasGnssBypass(boolean);
10089    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_APP_OPS_STATS) public android.location.LocationRequest.Builder setHiddenFromAppOps(boolean);
10090    method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_BYPASS) public android.location.LocationRequest.Builder setLocationSettingsIgnored(boolean);
10091    method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public android.location.LocationRequest.Builder setLowPower(boolean);
10092    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public android.location.LocationRequest.Builder setWorkSource(@Nullable android.os.WorkSource);
10093  }
10094
10095  public final class SatellitePvt implements android.os.Parcelable {
10096    method public int describeContents();
10097    method @Nullable public android.location.SatellitePvt.ClockInfo getClockInfo();
10098    method public int getEphemerisSource();
10099    method @FloatRange public double getIonoDelayMeters();
10100    method @IntRange(from=0, to=1023) public int getIssueOfDataClock();
10101    method @IntRange(from=0, to=1023) public int getIssueOfDataEphemeris();
10102    method @Nullable public android.location.SatellitePvt.PositionEcef getPositionEcef();
10103    method @IntRange(from=0) public long getTimeOfClockSeconds();
10104    method @IntRange(from=0) public long getTimeOfEphemerisSeconds();
10105    method @FloatRange public double getTropoDelayMeters();
10106    method @Nullable public android.location.SatellitePvt.VelocityEcef getVelocityEcef();
10107    method public boolean hasIono();
10108    method public boolean hasIssueOfDataClock();
10109    method public boolean hasIssueOfDataEphemeris();
10110    method public boolean hasPositionVelocityClockInfo();
10111    method public boolean hasTimeOfClockSeconds();
10112    method public boolean hasTimeOfEphemerisSeconds();
10113    method public boolean hasTropo();
10114    method public void writeToParcel(@NonNull android.os.Parcel, int);
10115    field @NonNull public static final android.os.Parcelable.Creator<android.location.SatellitePvt> CREATOR;
10116    field public static final int EPHEMERIS_SOURCE_DEMODULATED = 0; // 0x0
10117    field public static final int EPHEMERIS_SOURCE_OTHER = 3; // 0x3
10118    field public static final int EPHEMERIS_SOURCE_SERVER_LONG_TERM = 2; // 0x2
10119    field public static final int EPHEMERIS_SOURCE_SERVER_NORMAL = 1; // 0x1
10120  }
10121
10122  public static final class SatellitePvt.Builder {
10123    ctor public SatellitePvt.Builder();
10124    method @NonNull public android.location.SatellitePvt build();
10125    method @NonNull public android.location.SatellitePvt.Builder setClockInfo(@NonNull android.location.SatellitePvt.ClockInfo);
10126    method @NonNull public android.location.SatellitePvt.Builder setEphemerisSource(int);
10127    method @NonNull public android.location.SatellitePvt.Builder setIonoDelayMeters(@FloatRange(from=0.0f, to=100.0f) double);
10128    method @NonNull public android.location.SatellitePvt.Builder setIssueOfDataClock(@IntRange(from=0, to=1023) int);
10129    method @NonNull public android.location.SatellitePvt.Builder setIssueOfDataEphemeris(@IntRange(from=0, to=1023) int);
10130    method @NonNull public android.location.SatellitePvt.Builder setPositionEcef(@NonNull android.location.SatellitePvt.PositionEcef);
10131    method @NonNull public android.location.SatellitePvt.Builder setTimeOfClockSeconds(@IntRange(from=0) long);
10132    method @NonNull public android.location.SatellitePvt.Builder setTimeOfEphemerisSeconds(@IntRange(from=0) long);
10133    method @NonNull public android.location.SatellitePvt.Builder setTropoDelayMeters(@FloatRange(from=0.0f, to=100.0f) double);
10134    method @NonNull public android.location.SatellitePvt.Builder setVelocityEcef(@NonNull android.location.SatellitePvt.VelocityEcef);
10135  }
10136
10137  public static final class SatellitePvt.ClockInfo implements android.os.Parcelable {
10138    ctor public SatellitePvt.ClockInfo(double, double, double);
10139    method public int describeContents();
10140    method @FloatRange public double getClockDriftMetersPerSecond();
10141    method @FloatRange public double getHardwareCodeBiasMeters();
10142    method @FloatRange public double getTimeCorrectionMeters();
10143    method public void writeToParcel(@NonNull android.os.Parcel, int);
10144    field @NonNull public static final android.os.Parcelable.Creator<android.location.SatellitePvt.ClockInfo> CREATOR;
10145  }
10146
10147  public static final class SatellitePvt.PositionEcef implements android.os.Parcelable {
10148    ctor public SatellitePvt.PositionEcef(double, double, double, double);
10149    method public int describeContents();
10150    method @FloatRange(from=0.0f, fromInclusive=false) public double getUreMeters();
10151    method @FloatRange public double getXMeters();
10152    method @FloatRange public double getYMeters();
10153    method @FloatRange public double getZMeters();
10154    method public void writeToParcel(@NonNull android.os.Parcel, int);
10155    field @NonNull public static final android.os.Parcelable.Creator<android.location.SatellitePvt.PositionEcef> CREATOR;
10156  }
10157
10158  public static final class SatellitePvt.VelocityEcef implements android.os.Parcelable {
10159    ctor public SatellitePvt.VelocityEcef(double, double, double, double);
10160    method public int describeContents();
10161    method @FloatRange(from=0.0f, fromInclusive=false) public double getUreRateMetersPerSecond();
10162    method @FloatRange public double getXMetersPerSecond();
10163    method @FloatRange public double getYMetersPerSecond();
10164    method @FloatRange public double getZMetersPerSecond();
10165    method public void writeToParcel(@NonNull android.os.Parcel, int);
10166    field @NonNull public static final android.os.Parcelable.Creator<android.location.SatellitePvt.VelocityEcef> CREATOR;
10167  }
10168
10169}
10170
10171package android.location.provider {
10172
10173  public final class ForwardGeocodeRequest implements android.os.Parcelable {
10174    method public int describeContents();
10175    method @Nullable public String getCallingAttributionTag();
10176    method @NonNull public String getCallingPackage();
10177    method public int getCallingUid();
10178    method @NonNull public java.util.Locale getLocale();
10179    method @NonNull public String getLocationName();
10180    method @FloatRange(from=-90.0, to=90.0) public double getLowerLeftLatitude();
10181    method @FloatRange(from=-180.0, to=180.0) public double getLowerLeftLongitude();
10182    method @IntRange(from=1) public int getMaxResults();
10183    method @FloatRange(from=-90.0, to=90.0) public double getUpperRightLatitude();
10184    method @FloatRange(from=-180.0, to=180.0) public double getUpperRightLongitude();
10185    method public void writeToParcel(@NonNull android.os.Parcel, int);
10186    field @NonNull public static final android.os.Parcelable.Creator<android.location.provider.ForwardGeocodeRequest> CREATOR;
10187  }
10188
10189  public static final class ForwardGeocodeRequest.Builder {
10190    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);
10191    method @NonNull public android.location.provider.ForwardGeocodeRequest build();
10192    method @NonNull public android.location.provider.ForwardGeocodeRequest.Builder setCallingAttributionTag(@NonNull String);
10193  }
10194
10195  public abstract class GeocodeProviderBase {
10196    ctor public GeocodeProviderBase(@NonNull android.content.Context, @NonNull String);
10197    method @NonNull public final android.os.IBinder getBinder();
10198    method public abstract void onForwardGeocode(@NonNull android.location.provider.ForwardGeocodeRequest, @NonNull android.os.OutcomeReceiver<java.util.List<android.location.Address>,java.lang.Throwable>);
10199    method public abstract void onReverseGeocode(@NonNull android.location.provider.ReverseGeocodeRequest, @NonNull android.os.OutcomeReceiver<java.util.List<android.location.Address>,java.lang.Throwable>);
10200    field public static final String ACTION_GEOCODE_PROVIDER = "com.android.location.service.GeocodeProvider";
10201  }
10202
10203  public abstract class LocationProviderBase {
10204    ctor public LocationProviderBase(@NonNull android.content.Context, @NonNull String, @NonNull android.location.provider.ProviderProperties);
10205    method @Nullable public final android.os.IBinder getBinder();
10206    method @NonNull public android.location.provider.ProviderProperties getProperties();
10207    method public boolean isAllowed();
10208    method public abstract void onFlush(@NonNull android.location.provider.LocationProviderBase.OnFlushCompleteCallback);
10209    method public abstract void onSendExtraCommand(@NonNull String, @Nullable android.os.Bundle);
10210    method public abstract void onSetRequest(@NonNull android.location.provider.ProviderRequest);
10211    method public void reportLocation(@NonNull android.location.Location);
10212    method public void reportLocations(@NonNull java.util.List<android.location.Location>);
10213    method public void setAllowed(boolean);
10214    method public void setProperties(@NonNull android.location.provider.ProviderProperties);
10215    field public static final String ACTION_FUSED_PROVIDER = "com.android.location.service.FusedLocationProvider";
10216    field public static final String ACTION_GNSS_PROVIDER = "android.location.provider.action.GNSS_PROVIDER";
10217    field public static final String ACTION_NETWORK_PROVIDER = "com.android.location.service.v3.NetworkLocationProvider";
10218  }
10219
10220  public static interface LocationProviderBase.OnFlushCompleteCallback {
10221    method public void onFlushComplete();
10222  }
10223
10224  public final class ProviderRequest implements android.os.Parcelable {
10225    method public int describeContents();
10226    method @IntRange(from=0) public long getIntervalMillis();
10227    method @IntRange(from=0) public long getMaxUpdateDelayMillis();
10228    method public int getQuality();
10229    method @NonNull public android.os.WorkSource getWorkSource();
10230    method public boolean isActive();
10231    method public boolean isLocationSettingsIgnored();
10232    method public boolean isLowPower();
10233    method public void writeToParcel(@NonNull android.os.Parcel, int);
10234    field @NonNull public static final android.os.Parcelable.Creator<android.location.provider.ProviderRequest> CREATOR;
10235    field @NonNull public static final android.location.provider.ProviderRequest EMPTY_REQUEST;
10236    field public static final long INTERVAL_DISABLED = 9223372036854775807L; // 0x7fffffffffffffffL
10237  }
10238
10239  public static final class ProviderRequest.Builder {
10240    ctor public ProviderRequest.Builder();
10241    method @NonNull public android.location.provider.ProviderRequest build();
10242    method @NonNull public android.location.provider.ProviderRequest.Builder setIntervalMillis(@IntRange(from=0) long);
10243    method @NonNull public android.location.provider.ProviderRequest.Builder setLocationSettingsIgnored(boolean);
10244    method @NonNull public android.location.provider.ProviderRequest.Builder setLowPower(boolean);
10245    method @NonNull public android.location.provider.ProviderRequest.Builder setMaxUpdateDelayMillis(@IntRange(from=0) long);
10246    method @NonNull public android.location.provider.ProviderRequest.Builder setQuality(int);
10247    method @NonNull public android.location.provider.ProviderRequest.Builder setWorkSource(@NonNull android.os.WorkSource);
10248  }
10249
10250  public static interface ProviderRequest.ChangedListener {
10251    method public void onProviderRequestChanged(@NonNull String, @NonNull android.location.provider.ProviderRequest);
10252  }
10253
10254  public final class ReverseGeocodeRequest implements android.os.Parcelable {
10255    method public int describeContents();
10256    method @Nullable public String getCallingAttributionTag();
10257    method @NonNull public String getCallingPackage();
10258    method public int getCallingUid();
10259    method @FloatRange(from=-90.0, to=90.0) public double getLatitude();
10260    method @NonNull public java.util.Locale getLocale();
10261    method @FloatRange(from=-180.0, to=180.0) public double getLongitude();
10262    method @IntRange(from=1) public int getMaxResults();
10263    method public void writeToParcel(@NonNull android.os.Parcel, int);
10264    field @NonNull public static final android.os.Parcelable.Creator<android.location.provider.ReverseGeocodeRequest> CREATOR;
10265  }
10266
10267  public static final class ReverseGeocodeRequest.Builder {
10268    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);
10269    method @NonNull public android.location.provider.ReverseGeocodeRequest build();
10270    method @NonNull public android.location.provider.ReverseGeocodeRequest.Builder setCallingAttributionTag(@NonNull String);
10271  }
10272
10273}
10274
10275package android.media {
10276
10277  public final class AudioAttributes implements android.os.Parcelable {
10278    method public int getAllFlags();
10279    method public android.os.Bundle getBundle();
10280    method public int getCapturePreset();
10281    method public int getSystemUsage();
10282    method public static boolean isSystemUsage(int);
10283    field @RequiresPermission(android.Manifest.permission.ACCESS_ULTRASOUND) public static final int CONTENT_TYPE_ULTRASOUND = 1997; // 0x7cd
10284    field public static final int FLAG_BEACON = 8; // 0x8
10285    field public static final int FLAG_BYPASS_INTERRUPTION_POLICY = 64; // 0x40
10286    field public static final int FLAG_BYPASS_MUTE = 128; // 0x80
10287    field public static final int FLAG_HW_HOTWORD = 32; // 0x20
10288    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int USAGE_ANNOUNCEMENT = 1003; // 0x3eb
10289    field @RequiresPermission(allOf={android.Manifest.permission.MODIFY_PHONE_STATE, android.Manifest.permission.MODIFY_AUDIO_ROUTING}) public static final int USAGE_CALL_ASSISTANT = 17; // 0x11
10290    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int USAGE_EMERGENCY = 1000; // 0x3e8
10291    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int USAGE_SAFETY = 1001; // 0x3e9
10292    field @FlaggedApi("android.media.audio.speaker_cleanup_usage") @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int USAGE_SPEAKER_CLEANUP = 1004; // 0x3ec
10293    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int USAGE_VEHICLE_STATUS = 1002; // 0x3ea
10294  }
10295
10296  public static class AudioAttributes.Builder {
10297    method public android.media.AudioAttributes.Builder addBundle(@NonNull android.os.Bundle);
10298    method public android.media.AudioAttributes.Builder setCapturePreset(int);
10299    method @NonNull @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_HOTWORD) public android.media.AudioAttributes.Builder setHotwordModeEnabled(boolean);
10300    method public android.media.AudioAttributes.Builder setInternalCapturePreset(int);
10301    method @NonNull public android.media.AudioAttributes.Builder setInternalContentType(int);
10302    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public android.media.AudioAttributes.Builder setSystemUsage(int);
10303  }
10304
10305  public class AudioDescriptor implements android.os.Parcelable {
10306    ctor public AudioDescriptor(int, int, @NonNull byte[]);
10307  }
10308
10309  public final class AudioDeviceAttributes implements android.os.Parcelable {
10310    ctor public AudioDeviceAttributes(@NonNull android.media.AudioDeviceInfo);
10311    ctor public AudioDeviceAttributes(int, int, @NonNull String);
10312    ctor public AudioDeviceAttributes(int, int, @NonNull String, @NonNull String, @NonNull java.util.List<android.media.AudioProfile>, @NonNull java.util.List<android.media.AudioDescriptor>);
10313    method public int describeContents();
10314    method public boolean equalTypeAddress(@Nullable Object);
10315    method @NonNull public String getAddress();
10316    method @NonNull public java.util.List<android.media.AudioDescriptor> getAudioDescriptors();
10317    method @NonNull public java.util.List<android.media.AudioProfile> getAudioProfiles();
10318    method @NonNull public String getName();
10319    method public int getRole();
10320    method public int getType();
10321    method public void writeToParcel(@NonNull android.os.Parcel, int);
10322    field @NonNull public static final android.os.Parcelable.Creator<android.media.AudioDeviceAttributes> CREATOR;
10323    field public static final int ROLE_INPUT = 1; // 0x1
10324    field public static final int ROLE_OUTPUT = 2; // 0x2
10325  }
10326
10327  public class AudioDeviceVolumeManager {
10328    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);
10329    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);
10330  }
10331
10332  public final class AudioFocusInfo implements android.os.Parcelable {
10333    method public int describeContents();
10334    method @NonNull public android.media.AudioAttributes getAttributes();
10335    method @NonNull public String getClientId();
10336    method public int getClientUid();
10337    method public int getFlags();
10338    method public int getGainRequest();
10339    method public int getLossReceived();
10340    method @NonNull public String getPackageName();
10341    method public void writeToParcel(android.os.Parcel, int);
10342    field @NonNull public static final android.os.Parcelable.Creator<android.media.AudioFocusInfo> CREATOR;
10343  }
10344
10345  public final class AudioFocusRequest {
10346    method public boolean locksFocus();
10347  }
10348
10349  public static final class AudioFocusRequest.Builder {
10350    method @NonNull public android.media.AudioFocusRequest.Builder setLocksFocus(boolean);
10351  }
10352
10353  public class AudioManager {
10354    method @Deprecated public int abandonAudioFocus(android.media.AudioManager.OnAudioFocusChangeListener, android.media.AudioAttributes);
10355    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void addAssistantServicesUids(@NonNull int[]);
10356    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);
10357    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;
10358    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;
10359    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;
10360    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;
10361    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public void addOnStreamAliasingChangedListener(@NonNull java.util.concurrent.Executor, @NonNull Runnable);
10362    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void cancelMuteAwaitConnection(@NonNull android.media.AudioDeviceAttributes) throws java.lang.IllegalStateException;
10363    method public void clearAudioServerStateCallback();
10364    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean clearPreferredDevicesForCapturePreset(int);
10365    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int dispatchAudioFocusChange(@NonNull android.media.AudioFocusInfo, int, @NonNull android.media.audiopolicy.AudioPolicy);
10366    method @FlaggedApi("android.media.audiopolicy.enable_fade_manager_configuration") @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);
10367    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int[] getActiveAssistantServicesUids();
10368    method @IntRange(from=0) public long getAdditionalOutputDeviceDelay(@NonNull android.media.AudioDeviceInfo);
10369    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int[] getAssistantServicesUids();
10370    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static java.util.List<android.media.audiopolicy.AudioProductStrategy> getAudioProductStrategies();
10371    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static java.util.List<android.media.audiopolicy.AudioVolumeGroup> getAudioVolumeGroups();
10372    method @NonNull @RequiresPermission(android.Manifest.permission.CALL_AUDIO_INTERCEPTION) public android.media.AudioRecord getCallDownlinkExtractionAudioRecord(@NonNull android.media.AudioFormat);
10373    method @NonNull @RequiresPermission(android.Manifest.permission.CALL_AUDIO_INTERCEPTION) public android.media.AudioTrack getCallUplinkInjectionAudioTrack(@NonNull android.media.AudioFormat);
10374    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);
10375    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);
10376    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public java.util.List<java.lang.Integer> getIndependentStreamTypes();
10377    method @RequiresPermission("android.permission.QUERY_AUDIO_STATE") public int getLastAudibleStreamVolume(int);
10378    method @IntRange(from=0) @RequiresPermission("android.permission.QUERY_AUDIO_STATE") public int getLastAudibleVolumeForVolumeGroup(int);
10379    method @IntRange(from=0) public long getMaxAdditionalOutputDeviceDelay(@NonNull android.media.AudioDeviceInfo);
10380    method @IntRange(from=0) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getMaxVolumeIndexForAttributes(@NonNull android.media.AudioAttributes);
10381    method @IntRange(from=0) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getMinVolumeIndexForAttributes(@NonNull android.media.AudioAttributes);
10382    method @Nullable @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public android.media.AudioDeviceAttributes getMutingExpectedDevice();
10383    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public java.util.List<android.media.AudioDeviceAttributes> getNonDefaultDevicesForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy);
10384    method @Nullable @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public android.media.AudioDeviceAttributes getPreferredDeviceForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy);
10385    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public java.util.List<android.media.AudioDeviceAttributes> getPreferredDevicesForCapturePreset(int);
10386    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public java.util.List<android.media.AudioDeviceAttributes> getPreferredDevicesForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy);
10387    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public int getStreamTypeAlias(int);
10388    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int[] getSupportedSystemUsages();
10389    method @IntRange(from=0) @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED, android.Manifest.permission.MODIFY_AUDIO_ROUTING}) public int getVolumeGroupMaxVolumeIndex(int);
10390    method @IntRange(from=0) @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED, android.Manifest.permission.MODIFY_AUDIO_ROUTING}) public int getVolumeGroupMinVolumeIndex(int);
10391    method @IntRange(from=0) @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED, android.Manifest.permission.MODIFY_AUDIO_ROUTING}) public int getVolumeGroupVolumeIndex(int);
10392    method @IntRange(from=0) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getVolumeIndexForAttributes(@NonNull android.media.AudioAttributes);
10393    method public boolean isAudioServerRunning();
10394    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean isBluetoothVariableLatencyEnabled();
10395    method public boolean isHdmiSystemAudioSupported();
10396    method @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_HOTWORD) public boolean isHotwordStreamSupported(boolean);
10397    method @RequiresPermission(android.Manifest.permission.CALL_AUDIO_INTERCEPTION) public boolean isPstnCallAudioInterceptable();
10398    method @RequiresPermission(android.Manifest.permission.ACCESS_ULTRASOUND) public boolean isUltrasoundSupported();
10399    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;
10400    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int registerAudioPolicy(@NonNull android.media.audiopolicy.AudioPolicy);
10401    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void registerMuteAwaitConnectionCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.MuteAwaitConnectionCallback);
10402    method public void registerVolumeGroupCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.VolumeGroupCallback);
10403    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void removeAssistantServicesUids(@NonNull int[]);
10404    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean removeDeviceAsNonDefaultForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy, @NonNull android.media.AudioDeviceAttributes);
10405    method @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_ROUTING, "android.permission.QUERY_AUDIO_STATE"}) public void removeOnDevicesForAttributesChangedListener(@NonNull android.media.AudioManager.OnDevicesForAttributesChangedListener);
10406    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void removeOnNonDefaultDevicesForStrategyChangedListener(@NonNull android.media.AudioManager.OnNonDefaultDevicesForStrategyChangedListener);
10407    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void removeOnPreferredDeviceForStrategyChangedListener(@NonNull android.media.AudioManager.OnPreferredDeviceForStrategyChangedListener);
10408    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void removeOnPreferredDevicesForCapturePresetChangedListener(@NonNull android.media.AudioManager.OnPreferredDevicesForCapturePresetChangedListener);
10409    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void removeOnPreferredDevicesForStrategyChangedListener(@NonNull android.media.AudioManager.OnPreferredDevicesForStrategyChangedListener);
10410    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public void removeOnStreamAliasingChangedListener(@NonNull Runnable);
10411    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean removePreferredDeviceForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy);
10412    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int requestAudioFocus(@NonNull android.media.AudioFocusRequest, @Nullable android.media.audiopolicy.AudioPolicy);
10413    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;
10414    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;
10415    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setActiveAssistantServiceUids(@NonNull int[]);
10416    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean setAdditionalOutputDeviceDelay(@NonNull android.media.AudioDeviceInfo, @IntRange(from=0) long);
10417    method public void setAudioServerStateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.AudioServerStateCallback);
10418    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setBluetoothVariableLatencyEnabled(boolean);
10419    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean setDeviceAsNonDefaultForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy, @NonNull android.media.AudioDeviceAttributes);
10420    method @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_ROUTING, android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED}) public void setDeviceVolumeBehavior(@NonNull android.media.AudioDeviceAttributes, int);
10421    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setFocusRequestResult(@NonNull android.media.AudioFocusInfo, int, @NonNull android.media.audiopolicy.AudioPolicy);
10422    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean setPreferredDeviceForCapturePreset(int, @NonNull android.media.AudioDeviceAttributes);
10423    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean setPreferredDeviceForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy, @NonNull android.media.AudioDeviceAttributes);
10424    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean setPreferredDevicesForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy, @NonNull java.util.List<android.media.AudioDeviceAttributes>);
10425    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setSupportedSystemUsages(@NonNull int[]);
10426    method @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED, android.Manifest.permission.MODIFY_AUDIO_ROUTING}) public void setVolumeGroupVolumeIndex(int, int, int);
10427    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setVolumeIndexForAttributes(@NonNull android.media.AudioAttributes, int, int);
10428    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setWiredDeviceConnectionState(@NonNull android.media.AudioDeviceAttributes, int);
10429    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean supportsBluetoothVariableLatency();
10430    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void unregisterAudioPolicy(@NonNull android.media.audiopolicy.AudioPolicy);
10431    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void unregisterAudioPolicyAsync(@NonNull android.media.audiopolicy.AudioPolicy);
10432    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void unregisterMuteAwaitConnectionCallback(@NonNull android.media.AudioManager.MuteAwaitConnectionCallback);
10433    method public void unregisterVolumeGroupCallback(@NonNull android.media.AudioManager.VolumeGroupCallback);
10434    field public static final String ACTION_VOLUME_CHANGED = "android.media.VOLUME_CHANGED_ACTION";
10435    field public static final int AUDIOFOCUS_FLAG_DELAY_OK = 1; // 0x1
10436    field public static final int AUDIOFOCUS_FLAG_LOCK = 4; // 0x4
10437    field public static final int AUDIOFOCUS_FLAG_PAUSES_ON_DUCKABLE_LOSS = 2; // 0x2
10438    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int DEVICE_CONNECTION_STATE_CONNECTED = 1; // 0x1
10439    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int DEVICE_CONNECTION_STATE_DISCONNECTED = 0; // 0x0
10440    field public static final int DEVICE_VOLUME_BEHAVIOR_ABSOLUTE = 3; // 0x3
10441    field public static final int DEVICE_VOLUME_BEHAVIOR_ABSOLUTE_ADJUST_ONLY = 5; // 0x5
10442    field public static final int DEVICE_VOLUME_BEHAVIOR_ABSOLUTE_MULTI_MODE = 4; // 0x4
10443    field public static final int DEVICE_VOLUME_BEHAVIOR_FIXED = 2; // 0x2
10444    field public static final int DEVICE_VOLUME_BEHAVIOR_FULL = 1; // 0x1
10445    field public static final int DEVICE_VOLUME_BEHAVIOR_VARIABLE = 0; // 0x0
10446    field public static final String EXTRA_VOLUME_STREAM_TYPE = "android.media.EXTRA_VOLUME_STREAM_TYPE";
10447    field public static final String EXTRA_VOLUME_STREAM_VALUE = "android.media.EXTRA_VOLUME_STREAM_VALUE";
10448    field public static final int FLAG_BLUETOOTH_ABS_VOLUME = 64; // 0x40
10449    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int STREAM_ASSISTANT = 11; // 0xb
10450    field @Deprecated @FlaggedApi("android.media.audio.deprecate_stream_bt_sco") public static final int STREAM_BLUETOOTH_SCO = 6; // 0x6
10451    field public static final int SUCCESS = 0; // 0x0
10452  }
10453
10454  public abstract static class AudioManager.AudioServerStateCallback {
10455    ctor public AudioManager.AudioServerStateCallback();
10456    method public void onAudioServerDown();
10457    method public void onAudioServerUp();
10458  }
10459
10460  public abstract static class AudioManager.MuteAwaitConnectionCallback {
10461    ctor public AudioManager.MuteAwaitConnectionCallback();
10462    method public void onMutedUntilConnection(@NonNull android.media.AudioDeviceAttributes, @NonNull int[]);
10463    method public void onUnmutedEvent(int, @NonNull android.media.AudioDeviceAttributes, @NonNull int[]);
10464    field public static final int EVENT_CANCEL = 3; // 0x3
10465    field public static final int EVENT_CONNECTION = 1; // 0x1
10466    field public static final int EVENT_TIMEOUT = 2; // 0x2
10467  }
10468
10469  public static interface AudioManager.OnDevicesForAttributesChangedListener {
10470    method public void onDevicesForAttributesChanged(@NonNull android.media.AudioAttributes, @NonNull java.util.List<android.media.AudioDeviceAttributes>);
10471  }
10472
10473  public static interface AudioManager.OnNonDefaultDevicesForStrategyChangedListener {
10474    method public void onNonDefaultDevicesForStrategyChanged(@NonNull android.media.audiopolicy.AudioProductStrategy, @NonNull java.util.List<android.media.AudioDeviceAttributes>);
10475  }
10476
10477  @Deprecated public static interface AudioManager.OnPreferredDeviceForStrategyChangedListener {
10478    method @Deprecated public void onPreferredDeviceForStrategyChanged(@NonNull android.media.audiopolicy.AudioProductStrategy, @Nullable android.media.AudioDeviceAttributes);
10479  }
10480
10481  public static interface AudioManager.OnPreferredDevicesForCapturePresetChangedListener {
10482    method public void onPreferredDevicesForCapturePresetChanged(int, @NonNull java.util.List<android.media.AudioDeviceAttributes>);
10483  }
10484
10485  public static interface AudioManager.OnPreferredDevicesForStrategyChangedListener {
10486    method public void onPreferredDevicesForStrategyChanged(@NonNull android.media.audiopolicy.AudioProductStrategy, @NonNull java.util.List<android.media.AudioDeviceAttributes>);
10487  }
10488
10489  public abstract static class AudioManager.VolumeGroupCallback {
10490    ctor public AudioManager.VolumeGroupCallback();
10491    method public void onAudioVolumeGroupChanged(int, int);
10492  }
10493
10494  public final class AudioPlaybackConfiguration implements android.os.Parcelable {
10495    method @FlaggedApi("android.media.audio.routed_device_ids") @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public java.util.List<android.media.AudioDeviceInfo> getAudioDeviceInfos();
10496    method public int getChannelMask();
10497    method public int getClientPid();
10498    method public int getClientUid();
10499    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getMutedBy();
10500    method public int getPlayerInterfaceId();
10501    method public android.media.PlayerProxy getPlayerProxy();
10502    method public int getPlayerState();
10503    method public int getPlayerType();
10504    method @IntRange(from=0) public int getSampleRate();
10505    method @IntRange(from=0) public int getSessionId();
10506    method public boolean isActive();
10507    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean isMuted();
10508    method public boolean isSpatialized();
10509    field @Deprecated @FlaggedApi("android.media.audio.muted_by_port_volume_api") @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int MUTED_BY_APP_OPS = 8; // 0x8
10510    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int MUTED_BY_CLIENT_VOLUME = 16; // 0x10
10511    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int MUTED_BY_MASTER = 1; // 0x1
10512    field @FlaggedApi("android.media.audio.muted_by_port_volume_api") @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int MUTED_BY_OP_CONTROL_AUDIO = 128; // 0x80
10513    field @FlaggedApi("android.media.audio.muted_by_port_volume_api") @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int MUTED_BY_OP_PLAY_AUDIO = 8; // 0x8
10514    field @FlaggedApi("android.media.audio.muted_by_port_volume_api") @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int MUTED_BY_PORT_VOLUME = 64; // 0x40
10515    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int MUTED_BY_STREAM_MUTED = 4; // 0x4
10516    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int MUTED_BY_STREAM_VOLUME = 2; // 0x2
10517    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int MUTED_BY_VOLUME_SHAPER = 32; // 0x20
10518    field public static final int PLAYER_STATE_IDLE = 1; // 0x1
10519    field public static final int PLAYER_STATE_PAUSED = 3; // 0x3
10520    field public static final int PLAYER_STATE_RELEASED = 0; // 0x0
10521    field public static final int PLAYER_STATE_STARTED = 2; // 0x2
10522    field public static final int PLAYER_STATE_STOPPED = 4; // 0x4
10523    field public static final int PLAYER_STATE_UNKNOWN = -1; // 0xffffffff
10524    field public static final int PLAYER_TYPE_AAUDIO = 13; // 0xd
10525    field public static final int PLAYER_TYPE_JAM_AUDIOTRACK = 1; // 0x1
10526    field public static final int PLAYER_TYPE_JAM_MEDIAPLAYER = 2; // 0x2
10527    field public static final int PLAYER_TYPE_JAM_SOUNDPOOL = 3; // 0x3
10528    field public static final int PLAYER_TYPE_SLES_AUDIOPLAYER_BUFFERQUEUE = 11; // 0xb
10529    field public static final int PLAYER_TYPE_SLES_AUDIOPLAYER_URI_FD = 12; // 0xc
10530    field public static final int PLAYER_TYPE_UNKNOWN = -1; // 0xffffffff
10531  }
10532
10533  public class AudioProfile implements android.os.Parcelable {
10534    ctor public AudioProfile(int, @NonNull int[], @NonNull int[], @NonNull int[], int);
10535  }
10536
10537  public class AudioRecord implements android.media.AudioRecordingMonitor android.media.AudioRouting android.media.MicrophoneDirection {
10538    ctor @RequiresPermission(android.Manifest.permission.RECORD_AUDIO) public AudioRecord(android.media.AudioAttributes, android.media.AudioFormat, int, int) throws java.lang.IllegalArgumentException;
10539    method public static long getMaxSharedAudioHistoryMillis();
10540    method public boolean isHotwordLookbackStream();
10541    method public boolean isHotwordStream();
10542    method @NonNull @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_HOTWORD) public android.media.MediaSyncEvent shareAudioHistory(@NonNull String, @IntRange(from=0) long);
10543  }
10544
10545  public static class AudioRecord.Builder {
10546    method public android.media.AudioRecord.Builder setAudioAttributes(@NonNull android.media.AudioAttributes) throws java.lang.IllegalArgumentException;
10547    method @NonNull @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_HOTWORD) public android.media.AudioRecord.Builder setMaxSharedAudioHistoryMillis(long) throws java.lang.IllegalArgumentException;
10548    method @NonNull @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_HOTWORD) public android.media.AudioRecord.Builder setRequestHotwordLookbackStream(boolean);
10549    method @NonNull @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_HOTWORD) public android.media.AudioRecord.Builder setRequestHotwordStream(boolean);
10550    method public android.media.AudioRecord.Builder setSessionId(int) throws java.lang.IllegalArgumentException;
10551    method @NonNull public android.media.AudioRecord.Builder setSharedAudioEvent(@NonNull android.media.MediaSyncEvent) throws java.lang.IllegalArgumentException;
10552  }
10553
10554  public final class AudioRecordingConfiguration implements android.os.Parcelable {
10555    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getClientUid();
10556  }
10557
10558  public class AudioTrack implements android.media.AudioRouting android.media.VolumeAutomation {
10559    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int ENCAPSULATION_MODE_HANDLE = 2; // 0x2
10560  }
10561
10562  public static class AudioTrack.Builder {
10563    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public android.media.AudioTrack.Builder setTunerConfiguration(@NonNull android.media.AudioTrack.TunerConfiguration);
10564  }
10565
10566  public static class AudioTrack.TunerConfiguration {
10567    ctor @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public AudioTrack.TunerConfiguration(@IntRange(from=0) int, @IntRange(from=1) int);
10568    method @IntRange(from=1) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getContentId();
10569    method @IntRange(from=1) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getSyncId();
10570    field public static final int CONTENT_ID_NONE = 0; // 0x0
10571  }
10572
10573  @FlaggedApi("android.media.audiopolicy.enable_fade_manager_configuration") public final class FadeManagerConfiguration implements android.os.Parcelable {
10574    method public int describeContents();
10575    method @NonNull public java.util.List<android.media.AudioAttributes> getAudioAttributesWithVolumeShaperConfigs();
10576    method @IntRange(from=1) public static long getDefaultFadeInDurationMillis();
10577    method @IntRange(from=1) public static long getDefaultFadeOutDurationMillis();
10578    method @IntRange(from=0) public long getFadeInDelayForOffenders();
10579    method @IntRange(from=0) public long getFadeInDurationForAudioAttributes(@NonNull android.media.AudioAttributes);
10580    method @IntRange(from=0) public long getFadeInDurationForUsage(int);
10581    method @Nullable public android.media.VolumeShaper.Configuration getFadeInVolumeShaperConfigForAudioAttributes(@NonNull android.media.AudioAttributes);
10582    method @Nullable public android.media.VolumeShaper.Configuration getFadeInVolumeShaperConfigForUsage(int);
10583    method @IntRange(from=0) public long getFadeOutDurationForAudioAttributes(@NonNull android.media.AudioAttributes);
10584    method @IntRange(from=0) public long getFadeOutDurationForUsage(int);
10585    method @Nullable public android.media.VolumeShaper.Configuration getFadeOutVolumeShaperConfigForAudioAttributes(@NonNull android.media.AudioAttributes);
10586    method @Nullable public android.media.VolumeShaper.Configuration getFadeOutVolumeShaperConfigForUsage(int);
10587    method public int getFadeState();
10588    method @NonNull public java.util.List<java.lang.Integer> getFadeableUsages();
10589    method @NonNull public java.util.List<android.media.AudioAttributes> getUnfadeableAudioAttributes();
10590    method @NonNull public java.util.List<java.lang.Integer> getUnfadeableContentTypes();
10591    method @NonNull public java.util.List<java.lang.Integer> getUnfadeablePlayerTypes();
10592    method @NonNull public java.util.List<java.lang.Integer> getUnfadeableUids();
10593    method public boolean isAudioAttributesUnfadeable(@NonNull android.media.AudioAttributes);
10594    method public boolean isContentTypeUnfadeable(int);
10595    method public boolean isFadeEnabled();
10596    method public boolean isPlayerTypeUnfadeable(int);
10597    method public boolean isUidUnfadeable(int);
10598    method public boolean isUsageFadeable(int);
10599    method public void writeToParcel(@NonNull android.os.Parcel, int);
10600    field @NonNull public static final android.os.Parcelable.Creator<android.media.FadeManagerConfiguration> CREATOR;
10601    field public static final long DURATION_NOT_SET = 0L; // 0x0L
10602    field public static final int FADE_STATE_DISABLED = 0; // 0x0
10603    field public static final int FADE_STATE_ENABLED_DEFAULT = 1; // 0x1
10604    field public static final String TAG = "FadeManagerConfiguration";
10605    field public static final int VOLUME_SHAPER_SYSTEM_FADE_ID = 2; // 0x2
10606  }
10607
10608  public static final class FadeManagerConfiguration.Builder {
10609    ctor public FadeManagerConfiguration.Builder();
10610    ctor public FadeManagerConfiguration.Builder(@NonNull android.media.FadeManagerConfiguration);
10611    ctor public FadeManagerConfiguration.Builder(@IntRange(from=1) long, @IntRange(from=1) long);
10612    method @NonNull public android.media.FadeManagerConfiguration.Builder addFadeableUsage(int);
10613    method @NonNull public android.media.FadeManagerConfiguration.Builder addUnfadeableAudioAttributes(@NonNull android.media.AudioAttributes);
10614    method @NonNull public android.media.FadeManagerConfiguration.Builder addUnfadeableContentType(int);
10615    method @NonNull public android.media.FadeManagerConfiguration.Builder addUnfadeableUid(int);
10616    method @NonNull public android.media.FadeManagerConfiguration build();
10617    method @NonNull public android.media.FadeManagerConfiguration.Builder clearFadeableUsages();
10618    method @NonNull public android.media.FadeManagerConfiguration.Builder clearUnfadeableAudioAttributes();
10619    method @NonNull public android.media.FadeManagerConfiguration.Builder clearUnfadeableContentTypes();
10620    method @NonNull public android.media.FadeManagerConfiguration.Builder clearUnfadeableUids();
10621    method @NonNull public android.media.FadeManagerConfiguration.Builder setFadeInDelayForOffenders(@IntRange(from=0) long);
10622    method @NonNull public android.media.FadeManagerConfiguration.Builder setFadeInDurationForAudioAttributes(@NonNull android.media.AudioAttributes, @IntRange(from=0) long);
10623    method @NonNull public android.media.FadeManagerConfiguration.Builder setFadeInDurationForUsage(int, @IntRange(from=0) long);
10624    method @NonNull public android.media.FadeManagerConfiguration.Builder setFadeInVolumeShaperConfigForAudioAttributes(@NonNull android.media.AudioAttributes, @Nullable android.media.VolumeShaper.Configuration);
10625    method @NonNull public android.media.FadeManagerConfiguration.Builder setFadeInVolumeShaperConfigForUsage(int, @Nullable android.media.VolumeShaper.Configuration);
10626    method @NonNull public android.media.FadeManagerConfiguration.Builder setFadeOutDurationForAudioAttributes(@NonNull android.media.AudioAttributes, @IntRange(from=0) long);
10627    method @NonNull public android.media.FadeManagerConfiguration.Builder setFadeOutDurationForUsage(int, @IntRange(from=0) long);
10628    method @NonNull public android.media.FadeManagerConfiguration.Builder setFadeOutVolumeShaperConfigForAudioAttributes(@NonNull android.media.AudioAttributes, @Nullable android.media.VolumeShaper.Configuration);
10629    method @NonNull public android.media.FadeManagerConfiguration.Builder setFadeOutVolumeShaperConfigForUsage(int, @Nullable android.media.VolumeShaper.Configuration);
10630    method @NonNull public android.media.FadeManagerConfiguration.Builder setFadeState(int);
10631    method @NonNull public android.media.FadeManagerConfiguration.Builder setFadeableUsages(@NonNull java.util.List<java.lang.Integer>);
10632    method @NonNull public android.media.FadeManagerConfiguration.Builder setUnfadeableAudioAttributes(@NonNull java.util.List<android.media.AudioAttributes>);
10633    method @NonNull public android.media.FadeManagerConfiguration.Builder setUnfadeableContentTypes(@NonNull java.util.List<java.lang.Integer>);
10634    method @NonNull public android.media.FadeManagerConfiguration.Builder setUnfadeableUids(@NonNull java.util.List<java.lang.Integer>);
10635  }
10636
10637  public class HwAudioSource {
10638    method public boolean isPlaying();
10639    method public void start();
10640    method public void stop();
10641  }
10642
10643  public static final class HwAudioSource.Builder {
10644    ctor public HwAudioSource.Builder();
10645    method @NonNull public android.media.HwAudioSource build();
10646    method @NonNull public android.media.HwAudioSource.Builder setAudioAttributes(@NonNull android.media.AudioAttributes);
10647    method @NonNull public android.media.HwAudioSource.Builder setAudioDeviceInfo(@NonNull android.media.AudioDeviceInfo);
10648  }
10649
10650  public final class MediaCas implements java.lang.AutoCloseable {
10651    method @FlaggedApi("android.media.tv.flags.set_resource_holder_retain") @RequiresPermission("android.permission.TUNER_RESOURCE_ACCESS") public void setResourceOwnershipRetention(boolean);
10652    method @FlaggedApi("android.media.tv.flags.mediacas_update_client_profile_priority") @RequiresPermission("android.permission.TUNER_RESOURCE_ACCESS") public boolean updateResourcePriority(int, int);
10653  }
10654
10655  public final class MediaCodec {
10656    method @NonNull @RequiresPermission(android.Manifest.permission.MEDIA_RESOURCE_OVERRIDE_PID) public static android.media.MediaCodec createByCodecNameForClient(@NonNull String, int, int) throws java.io.IOException;
10657  }
10658
10659  public class MediaPlayer implements android.media.AudioRouting android.media.VolumeAutomation {
10660    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);
10661  }
10662
10663  public static interface MediaPlayer.OnRtpRxNoticeListener {
10664    method public void onRtpRxNotice(@NonNull android.media.MediaPlayer, int, @NonNull int[]);
10665  }
10666
10667  public final class MediaRecorder.AudioSource {
10668    field @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_OUTPUT) public static final int ECHO_REFERENCE = 1997; // 0x7cd
10669    field @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_HOTWORD) public static final int HOTWORD = 1999; // 0x7cf
10670    field @RequiresPermission(android.Manifest.permission.CAPTURE_TUNER_AUDIO_INPUT) public static final int RADIO_TUNER = 1998; // 0x7ce
10671    field @RequiresPermission(android.Manifest.permission.ACCESS_ULTRASOUND) public static final int ULTRASOUND = 2000; // 0x7d0
10672  }
10673
10674  public final class MediaRouter2 {
10675    method @NonNull public java.util.List<android.media.MediaRoute2Info> getAllRoutes();
10676    method @Nullable public String getClientPackageName();
10677    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);
10678    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void startScan();
10679    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void stopScan();
10680    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void transfer(@NonNull android.media.MediaRouter2.RoutingController, @NonNull android.media.MediaRoute2Info);
10681  }
10682
10683  public abstract static class MediaRouter2.RouteCallback {
10684    method public void onPreferredFeaturesChanged(@NonNull java.util.List<java.lang.String>);
10685  }
10686
10687  public class MediaSyncEvent implements android.os.Parcelable {
10688    field public static final int SYNC_EVENT_SHARE_AUDIO_HISTORY = 100; // 0x64
10689  }
10690
10691  public final class MediaTranscodingManager {
10692    method @Nullable public android.media.MediaTranscodingManager.TranscodingSession enqueueRequest(@NonNull android.media.MediaTranscodingManager.TranscodingRequest, @NonNull java.util.concurrent.Executor, @NonNull android.media.MediaTranscodingManager.OnTranscodingFinishedListener);
10693  }
10694
10695  @java.lang.FunctionalInterface public static interface MediaTranscodingManager.OnTranscodingFinishedListener {
10696    method public void onTranscodingFinished(@NonNull android.media.MediaTranscodingManager.TranscodingSession);
10697  }
10698
10699  public abstract static class MediaTranscodingManager.TranscodingRequest {
10700    method public int getClientPid();
10701    method public int getClientUid();
10702    method @Nullable public android.os.ParcelFileDescriptor getDestinationFileDescriptor();
10703    method @NonNull public android.net.Uri getDestinationUri();
10704    method @Nullable public android.os.ParcelFileDescriptor getSourceFileDescriptor();
10705    method @NonNull public android.net.Uri getSourceUri();
10706  }
10707
10708  public static class MediaTranscodingManager.TranscodingRequest.VideoFormatResolver {
10709    ctor public MediaTranscodingManager.TranscodingRequest.VideoFormatResolver(@NonNull android.media.ApplicationMediaCapabilities, @NonNull android.media.MediaFormat);
10710    method @Nullable public android.media.MediaFormat resolveVideoFormat();
10711    method public boolean shouldTranscode();
10712  }
10713
10714  public static final class MediaTranscodingManager.TranscodingSession {
10715    method public boolean addClientUid(int);
10716    method public void cancel();
10717    method public void clearOnProgressUpdateListener();
10718    method @NonNull public java.util.List<java.lang.Integer> getClientUids();
10719    method public int getErrorCode();
10720    method @IntRange(from=0, to=100) public int getProgress();
10721    method public int getResult();
10722    method public int getSessionId();
10723    method public int getStatus();
10724    method public void setOnProgressUpdateListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaTranscodingManager.TranscodingSession.OnProgressUpdateListener);
10725    field public static final int ERROR_DROPPED_BY_SERVICE = 1; // 0x1
10726    field public static final int ERROR_NONE = 0; // 0x0
10727    field public static final int ERROR_SERVICE_DIED = 2; // 0x2
10728    field public static final int RESULT_CANCELED = 4; // 0x4
10729    field public static final int RESULT_ERROR = 3; // 0x3
10730    field public static final int RESULT_NONE = 1; // 0x1
10731    field public static final int RESULT_SUCCESS = 2; // 0x2
10732    field public static final int STATUS_FINISHED = 3; // 0x3
10733    field public static final int STATUS_PAUSED = 4; // 0x4
10734    field public static final int STATUS_PENDING = 1; // 0x1
10735    field public static final int STATUS_RUNNING = 2; // 0x2
10736  }
10737
10738  @java.lang.FunctionalInterface public static interface MediaTranscodingManager.TranscodingSession.OnProgressUpdateListener {
10739    method public void onProgressUpdate(@NonNull android.media.MediaTranscodingManager.TranscodingSession, @IntRange(from=0, to=100) int);
10740  }
10741
10742  public static final class MediaTranscodingManager.VideoTranscodingRequest extends android.media.MediaTranscodingManager.TranscodingRequest {
10743    method @NonNull public android.media.MediaFormat getVideoTrackFormat();
10744  }
10745
10746  public static final class MediaTranscodingManager.VideoTranscodingRequest.Builder {
10747    ctor public MediaTranscodingManager.VideoTranscodingRequest.Builder(@NonNull android.net.Uri, @NonNull android.net.Uri, @NonNull android.media.MediaFormat);
10748    method @NonNull public android.media.MediaTranscodingManager.VideoTranscodingRequest build();
10749    method @NonNull public android.media.MediaTranscodingManager.VideoTranscodingRequest.Builder setClientPid(int);
10750    method @NonNull public android.media.MediaTranscodingManager.VideoTranscodingRequest.Builder setClientUid(int);
10751    method @NonNull public android.media.MediaTranscodingManager.VideoTranscodingRequest.Builder setDestinationFileDescriptor(@NonNull android.os.ParcelFileDescriptor);
10752    method @NonNull public android.media.MediaTranscodingManager.VideoTranscodingRequest.Builder setSourceFileDescriptor(@NonNull android.os.ParcelFileDescriptor);
10753  }
10754
10755  public final class NearbyDevice implements android.os.Parcelable {
10756    ctor public NearbyDevice(@NonNull String, int);
10757    method public int describeContents();
10758    method @NonNull public String getMediaRoute2Id();
10759    method public int getRangeZone();
10760    method public void writeToParcel(@NonNull android.os.Parcel, int);
10761    field @NonNull public static final android.os.Parcelable.Creator<android.media.NearbyDevice> CREATOR;
10762    field public static final int RANGE_CLOSE = 3; // 0x3
10763    field public static final int RANGE_FAR = 1; // 0x1
10764    field public static final int RANGE_LONG = 2; // 0x2
10765    field public static final int RANGE_UNKNOWN = 0; // 0x0
10766    field public static final int RANGE_WITHIN_REACH = 4; // 0x4
10767  }
10768
10769  public interface NearbyMediaDevicesProvider {
10770    method public void registerNearbyDevicesCallback(@NonNull java.util.function.Consumer<java.util.List<android.media.NearbyDevice>>);
10771    method public void unregisterNearbyDevicesCallback(@NonNull java.util.function.Consumer<java.util.List<android.media.NearbyDevice>>);
10772  }
10773
10774  public class PlayerProxy {
10775    method public void pause();
10776    method public void setPan(float);
10777    method public void setStartDelayMs(int);
10778    method public void setVolume(float);
10779    method public void start();
10780    method public void stop();
10781  }
10782
10783  public class RingtoneManager {
10784    method @RequiresPermission(android.Manifest.permission.WRITE_SETTINGS) public static void ensureDefaultRingtones(@NonNull android.content.Context);
10785  }
10786
10787  public final class RouteDiscoveryPreference implements android.os.Parcelable {
10788    field public static final android.media.RouteDiscoveryPreference EMPTY;
10789  }
10790
10791  public class Spatializer {
10792    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void addCompatibleAudioDevice(@NonNull android.media.AudioDeviceAttributes);
10793    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void addOnHeadTrackingModeChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.Spatializer.OnHeadTrackingModeChangedListener);
10794    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void clearOnHeadToSoundstagePoseUpdatedListener();
10795    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void clearOnSpatializerOutputChangedListener();
10796    method @NonNull @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public java.util.List<android.media.AudioDeviceAttributes> getCompatibleAudioDevices();
10797    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public int getDesiredHeadTrackingMode();
10798    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void getEffectParameter(int, @NonNull byte[]);
10799    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public int getHeadTrackingMode();
10800    method @IntRange(from=0) @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public int getOutput();
10801    method @NonNull @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public java.util.List<java.lang.Integer> getSupportedHeadTrackingModes();
10802    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public boolean hasHeadTracker(@NonNull android.media.AudioDeviceAttributes);
10803    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public boolean isAvailableForDevice(@NonNull android.media.AudioDeviceAttributes);
10804    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public boolean isHeadTrackerEnabled(@NonNull android.media.AudioDeviceAttributes);
10805    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void recenterHeadTracker();
10806    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void removeCompatibleAudioDevice(@NonNull android.media.AudioDeviceAttributes);
10807    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void removeOnHeadTrackingModeChangedListener(@NonNull android.media.Spatializer.OnHeadTrackingModeChangedListener);
10808    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setDesiredHeadTrackingMode(int);
10809    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setEffectParameter(int, @NonNull byte[]);
10810    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setEnabled(boolean);
10811    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setGlobalTransform(@NonNull float[]);
10812    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setHeadTrackerEnabled(boolean, @NonNull android.media.AudioDeviceAttributes);
10813    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setOnHeadToSoundstagePoseUpdatedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.Spatializer.OnHeadToSoundstagePoseUpdatedListener);
10814    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setOnSpatializerOutputChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.Spatializer.OnSpatializerOutputChangedListener);
10815    field @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static final int HEAD_TRACKING_MODE_DISABLED = -1; // 0xffffffff
10816    field @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static final int HEAD_TRACKING_MODE_OTHER = 0; // 0x0
10817    field @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static final int HEAD_TRACKING_MODE_RELATIVE_DEVICE = 2; // 0x2
10818    field @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static final int HEAD_TRACKING_MODE_RELATIVE_WORLD = 1; // 0x1
10819    field @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static final int HEAD_TRACKING_MODE_UNSUPPORTED = -2; // 0xfffffffe
10820  }
10821
10822  public static interface Spatializer.OnHeadToSoundstagePoseUpdatedListener {
10823    method public void onHeadToSoundstagePoseUpdated(@NonNull android.media.Spatializer, @NonNull float[]);
10824  }
10825
10826  public static interface Spatializer.OnHeadTrackingModeChangedListener {
10827    method public void onDesiredHeadTrackingModeChanged(@NonNull android.media.Spatializer, int);
10828    method public void onHeadTrackingModeChanged(@NonNull android.media.Spatializer, int);
10829  }
10830
10831  public static interface Spatializer.OnSpatializerOutputChangedListener {
10832    method public void onSpatializerOutputChanged(@NonNull android.media.Spatializer, @IntRange(from=0) int);
10833  }
10834
10835  public final class VolumeInfo implements android.os.Parcelable {
10836    method public int describeContents();
10837    method @NonNull public static android.media.VolumeInfo getDefaultVolumeInfo();
10838    method public int getMaxVolumeIndex();
10839    method public int getMinVolumeIndex();
10840    method public int getStreamType();
10841    method @NonNull public android.media.audiopolicy.AudioVolumeGroup getVolumeGroup();
10842    method public int getVolumeIndex();
10843    method public boolean hasMuteCommand();
10844    method public boolean hasStreamType();
10845    method public boolean hasVolumeGroup();
10846    method public boolean isMuted();
10847    method public void writeToParcel(@NonNull android.os.Parcel, int);
10848    field @NonNull public static final android.os.Parcelable.Creator<android.media.VolumeInfo> CREATOR;
10849    field public static final int INDEX_NOT_SET = -100; // 0xffffff9c
10850  }
10851
10852  public static final class VolumeInfo.Builder {
10853    ctor public VolumeInfo.Builder(@NonNull android.media.audiopolicy.AudioVolumeGroup);
10854    ctor public VolumeInfo.Builder(@NonNull android.media.VolumeInfo);
10855    ctor public VolumeInfo.Builder(int);
10856    method @NonNull public android.media.VolumeInfo build();
10857    method @NonNull public android.media.VolumeInfo.Builder setMaxVolumeIndex(int);
10858    method @NonNull public android.media.VolumeInfo.Builder setMinVolumeIndex(int);
10859    method @NonNull public android.media.VolumeInfo.Builder setMuted(boolean);
10860    method @NonNull public android.media.VolumeInfo.Builder setVolumeIndex(int);
10861  }
10862
10863}
10864
10865package android.media.audiofx {
10866
10867  public class AudioEffect {
10868    ctor @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public AudioEffect(@NonNull java.util.UUID, @NonNull android.media.AudioDeviceAttributes);
10869    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static boolean isEffectSupportedForDevice(@NonNull java.util.UUID, @NonNull android.media.AudioDeviceAttributes);
10870  }
10871
10872}
10873
10874package android.media.audiopolicy {
10875
10876  public class AudioMix implements android.os.Parcelable {
10877    method public int describeContents();
10878    method public int getMixState();
10879    method public void writeToParcel(@NonNull android.os.Parcel, int);
10880    field @NonNull public static final android.os.Parcelable.Creator<android.media.audiopolicy.AudioMix> CREATOR;
10881    field public static final int MIX_STATE_DISABLED = -1; // 0xffffffff
10882    field public static final int MIX_STATE_IDLE = 0; // 0x0
10883    field public static final int MIX_STATE_MIXING = 1; // 0x1
10884    field public static final int ROUTE_FLAG_LOOP_BACK = 2; // 0x2
10885    field public static final int ROUTE_FLAG_RENDER = 1; // 0x1
10886  }
10887
10888  public static class AudioMix.Builder {
10889    ctor public AudioMix.Builder(@NonNull android.media.audiopolicy.AudioMixingRule) throws java.lang.IllegalArgumentException;
10890    method public android.media.audiopolicy.AudioMix build() throws java.lang.IllegalArgumentException;
10891    method public android.media.audiopolicy.AudioMix.Builder setDevice(@NonNull android.media.AudioDeviceInfo) throws java.lang.IllegalArgumentException;
10892    method public android.media.audiopolicy.AudioMix.Builder setFormat(@NonNull android.media.AudioFormat) throws java.lang.IllegalArgumentException;
10893    method public android.media.audiopolicy.AudioMix.Builder setRouteFlags(int) throws java.lang.IllegalArgumentException;
10894  }
10895
10896  public class AudioMixingRule implements android.os.Parcelable {
10897    method public int describeContents();
10898    method public int getTargetMixRole();
10899    method public void writeToParcel(@NonNull android.os.Parcel, int);
10900    field @NonNull public static final android.os.Parcelable.Creator<android.media.audiopolicy.AudioMixingRule> CREATOR;
10901    field public static final int MIX_ROLE_INJECTOR = 1; // 0x1
10902    field public static final int MIX_ROLE_PLAYERS = 0; // 0x0
10903    field public static final int RULE_MATCH_ATTRIBUTE_CAPTURE_PRESET = 2; // 0x2
10904    field public static final int RULE_MATCH_ATTRIBUTE_USAGE = 1; // 0x1
10905    field public static final int RULE_MATCH_AUDIO_SESSION_ID = 16; // 0x10
10906    field public static final int RULE_MATCH_UID = 4; // 0x4
10907    field public static final int RULE_MATCH_USERID = 8; // 0x8
10908  }
10909
10910  public static class AudioMixingRule.Builder {
10911    ctor public AudioMixingRule.Builder();
10912    method public android.media.audiopolicy.AudioMixingRule.Builder addMixRule(int, Object) throws java.lang.IllegalArgumentException;
10913    method public android.media.audiopolicy.AudioMixingRule.Builder addRule(android.media.AudioAttributes, int) throws java.lang.IllegalArgumentException;
10914    method @NonNull public android.media.audiopolicy.AudioMixingRule.Builder allowPrivilegedPlaybackCapture(boolean);
10915    method public android.media.audiopolicy.AudioMixingRule build();
10916    method public android.media.audiopolicy.AudioMixingRule.Builder excludeMixRule(int, Object) throws java.lang.IllegalArgumentException;
10917    method public android.media.audiopolicy.AudioMixingRule.Builder excludeRule(android.media.AudioAttributes, int) throws java.lang.IllegalArgumentException;
10918    method @NonNull public android.media.audiopolicy.AudioMixingRule.Builder setTargetMixRole(int);
10919  }
10920
10921  public class AudioPolicy {
10922    method public int attachMixes(@NonNull java.util.List<android.media.audiopolicy.AudioMix>);
10923    method @FlaggedApi("android.media.audiopolicy.enable_fade_manager_configuration") @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public int clearFadeManagerConfigurationForFocusLoss();
10924    method public android.media.AudioRecord createAudioRecordSink(android.media.audiopolicy.AudioMix) throws java.lang.IllegalArgumentException;
10925    method public android.media.AudioTrack createAudioTrackSource(android.media.audiopolicy.AudioMix) throws java.lang.IllegalArgumentException;
10926    method public int detachMixes(@NonNull java.util.List<android.media.audiopolicy.AudioMix>);
10927    method @FlaggedApi("android.media.audiopolicy.enable_fade_manager_configuration") @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public android.media.FadeManagerConfiguration getFadeManagerConfigurationForFocusLoss();
10928    method public int getFocusDuckingBehavior();
10929    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public java.util.List<android.media.AudioFocusInfo> getFocusStack();
10930    method public int getStatus();
10931    method public boolean removeUidDeviceAffinity(int);
10932    method public boolean removeUserIdDeviceAffinity(int);
10933    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean sendFocusLoss(@NonNull android.media.AudioFocusInfo) throws java.lang.IllegalStateException;
10934    method @FlaggedApi("android.media.audiopolicy.enable_fade_manager_configuration") @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public int setFadeManagerConfigurationForFocusLoss(@NonNull android.media.FadeManagerConfiguration);
10935    method public int setFocusDuckingBehavior(int) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException;
10936    method public void setRegistration(String);
10937    method public boolean setUidDeviceAffinity(int, @NonNull java.util.List<android.media.AudioDeviceInfo>);
10938    method public boolean setUserIdDeviceAffinity(int, @NonNull java.util.List<android.media.AudioDeviceInfo>);
10939    method public String toLogFriendlyString();
10940    method @FlaggedApi("android.media.audiopolicy.audio_policy_update_mixing_rules_api") @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>>);
10941    field public static final int FOCUS_POLICY_DUCKING_DEFAULT = 0; // 0x0
10942    field public static final int FOCUS_POLICY_DUCKING_IN_APP = 0; // 0x0
10943    field public static final int FOCUS_POLICY_DUCKING_IN_POLICY = 1; // 0x1
10944    field public static final int POLICY_STATUS_REGISTERED = 2; // 0x2
10945    field public static final int POLICY_STATUS_UNREGISTERED = 1; // 0x1
10946  }
10947
10948  public abstract static class AudioPolicy.AudioPolicyFocusListener {
10949    ctor public AudioPolicy.AudioPolicyFocusListener();
10950    method public void onAudioFocusAbandon(android.media.AudioFocusInfo);
10951    method public void onAudioFocusGrant(android.media.AudioFocusInfo, int);
10952    method public void onAudioFocusLoss(android.media.AudioFocusInfo, boolean);
10953    method public void onAudioFocusRequest(android.media.AudioFocusInfo, int);
10954  }
10955
10956  public abstract static class AudioPolicy.AudioPolicyStatusListener {
10957    ctor public AudioPolicy.AudioPolicyStatusListener();
10958    method public void onMixStateUpdate(android.media.audiopolicy.AudioMix);
10959    method public void onStatusChange();
10960  }
10961
10962  public abstract static class AudioPolicy.AudioPolicyVolumeCallback {
10963    ctor public AudioPolicy.AudioPolicyVolumeCallback();
10964    method public void onVolumeAdjustment(int);
10965  }
10966
10967  public static class AudioPolicy.Builder {
10968    ctor public AudioPolicy.Builder(android.content.Context);
10969    method @NonNull public android.media.audiopolicy.AudioPolicy.Builder addMix(@NonNull android.media.audiopolicy.AudioMix) throws java.lang.IllegalArgumentException;
10970    method @NonNull public android.media.audiopolicy.AudioPolicy build();
10971    method public void setAudioPolicyFocusListener(android.media.audiopolicy.AudioPolicy.AudioPolicyFocusListener);
10972    method public void setAudioPolicyStatusListener(android.media.audiopolicy.AudioPolicy.AudioPolicyStatusListener);
10973    method @NonNull public android.media.audiopolicy.AudioPolicy.Builder setAudioPolicyVolumeCallback(@NonNull android.media.audiopolicy.AudioPolicy.AudioPolicyVolumeCallback);
10974    method @NonNull public android.media.audiopolicy.AudioPolicy.Builder setIsAudioFocusPolicy(boolean);
10975    method @NonNull public android.media.audiopolicy.AudioPolicy.Builder setLooper(@NonNull android.os.Looper) throws java.lang.IllegalArgumentException;
10976  }
10977
10978  public final class AudioProductStrategy implements android.os.Parcelable {
10979    method @NonNull public static android.media.audiopolicy.AudioProductStrategy createInvalidAudioProductStrategy(int);
10980    method public int describeContents();
10981    method @NonNull public android.media.AudioAttributes getAudioAttributes();
10982    method public int getId();
10983    method @NonNull public String getName();
10984    method public boolean supportsAudioAttributes(@NonNull android.media.AudioAttributes);
10985    method public void writeToParcel(@NonNull android.os.Parcel, int);
10986    field @NonNull public static final android.os.Parcelable.Creator<android.media.audiopolicy.AudioProductStrategy> CREATOR;
10987  }
10988
10989  public final class AudioVolumeGroup implements android.os.Parcelable {
10990    method public int describeContents();
10991    method @NonNull public java.util.List<android.media.AudioAttributes> getAudioAttributes();
10992    method public int getId();
10993    method @NonNull public int[] getLegacyStreamTypes();
10994    method @NonNull public String name();
10995    method public void writeToParcel(@NonNull android.os.Parcel, int);
10996    field public static final android.os.Parcelable.Creator<android.media.audiopolicy.AudioVolumeGroup> CREATOR;
10997    field public static final int DEFAULT_VOLUME_GROUP = -1; // 0xffffffff
10998  }
10999
11000}
11001
11002package android.media.musicrecognition {
11003
11004  public class MusicRecognitionManager {
11005    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);
11006    field public static final int RECOGNITION_FAILED_AUDIO_UNAVAILABLE = 7; // 0x7
11007    field public static final int RECOGNITION_FAILED_NOT_FOUND = 1; // 0x1
11008    field public static final int RECOGNITION_FAILED_NO_CONNECTIVITY = 2; // 0x2
11009    field public static final int RECOGNITION_FAILED_SERVICE_KILLED = 5; // 0x5
11010    field public static final int RECOGNITION_FAILED_SERVICE_UNAVAILABLE = 3; // 0x3
11011    field public static final int RECOGNITION_FAILED_TIMEOUT = 6; // 0x6
11012    field public static final int RECOGNITION_FAILED_UNKNOWN = -1; // 0xffffffff
11013  }
11014
11015  public static interface MusicRecognitionManager.RecognitionCallback {
11016    method public void onAudioStreamClosed();
11017    method public void onRecognitionFailed(@NonNull android.media.musicrecognition.RecognitionRequest, int);
11018    method public void onRecognitionSucceeded(@NonNull android.media.musicrecognition.RecognitionRequest, @NonNull android.media.MediaMetadata, @Nullable android.os.Bundle);
11019  }
11020
11021  public abstract class MusicRecognitionService extends android.app.Service {
11022    ctor public MusicRecognitionService();
11023    method @Nullable public android.os.IBinder onBind(@NonNull android.content.Intent);
11024    method public abstract void onRecognize(@NonNull android.os.ParcelFileDescriptor, @NonNull android.media.AudioFormat, @NonNull android.media.musicrecognition.MusicRecognitionService.Callback);
11025  }
11026
11027  public static interface MusicRecognitionService.Callback {
11028    method public void onRecognitionFailed(int);
11029    method public void onRecognitionSucceeded(@NonNull android.media.MediaMetadata, @Nullable android.os.Bundle);
11030  }
11031
11032  public final class RecognitionRequest implements android.os.Parcelable {
11033    method public int describeContents();
11034    method @NonNull public android.media.AudioAttributes getAudioAttributes();
11035    method @NonNull public android.media.AudioFormat getAudioFormat();
11036    method public int getCaptureSession();
11037    method public int getIgnoreBeginningFrames();
11038    method public int getMaxAudioLengthSeconds();
11039    method public void writeToParcel(@NonNull android.os.Parcel, int);
11040    field @NonNull public static final android.os.Parcelable.Creator<android.media.musicrecognition.RecognitionRequest> CREATOR;
11041  }
11042
11043  public static final class RecognitionRequest.Builder {
11044    ctor public RecognitionRequest.Builder();
11045    method @NonNull public android.media.musicrecognition.RecognitionRequest build();
11046    method @NonNull public android.media.musicrecognition.RecognitionRequest.Builder setAudioAttributes(@NonNull android.media.AudioAttributes);
11047    method @NonNull public android.media.musicrecognition.RecognitionRequest.Builder setAudioFormat(@NonNull android.media.AudioFormat);
11048    method @NonNull public android.media.musicrecognition.RecognitionRequest.Builder setCaptureSession(int);
11049    method @NonNull public android.media.musicrecognition.RecognitionRequest.Builder setIgnoreBeginningFrames(int);
11050    method @NonNull public android.media.musicrecognition.RecognitionRequest.Builder setMaxAudioLengthSeconds(int);
11051  }
11052
11053}
11054
11055package android.media.quality {
11056
11057  @FlaggedApi("android.media.tv.flags.media_quality_fw") public final class MediaQualityManager {
11058    method public void addGlobalActiveProcessingPictureListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.quality.MediaQualityManager.ActiveProcessingPictureListener);
11059    method @NonNull public java.util.List<java.lang.String> getPictureProfileAllowList();
11060    method @NonNull public java.util.List<java.lang.String> getPictureProfilePackageNames();
11061    method @NonNull public java.util.List<android.media.quality.PictureProfile> getPictureProfilesByPackage(@NonNull String, boolean);
11062    method @NonNull public java.util.List<java.lang.String> getSoundProfileAllowList();
11063    method @NonNull public java.util.List<java.lang.String> getSoundProfilePackageNames();
11064    method @NonNull public java.util.List<android.media.quality.SoundProfile> getSoundProfilesByPackage(@NonNull String, boolean);
11065    method public void setAutoPictureQualityEnabled(boolean);
11066    method public void setAutoSoundQualityEnabled(boolean);
11067    method public boolean setDefaultPictureProfile(@Nullable String);
11068    method public boolean setDefaultSoundProfile(@Nullable String);
11069    method public void setPictureProfileAllowList(@NonNull java.util.List<java.lang.String>);
11070    method public void setSoundProfileAllowList(@NonNull java.util.List<java.lang.String>);
11071    method public void setSuperResolutionEnabled(boolean);
11072  }
11073
11074  public static final class PictureProfile.Builder {
11075    method @NonNull public android.media.quality.PictureProfile.Builder setInputId(@NonNull String);
11076    method @NonNull public android.media.quality.PictureProfile.Builder setPackageName(@NonNull String);
11077    method @NonNull public android.media.quality.PictureProfile.Builder setProfileType(int);
11078  }
11079
11080  @FlaggedApi("android.media.tv.flags.apply_picture_profiles") public final class PictureProfileHandle implements android.os.Parcelable {
11081    method @FlaggedApi("android.media.tv.flags.apply_picture_profiles") public int describeContents();
11082    method @FlaggedApi("android.media.tv.flags.apply_picture_profiles") public long getId();
11083    method @FlaggedApi("android.media.tv.flags.apply_picture_profiles") public void writeToParcel(@NonNull android.os.Parcel, int);
11084    field @FlaggedApi("android.media.tv.flags.apply_picture_profiles") @NonNull public static final android.os.Parcelable.Creator<android.media.quality.PictureProfileHandle> CREATOR;
11085    field @NonNull public static final android.media.quality.PictureProfileHandle NONE;
11086  }
11087
11088  public static final class SoundProfile.Builder {
11089    method @NonNull public android.media.quality.SoundProfile.Builder setInputId(@NonNull String);
11090    method @NonNull public android.media.quality.SoundProfile.Builder setPackageName(@NonNull String);
11091    method @NonNull public android.media.quality.SoundProfile.Builder setProfileType(int);
11092  }
11093
11094}
11095
11096package android.media.session {
11097
11098  public final class MediaSessionManager {
11099    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void addOnMediaKeyEventDispatchedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.session.MediaSessionManager.OnMediaKeyEventDispatchedListener);
11100    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void removeOnMediaKeyEventDispatchedListener(@NonNull android.media.session.MediaSessionManager.OnMediaKeyEventDispatchedListener);
11101    method @RequiresPermission(android.Manifest.permission.SET_MEDIA_KEY_LISTENER) public void setOnMediaKeyListener(android.media.session.MediaSessionManager.OnMediaKeyListener, @Nullable android.os.Handler);
11102    method @RequiresPermission(android.Manifest.permission.SET_VOLUME_KEY_LONG_PRESS_LISTENER) public void setOnVolumeKeyLongPressListener(android.media.session.MediaSessionManager.OnVolumeKeyLongPressListener, @Nullable android.os.Handler);
11103  }
11104
11105  public static interface MediaSessionManager.OnMediaKeyEventDispatchedListener {
11106    method public void onMediaKeyEventDispatched(@NonNull android.view.KeyEvent, @NonNull String, @Nullable android.media.session.MediaSession.Token);
11107  }
11108
11109  public static interface MediaSessionManager.OnMediaKeyListener {
11110    method public boolean onMediaKey(android.view.KeyEvent);
11111  }
11112
11113  public static interface MediaSessionManager.OnVolumeKeyLongPressListener {
11114    method public void onVolumeKeyLongPress(android.view.KeyEvent);
11115  }
11116
11117}
11118
11119package android.media.soundtrigger {
11120
11121  public abstract class SoundTriggerDetectionService extends android.app.Service {
11122    ctor public SoundTriggerDetectionService();
11123    method public final android.os.IBinder onBind(android.content.Intent);
11124    method @MainThread public void onConnected(@NonNull java.util.UUID, @Nullable android.os.Bundle);
11125    method @MainThread public void onDisconnected(@NonNull java.util.UUID, @Nullable android.os.Bundle);
11126    method @MainThread public void onError(@NonNull java.util.UUID, @Nullable android.os.Bundle, int, int);
11127    method @MainThread public void onGenericRecognitionEvent(@NonNull java.util.UUID, @Nullable android.os.Bundle, int, @NonNull android.hardware.soundtrigger.SoundTrigger.RecognitionEvent);
11128    method @MainThread public abstract void onStopOperation(@NonNull java.util.UUID, @Nullable android.os.Bundle, int);
11129    method public final void operationFinished(@Nullable java.util.UUID, int);
11130  }
11131
11132  @Deprecated public final class SoundTriggerDetector {
11133    method @Deprecated @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public boolean startRecognition(int);
11134    method @Deprecated @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public boolean stopRecognition();
11135    field @Deprecated public static final int RECOGNITION_FLAG_ALLOW_MULTIPLE_TRIGGERS = 2; // 0x2
11136    field @Deprecated public static final int RECOGNITION_FLAG_CAPTURE_TRIGGER_AUDIO = 1; // 0x1
11137    field @Deprecated public static final int RECOGNITION_FLAG_ENABLE_AUDIO_ECHO_CANCELLATION = 4; // 0x4
11138    field @Deprecated public static final int RECOGNITION_FLAG_ENABLE_AUDIO_NOISE_SUPPRESSION = 8; // 0x8
11139    field @Deprecated public static final int RECOGNITION_FLAG_RUN_IN_BATTERY_SAVER = 16; // 0x10
11140  }
11141
11142  @Deprecated public abstract static class SoundTriggerDetector.Callback {
11143    ctor @Deprecated public SoundTriggerDetector.Callback();
11144    method @Deprecated public abstract void onAvailabilityChanged(int);
11145    method @Deprecated public abstract void onDetected(@NonNull android.media.soundtrigger.SoundTriggerDetector.EventPayload);
11146    method @Deprecated public abstract void onError();
11147    method @Deprecated public abstract void onRecognitionPaused();
11148    method @Deprecated public abstract void onRecognitionResumed();
11149  }
11150
11151  @Deprecated public static class SoundTriggerDetector.EventPayload {
11152    method @Deprecated @Nullable public android.media.AudioFormat getCaptureAudioFormat();
11153    method @Deprecated @Nullable public byte[] getTriggerAudio();
11154  }
11155
11156  public final class SoundTriggerManager {
11157    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);
11158    method @Deprecated @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public void deleteModel(java.util.UUID);
11159    method public int getDetectionServiceOperationsTimeout();
11160    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public android.media.soundtrigger.SoundTriggerManager.Model getModel(java.util.UUID);
11161    method @FlaggedApi("android.media.soundtrigger.manager_api") @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public int getModelState(@NonNull java.util.UUID);
11162    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public android.hardware.soundtrigger.SoundTrigger.ModuleProperties getModuleProperties();
11163    method @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public int getParameter(@NonNull java.util.UUID, int);
11164    method @FlaggedApi("android.media.soundtrigger.manager_api") @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public boolean isRecognitionActive(@NonNull java.util.UUID);
11165    method @FlaggedApi("android.media.soundtrigger.manager_api") @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public int loadSoundModel(@NonNull android.hardware.soundtrigger.SoundTrigger.SoundModel);
11166    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public android.hardware.soundtrigger.SoundTrigger.ModelParamRange queryParameter(@Nullable java.util.UUID, int);
11167    method @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public int setParameter(@Nullable java.util.UUID, int, int);
11168    method @FlaggedApi("android.media.soundtrigger.manager_api") @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public int startRecognition(@NonNull java.util.UUID, @Nullable android.os.Bundle, @NonNull android.content.ComponentName, @NonNull android.hardware.soundtrigger.SoundTrigger.RecognitionConfig);
11169    method @FlaggedApi("android.media.soundtrigger.manager_api") @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public int stopRecognition(@NonNull java.util.UUID);
11170    method @FlaggedApi("android.media.soundtrigger.manager_api") @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public int unloadSoundModel(@NonNull java.util.UUID);
11171    method @Deprecated @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public void updateModel(android.media.soundtrigger.SoundTriggerManager.Model);
11172  }
11173
11174  public static class SoundTriggerManager.Model {
11175    method @NonNull public static android.media.soundtrigger.SoundTriggerManager.Model create(@NonNull java.util.UUID, @NonNull java.util.UUID, @Nullable byte[]);
11176    method @NonNull public static android.media.soundtrigger.SoundTriggerManager.Model create(@NonNull java.util.UUID, @NonNull java.util.UUID, @Nullable byte[], int);
11177    method @Nullable public byte[] getModelData();
11178    method @NonNull public java.util.UUID getModelUuid();
11179    method @NonNull public java.util.UUID getVendorUuid();
11180    method public int getVersion();
11181  }
11182
11183}
11184
11185package android.media.tv {
11186
11187  public final class DvbDeviceInfo implements android.os.Parcelable {
11188    ctor public DvbDeviceInfo(int, int);
11189    method public int describeContents();
11190    method @IntRange(from=0) public int getAdapterId();
11191    method @IntRange(from=0) public int getDeviceId();
11192    method public void writeToParcel(@NonNull android.os.Parcel, int);
11193    field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.DvbDeviceInfo> CREATOR;
11194  }
11195
11196  public final class TunedInfo implements android.os.Parcelable {
11197    method public int describeContents();
11198    method public int getAppTag();
11199    method public int getAppType();
11200    method @Nullable public android.net.Uri getChannelUri();
11201    method @NonNull public String getInputId();
11202    method public boolean isMainSession();
11203    method public boolean isRecordingSession();
11204    method public boolean isVisible();
11205    method public void writeToParcel(@NonNull android.os.Parcel, int);
11206    field public static final int APP_TAG_SELF = 0; // 0x0
11207    field public static final int APP_TYPE_NON_SYSTEM = 3; // 0x3
11208    field public static final int APP_TYPE_SELF = 1; // 0x1
11209    field public static final int APP_TYPE_SYSTEM = 2; // 0x2
11210    field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.TunedInfo> CREATOR;
11211  }
11212
11213  public final class TvContentRatingSystemInfo implements android.os.Parcelable {
11214    method public static android.media.tv.TvContentRatingSystemInfo createTvContentRatingSystemInfo(int, android.content.pm.ApplicationInfo);
11215    method public int describeContents();
11216    method public android.net.Uri getXmlUri();
11217    method public boolean isSystemDefined();
11218    method public void writeToParcel(android.os.Parcel, int);
11219  }
11220
11221  public final class TvContract {
11222    method public static android.net.Uri buildChannelsUriForInput(@Nullable String, boolean);
11223    method public static android.net.Uri buildChannelsUriForInput(@Nullable String, @Nullable String, boolean);
11224    field public static final String ACTION_CHANNEL_BROWSABLE_REQUESTED = "android.media.tv.action.CHANNEL_BROWSABLE_REQUESTED";
11225    field public static final String EXTRA_BLOCKED_PACKAGES = "android.media.tv.extra.BLOCKED_PACKAGES";
11226    field public static final String EXTRA_COLUMN_NAME = "android.media.tv.extra.COLUMN_NAME";
11227    field public static final String EXTRA_DATA_TYPE = "android.media.tv.extra.DATA_TYPE";
11228    field public static final String EXTRA_DEFAULT_VALUE = "android.media.tv.extra.DEFAULT_VALUE";
11229    field public static final String EXTRA_EXISTING_COLUMN_NAMES = "android.media.tv.extra.EXISTING_COLUMN_NAMES";
11230    field public static final String EXTRA_PACKAGE_NAME = "android.media.tv.extra.PACKAGE_NAME";
11231    field public static final String EXTRA_RESULT_CODE = "android.media.tv.extra.RESULT_CODE";
11232    field public static final String METHOD_ADD_COLUMN = "add_column";
11233    field public static final String METHOD_BLOCK_PACKAGE = "block_package";
11234    field public static final String METHOD_GET_BLOCKED_PACKAGES = "get_blocked_packages";
11235    field public static final String METHOD_GET_COLUMNS = "get_columns";
11236    field public static final String METHOD_UNBLOCK_PACKAGE = "unblock_package";
11237    field public static final int RESULT_ERROR_INVALID_ARGUMENT = 2; // 0x2
11238    field public static final int RESULT_ERROR_IO = 1; // 0x1
11239    field public static final int RESULT_OK = 0; // 0x0
11240  }
11241
11242  public static final class TvContract.WatchedPrograms implements android.media.tv.TvContract.BaseTvColumns {
11243    field public static final String COLUMN_CHANNEL_ID = "channel_id";
11244    field public static final String COLUMN_DESCRIPTION = "description";
11245    field public static final String COLUMN_END_TIME_UTC_MILLIS = "end_time_utc_millis";
11246    field public static final String COLUMN_INTERNAL_SESSION_TOKEN = "session_token";
11247    field public static final String COLUMN_INTERNAL_TUNE_PARAMS = "tune_params";
11248    field public static final String COLUMN_START_TIME_UTC_MILLIS = "start_time_utc_millis";
11249    field public static final String COLUMN_TITLE = "title";
11250    field public static final String COLUMN_WATCH_END_TIME_UTC_MILLIS = "watch_end_time_utc_millis";
11251    field public static final String COLUMN_WATCH_START_TIME_UTC_MILLIS = "watch_start_time_utc_millis";
11252    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/watched_program";
11253    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/watched_program";
11254    field public static final android.net.Uri CONTENT_URI;
11255  }
11256
11257  public final class TvInputHardwareInfo implements android.os.Parcelable {
11258    method public int describeContents();
11259    method public String getAudioAddress();
11260    method public int getAudioType();
11261    method public int getCableConnectionStatus();
11262    method public int getDeviceId();
11263    method public int getHdmiPortId();
11264    method public int getType();
11265    method public void readFromParcel(android.os.Parcel);
11266    method public void writeToParcel(android.os.Parcel, int);
11267    field public static final int CABLE_CONNECTION_STATUS_CONNECTED = 1; // 0x1
11268    field public static final int CABLE_CONNECTION_STATUS_DISCONNECTED = 2; // 0x2
11269    field public static final int CABLE_CONNECTION_STATUS_UNKNOWN = 0; // 0x0
11270    field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.TvInputHardwareInfo> CREATOR;
11271    field public static final int TV_INPUT_TYPE_COMPONENT = 6; // 0x6
11272    field public static final int TV_INPUT_TYPE_COMPOSITE = 3; // 0x3
11273    field public static final int TV_INPUT_TYPE_DISPLAY_PORT = 10; // 0xa
11274    field public static final int TV_INPUT_TYPE_DVI = 8; // 0x8
11275    field public static final int TV_INPUT_TYPE_HDMI = 9; // 0x9
11276    field public static final int TV_INPUT_TYPE_OTHER_HARDWARE = 1; // 0x1
11277    field public static final int TV_INPUT_TYPE_SCART = 5; // 0x5
11278    field public static final int TV_INPUT_TYPE_SVIDEO = 4; // 0x4
11279    field public static final int TV_INPUT_TYPE_TUNER = 2; // 0x2
11280    field public static final int TV_INPUT_TYPE_VGA = 7; // 0x7
11281  }
11282
11283  public static final class TvInputHardwareInfo.Builder {
11284    ctor public TvInputHardwareInfo.Builder();
11285    method public android.media.tv.TvInputHardwareInfo.Builder audioAddress(String);
11286    method public android.media.tv.TvInputHardwareInfo.Builder audioType(int);
11287    method public android.media.tv.TvInputHardwareInfo build();
11288    method public android.media.tv.TvInputHardwareInfo.Builder cableConnectionStatus(int);
11289    method public android.media.tv.TvInputHardwareInfo.Builder deviceId(int);
11290    method public android.media.tv.TvInputHardwareInfo.Builder hdmiPortId(int);
11291    method public android.media.tv.TvInputHardwareInfo.Builder type(int);
11292  }
11293
11294  public final class TvInputInfo implements android.os.Parcelable {
11295    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;
11296    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;
11297    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;
11298    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;
11299    method public android.hardware.hdmi.HdmiDeviceInfo getHdmiDeviceInfo();
11300    method public boolean isConnectedToHdmiSwitch();
11301    method public boolean isHardwareInput();
11302    method public android.graphics.drawable.Drawable loadIcon(@NonNull android.content.Context, int);
11303  }
11304
11305  public static final class TvInputInfo.Builder {
11306    method public android.media.tv.TvInputInfo.Builder setHdmiDeviceInfo(android.hardware.hdmi.HdmiDeviceInfo);
11307    method public android.media.tv.TvInputInfo.Builder setIcon(android.graphics.drawable.Icon);
11308    method public android.media.tv.TvInputInfo.Builder setIcon(android.graphics.drawable.Icon, int);
11309    method public android.media.tv.TvInputInfo.Builder setLabel(@StringRes int);
11310    method public android.media.tv.TvInputInfo.Builder setLabel(CharSequence);
11311    method public android.media.tv.TvInputInfo.Builder setParentId(String);
11312    method public android.media.tv.TvInputInfo.Builder setTvInputHardwareInfo(android.media.tv.TvInputHardwareInfo);
11313  }
11314
11315  public static final class TvInputInfo.TvInputSettings {
11316    method public static java.util.Map<java.lang.String,java.lang.String> getCustomLabels(android.content.Context, int);
11317    method public static java.util.Set<java.lang.String> getHiddenTvInputIds(android.content.Context, int);
11318    method public static void putCustomLabels(android.content.Context, java.util.Map<java.lang.String,java.lang.String>, int);
11319    method public static void putHiddenTvInputs(android.content.Context, java.util.Set<java.lang.String>, int);
11320  }
11321
11322  public final class TvInputManager {
11323    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);
11324    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);
11325    method @RequiresPermission(android.Manifest.permission.MODIFY_PARENTAL_CONTROLS) public void addBlockedRating(@NonNull android.media.tv.TvContentRating);
11326    method @RequiresPermission(android.Manifest.permission.CAPTURE_TV_INPUT) public boolean captureFrame(String, android.view.Surface, android.media.tv.TvStreamConfig);
11327    method @NonNull @RequiresPermission(android.Manifest.permission.TIS_EXTENSION_INTERFACE) public java.util.List<java.lang.String> getAvailableExtensionInterfaceNames(@NonNull String);
11328    method @RequiresPermission(android.Manifest.permission.CAPTURE_TV_INPUT) public java.util.List<android.media.tv.TvStreamConfig> getAvailableTvStreamConfigList(String);
11329    method @RequiresPermission("android.permission.TUNER_RESOURCE_ACCESS") public int getClientPid(@NonNull String);
11330    method @RequiresPermission("android.permission.TUNER_RESOURCE_ACCESS") public int getClientPriority(int);
11331    method @RequiresPermission("android.permission.TUNER_RESOURCE_ACCESS") public int getClientPriority(int, @NonNull String);
11332    method @FlaggedApi("android.media.tv.flags.kids_mode_tvdb_sharing") @RequiresPermission(android.Manifest.permission.SINGLE_USER_TIS_ACCESS) public int getClientUserId(@NonNull String);
11333    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_TUNED_INFO) public java.util.List<android.media.tv.TunedInfo> getCurrentTunedInfos();
11334    method @NonNull @RequiresPermission("android.permission.DVB_DEVICE") public java.util.List<android.media.tv.DvbDeviceInfo> getDvbDeviceList();
11335    method @Nullable @RequiresPermission(android.Manifest.permission.TIS_EXTENSION_INTERFACE) public android.os.IBinder getExtensionInterface(@NonNull String, @NonNull String);
11336    method @RequiresPermission(android.Manifest.permission.TV_INPUT_HARDWARE) public java.util.List<android.media.tv.TvInputHardwareInfo> getHardwareList();
11337    method @RequiresPermission(android.Manifest.permission.READ_CONTENT_RATING_SYSTEMS) public java.util.List<android.media.tv.TvContentRatingSystemInfo> getTvContentRatingSystemList();
11338    method @RequiresPermission(android.Manifest.permission.CAPTURE_TV_INPUT) public boolean isSingleSessionActive();
11339    method @RequiresPermission(android.Manifest.permission.NOTIFY_TV_INPUTS) public void notifyPreviewProgramAddedToWatchNext(String, long, long);
11340    method @RequiresPermission(android.Manifest.permission.NOTIFY_TV_INPUTS) public void notifyPreviewProgramBrowsableDisabled(String, long);
11341    method @RequiresPermission(android.Manifest.permission.NOTIFY_TV_INPUTS) public void notifyWatchNextProgramBrowsableDisabled(String, long);
11342    method @Nullable @RequiresPermission("android.permission.DVB_DEVICE") public android.os.ParcelFileDescriptor openDvbDevice(@NonNull android.media.tv.DvbDeviceInfo, int);
11343    method @RequiresPermission(android.Manifest.permission.TV_INPUT_HARDWARE) public void releaseTvInputHardware(int, android.media.tv.TvInputManager.Hardware);
11344    method @RequiresPermission(android.Manifest.permission.MODIFY_PARENTAL_CONTROLS) public void removeBlockedRating(@NonNull android.media.tv.TvContentRating);
11345    method @RequiresPermission(android.Manifest.permission.MODIFY_PARENTAL_CONTROLS) public void setParentalControlsEnabled(boolean);
11346  }
11347
11348  public static final class TvInputManager.Hardware {
11349    method public void overrideAudioSink(@NonNull android.media.AudioDeviceInfo, @IntRange(from=0) int, int, int);
11350    method public void overrideAudioSink(int, String, int, int, int);
11351    method public void setStreamVolume(float);
11352    method public boolean setSurface(android.view.Surface, android.media.tv.TvStreamConfig);
11353  }
11354
11355  public abstract static class TvInputManager.HardwareCallback {
11356    ctor public TvInputManager.HardwareCallback();
11357    method public abstract void onReleased();
11358    method public abstract void onStreamConfigChanged(android.media.tv.TvStreamConfig[]);
11359  }
11360
11361  public abstract static class TvInputManager.TvInputCallback {
11362    method @RequiresPermission(android.Manifest.permission.ACCESS_TUNED_INFO) public void onCurrentTunedInfosUpdated(@NonNull java.util.List<android.media.tv.TunedInfo>);
11363  }
11364
11365  public abstract class TvInputService extends android.app.Service {
11366    method @Nullable public android.os.IBinder createExtension();
11367    method @NonNull public java.util.List<java.lang.String> getAvailableExtensionInterfaceNames();
11368    method @Nullable public android.os.IBinder getExtensionInterface(@NonNull String);
11369    method @Nullable public String getExtensionInterfacePermission(@NonNull String);
11370    method @Nullable public android.media.tv.TvInputInfo onHardwareAdded(android.media.tv.TvInputHardwareInfo);
11371    method @Nullable public String onHardwareRemoved(android.media.tv.TvInputHardwareInfo);
11372    method @Nullable public android.media.tv.TvInputInfo onHdmiDeviceAdded(android.hardware.hdmi.HdmiDeviceInfo);
11373    method @Nullable public String onHdmiDeviceRemoved(android.hardware.hdmi.HdmiDeviceInfo);
11374    method public void onHdmiDeviceUpdated(@NonNull android.hardware.hdmi.HdmiDeviceInfo);
11375  }
11376
11377  public abstract static class TvInputService.RecordingSession {
11378    method public void notifySessionEvent(@NonNull String, android.os.Bundle);
11379  }
11380
11381  public abstract static class TvInputService.Session implements android.view.KeyEvent.Callback {
11382    method public void notifySessionEvent(@NonNull String, android.os.Bundle);
11383    method public void onSetMain(boolean);
11384  }
11385
11386  @FlaggedApi("android.media.tv.flags.tif_extension_standardization") public final class TvInputServiceExtensionManager {
11387    method @RequiresPermission(android.Manifest.permission.TV_INPUT_HARDWARE) public int registerExtensionIBinder(@NonNull String, @NonNull android.os.IBinder);
11388    field public static final String IANALOG_ATTRIBUTE_INTERFACE = "android.media.tv.extension.analog.IAnalogAttributeInterface";
11389    field public static final String IANALOG_AUDIO_INFO = "android.media.tv.extension.signal.IAnalogAudioInfo";
11390    field public static final String IAUDIO_SIGNAL_INFO = "android.media.tv.extension.signal.IAudioSignalInfo";
11391    field public static final String IAUDIO_SIGNAL_INFO_LISTENER = "android.media.tv.extension.signal.IAudioSignalInfoListener";
11392    field public static final String IBROADCAST_TIME = "android.media.tv.extension.time.IBroadcastTime";
11393    field public static final String ICAM_APP_INFO_LISTENER = "android.media.tv.extension.cam.ICamAppInfoListener";
11394    field public static final String ICAM_APP_INFO_SERVICE = "android.media.tv.extension.cam.ICamAppInfoService";
11395    field public static final String ICAM_DRM_INFO_LISTENER = "android.media.tv.extension.cam.ICamDrmInfoListener";
11396    field public static final String ICAM_HOST_CONTROL_ASK_RELEASE_REPLY_CALLBACK = "android.media.tv.extension.cam.ICamHostControlAskReleaseReplyCallback";
11397    field public static final String ICAM_HOST_CONTROL_INFO_LISTENER = "android.media.tv.extension.cam.ICamHostControlInfoListener";
11398    field public static final String ICAM_HOST_CONTROL_SERVICE = "android.media.tv.extension.cam.ICamHostControlService";
11399    field public static final String ICAM_HOST_CONTROL_TUNE_QUIETLY_FLAG = "android.media.tv.extension.cam.ICamHostControlTuneQuietlyFlag";
11400    field public static final String ICAM_HOST_CONTROL_TUNE_QUIETLY_FLAG_LISTENER = "android.media.tv.extension.cam.ICamHostControlTuneQuietlyFlagListener";
11401    field public static final String ICAM_INFO_LISTENER = "android.media.tv.extension.cam.ICamInfoListener";
11402    field public static final String ICAM_MONITORING_SERVICE = "android.media.tv.extension.cam.ICamMonitoringService";
11403    field public static final String ICAM_PIN_CAPABILITY_LISTENER = "android.media.tv.extension.cam.ICamPinCapabilityListener";
11404    field public static final String ICAM_PIN_SERVICE = "android.media.tv.extension.cam.ICamPinService";
11405    field public static final String ICAM_PIN_STATUS_LISTENER = "android.media.tv.extension.cam.ICamPinStatusListener";
11406    field public static final String ICAM_PROFILE_INTERFACE = "android.media.tv.extension.cam.ICamProfileInterface";
11407    field public static final String ICHANNEL_LIST_TRANSFER = "android.media.tv.extension.servicedb.IChannelListTransfer";
11408    field public static final String ICHANNEL_TUNED_INTERFACE = "android.media.tv.extension.tune.IChannelTunedInterface";
11409    field public static final String ICHANNEL_TUNED_LISTENER = "android.media.tv.extension.tune.IChannelTunedListener";
11410    field public static final String ICI_OPERATOR_INTERFACE = "android.media.tv.extension.cam.ICiOperatorInterface";
11411    field public static final String ICI_OPERATOR_LISTENER = "android.media.tv.extension.cam.ICiOperatorListener";
11412    field public static final String ICLIENT_TOKEN = "android.media.tv.extension.clienttoken.IClientToken";
11413    field public static final String ICONTENT_CONTROL_SERVICE = "android.media.tv.extension.cam.IContentControlService";
11414    field public static final String IDATA_SERVICE_SIGNAL_INFO = "android.media.tv.extension.teletext.IDataServiceSignalInfo";
11415    field public static final String IDATA_SERVICE_SIGNAL_INFO_LISTENER = "android.media.tv.extension.teletext.IDataServiceSignalInfoListener";
11416    field public static final String IDELETE_RECORDED_CONTENTS_CALLBACK = "android.media.tv.extension.pvr.IDeleteRecordedContentsCallback";
11417    field public static final String IDOWNLOADABLE_RATING_TABLE_MONITOR = "android.media.tv.extension.rating.IDownloadableRatingTableMonitor";
11418    field public static final String IENTER_MENU_ERROR_CALLBACK = "android.media.tv.extension.cam.IEnterMenuErrorCallback";
11419    field public static final String IEVENT_DOWNLOAD = "android.media.tv.extension.event.IEventDownload";
11420    field public static final String IEVENT_DOWNLOAD_LISTENER = "android.media.tv.extension.event.IEventDownloadListener";
11421    field public static final String IEVENT_DOWNLOAD_SESSION = "android.media.tv.extension.event.IEventDownloadSession";
11422    field public static final String IEVENT_MONITOR = "android.media.tv.extension.event.IEventMonitor";
11423    field public static final String IEVENT_MONITOR_LISTENER = "android.media.tv.extension.event.IEventMonitorListener";
11424    field public static final String IFAVORITE_NETWORK = "android.media.tv.extension.scan.IFavoriteNetwork";
11425    field public static final String IFAVORITE_NETWORK_LISTENER = "android.media.tv.extension.scan.IFavoriteNetworkListener";
11426    field public static final String IGET_INFO_RECORDED_CONTENTS_CALLBACK = "android.media.tv.extension.pvr.IGetInfoRecordedContentsCallback";
11427    field public static final String IHDMI_SIGNAL_INFO_LISTENER = "android.media.tv.extension.signal.IHdmiSignalInfoListener";
11428    field public static final String IHDMI_SIGNAL_INTERFACE = "android.media.tv.extension.signal.IHdmiSignalInterface";
11429    field public static final String IHDPLUS_INFO = "android.media.tv.extension.scan.IHDPlusInfo";
11430    field public static final String ILCNV2_CHANNEL_LIST = "android.media.tv.extension.scan.ILcnV2ChannelList";
11431    field public static final String ILCNV2_CHANNEL_LIST_LISTENER = "android.media.tv.extension.scan.ILcnV2ChannelListListener";
11432    field public static final String ILCN_CONFLICT = "android.media.tv.extension.scan.ILcnConflict";
11433    field public static final String ILCN_CONFLICT_LISTENER = "android.media.tv.extension.scan.ILcnConflictListener";
11434    field public static final String IMMI_INTERFACE = "android.media.tv.extension.cam.IMmiInterface";
11435    field public static final String IMMI_SESSION = "android.media.tv.extension.cam.IMmiSession";
11436    field public static final String IMMI_STATUS_CALLBACK = "android.media.tv.extension.cam.IMmiStatusCallback";
11437    field public static final String IMUX_TUNE = "android.media.tv.extension.tune.IMuxTune";
11438    field public static final String IMUX_TUNE_SESSION = "android.media.tv.extension.tune.IMuxTuneSession";
11439    field public static final String IOAD_UPDATE_INTERFACE = "android.media.tv.extension.oad.IOadUpdateInterface";
11440    field public static final String IOPERATOR_DETECTION = "android.media.tv.extension.scan.IOperatorDetection";
11441    field public static final String IOPERATOR_DETECTION_LISTENER = "android.media.tv.extension.scan.IOperatorDetectionListener";
11442    field public static final String IPMT_RATING_INTERFACE = "android.media.tv.extension.rating.IPmtRatingInterface";
11443    field public static final String IPMT_RATING_LISTENER = "android.media.tv.extension.rating.IPmtRatingListener";
11444    field public static final String IPROGRAM_INFO = "android.media.tv.extension.rating.IProgramInfo";
11445    field public static final String IPROGRAM_INFO_LISTENER = "android.media.tv.extension.rating.IProgramInfoListener";
11446    field public static final String IRATING_INTERFACE = "android.media.tv.extension.rating.IRatingInterface";
11447    field public static final String IRECORDED_CONTENTS = "android.media.tv.extension.pvr.IRecordedContents";
11448    field public static final String IREGION_CHANNEL_LIST = "android.media.tv.extension.scan.IRegionChannelList";
11449    field public static final String IREGION_CHANNEL_LIST_LISTENER = "android.media.tv.extension.scan.IRegionChannelListListener";
11450    field public static final String ISCAN_BACKGROUND_SERVICE_UPDATE = "android.media.tv.extension.scanbsu.IScanBackgroundServiceUpdate";
11451    field public static final String ISCAN_BACKGROUND_SERVICE_UPDATE_LISTENER = "android.media.tv.extension.scanbsu.IScanBackgroundServiceUpdateListener";
11452    field public static final String ISCAN_INTERFACE = "android.media.tv.extension.scan.IScanInterface";
11453    field public static final String ISCAN_LISTENER = "android.media.tv.extension.scan.IScanListener";
11454    field public static final String ISCAN_SAT_SEARCH = "android.media.tv.extension.scan.IScanSatSearch";
11455    field public static final String ISCAN_SESSION = "android.media.tv.extension.scan.IScanSession";
11456    field public static final String ISCREEN_MODE_SETTINGS = "android.media.tv.extension.screenmode.IScreenModeSettings";
11457    field public static final String ISERVICE_LIST = "android.media.tv.extension.servicedb.IServiceList";
11458    field public static final String ISERVICE_LIST_EDIT = "android.media.tv.extension.servicedb.IServiceListEdit";
11459    field public static final String ISERVICE_LIST_EDIT_LISTENER = "android.media.tv.extension.servicedb.IServiceListEditListener";
11460    field public static final String ISERVICE_LIST_EXPORT_LISTENER = "android.media.tv.extension.servicedb.IServiceListExportListener";
11461    field public static final String ISERVICE_LIST_EXPORT_SESSION = "android.media.tv.extension.servicedb.IServiceListExportSession";
11462    field public static final String ISERVICE_LIST_IMPORT_LISTENER = "android.media.tv.extension.servicedb.IServiceListImportListener";
11463    field public static final String ISERVICE_LIST_IMPORT_SESSION = "android.media.tv.extension.servicedb.IServiceListImportSession";
11464    field public static final String ISERVICE_LIST_SET_CHANNEL_LIST_LISTENER = "android.media.tv.extension.servicedb.IServiceListSetChannelListListener";
11465    field public static final String ISERVICE_LIST_SET_CHANNEL_LIST_SESSION = "android.media.tv.extension.servicedb.IServiceListSetChannelListSession";
11466    field public static final String ISERVICE_LIST_TRANSFER_INTERFACE = "android.media.tv.extension.servicedb.IServiceListTransferInterface";
11467    field public static final String ITARGET_REGION = "android.media.tv.extension.scan.ITargetRegion";
11468    field public static final String ITARGET_REGION_LISTENER = "android.media.tv.extension.scan.ITargetRegionListener";
11469    field public static final String ITELETEXT_PAGE_SUB_CODE = "android.media.tv.extension.teletext.ITeletextPageSubCode";
11470    field public static final String ITKGS_INFO = "android.media.tv.extension.scan.ITkgsInfo";
11471    field public static final String ITKGS_INFO_LISTENER = "android.media.tv.extension.scan.ITkgsInfoListener";
11472    field public static final String ITUNER_FRONTEND_SIGNAL_INFO_INTERFACE = "android.media.tv.extension.signal.ITunerFrontendSignalInfoInterface";
11473    field public static final String ITUNER_FRONTEND_SIGNAL_INFO_LISTENER = "android.media.tv.extension.signal.ITunerFrontendSignalInfoListener";
11474    field public static final String IVBI_RATING_INTERFACE = "android.media.tv.extension.rating.IVbiRatingInterface";
11475    field public static final String IVBI_RATING_LISTENER = "android.media.tv.extension.rating.IVbiRatingListener";
11476    field public static final String IVIDEO_SIGNAL_INFO = "android.media.tv.extension.signal.IVideoSignalInfo";
11477    field public static final String IVIDEO_SIGNAL_INFO_LISTENER = "android.media.tv.extension.signal.IVideoSignalInfoListener";
11478    field public static final int REGISTER_FAIL_IMPLEMENTATION_NOT_STANDARDIZED = 2; // 0x2
11479    field public static final int REGISTER_FAIL_NAME_NOT_STANDARDIZED = 1; // 0x1
11480    field public static final int REGISTER_FAIL_REMOTE_EXCEPTION = 3; // 0x3
11481    field public static final int REGISTER_SUCCESS = 0; // 0x0
11482  }
11483
11484  public abstract static class TvRecordingClient.RecordingCallback {
11485    method public void onEvent(String, String, android.os.Bundle);
11486  }
11487
11488  public class TvStreamConfig implements android.os.Parcelable {
11489    method public int describeContents();
11490    method public int getGeneration();
11491    method public int getMaxHeight();
11492    method public int getMaxWidth();
11493    method public int getStreamId();
11494    method public int getType();
11495    method public void writeToParcel(android.os.Parcel, int);
11496    field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.TvStreamConfig> CREATOR;
11497    field public static final int STREAM_TYPE_BUFFER_PRODUCER = 2; // 0x2
11498    field public static final int STREAM_TYPE_INDEPENDENT_VIDEO_SOURCE = 1; // 0x1
11499  }
11500
11501  public static final class TvStreamConfig.Builder {
11502    ctor public TvStreamConfig.Builder();
11503    method public android.media.tv.TvStreamConfig build();
11504    method public android.media.tv.TvStreamConfig.Builder generation(int);
11505    method public android.media.tv.TvStreamConfig.Builder maxHeight(int);
11506    method public android.media.tv.TvStreamConfig.Builder maxWidth(int);
11507    method public android.media.tv.TvStreamConfig.Builder streamId(int);
11508    method public android.media.tv.TvStreamConfig.Builder type(int);
11509  }
11510
11511  public class TvView extends android.view.ViewGroup {
11512    method @RequiresPermission("android.permission.CHANGE_HDMI_CEC_ACTIVE_SOURCE") public void setMain();
11513    method @RequiresPermission(android.Manifest.permission.MODIFY_PARENTAL_CONTROLS) public void unblockContent(android.media.tv.TvContentRating);
11514  }
11515
11516  public abstract static class TvView.TvInputCallback {
11517    method public void onEvent(String, String, android.os.Bundle);
11518  }
11519
11520}
11521
11522package android.media.tv.tuner {
11523
11524  public class DemuxCapabilities {
11525    method public int getAudioFilterCount();
11526    method public int getDemuxCount();
11527    method public int getFilterCapabilities();
11528    method @NonNull public int[] getFilterTypeCapabilityList();
11529    method @NonNull @Size(5) public int[] getLinkCapabilities();
11530    method public int getPcrFilterCount();
11531    method public int getPesFilterCount();
11532    method public int getPlaybackCount();
11533    method public int getRecordCount();
11534    method public int getSectionFilterCount();
11535    method public long getSectionFilterLength();
11536    method public int getTsFilterCount();
11537    method public int getVideoFilterCount();
11538    method public boolean isTimeFilterSupported();
11539  }
11540
11541  public class DemuxInfo {
11542    ctor public DemuxInfo(int);
11543    method public int getFilterTypes();
11544    method public void setFilterTypes(int);
11545  }
11546
11547  public class Descrambler implements java.lang.AutoCloseable {
11548    method public int addPid(int, int, @Nullable android.media.tv.tuner.filter.Filter);
11549    method public void close();
11550    method public static boolean isValidKeyToken(@NonNull byte[]);
11551    method public int removePid(int, int, @Nullable android.media.tv.tuner.filter.Filter);
11552    method public int setKeyToken(@NonNull byte[]);
11553    field public static final int PID_TYPE_MMTP = 2; // 0x2
11554    field public static final int PID_TYPE_T = 1; // 0x1
11555  }
11556
11557  public class Lnb implements java.lang.AutoCloseable {
11558    method public void addCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.LnbCallback);
11559    method public void close();
11560    method public boolean removeCallback(@NonNull android.media.tv.tuner.LnbCallback);
11561    method public int sendDiseqcMessage(@NonNull byte[]);
11562    method public int setSatellitePosition(int);
11563    method public int setTone(int);
11564    method public int setVoltage(int);
11565    field public static final int EVENT_TYPE_DISEQC_RX_OVERFLOW = 0; // 0x0
11566    field public static final int EVENT_TYPE_DISEQC_RX_PARITY_ERROR = 2; // 0x2
11567    field public static final int EVENT_TYPE_DISEQC_RX_TIMEOUT = 1; // 0x1
11568    field public static final int EVENT_TYPE_LNB_OVERLOAD = 3; // 0x3
11569    field public static final int POSITION_A = 1; // 0x1
11570    field public static final int POSITION_B = 2; // 0x2
11571    field public static final int POSITION_UNDEFINED = 0; // 0x0
11572    field public static final int TONE_CONTINUOUS = 1; // 0x1
11573    field public static final int TONE_NONE = 0; // 0x0
11574    field public static final int VOLTAGE_11V = 2; // 0x2
11575    field public static final int VOLTAGE_12V = 3; // 0x3
11576    field public static final int VOLTAGE_13V = 4; // 0x4
11577    field public static final int VOLTAGE_14V = 5; // 0x5
11578    field public static final int VOLTAGE_15V = 6; // 0x6
11579    field public static final int VOLTAGE_18V = 7; // 0x7
11580    field public static final int VOLTAGE_19V = 8; // 0x8
11581    field public static final int VOLTAGE_5V = 1; // 0x1
11582    field public static final int VOLTAGE_NONE = 0; // 0x0
11583  }
11584
11585  public interface LnbCallback {
11586    method public void onDiseqcMessage(@NonNull byte[]);
11587    method public void onEvent(int);
11588  }
11589
11590  public class Tuner implements java.lang.AutoCloseable {
11591    ctor @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public Tuner(@NonNull android.content.Context, @Nullable String, int);
11592    method public int applyFrontend(@NonNull android.media.tv.tuner.frontend.FrontendInfo);
11593    method @FlaggedApi("android.media.tv.flags.tuner_w_apis") @RequiresPermission(allOf={"android.permission.TUNER_RESOURCE_ACCESS", "android.permission.ACCESS_TV_TUNER"}) public int applyFrontendByType(int);
11594    method public int cancelScanning();
11595    method public int cancelTuning();
11596    method public void clearOnTuneEventListener();
11597    method public void clearResourceLostListener();
11598    method public void close();
11599    method public void closeFrontend();
11600    method public int configureDemux(@Nullable android.media.tv.tuner.DemuxInfo);
11601    method public int connectCiCam(int);
11602    method public int connectFrontendToCiCam(int);
11603    method public int disconnectCiCam();
11604    method public int disconnectFrontendToCiCam(int);
11605    method public int getAvSyncHwId(@NonNull android.media.tv.tuner.filter.Filter);
11606    method public long getAvSyncTime(int);
11607    method @Nullable public java.util.List<android.media.tv.tuner.frontend.FrontendInfo> getAvailableFrontendInfos();
11608    method @Nullable public android.media.tv.tuner.DemuxInfo getCurrentDemuxInfo();
11609    method @Nullable public String getCurrentFrontendHardwareInfo();
11610    method @Nullable public android.media.tv.tuner.DemuxCapabilities getDemuxCapabilities();
11611    method @Nullable public android.media.tv.tuner.frontend.FrontendInfo getFrontendInfo();
11612    method @Nullable public android.media.tv.tuner.frontend.FrontendStatus getFrontendStatus(@NonNull int[]);
11613    method @NonNull public java.util.List<android.media.tv.tuner.frontend.FrontendStatusReadiness> getFrontendStatusReadiness(@NonNull int[]);
11614    method @IntRange(from=0xffffffff) public int getMaxNumberOfFrontends(int);
11615    method @RequiresPermission("android.permission.TUNER_RESOURCE_ACCESS") public boolean hasUnusedFrontend(int);
11616    method public boolean isLnaSupported();
11617    method public boolean isLowestPriority(int);
11618    method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_TV_DESCRAMBLER) public android.media.tv.tuner.Descrambler openDescrambler();
11619    method @Nullable public android.media.tv.tuner.dvr.DvrPlayback openDvrPlayback(long, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.dvr.OnPlaybackStatusChangedListener);
11620    method @Nullable public android.media.tv.tuner.dvr.DvrRecorder openDvrRecorder(long, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.dvr.OnRecordStatusChangedListener);
11621    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);
11622    method @Nullable public android.media.tv.tuner.Lnb openLnb(@NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.LnbCallback);
11623    method @Nullable public android.media.tv.tuner.Lnb openLnbByName(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.LnbCallback);
11624    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);
11625    method @Nullable public android.media.tv.tuner.filter.TimeFilter openTimeFilter();
11626    method public int removeOutputPid(@IntRange(from=0) int);
11627    method public int scan(@NonNull android.media.tv.tuner.frontend.FrontendSettings, int, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.frontend.ScanCallback);
11628    method public int setLnaEnabled(boolean);
11629    method public int setMaxNumberOfFrontends(int, @IntRange(from=0) int);
11630    method public void setOnTuneEventListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.frontend.OnTuneEventListener);
11631    method public void setResourceLostListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.Tuner.OnResourceLostListener);
11632    method @FlaggedApi("android.media.tv.flags.set_resource_holder_retain") @RequiresPermission("android.permission.TUNER_RESOURCE_ACCESS") public void setResourceOwnershipRetention(boolean);
11633    method public void shareFrontendFromTuner(@NonNull android.media.tv.tuner.Tuner);
11634    method public int transferOwner(@NonNull android.media.tv.tuner.Tuner);
11635    method public int tune(@NonNull android.media.tv.tuner.frontend.FrontendSettings);
11636    method @RequiresPermission("android.permission.TUNER_RESOURCE_ACCESS") public void updateResourcePriority(int, int);
11637    field public static final int INVALID_AV_SYNC_ID = -1; // 0xffffffff
11638    field public static final int INVALID_FILTER_ID = -1; // 0xffffffff
11639    field public static final long INVALID_FILTER_ID_LONG = -1L; // 0xffffffffffffffffL
11640    field public static final int INVALID_FIRST_MACROBLOCK_IN_SLICE = -1; // 0xffffffff
11641    field public static final int INVALID_FRONTEND_ID = -1; // 0xffffffff
11642    field public static final int INVALID_FRONTEND_SETTING_FREQUENCY = -1; // 0xffffffff
11643    field public static final int INVALID_LTS_ID = -1; // 0xffffffff
11644    field public static final int INVALID_MMTP_RECORD_EVENT_MPT_SEQUENCE_NUM = -1; // 0xffffffff
11645    field public static final int INVALID_STREAM_ID = 65535; // 0xffff
11646    field public static final long INVALID_TIMESTAMP = -1L; // 0xffffffffffffffffL
11647    field public static final int INVALID_TS_PID = 65535; // 0xffff
11648    field public static final int RESULT_INVALID_ARGUMENT = 4; // 0x4
11649    field public static final int RESULT_INVALID_STATE = 3; // 0x3
11650    field public static final int RESULT_NOT_INITIALIZED = 2; // 0x2
11651    field public static final int RESULT_OUT_OF_MEMORY = 5; // 0x5
11652    field public static final int RESULT_SUCCESS = 0; // 0x0
11653    field public static final int RESULT_UNAVAILABLE = 1; // 0x1
11654    field public static final int RESULT_UNKNOWN_ERROR = 6; // 0x6
11655    field public static final int SCAN_TYPE_AUTO = 1; // 0x1
11656    field public static final int SCAN_TYPE_BLIND = 2; // 0x2
11657    field public static final int SCAN_TYPE_UNDEFINED = 0; // 0x0
11658    field @NonNull public static final byte[] VOID_KEYTOKEN;
11659  }
11660
11661  public static interface Tuner.OnResourceLostListener {
11662    method public void onResourceLost(@NonNull android.media.tv.tuner.Tuner);
11663  }
11664
11665  public final class TunerVersionChecker {
11666    method public static int getTunerVersion();
11667    field public static final int TUNER_VERSION_1_0 = 65536; // 0x10000
11668    field public static final int TUNER_VERSION_1_1 = 65537; // 0x10001
11669    field public static final int TUNER_VERSION_2_0 = 131072; // 0x20000
11670    field public static final int TUNER_VERSION_3_0 = 196608; // 0x30000
11671    field @FlaggedApi("android.media.tv.flags.tuner_w_apis") public static final int TUNER_VERSION_4_0 = 262144; // 0x40000
11672    field public static final int TUNER_VERSION_UNKNOWN = 0; // 0x0
11673  }
11674
11675}
11676
11677package android.media.tv.tuner.dvr {
11678
11679  public class DvrPlayback implements java.lang.AutoCloseable {
11680    method @Deprecated public int attachFilter(@NonNull android.media.tv.tuner.filter.Filter);
11681    method public void close();
11682    method public int configure(@NonNull android.media.tv.tuner.dvr.DvrSettings);
11683    method @Deprecated public int detachFilter(@NonNull android.media.tv.tuner.filter.Filter);
11684    method public int flush();
11685    method public long read(@NonNull byte[], long, long);
11686    method public long read(long);
11687    method public long seek(long);
11688    method public void setFileDescriptor(@NonNull android.os.ParcelFileDescriptor);
11689    method public int setPlaybackBufferStatusCheckIntervalHint(long);
11690    method public int start();
11691    method public int stop();
11692    field public static final int PLAYBACK_STATUS_ALMOST_EMPTY = 2; // 0x2
11693    field public static final int PLAYBACK_STATUS_ALMOST_FULL = 4; // 0x4
11694    field public static final int PLAYBACK_STATUS_EMPTY = 1; // 0x1
11695    field public static final int PLAYBACK_STATUS_FULL = 8; // 0x8
11696  }
11697
11698  public class DvrRecorder implements java.lang.AutoCloseable {
11699    method public int attachFilter(@NonNull android.media.tv.tuner.filter.Filter);
11700    method public void close();
11701    method public int configure(@NonNull android.media.tv.tuner.dvr.DvrSettings);
11702    method public int detachFilter(@NonNull android.media.tv.tuner.filter.Filter);
11703    method public int flush();
11704    method public void setFileDescriptor(@NonNull android.os.ParcelFileDescriptor);
11705    method public int setRecordBufferStatusCheckIntervalHint(long);
11706    method public int start();
11707    method public int stop();
11708    method public long write(@NonNull byte[], long, long);
11709    method public long write(long);
11710  }
11711
11712  public class DvrSettings {
11713    method @NonNull public static android.media.tv.tuner.dvr.DvrSettings.Builder builder();
11714    method public int getDataFormat();
11715    method public long getHighThreshold();
11716    method public long getLowThreshold();
11717    method public long getPacketSize();
11718    method public int getStatusMask();
11719    field public static final int DATA_FORMAT_ES = 2; // 0x2
11720    field public static final int DATA_FORMAT_PES = 1; // 0x1
11721    field public static final int DATA_FORMAT_SHV_TLV = 3; // 0x3
11722    field public static final int DATA_FORMAT_TS = 0; // 0x0
11723  }
11724
11725  public static final class DvrSettings.Builder {
11726    ctor public DvrSettings.Builder();
11727    method @NonNull public android.media.tv.tuner.dvr.DvrSettings build();
11728    method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setDataFormat(int);
11729    method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setHighThreshold(long);
11730    method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setLowThreshold(long);
11731    method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setPacketSize(long);
11732    method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setStatusMask(int);
11733  }
11734
11735  public interface OnPlaybackStatusChangedListener {
11736    method public void onPlaybackStatusChanged(int);
11737  }
11738
11739  public interface OnRecordStatusChangedListener {
11740    method public void onRecordStatusChanged(int);
11741  }
11742
11743}
11744
11745package android.media.tv.tuner.filter {
11746
11747  public final class AlpFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
11748    method @NonNull public static android.media.tv.tuner.filter.AlpFilterConfiguration.Builder builder();
11749    method public int getLengthType();
11750    method public int getPacketType();
11751    method public int getType();
11752    field public static final int LENGTH_TYPE_UNDEFINED = 0; // 0x0
11753    field public static final int LENGTH_TYPE_WITHOUT_ADDITIONAL_HEADER = 1; // 0x1
11754    field public static final int LENGTH_TYPE_WITH_ADDITIONAL_HEADER = 2; // 0x2
11755    field public static final int PACKET_TYPE_COMPRESSED = 2; // 0x2
11756    field public static final int PACKET_TYPE_EXTENSION = 6; // 0x6
11757    field public static final int PACKET_TYPE_IPV4 = 0; // 0x0
11758    field public static final int PACKET_TYPE_MPEG2_TS = 7; // 0x7
11759    field public static final int PACKET_TYPE_SIGNALING = 4; // 0x4
11760  }
11761
11762  public static final class AlpFilterConfiguration.Builder {
11763    method @NonNull public android.media.tv.tuner.filter.AlpFilterConfiguration build();
11764    method @NonNull public android.media.tv.tuner.filter.AlpFilterConfiguration.Builder setLengthType(int);
11765    method @NonNull public android.media.tv.tuner.filter.AlpFilterConfiguration.Builder setPacketType(int);
11766    method @NonNull public android.media.tv.tuner.filter.AlpFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings);
11767  }
11768
11769  public class AudioDescriptor {
11770    method public byte getAdFade();
11771    method public byte getAdGainCenter();
11772    method public byte getAdGainFront();
11773    method public byte getAdGainSurround();
11774    method public byte getAdPan();
11775    method public char getAdVersionTextTag();
11776  }
11777
11778  public class AvSettings extends android.media.tv.tuner.filter.Settings {
11779    method @NonNull public static android.media.tv.tuner.filter.AvSettings.Builder builder(int, boolean);
11780    method public int getAudioStreamType();
11781    method public int getVideoStreamType();
11782    method public boolean isPassthrough();
11783    method public boolean useSecureMemory();
11784    field public static final int AUDIO_STREAM_TYPE_AAC = 6; // 0x6
11785    field public static final int AUDIO_STREAM_TYPE_AAC_ADTS = 16; // 0x10
11786    field public static final int AUDIO_STREAM_TYPE_AAC_HE_ADTS = 18; // 0x12
11787    field public static final int AUDIO_STREAM_TYPE_AAC_HE_LATM = 19; // 0x13
11788    field public static final int AUDIO_STREAM_TYPE_AAC_LATM = 17; // 0x11
11789    field public static final int AUDIO_STREAM_TYPE_AC3 = 7; // 0x7
11790    field public static final int AUDIO_STREAM_TYPE_AC4 = 9; // 0x9
11791    field public static final int AUDIO_STREAM_TYPE_DRA = 15; // 0xf
11792    field public static final int AUDIO_STREAM_TYPE_DTS = 10; // 0xa
11793    field public static final int AUDIO_STREAM_TYPE_DTS_HD = 11; // 0xb
11794    field public static final int AUDIO_STREAM_TYPE_EAC3 = 8; // 0x8
11795    field public static final int AUDIO_STREAM_TYPE_MP3 = 2; // 0x2
11796    field public static final int AUDIO_STREAM_TYPE_MPEG1 = 3; // 0x3
11797    field public static final int AUDIO_STREAM_TYPE_MPEG2 = 4; // 0x4
11798    field public static final int AUDIO_STREAM_TYPE_MPEGH = 5; // 0x5
11799    field public static final int AUDIO_STREAM_TYPE_OPUS = 13; // 0xd
11800    field public static final int AUDIO_STREAM_TYPE_PCM = 1; // 0x1
11801    field public static final int AUDIO_STREAM_TYPE_UNDEFINED = 0; // 0x0
11802    field public static final int AUDIO_STREAM_TYPE_VORBIS = 14; // 0xe
11803    field public static final int AUDIO_STREAM_TYPE_WMA = 12; // 0xc
11804    field public static final int VIDEO_STREAM_TYPE_AV1 = 10; // 0xa
11805    field public static final int VIDEO_STREAM_TYPE_AVC = 5; // 0x5
11806    field public static final int VIDEO_STREAM_TYPE_AVS = 11; // 0xb
11807    field public static final int VIDEO_STREAM_TYPE_AVS2 = 12; // 0xc
11808    field public static final int VIDEO_STREAM_TYPE_HEVC = 6; // 0x6
11809    field public static final int VIDEO_STREAM_TYPE_MPEG1 = 2; // 0x2
11810    field public static final int VIDEO_STREAM_TYPE_MPEG2 = 3; // 0x3
11811    field public static final int VIDEO_STREAM_TYPE_MPEG4P2 = 4; // 0x4
11812    field public static final int VIDEO_STREAM_TYPE_RESERVED = 1; // 0x1
11813    field public static final int VIDEO_STREAM_TYPE_UNDEFINED = 0; // 0x0
11814    field public static final int VIDEO_STREAM_TYPE_VC1 = 7; // 0x7
11815    field public static final int VIDEO_STREAM_TYPE_VP8 = 8; // 0x8
11816    field public static final int VIDEO_STREAM_TYPE_VP9 = 9; // 0x9
11817    field public static final int VIDEO_STREAM_TYPE_VVC = 13; // 0xd
11818  }
11819
11820  public static class AvSettings.Builder {
11821    method @NonNull public android.media.tv.tuner.filter.AvSettings build();
11822    method @NonNull public android.media.tv.tuner.filter.AvSettings.Builder setAudioStreamType(int);
11823    method @NonNull public android.media.tv.tuner.filter.AvSettings.Builder setPassthrough(boolean);
11824    method @NonNull public android.media.tv.tuner.filter.AvSettings.Builder setUseSecureMemory(boolean);
11825    method @NonNull public android.media.tv.tuner.filter.AvSettings.Builder setVideoStreamType(int);
11826  }
11827
11828  public class DownloadEvent extends android.media.tv.tuner.filter.FilterEvent {
11829    method public int getDataLength();
11830    method public int getDownloadId();
11831    method public int getItemFragmentIndex();
11832    method public int getItemId();
11833    method public int getLastItemFragmentIndex();
11834    method @IntRange(from=0) public int getMpuSequenceNumber();
11835  }
11836
11837  public class DownloadSettings extends android.media.tv.tuner.filter.Settings {
11838    method @NonNull public static android.media.tv.tuner.filter.DownloadSettings.Builder builder(int);
11839    method public int getDownloadId();
11840    method public boolean useDownloadId();
11841  }
11842
11843  public static class DownloadSettings.Builder {
11844    method @NonNull public android.media.tv.tuner.filter.DownloadSettings build();
11845    method @NonNull public android.media.tv.tuner.filter.DownloadSettings.Builder setDownloadId(int);
11846    method @NonNull public android.media.tv.tuner.filter.DownloadSettings.Builder setUseDownloadId(boolean);
11847  }
11848
11849  public class Filter implements java.lang.AutoCloseable {
11850    method @Nullable public String acquireSharedFilterToken();
11851    method public void close();
11852    method public int configure(@NonNull android.media.tv.tuner.filter.FilterConfiguration);
11853    method public int delayCallbackForDurationMillis(long);
11854    method public int delayCallbackUntilBytesAccumulated(int);
11855    method public int flush();
11856    method public void freeSharedFilterToken(@NonNull String);
11857    method @Deprecated public int getId();
11858    method public long getIdLong();
11859    method public int read(@NonNull byte[], long, long);
11860    method public int setDataSource(@Nullable android.media.tv.tuner.filter.Filter);
11861    method public int setMonitorEventMask(int);
11862    method public int start();
11863    method public int stop();
11864    field public static final int MONITOR_EVENT_IP_CID_CHANGE = 2; // 0x2
11865    field public static final int MONITOR_EVENT_SCRAMBLING_STATUS = 1; // 0x1
11866    field public static final int SCRAMBLING_STATUS_NOT_SCRAMBLED = 2; // 0x2
11867    field public static final int SCRAMBLING_STATUS_SCRAMBLED = 4; // 0x4
11868    field public static final int SCRAMBLING_STATUS_UNKNOWN = 1; // 0x1
11869    field public static final int STATUS_DATA_READY = 1; // 0x1
11870    field public static final int STATUS_HIGH_WATER = 4; // 0x4
11871    field public static final int STATUS_LOW_WATER = 2; // 0x2
11872    field public static final int STATUS_NO_DATA = 16; // 0x10
11873    field public static final int STATUS_OVERFLOW = 8; // 0x8
11874    field public static final int SUBTYPE_AUDIO = 3; // 0x3
11875    field public static final int SUBTYPE_DOWNLOAD = 5; // 0x5
11876    field public static final int SUBTYPE_IP = 13; // 0xd
11877    field public static final int SUBTYPE_IP_PAYLOAD = 12; // 0xc
11878    field public static final int SUBTYPE_MMTP = 10; // 0xa
11879    field public static final int SUBTYPE_NTP = 11; // 0xb
11880    field public static final int SUBTYPE_PAYLOAD_THROUGH = 14; // 0xe
11881    field public static final int SUBTYPE_PCR = 8; // 0x8
11882    field public static final int SUBTYPE_PES = 2; // 0x2
11883    field public static final int SUBTYPE_PTP = 16; // 0x10
11884    field public static final int SUBTYPE_RECORD = 6; // 0x6
11885    field public static final int SUBTYPE_SECTION = 1; // 0x1
11886    field public static final int SUBTYPE_TEMI = 9; // 0x9
11887    field public static final int SUBTYPE_TLV = 15; // 0xf
11888    field public static final int SUBTYPE_TS = 7; // 0x7
11889    field public static final int SUBTYPE_UNDEFINED = 0; // 0x0
11890    field public static final int SUBTYPE_VIDEO = 4; // 0x4
11891    field public static final int TYPE_ALP = 16; // 0x10
11892    field public static final int TYPE_IP = 4; // 0x4
11893    field public static final int TYPE_MMTP = 2; // 0x2
11894    field public static final int TYPE_TLV = 8; // 0x8
11895    field public static final int TYPE_TS = 1; // 0x1
11896    field public static final int TYPE_UNDEFINED = 0; // 0x0
11897  }
11898
11899  public interface FilterCallback {
11900    method public void onFilterEvent(@NonNull android.media.tv.tuner.filter.Filter, @NonNull android.media.tv.tuner.filter.FilterEvent[]);
11901    method public void onFilterStatusChanged(@NonNull android.media.tv.tuner.filter.Filter, int);
11902  }
11903
11904  public abstract class FilterConfiguration {
11905    method @Nullable public android.media.tv.tuner.filter.Settings getSettings();
11906    method public abstract int getType();
11907  }
11908
11909  public abstract class FilterEvent {
11910    ctor public FilterEvent();
11911  }
11912
11913  public final class IpCidChangeEvent extends android.media.tv.tuner.filter.FilterEvent {
11914    method public int getIpCid();
11915  }
11916
11917  public final class IpFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
11918    method @NonNull public static android.media.tv.tuner.filter.IpFilterConfiguration.Builder builder();
11919    method @NonNull @Size(min=4, max=16) public byte[] getDstIpAddress();
11920    method public int getDstPort();
11921    method @IntRange(from=0, to=61439) public int getIpFilterContextId();
11922    method @NonNull @Size(min=4, max=16) public byte[] getSrcIpAddress();
11923    method public int getSrcPort();
11924    method public int getType();
11925    method public boolean isPassthrough();
11926    field public static final int INVALID_IP_FILTER_CONTEXT_ID = -1; // 0xffffffff
11927  }
11928
11929  public static final class IpFilterConfiguration.Builder {
11930    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration build();
11931    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setDstIpAddress(@NonNull byte[]);
11932    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setDstPort(int);
11933    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setIpFilterContextId(int);
11934    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setPassthrough(boolean);
11935    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings);
11936    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setSrcIpAddress(@NonNull byte[]);
11937    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setSrcPort(int);
11938  }
11939
11940  public class IpPayloadEvent extends android.media.tv.tuner.filter.FilterEvent {
11941    method public int getDataLength();
11942  }
11943
11944  public class MediaEvent extends android.media.tv.tuner.filter.FilterEvent {
11945    method protected void finalize();
11946    method public long getAudioHandle();
11947    method @NonNull public java.util.List<android.media.AudioPresentation> getAudioPresentations();
11948    method public long getAvDataId();
11949    method @FlaggedApi("android.media.tv.flags.tuner_w_apis") public int getDataGroupId();
11950    method public long getDataLength();
11951    method public long getDts();
11952    method @Nullable public android.media.tv.tuner.filter.AudioDescriptor getExtraMetaData();
11953    method @FlaggedApi("android.media.tv.flags.tuner_w_apis") @IntRange(from=0) public int getIndexInDataGroup();
11954    method @Nullable public android.media.MediaCodec.LinearBlock getLinearBlock();
11955    method @IntRange(from=0) public int getMpuSequenceNumber();
11956    method @FlaggedApi("android.media.tv.flags.tuner_w_apis") @IntRange(from=0) public int getNumDataPieces();
11957    method public long getOffset();
11958    method public long getPts();
11959    method public int getScIndexMask();
11960    method public int getStreamId();
11961    method public boolean isDtsPresent();
11962    method public boolean isPrivateData();
11963    method public boolean isPtsPresent();
11964    method public boolean isSecureMemory();
11965    method public void release();
11966  }
11967
11968  public final class MmtpFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
11969    method @NonNull public static android.media.tv.tuner.filter.MmtpFilterConfiguration.Builder builder();
11970    method public int getMmtpPacketId();
11971    method public int getType();
11972  }
11973
11974  public static final class MmtpFilterConfiguration.Builder {
11975    method @NonNull public android.media.tv.tuner.filter.MmtpFilterConfiguration build();
11976    method @NonNull public android.media.tv.tuner.filter.MmtpFilterConfiguration.Builder setMmtpPacketId(int);
11977    method @NonNull public android.media.tv.tuner.filter.MmtpFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings);
11978  }
11979
11980  public class MmtpRecordEvent extends android.media.tv.tuner.filter.FilterEvent {
11981    method public long getDataLength();
11982    method public int getFirstMacroblockInSlice();
11983    method @IntRange(from=0) public int getMpuSequenceNumber();
11984    method public long getPts();
11985    method public int getScHevcIndexMask();
11986    method public int getTsIndexMask();
11987  }
11988
11989  public class PesEvent extends android.media.tv.tuner.filter.FilterEvent {
11990    method public int getDataLength();
11991    method @IntRange(from=0) public int getMpuSequenceNumber();
11992    method public int getStreamId();
11993  }
11994
11995  public class PesSettings extends android.media.tv.tuner.filter.Settings {
11996    method @NonNull public static android.media.tv.tuner.filter.PesSettings.Builder builder(int);
11997    method public int getStreamId();
11998    method public boolean isRaw();
11999  }
12000
12001  public static class PesSettings.Builder {
12002    method @NonNull public android.media.tv.tuner.filter.PesSettings build();
12003    method @NonNull public android.media.tv.tuner.filter.PesSettings.Builder setRaw(boolean);
12004    method @NonNull public android.media.tv.tuner.filter.PesSettings.Builder setStreamId(int);
12005  }
12006
12007  public class RecordSettings extends android.media.tv.tuner.filter.Settings {
12008    method @NonNull public static android.media.tv.tuner.filter.RecordSettings.Builder builder(int);
12009    method public int getScIndexMask();
12010    method public int getScIndexType();
12011    method public int getTsIndexMask();
12012    field public static final int INDEX_TYPE_NONE = 0; // 0x0
12013    field public static final int INDEX_TYPE_SC = 1; // 0x1
12014    field public static final int INDEX_TYPE_SC_AVC = 3; // 0x3
12015    field public static final int INDEX_TYPE_SC_HEVC = 2; // 0x2
12016    field public static final int INDEX_TYPE_SC_VVC = 4; // 0x4
12017    field public static final int MPT_INDEX_AUDIO = 262144; // 0x40000
12018    field public static final int MPT_INDEX_MPT = 65536; // 0x10000
12019    field public static final int MPT_INDEX_TIMESTAMP_TARGET_AUDIO = 1048576; // 0x100000
12020    field public static final int MPT_INDEX_TIMESTAMP_TARGET_VIDEO = 524288; // 0x80000
12021    field public static final int MPT_INDEX_VIDEO = 131072; // 0x20000
12022    field public static final int SC_HEVC_INDEX_AUD = 2; // 0x2
12023    field public static final int SC_HEVC_INDEX_SLICE_BLA_N_LP = 16; // 0x10
12024    field public static final int SC_HEVC_INDEX_SLICE_BLA_W_RADL = 8; // 0x8
12025    field public static final int SC_HEVC_INDEX_SLICE_CE_BLA_W_LP = 4; // 0x4
12026    field public static final int SC_HEVC_INDEX_SLICE_IDR_N_LP = 64; // 0x40
12027    field public static final int SC_HEVC_INDEX_SLICE_IDR_W_RADL = 32; // 0x20
12028    field public static final int SC_HEVC_INDEX_SLICE_TRAIL_CRA = 128; // 0x80
12029    field public static final int SC_HEVC_INDEX_SPS = 1; // 0x1
12030    field public static final int SC_INDEX_B_FRAME = 4; // 0x4
12031    field public static final int SC_INDEX_B_SLICE = 64; // 0x40
12032    field public static final int SC_INDEX_I_FRAME = 1; // 0x1
12033    field public static final int SC_INDEX_I_SLICE = 16; // 0x10
12034    field public static final int SC_INDEX_P_FRAME = 2; // 0x2
12035    field public static final int SC_INDEX_P_SLICE = 32; // 0x20
12036    field public static final int SC_INDEX_SEQUENCE = 8; // 0x8
12037    field public static final int SC_INDEX_SI_SLICE = 128; // 0x80
12038    field public static final int SC_INDEX_SP_SLICE = 256; // 0x100
12039    field public static final int SC_VVC_INDEX_AUD = 64; // 0x40
12040    field public static final int SC_VVC_INDEX_SLICE_CRA = 4; // 0x4
12041    field public static final int SC_VVC_INDEX_SLICE_GDR = 8; // 0x8
12042    field public static final int SC_VVC_INDEX_SLICE_IDR_N_LP = 2; // 0x2
12043    field public static final int SC_VVC_INDEX_SLICE_IDR_W_RADL = 1; // 0x1
12044    field public static final int SC_VVC_INDEX_SPS = 32; // 0x20
12045    field public static final int SC_VVC_INDEX_VPS = 16; // 0x10
12046    field public static final int TS_INDEX_ADAPTATION_EXTENSION_FLAG = 4096; // 0x1000
12047    field public static final int TS_INDEX_CHANGE_TO_EVEN_SCRAMBLED = 8; // 0x8
12048    field public static final int TS_INDEX_CHANGE_TO_NOT_SCRAMBLED = 4; // 0x4
12049    field public static final int TS_INDEX_CHANGE_TO_ODD_SCRAMBLED = 16; // 0x10
12050    field public static final int TS_INDEX_DISCONTINUITY_INDICATOR = 32; // 0x20
12051    field public static final int TS_INDEX_FIRST_PACKET = 1; // 0x1
12052    field public static final int TS_INDEX_INVALID = 0; // 0x0
12053    field public static final int TS_INDEX_OPCR_FLAG = 512; // 0x200
12054    field public static final int TS_INDEX_PAYLOAD_UNIT_START_INDICATOR = 2; // 0x2
12055    field public static final int TS_INDEX_PCR_FLAG = 256; // 0x100
12056    field public static final int TS_INDEX_PRIORITY_INDICATOR = 128; // 0x80
12057    field public static final int TS_INDEX_PRIVATE_DATA = 2048; // 0x800
12058    field public static final int TS_INDEX_RANDOM_ACCESS_INDICATOR = 64; // 0x40
12059    field public static final int TS_INDEX_SPLICING_POINT_FLAG = 1024; // 0x400
12060  }
12061
12062  public static class RecordSettings.Builder {
12063    method @NonNull public android.media.tv.tuner.filter.RecordSettings build();
12064    method @NonNull public android.media.tv.tuner.filter.RecordSettings.Builder setScIndexMask(int);
12065    method @NonNull public android.media.tv.tuner.filter.RecordSettings.Builder setScIndexType(int);
12066    method @NonNull public android.media.tv.tuner.filter.RecordSettings.Builder setTsIndexMask(int);
12067  }
12068
12069  public final class RestartEvent extends android.media.tv.tuner.filter.FilterEvent {
12070    method public int getStartId();
12071    field public static final int NEW_FILTER_FIRST_START_ID = 0; // 0x0
12072  }
12073
12074  public final class ScramblingStatusEvent extends android.media.tv.tuner.filter.FilterEvent {
12075    method public int getScramblingStatus();
12076  }
12077
12078  public class SectionEvent extends android.media.tv.tuner.filter.FilterEvent {
12079    method @Deprecated public int getDataLength();
12080    method public long getDataLengthLong();
12081    method public int getSectionNumber();
12082    method public int getTableId();
12083    method public int getVersion();
12084  }
12085
12086  public abstract class SectionSettings extends android.media.tv.tuner.filter.Settings {
12087    method public int getLengthFieldBitWidth();
12088    method public boolean isCrcEnabled();
12089    method public boolean isRaw();
12090    method public boolean isRepeat();
12091  }
12092
12093  public abstract static class SectionSettings.Builder<T extends android.media.tv.tuner.filter.SectionSettings.Builder<T>> {
12094    method @NonNull public T setBitWidthOfLengthField(@IntRange(from=0) int);
12095    method @NonNull public T setCrcEnabled(boolean);
12096    method @NonNull public T setRaw(boolean);
12097    method @NonNull public T setRepeat(boolean);
12098  }
12099
12100  public class SectionSettingsWithSectionBits extends android.media.tv.tuner.filter.SectionSettings {
12101    method @NonNull public static android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder builder(int);
12102    method @NonNull public byte[] getFilterBytes();
12103    method @NonNull public byte[] getMask();
12104    method @NonNull public byte[] getMode();
12105  }
12106
12107  public static class SectionSettingsWithSectionBits.Builder extends android.media.tv.tuner.filter.SectionSettings.Builder<android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder> {
12108    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithSectionBits build();
12109    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder setFilter(@NonNull byte[]);
12110    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder setMask(@NonNull byte[]);
12111    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder setMode(@NonNull byte[]);
12112  }
12113
12114  public class SectionSettingsWithTableInfo extends android.media.tv.tuner.filter.SectionSettings {
12115    method @NonNull public static android.media.tv.tuner.filter.SectionSettingsWithTableInfo.Builder builder(int);
12116    method public int getTableId();
12117    method public int getVersion();
12118    field public static final int INVALID_TABLE_INFO_VERSION = -1; // 0xffffffff
12119  }
12120
12121  public static class SectionSettingsWithTableInfo.Builder extends android.media.tv.tuner.filter.SectionSettings.Builder<android.media.tv.tuner.filter.SectionSettingsWithTableInfo.Builder> {
12122    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithTableInfo build();
12123    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithTableInfo.Builder setTableId(int);
12124    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithTableInfo.Builder setVersion(int);
12125  }
12126
12127  public abstract class Settings {
12128    method public int getType();
12129  }
12130
12131  public final class SharedFilter implements java.lang.AutoCloseable {
12132    method public void close();
12133    method public int flush();
12134    method public int read(@NonNull byte[], long, long);
12135    method public int start();
12136    method public int stop();
12137    field public static final int STATUS_INACCESSIBLE = 128; // 0x80
12138  }
12139
12140  public interface SharedFilterCallback {
12141    method public void onFilterEvent(@NonNull android.media.tv.tuner.filter.SharedFilter, @NonNull android.media.tv.tuner.filter.FilterEvent[]);
12142    method public void onFilterStatusChanged(@NonNull android.media.tv.tuner.filter.SharedFilter, int);
12143  }
12144
12145  public class TemiEvent extends android.media.tv.tuner.filter.FilterEvent {
12146    method @NonNull public byte[] getDescriptorData();
12147    method public byte getDescriptorTag();
12148    method public long getPts();
12149  }
12150
12151  public class TimeFilter implements java.lang.AutoCloseable {
12152    method public int clearTimestamp();
12153    method public void close();
12154    method public long getSourceTime();
12155    method public long getTimeStamp();
12156    method public int setCurrentTimestamp(long);
12157  }
12158
12159  public final class TlvFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
12160    method @NonNull public static android.media.tv.tuner.filter.TlvFilterConfiguration.Builder builder();
12161    method public int getPacketType();
12162    method public int getType();
12163    method public boolean isCompressedIpPacket();
12164    method public boolean isPassthrough();
12165    field public static final int PACKET_TYPE_COMPRESSED = 3; // 0x3
12166    field public static final int PACKET_TYPE_IPV4 = 1; // 0x1
12167    field public static final int PACKET_TYPE_IPV6 = 2; // 0x2
12168    field public static final int PACKET_TYPE_NULL = 255; // 0xff
12169    field public static final int PACKET_TYPE_SIGNALING = 254; // 0xfe
12170  }
12171
12172  public static final class TlvFilterConfiguration.Builder {
12173    method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration build();
12174    method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration.Builder setCompressedIpPacket(boolean);
12175    method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration.Builder setPacketType(int);
12176    method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration.Builder setPassthrough(boolean);
12177    method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings);
12178  }
12179
12180  public final class TsFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
12181    method @NonNull public static android.media.tv.tuner.filter.TsFilterConfiguration.Builder builder();
12182    method public int getTpid();
12183    method public int getType();
12184  }
12185
12186  public static final class TsFilterConfiguration.Builder {
12187    method @NonNull public android.media.tv.tuner.filter.TsFilterConfiguration build();
12188    method @NonNull public android.media.tv.tuner.filter.TsFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings);
12189    method @NonNull public android.media.tv.tuner.filter.TsFilterConfiguration.Builder setTpid(int);
12190  }
12191
12192  public class TsRecordEvent extends android.media.tv.tuner.filter.FilterEvent {
12193    method public long getDataLength();
12194    method public int getFirstMacroblockInSlice();
12195    method public int getPacketId();
12196    method public long getPts();
12197    method public int getScIndexMask();
12198    method public int getTsIndexMask();
12199  }
12200
12201}
12202
12203package android.media.tv.tuner.frontend {
12204
12205  public class AnalogFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
12206    method public int getSifStandardCapability();
12207    method public int getSignalTypeCapability();
12208  }
12209
12210  public class AnalogFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
12211    method @NonNull public static android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder builder();
12212    method public int getAftFlag();
12213    method public int getSifStandard();
12214    method public int getSignalType();
12215    method public int getType();
12216    field public static final int AFT_FLAG_FALSE = 2; // 0x2
12217    field public static final int AFT_FLAG_TRUE = 1; // 0x1
12218    field public static final int AFT_FLAG_UNDEFINED = 0; // 0x0
12219    field public static final int SIF_AUTO = 1; // 0x1
12220    field public static final int SIF_BG = 2; // 0x2
12221    field public static final int SIF_BG_A2 = 4; // 0x4
12222    field public static final int SIF_BG_NICAM = 8; // 0x8
12223    field public static final int SIF_DK = 32; // 0x20
12224    field public static final int SIF_DK1_A2 = 64; // 0x40
12225    field public static final int SIF_DK2_A2 = 128; // 0x80
12226    field public static final int SIF_DK3_A2 = 256; // 0x100
12227    field public static final int SIF_DK_NICAM = 512; // 0x200
12228    field public static final int SIF_I = 16; // 0x10
12229    field public static final int SIF_I_NICAM = 32768; // 0x8000
12230    field public static final int SIF_L = 1024; // 0x400
12231    field public static final int SIF_L_NICAM = 65536; // 0x10000
12232    field public static final int SIF_L_PRIME = 131072; // 0x20000
12233    field public static final int SIF_M = 2048; // 0x800
12234    field public static final int SIF_M_A2 = 8192; // 0x2000
12235    field public static final int SIF_M_BTSC = 4096; // 0x1000
12236    field public static final int SIF_M_EIAJ = 16384; // 0x4000
12237    field public static final int SIF_UNDEFINED = 0; // 0x0
12238    field public static final int SIGNAL_TYPE_AUTO = 1; // 0x1
12239    field public static final int SIGNAL_TYPE_NTSC = 32; // 0x20
12240    field public static final int SIGNAL_TYPE_NTSC_443 = 64; // 0x40
12241    field public static final int SIGNAL_TYPE_PAL = 2; // 0x2
12242    field public static final int SIGNAL_TYPE_PAL_60 = 16; // 0x10
12243    field public static final int SIGNAL_TYPE_PAL_M = 4; // 0x4
12244    field public static final int SIGNAL_TYPE_PAL_N = 8; // 0x8
12245    field public static final int SIGNAL_TYPE_SECAM = 128; // 0x80
12246    field public static final int SIGNAL_TYPE_UNDEFINED = 0; // 0x0
12247  }
12248
12249  public static class AnalogFrontendSettings.Builder {
12250    method @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings build();
12251    method @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder setAftFlag(int);
12252    method @Deprecated @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder setFrequency(int);
12253    method @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder setFrequencyLong(long);
12254    method @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder setSifStandard(int);
12255    method @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder setSignalType(int);
12256  }
12257
12258  public class Atsc3FrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
12259    method public int getBandwidthCapability();
12260    method public int getDemodOutputFormatCapability();
12261    method public int getFecCapability();
12262    method public int getModulationCapability();
12263    method public int getPlpCodeRateCapability();
12264    method public int getTimeInterleaveModeCapability();
12265  }
12266
12267  public class Atsc3FrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
12268    method @NonNull public static android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder builder();
12269    method public int getBandwidth();
12270    method public int getDemodOutputFormat();
12271    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings[] getPlpSettings();
12272    method public int getType();
12273    field public static final int BANDWIDTH_AUTO = 1; // 0x1
12274    field public static final int BANDWIDTH_BANDWIDTH_6MHZ = 2; // 0x2
12275    field public static final int BANDWIDTH_BANDWIDTH_7MHZ = 4; // 0x4
12276    field public static final int BANDWIDTH_BANDWIDTH_8MHZ = 8; // 0x8
12277    field public static final int BANDWIDTH_UNDEFINED = 0; // 0x0
12278    field public static final int CODERATE_10_15 = 512; // 0x200
12279    field public static final int CODERATE_11_15 = 1024; // 0x400
12280    field public static final int CODERATE_12_15 = 2048; // 0x800
12281    field public static final int CODERATE_13_15 = 4096; // 0x1000
12282    field public static final int CODERATE_2_15 = 2; // 0x2
12283    field public static final int CODERATE_3_15 = 4; // 0x4
12284    field public static final int CODERATE_4_15 = 8; // 0x8
12285    field public static final int CODERATE_5_15 = 16; // 0x10
12286    field public static final int CODERATE_6_15 = 32; // 0x20
12287    field public static final int CODERATE_7_15 = 64; // 0x40
12288    field public static final int CODERATE_8_15 = 128; // 0x80
12289    field public static final int CODERATE_9_15 = 256; // 0x100
12290    field public static final int CODERATE_AUTO = 1; // 0x1
12291    field public static final int CODERATE_UNDEFINED = 0; // 0x0
12292    field public static final int DEMOD_OUTPUT_FORMAT_ATSC3_LINKLAYER_PACKET = 1; // 0x1
12293    field public static final int DEMOD_OUTPUT_FORMAT_BASEBAND_PACKET = 2; // 0x2
12294    field public static final int DEMOD_OUTPUT_FORMAT_UNDEFINED = 0; // 0x0
12295    field public static final int FEC_AUTO = 1; // 0x1
12296    field public static final int FEC_BCH_LDPC_16K = 2; // 0x2
12297    field public static final int FEC_BCH_LDPC_64K = 4; // 0x4
12298    field public static final int FEC_CRC_LDPC_16K = 8; // 0x8
12299    field public static final int FEC_CRC_LDPC_64K = 16; // 0x10
12300    field public static final int FEC_LDPC_16K = 32; // 0x20
12301    field public static final int FEC_LDPC_64K = 64; // 0x40
12302    field public static final int FEC_UNDEFINED = 0; // 0x0
12303    field public static final int MODULATION_AUTO = 1; // 0x1
12304    field public static final int MODULATION_MOD_1024QAM = 32; // 0x20
12305    field public static final int MODULATION_MOD_16QAM = 4; // 0x4
12306    field public static final int MODULATION_MOD_256QAM = 16; // 0x10
12307    field public static final int MODULATION_MOD_4096QAM = 64; // 0x40
12308    field public static final int MODULATION_MOD_64QAM = 8; // 0x8
12309    field public static final int MODULATION_MOD_QPSK = 2; // 0x2
12310    field public static final int MODULATION_UNDEFINED = 0; // 0x0
12311    field public static final int TIME_INTERLEAVE_MODE_AUTO = 1; // 0x1
12312    field public static final int TIME_INTERLEAVE_MODE_CTI = 2; // 0x2
12313    field public static final int TIME_INTERLEAVE_MODE_HTI = 4; // 0x4
12314    field public static final int TIME_INTERLEAVE_MODE_UNDEFINED = 0; // 0x0
12315  }
12316
12317  public static class Atsc3FrontendSettings.Builder {
12318    method @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings build();
12319    method @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setBandwidth(int);
12320    method @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setDemodOutputFormat(int);
12321    method @Deprecated @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setFrequency(int);
12322    method @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setFrequencyLong(long);
12323    method @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setPlpSettings(@NonNull android.media.tv.tuner.frontend.Atsc3PlpSettings[]);
12324  }
12325
12326  public class Atsc3PlpInfo {
12327    method public boolean getLlsFlag();
12328    method public int getPlpId();
12329  }
12330
12331  public class Atsc3PlpSettings {
12332    method @NonNull public static android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder builder();
12333    method public int getCodeRate();
12334    method public int getFec();
12335    method public int getInterleaveMode();
12336    method public int getModulation();
12337    method public int getPlpId();
12338  }
12339
12340  public static class Atsc3PlpSettings.Builder {
12341    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings build();
12342    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setCodeRate(int);
12343    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setFec(int);
12344    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setInterleaveMode(int);
12345    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setModulation(int);
12346    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setPlpId(int);
12347  }
12348
12349  public class AtscFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
12350    method public int getModulationCapability();
12351  }
12352
12353  public class AtscFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
12354    method @NonNull public static android.media.tv.tuner.frontend.AtscFrontendSettings.Builder builder();
12355    method public int getModulation();
12356    method public int getType();
12357    field public static final int MODULATION_AUTO = 1; // 0x1
12358    field public static final int MODULATION_MOD_16VSB = 8; // 0x8
12359    field public static final int MODULATION_MOD_8VSB = 4; // 0x4
12360    field public static final int MODULATION_UNDEFINED = 0; // 0x0
12361  }
12362
12363  public static class AtscFrontendSettings.Builder {
12364    method @NonNull public android.media.tv.tuner.frontend.AtscFrontendSettings build();
12365    method @Deprecated @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.AtscFrontendSettings.Builder setFrequency(int);
12366    method @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.AtscFrontendSettings.Builder setFrequencyLong(long);
12367    method @NonNull public android.media.tv.tuner.frontend.AtscFrontendSettings.Builder setModulation(int);
12368  }
12369
12370  public final class DtmbFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
12371    method public int getBandwidthCapability();
12372    method public int getCodeRateCapability();
12373    method public int getGuardIntervalCapability();
12374    method public int getModulationCapability();
12375    method public int getTimeInterleaveModeCapability();
12376    method public int getTransmissionModeCapability();
12377  }
12378
12379  public final class DtmbFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
12380    method @NonNull public static android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder builder();
12381    method public int getBandwidth();
12382    method public int getCodeRate();
12383    method public int getGuardInterval();
12384    method public int getModulation();
12385    method public int getTimeInterleaveMode();
12386    method public int getTransmissionMode();
12387    method public int getType();
12388    field public static final int BANDWIDTH_6MHZ = 4; // 0x4
12389    field public static final int BANDWIDTH_8MHZ = 2; // 0x2
12390    field public static final int BANDWIDTH_AUTO = 1; // 0x1
12391    field public static final int BANDWIDTH_UNDEFINED = 0; // 0x0
12392    field public static final int CODERATE_2_5 = 2; // 0x2
12393    field public static final int CODERATE_3_5 = 4; // 0x4
12394    field public static final int CODERATE_4_5 = 8; // 0x8
12395    field public static final int CODERATE_AUTO = 1; // 0x1
12396    field public static final int CODERATE_UNDEFINED = 0; // 0x0
12397    field public static final int GUARD_INTERVAL_AUTO = 1; // 0x1
12398    field public static final int GUARD_INTERVAL_PN_420_CONST = 16; // 0x10
12399    field public static final int GUARD_INTERVAL_PN_420_VARIOUS = 2; // 0x2
12400    field public static final int GUARD_INTERVAL_PN_595_CONST = 4; // 0x4
12401    field public static final int GUARD_INTERVAL_PN_945_CONST = 32; // 0x20
12402    field public static final int GUARD_INTERVAL_PN_945_VARIOUS = 8; // 0x8
12403    field public static final int GUARD_INTERVAL_PN_RESERVED = 64; // 0x40
12404    field public static final int GUARD_INTERVAL_UNDEFINED = 0; // 0x0
12405    field public static final int MODULATION_CONSTELLATION_16QAM = 8; // 0x8
12406    field public static final int MODULATION_CONSTELLATION_32QAM = 16; // 0x10
12407    field public static final int MODULATION_CONSTELLATION_4QAM = 2; // 0x2
12408    field public static final int MODULATION_CONSTELLATION_4QAM_NR = 4; // 0x4
12409    field public static final int MODULATION_CONSTELLATION_64QAM = 32; // 0x20
12410    field public static final int MODULATION_CONSTELLATION_AUTO = 1; // 0x1
12411    field public static final int MODULATION_CONSTELLATION_UNDEFINED = 0; // 0x0
12412    field public static final int TIME_INTERLEAVE_MODE_AUTO = 1; // 0x1
12413    field public static final int TIME_INTERLEAVE_MODE_TIMER_INT_240 = 2; // 0x2
12414    field public static final int TIME_INTERLEAVE_MODE_TIMER_INT_720 = 4; // 0x4
12415    field public static final int TIME_INTERLEAVE_MODE_UNDEFINED = 0; // 0x0
12416    field public static final int TRANSMISSION_MODE_AUTO = 1; // 0x1
12417    field public static final int TRANSMISSION_MODE_C1 = 2; // 0x2
12418    field public static final int TRANSMISSION_MODE_C3780 = 4; // 0x4
12419    field public static final int TRANSMISSION_MODE_UNDEFINED = 0; // 0x0
12420  }
12421
12422  public static final class DtmbFrontendSettings.Builder {
12423    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings build();
12424    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setBandwidth(int);
12425    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setCodeRate(int);
12426    method @Deprecated @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setFrequency(int);
12427    method @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setFrequencyLong(long);
12428    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setGuardInterval(int);
12429    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setModulation(int);
12430    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setTimeInterleaveMode(int);
12431    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setTransmissionMode(int);
12432  }
12433
12434  public class DvbcFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
12435    method public int getAnnexCapability();
12436    method public long getCodeRateCapability();
12437    method @Deprecated public int getFecCapability();
12438    method public int getModulationCapability();
12439  }
12440
12441  public class DvbcFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
12442    method @NonNull public static android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder builder();
12443    method public int getAnnex();
12444    method public int getBandwidth();
12445    method public long getInnerFec();
12446    method public int getModulation();
12447    method public int getOuterFec();
12448    method public int getSpectralInversion();
12449    method public int getSymbolRate();
12450    method public int getTimeInterleaveMode();
12451    method public int getType();
12452    field public static final int ANNEX_A = 1; // 0x1
12453    field public static final int ANNEX_B = 2; // 0x2
12454    field public static final int ANNEX_C = 4; // 0x4
12455    field public static final int ANNEX_UNDEFINED = 0; // 0x0
12456    field public static final int BANDWIDTH_5MHZ = 1; // 0x1
12457    field public static final int BANDWIDTH_6MHZ = 2; // 0x2
12458    field public static final int BANDWIDTH_7MHZ = 4; // 0x4
12459    field public static final int BANDWIDTH_8MHZ = 8; // 0x8
12460    field public static final int BANDWIDTH_UNDEFINED = 0; // 0x0
12461    field public static final int MODULATION_AUTO = 1; // 0x1
12462    field public static final int MODULATION_MOD_128QAM = 16; // 0x10
12463    field public static final int MODULATION_MOD_16QAM = 2; // 0x2
12464    field public static final int MODULATION_MOD_256QAM = 32; // 0x20
12465    field public static final int MODULATION_MOD_32QAM = 4; // 0x4
12466    field public static final int MODULATION_MOD_64QAM = 8; // 0x8
12467    field public static final int MODULATION_UNDEFINED = 0; // 0x0
12468    field public static final int OUTER_FEC_OUTER_FEC_NONE = 1; // 0x1
12469    field public static final int OUTER_FEC_OUTER_FEC_RS = 2; // 0x2
12470    field public static final int OUTER_FEC_UNDEFINED = 0; // 0x0
12471    field @Deprecated public static final int SPECTRAL_INVERSION_INVERTED = 2; // 0x2
12472    field @Deprecated public static final int SPECTRAL_INVERSION_NORMAL = 1; // 0x1
12473    field @Deprecated public static final int SPECTRAL_INVERSION_UNDEFINED = 0; // 0x0
12474    field public static final int TIME_INTERLEAVE_MODE_128_1_0 = 2; // 0x2
12475    field public static final int TIME_INTERLEAVE_MODE_128_1_1 = 4; // 0x4
12476    field public static final int TIME_INTERLEAVE_MODE_128_2 = 128; // 0x80
12477    field public static final int TIME_INTERLEAVE_MODE_128_3 = 256; // 0x100
12478    field public static final int TIME_INTERLEAVE_MODE_128_4 = 512; // 0x200
12479    field public static final int TIME_INTERLEAVE_MODE_16_8 = 32; // 0x20
12480    field public static final int TIME_INTERLEAVE_MODE_32_4 = 16; // 0x10
12481    field public static final int TIME_INTERLEAVE_MODE_64_2 = 8; // 0x8
12482    field public static final int TIME_INTERLEAVE_MODE_8_16 = 64; // 0x40
12483    field public static final int TIME_INTERLEAVE_MODE_AUTO = 1; // 0x1
12484    field public static final int TIME_INTERLEAVE_MODE_UNDEFINED = 0; // 0x0
12485  }
12486
12487  public static class DvbcFrontendSettings.Builder {
12488    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings build();
12489    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setAnnex(int);
12490    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setBandwidth(int);
12491    method @Deprecated @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setFrequency(int);
12492    method @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setFrequencyLong(long);
12493    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setInnerFec(long);
12494    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setModulation(int);
12495    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setOuterFec(int);
12496    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setSpectralInversion(int);
12497    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setSymbolRate(int);
12498    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setTimeInterleaveMode(int);
12499  }
12500
12501  public class DvbsCodeRate {
12502    method @NonNull public static android.media.tv.tuner.frontend.DvbsCodeRate.Builder builder();
12503    method public int getBitsPer1000Symbol();
12504    method public long getInnerFec();
12505    method public boolean isLinear();
12506    method public boolean isShortFrameEnabled();
12507  }
12508
12509  public static class DvbsCodeRate.Builder {
12510    method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate build();
12511    method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate.Builder setBitsPer1000Symbol(int);
12512    method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate.Builder setInnerFec(long);
12513    method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate.Builder setLinear(boolean);
12514    method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate.Builder setShortFrameEnabled(boolean);
12515  }
12516
12517  public class DvbsFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
12518    method public long getInnerFecCapability();
12519    method public int getModulationCapability();
12520    method public int getStandardCapability();
12521  }
12522
12523  public class DvbsFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
12524    method @NonNull public static android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder builder();
12525    method public boolean canHandleDiseqcRxMessage();
12526    method @Nullable public android.media.tv.tuner.frontend.DvbsCodeRate getCodeRate();
12527    method public int getInputStreamId();
12528    method public int getModulation();
12529    method public int getPilot();
12530    method public int getRolloff();
12531    method public int getScanType();
12532    method public int getStandard();
12533    method public int getSymbolRate();
12534    method public int getType();
12535    method public int getVcmMode();
12536    field public static final int MODULATION_AUTO = 1; // 0x1
12537    field public static final int MODULATION_MOD_128APSK = 2048; // 0x800
12538    field public static final int MODULATION_MOD_16APSK = 256; // 0x100
12539    field public static final int MODULATION_MOD_16PSK = 16; // 0x10
12540    field public static final int MODULATION_MOD_16QAM = 8; // 0x8
12541    field public static final int MODULATION_MOD_256APSK = 4096; // 0x1000
12542    field public static final int MODULATION_MOD_32APSK = 512; // 0x200
12543    field public static final int MODULATION_MOD_32PSK = 32; // 0x20
12544    field public static final int MODULATION_MOD_64APSK = 1024; // 0x400
12545    field public static final int MODULATION_MOD_8APSK = 128; // 0x80
12546    field public static final int MODULATION_MOD_8PSK = 4; // 0x4
12547    field public static final int MODULATION_MOD_ACM = 64; // 0x40
12548    field public static final int MODULATION_MOD_QPSK = 2; // 0x2
12549    field public static final int MODULATION_MOD_RESERVED = 8192; // 0x2000
12550    field public static final int MODULATION_UNDEFINED = 0; // 0x0
12551    field public static final int PILOT_AUTO = 3; // 0x3
12552    field public static final int PILOT_OFF = 2; // 0x2
12553    field public static final int PILOT_ON = 1; // 0x1
12554    field public static final int PILOT_UNDEFINED = 0; // 0x0
12555    field public static final int ROLLOFF_0_10 = 5; // 0x5
12556    field public static final int ROLLOFF_0_15 = 4; // 0x4
12557    field public static final int ROLLOFF_0_20 = 3; // 0x3
12558    field public static final int ROLLOFF_0_25 = 2; // 0x2
12559    field public static final int ROLLOFF_0_35 = 1; // 0x1
12560    field public static final int ROLLOFF_0_5 = 6; // 0x6
12561    field public static final int ROLLOFF_UNDEFINED = 0; // 0x0
12562    field public static final int SCAN_TYPE_DIRECT = 1; // 0x1
12563    field public static final int SCAN_TYPE_DISEQC = 2; // 0x2
12564    field public static final int SCAN_TYPE_JESS = 4; // 0x4
12565    field public static final int SCAN_TYPE_UNDEFINED = 0; // 0x0
12566    field public static final int SCAN_TYPE_UNICABLE = 3; // 0x3
12567    field public static final int STANDARD_AUTO = 1; // 0x1
12568    field public static final int STANDARD_S = 2; // 0x2
12569    field public static final int STANDARD_S2 = 4; // 0x4
12570    field public static final int STANDARD_S2X = 8; // 0x8
12571    field public static final int VCM_MODE_AUTO = 1; // 0x1
12572    field public static final int VCM_MODE_MANUAL = 2; // 0x2
12573    field public static final int VCM_MODE_UNDEFINED = 0; // 0x0
12574  }
12575
12576  public static class DvbsFrontendSettings.Builder {
12577    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings build();
12578    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setCanHandleDiseqcRxMessage(boolean);
12579    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setCodeRate(@Nullable android.media.tv.tuner.frontend.DvbsCodeRate);
12580    method @Deprecated @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setFrequency(int);
12581    method @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setFrequencyLong(long);
12582    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setInputStreamId(int);
12583    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setModulation(int);
12584    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setPilot(int);
12585    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setRolloff(int);
12586    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setScanType(int);
12587    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setStandard(int);
12588    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setSymbolRate(int);
12589    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setVcmMode(int);
12590  }
12591
12592  public class DvbtFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
12593    method public int getBandwidthCapability();
12594    method public int getCodeRateCapability();
12595    method public int getConstellationCapability();
12596    method public int getGuardIntervalCapability();
12597    method public int getHierarchyCapability();
12598    method public int getTransmissionModeCapability();
12599    method public boolean isMisoSupported();
12600    method public boolean isT2Supported();
12601  }
12602
12603  public class DvbtFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
12604    method @NonNull public static android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder builder();
12605    method public int getBandwidth();
12606    method public int getConstellation();
12607    method public int getGuardInterval();
12608    method public int getHierarchy();
12609    method public int getHighPriorityCodeRate();
12610    method public int getLowPriorityCodeRate();
12611    method public int getPlpGroupId();
12612    method public int getPlpId();
12613    method public int getPlpMode();
12614    method public int getStandard();
12615    method public int getTransmissionMode();
12616    method public int getType();
12617    method public boolean isHighPriority();
12618    method public boolean isMiso();
12619    field public static final int BANDWIDTH_10MHZ = 64; // 0x40
12620    field public static final int BANDWIDTH_1_7MHZ = 32; // 0x20
12621    field public static final int BANDWIDTH_5MHZ = 16; // 0x10
12622    field public static final int BANDWIDTH_6MHZ = 8; // 0x8
12623    field public static final int BANDWIDTH_7MHZ = 4; // 0x4
12624    field public static final int BANDWIDTH_8MHZ = 2; // 0x2
12625    field public static final int BANDWIDTH_AUTO = 1; // 0x1
12626    field public static final int BANDWIDTH_UNDEFINED = 0; // 0x0
12627    field public static final int CODERATE_1_2 = 2; // 0x2
12628    field public static final int CODERATE_2_3 = 4; // 0x4
12629    field public static final int CODERATE_3_4 = 8; // 0x8
12630    field public static final int CODERATE_3_5 = 64; // 0x40
12631    field public static final int CODERATE_4_5 = 128; // 0x80
12632    field public static final int CODERATE_5_6 = 16; // 0x10
12633    field public static final int CODERATE_6_7 = 256; // 0x100
12634    field public static final int CODERATE_7_8 = 32; // 0x20
12635    field public static final int CODERATE_8_9 = 512; // 0x200
12636    field public static final int CODERATE_AUTO = 1; // 0x1
12637    field public static final int CODERATE_UNDEFINED = 0; // 0x0
12638    field public static final int CONSTELLATION_16QAM = 4; // 0x4
12639    field public static final int CONSTELLATION_16QAM_R = 64; // 0x40
12640    field public static final int CONSTELLATION_256QAM = 16; // 0x10
12641    field public static final int CONSTELLATION_256QAM_R = 256; // 0x100
12642    field public static final int CONSTELLATION_64QAM = 8; // 0x8
12643    field public static final int CONSTELLATION_64QAM_R = 128; // 0x80
12644    field public static final int CONSTELLATION_AUTO = 1; // 0x1
12645    field public static final int CONSTELLATION_QPSK = 2; // 0x2
12646    field public static final int CONSTELLATION_QPSK_R = 32; // 0x20
12647    field public static final int CONSTELLATION_UNDEFINED = 0; // 0x0
12648    field public static final int GUARD_INTERVAL_19_128 = 64; // 0x40
12649    field public static final int GUARD_INTERVAL_19_256 = 128; // 0x80
12650    field public static final int GUARD_INTERVAL_1_128 = 32; // 0x20
12651    field public static final int GUARD_INTERVAL_1_16 = 4; // 0x4
12652    field public static final int GUARD_INTERVAL_1_32 = 2; // 0x2
12653    field public static final int GUARD_INTERVAL_1_4 = 16; // 0x10
12654    field public static final int GUARD_INTERVAL_1_8 = 8; // 0x8
12655    field public static final int GUARD_INTERVAL_AUTO = 1; // 0x1
12656    field public static final int GUARD_INTERVAL_UNDEFINED = 0; // 0x0
12657    field public static final int HIERARCHY_1_INDEPTH = 64; // 0x40
12658    field public static final int HIERARCHY_1_NATIVE = 4; // 0x4
12659    field public static final int HIERARCHY_2_INDEPTH = 128; // 0x80
12660    field public static final int HIERARCHY_2_NATIVE = 8; // 0x8
12661    field public static final int HIERARCHY_4_INDEPTH = 256; // 0x100
12662    field public static final int HIERARCHY_4_NATIVE = 16; // 0x10
12663    field public static final int HIERARCHY_AUTO = 1; // 0x1
12664    field public static final int HIERARCHY_NON_INDEPTH = 32; // 0x20
12665    field public static final int HIERARCHY_NON_NATIVE = 2; // 0x2
12666    field public static final int HIERARCHY_UNDEFINED = 0; // 0x0
12667    field public static final int PLP_MODE_AUTO = 1; // 0x1
12668    field public static final int PLP_MODE_MANUAL = 2; // 0x2
12669    field public static final int PLP_MODE_UNDEFINED = 0; // 0x0
12670    field public static final int STANDARD_AUTO = 1; // 0x1
12671    field public static final int STANDARD_T = 2; // 0x2
12672    field public static final int STANDARD_T2 = 4; // 0x4
12673    field public static final int TRANSMISSION_MODE_16K = 32; // 0x20
12674    field public static final int TRANSMISSION_MODE_1K = 16; // 0x10
12675    field public static final int TRANSMISSION_MODE_2K = 2; // 0x2
12676    field public static final int TRANSMISSION_MODE_32K = 64; // 0x40
12677    field public static final int TRANSMISSION_MODE_4K = 8; // 0x8
12678    field public static final int TRANSMISSION_MODE_8K = 4; // 0x4
12679    field public static final int TRANSMISSION_MODE_AUTO = 1; // 0x1
12680    field public static final int TRANSMISSION_MODE_EXTENDED_16K = 256; // 0x100
12681    field public static final int TRANSMISSION_MODE_EXTENDED_32K = 512; // 0x200
12682    field public static final int TRANSMISSION_MODE_EXTENDED_8K = 128; // 0x80
12683    field public static final int TRANSMISSION_MODE_UNDEFINED = 0; // 0x0
12684  }
12685
12686  public static class DvbtFrontendSettings.Builder {
12687    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings build();
12688    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setBandwidth(int);
12689    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setConstellation(int);
12690    method @Deprecated @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setFrequency(int);
12691    method @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setFrequencyLong(long);
12692    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setGuardInterval(int);
12693    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setHierarchy(int);
12694    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setHighPriority(boolean);
12695    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setHighPriorityCodeRate(int);
12696    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setLowPriorityCodeRate(int);
12697    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setMiso(boolean);
12698    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setPlpGroupId(int);
12699    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setPlpId(int);
12700    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setPlpMode(int);
12701    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setStandard(int);
12702    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setTransmissionMode(int);
12703  }
12704
12705  public abstract class FrontendCapabilities {
12706    ctor public FrontendCapabilities();
12707  }
12708
12709  public class FrontendInfo {
12710    method @Deprecated public int getAcquireRange();
12711    method public long getAcquireRangeLong();
12712    method public int getExclusiveGroupId();
12713    method @Deprecated @NonNull public android.util.Range<java.lang.Integer> getFrequencyRange();
12714    method @NonNull public android.util.Range<java.lang.Long> getFrequencyRangeLong();
12715    method @NonNull public android.media.tv.tuner.frontend.FrontendCapabilities getFrontendCapabilities();
12716    method public int getId();
12717    method @NonNull public int[] getStatusCapabilities();
12718    method @NonNull public android.util.Range<java.lang.Integer> getSymbolRateRange();
12719    method public int getType();
12720  }
12721
12722  public abstract class FrontendSettings {
12723    method @Deprecated @IntRange(from=1) public int getEndFrequency();
12724    method @IntRange(from=1) public long getEndFrequencyLong();
12725    method @Deprecated public int getFrequency();
12726    method public long getFrequencyLong();
12727    method public int getFrontendSpectralInversion();
12728    method public abstract int getType();
12729    method @Deprecated @IntRange(from=1) public void setEndFrequency(int);
12730    method @IntRange(from=1) public void setEndFrequencyLong(long);
12731    method public void setSpectralInversion(int);
12732    field public static final long FEC_11_15 = 4194304L; // 0x400000L
12733    field public static final long FEC_11_20 = 8388608L; // 0x800000L
12734    field public static final long FEC_11_45 = 16777216L; // 0x1000000L
12735    field public static final long FEC_13_18 = 33554432L; // 0x2000000L
12736    field public static final long FEC_13_45 = 67108864L; // 0x4000000L
12737    field public static final long FEC_14_45 = 134217728L; // 0x8000000L
12738    field public static final long FEC_1_2 = 2L; // 0x2L
12739    field public static final long FEC_1_3 = 4L; // 0x4L
12740    field public static final long FEC_1_4 = 8L; // 0x8L
12741    field public static final long FEC_1_5 = 16L; // 0x10L
12742    field public static final long FEC_23_36 = 268435456L; // 0x10000000L
12743    field public static final long FEC_25_36 = 536870912L; // 0x20000000L
12744    field public static final long FEC_26_45 = 1073741824L; // 0x40000000L
12745    field public static final long FEC_28_45 = 2147483648L; // 0x80000000L
12746    field public static final long FEC_29_45 = 4294967296L; // 0x100000000L
12747    field public static final long FEC_2_3 = 32L; // 0x20L
12748    field public static final long FEC_2_5 = 64L; // 0x40L
12749    field public static final long FEC_2_9 = 128L; // 0x80L
12750    field public static final long FEC_31_45 = 8589934592L; // 0x200000000L
12751    field public static final long FEC_32_45 = 17179869184L; // 0x400000000L
12752    field public static final long FEC_3_4 = 256L; // 0x100L
12753    field public static final long FEC_3_5 = 512L; // 0x200L
12754    field public static final long FEC_4_15 = 2048L; // 0x800L
12755    field public static final long FEC_4_5 = 1024L; // 0x400L
12756    field public static final long FEC_5_6 = 4096L; // 0x1000L
12757    field public static final long FEC_5_9 = 8192L; // 0x2000L
12758    field public static final long FEC_6_7 = 16384L; // 0x4000L
12759    field public static final long FEC_77_90 = 34359738368L; // 0x800000000L
12760    field public static final long FEC_7_15 = 131072L; // 0x20000L
12761    field public static final long FEC_7_8 = 32768L; // 0x8000L
12762    field public static final long FEC_7_9 = 65536L; // 0x10000L
12763    field public static final long FEC_8_15 = 524288L; // 0x80000L
12764    field public static final long FEC_8_9 = 262144L; // 0x40000L
12765    field public static final long FEC_9_10 = 1048576L; // 0x100000L
12766    field public static final long FEC_9_20 = 2097152L; // 0x200000L
12767    field public static final long FEC_AUTO = 1L; // 0x1L
12768    field public static final long FEC_UNDEFINED = 0L; // 0x0L
12769    field public static final int FRONTEND_SPECTRAL_INVERSION_INVERTED = 2; // 0x2
12770    field public static final int FRONTEND_SPECTRAL_INVERSION_NORMAL = 1; // 0x1
12771    field public static final int FRONTEND_SPECTRAL_INVERSION_UNDEFINED = 0; // 0x0
12772    field public static final int TYPE_ANALOG = 1; // 0x1
12773    field public static final int TYPE_ATSC = 2; // 0x2
12774    field public static final int TYPE_ATSC3 = 3; // 0x3
12775    field public static final int TYPE_DTMB = 10; // 0xa
12776    field public static final int TYPE_DVBC = 4; // 0x4
12777    field public static final int TYPE_DVBS = 5; // 0x5
12778    field public static final int TYPE_DVBT = 6; // 0x6
12779    field public static final int TYPE_IPTV = 11; // 0xb
12780    field public static final int TYPE_ISDBS = 7; // 0x7
12781    field public static final int TYPE_ISDBS3 = 8; // 0x8
12782    field public static final int TYPE_ISDBT = 9; // 0x9
12783    field public static final int TYPE_UNDEFINED = 0; // 0x0
12784  }
12785
12786  public class FrontendStatus {
12787    method public int getAgc();
12788    method @NonNull public java.util.List<android.media.tv.tuner.frontend.Atsc3PlpInfo> getAllAtsc3PlpInfo();
12789    method @NonNull public android.media.tv.tuner.frontend.FrontendStatus.Atsc3PlpTuningInfo[] getAtsc3PlpTuningInfo();
12790    method public int getBandwidth();
12791    method public int getBer();
12792    method @NonNull public int[] getBers();
12793    method @NonNull public int[] getCodeRates();
12794    method @NonNull public int[] getDvbtCellIds();
12795    method @NonNull public int[] getExtendedModulations();
12796    method @Deprecated public int getFreqOffset();
12797    method public long getFreqOffsetLong();
12798    method public int getGuardInterval();
12799    method public int getHierarchy();
12800    method public long getInnerFec();
12801    method @NonNull public int[] getInterleaving();
12802    method @IntRange(from=0) public int getIptvAverageJitterMillis();
12803    method @NonNull public String getIptvContentUrl();
12804    method @IntRange(from=0) public long getIptvPacketsLost();
12805    method @IntRange(from=0) public long getIptvPacketsReceived();
12806    method @IntRange(from=0) public int getIptvWorstJitterMillis();
12807    method public int getIsdbtMode();
12808    method public int getIsdbtPartialReceptionFlag();
12809    method @NonNull @IntRange(from=0, to=255) public int[] getIsdbtSegment();
12810    method @NonNull public boolean[] getLayerErrors();
12811    method public int getLnbVoltage();
12812    method public int getMer();
12813    method public int getModulation();
12814    method public int getPer();
12815    method public int getPerBer();
12816    method public int getPlpId();
12817    method public int getRollOff();
12818    method public int getSignalQuality();
12819    method public int getSignalStrength();
12820    method public int getSnr();
12821    method public int getSpectralInversion();
12822    method @FlaggedApi("android.media.tv.flags.tuner_w_apis") @NonNull public android.media.tv.tuner.frontend.StandardExtension getStandardExtension();
12823    method @NonNull public int[] getStreamIds();
12824    method public int getSymbolRate();
12825    method @IntRange(from=0, to=65535) public int getSystemId();
12826    method public int getTransmissionMode();
12827    method @NonNull public int[] getTsDataRate();
12828    method public int getUec();
12829    method public boolean isDemodLocked();
12830    method public boolean isEwbs();
12831    method public boolean isLinear();
12832    method public boolean isLnaOn();
12833    method public boolean isMisoEnabled();
12834    method public boolean isRfLocked();
12835    method public boolean isShortFramesEnabled();
12836    field public static final int FRONTEND_STATUS_TYPE_AGC = 14; // 0xe
12837    field public static final int FRONTEND_STATUS_TYPE_ATSC3_ALL_PLP_INFO = 41; // 0x29
12838    field public static final int FRONTEND_STATUS_TYPE_ATSC3_PLP_INFO = 21; // 0x15
12839    field public static final int FRONTEND_STATUS_TYPE_BANDWIDTH = 25; // 0x19
12840    field public static final int FRONTEND_STATUS_TYPE_BER = 2; // 0x2
12841    field public static final int FRONTEND_STATUS_TYPE_BERS = 23; // 0x17
12842    field public static final int FRONTEND_STATUS_TYPE_CODERATES = 24; // 0x18
12843    field public static final int FRONTEND_STATUS_TYPE_DEMOD_LOCK = 0; // 0x0
12844    field public static final int FRONTEND_STATUS_TYPE_DVBT_CELL_IDS = 40; // 0x28
12845    field public static final int FRONTEND_STATUS_TYPE_EWBS = 13; // 0xd
12846    field public static final int FRONTEND_STATUS_TYPE_FEC = 8; // 0x8
12847    field public static final int FRONTEND_STATUS_TYPE_FREQ_OFFSET = 18; // 0x12
12848    field public static final int FRONTEND_STATUS_TYPE_GUARD_INTERVAL = 26; // 0x1a
12849    field public static final int FRONTEND_STATUS_TYPE_HIERARCHY = 19; // 0x13
12850    field public static final int FRONTEND_STATUS_TYPE_INTERLEAVINGS = 30; // 0x1e
12851    field public static final int FRONTEND_STATUS_TYPE_IPTV_AVERAGE_JITTER_MS = 46; // 0x2e
12852    field public static final int FRONTEND_STATUS_TYPE_IPTV_CONTENT_URL = 42; // 0x2a
12853    field public static final int FRONTEND_STATUS_TYPE_IPTV_PACKETS_LOST = 43; // 0x2b
12854    field public static final int FRONTEND_STATUS_TYPE_IPTV_PACKETS_RECEIVED = 44; // 0x2c
12855    field public static final int FRONTEND_STATUS_TYPE_IPTV_WORST_JITTER_MS = 45; // 0x2d
12856    field public static final int FRONTEND_STATUS_TYPE_ISDBT_MODE = 37; // 0x25
12857    field public static final int FRONTEND_STATUS_TYPE_ISDBT_PARTIAL_RECEPTION_FLAG = 38; // 0x26
12858    field public static final int FRONTEND_STATUS_TYPE_ISDBT_SEGMENTS = 31; // 0x1f
12859    field public static final int FRONTEND_STATUS_TYPE_IS_LINEAR = 35; // 0x23
12860    field public static final int FRONTEND_STATUS_TYPE_IS_MISO_ENABLED = 34; // 0x22
12861    field public static final int FRONTEND_STATUS_TYPE_IS_SHORT_FRAMES_ENABLED = 36; // 0x24
12862    field public static final int FRONTEND_STATUS_TYPE_LAYER_ERROR = 16; // 0x10
12863    field public static final int FRONTEND_STATUS_TYPE_LNA = 15; // 0xf
12864    field public static final int FRONTEND_STATUS_TYPE_LNB_VOLTAGE = 11; // 0xb
12865    field public static final int FRONTEND_STATUS_TYPE_MER = 17; // 0x11
12866    field public static final int FRONTEND_STATUS_TYPE_MODULATION = 9; // 0x9
12867    field public static final int FRONTEND_STATUS_TYPE_MODULATIONS_EXT = 22; // 0x16
12868    field public static final int FRONTEND_STATUS_TYPE_PER = 3; // 0x3
12869    field public static final int FRONTEND_STATUS_TYPE_PLP_ID = 12; // 0xc
12870    field public static final int FRONTEND_STATUS_TYPE_PRE_BER = 4; // 0x4
12871    field public static final int FRONTEND_STATUS_TYPE_RF_LOCK = 20; // 0x14
12872    field public static final int FRONTEND_STATUS_TYPE_ROLL_OFF = 33; // 0x21
12873    field public static final int FRONTEND_STATUS_TYPE_SIGNAL_QUALITY = 5; // 0x5
12874    field public static final int FRONTEND_STATUS_TYPE_SIGNAL_STRENGTH = 6; // 0x6
12875    field public static final int FRONTEND_STATUS_TYPE_SNR = 1; // 0x1
12876    field public static final int FRONTEND_STATUS_TYPE_SPECTRAL = 10; // 0xa
12877    field @FlaggedApi("android.media.tv.flags.tuner_w_apis") public static final int FRONTEND_STATUS_TYPE_STANDARD_EXTENSION = 47; // 0x2f
12878    field public static final int FRONTEND_STATUS_TYPE_STREAM_IDS = 39; // 0x27
12879    field public static final int FRONTEND_STATUS_TYPE_SYMBOL_RATE = 7; // 0x7
12880    field public static final int FRONTEND_STATUS_TYPE_T2_SYSTEM_ID = 29; // 0x1d
12881    field public static final int FRONTEND_STATUS_TYPE_TRANSMISSION_MODE = 27; // 0x1b
12882    field public static final int FRONTEND_STATUS_TYPE_TS_DATA_RATES = 32; // 0x20
12883    field public static final int FRONTEND_STATUS_TYPE_UEC = 28; // 0x1c
12884  }
12885
12886  public static class FrontendStatus.Atsc3PlpTuningInfo {
12887    method public int getPlpId();
12888    method public int getUec();
12889    method public boolean isLocked();
12890  }
12891
12892  public final class FrontendStatusReadiness {
12893    method public int getStatusReadiness();
12894    method public int getStatusType();
12895    field public static final int FRONTEND_STATUS_READINESS_STABLE = 3; // 0x3
12896    field public static final int FRONTEND_STATUS_READINESS_UNAVAILABLE = 1; // 0x1
12897    field public static final int FRONTEND_STATUS_READINESS_UNDEFINED = 0; // 0x0
12898    field public static final int FRONTEND_STATUS_READINESS_UNSTABLE = 2; // 0x2
12899    field public static final int FRONTEND_STATUS_READINESS_UNSUPPORTED = 4; // 0x4
12900  }
12901
12902  public class IptvFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
12903    method public int getProtocolCapability();
12904  }
12905
12906  public final class IptvFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
12907    method @IntRange(from=0) public long getBitrate();
12908    method @NonNull public String getContentUrl();
12909    method @NonNull @Size(min=4, max=16) public byte[] getDstIpAddress();
12910    method public int getDstPort();
12911    method @Nullable public android.media.tv.tuner.frontend.IptvFrontendSettingsFec getFec();
12912    method public int getIgmp();
12913    method public int getProtocol();
12914    method @NonNull @Size(min=4, max=16) public byte[] getSrcIpAddress();
12915    method public int getSrcPort();
12916    method public int getType();
12917    field public static final int IGMP_UNDEFINED = 0; // 0x0
12918    field public static final int IGMP_V1 = 1; // 0x1
12919    field public static final int IGMP_V2 = 2; // 0x2
12920    field public static final int IGMP_V3 = 4; // 0x4
12921    field public static final int PROTOCOL_RTP = 2; // 0x2
12922    field public static final int PROTOCOL_UDP = 1; // 0x1
12923    field public static final int PROTOCOL_UNDEFINED = 0; // 0x0
12924  }
12925
12926  public static final class IptvFrontendSettings.Builder {
12927    ctor public IptvFrontendSettings.Builder();
12928    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettings build();
12929    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettings.Builder setBitrate(@IntRange(from=0) long);
12930    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettings.Builder setContentUrl(@NonNull String);
12931    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettings.Builder setDstIpAddress(@NonNull byte[]);
12932    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettings.Builder setDstPort(int);
12933    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettings.Builder setFec(@Nullable android.media.tv.tuner.frontend.IptvFrontendSettingsFec);
12934    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettings.Builder setIgmp(int);
12935    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettings.Builder setProtocol(int);
12936    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettings.Builder setSrcIpAddress(@NonNull byte[]);
12937    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettings.Builder setSrcPort(int);
12938  }
12939
12940  public final class IptvFrontendSettingsFec {
12941    method @IntRange(from=0) public int getFecColNum();
12942    method @IntRange(from=0) public int getFecRowNum();
12943    method public int getFecType();
12944    field public static final int FEC_TYPE_COLUMN = 1; // 0x1
12945    field public static final int FEC_TYPE_COLUMN_ROW = 4; // 0x4
12946    field public static final int FEC_TYPE_ROW = 2; // 0x2
12947    field public static final int FEC_TYPE_UNDEFINED = 0; // 0x0
12948  }
12949
12950  public static final class IptvFrontendSettingsFec.Builder {
12951    ctor public IptvFrontendSettingsFec.Builder();
12952    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettingsFec build();
12953    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettingsFec.Builder setFecColNum(@IntRange(from=0) int);
12954    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettingsFec.Builder setFecRowNum(@IntRange(from=0) int);
12955    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettingsFec.Builder setFecType(int);
12956  }
12957
12958  public class Isdbs3FrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
12959    method public int getCodeRateCapability();
12960    method public int getModulationCapability();
12961  }
12962
12963  public class Isdbs3FrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
12964    method @NonNull public static android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder builder();
12965    method public int getCodeRate();
12966    method public int getModulation();
12967    method public int getRolloff();
12968    method public int getStreamId();
12969    method public int getStreamIdType();
12970    method public int getSymbolRate();
12971    method public int getType();
12972    field public static final int CODERATE_1_2 = 8; // 0x8
12973    field public static final int CODERATE_1_3 = 2; // 0x2
12974    field public static final int CODERATE_2_3 = 32; // 0x20
12975    field public static final int CODERATE_2_5 = 4; // 0x4
12976    field public static final int CODERATE_3_4 = 64; // 0x40
12977    field public static final int CODERATE_3_5 = 16; // 0x10
12978    field public static final int CODERATE_4_5 = 256; // 0x100
12979    field public static final int CODERATE_5_6 = 512; // 0x200
12980    field public static final int CODERATE_7_8 = 1024; // 0x400
12981    field public static final int CODERATE_7_9 = 128; // 0x80
12982    field public static final int CODERATE_9_10 = 2048; // 0x800
12983    field public static final int CODERATE_AUTO = 1; // 0x1
12984    field public static final int CODERATE_UNDEFINED = 0; // 0x0
12985    field public static final int MODULATION_AUTO = 1; // 0x1
12986    field public static final int MODULATION_MOD_16APSK = 16; // 0x10
12987    field public static final int MODULATION_MOD_32APSK = 32; // 0x20
12988    field public static final int MODULATION_MOD_8PSK = 8; // 0x8
12989    field public static final int MODULATION_MOD_BPSK = 2; // 0x2
12990    field public static final int MODULATION_MOD_QPSK = 4; // 0x4
12991    field public static final int MODULATION_UNDEFINED = 0; // 0x0
12992    field public static final int ROLLOFF_0_03 = 1; // 0x1
12993    field public static final int ROLLOFF_UNDEFINED = 0; // 0x0
12994  }
12995
12996  public static class Isdbs3FrontendSettings.Builder {
12997    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings build();
12998    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setCodeRate(int);
12999    method @Deprecated @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setFrequency(int);
13000    method @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setFrequencyLong(long);
13001    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setModulation(int);
13002    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setRolloff(int);
13003    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setStreamId(int);
13004    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setStreamIdType(int);
13005    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setSymbolRate(int);
13006  }
13007
13008  public class IsdbsFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
13009    method public int getCodeRateCapability();
13010    method public int getModulationCapability();
13011  }
13012
13013  public class IsdbsFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
13014    method @NonNull public static android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder builder();
13015    method public int getCodeRate();
13016    method public int getModulation();
13017    method public int getRolloff();
13018    method public int getStreamId();
13019    method public int getStreamIdType();
13020    method public int getSymbolRate();
13021    method public int getType();
13022    field public static final int CODERATE_1_2 = 2; // 0x2
13023    field public static final int CODERATE_2_3 = 4; // 0x4
13024    field public static final int CODERATE_3_4 = 8; // 0x8
13025    field public static final int CODERATE_5_6 = 16; // 0x10
13026    field public static final int CODERATE_7_8 = 32; // 0x20
13027    field public static final int CODERATE_AUTO = 1; // 0x1
13028    field public static final int CODERATE_UNDEFINED = 0; // 0x0
13029    field public static final int MODULATION_AUTO = 1; // 0x1
13030    field public static final int MODULATION_MOD_BPSK = 2; // 0x2
13031    field public static final int MODULATION_MOD_QPSK = 4; // 0x4
13032    field public static final int MODULATION_MOD_TC8PSK = 8; // 0x8
13033    field public static final int MODULATION_UNDEFINED = 0; // 0x0
13034    field public static final int ROLLOFF_0_35 = 1; // 0x1
13035    field public static final int ROLLOFF_UNDEFINED = 0; // 0x0
13036    field public static final int STREAM_ID_TYPE_ID = 0; // 0x0
13037    field public static final int STREAM_ID_TYPE_RELATIVE_NUMBER = 1; // 0x1
13038  }
13039
13040  public static class IsdbsFrontendSettings.Builder {
13041    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings build();
13042    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setCodeRate(int);
13043    method @Deprecated @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setFrequency(int);
13044    method @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setFrequencyLong(long);
13045    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setModulation(int);
13046    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setRolloff(int);
13047    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setStreamId(int);
13048    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setStreamIdType(int);
13049    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setSymbolRate(int);
13050  }
13051
13052  public class IsdbtFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
13053    method public int getBandwidthCapability();
13054    method public int getCodeRateCapability();
13055    method public int getGuardIntervalCapability();
13056    method public int getModeCapability();
13057    method public int getModulationCapability();
13058    method public int getTimeInterleaveModeCapability();
13059    method public boolean isFullSegmentSupported();
13060    method public boolean isSegmentAutoSupported();
13061  }
13062
13063  public class IsdbtFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
13064    method @NonNull public static android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder builder();
13065    method public int getBandwidth();
13066    method @Deprecated public int getCodeRate();
13067    method public int getGuardInterval();
13068    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.IsdbtLayerSettings[] getLayerSettings();
13069    method public int getMode();
13070    method @Deprecated public int getModulation();
13071    method public int getPartialReceptionFlag();
13072    method public int getServiceAreaId();
13073    method public int getType();
13074    field public static final int BANDWIDTH_6MHZ = 8; // 0x8
13075    field public static final int BANDWIDTH_7MHZ = 4; // 0x4
13076    field public static final int BANDWIDTH_8MHZ = 2; // 0x2
13077    field public static final int BANDWIDTH_AUTO = 1; // 0x1
13078    field public static final int BANDWIDTH_UNDEFINED = 0; // 0x0
13079    field public static final int MODE_1 = 2; // 0x2
13080    field public static final int MODE_2 = 4; // 0x4
13081    field public static final int MODE_3 = 8; // 0x8
13082    field public static final int MODE_AUTO = 1; // 0x1
13083    field public static final int MODE_UNDEFINED = 0; // 0x0
13084    field public static final int MODULATION_AUTO = 1; // 0x1
13085    field public static final int MODULATION_MOD_16QAM = 8; // 0x8
13086    field public static final int MODULATION_MOD_64QAM = 16; // 0x10
13087    field public static final int MODULATION_MOD_DQPSK = 2; // 0x2
13088    field public static final int MODULATION_MOD_QPSK = 4; // 0x4
13089    field public static final int MODULATION_UNDEFINED = 0; // 0x0
13090    field public static final int PARTIAL_RECEPTION_FLAG_FALSE = 2; // 0x2
13091    field public static final int PARTIAL_RECEPTION_FLAG_TRUE = 4; // 0x4
13092    field public static final int PARTIAL_RECEPTION_FLAG_UNDEFINED = 0; // 0x0
13093    field public static final int TIME_INTERLEAVE_MODE_1_0 = 2; // 0x2
13094    field public static final int TIME_INTERLEAVE_MODE_1_16 = 16; // 0x10
13095    field public static final int TIME_INTERLEAVE_MODE_1_4 = 4; // 0x4
13096    field public static final int TIME_INTERLEAVE_MODE_1_8 = 8; // 0x8
13097    field public static final int TIME_INTERLEAVE_MODE_2_0 = 32; // 0x20
13098    field public static final int TIME_INTERLEAVE_MODE_2_2 = 64; // 0x40
13099    field public static final int TIME_INTERLEAVE_MODE_2_4 = 128; // 0x80
13100    field public static final int TIME_INTERLEAVE_MODE_2_8 = 256; // 0x100
13101    field public static final int TIME_INTERLEAVE_MODE_3_0 = 512; // 0x200
13102    field public static final int TIME_INTERLEAVE_MODE_3_1 = 1024; // 0x400
13103    field public static final int TIME_INTERLEAVE_MODE_3_2 = 2048; // 0x800
13104    field public static final int TIME_INTERLEAVE_MODE_3_4 = 4096; // 0x1000
13105    field public static final int TIME_INTERLEAVE_MODE_AUTO = 1; // 0x1
13106    field public static final int TIME_INTERLEAVE_MODE_UNDEFINED = 0; // 0x0
13107  }
13108
13109  public static class IsdbtFrontendSettings.Builder {
13110    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings build();
13111    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setBandwidth(int);
13112    method @Deprecated @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setCodeRate(int);
13113    method @Deprecated @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setFrequency(int);
13114    method @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setFrequencyLong(long);
13115    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setGuardInterval(int);
13116    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setLayerSettings(@NonNull android.media.tv.tuner.frontend.IsdbtFrontendSettings.IsdbtLayerSettings[]);
13117    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setMode(int);
13118    method @Deprecated @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setModulation(int);
13119    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setPartialReceptionFlag(int);
13120    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setServiceAreaId(int);
13121  }
13122
13123  public static final class IsdbtFrontendSettings.IsdbtLayerSettings {
13124    method @NonNull public static android.media.tv.tuner.frontend.IsdbtFrontendSettings.IsdbtLayerSettings.Builder builder();
13125    method public int getCodeRate();
13126    method public int getModulation();
13127    method @IntRange(from=0, to=255) public int getNumberOfSegments();
13128    method public int getTimeInterleaveMode();
13129  }
13130
13131  public static final class IsdbtFrontendSettings.IsdbtLayerSettings.Builder {
13132    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.IsdbtLayerSettings build();
13133    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.IsdbtLayerSettings.Builder setCodeRate(int);
13134    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.IsdbtLayerSettings.Builder setModulation(int);
13135    method @NonNull @IntRange(from=0, to=255) public android.media.tv.tuner.frontend.IsdbtFrontendSettings.IsdbtLayerSettings.Builder setNumberOfSegments(int);
13136    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.IsdbtLayerSettings.Builder setTimeInterleaveMode(int);
13137  }
13138
13139  public interface OnTuneEventListener {
13140    method public void onTuneEvent(int);
13141    field public static final int SIGNAL_LOCKED = 0; // 0x0
13142    field public static final int SIGNAL_LOST_LOCK = 2; // 0x2
13143    field public static final int SIGNAL_NO_SIGNAL = 1; // 0x1
13144  }
13145
13146  public interface ScanCallback {
13147    method public void onAnalogSifStandardReported(int);
13148    method public void onAtsc3PlpInfosReported(@NonNull android.media.tv.tuner.frontend.Atsc3PlpInfo[]);
13149    method public default void onDvbcAnnexReported(int);
13150    method public void onDvbsStandardReported(int);
13151    method public default void onDvbtCellIdsReported(@NonNull int[]);
13152    method public void onDvbtStandardReported(int);
13153    method public default void onFrequenciesLongReported(@NonNull long[]);
13154    method @Deprecated public void onFrequenciesReported(@NonNull int[]);
13155    method public void onGroupIdsReported(@NonNull int[]);
13156    method public void onHierarchyReported(int);
13157    method public void onInputStreamIdsReported(@NonNull int[]);
13158    method public void onLocked();
13159    method public default void onModulationReported(int);
13160    method public void onPlpIdsReported(@NonNull int[]);
13161    method public default void onPriorityReported(boolean);
13162    method public void onProgress(@IntRange(from=0, to=100) int);
13163    method public void onScanStopped();
13164    method public void onSignalTypeReported(int);
13165    method public void onSymbolRatesReported(@NonNull int[]);
13166    method public default void onUnlocked();
13167  }
13168
13169  @FlaggedApi("android.media.tv.flags.tuner_w_apis") public final class StandardExtension {
13170    method public int getDvbsStandardExtension();
13171    method public int getDvbtStandardExtension();
13172  }
13173
13174}
13175
13176package android.media.voice {
13177
13178  public final class KeyphraseModelManager {
13179    method @RequiresPermission(android.Manifest.permission.MANAGE_VOICE_KEYPHRASES) public void deleteKeyphraseSoundModel(int, @NonNull java.util.Locale);
13180    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_VOICE_KEYPHRASES) public android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel getKeyphraseSoundModel(int, @NonNull java.util.Locale);
13181    method @RequiresPermission(android.Manifest.permission.MANAGE_VOICE_KEYPHRASES) public void updateKeyphraseSoundModel(@NonNull android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel);
13182  }
13183
13184}
13185
13186package android.metrics {
13187
13188  public class LogMaker {
13189    ctor public LogMaker(int);
13190    ctor public LogMaker(Object[]);
13191    method public android.metrics.LogMaker addTaggedData(int, Object);
13192    method public android.metrics.LogMaker clearCategory();
13193    method public android.metrics.LogMaker clearPackageName();
13194    method public android.metrics.LogMaker clearSubtype();
13195    method public android.metrics.LogMaker clearTaggedData(int);
13196    method public android.metrics.LogMaker clearType();
13197    method public void deserialize(Object[]);
13198    method public int getCategory();
13199    method public long getCounterBucket();
13200    method public String getCounterName();
13201    method public int getCounterValue();
13202    method public String getPackageName();
13203    method public int getProcessId();
13204    method public int getSubtype();
13205    method public Object getTaggedData(int);
13206    method public long getTimestamp();
13207    method public int getType();
13208    method public int getUid();
13209    method public boolean isLongCounterBucket();
13210    method public boolean isSubsetOf(android.metrics.LogMaker);
13211    method public boolean isValidValue(Object);
13212    method public Object[] serialize();
13213    method public android.metrics.LogMaker setCategory(int);
13214    method public android.metrics.LogMaker setPackageName(String);
13215    method public android.metrics.LogMaker setSubtype(int);
13216    method public android.metrics.LogMaker setType(int);
13217  }
13218
13219  public class MetricsReader {
13220    ctor public MetricsReader();
13221    method public void checkpoint();
13222    method public boolean hasNext();
13223    method public android.metrics.LogMaker next();
13224    method public void read(long);
13225    method public void reset();
13226  }
13227
13228}
13229
13230package android.nearby {
13231
13232  public interface BroadcastCallback {
13233    method public void onStatusChanged(int);
13234    field public static final int STATUS_FAILURE = 1; // 0x1
13235    field public static final int STATUS_FAILURE_ALREADY_REGISTERED = 2; // 0x2
13236    field public static final int STATUS_FAILURE_MISSING_PERMISSIONS = 4; // 0x4
13237    field public static final int STATUS_FAILURE_SIZE_EXCEED_LIMIT = 3; // 0x3
13238    field public static final int STATUS_OK = 0; // 0x0
13239  }
13240
13241  public abstract class BroadcastRequest {
13242    method @NonNull public java.util.List<java.lang.Integer> getMediums();
13243    method @IntRange(from=0xffffff81, to=126) public int getTxPower();
13244    method public int getType();
13245    method public int getVersion();
13246    field public static final int BROADCAST_TYPE_NEARBY_PRESENCE = 3; // 0x3
13247    field public static final int BROADCAST_TYPE_UNKNOWN = -1; // 0xffffffff
13248    field public static final int MEDIUM_BLE = 1; // 0x1
13249    field public static final int PRESENCE_VERSION_UNKNOWN = -1; // 0xffffffff
13250    field public static final int PRESENCE_VERSION_V0 = 0; // 0x0
13251    field public static final int PRESENCE_VERSION_V1 = 1; // 0x1
13252    field public static final int UNKNOWN_TX_POWER = -127; // 0xffffff81
13253  }
13254
13255  public final class CredentialElement implements android.os.Parcelable {
13256    ctor public CredentialElement(@NonNull String, @NonNull byte[]);
13257    method public int describeContents();
13258    method @NonNull public String getKey();
13259    method @NonNull public byte[] getValue();
13260    method public void writeToParcel(@NonNull android.os.Parcel, int);
13261    field @NonNull public static final android.os.Parcelable.Creator<android.nearby.CredentialElement> CREATOR;
13262  }
13263
13264  public final class DataElement implements android.os.Parcelable {
13265    ctor public DataElement(int, @NonNull byte[]);
13266    method public int describeContents();
13267    method public int getKey();
13268    method @NonNull public byte[] getValue();
13269    method public void writeToParcel(@NonNull android.os.Parcel, int);
13270    field @NonNull public static final android.os.Parcelable.Creator<android.nearby.DataElement> CREATOR;
13271  }
13272
13273  public abstract class NearbyDevice {
13274    method @NonNull public java.util.List<java.lang.Integer> getMediums();
13275    method @Nullable public String getName();
13276    method @IntRange(from=0xffffff81, to=126) public int getRssi();
13277    method public static boolean isValidMedium(int);
13278  }
13279
13280  public class NearbyManager {
13281    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public int getPoweredOffFindingMode();
13282    method public void queryOffloadCapability(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.nearby.OffloadCapability>);
13283    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public void setPoweredOffFindingEphemeralIds(@NonNull java.util.List<byte[]>);
13284    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public void setPoweredOffFindingMode(int);
13285    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);
13286    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);
13287    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_ADVERTISE, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void stopBroadcast(@NonNull android.nearby.BroadcastCallback);
13288    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void stopScan(@NonNull android.nearby.ScanCallback);
13289    field public static final int POWERED_OFF_FINDING_MODE_DISABLED = 1; // 0x1
13290    field public static final int POWERED_OFF_FINDING_MODE_ENABLED = 2; // 0x2
13291    field public static final int POWERED_OFF_FINDING_MODE_UNSUPPORTED = 0; // 0x0
13292  }
13293
13294  public final class OffloadCapability implements android.os.Parcelable {
13295    method public int describeContents();
13296    method public long getVersion();
13297    method public boolean isFastPairSupported();
13298    method public boolean isNearbyShareSupported();
13299    method public void writeToParcel(@NonNull android.os.Parcel, int);
13300    field @NonNull public static final android.os.Parcelable.Creator<android.nearby.OffloadCapability> CREATOR;
13301  }
13302
13303  public static final class OffloadCapability.Builder {
13304    ctor public OffloadCapability.Builder();
13305    method @NonNull public android.nearby.OffloadCapability build();
13306    method @NonNull public android.nearby.OffloadCapability.Builder setFastPairSupported(boolean);
13307    method @NonNull public android.nearby.OffloadCapability.Builder setNearbyShareSupported(boolean);
13308    method @NonNull public android.nearby.OffloadCapability.Builder setVersion(long);
13309  }
13310
13311  public final class PresenceBroadcastRequest extends android.nearby.BroadcastRequest implements android.os.Parcelable {
13312    method public int describeContents();
13313    method @NonNull public java.util.List<java.lang.Integer> getActions();
13314    method @NonNull public android.nearby.PrivateCredential getCredential();
13315    method @NonNull public java.util.List<android.nearby.DataElement> getExtendedProperties();
13316    method @NonNull public byte[] getSalt();
13317    method public void writeToParcel(@NonNull android.os.Parcel, int);
13318    field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PresenceBroadcastRequest> CREATOR;
13319  }
13320
13321  public static final class PresenceBroadcastRequest.Builder {
13322    ctor public PresenceBroadcastRequest.Builder(@NonNull java.util.List<java.lang.Integer>, @NonNull byte[], @NonNull android.nearby.PrivateCredential);
13323    method @NonNull public android.nearby.PresenceBroadcastRequest.Builder addAction(@IntRange(from=1, to=255) int);
13324    method @NonNull public android.nearby.PresenceBroadcastRequest.Builder addExtendedProperty(@NonNull android.nearby.DataElement);
13325    method @NonNull public android.nearby.PresenceBroadcastRequest build();
13326    method @NonNull public android.nearby.PresenceBroadcastRequest.Builder setTxPower(@IntRange(from=0xffffff81, to=126) int);
13327    method @NonNull public android.nearby.PresenceBroadcastRequest.Builder setVersion(int);
13328  }
13329
13330  public abstract class PresenceCredential {
13331    method @NonNull public byte[] getAuthenticityKey();
13332    method @NonNull public java.util.List<android.nearby.CredentialElement> getCredentialElements();
13333    method public int getIdentityType();
13334    method @NonNull public byte[] getSecretId();
13335    method public int getType();
13336    field public static final int CREDENTIAL_TYPE_PRIVATE = 0; // 0x0
13337    field public static final int CREDENTIAL_TYPE_PUBLIC = 1; // 0x1
13338    field public static final int IDENTITY_TYPE_PRIVATE = 1; // 0x1
13339    field public static final int IDENTITY_TYPE_PROVISIONED = 2; // 0x2
13340    field public static final int IDENTITY_TYPE_TRUSTED = 3; // 0x3
13341    field public static final int IDENTITY_TYPE_UNKNOWN = 0; // 0x0
13342  }
13343
13344  public final class PresenceDevice extends android.nearby.NearbyDevice implements android.os.Parcelable {
13345    method public int describeContents();
13346    method @NonNull public String getDeviceId();
13347    method @Nullable public String getDeviceImageUrl();
13348    method public int getDeviceType();
13349    method public long getDiscoveryTimestampMillis();
13350    method @NonNull public byte[] getEncryptedIdentity();
13351    method @NonNull public java.util.List<android.nearby.DataElement> getExtendedProperties();
13352    method @NonNull public byte[] getSalt();
13353    method @NonNull public byte[] getSecretId();
13354    method public void writeToParcel(@NonNull android.os.Parcel, int);
13355    field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PresenceDevice> CREATOR;
13356  }
13357
13358  public static final class PresenceDevice.Builder {
13359    ctor public PresenceDevice.Builder(@NonNull String, @NonNull byte[], @NonNull byte[], @NonNull byte[]);
13360    method @NonNull public android.nearby.PresenceDevice.Builder addExtendedProperty(@NonNull android.nearby.DataElement);
13361    method @NonNull public android.nearby.PresenceDevice.Builder addMedium(int);
13362    method @NonNull public android.nearby.PresenceDevice build();
13363    method @NonNull public android.nearby.PresenceDevice.Builder setDeviceImageUrl(@Nullable String);
13364    method @NonNull public android.nearby.PresenceDevice.Builder setDeviceType(int);
13365    method @NonNull public android.nearby.PresenceDevice.Builder setDiscoveryTimestampMillis(long);
13366    method @NonNull public android.nearby.PresenceDevice.Builder setName(@Nullable String);
13367    method @NonNull public android.nearby.PresenceDevice.Builder setRssi(int);
13368  }
13369
13370  public final class PresenceScanFilter extends android.nearby.ScanFilter implements android.os.Parcelable {
13371    method public int describeContents();
13372    method @NonNull public java.util.List<android.nearby.PublicCredential> getCredentials();
13373    method @NonNull public java.util.List<android.nearby.DataElement> getExtendedProperties();
13374    method @NonNull public java.util.List<java.lang.Integer> getPresenceActions();
13375    method public void writeToParcel(@NonNull android.os.Parcel, int);
13376    field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PresenceScanFilter> CREATOR;
13377  }
13378
13379  public static final class PresenceScanFilter.Builder {
13380    ctor public PresenceScanFilter.Builder();
13381    method @NonNull public android.nearby.PresenceScanFilter.Builder addCredential(@NonNull android.nearby.PublicCredential);
13382    method @NonNull public android.nearby.PresenceScanFilter.Builder addExtendedProperty(@NonNull android.nearby.DataElement);
13383    method @NonNull public android.nearby.PresenceScanFilter.Builder addPresenceAction(@IntRange(from=1, to=255) int);
13384    method @NonNull public android.nearby.PresenceScanFilter build();
13385    method @NonNull public android.nearby.PresenceScanFilter.Builder setMaxPathLoss(@IntRange(from=0, to=127) int);
13386  }
13387
13388  public final class PrivateCredential extends android.nearby.PresenceCredential implements android.os.Parcelable {
13389    method public int describeContents();
13390    method @NonNull public String getDeviceName();
13391    method @NonNull public byte[] getMetadataEncryptionKey();
13392    method public void writeToParcel(@NonNull android.os.Parcel, int);
13393    field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PrivateCredential> CREATOR;
13394  }
13395
13396  public static final class PrivateCredential.Builder {
13397    ctor public PrivateCredential.Builder(@NonNull byte[], @NonNull byte[], @NonNull byte[], @NonNull String);
13398    method @NonNull public android.nearby.PrivateCredential.Builder addCredentialElement(@NonNull android.nearby.CredentialElement);
13399    method @NonNull public android.nearby.PrivateCredential build();
13400    method @NonNull public android.nearby.PrivateCredential.Builder setIdentityType(int);
13401  }
13402
13403  public final class PublicCredential extends android.nearby.PresenceCredential implements android.os.Parcelable {
13404    method public int describeContents();
13405    method @NonNull public byte[] getEncryptedMetadata();
13406    method @NonNull public byte[] getEncryptedMetadataKeyTag();
13407    method @NonNull public byte[] getPublicKey();
13408    method public void writeToParcel(@NonNull android.os.Parcel, int);
13409    field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PublicCredential> CREATOR;
13410  }
13411
13412  public static final class PublicCredential.Builder {
13413    ctor public PublicCredential.Builder(@NonNull byte[], @NonNull byte[], @NonNull byte[], @NonNull byte[], @NonNull byte[]);
13414    method @NonNull public android.nearby.PublicCredential.Builder addCredentialElement(@NonNull android.nearby.CredentialElement);
13415    method @NonNull public android.nearby.PublicCredential build();
13416    method @NonNull public android.nearby.PublicCredential.Builder setIdentityType(int);
13417  }
13418
13419  public interface ScanCallback {
13420    method public void onDiscovered(@NonNull android.nearby.NearbyDevice);
13421    method public default void onError(int);
13422    method public void onLost(@NonNull android.nearby.NearbyDevice);
13423    method public void onUpdated(@NonNull android.nearby.NearbyDevice);
13424    field public static final int ERROR_INVALID_ARGUMENT = 2; // 0x2
13425    field public static final int ERROR_PERMISSION_DENIED = 3; // 0x3
13426    field public static final int ERROR_RESOURCE_EXHAUSTED = 4; // 0x4
13427    field public static final int ERROR_UNKNOWN = 0; // 0x0
13428    field public static final int ERROR_UNSUPPORTED = 1; // 0x1
13429  }
13430
13431  public abstract class ScanFilter {
13432    method @IntRange(from=0, to=127) public int getMaxPathLoss();
13433    method public int getType();
13434  }
13435
13436  public final class ScanRequest implements android.os.Parcelable {
13437    method public int describeContents();
13438    method @NonNull public java.util.List<android.nearby.ScanFilter> getScanFilters();
13439    method public int getScanMode();
13440    method public int getScanType();
13441    method @NonNull public android.os.WorkSource getWorkSource();
13442    method public boolean isBleEnabled();
13443    method public boolean isOffloadOnly();
13444    method public static boolean isValidScanMode(int);
13445    method public static boolean isValidScanType(int);
13446    method @NonNull public static String scanModeToString(int);
13447    method public void writeToParcel(@NonNull android.os.Parcel, int);
13448    field @NonNull public static final android.os.Parcelable.Creator<android.nearby.ScanRequest> CREATOR;
13449    field public static final int SCAN_MODE_BALANCED = 1; // 0x1
13450    field public static final int SCAN_MODE_LOW_LATENCY = 2; // 0x2
13451    field public static final int SCAN_MODE_LOW_POWER = 0; // 0x0
13452    field public static final int SCAN_MODE_NO_POWER = -1; // 0xffffffff
13453    field public static final int SCAN_TYPE_FAST_PAIR = 1; // 0x1
13454    field public static final int SCAN_TYPE_NEARBY_PRESENCE = 2; // 0x2
13455  }
13456
13457  public static final class ScanRequest.Builder {
13458    ctor public ScanRequest.Builder();
13459    method @NonNull public android.nearby.ScanRequest.Builder addScanFilter(@NonNull android.nearby.ScanFilter);
13460    method @NonNull public android.nearby.ScanRequest build();
13461    method @NonNull public android.nearby.ScanRequest.Builder setBleEnabled(boolean);
13462    method @NonNull public android.nearby.ScanRequest.Builder setOffloadOnly(boolean);
13463    method @NonNull public android.nearby.ScanRequest.Builder setScanMode(int);
13464    method @NonNull public android.nearby.ScanRequest.Builder setScanType(int);
13465    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public android.nearby.ScanRequest.Builder setWorkSource(@Nullable android.os.WorkSource);
13466  }
13467
13468}
13469
13470package android.net {
13471
13472  public class CaptivePortal implements android.os.Parcelable {
13473    method @Deprecated public void logEvent(int, @NonNull String);
13474    method @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public void reevaluateNetwork();
13475    method public void useNetwork();
13476    field public static final int APP_REQUEST_REEVALUATION_REQUIRED = 100; // 0x64
13477    field public static final int APP_RETURN_DISMISSED = 0; // 0x0
13478    field public static final int APP_RETURN_UNWANTED = 1; // 0x1
13479    field public static final int APP_RETURN_WANTED_AS_IS = 2; // 0x2
13480  }
13481
13482  public final class CaptivePortalData implements android.os.Parcelable {
13483    method public int describeContents();
13484    method public long getByteLimit();
13485    method public long getExpiryTimeMillis();
13486    method public long getRefreshTimeMillis();
13487    method @Nullable public android.net.Uri getUserPortalUrl();
13488    method public int getUserPortalUrlSource();
13489    method @Nullable public CharSequence getVenueFriendlyName();
13490    method @Nullable public android.net.Uri getVenueInfoUrl();
13491    method public int getVenueInfoUrlSource();
13492    method public boolean isCaptive();
13493    method public boolean isSessionExtendable();
13494    method public void writeToParcel(@NonNull android.os.Parcel, int);
13495    field public static final int CAPTIVE_PORTAL_DATA_SOURCE_OTHER = 0; // 0x0
13496    field public static final int CAPTIVE_PORTAL_DATA_SOURCE_PASSPOINT = 1; // 0x1
13497    field @NonNull public static final android.os.Parcelable.Creator<android.net.CaptivePortalData> CREATOR;
13498  }
13499
13500  public static class CaptivePortalData.Builder {
13501    ctor public CaptivePortalData.Builder();
13502    ctor public CaptivePortalData.Builder(@Nullable android.net.CaptivePortalData);
13503    method @NonNull public android.net.CaptivePortalData build();
13504    method @NonNull public android.net.CaptivePortalData.Builder setBytesRemaining(long);
13505    method @NonNull public android.net.CaptivePortalData.Builder setCaptive(boolean);
13506    method @NonNull public android.net.CaptivePortalData.Builder setExpiryTime(long);
13507    method @NonNull public android.net.CaptivePortalData.Builder setRefreshTime(long);
13508    method @NonNull public android.net.CaptivePortalData.Builder setSessionExtendable(boolean);
13509    method @NonNull public android.net.CaptivePortalData.Builder setUserPortalUrl(@Nullable android.net.Uri);
13510    method @NonNull public android.net.CaptivePortalData.Builder setUserPortalUrl(@Nullable android.net.Uri, int);
13511    method @NonNull public android.net.CaptivePortalData.Builder setVenueFriendlyName(@Nullable CharSequence);
13512    method @NonNull public android.net.CaptivePortalData.Builder setVenueInfoUrl(@Nullable android.net.Uri);
13513    method @NonNull public android.net.CaptivePortalData.Builder setVenueInfoUrl(@Nullable android.net.Uri, int);
13514  }
13515
13516  public class ConnectivityManager {
13517    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);
13518    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);
13519    method @Deprecated @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public String getCaptivePortalServerUrl();
13520    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void getLatestTetheringEntitlementResult(int, boolean, @NonNull java.util.concurrent.Executor, @NonNull android.net.ConnectivityManager.OnTetheringEntitlementResultListener);
13521    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public boolean isTetheringSupported();
13522    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_FACTORY}) public int registerNetworkProvider(@NonNull android.net.NetworkProvider);
13523    method public void registerQosCallback(@NonNull android.net.QosSocketInfo, @NonNull java.util.concurrent.Executor, @NonNull android.net.QosCallback);
13524    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void registerTetheringEventCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.ConnectivityManager.OnTetheringEventCallback);
13525    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);
13526    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);
13527    method @RequiresPermission(android.Manifest.permission.CONTROL_OEM_PAID_NETWORK_PREFERENCE) public void setOemNetworkPreference(@NonNull android.net.OemNetworkPreferences, @Nullable java.util.concurrent.Executor, @Nullable Runnable);
13528    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public boolean shouldAvoidBadWifi();
13529    method @RequiresPermission(android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK) public void startCaptivePortalApp(@NonNull android.net.Network, @NonNull android.os.Bundle);
13530    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void startTethering(int, boolean, android.net.ConnectivityManager.OnStartTetheringCallback);
13531    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void startTethering(int, boolean, android.net.ConnectivityManager.OnStartTetheringCallback, android.os.Handler);
13532    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void stopTethering(int);
13533    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_FACTORY}) public void unregisterNetworkProvider(@NonNull android.net.NetworkProvider);
13534    method public void unregisterQosCallback(@NonNull android.net.QosCallback);
13535    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void unregisterTetheringEventCallback(@NonNull android.net.ConnectivityManager.OnTetheringEventCallback);
13536    field public static final String EXTRA_CAPTIVE_PORTAL_PROBE_SPEC = "android.net.extra.CAPTIVE_PORTAL_PROBE_SPEC";
13537    field public static final String EXTRA_CAPTIVE_PORTAL_USER_AGENT = "android.net.extra.CAPTIVE_PORTAL_USER_AGENT";
13538    field public static final int TETHERING_BLUETOOTH = 2; // 0x2
13539    field public static final int TETHERING_USB = 1; // 0x1
13540    field public static final int TETHERING_WIFI = 0; // 0x0
13541    field @Deprecated public static final int TETHER_ERROR_ENTITLEMENT_UNKONWN = 13; // 0xd
13542    field @Deprecated public static final int TETHER_ERROR_NO_ERROR = 0; // 0x0
13543    field @Deprecated public static final int TETHER_ERROR_PROVISION_FAILED = 11; // 0xb
13544    field public static final int TYPE_NONE = -1; // 0xffffffff
13545    field @Deprecated public static final int TYPE_PROXY = 16; // 0x10
13546    field @Deprecated public static final int TYPE_WIFI_P2P = 13; // 0xd
13547  }
13548
13549  @Deprecated public abstract static class ConnectivityManager.OnStartTetheringCallback {
13550    ctor @Deprecated public ConnectivityManager.OnStartTetheringCallback();
13551    method @Deprecated public void onTetheringFailed();
13552    method @Deprecated public void onTetheringStarted();
13553  }
13554
13555  @Deprecated public static interface ConnectivityManager.OnTetheringEntitlementResultListener {
13556    method @Deprecated public void onTetheringEntitlementResult(int);
13557  }
13558
13559  @Deprecated public abstract static class ConnectivityManager.OnTetheringEventCallback {
13560    ctor @Deprecated public ConnectivityManager.OnTetheringEventCallback();
13561    method @Deprecated public void onUpstreamChanged(@Nullable android.net.Network);
13562  }
13563
13564  public final class DscpPolicy implements android.os.Parcelable {
13565    method public int describeContents();
13566    method @Nullable public java.net.InetAddress getDestinationAddress();
13567    method @Nullable public android.util.Range<java.lang.Integer> getDestinationPortRange();
13568    method public int getDscpValue();
13569    method public int getPolicyId();
13570    method public int getProtocol();
13571    method @Nullable public java.net.InetAddress getSourceAddress();
13572    method public int getSourcePort();
13573    method public void writeToParcel(@NonNull android.os.Parcel, int);
13574    field @NonNull public static final android.os.Parcelable.Creator<android.net.DscpPolicy> CREATOR;
13575    field public static final int PROTOCOL_ANY = -1; // 0xffffffff
13576    field public static final int SOURCE_PORT_ANY = -1; // 0xffffffff
13577  }
13578
13579  public static final class DscpPolicy.Builder {
13580    ctor public DscpPolicy.Builder(int, int);
13581    method @NonNull public android.net.DscpPolicy build();
13582    method @NonNull public android.net.DscpPolicy.Builder setDestinationAddress(@NonNull java.net.InetAddress);
13583    method @NonNull public android.net.DscpPolicy.Builder setDestinationPortRange(@NonNull android.util.Range<java.lang.Integer>);
13584    method @NonNull public android.net.DscpPolicy.Builder setProtocol(int);
13585    method @NonNull public android.net.DscpPolicy.Builder setSourceAddress(@NonNull java.net.InetAddress);
13586    method @NonNull public android.net.DscpPolicy.Builder setSourcePort(int);
13587  }
13588
13589  public class EthernetManager {
13590    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>);
13591    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>);
13592    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);
13593    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>);
13594  }
13595
13596  public static interface EthernetManager.TetheredInterfaceCallback {
13597    method public void onAvailable(@NonNull String);
13598    method public void onUnavailable();
13599  }
13600
13601  public static class EthernetManager.TetheredInterfaceRequest {
13602    method public void release();
13603  }
13604
13605  public final class EthernetNetworkManagementException extends java.lang.RuntimeException implements android.os.Parcelable {
13606    ctor public EthernetNetworkManagementException(@NonNull String);
13607    method public int describeContents();
13608    method public void writeToParcel(@NonNull android.os.Parcel, int);
13609    field @NonNull public static final android.os.Parcelable.Creator<android.net.EthernetNetworkManagementException> CREATOR;
13610  }
13611
13612  public final class EthernetNetworkUpdateRequest implements android.os.Parcelable {
13613    method public int describeContents();
13614    method @Nullable public android.net.IpConfiguration getIpConfiguration();
13615    method @Nullable public android.net.NetworkCapabilities getNetworkCapabilities();
13616    method public void writeToParcel(@NonNull android.os.Parcel, int);
13617    field @NonNull public static final android.os.Parcelable.Creator<android.net.EthernetNetworkUpdateRequest> CREATOR;
13618  }
13619
13620  public static final class EthernetNetworkUpdateRequest.Builder {
13621    ctor public EthernetNetworkUpdateRequest.Builder();
13622    ctor public EthernetNetworkUpdateRequest.Builder(@NonNull android.net.EthernetNetworkUpdateRequest);
13623    method @NonNull public android.net.EthernetNetworkUpdateRequest build();
13624    method @NonNull public android.net.EthernetNetworkUpdateRequest.Builder setIpConfiguration(@Nullable android.net.IpConfiguration);
13625    method @NonNull public android.net.EthernetNetworkUpdateRequest.Builder setNetworkCapabilities(@Nullable android.net.NetworkCapabilities);
13626  }
13627
13628  public final class InvalidPacketException extends java.lang.Exception {
13629    ctor public InvalidPacketException(int);
13630    method public int getError();
13631    field public static final int ERROR_INVALID_IP_ADDRESS = -21; // 0xffffffeb
13632    field public static final int ERROR_INVALID_LENGTH = -23; // 0xffffffe9
13633    field public static final int ERROR_INVALID_PORT = -22; // 0xffffffea
13634  }
13635
13636  public final class IpConfiguration implements android.os.Parcelable {
13637    ctor public IpConfiguration();
13638    ctor public IpConfiguration(@NonNull android.net.IpConfiguration);
13639    method @NonNull public android.net.IpConfiguration.IpAssignment getIpAssignment();
13640    method @NonNull public android.net.IpConfiguration.ProxySettings getProxySettings();
13641    method public void setHttpProxy(@Nullable android.net.ProxyInfo);
13642    method public void setIpAssignment(@NonNull android.net.IpConfiguration.IpAssignment);
13643    method public void setProxySettings(@NonNull android.net.IpConfiguration.ProxySettings);
13644    method public void setStaticIpConfiguration(@Nullable android.net.StaticIpConfiguration);
13645  }
13646
13647  public enum IpConfiguration.IpAssignment {
13648    enum_constant public static final android.net.IpConfiguration.IpAssignment DHCP;
13649    enum_constant public static final android.net.IpConfiguration.IpAssignment STATIC;
13650    enum_constant public static final android.net.IpConfiguration.IpAssignment UNASSIGNED;
13651  }
13652
13653  public enum IpConfiguration.ProxySettings {
13654    enum_constant public static final android.net.IpConfiguration.ProxySettings NONE;
13655    enum_constant public static final android.net.IpConfiguration.ProxySettings PAC;
13656    enum_constant public static final android.net.IpConfiguration.ProxySettings STATIC;
13657    enum_constant public static final android.net.IpConfiguration.ProxySettings UNASSIGNED;
13658  }
13659
13660  public final class IpPrefix implements android.os.Parcelable {
13661    ctor public IpPrefix(@NonNull String);
13662  }
13663
13664  public class IpSecManager {
13665    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;
13666    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;
13667    method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void startTunnelModeTransformMigration(@NonNull android.net.IpSecTransform, @NonNull java.net.InetAddress, @NonNull java.net.InetAddress);
13668  }
13669
13670  public static final class IpSecManager.IpSecTunnelInterface implements java.lang.AutoCloseable {
13671    method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void addAddress(@NonNull java.net.InetAddress, int) throws java.io.IOException;
13672    method public void close();
13673    method @NonNull public String getInterfaceName();
13674    method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void removeAddress(@NonNull java.net.InetAddress, int) throws java.io.IOException;
13675    method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void setUnderlyingNetwork(@NonNull android.net.Network) throws java.io.IOException;
13676  }
13677
13678  public static class IpSecTransform.Builder {
13679    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;
13680  }
13681
13682  public class KeepalivePacketData {
13683    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;
13684    method @NonNull public java.net.InetAddress getDstAddress();
13685    method public int getDstPort();
13686    method @NonNull public byte[] getPacket();
13687    method @NonNull public java.net.InetAddress getSrcAddress();
13688    method public int getSrcPort();
13689  }
13690
13691  public class LinkAddress implements android.os.Parcelable {
13692    ctor public LinkAddress(@NonNull String);
13693    ctor public LinkAddress(@NonNull String, int, int);
13694    ctor public LinkAddress(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int);
13695    ctor public LinkAddress(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int, int, int);
13696    ctor public LinkAddress(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int, int, int, long, long);
13697    method public long getDeprecationTime();
13698    method public long getExpirationTime();
13699    method public boolean isGlobalPreferred();
13700    method public boolean isIpv4();
13701    method public boolean isIpv6();
13702    method public boolean isSameAddressAs(@Nullable android.net.LinkAddress);
13703    field public static final long LIFETIME_PERMANENT = 9223372036854775807L; // 0x7fffffffffffffffL
13704    field public static final long LIFETIME_UNKNOWN = -1L; // 0xffffffffffffffffL
13705  }
13706
13707  public final class LinkProperties implements android.os.Parcelable {
13708    ctor public LinkProperties(@Nullable android.net.LinkProperties);
13709    ctor public LinkProperties(@Nullable android.net.LinkProperties, boolean);
13710    method public boolean addDnsServer(@NonNull java.net.InetAddress);
13711    method public boolean addLinkAddress(@NonNull android.net.LinkAddress);
13712    method public boolean addPcscfServer(@NonNull java.net.InetAddress);
13713    method @NonNull public java.util.List<java.net.InetAddress> getAddresses();
13714    method @NonNull public java.util.List<java.lang.String> getAllInterfaceNames();
13715    method @NonNull public java.util.List<android.net.LinkAddress> getAllLinkAddresses();
13716    method @NonNull public java.util.List<android.net.RouteInfo> getAllRoutes();
13717    method @Nullable public android.net.Uri getCaptivePortalApiUrl();
13718    method @Nullable public android.net.CaptivePortalData getCaptivePortalData();
13719    method @NonNull public java.util.List<java.net.InetAddress> getPcscfServers();
13720    method @Nullable public String getTcpBufferSizes();
13721    method @NonNull public java.util.List<java.net.InetAddress> getValidatedPrivateDnsServers();
13722    method public boolean hasGlobalIpv6Address();
13723    method public boolean hasIpv4Address();
13724    method public boolean hasIpv4DefaultRoute();
13725    method public boolean hasIpv4DnsServer();
13726    method public boolean hasIpv6DefaultRoute();
13727    method public boolean hasIpv6DnsServer();
13728    method public boolean isIpv4Provisioned();
13729    method public boolean isIpv6Provisioned();
13730    method public boolean isProvisioned();
13731    method public boolean isReachable(@NonNull java.net.InetAddress);
13732    method public boolean removeDnsServer(@NonNull java.net.InetAddress);
13733    method public boolean removeLinkAddress(@NonNull android.net.LinkAddress);
13734    method public boolean removeRoute(@NonNull android.net.RouteInfo);
13735    method public void setCaptivePortalApiUrl(@Nullable android.net.Uri);
13736    method public void setCaptivePortalData(@Nullable android.net.CaptivePortalData);
13737    method public void setPcscfServers(@NonNull java.util.Collection<java.net.InetAddress>);
13738    method public void setPrivateDnsServerName(@Nullable String);
13739    method public void setTcpBufferSizes(@Nullable String);
13740    method public void setUsePrivateDns(boolean);
13741    method public void setValidatedPrivateDnsServers(@NonNull java.util.Collection<java.net.InetAddress>);
13742  }
13743
13744  public final class MatchAllNetworkSpecifier extends android.net.NetworkSpecifier implements android.os.Parcelable {
13745    ctor public MatchAllNetworkSpecifier();
13746    method public int describeContents();
13747    method public void writeToParcel(@NonNull android.os.Parcel, int);
13748    field @NonNull public static final android.os.Parcelable.Creator<android.net.MatchAllNetworkSpecifier> CREATOR;
13749  }
13750
13751  public final class NattKeepalivePacketData extends android.net.KeepalivePacketData implements android.os.Parcelable {
13752    ctor public NattKeepalivePacketData(@NonNull java.net.InetAddress, int, @NonNull java.net.InetAddress, int, @NonNull byte[]) throws android.net.InvalidPacketException;
13753    method public int describeContents();
13754    method public void writeToParcel(@NonNull android.os.Parcel, int);
13755    field @NonNull public static final android.os.Parcelable.Creator<android.net.NattKeepalivePacketData> CREATOR;
13756  }
13757
13758  public class Network implements android.os.Parcelable {
13759    ctor public Network(@NonNull android.net.Network);
13760    method public int getNetId();
13761    method @NonNull public android.net.Network getPrivateDnsBypassingCopy();
13762  }
13763
13764  public abstract class NetworkAgent {
13765    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);
13766    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);
13767    method @Nullable public android.net.Network getNetwork();
13768    method public void markConnected();
13769    method public void onAddKeepalivePacketFilter(int, @NonNull android.net.KeepalivePacketData);
13770    method public void onAutomaticReconnectDisabled();
13771    method public void onBandwidthUpdateRequested();
13772    method public void onDscpPolicyStatusUpdated(int, int);
13773    method public void onNetworkCreated();
13774    method public void onNetworkDestroyed();
13775    method public void onNetworkUnwanted();
13776    method public void onQosCallbackRegistered(int, @NonNull android.net.QosFilter);
13777    method public void onQosCallbackUnregistered(int);
13778    method public void onRemoveKeepalivePacketFilter(int);
13779    method public void onSaveAcceptUnvalidated(boolean);
13780    method public void onSignalStrengthThresholdsUpdated(@NonNull int[]);
13781    method public void onStartSocketKeepalive(int, @NonNull java.time.Duration, @NonNull android.net.KeepalivePacketData);
13782    method public void onStopSocketKeepalive(int);
13783    method public void onValidationStatus(int, @Nullable android.net.Uri);
13784    method @NonNull public android.net.Network register();
13785    method public void sendAddDscpPolicy(@NonNull android.net.DscpPolicy);
13786    method public void sendLinkProperties(@NonNull android.net.LinkProperties);
13787    method public void sendNetworkCapabilities(@NonNull android.net.NetworkCapabilities);
13788    method public void sendNetworkScore(@NonNull android.net.NetworkScore);
13789    method public void sendNetworkScore(@IntRange(from=0, to=99) int);
13790    method public final void sendQosCallbackError(int, int);
13791    method public final void sendQosSessionAvailable(int, int, @NonNull android.net.QosSessionAttributes);
13792    method public final void sendQosSessionLost(int, int, int);
13793    method public void sendRemoveAllDscpPolicies();
13794    method public void sendRemoveDscpPolicy(int);
13795    method public final void sendSocketKeepaliveEvent(int, int);
13796    method @Deprecated public void setLegacySubtype(int, @NonNull String);
13797    method public void setLingerDuration(@NonNull java.time.Duration);
13798    method public void setTeardownDelayMillis(@IntRange(from=0, to=0x1388) int);
13799    method public void setUnderlyingNetworks(@Nullable java.util.List<android.net.Network>);
13800    method public void unregister();
13801    method public void unregisterAfterReplacement(@IntRange(from=0, to=0x1388) int);
13802    field public static final int DSCP_POLICY_STATUS_DELETED = 4; // 0x4
13803    field public static final int DSCP_POLICY_STATUS_INSUFFICIENT_PROCESSING_RESOURCES = 3; // 0x3
13804    field public static final int DSCP_POLICY_STATUS_POLICY_NOT_FOUND = 5; // 0x5
13805    field public static final int DSCP_POLICY_STATUS_REQUESTED_CLASSIFIER_NOT_SUPPORTED = 2; // 0x2
13806    field public static final int DSCP_POLICY_STATUS_REQUEST_DECLINED = 1; // 0x1
13807    field public static final int DSCP_POLICY_STATUS_SUCCESS = 0; // 0x0
13808    field public static final int VALIDATION_STATUS_NOT_VALID = 2; // 0x2
13809    field public static final int VALIDATION_STATUS_VALID = 1; // 0x1
13810  }
13811
13812  public final class NetworkAgentConfig implements android.os.Parcelable {
13813    method public int describeContents();
13814    method public int getLegacyType();
13815    method @NonNull public String getLegacyTypeName();
13816    method public boolean isExplicitlySelected();
13817    method public boolean isPartialConnectivityAcceptable();
13818    method public boolean isUnvalidatedConnectivityAcceptable();
13819    method public void writeToParcel(@NonNull android.os.Parcel, int);
13820    field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkAgentConfig> CREATOR;
13821  }
13822
13823  public static final class NetworkAgentConfig.Builder {
13824    ctor public NetworkAgentConfig.Builder();
13825    method @NonNull public android.net.NetworkAgentConfig build();
13826    method @NonNull public android.net.NetworkAgentConfig.Builder setExplicitlySelected(boolean);
13827    method @NonNull public android.net.NetworkAgentConfig.Builder setLegacyExtraInfo(@NonNull String);
13828    method @NonNull public android.net.NetworkAgentConfig.Builder setLegacySubType(int);
13829    method @NonNull public android.net.NetworkAgentConfig.Builder setLegacySubTypeName(@NonNull String);
13830    method @NonNull public android.net.NetworkAgentConfig.Builder setLegacyType(int);
13831    method @NonNull public android.net.NetworkAgentConfig.Builder setLegacyTypeName(@NonNull String);
13832    method @NonNull public android.net.NetworkAgentConfig.Builder setNat64DetectionEnabled(boolean);
13833    method @NonNull public android.net.NetworkAgentConfig.Builder setPartialConnectivityAcceptable(boolean);
13834    method @NonNull public android.net.NetworkAgentConfig.Builder setProvisioningNotificationEnabled(boolean);
13835    method @NonNull public android.net.NetworkAgentConfig.Builder setUnvalidatedConnectivityAcceptable(boolean);
13836  }
13837
13838  public final class NetworkCapabilities implements android.os.Parcelable {
13839    method @NonNull public int[] getAdministratorUids();
13840    method @Nullable public static String getCapabilityCarrierName(int);
13841    method @Nullable public String getSsid();
13842    method @NonNull public int[] getTransportTypes();
13843    method @Nullable public java.util.List<android.net.Network> getUnderlyingNetworks();
13844    method public boolean isPrivateDnsBroken();
13845    method public boolean satisfiedByNetworkCapabilities(@Nullable android.net.NetworkCapabilities);
13846    field public static final int NET_CAPABILITY_BIP = 31; // 0x1f
13847    field public static final int NET_CAPABILITY_NOT_VCN_MANAGED = 28; // 0x1c
13848    field public static final int NET_CAPABILITY_OEM_PAID = 22; // 0x16
13849    field public static final int NET_CAPABILITY_OEM_PRIVATE = 26; // 0x1a
13850    field public static final int NET_CAPABILITY_PARTIAL_CONNECTIVITY = 24; // 0x18
13851    field public static final int NET_CAPABILITY_VEHICLE_INTERNAL = 27; // 0x1b
13852    field public static final int NET_CAPABILITY_VSIM = 30; // 0x1e
13853  }
13854
13855  public static final class NetworkCapabilities.Builder {
13856    ctor public NetworkCapabilities.Builder();
13857    ctor public NetworkCapabilities.Builder(@NonNull android.net.NetworkCapabilities);
13858    method @NonNull public android.net.NetworkCapabilities.Builder addCapability(int);
13859    method @NonNull public android.net.NetworkCapabilities.Builder addEnterpriseId(int);
13860    method @NonNull public android.net.NetworkCapabilities.Builder addTransportType(int);
13861    method @NonNull public android.net.NetworkCapabilities build();
13862    method @NonNull public android.net.NetworkCapabilities.Builder removeCapability(int);
13863    method @NonNull public android.net.NetworkCapabilities.Builder removeEnterpriseId(int);
13864    method @NonNull public android.net.NetworkCapabilities.Builder removeTransportType(int);
13865    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setAdministratorUids(@NonNull int[]);
13866    method @NonNull public android.net.NetworkCapabilities.Builder setLinkDownstreamBandwidthKbps(int);
13867    method @NonNull public android.net.NetworkCapabilities.Builder setLinkUpstreamBandwidthKbps(int);
13868    method @NonNull public android.net.NetworkCapabilities.Builder setNetworkSpecifier(@Nullable android.net.NetworkSpecifier);
13869    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setOwnerUid(int);
13870    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setRequestorPackageName(@Nullable String);
13871    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setRequestorUid(int);
13872    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SIGNAL_STRENGTH_WAKEUP) public android.net.NetworkCapabilities.Builder setSignalStrength(int);
13873    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setSsid(@Nullable String);
13874    method @NonNull public android.net.NetworkCapabilities.Builder setSubscriptionIds(@NonNull java.util.Set<java.lang.Integer>);
13875    method @NonNull public android.net.NetworkCapabilities.Builder setTransportInfo(@Nullable android.net.TransportInfo);
13876    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setUnderlyingNetworks(@Nullable java.util.List<android.net.Network>);
13877    method @NonNull public static android.net.NetworkCapabilities.Builder withoutDefaultCapabilities();
13878  }
13879
13880  @Deprecated public class NetworkKey implements android.os.Parcelable {
13881    ctor @Deprecated public NetworkKey(android.net.WifiKey);
13882    method @Deprecated @Nullable public static android.net.NetworkKey createFromScanResult(@NonNull android.net.wifi.ScanResult);
13883    method @Deprecated public int describeContents();
13884    method @Deprecated public void writeToParcel(android.os.Parcel, int);
13885    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkKey> CREATOR;
13886    field @Deprecated public static final int TYPE_WIFI = 1; // 0x1
13887    field @Deprecated public final int type;
13888    field @Deprecated public final android.net.WifiKey wifiKey;
13889  }
13890
13891  public class NetworkProvider {
13892    ctor public NetworkProvider(@NonNull android.content.Context, @NonNull android.os.Looper, @NonNull String);
13893    method @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public void declareNetworkRequestUnfulfillable(@NonNull android.net.NetworkRequest);
13894    method public int getProviderId();
13895    method public void onNetworkRequestWithdrawn(@NonNull android.net.NetworkRequest);
13896    method public void onNetworkRequested(@NonNull android.net.NetworkRequest, @IntRange(from=0, to=99) int, int);
13897    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);
13898    method @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public void unregisterNetworkOffer(@NonNull android.net.NetworkProvider.NetworkOfferCallback);
13899    field public static final int ID_NONE = -1; // 0xffffffff
13900  }
13901
13902  public static interface NetworkProvider.NetworkOfferCallback {
13903    method public void onNetworkNeeded(@NonNull android.net.NetworkRequest);
13904    method public void onNetworkUnneeded(@NonNull android.net.NetworkRequest);
13905  }
13906
13907  public abstract class NetworkRecommendationProvider {
13908    ctor public NetworkRecommendationProvider(android.content.Context, java.util.concurrent.Executor);
13909    method public final android.os.IBinder getBinder();
13910    method public abstract void onRequestScores(android.net.NetworkKey[]);
13911  }
13912
13913  public class NetworkReleasedException extends java.lang.Exception {
13914    ctor public NetworkReleasedException();
13915  }
13916
13917  public class NetworkRequest implements android.os.Parcelable {
13918    method @Nullable public String getRequestorPackageName();
13919    method public int getRequestorUid();
13920  }
13921
13922  public static class NetworkRequest.Builder {
13923    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SIGNAL_STRENGTH_WAKEUP) public android.net.NetworkRequest.Builder setSignalStrength(int);
13924  }
13925
13926  public final class NetworkScore implements android.os.Parcelable {
13927    method public int describeContents();
13928    method public int getKeepConnectedReason();
13929    method public int getLegacyInt();
13930    method public boolean isExiting();
13931    method public boolean isTransportPrimary();
13932    method public void writeToParcel(@NonNull android.os.Parcel, int);
13933    field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkScore> CREATOR;
13934    field public static final int KEEP_CONNECTED_FOR_HANDOVER = 1; // 0x1
13935    field public static final int KEEP_CONNECTED_NONE = 0; // 0x0
13936  }
13937
13938  public static final class NetworkScore.Builder {
13939    ctor public NetworkScore.Builder();
13940    method @NonNull public android.net.NetworkScore build();
13941    method @NonNull public android.net.NetworkScore.Builder setExiting(boolean);
13942    method @NonNull public android.net.NetworkScore.Builder setKeepConnectedReason(int);
13943    method @NonNull public android.net.NetworkScore.Builder setLegacyInt(int);
13944    method @NonNull public android.net.NetworkScore.Builder setTransportPrimary(boolean);
13945  }
13946
13947  @Deprecated public class NetworkScoreManager {
13948    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.SCORE_NETWORKS, android.Manifest.permission.REQUEST_NETWORK_SCORES}) public boolean clearScores() throws java.lang.SecurityException;
13949    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.SCORE_NETWORKS, android.Manifest.permission.REQUEST_NETWORK_SCORES}) public void disableScoring() throws java.lang.SecurityException;
13950    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.SCORE_NETWORKS, android.Manifest.permission.REQUEST_NETWORK_SCORES}) public String getActiveScorerPackage();
13951    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;
13952    method @Deprecated @RequiresPermission(android.Manifest.permission.REQUEST_NETWORK_SCORES) public boolean requestScores(@NonNull java.util.Collection<android.net.NetworkKey>) throws java.lang.SecurityException;
13953    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.SCORE_NETWORKS, android.Manifest.permission.REQUEST_NETWORK_SCORES}) public boolean setActiveScorer(String) throws java.lang.SecurityException;
13954    method @Deprecated @RequiresPermission(android.Manifest.permission.SCORE_NETWORKS) public boolean updateScores(@NonNull android.net.ScoredNetwork[]) throws java.lang.SecurityException;
13955    field @Deprecated public static final String ACTION_CHANGE_ACTIVE = "android.net.scoring.CHANGE_ACTIVE";
13956    field @Deprecated public static final String ACTION_CUSTOM_ENABLE = "android.net.scoring.CUSTOM_ENABLE";
13957    field @Deprecated public static final String ACTION_RECOMMEND_NETWORKS = "android.net.action.RECOMMEND_NETWORKS";
13958    field @Deprecated public static final String ACTION_SCORER_CHANGED = "android.net.scoring.SCORER_CHANGED";
13959    field @Deprecated public static final String ACTION_SCORE_NETWORKS = "android.net.scoring.SCORE_NETWORKS";
13960    field @Deprecated public static final String EXTRA_NETWORKS_TO_SCORE = "networksToScore";
13961    field @Deprecated public static final String EXTRA_NEW_SCORER = "newScorer";
13962    field @Deprecated public static final String EXTRA_PACKAGE_NAME = "packageName";
13963    field @Deprecated public static final int SCORE_FILTER_CURRENT_NETWORK = 1; // 0x1
13964    field @Deprecated public static final int SCORE_FILTER_NONE = 0; // 0x0
13965    field @Deprecated public static final int SCORE_FILTER_SCAN_RESULTS = 2; // 0x2
13966  }
13967
13968  @Deprecated public abstract static class NetworkScoreManager.NetworkScoreCallback {
13969    ctor @Deprecated public NetworkScoreManager.NetworkScoreCallback();
13970    method @Deprecated public abstract void onScoresInvalidated();
13971    method @Deprecated public abstract void onScoresUpdated(@NonNull java.util.Collection<android.net.ScoredNetwork>);
13972  }
13973
13974  public abstract class NetworkSpecifier {
13975    method public boolean canBeSatisfiedBy(@Nullable android.net.NetworkSpecifier);
13976    method @Nullable public android.net.NetworkSpecifier redact();
13977  }
13978
13979  public class NetworkStack {
13980    method @Nullable public static android.os.IBinder getService();
13981    field public static final String PERMISSION_MAINLINE_NETWORK_STACK = "android.permission.MAINLINE_NETWORK_STACK";
13982  }
13983
13984  public final class NetworkStats implements java.lang.Iterable<android.net.NetworkStats.Entry> android.os.Parcelable {
13985    ctor public NetworkStats(long, int);
13986    method @NonNull public android.net.NetworkStats add(@NonNull android.net.NetworkStats);
13987    method @NonNull public android.net.NetworkStats addEntries(@NonNull java.util.List<android.net.NetworkStats.Entry>);
13988    method @NonNull public android.net.NetworkStats addEntry(@NonNull android.net.NetworkStats.Entry);
13989    method public android.net.NetworkStats clone();
13990    method public int describeContents();
13991    method @NonNull public java.util.Iterator<android.net.NetworkStats.Entry> iterator();
13992    method @NonNull public android.net.NetworkStats subtract(@NonNull android.net.NetworkStats);
13993    method public void writeToParcel(@NonNull android.os.Parcel, int);
13994    field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkStats> CREATOR;
13995    field public static final int DEFAULT_NETWORK_ALL = -1; // 0xffffffff
13996    field public static final int DEFAULT_NETWORK_NO = 0; // 0x0
13997    field public static final int DEFAULT_NETWORK_YES = 1; // 0x1
13998    field public static final String IFACE_VT = "vt_data0";
13999    field public static final int METERED_ALL = -1; // 0xffffffff
14000    field public static final int METERED_NO = 0; // 0x0
14001    field public static final int METERED_YES = 1; // 0x1
14002    field public static final int ROAMING_ALL = -1; // 0xffffffff
14003    field public static final int ROAMING_NO = 0; // 0x0
14004    field public static final int ROAMING_YES = 1; // 0x1
14005    field public static final int SET_ALL = -1; // 0xffffffff
14006    field public static final int SET_DEFAULT = 0; // 0x0
14007    field public static final int SET_FOREGROUND = 1; // 0x1
14008    field public static final int TAG_NONE = 0; // 0x0
14009    field public static final int UID_ALL = -1; // 0xffffffff
14010    field public static final int UID_TETHERING = -5; // 0xfffffffb
14011  }
14012
14013  public static class NetworkStats.Entry {
14014    ctor public NetworkStats.Entry(@Nullable String, int, int, int, int, int, int, long, long, long, long, long);
14015    method public int getDefaultNetwork();
14016    method public int getMetered();
14017    method public long getOperations();
14018    method public int getRoaming();
14019    method public long getRxBytes();
14020    method public long getRxPackets();
14021    method public int getSet();
14022    method public int getTag();
14023    method public long getTxBytes();
14024    method public long getTxPackets();
14025    method public int getUid();
14026  }
14027
14028  public final class OemNetworkPreferences implements android.os.Parcelable {
14029    method public int describeContents();
14030    method @NonNull public java.util.Map<java.lang.String,java.lang.Integer> getNetworkPreferences();
14031    method public void writeToParcel(@NonNull android.os.Parcel, int);
14032    field @NonNull public static final android.os.Parcelable.Creator<android.net.OemNetworkPreferences> CREATOR;
14033    field public static final int OEM_NETWORK_PREFERENCE_OEM_PAID = 1; // 0x1
14034    field public static final int OEM_NETWORK_PREFERENCE_OEM_PAID_NO_FALLBACK = 2; // 0x2
14035    field public static final int OEM_NETWORK_PREFERENCE_OEM_PAID_ONLY = 3; // 0x3
14036    field public static final int OEM_NETWORK_PREFERENCE_OEM_PRIVATE_ONLY = 4; // 0x4
14037    field public static final int OEM_NETWORK_PREFERENCE_UNINITIALIZED = 0; // 0x0
14038  }
14039
14040  public static final class OemNetworkPreferences.Builder {
14041    ctor public OemNetworkPreferences.Builder();
14042    ctor public OemNetworkPreferences.Builder(@NonNull android.net.OemNetworkPreferences);
14043    method @NonNull public android.net.OemNetworkPreferences.Builder addNetworkPreference(@NonNull String, int);
14044    method @NonNull public android.net.OemNetworkPreferences build();
14045    method @NonNull public android.net.OemNetworkPreferences.Builder clearNetworkPreference(@NonNull String);
14046  }
14047
14048  public abstract class QosCallback {
14049    ctor public QosCallback();
14050    method public void onError(@NonNull android.net.QosCallbackException);
14051    method public void onQosSessionAvailable(@NonNull android.net.QosSession, @NonNull android.net.QosSessionAttributes);
14052    method public void onQosSessionLost(@NonNull android.net.QosSession);
14053  }
14054
14055  public static class QosCallback.QosCallbackRegistrationException extends java.lang.RuntimeException {
14056  }
14057
14058  public final class QosCallbackException extends java.lang.Exception {
14059    ctor public QosCallbackException(@NonNull String);
14060    ctor public QosCallbackException(@NonNull Throwable);
14061  }
14062
14063  public abstract class QosFilter {
14064    method @NonNull public abstract android.net.Network getNetwork();
14065    method public abstract boolean matchesLocalAddress(@NonNull java.net.InetAddress, int, int);
14066    method public boolean matchesProtocol(int);
14067    method public abstract boolean matchesRemoteAddress(@NonNull java.net.InetAddress, int, int);
14068  }
14069
14070  public final class QosSession implements android.os.Parcelable {
14071    ctor public QosSession(int, int);
14072    method public int describeContents();
14073    method public int getSessionId();
14074    method public int getSessionType();
14075    method public long getUniqueId();
14076    method public void writeToParcel(@NonNull android.os.Parcel, int);
14077    field @NonNull public static final android.os.Parcelable.Creator<android.net.QosSession> CREATOR;
14078    field public static final int TYPE_EPS_BEARER = 1; // 0x1
14079    field public static final int TYPE_NR_BEARER = 2; // 0x2
14080  }
14081
14082  public interface QosSessionAttributes {
14083  }
14084
14085  public final class QosSocketInfo implements android.os.Parcelable {
14086    ctor public QosSocketInfo(@NonNull android.net.Network, @NonNull java.net.DatagramSocket) throws java.io.IOException;
14087    ctor public QosSocketInfo(@NonNull android.net.Network, @NonNull java.net.Socket) throws java.io.IOException;
14088    method public int describeContents();
14089    method @NonNull public java.net.InetSocketAddress getLocalSocketAddress();
14090    method @NonNull public android.net.Network getNetwork();
14091    method @Nullable public java.net.InetSocketAddress getRemoteSocketAddress();
14092    method public void writeToParcel(@NonNull android.os.Parcel, int);
14093    field @NonNull public static final android.os.Parcelable.Creator<android.net.QosSocketInfo> CREATOR;
14094  }
14095
14096  public final class RouteInfo implements android.os.Parcelable {
14097    ctor public RouteInfo(@Nullable android.net.IpPrefix, @Nullable java.net.InetAddress, @Nullable String, int);
14098    ctor public RouteInfo(@Nullable android.net.IpPrefix, @Nullable java.net.InetAddress, @Nullable String, int, int);
14099    method public int getMtu();
14100  }
14101
14102  @Deprecated public class RssiCurve implements android.os.Parcelable {
14103    ctor @Deprecated public RssiCurve(int, int, byte[]);
14104    ctor @Deprecated public RssiCurve(int, int, byte[], int);
14105    method @Deprecated public int describeContents();
14106    method @Deprecated public byte lookupScore(int);
14107    method @Deprecated public byte lookupScore(int, boolean);
14108    method @Deprecated public void writeToParcel(android.os.Parcel, int);
14109    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.net.RssiCurve> CREATOR;
14110    field @Deprecated public final int activeNetworkRssiBoost;
14111    field @Deprecated public final int bucketWidth;
14112    field @Deprecated public final byte[] rssiBuckets;
14113    field @Deprecated public final int start;
14114  }
14115
14116  @Deprecated public class ScoredNetwork implements android.os.Parcelable {
14117    ctor @Deprecated public ScoredNetwork(android.net.NetworkKey, android.net.RssiCurve);
14118    ctor @Deprecated public ScoredNetwork(android.net.NetworkKey, android.net.RssiCurve, boolean);
14119    ctor @Deprecated public ScoredNetwork(android.net.NetworkKey, android.net.RssiCurve, boolean, @Nullable android.os.Bundle);
14120    method @Deprecated public int calculateBadge(int);
14121    method @Deprecated public int describeContents();
14122    method @Deprecated public void writeToParcel(android.os.Parcel, int);
14123    field @Deprecated public static final String ATTRIBUTES_KEY_BADGING_CURVE = "android.net.attributes.key.BADGING_CURVE";
14124    field @Deprecated public static final String ATTRIBUTES_KEY_HAS_CAPTIVE_PORTAL = "android.net.attributes.key.HAS_CAPTIVE_PORTAL";
14125    field @Deprecated public static final String ATTRIBUTES_KEY_RANKING_SCORE_OFFSET = "android.net.attributes.key.RANKING_SCORE_OFFSET";
14126    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.net.ScoredNetwork> CREATOR;
14127    field @Deprecated @Nullable public final android.os.Bundle attributes;
14128    field @Deprecated public final boolean meteredHint;
14129    field @Deprecated public final android.net.NetworkKey networkKey;
14130    field @Deprecated public final android.net.RssiCurve rssiCurve;
14131  }
14132
14133  public abstract class SocketKeepalive implements java.lang.AutoCloseable {
14134    method public final void start(@IntRange(from=0xa, to=0xe10) int, int, @Nullable android.net.Network);
14135    field public static final int ERROR_NO_SUCH_SLOT = -33; // 0xffffffdf
14136    field public static final int FLAG_AUTOMATIC_ON_OFF = 1; // 0x1
14137    field public static final int SUCCESS = 0; // 0x0
14138  }
14139
14140  public class SocketLocalAddressChangedException extends java.lang.Exception {
14141    ctor public SocketLocalAddressChangedException();
14142  }
14143
14144  public class SocketNotBoundException extends java.lang.Exception {
14145    ctor public SocketNotBoundException();
14146  }
14147
14148  public class SocketNotConnectedException extends java.lang.Exception {
14149    ctor public SocketNotConnectedException();
14150  }
14151
14152  public class SocketRemoteAddressChangedException extends java.lang.Exception {
14153    ctor public SocketRemoteAddressChangedException();
14154  }
14155
14156  public final class StaticIpConfiguration implements android.os.Parcelable {
14157    ctor public StaticIpConfiguration();
14158    ctor public StaticIpConfiguration(@Nullable android.net.StaticIpConfiguration);
14159    method public void addDnsServer(@NonNull java.net.InetAddress);
14160    method public void clear();
14161    method @NonNull public java.util.List<android.net.RouteInfo> getRoutes(@Nullable String);
14162  }
14163
14164  public final class TcpKeepalivePacketData extends android.net.KeepalivePacketData implements android.os.Parcelable {
14165    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;
14166    method public int describeContents();
14167    method public int getIpTos();
14168    method public int getIpTtl();
14169    method public int getTcpAck();
14170    method public int getTcpSeq();
14171    method public int getTcpWindow();
14172    method public int getTcpWindowScale();
14173    method public void writeToParcel(@NonNull android.os.Parcel, int);
14174    field @NonNull public static final android.os.Parcelable.Creator<android.net.TcpKeepalivePacketData> CREATOR;
14175  }
14176
14177  public final class TetheredClient implements android.os.Parcelable {
14178    ctor public TetheredClient(@NonNull android.net.MacAddress, @NonNull java.util.Collection<android.net.TetheredClient.AddressInfo>, int);
14179    method public int describeContents();
14180    method @NonNull public java.util.List<android.net.TetheredClient.AddressInfo> getAddresses();
14181    method @NonNull public android.net.MacAddress getMacAddress();
14182    method public int getTetheringType();
14183    method public void writeToParcel(@NonNull android.os.Parcel, int);
14184    field @NonNull public static final android.os.Parcelable.Creator<android.net.TetheredClient> CREATOR;
14185  }
14186
14187  public static final class TetheredClient.AddressInfo implements android.os.Parcelable {
14188    method public int describeContents();
14189    method @NonNull public android.net.LinkAddress getAddress();
14190    method @Nullable public String getHostname();
14191    method public void writeToParcel(@NonNull android.os.Parcel, int);
14192    field @NonNull public static final android.os.Parcelable.Creator<android.net.TetheredClient.AddressInfo> CREATOR;
14193  }
14194
14195  public class TetheringManager {
14196    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);
14197    method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public void stopAllTethering();
14198    method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public void stopTethering(int);
14199    field @Deprecated public static final String ACTION_TETHER_STATE_CHANGED = "android.net.conn.TETHER_STATE_CHANGED";
14200    field public static final int CONNECTIVITY_SCOPE_LOCAL = 2; // 0x2
14201    field public static final String EXTRA_ACTIVE_LOCAL_ONLY = "android.net.extra.ACTIVE_LOCAL_ONLY";
14202    field public static final String EXTRA_ACTIVE_TETHER = "tetherArray";
14203    field public static final String EXTRA_AVAILABLE_TETHER = "availableArray";
14204    field public static final String EXTRA_ERRORED_TETHER = "erroredArray";
14205    field public static final int TETHERING_BLUETOOTH = 2; // 0x2
14206    field public static final int TETHERING_ETHERNET = 5; // 0x5
14207    field public static final int TETHERING_INVALID = -1; // 0xffffffff
14208    field public static final int TETHERING_NCM = 4; // 0x4
14209    field public static final int TETHERING_USB = 1; // 0x1
14210    field public static final int TETHERING_WIFI_P2P = 3; // 0x3
14211    field public static final int TETHER_HARDWARE_OFFLOAD_FAILED = 2; // 0x2
14212    field public static final int TETHER_HARDWARE_OFFLOAD_STARTED = 1; // 0x1
14213    field public static final int TETHER_HARDWARE_OFFLOAD_STOPPED = 0; // 0x0
14214  }
14215
14216  public static interface TetheringManager.OnTetheringEntitlementResultListener {
14217    method public void onTetheringEntitlementResult(int);
14218  }
14219
14220  public static interface TetheringManager.TetheringEventCallback {
14221    method public default void onClientsChanged(@NonNull java.util.Collection<android.net.TetheredClient>);
14222    method public default void onError(@NonNull android.net.TetheringInterface, int);
14223    method public default void onError(@NonNull String, int);
14224    method public default void onLocalOnlyInterfacesChanged(@NonNull java.util.List<java.lang.String>);
14225    method public default void onLocalOnlyInterfacesChanged(@NonNull java.util.Set<android.net.TetheringInterface>);
14226    method public default void onOffloadStatusChanged(int);
14227    method public default void onTetherableInterfacesChanged(@NonNull java.util.List<java.lang.String>);
14228    method public default void onTetherableInterfacesChanged(@NonNull java.util.Set<android.net.TetheringInterface>);
14229    method public default void onTetheredInterfacesChanged(@NonNull java.util.List<java.lang.String>);
14230    method public default void onTetheringSupported(boolean);
14231    method public default void onUpstreamChanged(@Nullable android.net.Network);
14232  }
14233
14234  public static final class TetheringManager.TetheringRequest implements android.os.Parcelable {
14235    method public int describeContents();
14236    method @Nullable public android.net.LinkAddress getClientStaticIpv4Address();
14237    method public int getConnectivityScope();
14238    method @Nullable public android.net.LinkAddress getLocalIpv4Address();
14239    method public boolean getShouldShowEntitlementUi();
14240    method @Nullable public android.net.wifi.SoftApConfiguration getSoftApConfiguration();
14241    method public int getTetheringType();
14242    method public boolean isExemptFromEntitlementCheck();
14243    method public void writeToParcel(@NonNull android.os.Parcel, int);
14244    field @NonNull public static final android.os.Parcelable.Creator<android.net.TetheringManager.TetheringRequest> CREATOR;
14245  }
14246
14247  public static class TetheringManager.TetheringRequest.Builder {
14248    method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setConnectivityScope(int);
14249    method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setExemptFromEntitlementCheck(boolean);
14250    method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setShouldShowEntitlementUi(boolean);
14251    method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setSoftApConfiguration(@Nullable android.net.wifi.SoftApConfiguration);
14252    method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setStaticIpv4Addresses(@NonNull android.net.LinkAddress, @NonNull android.net.LinkAddress);
14253  }
14254
14255  public class TrafficStats {
14256    method public static void setThreadStatsTagApp();
14257    method public static void setThreadStatsTagBackup();
14258    method public static void setThreadStatsTagRestore();
14259    field public static final int TAG_NETWORK_STACK_IMPERSONATION_RANGE_END = -113; // 0xffffff8f
14260    field public static final int TAG_NETWORK_STACK_IMPERSONATION_RANGE_START = -128; // 0xffffff80
14261    field public static final int TAG_NETWORK_STACK_RANGE_END = -257; // 0xfffffeff
14262    field public static final int TAG_NETWORK_STACK_RANGE_START = -768; // 0xfffffd00
14263    field public static final int TAG_SYSTEM_IMPERSONATION_RANGE_END = -241; // 0xffffff0f
14264    field public static final int TAG_SYSTEM_IMPERSONATION_RANGE_START = -256; // 0xffffff00
14265  }
14266
14267  public abstract class Uri implements java.lang.Comparable<android.net.Uri> android.os.Parcelable {
14268    method @NonNull public String toSafeString();
14269  }
14270
14271  public class VpnService extends android.app.Service {
14272    method @RequiresPermission(android.Manifest.permission.CONTROL_VPN) public static void prepareAndAuthorize(android.content.Context);
14273  }
14274
14275  public final class VpnTransportInfo implements android.os.Parcelable android.net.TransportInfo {
14276    ctor public VpnTransportInfo(int, @Nullable String, boolean, boolean);
14277    method public boolean areLongLivedTcpConnectionsExpensive();
14278    method public int describeContents();
14279    method public int getType();
14280    method public boolean isBypassable();
14281    method public void writeToParcel(@NonNull android.os.Parcel, int);
14282    field @NonNull public static final android.os.Parcelable.Creator<android.net.VpnTransportInfo> CREATOR;
14283  }
14284
14285  public class WebAddress {
14286    ctor public WebAddress(String) throws android.net.ParseException;
14287  }
14288
14289  @Deprecated public class WifiKey implements android.os.Parcelable {
14290    ctor @Deprecated public WifiKey(String, String);
14291    method @Deprecated public int describeContents();
14292    method @Deprecated public void writeToParcel(android.os.Parcel, int);
14293    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.net.WifiKey> CREATOR;
14294    field @Deprecated public final String bssid;
14295    field @Deprecated public final String ssid;
14296  }
14297
14298}
14299
14300package android.net.apf {
14301
14302  public final class ApfCapabilities implements android.os.Parcelable {
14303    ctor public ApfCapabilities(int, int, int);
14304    method public int describeContents();
14305    method public static boolean getApfDrop8023Frames();
14306    method @NonNull public static int[] getApfEtherTypeBlackList();
14307    method public boolean hasDataAccess();
14308    method public void writeToParcel(android.os.Parcel, int);
14309    field public static final android.os.Parcelable.Creator<android.net.apf.ApfCapabilities> CREATOR;
14310    field public final int apfPacketFormat;
14311    field public final int apfVersionSupported;
14312    field public final int maximumApfProgramSize;
14313  }
14314
14315}
14316
14317package android.net.eap {
14318
14319  public final class EapSessionConfig {
14320    method @Deprecated @Nullable public android.net.eap.EapSessionConfig.EapMsChapV2Config getEapMsChapV2onfig();
14321  }
14322
14323  public static class EapSessionConfig.EapAkaConfig extends android.net.eap.EapSessionConfig.EapUiccConfig {
14324  }
14325
14326  public static class EapSessionConfig.EapSimConfig extends android.net.eap.EapSessionConfig.EapUiccConfig {
14327  }
14328
14329  @Deprecated public abstract static class EapSessionConfig.EapUiccConfig extends android.net.eap.EapSessionConfig.EapMethodConfig {
14330    method @Deprecated public int getAppType();
14331    method @Deprecated public int getSubId();
14332  }
14333
14334}
14335
14336package android.net.ipsec.ike {
14337
14338  public interface ChildSessionCallback {
14339    method @Deprecated public default void onClosedExceptionally(@NonNull android.net.ipsec.ike.exceptions.IkeException);
14340    method public default void onIpSecTransformsMigrated(@NonNull android.net.IpSecTransform, @NonNull android.net.IpSecTransform);
14341  }
14342
14343  public final class ChildSessionConfiguration {
14344    method @NonNull public java.util.List<android.net.LinkAddress> getInternalAddresses();
14345    method @NonNull public java.util.List<java.net.InetAddress> getInternalDhcpServers();
14346    method @NonNull public java.util.List<java.net.InetAddress> getInternalDnsServers();
14347    method @NonNull public java.util.List<android.net.IpPrefix> getInternalSubnets();
14348  }
14349
14350  public static final class ChildSessionConfiguration.Builder {
14351    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder addInternalAddress(@NonNull android.net.LinkAddress);
14352    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder addInternalDhcpServer(@NonNull java.net.InetAddress);
14353    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder addInternalDnsServer(@NonNull java.net.InetAddress);
14354    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder addInternalSubnet(@NonNull android.net.IpPrefix);
14355    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder clearInternalAddresses();
14356    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder clearInternalDhcpServers();
14357    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder clearInternalDnsServers();
14358    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder clearInternalSubnets();
14359  }
14360
14361  public abstract class ChildSessionParams {
14362    method @Deprecated @NonNull public java.util.List<android.net.ipsec.ike.ChildSaProposal> getSaProposals();
14363  }
14364
14365  public final class IkeSession implements java.lang.AutoCloseable {
14366    method public void requestLivenessCheck();
14367    method public void setNetwork(@NonNull android.net.Network);
14368  }
14369
14370  public interface IkeSessionCallback {
14371    method @Deprecated public default void onClosedExceptionally(@NonNull android.net.ipsec.ike.exceptions.IkeException);
14372    method @Deprecated public default void onError(@NonNull android.net.ipsec.ike.exceptions.IkeProtocolException);
14373    method public default void onIkeSessionConnectionInfoChanged(@NonNull android.net.ipsec.ike.IkeSessionConnectionInfo);
14374    method public default void onLivenessStatusChanged(int);
14375    field public static final int LIVENESS_STATUS_BACKGROUND_ONGOING = 3; // 0x3
14376    field public static final int LIVENESS_STATUS_BACKGROUND_STARTED = 2; // 0x2
14377    field public static final int LIVENESS_STATUS_FAILURE = 5; // 0x5
14378    field public static final int LIVENESS_STATUS_ON_DEMAND_ONGOING = 1; // 0x1
14379    field public static final int LIVENESS_STATUS_ON_DEMAND_STARTED = 0; // 0x0
14380    field public static final int LIVENESS_STATUS_SUCCESS = 4; // 0x4
14381  }
14382
14383  public final class IkeSessionConfiguration {
14384    method @NonNull public java.util.List<java.net.InetAddress> getPcscfServers();
14385  }
14386
14387  public static final class IkeSessionConfiguration.Builder {
14388    method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration.Builder addPcscfServer(@NonNull java.net.InetAddress);
14389    method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration.Builder clearPcscfServers();
14390  }
14391
14392  public final class IkeSessionParams {
14393    method @NonNull public java.util.List<android.net.ipsec.ike.IkeSessionParams.IkeConfigRequest> getConfigurationRequests();
14394    method @IntRange(from=0x0, to=0x3f) public int getDscp();
14395    method @Nullable public android.net.ipsec.ike.ike3gpp.Ike3gppExtension getIke3gppExtension();
14396    method @NonNull public int[] getLivenessRetransmissionTimeoutsMillis();
14397    method @Deprecated @NonNull public java.util.List<android.net.ipsec.ike.IkeSaProposal> getSaProposals();
14398    field public static final int IKE_OPTION_AUTOMATIC_KEEPALIVE_ON_OFF = 8; // 0x8
14399    field public static final int IKE_OPTION_REKEY_MOBILITY = 5; // 0x5
14400  }
14401
14402  public static final class IkeSessionParams.Builder {
14403    ctor @Deprecated public IkeSessionParams.Builder(@NonNull android.content.Context);
14404    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder addPcscfServerRequest(int);
14405    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder addPcscfServerRequest(@NonNull java.net.InetAddress);
14406    method @Deprecated @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder addSaProposal(@NonNull android.net.ipsec.ike.IkeSaProposal);
14407    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setDscp(@IntRange(from=0x0, to=0x3f) int);
14408    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setIke3gppExtension(@NonNull android.net.ipsec.ike.ike3gpp.Ike3gppExtension);
14409    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setLivenessRetransmissionTimeoutsMillis(@NonNull int[]);
14410  }
14411
14412  public static interface IkeSessionParams.ConfigRequestIpv4PcscfServer extends android.net.ipsec.ike.IkeSessionParams.IkeConfigRequest {
14413    method @Nullable public java.net.Inet4Address getAddress();
14414  }
14415
14416  public static interface IkeSessionParams.ConfigRequestIpv6PcscfServer extends android.net.ipsec.ike.IkeSessionParams.IkeConfigRequest {
14417    method @Nullable public java.net.Inet6Address getAddress();
14418  }
14419
14420  public static interface IkeSessionParams.IkeConfigRequest {
14421  }
14422
14423  public static final class TransportModeChildSessionParams.Builder {
14424    method @Deprecated @NonNull public android.net.ipsec.ike.TransportModeChildSessionParams.Builder addSaProposal(@NonNull android.net.ipsec.ike.ChildSaProposal);
14425  }
14426
14427  public static final class TunnelModeChildSessionParams.Builder {
14428    method @Deprecated @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addSaProposal(@NonNull android.net.ipsec.ike.ChildSaProposal);
14429  }
14430
14431}
14432
14433package android.net.ipsec.ike.exceptions {
14434
14435  public abstract class IkeProtocolException extends android.net.ipsec.ike.exceptions.IkeException {
14436    method @Nullable public byte[] getErrorData();
14437  }
14438
14439}
14440
14441package android.net.ipsec.ike.ike3gpp {
14442
14443  public final class Ike3gppBackoffTimer extends android.net.ipsec.ike.ike3gpp.Ike3gppData {
14444    ctor public Ike3gppBackoffTimer(byte, @IntRange(from=0, to=0x3fff) int);
14445    method @IntRange(from=0, to=0x3fff) public int getBackoffCause();
14446    method public byte getBackoffTimer();
14447    method public int getDataType();
14448    field @Deprecated public static final int ERROR_TYPE_NETWORK_FAILURE = 10500; // 0x2904
14449    field @Deprecated public static final int ERROR_TYPE_NO_APN_SUBSCRIPTION = 9002; // 0x232a
14450  }
14451
14452  public abstract class Ike3gppData {
14453    method public abstract int getDataType();
14454    field public static final int DATA_TYPE_NOTIFY_BACKOFF_TIMER = 2; // 0x2
14455    field public static final int DATA_TYPE_NOTIFY_N1_MODE_INFORMATION = 1; // 0x1
14456  }
14457
14458  public final class Ike3gppExtension {
14459    ctor public Ike3gppExtension(@NonNull android.net.ipsec.ike.ike3gpp.Ike3gppParams, @NonNull android.net.ipsec.ike.ike3gpp.Ike3gppExtension.Ike3gppDataListener);
14460    method @NonNull public android.net.ipsec.ike.ike3gpp.Ike3gppExtension.Ike3gppDataListener getIke3gppDataListener();
14461    method @NonNull public android.net.ipsec.ike.ike3gpp.Ike3gppParams getIke3gppParams();
14462  }
14463
14464  public static interface Ike3gppExtension.Ike3gppDataListener {
14465    method public void onIke3gppDataReceived(@NonNull java.util.List<android.net.ipsec.ike.ike3gpp.Ike3gppData>);
14466  }
14467
14468  public final class Ike3gppN1ModeInformation extends android.net.ipsec.ike.ike3gpp.Ike3gppData {
14469    ctor public Ike3gppN1ModeInformation(@NonNull byte[]);
14470    method public int getDataType();
14471    method @NonNull public byte[] getSnssai();
14472  }
14473
14474  public final class Ike3gppParams {
14475    method @Nullable public String getMobileDeviceIdentity();
14476    method public byte getPduSessionId();
14477    field public static final byte PDU_SESSION_ID_UNSET = 0; // 0x0
14478  }
14479
14480  public static final class Ike3gppParams.Builder {
14481    ctor public Ike3gppParams.Builder();
14482    method @NonNull public android.net.ipsec.ike.ike3gpp.Ike3gppParams build();
14483    method @NonNull public android.net.ipsec.ike.ike3gpp.Ike3gppParams.Builder setMobileDeviceIdentity(@Nullable String);
14484    method @NonNull public android.net.ipsec.ike.ike3gpp.Ike3gppParams.Builder setPduSessionId(byte);
14485  }
14486
14487}
14488
14489package android.net.metrics {
14490
14491  @Deprecated public final class ApfProgramEvent implements android.net.metrics.IpConnectivityLog.Event {
14492    method @Deprecated public int describeContents();
14493    method @Deprecated public void writeToParcel(android.os.Parcel, int);
14494  }
14495
14496  @Deprecated public static final class ApfProgramEvent.Builder {
14497    ctor @Deprecated public ApfProgramEvent.Builder();
14498    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent build();
14499    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setActualLifetime(long);
14500    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setCurrentRas(int);
14501    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setFilteredRas(int);
14502    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setFlags(boolean, boolean);
14503    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setLifetime(long);
14504    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setProgramLength(int);
14505  }
14506
14507  @Deprecated public final class ApfStats implements android.net.metrics.IpConnectivityLog.Event {
14508    method @Deprecated public int describeContents();
14509    method @Deprecated public void writeToParcel(android.os.Parcel, int);
14510  }
14511
14512  @Deprecated public static final class ApfStats.Builder {
14513    ctor @Deprecated public ApfStats.Builder();
14514    method @Deprecated @NonNull public android.net.metrics.ApfStats build();
14515    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setDroppedRas(int);
14516    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setDurationMs(long);
14517    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setMatchingRas(int);
14518    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setMaxProgramSize(int);
14519    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setParseErrors(int);
14520    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setProgramUpdates(int);
14521    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setProgramUpdatesAll(int);
14522    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setProgramUpdatesAllowingMulticast(int);
14523    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setReceivedRas(int);
14524    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setZeroLifetimeRas(int);
14525  }
14526
14527  @Deprecated public final class DhcpClientEvent implements android.net.metrics.IpConnectivityLog.Event {
14528    method @Deprecated public int describeContents();
14529    method @Deprecated public void writeToParcel(android.os.Parcel, int);
14530  }
14531
14532  @Deprecated public static final class DhcpClientEvent.Builder {
14533    ctor @Deprecated public DhcpClientEvent.Builder();
14534    method @Deprecated @NonNull public android.net.metrics.DhcpClientEvent build();
14535    method @Deprecated @NonNull public android.net.metrics.DhcpClientEvent.Builder setDurationMs(int);
14536    method @Deprecated @NonNull public android.net.metrics.DhcpClientEvent.Builder setMsg(String);
14537  }
14538
14539  @Deprecated public final class DhcpErrorEvent implements android.net.metrics.IpConnectivityLog.Event {
14540    ctor @Deprecated public DhcpErrorEvent(int);
14541    method @Deprecated public int describeContents();
14542    method @Deprecated public static int errorCodeWithOption(int, int);
14543    method @Deprecated public void writeToParcel(android.os.Parcel, int);
14544    field @Deprecated public static final int BOOTP_TOO_SHORT = 67174400; // 0x4010000
14545    field @Deprecated public static final int BUFFER_UNDERFLOW = 83951616; // 0x5010000
14546    field @Deprecated public static final int DHCP_BAD_MAGIC_COOKIE = 67239936; // 0x4020000
14547    field @Deprecated public static final int DHCP_ERROR = 4; // 0x4
14548    field @Deprecated public static final int DHCP_INVALID_OPTION_LENGTH = 67305472; // 0x4030000
14549    field @Deprecated public static final int DHCP_NO_COOKIE = 67502080; // 0x4060000
14550    field @Deprecated public static final int DHCP_NO_MSG_TYPE = 67371008; // 0x4040000
14551    field @Deprecated public static final int DHCP_UNKNOWN_MSG_TYPE = 67436544; // 0x4050000
14552    field @Deprecated public static final int L2_ERROR = 1; // 0x1
14553    field @Deprecated public static final int L2_TOO_SHORT = 16842752; // 0x1010000
14554    field @Deprecated public static final int L2_WRONG_ETH_TYPE = 16908288; // 0x1020000
14555    field @Deprecated public static final int L3_ERROR = 2; // 0x2
14556    field @Deprecated public static final int L3_INVALID_IP = 33751040; // 0x2030000
14557    field @Deprecated public static final int L3_NOT_IPV4 = 33685504; // 0x2020000
14558    field @Deprecated public static final int L3_TOO_SHORT = 33619968; // 0x2010000
14559    field @Deprecated public static final int L4_ERROR = 3; // 0x3
14560    field @Deprecated public static final int L4_NOT_UDP = 50397184; // 0x3010000
14561    field @Deprecated public static final int L4_WRONG_PORT = 50462720; // 0x3020000
14562    field @Deprecated public static final int MISC_ERROR = 5; // 0x5
14563    field @Deprecated public static final int PARSING_ERROR = 84082688; // 0x5030000
14564    field @Deprecated public static final int RECEIVE_ERROR = 84017152; // 0x5020000
14565  }
14566
14567  @Deprecated public class IpConnectivityLog {
14568    ctor @Deprecated public IpConnectivityLog();
14569    method @Deprecated public boolean log(@NonNull android.net.metrics.IpConnectivityLog.Event);
14570    method @Deprecated public boolean log(@NonNull android.net.Network, @NonNull int[], @NonNull android.net.metrics.IpConnectivityLog.Event);
14571    method @Deprecated public boolean log(int, @NonNull int[], @NonNull android.net.metrics.IpConnectivityLog.Event);
14572    method @Deprecated public boolean log(@NonNull String, @NonNull android.net.metrics.IpConnectivityLog.Event);
14573    method @Deprecated public boolean log(long, @NonNull android.net.metrics.IpConnectivityLog.Event);
14574  }
14575
14576  @Deprecated public static interface IpConnectivityLog.Event extends android.os.Parcelable {
14577  }
14578
14579  @Deprecated public final class IpManagerEvent implements android.net.metrics.IpConnectivityLog.Event {
14580    ctor @Deprecated public IpManagerEvent(int, long);
14581    method @Deprecated public int describeContents();
14582    method @Deprecated public void writeToParcel(android.os.Parcel, int);
14583    field @Deprecated public static final int COMPLETE_LIFECYCLE = 3; // 0x3
14584    field @Deprecated public static final int ERROR_INTERFACE_NOT_FOUND = 8; // 0x8
14585    field @Deprecated public static final int ERROR_INVALID_PROVISIONING = 7; // 0x7
14586    field @Deprecated public static final int ERROR_STARTING_IPREACHABILITYMONITOR = 6; // 0x6
14587    field @Deprecated public static final int ERROR_STARTING_IPV4 = 4; // 0x4
14588    field @Deprecated public static final int ERROR_STARTING_IPV6 = 5; // 0x5
14589    field @Deprecated public static final int PROVISIONING_FAIL = 2; // 0x2
14590    field @Deprecated public static final int PROVISIONING_OK = 1; // 0x1
14591  }
14592
14593  @Deprecated public final class IpReachabilityEvent implements android.net.metrics.IpConnectivityLog.Event {
14594    ctor @Deprecated public IpReachabilityEvent(int);
14595    method @Deprecated public int describeContents();
14596    method @Deprecated public void writeToParcel(android.os.Parcel, int);
14597    field @Deprecated public static final int NUD_FAILED = 512; // 0x200
14598    field @Deprecated public static final int NUD_FAILED_ORGANIC = 1024; // 0x400
14599    field @Deprecated public static final int PROBE = 256; // 0x100
14600    field @Deprecated public static final int PROVISIONING_LOST = 768; // 0x300
14601    field @Deprecated public static final int PROVISIONING_LOST_ORGANIC = 1280; // 0x500
14602  }
14603
14604  @Deprecated public final class NetworkEvent implements android.net.metrics.IpConnectivityLog.Event {
14605    ctor @Deprecated public NetworkEvent(int);
14606    ctor @Deprecated public NetworkEvent(int, long);
14607    method @Deprecated public int describeContents();
14608    method @Deprecated public void writeToParcel(android.os.Parcel, int);
14609    field @Deprecated public static final int NETWORK_CAPTIVE_PORTAL_FOUND = 4; // 0x4
14610    field @Deprecated public static final int NETWORK_CONNECTED = 1; // 0x1
14611    field @Deprecated public static final int NETWORK_CONSECUTIVE_DNS_TIMEOUT_FOUND = 12; // 0xc
14612    field @Deprecated public static final int NETWORK_DISCONNECTED = 7; // 0x7
14613    field @Deprecated public static final int NETWORK_FIRST_VALIDATION_PORTAL_FOUND = 10; // 0xa
14614    field @Deprecated public static final int NETWORK_FIRST_VALIDATION_SUCCESS = 8; // 0x8
14615    field @Deprecated public static final int NETWORK_LINGER = 5; // 0x5
14616    field @Deprecated public static final int NETWORK_PARTIAL_CONNECTIVITY = 13; // 0xd
14617    field @Deprecated public static final int NETWORK_REVALIDATION_PORTAL_FOUND = 11; // 0xb
14618    field @Deprecated public static final int NETWORK_REVALIDATION_SUCCESS = 9; // 0x9
14619    field @Deprecated public static final int NETWORK_UNLINGER = 6; // 0x6
14620    field @Deprecated public static final int NETWORK_VALIDATED = 2; // 0x2
14621    field @Deprecated public static final int NETWORK_VALIDATION_FAILED = 3; // 0x3
14622  }
14623
14624  @Deprecated public final class RaEvent implements android.net.metrics.IpConnectivityLog.Event {
14625    method @Deprecated public int describeContents();
14626    method @Deprecated public void writeToParcel(android.os.Parcel, int);
14627  }
14628
14629  @Deprecated public static final class RaEvent.Builder {
14630    ctor @Deprecated public RaEvent.Builder();
14631    method @Deprecated @NonNull public android.net.metrics.RaEvent build();
14632    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updateDnsslLifetime(long);
14633    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updatePrefixPreferredLifetime(long);
14634    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updatePrefixValidLifetime(long);
14635    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updateRdnssLifetime(long);
14636    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updateRouteInfoLifetime(long);
14637    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updateRouterLifetime(long);
14638  }
14639
14640  @Deprecated public final class ValidationProbeEvent implements android.net.metrics.IpConnectivityLog.Event {
14641    method @Deprecated public int describeContents();
14642    method @Deprecated @NonNull public static String getProbeName(int);
14643    method @Deprecated public void writeToParcel(android.os.Parcel, int);
14644    field @Deprecated public static final int DNS_FAILURE = 0; // 0x0
14645    field @Deprecated public static final int DNS_SUCCESS = 1; // 0x1
14646    field @Deprecated public static final int PROBE_DNS = 0; // 0x0
14647    field @Deprecated public static final int PROBE_FALLBACK = 4; // 0x4
14648    field @Deprecated public static final int PROBE_HTTP = 1; // 0x1
14649    field @Deprecated public static final int PROBE_HTTPS = 2; // 0x2
14650    field @Deprecated public static final int PROBE_PAC = 3; // 0x3
14651    field @Deprecated public static final int PROBE_PRIVDNS = 5; // 0x5
14652  }
14653
14654  @Deprecated public static final class ValidationProbeEvent.Builder {
14655    ctor @Deprecated public ValidationProbeEvent.Builder();
14656    method @Deprecated @NonNull public android.net.metrics.ValidationProbeEvent build();
14657    method @Deprecated @NonNull public android.net.metrics.ValidationProbeEvent.Builder setDurationMs(long);
14658    method @Deprecated @NonNull public android.net.metrics.ValidationProbeEvent.Builder setProbeType(int, boolean);
14659    method @Deprecated @NonNull public android.net.metrics.ValidationProbeEvent.Builder setReturnCode(int);
14660  }
14661
14662}
14663
14664package android.net.netstats.provider {
14665
14666  public abstract class NetworkStatsProvider {
14667    ctor public NetworkStatsProvider();
14668    method public void notifyAlertReached();
14669    method public void notifyLimitReached();
14670    method public void notifyStatsUpdated(int, @NonNull android.net.NetworkStats, @NonNull android.net.NetworkStats);
14671    method public void notifyWarningReached();
14672    method public abstract void onRequestStatsUpdate(int);
14673    method public abstract void onSetAlert(long);
14674    method public abstract void onSetLimit(@NonNull String, long);
14675    method public void onSetWarningAndLimit(@NonNull String, long, long);
14676    field public static final int QUOTA_UNLIMITED = -1; // 0xffffffff
14677  }
14678
14679}
14680
14681package android.net.nsd {
14682
14683  public final class NsdManager {
14684    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);
14685    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);
14686  }
14687
14688  public interface OffloadEngine {
14689    method public void onOffloadServiceRemoved(@NonNull android.net.nsd.OffloadServiceInfo);
14690    method public void onOffloadServiceUpdated(@NonNull android.net.nsd.OffloadServiceInfo);
14691    field public static final int OFFLOAD_CAPABILITY_BYPASS_MULTICAST_LOCK = 1; // 0x1
14692    field public static final int OFFLOAD_TYPE_FILTER_QUERIES = 2; // 0x2
14693    field public static final int OFFLOAD_TYPE_FILTER_REPLIES = 4; // 0x4
14694    field public static final int OFFLOAD_TYPE_REPLY = 1; // 0x1
14695  }
14696
14697  public final class OffloadServiceInfo implements android.os.Parcelable {
14698    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);
14699    method public int describeContents();
14700    method @NonNull public String getHostname();
14701    method @NonNull public android.net.nsd.OffloadServiceInfo.Key getKey();
14702    method @Nullable public byte[] getOffloadPayload();
14703    method public long getOffloadType();
14704    method public int getPriority();
14705    method @NonNull public java.util.List<java.lang.String> getSubtypes();
14706    method public void writeToParcel(@NonNull android.os.Parcel, int);
14707    field @NonNull public static final android.os.Parcelable.Creator<android.net.nsd.OffloadServiceInfo> CREATOR;
14708  }
14709
14710  public static final class OffloadServiceInfo.Key implements android.os.Parcelable {
14711    ctor public OffloadServiceInfo.Key(@NonNull String, @NonNull String);
14712    method public int describeContents();
14713    method @NonNull public String getServiceName();
14714    method @NonNull public String getServiceType();
14715    method public void writeToParcel(@NonNull android.os.Parcel, int);
14716    field @NonNull public static final android.os.Parcelable.Creator<android.net.nsd.OffloadServiceInfo.Key> CREATOR;
14717  }
14718
14719}
14720
14721package android.net.sip {
14722
14723  @Deprecated public class SipAudioCall {
14724    method @Deprecated @Nullable public android.net.rtp.AudioGroup getAudioGroup();
14725    method @Deprecated public void setAudioGroup(@NonNull android.net.rtp.AudioGroup);
14726  }
14727
14728  @Deprecated public class SipManager {
14729    method @Deprecated @NonNull public java.util.List<android.net.sip.SipProfile> getProfiles() throws android.net.sip.SipException;
14730    field @Deprecated public static final String ACTION_SIP_CALL_OPTION_CHANGED = "android.net.sip.action.SIP_CALL_OPTION_CHANGED";
14731    field @Deprecated public static final String ACTION_SIP_INCOMING_CALL = "android.net.sip.action.SIP_INCOMING_CALL";
14732    field @Deprecated public static final String ACTION_SIP_REMOVE_PROFILE = "android.net.sip.action.SIP_REMOVE_PROFILE";
14733    field @Deprecated public static final String ACTION_SIP_SERVICE_UP = "android.net.sip.action.SIP_SERVICE_UP";
14734    field @Deprecated public static final String ACTION_START_SIP = "android.net.sip.action.START_SIP";
14735  }
14736
14737  @Deprecated public class SipProfile implements java.lang.Cloneable android.os.Parcelable java.io.Serializable {
14738    method @Deprecated public int getCallingUid();
14739  }
14740
14741}
14742
14743package android.net.thread {
14744
14745  public final class ActiveOperationalDataset implements android.os.Parcelable {
14746    method public int describeContents();
14747    method @NonNull public static android.net.thread.ActiveOperationalDataset fromThreadTlvs(@NonNull byte[]);
14748    method @NonNull public android.net.thread.OperationalDatasetTimestamp getActiveTimestamp();
14749    method @IntRange(from=0, to=65535) public int getChannel();
14750    method @NonNull @Size(min=1) public android.util.SparseArray<byte[]> getChannelMask();
14751    method @IntRange(from=0, to=255) public int getChannelPage();
14752    method @NonNull @Size(android.net.thread.ActiveOperationalDataset.LENGTH_EXTENDED_PAN_ID) public byte[] getExtendedPanId();
14753    method @NonNull public android.net.IpPrefix getMeshLocalPrefix();
14754    method @NonNull @Size(android.net.thread.ActiveOperationalDataset.LENGTH_NETWORK_KEY) public byte[] getNetworkKey();
14755    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();
14756    method @IntRange(from=0, to=65534) public int getPanId();
14757    method @NonNull @Size(android.net.thread.ActiveOperationalDataset.LENGTH_PSKC) public byte[] getPskc();
14758    method @NonNull public android.net.thread.ActiveOperationalDataset.SecurityPolicy getSecurityPolicy();
14759    method @NonNull public byte[] toThreadTlvs();
14760    method public void writeToParcel(@NonNull android.os.Parcel, int);
14761    field public static final int CHANNEL_MAX_24_GHZ = 26; // 0x1a
14762    field public static final int CHANNEL_MIN_24_GHZ = 11; // 0xb
14763    field public static final int CHANNEL_PAGE_24_GHZ = 0; // 0x0
14764    field @NonNull public static final android.os.Parcelable.Creator<android.net.thread.ActiveOperationalDataset> CREATOR;
14765    field public static final int LENGTH_EXTENDED_PAN_ID = 8; // 0x8
14766    field public static final int LENGTH_MAX_DATASET_TLVS = 254; // 0xfe
14767    field public static final int LENGTH_MAX_NETWORK_NAME_BYTES = 16; // 0x10
14768    field public static final int LENGTH_MESH_LOCAL_PREFIX_BITS = 64; // 0x40
14769    field public static final int LENGTH_MIN_NETWORK_NAME_BYTES = 1; // 0x1
14770    field public static final int LENGTH_NETWORK_KEY = 16; // 0x10
14771    field public static final int LENGTH_PSKC = 16; // 0x10
14772  }
14773
14774  public static final class ActiveOperationalDataset.Builder {
14775    ctor public ActiveOperationalDataset.Builder();
14776    ctor public ActiveOperationalDataset.Builder(@NonNull android.net.thread.ActiveOperationalDataset);
14777    method @NonNull public android.net.thread.ActiveOperationalDataset build();
14778    method @NonNull public android.net.thread.ActiveOperationalDataset.Builder setActiveTimestamp(@NonNull android.net.thread.OperationalDatasetTimestamp);
14779    method @NonNull public android.net.thread.ActiveOperationalDataset.Builder setChannel(@IntRange(from=0, to=255) int, @IntRange(from=0, to=65535) int);
14780    method @NonNull public android.net.thread.ActiveOperationalDataset.Builder setChannelMask(@NonNull @Size(min=1) android.util.SparseArray<byte[]>);
14781    method @NonNull public android.net.thread.ActiveOperationalDataset.Builder setExtendedPanId(@NonNull @Size(android.net.thread.ActiveOperationalDataset.LENGTH_EXTENDED_PAN_ID) byte[]);
14782    method @NonNull public android.net.thread.ActiveOperationalDataset.Builder setMeshLocalPrefix(@NonNull android.net.IpPrefix);
14783    method @NonNull public android.net.thread.ActiveOperationalDataset.Builder setNetworkKey(@NonNull @Size(android.net.thread.ActiveOperationalDataset.LENGTH_NETWORK_KEY) byte[]);
14784    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);
14785    method @NonNull public android.net.thread.ActiveOperationalDataset.Builder setPanId(@IntRange(from=0, to=65534) int);
14786    method @NonNull public android.net.thread.ActiveOperationalDataset.Builder setPskc(@NonNull @Size(android.net.thread.ActiveOperationalDataset.LENGTH_PSKC) byte[]);
14787    method @NonNull public android.net.thread.ActiveOperationalDataset.Builder setSecurityPolicy(@NonNull android.net.thread.ActiveOperationalDataset.SecurityPolicy);
14788  }
14789
14790  public static final class ActiveOperationalDataset.SecurityPolicy {
14791    ctor public ActiveOperationalDataset.SecurityPolicy(@IntRange(from=1, to=65535) int, @NonNull @Size(min=android.net.thread.ActiveOperationalDataset.SecurityPolicy.LENGTH_MIN_SECURITY_POLICY_FLAGS) byte[]);
14792    method @NonNull @Size(min=android.net.thread.ActiveOperationalDataset.SecurityPolicy.LENGTH_MIN_SECURITY_POLICY_FLAGS) public byte[] getFlags();
14793    method @IntRange(from=1, to=65535) public int getRotationTimeHours();
14794    field public static final int DEFAULT_ROTATION_TIME_HOURS = 672; // 0x2a0
14795    field public static final int LENGTH_MIN_SECURITY_POLICY_FLAGS = 1; // 0x1
14796  }
14797
14798  public final class OperationalDatasetTimestamp {
14799    ctor public OperationalDatasetTimestamp(@IntRange(from=0, to=281474976710655L) long, @IntRange(from=0, to=32767) int, boolean);
14800    method @NonNull public static android.net.thread.OperationalDatasetTimestamp fromInstant(@NonNull java.time.Instant);
14801    method @IntRange(from=0, to=281474976710655L) public long getSeconds();
14802    method @IntRange(from=0, to=32767) public int getTicks();
14803    method public boolean isAuthoritativeSource();
14804    method @NonNull public java.time.Instant toInstant();
14805  }
14806
14807  public final class PendingOperationalDataset implements android.os.Parcelable {
14808    ctor public PendingOperationalDataset(@NonNull android.net.thread.ActiveOperationalDataset, @NonNull android.net.thread.OperationalDatasetTimestamp, @NonNull java.time.Duration);
14809    method public int describeContents();
14810    method @NonNull public static android.net.thread.PendingOperationalDataset fromThreadTlvs(@NonNull byte[]);
14811    method @NonNull public android.net.thread.ActiveOperationalDataset getActiveOperationalDataset();
14812    method @NonNull public java.time.Duration getDelayTimer();
14813    method @NonNull public android.net.thread.OperationalDatasetTimestamp getPendingTimestamp();
14814    method @NonNull public byte[] toThreadTlvs();
14815    method public void writeToParcel(@NonNull android.os.Parcel, int);
14816    field @NonNull public static final android.os.Parcelable.Creator<android.net.thread.PendingOperationalDataset> CREATOR;
14817  }
14818
14819  public final class ThreadConfiguration implements android.os.Parcelable {
14820    method public int describeContents();
14821    method public boolean isNat64Enabled();
14822    method public void writeToParcel(@NonNull android.os.Parcel, int);
14823    field @NonNull public static final android.os.Parcelable.Creator<android.net.thread.ThreadConfiguration> CREATOR;
14824  }
14825
14826  public static final class ThreadConfiguration.Builder {
14827    ctor public ThreadConfiguration.Builder();
14828    ctor public ThreadConfiguration.Builder(@NonNull android.net.thread.ThreadConfiguration);
14829    method @NonNull public android.net.thread.ThreadConfiguration build();
14830    method @NonNull public android.net.thread.ThreadConfiguration.Builder setNat64Enabled(boolean);
14831  }
14832
14833  public final class ThreadNetworkController {
14834    method @RequiresPermission("android.permission.THREAD_NETWORK_PRIVILEGED") public void activateEphemeralKeyMode(@NonNull java.time.Duration, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Void,android.net.thread.ThreadNetworkException>);
14835    method public void createRandomizedDataset(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.net.thread.ActiveOperationalDataset,android.net.thread.ThreadNetworkException>);
14836    method @RequiresPermission("android.permission.THREAD_NETWORK_PRIVILEGED") public void deactivateEphemeralKeyMode(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Void,android.net.thread.ThreadNetworkException>);
14837    method @NonNull public java.time.Duration getMaxEphemeralKeyLifetime();
14838    method public int getThreadVersion();
14839    method public static boolean isAttached(int);
14840    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>);
14841    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>);
14842    method @RequiresPermission("android.permission.THREAD_NETWORK_PRIVILEGED") public void registerConfigurationCallback(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.net.thread.ThreadConfiguration>);
14843    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);
14844    method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void registerStateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.thread.ThreadNetworkController.StateCallback);
14845    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>);
14846    method @RequiresPermission("android.permission.THREAD_NETWORK_PRIVILEGED") public void setChannelMaxPowers(@NonNull @Size(min=1) android.util.SparseIntArray, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Void,android.net.thread.ThreadNetworkException>);
14847    method @RequiresPermission("android.permission.THREAD_NETWORK_PRIVILEGED") public void setConfiguration(@NonNull android.net.thread.ThreadConfiguration, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Void,android.net.thread.ThreadNetworkException>);
14848    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>);
14849    method @RequiresPermission("android.permission.THREAD_NETWORK_PRIVILEGED") public void unregisterConfigurationCallback(@NonNull java.util.function.Consumer<android.net.thread.ThreadConfiguration>);
14850    method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_NETWORK_STATE, "android.permission.THREAD_NETWORK_PRIVILEGED"}) public void unregisterOperationalDatasetCallback(@NonNull android.net.thread.ThreadNetworkController.OperationalDatasetCallback);
14851    method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void unregisterStateCallback(@NonNull android.net.thread.ThreadNetworkController.StateCallback);
14852    field public static final int DEVICE_ROLE_CHILD = 2; // 0x2
14853    field public static final int DEVICE_ROLE_DETACHED = 1; // 0x1
14854    field public static final int DEVICE_ROLE_LEADER = 4; // 0x4
14855    field public static final int DEVICE_ROLE_ROUTER = 3; // 0x3
14856    field public static final int DEVICE_ROLE_STOPPED = 0; // 0x0
14857    field public static final int EPHEMERAL_KEY_DISABLED = 0; // 0x0
14858    field public static final int EPHEMERAL_KEY_ENABLED = 1; // 0x1
14859    field public static final int EPHEMERAL_KEY_IN_USE = 2; // 0x2
14860    field public static final int MAX_POWER_CHANNEL_DISABLED = -2147483648; // 0x80000000
14861    field public static final int STATE_DISABLED = 0; // 0x0
14862    field public static final int STATE_DISABLING = 2; // 0x2
14863    field public static final int STATE_ENABLED = 1; // 0x1
14864    field public static final int THREAD_VERSION_1_3 = 4; // 0x4
14865  }
14866
14867  public static interface ThreadNetworkController.OperationalDatasetCallback {
14868    method public void onActiveOperationalDatasetChanged(@Nullable android.net.thread.ActiveOperationalDataset);
14869    method public default void onPendingOperationalDatasetChanged(@Nullable android.net.thread.PendingOperationalDataset);
14870  }
14871
14872  public static interface ThreadNetworkController.StateCallback {
14873    method public void onDeviceRoleChanged(int);
14874    method @RequiresPermission("android.permission.THREAD_NETWORK_PRIVILEGED") public default void onEphemeralKeyStateChanged(int, @Nullable String, @Nullable java.time.Instant);
14875    method public default void onPartitionIdChanged(long);
14876    method public default void onThreadEnableStateChanged(int);
14877  }
14878
14879  public class ThreadNetworkException extends java.lang.Exception {
14880    ctor public ThreadNetworkException(int, @NonNull String);
14881    method public int getErrorCode();
14882    field public static final int ERROR_ABORTED = 2; // 0x2
14883    field public static final int ERROR_BUSY = 5; // 0x5
14884    field public static final int ERROR_FAILED_PRECONDITION = 6; // 0x6
14885    field public static final int ERROR_INTERNAL_ERROR = 1; // 0x1
14886    field public static final int ERROR_REJECTED_BY_PEER = 8; // 0x8
14887    field public static final int ERROR_RESOURCE_EXHAUSTED = 10; // 0xa
14888    field public static final int ERROR_RESPONSE_BAD_FORMAT = 9; // 0x9
14889    field public static final int ERROR_THREAD_DISABLED = 12; // 0xc
14890    field public static final int ERROR_TIMEOUT = 3; // 0x3
14891    field public static final int ERROR_UNAVAILABLE = 4; // 0x4
14892    field public static final int ERROR_UNKNOWN = 11; // 0xb
14893    field public static final int ERROR_UNSUPPORTED_CHANNEL = 7; // 0x7
14894    field public static final int ERROR_UNSUPPORTED_FEATURE = 13; // 0xd
14895  }
14896
14897  public final class ThreadNetworkManager {
14898    method @NonNull public java.util.List<android.net.thread.ThreadNetworkController> getAllThreadNetworkControllers();
14899  }
14900
14901}
14902
14903package android.net.util {
14904
14905  public final class SocketUtils {
14906    method public static void bindSocketToInterface(@NonNull java.io.FileDescriptor, @NonNull String) throws android.system.ErrnoException;
14907    method public static void closeSocket(@Nullable java.io.FileDescriptor) throws java.io.IOException;
14908    method @NonNull public static java.net.SocketAddress makeNetlinkSocketAddress(int, int);
14909    method @Deprecated @NonNull public static java.net.SocketAddress makePacketSocketAddress(int, @NonNull byte[]);
14910    method @NonNull public static java.net.SocketAddress makePacketSocketAddress(int, int);
14911    method @NonNull public static java.net.SocketAddress makePacketSocketAddress(int, int, @NonNull byte[]);
14912  }
14913
14914}
14915
14916package android.net.vcn {
14917
14918  public class VcnManager {
14919    method @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public void addVcnNetworkPolicyChangeListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.vcn.VcnManager.VcnNetworkPolicyChangeListener);
14920    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.vcn.VcnNetworkPolicyResult applyVcnNetworkPolicy(@NonNull android.net.NetworkCapabilities, @NonNull android.net.LinkProperties);
14921    method @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public void removeVcnNetworkPolicyChangeListener(@NonNull android.net.vcn.VcnManager.VcnNetworkPolicyChangeListener);
14922  }
14923
14924  public static interface VcnManager.VcnNetworkPolicyChangeListener {
14925    method public void onPolicyChanged();
14926  }
14927
14928  public final class VcnNetworkPolicyResult implements android.os.Parcelable {
14929    method public int describeContents();
14930    method @NonNull public android.net.NetworkCapabilities getNetworkCapabilities();
14931    method public boolean isTeardownRequested();
14932    method public void writeToParcel(@NonNull android.os.Parcel, int);
14933    field @NonNull public static final android.os.Parcelable.Creator<android.net.vcn.VcnNetworkPolicyResult> CREATOR;
14934  }
14935
14936}
14937
14938package android.net.wifi {
14939
14940  public final class CoexUnsafeChannel implements android.os.Parcelable {
14941    ctor public CoexUnsafeChannel(int, int);
14942    ctor public CoexUnsafeChannel(int, int, int);
14943    method public int describeContents();
14944    method public int getBand();
14945    method public int getChannel();
14946    method public int getPowerCapDbm();
14947    method public void writeToParcel(android.os.Parcel, int);
14948    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.CoexUnsafeChannel> CREATOR;
14949    field public static final int POWER_CAP_NONE = 2147483647; // 0x7fffffff
14950  }
14951
14952  public abstract class EasyConnectStatusCallback {
14953    ctor public EasyConnectStatusCallback();
14954    method public void onBootstrapUriGenerated(@NonNull android.net.Uri);
14955    method public abstract void onConfiguratorSuccess(int);
14956    method public abstract void onEnrolleeSuccess(int);
14957    method public void onFailure(int);
14958    method public void onFailure(int, @Nullable String, @NonNull android.util.SparseArray<int[]>, @NonNull int[]);
14959    method public abstract void onProgress(int);
14960    field public static final int EASY_CONNECT_EVENT_PROGRESS_AUTHENTICATION_SUCCESS = 0; // 0x0
14961    field public static final int EASY_CONNECT_EVENT_PROGRESS_CONFIGURATION_ACCEPTED = 3; // 0x3
14962    field public static final int EASY_CONNECT_EVENT_PROGRESS_CONFIGURATION_SENT_WAITING_RESPONSE = 2; // 0x2
14963    field public static final int EASY_CONNECT_EVENT_PROGRESS_RESPONSE_PENDING = 1; // 0x1
14964    field public static final int EASY_CONNECT_EVENT_SUCCESS_CONFIGURATION_APPLIED = 1; // 0x1
14965    field public static final int EASY_CONNECT_EVENT_SUCCESS_CONFIGURATION_SENT = 0; // 0x0
14966  }
14967
14968  public final class MscsParams implements android.os.Parcelable {
14969    method public int describeContents();
14970    method public int getFrameClassifierFields();
14971    method @IntRange(from=0, to=0x3938700) public int getStreamTimeoutUs();
14972    method public int getUserPriorityBitmap();
14973    method @IntRange(from=0, to=7) public int getUserPriorityLimit();
14974    method public void writeToParcel(@NonNull android.os.Parcel, int);
14975    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.MscsParams> CREATOR;
14976    field public static final int FRAME_CLASSIFIER_DSCP = 32; // 0x20
14977    field public static final int FRAME_CLASSIFIER_DST_IP_ADDR = 4; // 0x4
14978    field public static final int FRAME_CLASSIFIER_DST_PORT = 16; // 0x10
14979    field public static final int FRAME_CLASSIFIER_FLOW_LABEL = 128; // 0x80
14980    field public static final int FRAME_CLASSIFIER_IP_VERSION = 1; // 0x1
14981    field public static final int FRAME_CLASSIFIER_PROTOCOL_NEXT_HDR = 64; // 0x40
14982    field public static final int FRAME_CLASSIFIER_SRC_IP_ADDR = 2; // 0x2
14983    field public static final int FRAME_CLASSIFIER_SRC_PORT = 8; // 0x8
14984  }
14985
14986  public static final class MscsParams.Builder {
14987    ctor public MscsParams.Builder();
14988    method @NonNull public android.net.wifi.MscsParams build();
14989    method @NonNull public android.net.wifi.MscsParams.Builder setFrameClassifierFields(int);
14990    method @NonNull public android.net.wifi.MscsParams.Builder setStreamTimeoutUs(@IntRange(from=0, to=0x3938700) int);
14991    method @NonNull public android.net.wifi.MscsParams.Builder setUserPriorityBitmap(int);
14992    method @NonNull public android.net.wifi.MscsParams.Builder setUserPriorityLimit(@IntRange(from=0, to=7) int);
14993  }
14994
14995  public final class OuiKeyedData implements android.os.Parcelable {
14996    method public int describeContents();
14997    method @NonNull public android.os.PersistableBundle getData();
14998    method public int getOui();
14999    method public void writeToParcel(@NonNull android.os.Parcel, int);
15000    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.OuiKeyedData> CREATOR;
15001  }
15002
15003  public static final class OuiKeyedData.Builder {
15004    ctor public OuiKeyedData.Builder(int, @NonNull android.os.PersistableBundle);
15005    method @NonNull public android.net.wifi.OuiKeyedData build();
15006  }
15007
15008  public final class QosCharacteristics implements android.os.Parcelable {
15009    method public int describeContents();
15010    method @IntRange(from=1, to=java.lang.Integer.MAX_VALUE) public int getBurstSizeOctets();
15011    method @IntRange(from=0, to=15) public int getCountExponent();
15012    method @IntRange(from=1, to=java.lang.Integer.MAX_VALUE) public int getDelayBoundMicros();
15013    method public int getDeliveryRatio();
15014    method @IntRange(from=1, to=java.lang.Short.MAX_VALUE) public int getMaxMsduSizeOctets();
15015    method @IntRange(from=1, to=java.lang.Integer.MAX_VALUE) public int getMaxServiceIntervalMicros();
15016    method @IntRange(from=1, to=java.lang.Integer.MAX_VALUE) public int getMeanDataRateKbps();
15017    method @IntRange(from=1, to=java.lang.Integer.MAX_VALUE) public int getMinDataRateKbps();
15018    method @IntRange(from=1, to=java.lang.Integer.MAX_VALUE) public int getMinServiceIntervalMicros();
15019    method @IntRange(from=1, to=java.lang.Short.MAX_VALUE) public int getMsduLifetimeMillis();
15020    method public int getServiceStartTimeLinkId();
15021    method @IntRange(from=0, to=java.lang.Integer.MAX_VALUE) public int getServiceStartTimeMicros();
15022    method public void writeToParcel(@NonNull android.os.Parcel, int);
15023    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.QosCharacteristics> CREATOR;
15024    field public static final int DELIVERY_RATIO_95 = 0; // 0x0
15025    field public static final int DELIVERY_RATIO_96 = 1; // 0x1
15026    field public static final int DELIVERY_RATIO_97 = 2; // 0x2
15027    field public static final int DELIVERY_RATIO_98 = 3; // 0x3
15028    field public static final int DELIVERY_RATIO_99 = 5; // 0x5
15029    field public static final int DELIVERY_RATIO_99_9 = 6; // 0x6
15030    field public static final int DELIVERY_RATIO_99_99 = 7; // 0x7
15031    field public static final int DELIVERY_RATIO_99_999 = 8; // 0x8
15032    field public static final int DELIVERY_RATIO_99_9999 = 9; // 0x9
15033  }
15034
15035  public static final class QosCharacteristics.Builder {
15036    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);
15037    method @NonNull public android.net.wifi.QosCharacteristics build();
15038    method @NonNull public android.net.wifi.QosCharacteristics.Builder setBurstSizeOctets(@IntRange(from=1, to=java.lang.Integer.MAX_VALUE) int);
15039    method @NonNull public android.net.wifi.QosCharacteristics.Builder setMaxMsduSizeOctets(@IntRange(from=1, to=java.lang.Short.MAX_VALUE) int);
15040    method @NonNull public android.net.wifi.QosCharacteristics.Builder setMeanDataRateKbps(@IntRange(from=1, to=java.lang.Integer.MAX_VALUE) int);
15041    method @NonNull public android.net.wifi.QosCharacteristics.Builder setMsduDeliveryInfo(int, @IntRange(from=0, to=15) int);
15042    method @NonNull public android.net.wifi.QosCharacteristics.Builder setMsduLifetimeMillis(@IntRange(from=1, to=java.lang.Short.MAX_VALUE) int);
15043    method @NonNull public android.net.wifi.QosCharacteristics.Builder setServiceStartTimeInfo(@IntRange(from=0, to=java.lang.Integer.MAX_VALUE) int, int);
15044  }
15045
15046  public final class QosPolicyParams implements android.os.Parcelable {
15047    method public int describeContents();
15048    method @Nullable public java.net.InetAddress getDestinationAddress();
15049    method @IntRange(from=android.net.wifi.QosPolicyParams.DESTINATION_PORT_ANY, to=65535) public int getDestinationPort();
15050    method @Nullable public int[] getDestinationPortRange();
15051    method public int getDirection();
15052    method @IntRange(from=android.net.wifi.QosPolicyParams.DSCP_ANY, to=63) public int getDscp();
15053    method @Nullable public byte[] getFlowLabel();
15054    method public int getIpVersion();
15055    method @IntRange(from=1, to=255) public int getPolicyId();
15056    method public int getProtocol();
15057    method @Nullable public android.net.wifi.QosCharacteristics getQosCharacteristics();
15058    method @Nullable public java.net.InetAddress getSourceAddress();
15059    method @IntRange(from=android.net.DscpPolicy.SOURCE_PORT_ANY, to=65535) public int getSourcePort();
15060    method public int getUserPriority();
15061    method public void writeToParcel(@NonNull android.os.Parcel, int);
15062    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.QosPolicyParams> CREATOR;
15063    field public static final int DESTINATION_PORT_ANY = -1; // 0xffffffff
15064    field public static final int DIRECTION_DOWNLINK = 1; // 0x1
15065    field public static final int DIRECTION_UPLINK = 0; // 0x0
15066    field public static final int DSCP_ANY = -1; // 0xffffffff
15067    field public static final int IP_VERSION_4 = 4; // 0x4
15068    field public static final int IP_VERSION_6 = 6; // 0x6
15069    field public static final int IP_VERSION_ANY = -1; // 0xffffffff
15070    field public static final int PROTOCOL_ANY = -1; // 0xffffffff
15071    field public static final int PROTOCOL_ESP = 50; // 0x32
15072    field public static final int PROTOCOL_TCP = 6; // 0x6
15073    field public static final int PROTOCOL_UDP = 17; // 0x11
15074    field public static final int USER_PRIORITY_ANY = -1; // 0xffffffff
15075    field public static final int USER_PRIORITY_BACKGROUND_HIGH = 2; // 0x2
15076    field public static final int USER_PRIORITY_BACKGROUND_LOW = 1; // 0x1
15077    field public static final int USER_PRIORITY_BEST_EFFORT_HIGH = 3; // 0x3
15078    field public static final int USER_PRIORITY_BEST_EFFORT_LOW = 0; // 0x0
15079    field public static final int USER_PRIORITY_VIDEO_HIGH = 5; // 0x5
15080    field public static final int USER_PRIORITY_VIDEO_LOW = 4; // 0x4
15081    field public static final int USER_PRIORITY_VOICE_HIGH = 7; // 0x7
15082    field public static final int USER_PRIORITY_VOICE_LOW = 6; // 0x6
15083  }
15084
15085  public static final class QosPolicyParams.Builder {
15086    ctor public QosPolicyParams.Builder(@IntRange(from=1, to=255) int, int);
15087    method @NonNull public android.net.wifi.QosPolicyParams build();
15088    method @NonNull public android.net.wifi.QosPolicyParams.Builder setDestinationAddress(@Nullable java.net.InetAddress);
15089    method @NonNull public android.net.wifi.QosPolicyParams.Builder setDestinationPort(@IntRange(from=android.net.wifi.QosPolicyParams.DESTINATION_PORT_ANY, to=65535) int);
15090    method @NonNull public android.net.wifi.QosPolicyParams.Builder setDestinationPortRange(@IntRange(from=0, to=65535) int, @IntRange(from=0, to=65535) int);
15091    method @NonNull public android.net.wifi.QosPolicyParams.Builder setDscp(@IntRange(from=android.net.wifi.QosPolicyParams.DSCP_ANY, to=63) int);
15092    method @NonNull public android.net.wifi.QosPolicyParams.Builder setFlowLabel(@Nullable byte[]);
15093    method @NonNull public android.net.wifi.QosPolicyParams.Builder setIpVersion(int);
15094    method @NonNull public android.net.wifi.QosPolicyParams.Builder setProtocol(int);
15095    method @NonNull public android.net.wifi.QosPolicyParams.Builder setQosCharacteristics(@Nullable android.net.wifi.QosCharacteristics);
15096    method @NonNull public android.net.wifi.QosPolicyParams.Builder setSourceAddress(@Nullable java.net.InetAddress);
15097    method @NonNull public android.net.wifi.QosPolicyParams.Builder setSourcePort(@IntRange(from=android.net.DscpPolicy.SOURCE_PORT_ANY, to=65535) int);
15098    method @NonNull public android.net.wifi.QosPolicyParams.Builder setUserPriority(int);
15099  }
15100
15101  @Deprecated public class RttManager {
15102    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void disableResponder(android.net.wifi.RttManager.ResponderCallback);
15103    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void enableResponder(android.net.wifi.RttManager.ResponderCallback);
15104    method @Deprecated public android.net.wifi.RttManager.Capabilities getCapabilities();
15105    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public android.net.wifi.RttManager.RttCapabilities getRttCapabilities();
15106    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startRanging(android.net.wifi.RttManager.RttParams[], android.net.wifi.RttManager.RttListener);
15107    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void stopRanging(android.net.wifi.RttManager.RttListener);
15108    field @Deprecated public static final int BASE = 160256; // 0x27200
15109    field @Deprecated public static final int CMD_OP_ABORTED = 160260; // 0x27204
15110    field @Deprecated public static final int CMD_OP_DISABLE_RESPONDER = 160262; // 0x27206
15111    field @Deprecated public static final int CMD_OP_ENABLE_RESPONDER = 160261; // 0x27205
15112    field @Deprecated public static final int CMD_OP_ENALBE_RESPONDER_FAILED = 160264; // 0x27208
15113    field @Deprecated public static final int CMD_OP_ENALBE_RESPONDER_SUCCEEDED = 160263; // 0x27207
15114    field @Deprecated public static final int CMD_OP_FAILED = 160258; // 0x27202
15115    field @Deprecated public static final int CMD_OP_START_RANGING = 160256; // 0x27200
15116    field @Deprecated public static final int CMD_OP_STOP_RANGING = 160257; // 0x27201
15117    field @Deprecated public static final int CMD_OP_SUCCEEDED = 160259; // 0x27203
15118    field @Deprecated public static final String DESCRIPTION_KEY = "android.net.wifi.RttManager.Description";
15119    field @Deprecated public static final int PREAMBLE_HT = 2; // 0x2
15120    field @Deprecated public static final int PREAMBLE_LEGACY = 1; // 0x1
15121    field @Deprecated public static final int PREAMBLE_VHT = 4; // 0x4
15122    field @Deprecated public static final int REASON_INITIATOR_NOT_ALLOWED_WHEN_RESPONDER_ON = -6; // 0xfffffffa
15123    field @Deprecated public static final int REASON_INVALID_LISTENER = -3; // 0xfffffffd
15124    field @Deprecated public static final int REASON_INVALID_REQUEST = -4; // 0xfffffffc
15125    field @Deprecated public static final int REASON_NOT_AVAILABLE = -2; // 0xfffffffe
15126    field @Deprecated public static final int REASON_PERMISSION_DENIED = -5; // 0xfffffffb
15127    field @Deprecated public static final int REASON_UNSPECIFIED = -1; // 0xffffffff
15128    field @Deprecated public static final int RTT_BW_10_SUPPORT = 2; // 0x2
15129    field @Deprecated public static final int RTT_BW_160_SUPPORT = 32; // 0x20
15130    field @Deprecated public static final int RTT_BW_20_SUPPORT = 4; // 0x4
15131    field @Deprecated public static final int RTT_BW_40_SUPPORT = 8; // 0x8
15132    field @Deprecated public static final int RTT_BW_5_SUPPORT = 1; // 0x1
15133    field @Deprecated public static final int RTT_BW_80_SUPPORT = 16; // 0x10
15134    field @Deprecated public static final int RTT_CHANNEL_WIDTH_10 = 6; // 0x6
15135    field @Deprecated public static final int RTT_CHANNEL_WIDTH_160 = 3; // 0x3
15136    field @Deprecated public static final int RTT_CHANNEL_WIDTH_20 = 0; // 0x0
15137    field @Deprecated public static final int RTT_CHANNEL_WIDTH_40 = 1; // 0x1
15138    field @Deprecated public static final int RTT_CHANNEL_WIDTH_5 = 5; // 0x5
15139    field @Deprecated public static final int RTT_CHANNEL_WIDTH_80 = 2; // 0x2
15140    field @Deprecated public static final int RTT_CHANNEL_WIDTH_80P80 = 4; // 0x4
15141    field @Deprecated public static final int RTT_CHANNEL_WIDTH_UNSPECIFIED = -1; // 0xffffffff
15142    field @Deprecated public static final int RTT_PEER_NAN = 5; // 0x5
15143    field @Deprecated public static final int RTT_PEER_P2P_CLIENT = 4; // 0x4
15144    field @Deprecated public static final int RTT_PEER_P2P_GO = 3; // 0x3
15145    field @Deprecated public static final int RTT_PEER_TYPE_AP = 1; // 0x1
15146    field @Deprecated public static final int RTT_PEER_TYPE_STA = 2; // 0x2
15147    field @Deprecated public static final int RTT_PEER_TYPE_UNSPECIFIED = 0; // 0x0
15148    field @Deprecated public static final int RTT_STATUS_ABORTED = 8; // 0x8
15149    field @Deprecated public static final int RTT_STATUS_FAILURE = 1; // 0x1
15150    field @Deprecated public static final int RTT_STATUS_FAIL_AP_ON_DIFF_CHANNEL = 6; // 0x6
15151    field @Deprecated public static final int RTT_STATUS_FAIL_BUSY_TRY_LATER = 12; // 0xc
15152    field @Deprecated public static final int RTT_STATUS_FAIL_FTM_PARAM_OVERRIDE = 15; // 0xf
15153    field @Deprecated public static final int RTT_STATUS_FAIL_INVALID_TS = 9; // 0x9
15154    field @Deprecated public static final int RTT_STATUS_FAIL_NOT_SCHEDULED_YET = 4; // 0x4
15155    field @Deprecated public static final int RTT_STATUS_FAIL_NO_CAPABILITY = 7; // 0x7
15156    field @Deprecated public static final int RTT_STATUS_FAIL_NO_RSP = 2; // 0x2
15157    field @Deprecated public static final int RTT_STATUS_FAIL_PROTOCOL = 10; // 0xa
15158    field @Deprecated public static final int RTT_STATUS_FAIL_REJECTED = 3; // 0x3
15159    field @Deprecated public static final int RTT_STATUS_FAIL_SCHEDULE = 11; // 0xb
15160    field @Deprecated public static final int RTT_STATUS_FAIL_TM_TIMEOUT = 5; // 0x5
15161    field @Deprecated public static final int RTT_STATUS_INVALID_REQ = 13; // 0xd
15162    field @Deprecated public static final int RTT_STATUS_NO_WIFI = 14; // 0xe
15163    field @Deprecated public static final int RTT_STATUS_SUCCESS = 0; // 0x0
15164    field @Deprecated public static final int RTT_TYPE_11_MC = 4; // 0x4
15165    field @Deprecated public static final int RTT_TYPE_11_V = 2; // 0x2
15166    field @Deprecated public static final int RTT_TYPE_ONE_SIDED = 1; // 0x1
15167    field @Deprecated public static final int RTT_TYPE_TWO_SIDED = 2; // 0x2
15168    field @Deprecated public static final int RTT_TYPE_UNSPECIFIED = 0; // 0x0
15169  }
15170
15171  @Deprecated public class RttManager.Capabilities {
15172    ctor @Deprecated public RttManager.Capabilities();
15173    field @Deprecated public int supportedPeerType;
15174    field @Deprecated public int supportedType;
15175  }
15176
15177  @Deprecated public static class RttManager.ParcelableRttParams implements android.os.Parcelable {
15178    method @Deprecated public int describeContents();
15179    method @Deprecated public void writeToParcel(android.os.Parcel, int);
15180    field @Deprecated @NonNull public android.net.wifi.RttManager.RttParams[] mParams;
15181  }
15182
15183  @Deprecated public static class RttManager.ParcelableRttResults implements android.os.Parcelable {
15184    ctor @Deprecated public RttManager.ParcelableRttResults(android.net.wifi.RttManager.RttResult[]);
15185    method @Deprecated public int describeContents();
15186    method @Deprecated public void writeToParcel(android.os.Parcel, int);
15187    field @Deprecated public android.net.wifi.RttManager.RttResult[] mResults;
15188  }
15189
15190  @Deprecated public abstract static class RttManager.ResponderCallback {
15191    ctor @Deprecated public RttManager.ResponderCallback();
15192    method @Deprecated public abstract void onResponderEnableFailure(int);
15193    method @Deprecated public abstract void onResponderEnabled(android.net.wifi.RttManager.ResponderConfig);
15194  }
15195
15196  @Deprecated public static class RttManager.ResponderConfig implements android.os.Parcelable {
15197    ctor @Deprecated public RttManager.ResponderConfig();
15198    method @Deprecated public int describeContents();
15199    method @Deprecated public void writeToParcel(android.os.Parcel, int);
15200    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.RttManager.ResponderConfig> CREATOR;
15201    field @Deprecated public int centerFreq0;
15202    field @Deprecated public int centerFreq1;
15203    field @Deprecated public int channelWidth;
15204    field @Deprecated public int frequency;
15205    field @Deprecated public String macAddress;
15206    field @Deprecated public int preamble;
15207  }
15208
15209  @Deprecated public static class RttManager.RttCapabilities implements android.os.Parcelable {
15210    ctor @Deprecated public RttManager.RttCapabilities();
15211    method @Deprecated public int describeContents();
15212    method @Deprecated public void writeToParcel(android.os.Parcel, int);
15213    field @Deprecated public int bwSupported;
15214    field @Deprecated public boolean lciSupported;
15215    field @Deprecated public boolean lcrSupported;
15216    field @Deprecated public int mcVersion;
15217    field @Deprecated public boolean oneSidedRttSupported;
15218    field @Deprecated public int preambleSupported;
15219    field @Deprecated public boolean responderSupported;
15220    field @Deprecated public boolean secureRttSupported;
15221    field @Deprecated public boolean supportedPeerType;
15222    field @Deprecated public boolean supportedType;
15223    field @Deprecated public boolean twoSided11McRttSupported;
15224  }
15225
15226  @Deprecated public static interface RttManager.RttListener {
15227    method @Deprecated public void onAborted();
15228    method @Deprecated public void onFailure(int, String);
15229    method @Deprecated public void onSuccess(android.net.wifi.RttManager.RttResult[]);
15230  }
15231
15232  @Deprecated public static class RttManager.RttParams {
15233    ctor @Deprecated public RttManager.RttParams();
15234    field @Deprecated public boolean LCIRequest;
15235    field @Deprecated public boolean LCRRequest;
15236    field @Deprecated public int bandwidth;
15237    field @Deprecated public String bssid;
15238    field @Deprecated public int burstTimeout;
15239    field @Deprecated public int centerFreq0;
15240    field @Deprecated public int centerFreq1;
15241    field @Deprecated public int channelWidth;
15242    field @Deprecated public int deviceType;
15243    field @Deprecated public int frequency;
15244    field @Deprecated public int interval;
15245    field @Deprecated public int numRetriesPerFTMR;
15246    field @Deprecated public int numRetriesPerMeasurementFrame;
15247    field @Deprecated public int numSamplesPerBurst;
15248    field @Deprecated public int num_retries;
15249    field @Deprecated public int num_samples;
15250    field @Deprecated public int numberBurst;
15251    field @Deprecated public int preamble;
15252    field @Deprecated public int requestType;
15253    field @Deprecated public boolean secure;
15254  }
15255
15256  @Deprecated public static class RttManager.RttResult {
15257    ctor @Deprecated public RttManager.RttResult();
15258    field @Deprecated public android.net.wifi.RttManager.WifiInformationElement LCI;
15259    field @Deprecated public android.net.wifi.RttManager.WifiInformationElement LCR;
15260    field @Deprecated public String bssid;
15261    field @Deprecated public int burstDuration;
15262    field @Deprecated public int burstNumber;
15263    field @Deprecated public int distance;
15264    field @Deprecated public int distanceSpread;
15265    field @Deprecated public int distanceStandardDeviation;
15266    field @Deprecated public int distance_cm;
15267    field @Deprecated public int distance_sd_cm;
15268    field @Deprecated public int distance_spread_cm;
15269    field @Deprecated public int frameNumberPerBurstPeer;
15270    field @Deprecated public int measurementFrameNumber;
15271    field @Deprecated public int measurementType;
15272    field @Deprecated public int negotiatedBurstNum;
15273    field @Deprecated public int requestType;
15274    field @Deprecated public int retryAfterDuration;
15275    field @Deprecated public int rssi;
15276    field @Deprecated public int rssiSpread;
15277    field @Deprecated public int rssi_spread;
15278    field @Deprecated public long rtt;
15279    field @Deprecated public long rttSpread;
15280    field @Deprecated public long rttStandardDeviation;
15281    field @Deprecated public long rtt_ns;
15282    field @Deprecated public long rtt_sd_ns;
15283    field @Deprecated public long rtt_spread_ns;
15284    field @Deprecated public int rxRate;
15285    field @Deprecated public boolean secure;
15286    field @Deprecated public int status;
15287    field @Deprecated public int successMeasurementFrameNumber;
15288    field @Deprecated public long ts;
15289    field @Deprecated public int txRate;
15290    field @Deprecated public int tx_rate;
15291  }
15292
15293  @Deprecated public static class RttManager.WifiInformationElement {
15294    ctor @Deprecated public RttManager.WifiInformationElement();
15295    field @Deprecated public byte[] data;
15296    field @Deprecated public byte id;
15297  }
15298
15299  public final class ScanResult implements android.os.Parcelable {
15300    method public int getBand();
15301    method public void setWifiSsid(@NonNull android.net.wifi.WifiSsid);
15302    field public static final int CIPHER_BIP_CMAC_256 = 9; // 0x9
15303    field public static final int CIPHER_BIP_GMAC_128 = 7; // 0x7
15304    field public static final int CIPHER_BIP_GMAC_256 = 8; // 0x8
15305    field public static final int CIPHER_CCMP = 3; // 0x3
15306    field public static final int CIPHER_GCMP_128 = 6; // 0x6
15307    field public static final int CIPHER_GCMP_256 = 4; // 0x4
15308    field public static final int CIPHER_NONE = 0; // 0x0
15309    field public static final int CIPHER_NO_GROUP_ADDRESSED = 1; // 0x1
15310    field public static final int CIPHER_SMS4 = 5; // 0x5
15311    field public static final int CIPHER_TKIP = 2; // 0x2
15312    field public static final int KEY_MGMT_EAP = 2; // 0x2
15313    field public static final int KEY_MGMT_EAP_SHA256 = 6; // 0x6
15314    field public static final int KEY_MGMT_EAP_SUITE_B_192 = 10; // 0xa
15315    field public static final int KEY_MGMT_FT_EAP = 4; // 0x4
15316    field public static final int KEY_MGMT_FT_PSK = 3; // 0x3
15317    field public static final int KEY_MGMT_FT_SAE = 11; // 0xb
15318    field public static final int KEY_MGMT_NONE = 0; // 0x0
15319    field public static final int KEY_MGMT_OSEN = 7; // 0x7
15320    field public static final int KEY_MGMT_OWE = 9; // 0x9
15321    field public static final int KEY_MGMT_OWE_TRANSITION = 12; // 0xc
15322    field public static final int KEY_MGMT_PSK = 1; // 0x1
15323    field public static final int KEY_MGMT_PSK_SHA256 = 5; // 0x5
15324    field public static final int KEY_MGMT_SAE = 8; // 0x8
15325    field public static final int KEY_MGMT_WAPI_CERT = 14; // 0xe
15326    field public static final int KEY_MGMT_WAPI_PSK = 13; // 0xd
15327    field public static final int PROTOCOL_NONE = 0; // 0x0
15328    field public static final int PROTOCOL_OSEN = 3; // 0x3
15329    field public static final int PROTOCOL_RSN = 2; // 0x2
15330    field public static final int PROTOCOL_WAPI = 4; // 0x4
15331    field public static final int PROTOCOL_WPA = 1; // 0x1
15332  }
15333
15334  public final class SoftApCapability implements android.os.Parcelable {
15335    method public boolean areFeaturesSupported(long);
15336    method public int describeContents();
15337    method public int getMaxSupportedClients();
15338    method @NonNull public int[] getSupportedChannelList(int);
15339    method public void writeToParcel(@NonNull android.os.Parcel, int);
15340    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.SoftApCapability> CREATOR;
15341    field public static final long SOFTAP_FEATURE_ACS_OFFLOAD = 1L; // 0x1L
15342    field public static final long SOFTAP_FEATURE_BAND_24G_SUPPORTED = 32L; // 0x20L
15343    field public static final long SOFTAP_FEATURE_BAND_5G_SUPPORTED = 64L; // 0x40L
15344    field public static final long SOFTAP_FEATURE_BAND_60G_SUPPORTED = 256L; // 0x100L
15345    field public static final long SOFTAP_FEATURE_BAND_6G_SUPPORTED = 128L; // 0x80L
15346    field public static final long SOFTAP_FEATURE_CLIENT_FORCE_DISCONNECT = 2L; // 0x2L
15347    field public static final long SOFTAP_FEATURE_IEEE80211_AX = 16L; // 0x10L
15348    field public static final long SOFTAP_FEATURE_IEEE80211_BE = 512L; // 0x200L
15349    field public static final long SOFTAP_FEATURE_MAC_ADDRESS_CUSTOMIZATION = 8L; // 0x8L
15350    field public static final long SOFTAP_FEATURE_WPA3_OWE = 2048L; // 0x800L
15351    field public static final long SOFTAP_FEATURE_WPA3_OWE_TRANSITION = 1024L; // 0x400L
15352    field public static final long SOFTAP_FEATURE_WPA3_SAE = 4L; // 0x4L
15353  }
15354
15355  public final class SoftApConfiguration implements android.os.Parcelable {
15356    method @NonNull public int[] getAllowedAcsChannels(int);
15357    method @NonNull public java.util.List<android.net.MacAddress> getAllowedClientList();
15358    method @Deprecated public int getBand();
15359    method @NonNull public java.util.List<android.net.MacAddress> getBlockedClientList();
15360    method public long getBridgedModeOpportunisticShutdownTimeoutMillis();
15361    method @Deprecated public int getChannel();
15362    method @NonNull public android.util.SparseIntArray getChannels();
15363    method public int getMacRandomizationSetting();
15364    method public int getMaxChannelBandwidth();
15365    method public int getMaxNumberOfClients();
15366    method @NonNull public android.net.MacAddress getPersistentRandomizedMacAddress();
15367    method public long getShutdownTimeoutMillis();
15368    method @NonNull public java.util.List<android.net.wifi.OuiKeyedData> getVendorData();
15369    method @NonNull public java.util.List<android.net.wifi.ScanResult.InformationElement> getVendorElements();
15370    method public boolean isAutoShutdownEnabled();
15371    method public boolean isBridgedModeOpportunisticShutdownEnabled();
15372    method public boolean isClientControlByUserEnabled();
15373    method public boolean isIeee80211axEnabled();
15374    method public boolean isIeee80211beEnabled();
15375    method public boolean isUserConfiguration();
15376    method @Nullable public android.net.wifi.WifiConfiguration toWifiConfiguration();
15377    field public static final int BAND_2GHZ = 1; // 0x1
15378    field public static final int BAND_5GHZ = 2; // 0x2
15379    field public static final int BAND_60GHZ = 8; // 0x8
15380    field public static final int BAND_6GHZ = 4; // 0x4
15381    field @Deprecated public static final int BAND_ANY = 7; // 0x7
15382    field public static final long DEFAULT_TIMEOUT = -1L; // 0xffffffffffffffffL
15383    field public static final int RANDOMIZATION_NONE = 0; // 0x0
15384    field public static final int RANDOMIZATION_NON_PERSISTENT = 2; // 0x2
15385    field public static final int RANDOMIZATION_PERSISTENT = 1; // 0x1
15386  }
15387
15388  public static final class SoftApConfiguration.Builder {
15389    ctor public SoftApConfiguration.Builder();
15390    ctor public SoftApConfiguration.Builder(@NonNull android.net.wifi.SoftApConfiguration);
15391    method @NonNull public android.net.wifi.SoftApConfiguration build();
15392    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setAllowedAcsChannels(int, @NonNull int[]);
15393    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setAllowedClientList(@NonNull java.util.List<android.net.MacAddress>);
15394    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setAutoShutdownEnabled(boolean);
15395    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBand(int);
15396    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBands(@NonNull int[]);
15397    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBlockedClientList(@NonNull java.util.List<android.net.MacAddress>);
15398    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBridgedModeOpportunisticShutdownEnabled(boolean);
15399    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBridgedModeOpportunisticShutdownTimeoutMillis(@IntRange(from=0xffffffff) long);
15400    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBssid(@Nullable android.net.MacAddress);
15401    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setChannel(int, int);
15402    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setChannels(@NonNull android.util.SparseIntArray);
15403    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setClientControlByUserEnabled(boolean);
15404    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setHiddenSsid(boolean);
15405    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setIeee80211axEnabled(boolean);
15406    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setIeee80211beEnabled(boolean);
15407    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setMacRandomizationSetting(int);
15408    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setMaxChannelBandwidth(int);
15409    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setMaxNumberOfClients(@IntRange(from=0) int);
15410    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setPassphrase(@Nullable String, int);
15411    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setShutdownTimeoutMillis(@IntRange(from=0xffffffff) long);
15412    method @Deprecated @NonNull public android.net.wifi.SoftApConfiguration.Builder setSsid(@Nullable String);
15413    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setVendorData(@NonNull java.util.List<android.net.wifi.OuiKeyedData>);
15414    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setVendorElements(@NonNull java.util.List<android.net.wifi.ScanResult.InformationElement>);
15415    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setWifiSsid(@Nullable android.net.wifi.WifiSsid);
15416  }
15417
15418  public final class SoftApInfo implements android.os.Parcelable {
15419    method public int describeContents();
15420    method public long getAutoShutdownTimeoutMillis();
15421    method public int getBandwidth();
15422    method @Nullable public android.net.MacAddress getBssid();
15423    method public int getFrequency();
15424    method @NonNull public java.util.List<android.net.wifi.OuiKeyedData> getVendorData();
15425    method public int getWifiStandard();
15426    method public void setVendorData(@NonNull java.util.List<android.net.wifi.OuiKeyedData>);
15427    method public void writeToParcel(@NonNull android.os.Parcel, int);
15428    field public static final int CHANNEL_WIDTH_160MHZ = 6; // 0x6
15429    field public static final int CHANNEL_WIDTH_20MHZ = 2; // 0x2
15430    field public static final int CHANNEL_WIDTH_20MHZ_NOHT = 1; // 0x1
15431    field public static final int CHANNEL_WIDTH_2160MHZ = 7; // 0x7
15432    field public static final int CHANNEL_WIDTH_320MHZ = 11; // 0xb
15433    field public static final int CHANNEL_WIDTH_40MHZ = 3; // 0x3
15434    field public static final int CHANNEL_WIDTH_4320MHZ = 8; // 0x8
15435    field public static final int CHANNEL_WIDTH_6480MHZ = 9; // 0x9
15436    field public static final int CHANNEL_WIDTH_80MHZ = 4; // 0x4
15437    field public static final int CHANNEL_WIDTH_80MHZ_PLUS_MHZ = 5; // 0x5
15438    field public static final int CHANNEL_WIDTH_8640MHZ = 10; // 0xa
15439    field public static final int CHANNEL_WIDTH_AUTO = -1; // 0xffffffff
15440    field public static final int CHANNEL_WIDTH_INVALID = 0; // 0x0
15441    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.SoftApInfo> CREATOR;
15442  }
15443
15444  public final class SoftApState implements android.os.Parcelable {
15445    method public int describeContents();
15446    method public int getFailureReason();
15447    method @Nullable public String getIface();
15448    method public int getState();
15449    method @Nullable public android.net.TetheringManager.TetheringRequest getTetheringRequest();
15450    method public void writeToParcel(@NonNull android.os.Parcel, int);
15451    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.SoftApState> CREATOR;
15452  }
15453
15454  public final class UriParserResults implements android.os.Parcelable {
15455    method public int describeContents();
15456    method @Nullable public String getInformation();
15457    method @Nullable public String getPublicKey();
15458    method public int getUriScheme();
15459    method @Nullable public android.net.wifi.WifiConfiguration getWifiConfiguration();
15460    method public void writeToParcel(@NonNull android.os.Parcel, int);
15461    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.UriParserResults> CREATOR;
15462    field public static final int URI_SCHEME_DPP = 2; // 0x2
15463    field public static final int URI_SCHEME_ZXING_WIFI_NETWORK_CONFIG = 1; // 0x1
15464  }
15465
15466  public final class WifiClient implements android.os.Parcelable {
15467    method public int describeContents();
15468    method @NonNull public android.net.MacAddress getMacAddress();
15469    method public void writeToParcel(@NonNull android.os.Parcel, int);
15470    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiClient> CREATOR;
15471  }
15472
15473  @Deprecated public class WifiConfiguration implements android.os.Parcelable {
15474    method @Deprecated @NonNull public java.util.Set<java.lang.String> getAllNetworkKeys();
15475    method @Deprecated public int getAuthType();
15476    method @Deprecated @Nullable public java.util.List<android.net.MacAddress> getBssidAllowlist();
15477    method @Deprecated public int getDeletionPriority();
15478    method @Deprecated @NonNull public byte[] getDppCSignKey();
15479    method @Deprecated @NonNull public byte[] getDppConnector();
15480    method @Deprecated @NonNull public byte[] getDppNetAccessKey();
15481    method @Deprecated @NonNull public byte[] getDppPrivateEcKey();
15482    method @Deprecated @NonNull public android.net.IpConfiguration getIpConfiguration();
15483    method @Deprecated @NonNull public android.net.wifi.WifiConfiguration.NetworkSelectionStatus getNetworkSelectionStatus();
15484    method @Deprecated @NonNull public String getPrintableSsid();
15485    method @Deprecated @NonNull public String getProfileKey();
15486    method @Deprecated public int getRecentFailureReason();
15487    method @Deprecated @NonNull public java.util.List<android.net.wifi.OuiKeyedData> getVendorData();
15488    method @Deprecated public boolean hasNoInternetAccess();
15489    method @Deprecated public boolean isEphemeral();
15490    method @Deprecated public static boolean isMetered(@Nullable android.net.wifi.WifiConfiguration, @Nullable android.net.wifi.WifiInfo);
15491    method @Deprecated public boolean isNoInternetAccessExpected();
15492    method @Deprecated public boolean isRepeaterEnabled();
15493    method @Deprecated public boolean isSendDhcpHostnameEnabled();
15494    method @Deprecated public boolean isWifi7Enabled();
15495    method @Deprecated public void setBssidAllowlist(@Nullable java.util.List<android.net.MacAddress>);
15496    method @Deprecated public void setDeletionPriority(int) throws java.lang.IllegalArgumentException;
15497    method @Deprecated public void setNetworkSelectionStatus(@NonNull android.net.wifi.WifiConfiguration.NetworkSelectionStatus);
15498    method @Deprecated @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setRepeaterEnabled(boolean);
15499    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void setSendDhcpHostnameEnabled(boolean);
15500    method @Deprecated public void setVendorData(@NonNull java.util.List<android.net.wifi.OuiKeyedData>);
15501    method @Deprecated public void setWifi7Enabled(boolean);
15502    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiConfiguration> CREATOR;
15503    field @Deprecated public static final int INVALID_NETWORK_ID = -1; // 0xffffffff
15504    field @Deprecated public static final int METERED_OVERRIDE_METERED = 1; // 0x1
15505    field @Deprecated public static final int METERED_OVERRIDE_NONE = 0; // 0x0
15506    field @Deprecated public static final int METERED_OVERRIDE_NOT_METERED = 2; // 0x2
15507    field @Deprecated public static final int RECENT_FAILURE_AP_UNABLE_TO_HANDLE_NEW_STA = 17; // 0x11
15508    field @Deprecated public static final int RECENT_FAILURE_DISCONNECTION_AP_BUSY = 1004; // 0x3ec
15509    field @Deprecated public static final int RECENT_FAILURE_MBO_ASSOC_DISALLOWED_AIR_INTERFACE_OVERLOADED = 1007; // 0x3ef
15510    field @Deprecated public static final int RECENT_FAILURE_MBO_ASSOC_DISALLOWED_AUTH_SERVER_OVERLOADED = 1008; // 0x3f0
15511    field @Deprecated public static final int RECENT_FAILURE_MBO_ASSOC_DISALLOWED_INSUFFICIENT_RSSI = 1009; // 0x3f1
15512    field @Deprecated public static final int RECENT_FAILURE_MBO_ASSOC_DISALLOWED_MAX_NUM_STA_ASSOCIATED = 1006; // 0x3ee
15513    field @Deprecated public static final int RECENT_FAILURE_MBO_ASSOC_DISALLOWED_UNSPECIFIED = 1005; // 0x3ed
15514    field @Deprecated public static final int RECENT_FAILURE_NETWORK_NOT_FOUND = 1011; // 0x3f3
15515    field @Deprecated public static final int RECENT_FAILURE_NONE = 0; // 0x0
15516    field @Deprecated public static final int RECENT_FAILURE_OCE_RSSI_BASED_ASSOCIATION_REJECTION = 1010; // 0x3f2
15517    field @Deprecated public static final int RECENT_FAILURE_POOR_CHANNEL_CONDITIONS = 1003; // 0x3eb
15518    field @Deprecated public static final int RECENT_FAILURE_REFUSED_TEMPORARILY = 1002; // 0x3ea
15519    field @Deprecated public boolean allowAutojoin;
15520    field @Deprecated public int carrierId;
15521    field @Deprecated public boolean carrierMerged;
15522    field @Deprecated public String creatorName;
15523    field @Deprecated public int creatorUid;
15524    field @Deprecated public boolean fromWifiNetworkSpecifier;
15525    field @Deprecated public boolean fromWifiNetworkSuggestion;
15526    field @Deprecated public int lastConnectUid;
15527    field @Deprecated public long lastConnected;
15528    field @Deprecated public String lastUpdateName;
15529    field @Deprecated public int lastUpdateUid;
15530    field @Deprecated public int macRandomizationSetting;
15531    field @Deprecated public boolean meteredHint;
15532    field @Deprecated public int meteredOverride;
15533    field @Deprecated public int numAssociation;
15534    field @Deprecated public int numRebootsSinceLastUse;
15535    field @Deprecated public int numScorerOverride;
15536    field @Deprecated public int numScorerOverrideAndSwitchedNetwork;
15537    field @Deprecated public boolean requirePmf;
15538    field @Deprecated public boolean shared;
15539    field @Deprecated public int subscriptionId;
15540    field @Deprecated public boolean useExternalScores;
15541  }
15542
15543  @Deprecated public static class WifiConfiguration.NetworkSelectionStatus {
15544    method @Deprecated public int getDisableReasonCounter(int);
15545    method @Deprecated public long getDisableTime();
15546    method @Deprecated public static int getMaxNetworkSelectionDisableReason();
15547    method @Deprecated public int getNetworkSelectionDisableReason();
15548    method @Deprecated @Nullable public static String getNetworkSelectionDisableReasonString(int);
15549    method @Deprecated public int getNetworkSelectionStatus();
15550    method @Deprecated @NonNull public String getNetworkStatusString();
15551    method @Deprecated public boolean hasEverConnected();
15552    field @Deprecated public static final int DISABLED_ASSOCIATION_REJECTION = 1; // 0x1
15553    field @Deprecated public static final int DISABLED_AUTHENTICATION_FAILURE = 2; // 0x2
15554    field @Deprecated public static final int DISABLED_AUTHENTICATION_NO_CREDENTIALS = 5; // 0x5
15555    field @Deprecated public static final int DISABLED_AUTHENTICATION_NO_SUBSCRIPTION = 9; // 0x9
15556    field @Deprecated public static final int DISABLED_AUTHENTICATION_PRIVATE_EAP_ERROR = 10; // 0xa
15557    field @Deprecated public static final int DISABLED_BY_WIFI_MANAGER = 7; // 0x7
15558    field @Deprecated public static final int DISABLED_BY_WRONG_PASSWORD = 8; // 0x8
15559    field @Deprecated public static final int DISABLED_CONSECUTIVE_FAILURES = 12; // 0xc
15560    field @Deprecated public static final int DISABLED_DHCP_FAILURE = 3; // 0x3
15561    field @Deprecated public static final int DISABLED_NETWORK_NOT_FOUND = 11; // 0xb
15562    field @Deprecated public static final int DISABLED_NONE = 0; // 0x0
15563    field @Deprecated public static final int DISABLED_NO_INTERNET_PERMANENT = 6; // 0x6
15564    field @Deprecated public static final int DISABLED_NO_INTERNET_TEMPORARY = 4; // 0x4
15565    field @Deprecated public static final int DISABLED_TRANSITION_DISABLE_INDICATION = 13; // 0xd
15566    field @Deprecated public static final int DISABLED_UNWANTED_LOW_RSSI = 14; // 0xe
15567    field @Deprecated public static final int NETWORK_SELECTION_ENABLED = 0; // 0x0
15568    field @Deprecated public static final int NETWORK_SELECTION_PERMANENTLY_DISABLED = 2; // 0x2
15569    field @Deprecated public static final int NETWORK_SELECTION_TEMPORARY_DISABLED = 1; // 0x1
15570  }
15571
15572  @Deprecated public static final class WifiConfiguration.NetworkSelectionStatus.Builder {
15573    ctor @Deprecated public WifiConfiguration.NetworkSelectionStatus.Builder();
15574    method @Deprecated @NonNull public android.net.wifi.WifiConfiguration.NetworkSelectionStatus build();
15575    method @Deprecated @NonNull public android.net.wifi.WifiConfiguration.NetworkSelectionStatus.Builder setNetworkSelectionDisableReason(int);
15576    method @Deprecated @NonNull public android.net.wifi.WifiConfiguration.NetworkSelectionStatus.Builder setNetworkSelectionStatus(int);
15577  }
15578
15579  public final class WifiConnectedSessionInfo implements android.os.Parcelable {
15580    method public int describeContents();
15581    method public int getSessionId();
15582    method public boolean isUserSelected();
15583    method public void writeToParcel(@NonNull android.os.Parcel, int);
15584    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiConnectedSessionInfo> CREATOR;
15585  }
15586
15587  public static final class WifiConnectedSessionInfo.Builder {
15588    ctor public WifiConnectedSessionInfo.Builder(int);
15589    method @NonNull public android.net.wifi.WifiConnectedSessionInfo build();
15590    method @NonNull public android.net.wifi.WifiConnectedSessionInfo.Builder setUserSelected(boolean);
15591  }
15592
15593  public class WifiEnterpriseConfig implements android.os.Parcelable {
15594    method @Nullable public String[] getCaCertificateAliases();
15595    method @NonNull public String getCaPath();
15596    method @NonNull public String getClientCertificateAlias();
15597    method public int getOcsp();
15598    method @NonNull public String getWapiCertSuite();
15599    method public void setCaCertificateAliases(@Nullable String[]);
15600    method public void setCaPath(@NonNull String);
15601    method public void setClientCertificateAlias(@NonNull String);
15602    method public void setOcsp(int);
15603    method public void setWapiCertSuite(@NonNull String);
15604    field public static final int OCSP_NONE = 0; // 0x0
15605    field public static final int OCSP_REQUEST_CERT_STATUS = 1; // 0x1
15606    field public static final int OCSP_REQUIRE_ALL_NON_TRUSTED_CERTS_STATUS = 3; // 0x3
15607    field public static final int OCSP_REQUIRE_CERT_STATUS = 2; // 0x2
15608  }
15609
15610  public class WifiFrameworkInitializer {
15611    method public static void registerServiceWrappers();
15612  }
15613
15614  public class WifiInfo implements android.os.Parcelable android.net.TransportInfo {
15615    method public double getLostTxPacketsPerSecond();
15616    method @Nullable public String getNetworkKey();
15617    method @Nullable public String getRequestingPackageName();
15618    method public double getRetriedTxPacketsPerSecond();
15619    method public int getScore();
15620    method public double getSuccessfulRxPacketsPerSecond();
15621    method public double getSuccessfulTxPacketsPerSecond();
15622    method @NonNull public java.util.List<android.net.wifi.OuiKeyedData> getVendorData();
15623    method public boolean isApTidToLinkMappingNegotiationSupported();
15624    method public boolean isCarrierMerged();
15625    method public boolean isEphemeral();
15626    method public boolean isOemPaid();
15627    method public boolean isOemPrivate();
15628    method public boolean isOsuAp();
15629    method public boolean isPasspointAp();
15630    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public boolean isPrimary();
15631    method public boolean isTrusted();
15632    method @Nullable public static String sanitizeSsid(@Nullable String);
15633    method public void setVendorData(@NonNull java.util.List<android.net.wifi.OuiKeyedData>);
15634    field public static final String DEFAULT_MAC_ADDRESS = "02:00:00:00:00:00";
15635    field public static final int INVALID_RSSI = -127; // 0xffffff81
15636  }
15637
15638  public final class WifiKeystore {
15639    method @NonNull public static byte[] get(@NonNull String);
15640    method @NonNull public static String[] list(@NonNull String);
15641    method public static boolean put(@NonNull String, @NonNull byte[]);
15642    method public static boolean remove(@NonNull String);
15643  }
15644
15645  public class WifiManager {
15646    method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public void addOnWifiUsabilityStatsListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.OnWifiUsabilityStatsListener);
15647    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>>);
15648    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);
15649    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void addWifiNetworkStateChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.WifiNetworkStateChangedListener);
15650    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void addWifiVerboseLoggingStatusChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.WifiVerboseLoggingStatusChangedListener);
15651    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void allowAutojoin(int, boolean);
15652    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void allowAutojoinPasspoint(@NonNull String, boolean);
15653    method public void clearExternalPnoScanRequest();
15654    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_COUNTRY_CODE) public void clearOverrideCountryCode();
15655    method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public void clearWifiConnectedNetworkScorer();
15656    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);
15657    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);
15658    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);
15659    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK}) public void disableEphemeralNetwork(@NonNull String);
15660    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION}) public void disableMscs();
15661    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION}) public void enableMscs(@NonNull android.net.wifi.MscsParams);
15662    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void factoryReset();
15663    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);
15664    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>);
15665    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.ACCESS_COARSE_LOCATION}) public String getCountryCode();
15666    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public android.net.Network getCurrentNetwork();
15667    method public static int getEasyConnectMaxAllowedResponderDeviceInfoLength();
15668    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public String[] getFactoryMacAddresses();
15669    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>);
15670    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>);
15671    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>);
15672    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>);
15673    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>);
15674    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>);
15675    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>);
15676    method public static int getMaxNumberOfPoliciesPerQosRequest();
15677    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>);
15678    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>);
15679    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public java.util.Set<java.lang.String> getOemPrivilegedWifiAdminPackages();
15680    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();
15681    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();
15682    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public android.net.wifi.SoftApConfiguration getSoftApConfiguration();
15683    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();
15684    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[]>>);
15685    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>);
15686    method public int getVerboseLoggingLevel();
15687    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void getWifiActivityEnergyInfoAsync(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.OnWifiActivityEnergyInfoListener);
15688    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public android.net.wifi.WifiConfiguration getWifiApConfiguration();
15689    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public int getWifiApState();
15690    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>);
15691    method public boolean isApMacRandomizationSupported();
15692    method public boolean isConnectedMacRandomizationSupported();
15693    method @Deprecated public boolean isDeviceToDeviceRttSupported();
15694    method public boolean isLowLatencyModeSupported();
15695    method public boolean isPortableHotspotSupported();
15696    method public boolean isStaConcurrencyForRestrictedConnectionsSupported();
15697    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public boolean isThirdPartyAppEnablingWifiConfirmationDialogEnabled();
15698    method public boolean isVerboseLoggingEnabled();
15699    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isWifiApEnabled();
15700    method public boolean isWifiScannerSupported();
15701    method @RequiresPermission(android.Manifest.permission.MANAGE_DEVICE_ADMINS) public void notifyMinimumRequiredWifiSecurityLevelChanged(int);
15702    method @RequiresPermission(android.Manifest.permission.MANAGE_DEVICE_ADMINS) public void notifyWifiSsidPolicyChanged(@NonNull android.app.admin.WifiSsidPolicy);
15703    method public void queryD2dAllowedWhenInfraStaDisabled(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
15704    method @Nullable @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void queryLastConfiguredTetheredApPassphraseSinceBoot(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.String>);
15705    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>);
15706    method @RequiresPermission(android.Manifest.permission.ACCESS_COARSE_LOCATION) public void registerActiveCountryCodeChangedCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.ActiveCountryCodeChangedCallback);
15707    method @RequiresPermission(android.Manifest.permission.WIFI_ACCESS_COEX_UNSAFE_CHANNELS) public void registerCoexCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.CoexCallback);
15708    method @RequiresPermission(android.Manifest.permission.NEARBY_WIFI_DEVICES) public void registerLocalOnlyHotspotSoftApCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.SoftApCallback);
15709    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void registerNetworkRequestMatchCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.NetworkRequestMatchCallback);
15710    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);
15711    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void registerTrafficStateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.TrafficStateCallback);
15712    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION}) public void removeAllQosPolicies();
15713    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void removeAppState(int, @NonNull String);
15714    method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public void removeOnWifiUsabilityStatsListener(@NonNull android.net.wifi.WifiManager.OnWifiUsabilityStatsListener);
15715    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION}) public void removeQosPolicies(@NonNull int[]);
15716    method public void removeWifiLowLatencyLockListener(@NonNull android.net.wifi.WifiManager.WifiLowLatencyLockListener);
15717    method public void removeWifiNetworkStateChangedListener(@NonNull android.net.wifi.WifiManager.WifiNetworkStateChangedListener);
15718    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void removeWifiVerboseLoggingStatusChangedListener(@NonNull android.net.wifi.WifiManager.WifiVerboseLoggingStatusChangedListener);
15719    method @RequiresPermission(android.Manifest.permission.RESTART_WIFI_SUBSYSTEM) public void restartWifiSubsystem();
15720    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void restoreBackupData(@NonNull byte[]);
15721    method @Nullable @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public android.net.wifi.SoftApConfiguration restoreSoftApBackupData(@NonNull byte[]);
15722    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void restoreSupplicantBackupData(@NonNull byte[], @NonNull byte[]);
15723    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void restoreWifiBackupData(@NonNull byte[]);
15724    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public byte[] retrieveBackupData();
15725    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public byte[] retrieveSoftApBackupData();
15726    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void retrieveWifiBackupData(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<byte[]>);
15727    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);
15728    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setAutoWakeupEnabled(boolean);
15729    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void setCarrierNetworkOffloadEnabled(int, boolean, boolean);
15730    method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_COEX_UNSAFE_CHANNELS) public void setCoexUnsafeChannels(@NonNull java.util.List<android.net.wifi.CoexUnsafeChannel>, int);
15731    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void setD2dAllowedWhenInfraStaDisabled(boolean);
15732    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_COUNTRY_CODE) public void setDefaultCountryCode(@NonNull String);
15733    method @RequiresPermission(android.Manifest.permission.WIFI_SET_DEVICE_MOBILITY_STATE) public void setDeviceMobilityState(int);
15734    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);
15735    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public void setLinkLayerStatsPollingInterval(@IntRange(from=0) int);
15736    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setMacRandomizationSettingPasspointEnabled(@NonNull String, boolean);
15737    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>);
15738    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION}) public void setNetworkSelectionConfig(@NonNull android.net.wifi.WifiNetworkSelectionConfig);
15739    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION}) public void setOneShotScreenOnConnectivityScanDelayMillis(@IntRange(from=0) int);
15740    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_COUNTRY_CODE) public void setOverrideCountryCode(@NonNull String);
15741    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setPasspointMeteredOverride(@NonNull String, int);
15742    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);
15743    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setScanAlwaysAvailable(boolean);
15744    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setScanThrottleEnabled(boolean);
15745    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>);
15746    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public boolean setSoftApConfiguration(@NonNull android.net.wifi.SoftApConfiguration);
15747    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>);
15748    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public boolean setStaConcurrencyForMultiInternetMode(int);
15749    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void setThirdPartyAppEnablingWifiConfirmationDialogEnabled(boolean);
15750    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.DUMP}) public void setVerboseLoggingEnabled(boolean);
15751    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.DUMP}) public void setVerboseLoggingLevel(int);
15752    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void setWepAllowed(boolean);
15753    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_WIFI_STATE) public boolean setWifiApConfiguration(android.net.wifi.WifiConfiguration);
15754    method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public boolean setWifiConnectedNetworkScorer(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.WifiConnectedNetworkScorer);
15755    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void setWifiPasspointEnabled(boolean);
15756    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public boolean setWifiScoringEnabled(boolean);
15757    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);
15758    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);
15759    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);
15760    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);
15761    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);
15762    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void startRestrictingAutoJoinToSubscriptionId(int);
15763    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public boolean startScan(android.os.WorkSource);
15764    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);
15765    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);
15766    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public boolean startTetheredHotspot(@Nullable android.net.wifi.SoftApConfiguration);
15767    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void stopEasyConnectSession();
15768    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void stopRestrictingAutoJoinToSubscriptionId();
15769    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public boolean stopSoftAp();
15770    method public void unregisterActiveCountryCodeChangedCallback(@NonNull android.net.wifi.WifiManager.ActiveCountryCodeChangedCallback);
15771    method @RequiresPermission(android.Manifest.permission.WIFI_ACCESS_COEX_UNSAFE_CHANNELS) public void unregisterCoexCallback(@NonNull android.net.wifi.WifiManager.CoexCallback);
15772    method @RequiresPermission(android.Manifest.permission.NEARBY_WIFI_DEVICES) public void unregisterLocalOnlyHotspotSoftApCallback(@NonNull android.net.wifi.WifiManager.SoftApCallback);
15773    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void unregisterNetworkRequestMatchCallback(@NonNull android.net.wifi.WifiManager.NetworkRequestMatchCallback);
15774    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);
15775    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void unregisterTrafficStateCallback(@NonNull android.net.wifi.WifiManager.TrafficStateCallback);
15776    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void updateInterfaceIpState(@Nullable String, int);
15777    method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public void updateWifiUsabilityScore(int, int, int);
15778    field public static final String ACTION_LINK_CONFIGURATION_CHANGED = "android.net.wifi.LINK_CONFIGURATION_CHANGED";
15779    field @RequiresPermission(android.Manifest.permission.NETWORK_CARRIER_PROVISIONING) public static final String ACTION_NETWORK_SETTINGS_RESET = "android.net.wifi.action.NETWORK_SETTINGS_RESET";
15780    field public static final String ACTION_PASSPOINT_LAUNCH_OSU_VIEW = "android.net.wifi.action.PASSPOINT_LAUNCH_OSU_VIEW";
15781    field @RequiresPermission(android.Manifest.permission.NETWORK_CARRIER_PROVISIONING) public static final String ACTION_REFRESH_USER_PROVISIONING = "android.net.wifi.action.REFRESH_USER_PROVISIONING";
15782    field public static final String ACTION_REQUEST_DISABLE = "android.net.wifi.action.REQUEST_DISABLE";
15783    field public static final String ACTION_REQUEST_ENABLE = "android.net.wifi.action.REQUEST_ENABLE";
15784    field public static final int API_ADD_NETWORK = 10; // 0xa
15785    field public static final int API_ALLOW_AUTOJOIN = 12; // 0xc
15786    field public static final int API_AUTOJOIN_GLOBAL = 5; // 0x5
15787    field public static final int API_CONNECT_CONFIG = 13; // 0xd
15788    field public static final int API_CONNECT_NETWORK_ID = 14; // 0xe
15789    field public static final int API_DISABLE_NETWORK = 15; // 0xf
15790    field public static final int API_ENABLE_NETWORK = 16; // 0x10
15791    field public static final int API_FORGET = 17; // 0x11
15792    field public static final int API_P2P_CANCEL_CONNECT = 26; // 0x1a
15793    field public static final int API_P2P_CONNECT = 25; // 0x19
15794    field public static final int API_P2P_CREATE_GROUP = 27; // 0x1b
15795    field public static final int API_P2P_CREATE_GROUP_P2P_CONFIG = 28; // 0x1c
15796    field public static final int API_P2P_DISCOVER_PEERS = 21; // 0x15
15797    field public static final int API_P2P_DISCOVER_PEERS_ON_SOCIAL_CHANNELS = 22; // 0x16
15798    field public static final int API_P2P_DISCOVER_PEERS_ON_SPECIFIC_FREQUENCY = 23; // 0x17
15799    field public static final int API_P2P_DISCOVER_PEERS_WITH_CONFIG_PARAMS = 37; // 0x25
15800    field public static final int API_P2P_REMOVE_GROUP = 29; // 0x1d
15801    field public static final int API_P2P_SET_CHANNELS = 32; // 0x20
15802    field public static final int API_P2P_START_LISTENING = 30; // 0x1e
15803    field public static final int API_P2P_STOP_LISTENING = 31; // 0x1f
15804    field public static final int API_P2P_STOP_PEER_DISCOVERY = 24; // 0x18
15805    field public static final int API_SAVE = 18; // 0x12
15806    field public static final int API_SCANNING_ENABLED = 1; // 0x1
15807    field public static final int API_SET_NETWORK_SELECTION_CONFIG = 8; // 0x8
15808    field public static final int API_SET_ONE_SHOT_SCREEN_ON_CONNECTIVITY_SCAN_DELAY = 7; // 0x7
15809    field public static final int API_SET_PNO_SCAN_ENABLED = 36; // 0x24
15810    field public static final int API_SET_SCAN_SCHEDULE = 6; // 0x6
15811    field public static final int API_SET_TDLS_ENABLED = 34; // 0x22
15812    field public static final int API_SET_TDLS_ENABLED_WITH_MAC_ADDRESS = 35; // 0x23
15813    field public static final int API_SET_THIRD_PARTY_APPS_ENABLING_WIFI_CONFIRMATION_DIALOG = 9; // 0x9
15814    field public static final int API_SOFT_AP = 3; // 0x3
15815    field public static final int API_START_LOCAL_ONLY_HOTSPOT = 20; // 0x14
15816    field public static final int API_START_SCAN = 19; // 0x13
15817    field public static final int API_TETHERED_HOTSPOT = 4; // 0x4
15818    field public static final int API_UPDATE_NETWORK = 11; // 0xb
15819    field public static final int API_WIFI_ENABLED = 2; // 0x2
15820    field public static final int API_WIFI_SCANNER_START_SCAN = 33; // 0x21
15821    field public static final int CHANGE_REASON_ADDED = 0; // 0x0
15822    field public static final int CHANGE_REASON_CONFIG_CHANGE = 2; // 0x2
15823    field public static final int CHANGE_REASON_REMOVED = 1; // 0x1
15824    field public static final int COEX_RESTRICTION_SOFTAP = 2; // 0x2
15825    field public static final int COEX_RESTRICTION_WIFI_AWARE = 4; // 0x4
15826    field public static final int COEX_RESTRICTION_WIFI_DIRECT = 1; // 0x1
15827    field public static final String CONFIGURED_NETWORKS_CHANGED_ACTION = "android.net.wifi.CONFIGURED_NETWORKS_CHANGE";
15828    field public static final int DEVICE_MOBILITY_STATE_HIGH_MVMT = 1; // 0x1
15829    field public static final int DEVICE_MOBILITY_STATE_LOW_MVMT = 2; // 0x2
15830    field public static final int DEVICE_MOBILITY_STATE_STATIONARY = 3; // 0x3
15831    field public static final int DEVICE_MOBILITY_STATE_UNKNOWN = 0; // 0x0
15832    field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_BRAINPOOLP256R1 = 3; // 0x3
15833    field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_BRAINPOOLP384R1 = 4; // 0x4
15834    field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_BRAINPOOLP512R1 = 5; // 0x5
15835    field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_PRIME256V1 = 0; // 0x0
15836    field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_SECP384R1 = 1; // 0x1
15837    field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_SECP521R1 = 2; // 0x2
15838    field public static final int EASY_CONNECT_NETWORK_ROLE_AP = 1; // 0x1
15839    field public static final int EASY_CONNECT_NETWORK_ROLE_STA = 0; // 0x0
15840    field public static final String EXTRA_CHANGE_REASON = "changeReason";
15841    field @Deprecated public static final String EXTRA_LINK_PROPERTIES = "android.net.wifi.extra.LINK_PROPERTIES";
15842    field @Deprecated public static final String EXTRA_MULTIPLE_NETWORKS_CHANGED = "multipleChanges";
15843    field public static final String EXTRA_OSU_NETWORK = "android.net.wifi.extra.OSU_NETWORK";
15844    field public static final String EXTRA_PREVIOUS_WIFI_AP_STATE = "previous_wifi_state";
15845    field public static final String EXTRA_URL = "android.net.wifi.extra.URL";
15846    field public static final String EXTRA_WIFI_AP_FAILURE_REASON = "android.net.wifi.extra.WIFI_AP_FAILURE_REASON";
15847    field public static final String EXTRA_WIFI_AP_INTERFACE_NAME = "android.net.wifi.extra.WIFI_AP_INTERFACE_NAME";
15848    field public static final String EXTRA_WIFI_AP_MODE = "android.net.wifi.extra.WIFI_AP_MODE";
15849    field public static final String EXTRA_WIFI_AP_STATE = "wifi_state";
15850    field @Deprecated public static final String EXTRA_WIFI_CONFIGURATION = "wifiConfiguration";
15851    field public static final String EXTRA_WIFI_CREDENTIAL_EVENT_TYPE = "et";
15852    field public static final String EXTRA_WIFI_CREDENTIAL_SSID = "ssid";
15853    field public static final int IFACE_IP_MODE_CONFIGURATION_ERROR = 0; // 0x0
15854    field public static final int IFACE_IP_MODE_LOCAL_ONLY = 2; // 0x2
15855    field public static final int IFACE_IP_MODE_TETHERED = 1; // 0x1
15856    field public static final int IFACE_IP_MODE_UNSPECIFIED = -1; // 0xffffffff
15857    field public static final int MLO_MODE_DEFAULT = 0; // 0x0
15858    field public static final int MLO_MODE_HIGH_THROUGHPUT = 2; // 0x2
15859    field public static final int MLO_MODE_LOW_LATENCY = 1; // 0x1
15860    field public static final int MLO_MODE_LOW_POWER = 3; // 0x3
15861    field public static final int PASSPOINT_HOME_NETWORK = 0; // 0x0
15862    field public static final int PASSPOINT_ROAMING_NETWORK = 1; // 0x1
15863    field public static final int PNO_SCAN_STATE_DISABLED_UNTIL_REBOOT = 0; // 0x0
15864    field public static final int PNO_SCAN_STATE_DISABLED_UNTIL_WIFI_TOGGLE = 1; // 0x1
15865    field public static final int PNO_SCAN_STATE_ENABLED = 2; // 0x2
15866    field public static final int QOS_REQUEST_STATUS_ALREADY_ACTIVE = 1; // 0x1
15867    field public static final int QOS_REQUEST_STATUS_FAILURE_UNKNOWN = 4; // 0x4
15868    field public static final int QOS_REQUEST_STATUS_INSUFFICIENT_RESOURCES = 2; // 0x2
15869    field public static final int QOS_REQUEST_STATUS_INVALID_PARAMETERS = 3; // 0x3
15870    field public static final int QOS_REQUEST_STATUS_TRACKING = 0; // 0x0
15871    field public static final int SAP_CLIENT_BLOCK_REASON_CODE_BLOCKED_BY_USER = 0; // 0x0
15872    field public static final int SAP_CLIENT_BLOCK_REASON_CODE_NO_MORE_STAS = 1; // 0x1
15873    field public static final int SAP_START_FAILURE_GENERAL = 0; // 0x0
15874    field public static final int SAP_START_FAILURE_NO_CHANNEL = 1; // 0x1
15875    field public static final int SAP_START_FAILURE_UNSUPPORTED_CONFIGURATION = 2; // 0x2
15876    field public static final int SAP_START_FAILURE_USER_REJECTED = 3; // 0x3
15877    field public static final String TWT_CAPABILITIES_KEY_BOOLEAN_TWT_REQUESTER = "key_requester";
15878    field public static final String TWT_CAPABILITIES_KEY_INT_MAX_WAKE_DURATION_MICROS = "key_max_wake_duration";
15879    field public static final String TWT_CAPABILITIES_KEY_INT_MIN_WAKE_DURATION_MICROS = "key_min_wake_duration";
15880    field public static final String TWT_CAPABILITIES_KEY_LONG_MAX_WAKE_INTERVAL_MICROS = "key_max_wake_interval";
15881    field public static final String TWT_CAPABILITIES_KEY_LONG_MIN_WAKE_INTERVAL_MICROS = "key_min_wake_interval";
15882    field public static final int VERBOSE_LOGGING_LEVEL_DISABLED = 0; // 0x0
15883    field public static final int VERBOSE_LOGGING_LEVEL_ENABLED = 1; // 0x1
15884    field public static final int VERBOSE_LOGGING_LEVEL_ENABLED_SHOW_KEY = 2; // 0x2
15885    field public static final int VERBOSE_LOGGING_LEVEL_WIFI_AWARE_ENABLED_ONLY = 3; // 0x3
15886    field @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public static final String WIFI_AP_STATE_CHANGED_ACTION = "android.net.wifi.WIFI_AP_STATE_CHANGED";
15887    field public static final int WIFI_AP_STATE_DISABLED = 11; // 0xb
15888    field public static final int WIFI_AP_STATE_DISABLING = 10; // 0xa
15889    field public static final int WIFI_AP_STATE_ENABLED = 13; // 0xd
15890    field public static final int WIFI_AP_STATE_ENABLING = 12; // 0xc
15891    field public static final int WIFI_AP_STATE_FAILED = 14; // 0xe
15892    field public static final String WIFI_CREDENTIAL_CHANGED_ACTION = "android.net.wifi.WIFI_CREDENTIAL_CHANGED";
15893    field public static final int WIFI_CREDENTIAL_FORGOT = 1; // 0x1
15894    field public static final int WIFI_CREDENTIAL_SAVED = 0; // 0x0
15895  }
15896
15897  public static interface WifiManager.ActionListener {
15898    method public void onFailure(int);
15899    method public void onSuccess();
15900    field public static final int FAILURE_BUSY = 2; // 0x2
15901    field public static final int FAILURE_INTERNAL_ERROR = 0; // 0x0
15902    field public static final int FAILURE_INVALID_ARGS = 3; // 0x3
15903    field public static final int FAILURE_IN_PROGRESS = 1; // 0x1
15904    field public static final int FAILURE_NOT_AUTHORIZED = 4; // 0x4
15905  }
15906
15907  public static interface WifiManager.ActiveCountryCodeChangedCallback {
15908    method public void onActiveCountryCodeChanged(@NonNull String);
15909    method public void onCountryCodeInactive();
15910  }
15911
15912  public abstract static class WifiManager.CoexCallback {
15913    ctor public WifiManager.CoexCallback();
15914    method public abstract void onCoexUnsafeChannelsChanged(@NonNull java.util.List<android.net.wifi.CoexUnsafeChannel>, int);
15915  }
15916
15917  public static interface WifiManager.NetworkRequestMatchCallback {
15918    method public default void onAbort();
15919    method public default void onMatch(@NonNull java.util.List<android.net.wifi.ScanResult>);
15920    method public default void onUserSelectionCallbackRegistration(@NonNull android.net.wifi.WifiManager.NetworkRequestUserSelectionCallback);
15921    method public default void onUserSelectionConnectFailure(@NonNull android.net.wifi.WifiConfiguration);
15922    method public default void onUserSelectionConnectSuccess(@NonNull android.net.wifi.WifiConfiguration);
15923  }
15924
15925  public static interface WifiManager.NetworkRequestUserSelectionCallback {
15926    method public default void reject();
15927    method public default void select(@NonNull android.net.wifi.WifiConfiguration);
15928  }
15929
15930  public static interface WifiManager.OnWifiActivityEnergyInfoListener {
15931    method public void onWifiActivityEnergyInfo(@Nullable android.os.connectivity.WifiActivityEnergyInfo);
15932  }
15933
15934  public static interface WifiManager.OnWifiUsabilityStatsListener {
15935    method public void onWifiUsabilityStats(int, boolean, @NonNull android.net.wifi.WifiUsabilityStatsEntry);
15936  }
15937
15938  public static interface WifiManager.PnoScanResultsCallback {
15939    method public void onRegisterFailed(int);
15940    method public void onRegisterSuccess();
15941    method public void onRemoved(int);
15942    method public void onScanResultsAvailable(@NonNull java.util.List<android.net.wifi.ScanResult>);
15943    field public static final int REGISTER_PNO_CALLBACK_ALREADY_REGISTERED = 1; // 0x1
15944    field public static final int REGISTER_PNO_CALLBACK_PNO_NOT_SUPPORTED = 3; // 0x3
15945    field public static final int REGISTER_PNO_CALLBACK_RESOURCE_BUSY = 2; // 0x2
15946    field public static final int REGISTER_PNO_CALLBACK_UNKNOWN = 0; // 0x0
15947    field public static final int REMOVE_PNO_CALLBACK_RESULTS_DELIVERED = 1; // 0x1
15948    field public static final int REMOVE_PNO_CALLBACK_UNKNOWN = 0; // 0x0
15949    field public static final int REMOVE_PNO_CALLBACK_UNREGISTERED = 2; // 0x2
15950  }
15951
15952  public static interface WifiManager.ScoreUpdateObserver {
15953    method public default void blocklistCurrentBssid(int);
15954    method public void notifyScoreUpdate(int, int);
15955    method public default void notifyStatusUpdate(int, boolean);
15956    method public default void requestNudOperation(int);
15957    method public void triggerUpdateOfWifiUsabilityStats(int);
15958  }
15959
15960  public static class WifiManager.ScreenOnScanSchedule {
15961    ctor public WifiManager.ScreenOnScanSchedule(@NonNull java.time.Duration, int);
15962    method @NonNull public java.time.Duration getScanInterval();
15963    method public int getScanType();
15964  }
15965
15966  public static interface WifiManager.SoftApCallback {
15967    method public default void onBlockedClientConnecting(@NonNull android.net.wifi.WifiClient, int);
15968    method public default void onCapabilityChanged(@NonNull android.net.wifi.SoftApCapability);
15969    method public default void onConnectedClientsChanged(@NonNull android.net.wifi.SoftApInfo, @NonNull java.util.List<android.net.wifi.WifiClient>);
15970    method @Deprecated public default void onConnectedClientsChanged(@NonNull java.util.List<android.net.wifi.WifiClient>);
15971    method @Deprecated public default void onInfoChanged(@NonNull android.net.wifi.SoftApInfo);
15972    method public default void onInfoChanged(@NonNull java.util.List<android.net.wifi.SoftApInfo>);
15973    method public default void onStateChanged(@NonNull android.net.wifi.SoftApState);
15974    method public default void onStateChanged(int, int);
15975  }
15976
15977  public static interface WifiManager.TrafficStateCallback {
15978    method public void onStateChanged(int);
15979    field public static final int DATA_ACTIVITY_IN = 1; // 0x1
15980    field public static final int DATA_ACTIVITY_INOUT = 3; // 0x3
15981    field public static final int DATA_ACTIVITY_NONE = 0; // 0x0
15982    field public static final int DATA_ACTIVITY_OUT = 2; // 0x2
15983  }
15984
15985  public static interface WifiManager.WifiConnectedNetworkScorer {
15986    method public default void onNetworkSwitchAccepted(int, int, @NonNull String);
15987    method public default void onNetworkSwitchRejected(int, int, @NonNull String);
15988    method public void onSetScoreUpdateObserver(@NonNull android.net.wifi.WifiManager.ScoreUpdateObserver);
15989    method public default void onStart(@NonNull android.net.wifi.WifiConnectedSessionInfo);
15990    method @Deprecated public default void onStart(int);
15991    method public void onStop(int);
15992  }
15993
15994  public static interface WifiManager.WifiLowLatencyLockListener {
15995    method public void onActivatedStateChanged(boolean);
15996    method public default void onActiveUsersChanged(@NonNull int[]);
15997    method public default void onOwnershipChanged(@NonNull int[]);
15998  }
15999
16000  public static interface WifiManager.WifiNetworkStateChangedListener {
16001    method public void onWifiNetworkStateChanged(int, int);
16002    field public static final int WIFI_NETWORK_STATUS_AUTHENTICATING = 4; // 0x4
16003    field public static final int WIFI_NETWORK_STATUS_CONNECTED = 6; // 0x6
16004    field public static final int WIFI_NETWORK_STATUS_CONNECTING = 3; // 0x3
16005    field public static final int WIFI_NETWORK_STATUS_DISCONNECTED = 7; // 0x7
16006    field public static final int WIFI_NETWORK_STATUS_FAILED = 8; // 0x8
16007    field public static final int WIFI_NETWORK_STATUS_IDLE = 1; // 0x1
16008    field public static final int WIFI_NETWORK_STATUS_OBTAINING_IPADDR = 5; // 0x5
16009    field public static final int WIFI_NETWORK_STATUS_SCANNING = 2; // 0x2
16010    field public static final int WIFI_ROLE_CLIENT_PRIMARY = 1; // 0x1
16011    field public static final int WIFI_ROLE_CLIENT_SECONDARY_INTERNET = 2; // 0x2
16012    field public static final int WIFI_ROLE_CLIENT_SECONDARY_LOCAL_ONLY = 3; // 0x3
16013  }
16014
16015  public static interface WifiManager.WifiVerboseLoggingStatusChangedListener {
16016    method public void onWifiVerboseLoggingStatusChanged(boolean);
16017  }
16018
16019  public final class WifiMigration {
16020    method @Nullable public static java.io.InputStream convertAndRetrieveSharedConfigStoreFile(int);
16021    method @Nullable public static java.io.InputStream convertAndRetrieveUserConfigStoreFile(int, @NonNull android.os.UserHandle);
16022    method @NonNull public static android.net.wifi.WifiMigration.SettingsMigrationData loadFromSettings(@NonNull android.content.Context);
16023    method public static void removeSharedConfigStoreFile(int);
16024    method public static void removeUserConfigStoreFile(int, @NonNull android.os.UserHandle);
16025    field public static final int STORE_FILE_SHARED_GENERAL = 0; // 0x0
16026    field public static final int STORE_FILE_SHARED_SOFTAP = 1; // 0x1
16027    field public static final int STORE_FILE_USER_GENERAL = 2; // 0x2
16028    field public static final int STORE_FILE_USER_NETWORK_SUGGESTIONS = 3; // 0x3
16029  }
16030
16031  public static final class WifiMigration.SettingsMigrationData implements android.os.Parcelable {
16032    method public int describeContents();
16033    method @Nullable public String getP2pDeviceName();
16034    method public boolean isP2pFactoryResetPending();
16035    method public boolean isScanAlwaysAvailable();
16036    method public boolean isScanThrottleEnabled();
16037    method public boolean isSoftApTimeoutEnabled();
16038    method public boolean isVerboseLoggingEnabled();
16039    method public boolean isWakeUpEnabled();
16040    method public void writeToParcel(@NonNull android.os.Parcel, int);
16041    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiMigration.SettingsMigrationData> CREATOR;
16042  }
16043
16044  public static final class WifiMigration.SettingsMigrationData.Builder {
16045    ctor public WifiMigration.SettingsMigrationData.Builder();
16046    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData build();
16047    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setP2pDeviceName(@Nullable String);
16048    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setP2pFactoryResetPending(boolean);
16049    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setScanAlwaysAvailable(boolean);
16050    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setScanThrottleEnabled(boolean);
16051    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setSoftApTimeoutEnabled(boolean);
16052    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setVerboseLoggingEnabled(boolean);
16053    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setWakeUpEnabled(boolean);
16054  }
16055
16056  @Deprecated public class WifiNetworkConnectionStatistics implements android.os.Parcelable {
16057    ctor @Deprecated public WifiNetworkConnectionStatistics();
16058    ctor @Deprecated public WifiNetworkConnectionStatistics(android.net.wifi.WifiNetworkConnectionStatistics);
16059    ctor @Deprecated public WifiNetworkConnectionStatistics(int, int);
16060    method @Deprecated public int describeContents();
16061    method @Deprecated public void writeToParcel(android.os.Parcel, int);
16062    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiNetworkConnectionStatistics> CREATOR;
16063    field @Deprecated public int numConnection;
16064    field @Deprecated public int numUsage;
16065  }
16066
16067  public final class WifiNetworkSelectionConfig implements android.os.Parcelable {
16068    method public int describeContents();
16069    method public int getAssociatedNetworkSelectionOverride();
16070    method @NonNull public android.util.SparseArray<java.lang.Integer> getFrequencyWeights();
16071    method @NonNull public int[] getRssiThresholds(int);
16072    method public boolean isLastSelectionWeightEnabled();
16073    method public boolean isSufficiencyCheckEnabledWhenScreenOff();
16074    method public boolean isSufficiencyCheckEnabledWhenScreenOn();
16075    method public boolean isUserConnectChoiceOverrideEnabled();
16076    method public void writeToParcel(@NonNull android.os.Parcel, int);
16077    field public static final int ASSOCIATED_NETWORK_SELECTION_OVERRIDE_DISABLED = 2; // 0x2
16078    field public static final int ASSOCIATED_NETWORK_SELECTION_OVERRIDE_ENABLED = 1; // 0x1
16079    field public static final int ASSOCIATED_NETWORK_SELECTION_OVERRIDE_NONE = 0; // 0x0
16080    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiNetworkSelectionConfig> CREATOR;
16081    field public static final int FREQUENCY_WEIGHT_HIGH = 1; // 0x1
16082    field public static final int FREQUENCY_WEIGHT_LOW = 0; // 0x0
16083  }
16084
16085  public static final class WifiNetworkSelectionConfig.Builder {
16086    ctor public WifiNetworkSelectionConfig.Builder();
16087    ctor public WifiNetworkSelectionConfig.Builder(@NonNull android.net.wifi.WifiNetworkSelectionConfig);
16088    method @NonNull public android.net.wifi.WifiNetworkSelectionConfig build();
16089    method @NonNull public android.net.wifi.WifiNetworkSelectionConfig.Builder setAssociatedNetworkSelectionOverride(int) throws java.lang.IllegalArgumentException;
16090    method @NonNull public android.net.wifi.WifiNetworkSelectionConfig.Builder setFrequencyWeights(@NonNull android.util.SparseArray<java.lang.Integer>) throws java.lang.IllegalArgumentException;
16091    method @NonNull public android.net.wifi.WifiNetworkSelectionConfig.Builder setLastSelectionWeightEnabled(boolean);
16092    method @NonNull public android.net.wifi.WifiNetworkSelectionConfig.Builder setRssiThresholds(int, @NonNull int[]) throws java.lang.IllegalArgumentException;
16093    method @NonNull public android.net.wifi.WifiNetworkSelectionConfig.Builder setSufficiencyCheckEnabledWhenScreenOff(boolean);
16094    method @NonNull public android.net.wifi.WifiNetworkSelectionConfig.Builder setSufficiencyCheckEnabledWhenScreenOn(boolean);
16095    method @NonNull public android.net.wifi.WifiNetworkSelectionConfig.Builder setUserConnectChoiceOverrideEnabled(boolean);
16096  }
16097
16098  public final class WifiNetworkSuggestion implements android.os.Parcelable {
16099    method public int getCarrierId();
16100    method @NonNull public android.net.wifi.WifiConfiguration getWifiConfiguration();
16101    method public boolean isOemPaid();
16102    method public boolean isOemPrivate();
16103  }
16104
16105  public static final class WifiNetworkSuggestion.Builder {
16106    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_CARRIER_PROVISIONING) public android.net.wifi.WifiNetworkSuggestion.Builder setCarrierId(int);
16107    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setOemPaid(boolean);
16108    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setOemPrivate(boolean);
16109  }
16110
16111  public class WifiScanner {
16112    method @Deprecated public void configureWifiChange(android.net.wifi.WifiScanner.WifiChangeSettings);
16113    method @Deprecated public void configureWifiChange(int, int, int, int, int, android.net.wifi.WifiScanner.BssidInfo[]);
16114    method @NonNull @RequiresPermission(android.Manifest.permission.NEARBY_WIFI_DEVICES) public java.util.List<java.lang.Integer> getAvailableChannels(int);
16115    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>);
16116    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public boolean getScanResults();
16117    method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public java.util.List<android.net.wifi.ScanResult> getSingleScanResults();
16118    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public boolean isScanning();
16119    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);
16120    method @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public void setScanningEnabled(boolean);
16121    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startBackgroundScan(android.net.wifi.WifiScanner.ScanSettings, android.net.wifi.WifiScanner.ScanListener);
16122    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startBackgroundScan(android.net.wifi.WifiScanner.ScanSettings, android.net.wifi.WifiScanner.ScanListener, android.os.WorkSource);
16123    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startScan(android.net.wifi.WifiScanner.ScanSettings, android.net.wifi.WifiScanner.ScanListener);
16124    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startScan(android.net.wifi.WifiScanner.ScanSettings, android.net.wifi.WifiScanner.ScanListener, android.os.WorkSource);
16125    method @Deprecated public void startTrackingBssids(android.net.wifi.WifiScanner.BssidInfo[], int, android.net.wifi.WifiScanner.BssidListener);
16126    method @Deprecated public void startTrackingWifiChange(android.net.wifi.WifiScanner.WifiChangeListener);
16127    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void stopBackgroundScan(android.net.wifi.WifiScanner.ScanListener);
16128    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void stopScan(android.net.wifi.WifiScanner.ScanListener);
16129    method @Deprecated public void stopTrackingBssids(android.net.wifi.WifiScanner.BssidListener);
16130    method @Deprecated public void stopTrackingWifiChange(android.net.wifi.WifiScanner.WifiChangeListener);
16131    method public void unregisterScanListener(@NonNull android.net.wifi.WifiScanner.ScanListener);
16132    field public static final int MAX_SCAN_PERIOD_MS = 1024000; // 0xfa000
16133    field public static final int MIN_SCAN_PERIOD_MS = 1000; // 0x3e8
16134    field public static final int REASON_ABORT = -7; // 0xfffffff9
16135    field public static final int REASON_BUSY = -6; // 0xfffffffa
16136    field public static final int REASON_DUPLICATE_REQEUST = -5; // 0xfffffffb
16137    field public static final int REASON_INVALID_ARGS = -9; // 0xfffffff7
16138    field public static final int REASON_INVALID_LISTENER = -2; // 0xfffffffe
16139    field public static final int REASON_INVALID_REQUEST = -3; // 0xfffffffd
16140    field public static final int REASON_NOT_AUTHORIZED = -4; // 0xfffffffc
16141    field public static final int REASON_NO_DEVICE = -8; // 0xfffffff8
16142    field public static final int REASON_SUCCEEDED = 0; // 0x0
16143    field public static final int REASON_TIMEOUT = -10; // 0xfffffff6
16144    field public static final int REASON_UNSPECIFIED = -1; // 0xffffffff
16145    field @Deprecated public static final int REPORT_EVENT_AFTER_BUFFER_FULL = 0; // 0x0
16146    field public static final int REPORT_EVENT_AFTER_EACH_SCAN = 1; // 0x1
16147    field public static final int REPORT_EVENT_FULL_SCAN_RESULT = 2; // 0x2
16148    field public static final int REPORT_EVENT_NO_BATCH = 4; // 0x4
16149    field public static final int SCAN_TYPE_HIGH_ACCURACY = 2; // 0x2
16150    field public static final int SCAN_TYPE_LOW_LATENCY = 0; // 0x0
16151    field public static final int SCAN_TYPE_LOW_POWER = 1; // 0x1
16152    field public static final int WIFI_BAND_24_5_6_GHZ = 11; // 0xb
16153    field public static final int WIFI_BAND_24_5_WITH_DFS_6_GHZ = 15; // 0xf
16154    field public static final int WIFI_BAND_24_GHZ = 1; // 0x1
16155    field public static final int WIFI_BAND_5_GHZ = 2; // 0x2
16156    field public static final int WIFI_BAND_5_GHZ_DFS_ONLY = 4; // 0x4
16157    field public static final int WIFI_BAND_5_GHZ_WITH_DFS = 6; // 0x6
16158    field public static final int WIFI_BAND_60_GHZ = 16; // 0x10
16159    field public static final int WIFI_BAND_6_GHZ = 8; // 0x8
16160    field public static final int WIFI_BAND_BOTH = 3; // 0x3
16161    field public static final int WIFI_BAND_BOTH_WITH_DFS = 7; // 0x7
16162    field public static final int WIFI_BAND_UNSPECIFIED = 0; // 0x0
16163    field public static final int WIFI_RNR_ENABLED = 1; // 0x1
16164    field public static final int WIFI_RNR_ENABLED_IF_WIFI_BAND_6_GHZ_SCANNED = 0; // 0x0
16165    field public static final int WIFI_RNR_NOT_NEEDED = 2; // 0x2
16166  }
16167
16168  public static interface WifiScanner.ActionListener {
16169    method public void onFailure(int, String);
16170    method public void onSuccess();
16171  }
16172
16173  @Deprecated public static class WifiScanner.BssidInfo {
16174    ctor @Deprecated public WifiScanner.BssidInfo();
16175    field @Deprecated public String bssid;
16176    field @Deprecated public int frequencyHint;
16177    field @Deprecated public int high;
16178    field @Deprecated public int low;
16179  }
16180
16181  @Deprecated public static interface WifiScanner.BssidListener extends android.net.wifi.WifiScanner.ActionListener {
16182    method @Deprecated public void onFound(android.net.wifi.ScanResult[]);
16183    method @Deprecated public void onLost(android.net.wifi.ScanResult[]);
16184  }
16185
16186  public static class WifiScanner.ChannelSpec {
16187    ctor public WifiScanner.ChannelSpec(int);
16188    field public int frequency;
16189  }
16190
16191  @Deprecated public static class WifiScanner.HotlistSettings implements android.os.Parcelable {
16192    ctor @Deprecated public WifiScanner.HotlistSettings();
16193    method @Deprecated public int describeContents();
16194    method @Deprecated public void writeToParcel(android.os.Parcel, int);
16195    field @Deprecated public int apLostThreshold;
16196    field @Deprecated public android.net.wifi.WifiScanner.BssidInfo[] bssidInfos;
16197  }
16198
16199  public static class WifiScanner.ParcelableScanData implements android.os.Parcelable {
16200    ctor public WifiScanner.ParcelableScanData(android.net.wifi.WifiScanner.ScanData[]);
16201    method public int describeContents();
16202    method public android.net.wifi.WifiScanner.ScanData[] getResults();
16203    method public void writeToParcel(android.os.Parcel, int);
16204    field public android.net.wifi.WifiScanner.ScanData[] mResults;
16205  }
16206
16207  public static class WifiScanner.ParcelableScanResults implements android.os.Parcelable {
16208    ctor public WifiScanner.ParcelableScanResults(android.net.wifi.ScanResult[]);
16209    method public int describeContents();
16210    method public android.net.wifi.ScanResult[] getResults();
16211    method public void writeToParcel(android.os.Parcel, int);
16212    field public android.net.wifi.ScanResult[] mResults;
16213  }
16214
16215  public static class WifiScanner.ScanData implements android.os.Parcelable {
16216    ctor public WifiScanner.ScanData(android.net.wifi.WifiScanner.ScanData);
16217    ctor public WifiScanner.ScanData(int, int, android.net.wifi.ScanResult[]);
16218    method public int describeContents();
16219    method public int getFlags();
16220    method public int getId();
16221    method public android.net.wifi.ScanResult[] getResults();
16222    method public int getScannedBands();
16223    method public void writeToParcel(android.os.Parcel, int);
16224  }
16225
16226  public static interface WifiScanner.ScanListener extends android.net.wifi.WifiScanner.ActionListener {
16227    method public void onFullResult(android.net.wifi.ScanResult);
16228    method @Deprecated public void onPeriodChanged(int);
16229    method public void onResults(android.net.wifi.WifiScanner.ScanData[]);
16230  }
16231
16232  public static class WifiScanner.ScanSettings implements android.os.Parcelable {
16233    ctor public WifiScanner.ScanSettings();
16234    method public int describeContents();
16235    method public int getRnrSetting();
16236    method @NonNull public java.util.List<android.net.wifi.ScanResult.InformationElement> getVendorIes();
16237    method public boolean is6GhzPscOnlyEnabled();
16238    method public void set6GhzPscOnlyEnabled(boolean);
16239    method public void setRnrSetting(int);
16240    method public void setVendorIes(@NonNull java.util.List<android.net.wifi.ScanResult.InformationElement>);
16241    method public void writeToParcel(android.os.Parcel, int);
16242    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiScanner.ScanSettings> CREATOR;
16243    field public int band;
16244    field public android.net.wifi.WifiScanner.ChannelSpec[] channels;
16245    field @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public final java.util.List<android.net.wifi.WifiScanner.ScanSettings.HiddenNetwork> hiddenNetworks;
16246    field public boolean hideFromAppOps;
16247    field public boolean ignoreLocationSettings;
16248    field @Deprecated public int maxPeriodInMs;
16249    field @Deprecated public int maxScansToCache;
16250    field @Deprecated public int numBssidsPerScan;
16251    field @Deprecated public int periodInMs;
16252    field @Deprecated public int reportEvents;
16253    field @Deprecated public int stepCount;
16254    field @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public int type;
16255  }
16256
16257  public static class WifiScanner.ScanSettings.HiddenNetwork {
16258    ctor public WifiScanner.ScanSettings.HiddenNetwork(@NonNull String);
16259    field @NonNull public final String ssid;
16260  }
16261
16262  @Deprecated public static interface WifiScanner.WifiChangeListener extends android.net.wifi.WifiScanner.ActionListener {
16263    method @Deprecated public void onChanging(android.net.wifi.ScanResult[]);
16264    method @Deprecated public void onQuiescence(android.net.wifi.ScanResult[]);
16265  }
16266
16267  @Deprecated public static class WifiScanner.WifiChangeSettings implements android.os.Parcelable {
16268    ctor @Deprecated public WifiScanner.WifiChangeSettings();
16269    method @Deprecated public int describeContents();
16270    method @Deprecated public void writeToParcel(android.os.Parcel, int);
16271    field @Deprecated public android.net.wifi.WifiScanner.BssidInfo[] bssidInfos;
16272    field @Deprecated public int lostApSampleSize;
16273    field @Deprecated public int minApsBreachingThreshold;
16274    field @Deprecated public int periodInMs;
16275    field @Deprecated public int rssiSampleSize;
16276    field @Deprecated public int unchangedSampleSize;
16277  }
16278
16279  public class WifiUriParser {
16280    method @NonNull public static android.net.wifi.UriParserResults parseUri(@NonNull String);
16281  }
16282
16283  public final class WifiUsabilityStatsEntry implements android.os.Parcelable {
16284    method public int describeContents();
16285    method public int getCellularDataNetworkType();
16286    method public int getCellularSignalStrengthDb();
16287    method public int getCellularSignalStrengthDbm();
16288    method @IntRange(from=0xffffffff, to=255) public int getChannelUtilizationRatio();
16289    method @NonNull public android.net.wifi.WifiUsabilityStatsEntry.ContentionTimeStats getContentionTimeStats(int);
16290    method @NonNull public android.net.wifi.WifiUsabilityStatsEntry.ContentionTimeStats getContentionTimeStats(int, int);
16291    method @Nullable public int[] getLinkIds();
16292    method public int getLinkSpeedMbps();
16293    method public int getLinkState(int);
16294    method public int getProbeElapsedTimeSinceLastUpdateMillis();
16295    method public int getProbeMcsRateSinceLastUpdate();
16296    method public int getProbeStatusSinceLastUpdate();
16297    method public long getRadioId(int);
16298    method @NonNull public java.util.List<android.net.wifi.WifiUsabilityStatsEntry.RateStats> getRateStats();
16299    method @NonNull public java.util.List<android.net.wifi.WifiUsabilityStatsEntry.RateStats> getRateStats(int);
16300    method public int getRssi();
16301    method public int getRssi(int);
16302    method public int getRxLinkSpeedMbps();
16303    method public int getRxLinkSpeedMbps(int);
16304    method @IntRange(from=0, to=100) public int getTimeSliceDutyCycleInPercent();
16305    method @IntRange(from=0, to=100) public int getTimeSliceDutyCycleInPercent(int);
16306    method public long getTimeStampMillis();
16307    method public long getTotalBackgroundScanTimeMillis();
16308    method public long getTotalBeaconRx();
16309    method public long getTotalBeaconRx(int);
16310    method public long getTotalCcaBusyFreqTimeMillis();
16311    method public long getTotalCcaBusyFreqTimeMillis(int);
16312    method public long getTotalHotspot2ScanTimeMillis();
16313    method public long getTotalNanScanTimeMillis();
16314    method public long getTotalPnoScanTimeMillis();
16315    method public long getTotalRadioOnFreqTimeMillis();
16316    method public long getTotalRadioOnFreqTimeMillis(int);
16317    method public long getTotalRadioOnTimeMillis();
16318    method public long getTotalRadioRxTimeMillis();
16319    method public long getTotalRadioTxTimeMillis();
16320    method public long getTotalRoamScanTimeMillis();
16321    method public long getTotalRxSuccess();
16322    method public long getTotalRxSuccess(int);
16323    method public long getTotalScanTimeMillis();
16324    method public long getTotalTxBad();
16325    method public long getTotalTxBad(int);
16326    method public long getTotalTxRetries();
16327    method public long getTotalTxRetries(int);
16328    method public long getTotalTxSuccess();
16329    method public long getTotalTxSuccess(int);
16330    method public int getTxLinkSpeedMbps(int);
16331    method @NonNull public java.util.List<android.net.wifi.WifiUsabilityStatsEntry.RadioStats> getWifiLinkLayerRadioStats();
16332    method public boolean isCellularDataAvailable();
16333    method public boolean isSameRegisteredCell();
16334    method public boolean isThroughputSufficient();
16335    method public boolean isWifiScoringEnabled();
16336    method public void writeToParcel(android.os.Parcel, int);
16337    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiUsabilityStatsEntry> CREATOR;
16338    field public static final int LINK_STATE_IN_USE = 2; // 0x2
16339    field public static final int LINK_STATE_NOT_IN_USE = 1; // 0x1
16340    field public static final int LINK_STATE_UNKNOWN = 0; // 0x0
16341    field public static final int NUM_WME_ACCESS_CATEGORIES = 4; // 0x4
16342    field public static final int PROBE_STATUS_FAILURE = 3; // 0x3
16343    field public static final int PROBE_STATUS_NO_PROBE = 1; // 0x1
16344    field public static final int PROBE_STATUS_SUCCESS = 2; // 0x2
16345    field public static final int PROBE_STATUS_UNKNOWN = 0; // 0x0
16346    field public static final int WIFI_BANDWIDTH_10_MHZ = 6; // 0x6
16347    field public static final int WIFI_BANDWIDTH_160_MHZ = 3; // 0x3
16348    field public static final int WIFI_BANDWIDTH_20_MHZ = 0; // 0x0
16349    field public static final int WIFI_BANDWIDTH_320_MHZ = 7; // 0x7
16350    field public static final int WIFI_BANDWIDTH_40_MHZ = 1; // 0x1
16351    field public static final int WIFI_BANDWIDTH_5_MHZ = 5; // 0x5
16352    field public static final int WIFI_BANDWIDTH_80P80_MHZ = 4; // 0x4
16353    field public static final int WIFI_BANDWIDTH_80_MHZ = 2; // 0x2
16354    field public static final int WIFI_BANDWIDTH_INVALID = -1; // 0xffffffff
16355    field public static final int WIFI_PREAMBLE_CCK = 1; // 0x1
16356    field public static final int WIFI_PREAMBLE_EHT = 6; // 0x6
16357    field public static final int WIFI_PREAMBLE_HE = 5; // 0x5
16358    field public static final int WIFI_PREAMBLE_HT = 2; // 0x2
16359    field public static final int WIFI_PREAMBLE_INVALID = -1; // 0xffffffff
16360    field public static final int WIFI_PREAMBLE_OFDM = 0; // 0x0
16361    field public static final int WIFI_PREAMBLE_VHT = 3; // 0x3
16362    field public static final int WIFI_SPATIAL_STREAMS_FOUR = 4; // 0x4
16363    field public static final int WIFI_SPATIAL_STREAMS_INVALID = -1; // 0xffffffff
16364    field public static final int WIFI_SPATIAL_STREAMS_ONE = 1; // 0x1
16365    field public static final int WIFI_SPATIAL_STREAMS_THREE = 3; // 0x3
16366    field public static final int WIFI_SPATIAL_STREAMS_TWO = 2; // 0x2
16367    field public static final int WME_ACCESS_CATEGORY_BE = 0; // 0x0
16368    field public static final int WME_ACCESS_CATEGORY_BK = 1; // 0x1
16369    field public static final int WME_ACCESS_CATEGORY_VI = 2; // 0x2
16370    field public static final int WME_ACCESS_CATEGORY_VO = 3; // 0x3
16371  }
16372
16373  public static final class WifiUsabilityStatsEntry.ContentionTimeStats implements android.os.Parcelable {
16374    ctor public WifiUsabilityStatsEntry.ContentionTimeStats(long, long, long, long);
16375    method public int describeContents();
16376    method public long getContentionNumSamples();
16377    method public long getContentionTimeAvgMicros();
16378    method public long getContentionTimeMaxMicros();
16379    method public long getContentionTimeMinMicros();
16380    method public void writeToParcel(@NonNull android.os.Parcel, int);
16381    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiUsabilityStatsEntry.ContentionTimeStats> CREATOR;
16382  }
16383
16384  public static final class WifiUsabilityStatsEntry.RadioStats implements android.os.Parcelable {
16385    ctor public WifiUsabilityStatsEntry.RadioStats(int, long, long, long, long, long, long, long, long, long);
16386    method public int describeContents();
16387    method public long getRadioId();
16388    method public long getTotalBackgroundScanTimeMillis();
16389    method public long getTotalHotspot2ScanTimeMillis();
16390    method public long getTotalNanScanTimeMillis();
16391    method public long getTotalPnoScanTimeMillis();
16392    method public long getTotalRadioOnTimeMillis();
16393    method public long getTotalRadioRxTimeMillis();
16394    method public long getTotalRadioTxTimeMillis();
16395    method public long getTotalRoamScanTimeMillis();
16396    method public long getTotalScanTimeMillis();
16397    method public void writeToParcel(@NonNull android.os.Parcel, int);
16398    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiUsabilityStatsEntry.RadioStats> CREATOR;
16399  }
16400
16401  public static final class WifiUsabilityStatsEntry.RateStats implements android.os.Parcelable {
16402    ctor public WifiUsabilityStatsEntry.RateStats(int, int, int, int, int, int, int, int, int);
16403    method public int describeContents();
16404    method public int getBandwidthInMhz();
16405    method public int getBitRateInKbps();
16406    method public int getMpduLost();
16407    method public int getNumberOfSpatialStreams();
16408    method public int getPreamble();
16409    method public int getRateMcsIdx();
16410    method public int getRetries();
16411    method public int getRxMpdu();
16412    method public int getTxMpdu();
16413    method public void writeToParcel(@NonNull android.os.Parcel, int);
16414    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiUsabilityStatsEntry.RateStats> CREATOR;
16415  }
16416
16417}
16418
16419package android.net.wifi.aware {
16420
16421  public final class AwareParams implements android.os.Parcelable {
16422    ctor public AwareParams();
16423    method public int describeContents();
16424    method public int getDiscoveryBeaconIntervalMillis();
16425    method public int getDiscoveryWindowWakeInterval24Ghz();
16426    method public int getDiscoveryWindowWakeInterval5Ghz();
16427    method public int getMacRandomizationIntervalSeconds();
16428    method public int getNumSpatialStreamsInDiscovery();
16429    method public boolean isDwEarlyTerminationEnabled();
16430    method public void setDiscoveryBeaconIntervalMillis(@IntRange(from=1) int);
16431    method public void setDiscoveryWindowWakeInterval24Ghz(@IntRange(from=1, to=5) int);
16432    method public void setDiscoveryWindowWakeInterval5Ghz(@IntRange(from=0, to=5) int);
16433    method public void setDwEarlyTerminationEnabled(boolean);
16434    method public void setMacRandomizationIntervalSeconds(@IntRange(from=1, to=1800) int);
16435    method public void setNumSpatialStreamsInDiscovery(@IntRange(from=1) int);
16436    method public void writeToParcel(@NonNull android.os.Parcel, int);
16437    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.AwareParams> CREATOR;
16438    field public static final int UNSET_PARAMETER = -1; // 0xffffffff
16439  }
16440
16441  public final class ConfigRequest implements android.os.Parcelable {
16442    method public int describeContents();
16443    method @NonNull public java.util.List<android.net.wifi.OuiKeyedData> getVendorData();
16444    method public void writeToParcel(@NonNull android.os.Parcel, int);
16445    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.ConfigRequest> CREATOR;
16446  }
16447
16448  public static final class ConfigRequest.Builder {
16449    ctor public ConfigRequest.Builder();
16450    method @NonNull public android.net.wifi.aware.ConfigRequest build();
16451    method @NonNull public android.net.wifi.aware.ConfigRequest.Builder setVendorData(@NonNull java.util.List<android.net.wifi.OuiKeyedData>);
16452  }
16453
16454  public class DiscoverySession implements java.lang.AutoCloseable {
16455    method @Deprecated public android.net.NetworkSpecifier createNetworkSpecifierPmk(@NonNull android.net.wifi.aware.PeerHandle, @NonNull byte[]);
16456    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public void resume();
16457    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public void suspend();
16458  }
16459
16460  public class DiscoverySessionCallback {
16461    method public void onSessionResumeFailed(int);
16462    method public void onSessionResumeSucceeded();
16463    method public void onSessionSuspendFailed(int);
16464    method public void onSessionSuspendSucceeded();
16465  }
16466
16467  public final class PublishConfig implements android.os.Parcelable {
16468    method @NonNull public java.util.List<android.net.wifi.OuiKeyedData> getVendorData();
16469    method public boolean isSuspendable();
16470  }
16471
16472  public static final class PublishConfig.Builder {
16473    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public android.net.wifi.aware.PublishConfig.Builder setSuspendable(boolean);
16474    method @NonNull public android.net.wifi.aware.PublishConfig.Builder setVendorData(@NonNull java.util.List<android.net.wifi.OuiKeyedData>);
16475  }
16476
16477  public final class ServiceDiscoveryInfo {
16478    method @NonNull public java.util.List<android.net.wifi.OuiKeyedData> getVendorData();
16479  }
16480
16481  public final class SubscribeConfig implements android.os.Parcelable {
16482    method @NonNull public java.util.List<android.net.wifi.OuiKeyedData> getVendorData();
16483    method public boolean isSuspendable();
16484  }
16485
16486  public static final class SubscribeConfig.Builder {
16487    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public android.net.wifi.aware.SubscribeConfig.Builder setSuspendable(boolean);
16488    method @NonNull public android.net.wifi.aware.SubscribeConfig.Builder setVendorData(@NonNull java.util.List<android.net.wifi.OuiKeyedData>);
16489  }
16490
16491  public class WifiAwareManager {
16492    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);
16493    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);
16494    method @RequiresPermission(allOf={android.Manifest.permission.CHANGE_WIFI_STATE, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public void enableInstantCommunicationMode(boolean);
16495    method @RequiresPermission(allOf={android.Manifest.permission.OVERRIDE_WIFI_CONFIG, android.Manifest.permission.CHANGE_WIFI_STATE}) public void setAwareParams(@Nullable android.net.wifi.aware.AwareParams);
16496    field public static final int WIFI_AWARE_RESUME_INTERNAL_ERROR = 2; // 0x2
16497    field public static final int WIFI_AWARE_RESUME_INVALID_SESSION = 1; // 0x1
16498    field public static final int WIFI_AWARE_RESUME_REDUNDANT_REQUEST = 0; // 0x0
16499    field public static final int WIFI_AWARE_SUSPEND_CANNOT_SUSPEND = 2; // 0x2
16500    field public static final int WIFI_AWARE_SUSPEND_INTERNAL_ERROR = 3; // 0x3
16501    field public static final int WIFI_AWARE_SUSPEND_INVALID_SESSION = 1; // 0x1
16502    field public static final int WIFI_AWARE_SUSPEND_REDUNDANT_REQUEST = 0; // 0x0
16503  }
16504
16505  public class WifiAwareSession implements java.lang.AutoCloseable {
16506    method @Deprecated public android.net.NetworkSpecifier createNetworkSpecifierPmk(int, @NonNull byte[], @NonNull byte[]);
16507    method @RequiresPermission(android.Manifest.permission.OVERRIDE_WIFI_CONFIG) public void getMasterPreference(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
16508    method @RequiresPermission(android.Manifest.permission.OVERRIDE_WIFI_CONFIG) public void setMasterPreference(@IntRange(from=0, to=254) int);
16509  }
16510
16511}
16512
16513package android.net.wifi.hotspot2 {
16514
16515  public final class OsuProvider implements android.os.Parcelable {
16516    method public int describeContents();
16517    method @Nullable public String getFriendlyName();
16518    method @Nullable public android.net.Uri getServerUri();
16519    method public void writeToParcel(android.os.Parcel, int);
16520    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.OsuProvider> CREATOR;
16521  }
16522
16523  public final class PasspointConfiguration implements android.os.Parcelable {
16524    method public int getMeteredOverride();
16525    method public boolean isAutojoinEnabled();
16526    method public boolean isMacRandomizationEnabled();
16527  }
16528
16529  public abstract class ProvisioningCallback {
16530    ctor public ProvisioningCallback();
16531    method public abstract void onProvisioningComplete();
16532    method public abstract void onProvisioningFailure(int);
16533    method public abstract void onProvisioningStatus(int);
16534    field public static final int OSU_FAILURE_ADD_PASSPOINT_CONFIGURATION = 22; // 0x16
16535    field public static final int OSU_FAILURE_AP_CONNECTION = 1; // 0x1
16536    field public static final int OSU_FAILURE_INVALID_URL_FORMAT_FOR_OSU = 8; // 0x8
16537    field public static final int OSU_FAILURE_NO_AAA_SERVER_TRUST_ROOT_NODE = 17; // 0x11
16538    field public static final int OSU_FAILURE_NO_AAA_TRUST_ROOT_CERTIFICATE = 21; // 0x15
16539    field public static final int OSU_FAILURE_NO_OSU_ACTIVITY_FOUND = 14; // 0xe
16540    field public static final int OSU_FAILURE_NO_POLICY_SERVER_TRUST_ROOT_NODE = 19; // 0x13
16541    field public static final int OSU_FAILURE_NO_PPS_MO = 16; // 0x10
16542    field public static final int OSU_FAILURE_NO_REMEDIATION_SERVER_TRUST_ROOT_NODE = 18; // 0x12
16543    field public static final int OSU_FAILURE_OSU_PROVIDER_NOT_FOUND = 23; // 0x17
16544    field public static final int OSU_FAILURE_PROVISIONING_ABORTED = 6; // 0x6
16545    field public static final int OSU_FAILURE_PROVISIONING_NOT_AVAILABLE = 7; // 0x7
16546    field public static final int OSU_FAILURE_RETRIEVE_TRUST_ROOT_CERTIFICATES = 20; // 0x14
16547    field public static final int OSU_FAILURE_SERVER_CONNECTION = 3; // 0x3
16548    field public static final int OSU_FAILURE_SERVER_URL_INVALID = 2; // 0x2
16549    field public static final int OSU_FAILURE_SERVER_VALIDATION = 4; // 0x4
16550    field public static final int OSU_FAILURE_SERVICE_PROVIDER_VERIFICATION = 5; // 0x5
16551    field public static final int OSU_FAILURE_SOAP_MESSAGE_EXCHANGE = 11; // 0xb
16552    field public static final int OSU_FAILURE_START_REDIRECT_LISTENER = 12; // 0xc
16553    field public static final int OSU_FAILURE_TIMED_OUT_REDIRECT_LISTENER = 13; // 0xd
16554    field public static final int OSU_FAILURE_UNEXPECTED_COMMAND_TYPE = 9; // 0x9
16555    field public static final int OSU_FAILURE_UNEXPECTED_SOAP_MESSAGE_STATUS = 15; // 0xf
16556    field public static final int OSU_FAILURE_UNEXPECTED_SOAP_MESSAGE_TYPE = 10; // 0xa
16557    field public static final int OSU_STATUS_AP_CONNECTED = 2; // 0x2
16558    field public static final int OSU_STATUS_AP_CONNECTING = 1; // 0x1
16559    field public static final int OSU_STATUS_INIT_SOAP_EXCHANGE = 6; // 0x6
16560    field public static final int OSU_STATUS_REDIRECT_RESPONSE_RECEIVED = 8; // 0x8
16561    field public static final int OSU_STATUS_RETRIEVING_TRUST_ROOT_CERTS = 11; // 0xb
16562    field public static final int OSU_STATUS_SECOND_SOAP_EXCHANGE = 9; // 0x9
16563    field public static final int OSU_STATUS_SERVER_CONNECTED = 5; // 0x5
16564    field public static final int OSU_STATUS_SERVER_CONNECTING = 3; // 0x3
16565    field public static final int OSU_STATUS_SERVER_VALIDATED = 4; // 0x4
16566    field public static final int OSU_STATUS_THIRD_SOAP_EXCHANGE = 10; // 0xa
16567    field public static final int OSU_STATUS_WAITING_FOR_REDIRECT_RESPONSE = 7; // 0x7
16568  }
16569
16570}
16571
16572package android.net.wifi.nl80211 {
16573
16574  public final class DeviceWiphyCapabilities implements android.os.Parcelable {
16575    ctor public DeviceWiphyCapabilities();
16576    method public int describeContents();
16577    method @FlaggedApi("android.net.wifi.flags.get_device_cross_akm_roaming_support") public int getMaxNumberAkms();
16578    method public int getMaxNumberRxSpatialStreams();
16579    method public int getMaxNumberTxSpatialStreams();
16580    method public boolean isChannelWidthSupported(int);
16581    method public boolean isWifiStandardSupported(int);
16582    method public void setWifiStandardSupport(int, boolean);
16583    method public void writeToParcel(@NonNull android.os.Parcel, int);
16584    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.DeviceWiphyCapabilities> CREATOR;
16585  }
16586
16587  public final class NativeScanResult implements android.os.Parcelable {
16588    ctor public NativeScanResult();
16589    method public int describeContents();
16590    method @Nullable public android.net.MacAddress getBssid();
16591    method public int getCapabilities();
16592    method public int getFrequencyMhz();
16593    method @NonNull public byte[] getInformationElements();
16594    method @NonNull public java.util.List<android.net.wifi.nl80211.RadioChainInfo> getRadioChainInfos();
16595    method public int getSignalMbm();
16596    method @NonNull public byte[] getSsid();
16597    method public long getTsf();
16598    method public boolean isAssociated();
16599    method public void writeToParcel(@NonNull android.os.Parcel, int);
16600    field public static final int BSS_CAPABILITY_APSD = 2048; // 0x800
16601    field public static final int BSS_CAPABILITY_CF_POLLABLE = 4; // 0x4
16602    field public static final int BSS_CAPABILITY_CF_POLL_REQUEST = 8; // 0x8
16603    field public static final int BSS_CAPABILITY_CHANNEL_AGILITY = 128; // 0x80
16604    field public static final int BSS_CAPABILITY_DELAYED_BLOCK_ACK = 16384; // 0x4000
16605    field public static final int BSS_CAPABILITY_DMG_ESS = 3; // 0x3
16606    field public static final int BSS_CAPABILITY_DMG_IBSS = 1; // 0x1
16607    field public static final int BSS_CAPABILITY_DSSS_OFDM = 8192; // 0x2000
16608    field public static final int BSS_CAPABILITY_ESS = 1; // 0x1
16609    field public static final int BSS_CAPABILITY_IBSS = 2; // 0x2
16610    field public static final int BSS_CAPABILITY_IMMEDIATE_BLOCK_ACK = 32768; // 0x8000
16611    field public static final int BSS_CAPABILITY_PBCC = 64; // 0x40
16612    field public static final int BSS_CAPABILITY_PRIVACY = 16; // 0x10
16613    field public static final int BSS_CAPABILITY_QOS = 512; // 0x200
16614    field public static final int BSS_CAPABILITY_RADIO_MANAGEMENT = 4096; // 0x1000
16615    field public static final int BSS_CAPABILITY_SHORT_PREAMBLE = 32; // 0x20
16616    field public static final int BSS_CAPABILITY_SHORT_SLOT_TIME = 1024; // 0x400
16617    field public static final int BSS_CAPABILITY_SPECTRUM_MANAGEMENT = 256; // 0x100
16618    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.NativeScanResult> CREATOR;
16619  }
16620
16621  public final class NativeWifiClient implements android.os.Parcelable {
16622    ctor public NativeWifiClient(@Nullable android.net.MacAddress);
16623    method public int describeContents();
16624    method @Nullable public android.net.MacAddress getMacAddress();
16625    method public void writeToParcel(@NonNull android.os.Parcel, int);
16626    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.NativeWifiClient> CREATOR;
16627  }
16628
16629  public final class PnoNetwork implements android.os.Parcelable {
16630    ctor public PnoNetwork();
16631    method public int describeContents();
16632    method @NonNull public int[] getFrequenciesMhz();
16633    method @NonNull public byte[] getSsid();
16634    method public boolean isHidden();
16635    method public void setFrequenciesMhz(@NonNull int[]);
16636    method public void setHidden(boolean);
16637    method public void setSsid(@NonNull byte[]);
16638    method public void writeToParcel(@NonNull android.os.Parcel, int);
16639    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.PnoNetwork> CREATOR;
16640  }
16641
16642  public final class PnoSettings implements android.os.Parcelable {
16643    ctor public PnoSettings();
16644    method public int describeContents();
16645    method public long getIntervalMillis();
16646    method public int getMin2gRssiDbm();
16647    method public int getMin5gRssiDbm();
16648    method public int getMin6gRssiDbm();
16649    method @NonNull public java.util.List<android.net.wifi.nl80211.PnoNetwork> getPnoNetworks();
16650    method public int getScanIntervalMultiplier();
16651    method public int getScanIterations();
16652    method public void setIntervalMillis(long);
16653    method public void setMin2gRssiDbm(int);
16654    method public void setMin5gRssiDbm(int);
16655    method public void setMin6gRssiDbm(int);
16656    method public void setPnoNetworks(@NonNull java.util.List<android.net.wifi.nl80211.PnoNetwork>);
16657    method public void setScanIntervalMultiplier(int);
16658    method public void setScanIterations(int);
16659    method public void writeToParcel(@NonNull android.os.Parcel, int);
16660    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.PnoSettings> CREATOR;
16661  }
16662
16663  public final class RadioChainInfo implements android.os.Parcelable {
16664    ctor public RadioChainInfo(int, int);
16665    method public int describeContents();
16666    method public int getChainId();
16667    method public int getLevelDbm();
16668    method public void writeToParcel(@NonNull android.os.Parcel, int);
16669    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.RadioChainInfo> CREATOR;
16670  }
16671
16672  public class WifiNl80211Manager {
16673    ctor public WifiNl80211Manager(@NonNull android.content.Context, @NonNull android.os.IBinder);
16674    method public void abortScan(@NonNull String);
16675    method public void enableVerboseLogging(boolean);
16676    method @NonNull public int[] getChannelsMhzForBand(int);
16677    method @Nullable public android.net.wifi.nl80211.DeviceWiphyCapabilities getDeviceWiphyCapabilities(@NonNull String);
16678    method public int getMaxSsidsPerScan(@NonNull String);
16679    method @NonNull public java.util.List<android.net.wifi.nl80211.NativeScanResult> getScanResults(@NonNull String, int);
16680    method @Nullable public android.net.wifi.nl80211.WifiNl80211Manager.TxPacketCounters getTxPacketCounters(@NonNull String);
16681    method public void notifyCountryCodeChanged(@Nullable String);
16682    method @Nullable public static android.net.wifi.nl80211.WifiNl80211Manager.OemSecurityType parseOemSecurityTypeElement(int, int, @NonNull byte[]);
16683    method @Deprecated public boolean registerApCallback(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.nl80211.WifiNl80211Manager.SoftApCallback);
16684    method public boolean registerCountryCodeChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.nl80211.WifiNl80211Manager.CountryCodeChangedListener);
16685    method public void sendMgmtFrame(@NonNull String, @NonNull byte[], int, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.nl80211.WifiNl80211Manager.SendMgmtFrameCallback);
16686    method public void setOnServiceDeadCallback(@NonNull Runnable);
16687    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);
16688    method public boolean setupInterfaceForSoftApMode(@NonNull String);
16689    method @Deprecated @Nullable public android.net.wifi.nl80211.WifiNl80211Manager.SignalPollResult signalPoll(@NonNull String);
16690    method public boolean startPnoScan(@NonNull String, @NonNull android.net.wifi.nl80211.PnoSettings, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.nl80211.WifiNl80211Manager.PnoScanRequestCallback);
16691    method @Deprecated public boolean startScan(@NonNull String, int, @Nullable java.util.Set<java.lang.Integer>, @Nullable java.util.List<byte[]>);
16692    method @Deprecated public boolean startScan(@NonNull String, int, @Nullable java.util.Set<java.lang.Integer>, @Nullable java.util.List<byte[]>, @Nullable android.os.Bundle);
16693    method public int startScan2(@NonNull String, int, @Nullable java.util.Set<java.lang.Integer>, @Nullable java.util.List<byte[]>, @Nullable android.os.Bundle);
16694    method public boolean stopPnoScan(@NonNull String);
16695    method public boolean tearDownClientInterface(@NonNull String);
16696    method public boolean tearDownInterfaces();
16697    method public boolean tearDownSoftApInterface(@NonNull String);
16698    method public void unregisterCountryCodeChangedListener(@NonNull android.net.wifi.nl80211.WifiNl80211Manager.CountryCodeChangedListener);
16699    field public static final String EXTRA_SCANNING_PARAM_VENDOR_IES = "android.net.wifi.nl80211.extra.SCANNING_PARAM_VENDOR_IES";
16700    field public static final String SCANNING_PARAM_ENABLE_6GHZ_RNR = "android.net.wifi.nl80211.SCANNING_PARAM_ENABLE_6GHZ_RNR";
16701    field public static final int SCAN_TYPE_PNO_SCAN = 1; // 0x1
16702    field public static final int SCAN_TYPE_SINGLE_SCAN = 0; // 0x0
16703    field public static final int SEND_MGMT_FRAME_ERROR_ALREADY_STARTED = 5; // 0x5
16704    field public static final int SEND_MGMT_FRAME_ERROR_MCS_UNSUPPORTED = 2; // 0x2
16705    field public static final int SEND_MGMT_FRAME_ERROR_NO_ACK = 3; // 0x3
16706    field public static final int SEND_MGMT_FRAME_ERROR_TIMEOUT = 4; // 0x4
16707    field public static final int SEND_MGMT_FRAME_ERROR_UNKNOWN = 1; // 0x1
16708  }
16709
16710  public static interface WifiNl80211Manager.CountryCodeChangedListener {
16711    method public void onCountryCodeChanged(@NonNull String);
16712  }
16713
16714  public static class WifiNl80211Manager.OemSecurityType {
16715    ctor public WifiNl80211Manager.OemSecurityType(int, @NonNull java.util.List<java.lang.Integer>, @NonNull java.util.List<java.lang.Integer>, int);
16716    field public final int groupCipher;
16717    field @NonNull public final java.util.List<java.lang.Integer> keyManagement;
16718    field @NonNull public final java.util.List<java.lang.Integer> pairwiseCipher;
16719    field public final int protocol;
16720  }
16721
16722  public static interface WifiNl80211Manager.PnoScanRequestCallback {
16723    method public void onPnoRequestFailed();
16724    method public void onPnoRequestSucceeded();
16725  }
16726
16727  public static interface WifiNl80211Manager.ScanEventCallback {
16728    method @Deprecated public void onScanFailed();
16729    method public default void onScanFailed(int);
16730    method public void onScanResultReady();
16731  }
16732
16733  public static interface WifiNl80211Manager.SendMgmtFrameCallback {
16734    method public void onAck(int);
16735    method public void onFailure(int);
16736  }
16737
16738  @Deprecated public static class WifiNl80211Manager.SignalPollResult {
16739    field @Deprecated public final int associationFrequencyMHz;
16740    field @Deprecated public final int currentRssiDbm;
16741    field @Deprecated public final int rxBitrateMbps;
16742    field @Deprecated public final int txBitrateMbps;
16743  }
16744
16745  @Deprecated public static interface WifiNl80211Manager.SoftApCallback {
16746    method @Deprecated public void onConnectedClientsChanged(@NonNull android.net.wifi.nl80211.NativeWifiClient, boolean);
16747    method @Deprecated public void onFailure();
16748    method @Deprecated public void onSoftApChannelSwitched(int, int);
16749  }
16750
16751  public static class WifiNl80211Manager.TxPacketCounters {
16752    field public final int txPacketFailed;
16753    field public final int txPacketSucceeded;
16754  }
16755
16756}
16757
16758package android.net.wifi.p2p {
16759
16760  public class WifiP2pConfig implements android.os.Parcelable {
16761    method @NonNull public java.util.List<android.net.wifi.OuiKeyedData> getVendorData();
16762    method public boolean isJoinExistingGroup();
16763    method public void setVendorData(@NonNull java.util.List<android.net.wifi.OuiKeyedData>);
16764  }
16765
16766  public static final class WifiP2pConfig.Builder {
16767    method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder setJoinExistingGroup(boolean);
16768  }
16769
16770  public class WifiP2pDevice implements android.os.Parcelable {
16771    method @NonNull public java.util.List<android.net.wifi.OuiKeyedData> getVendorData();
16772    method public void setVendorData(@NonNull java.util.List<android.net.wifi.OuiKeyedData>);
16773  }
16774
16775  public final class WifiP2pDiscoveryConfig implements android.os.Parcelable {
16776    method @NonNull public java.util.List<android.net.wifi.OuiKeyedData> getVendorData();
16777  }
16778
16779  public static final class WifiP2pDiscoveryConfig.Builder {
16780    method @NonNull public android.net.wifi.p2p.WifiP2pDiscoveryConfig.Builder setVendorData(@NonNull java.util.List<android.net.wifi.OuiKeyedData>);
16781  }
16782
16783  public final class WifiP2pExtListenParams implements android.os.Parcelable {
16784    method public int describeContents();
16785    method @NonNull public java.util.List<android.net.wifi.OuiKeyedData> getVendorData();
16786    method public void writeToParcel(@NonNull android.os.Parcel, int);
16787    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pExtListenParams> CREATOR;
16788  }
16789
16790  public static final class WifiP2pExtListenParams.Builder {
16791    ctor public WifiP2pExtListenParams.Builder();
16792    method @NonNull public android.net.wifi.p2p.WifiP2pExtListenParams build();
16793    method @NonNull public android.net.wifi.p2p.WifiP2pExtListenParams.Builder setVendorData(@NonNull java.util.List<android.net.wifi.OuiKeyedData>);
16794  }
16795
16796  public class WifiP2pGroup implements android.os.Parcelable {
16797    method @NonNull public java.util.List<android.net.wifi.OuiKeyedData> getVendorData();
16798    method public void setVendorData(@NonNull java.util.List<android.net.wifi.OuiKeyedData>);
16799  }
16800
16801  public final class WifiP2pGroupList implements android.os.Parcelable {
16802    method public int describeContents();
16803    method @NonNull public java.util.List<android.net.wifi.p2p.WifiP2pGroup> getGroupList();
16804    method public void writeToParcel(@NonNull android.os.Parcel, int);
16805    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pGroupList> CREATOR;
16806  }
16807
16808  public class WifiP2pManager {
16809    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);
16810    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void factoryReset(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
16811    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);
16812    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);
16813    method @RequiresPermission(android.Manifest.permission.CONFIGURE_WIFI_DISPLAY) public void setMiracastMode(int);
16814    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);
16815    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);
16816    field public static final String ACTION_WIFI_P2P_PERSISTENT_GROUPS_CHANGED = "android.net.wifi.p2p.action.WIFI_P2P_PERSISTENT_GROUPS_CHANGED";
16817    field public static final int MIRACAST_DISABLED = 0; // 0x0
16818    field public static final int MIRACAST_SINK = 2; // 0x2
16819    field public static final int MIRACAST_SOURCE = 1; // 0x1
16820  }
16821
16822  public static interface WifiP2pManager.PersistentGroupInfoListener {
16823    method public void onPersistentGroupInfoAvailable(@NonNull android.net.wifi.p2p.WifiP2pGroupList);
16824  }
16825
16826  public static interface WifiP2pManager.WifiP2pListener {
16827    method public default void onPersistentGroupsChanged(@NonNull android.net.wifi.p2p.WifiP2pGroupList);
16828  }
16829
16830}
16831
16832package android.net.wifi.rtt {
16833
16834  public final class RangingRequest implements android.os.Parcelable {
16835    method @NonNull public java.util.List<android.net.wifi.rtt.ResponderConfig> getRttResponders();
16836    method @NonNull public java.util.List<android.net.wifi.OuiKeyedData> getVendorData();
16837  }
16838
16839  public static final class RangingRequest.Builder {
16840    method @NonNull public android.net.wifi.rtt.RangingRequest.Builder setVendorData(@NonNull java.util.List<android.net.wifi.OuiKeyedData>);
16841  }
16842
16843  public final class RangingResult implements android.os.Parcelable {
16844    method @NonNull public java.util.List<android.net.wifi.OuiKeyedData> getVendorData();
16845  }
16846
16847  public static final class RangingResult.Builder {
16848    method @NonNull public android.net.wifi.rtt.RangingResult.Builder setVendorData(@NonNull java.util.List<android.net.wifi.OuiKeyedData>);
16849  }
16850
16851  public final class ResponderConfig implements android.os.Parcelable {
16852    ctor public ResponderConfig(@NonNull android.net.MacAddress, int, boolean, int, int, int, int, int);
16853    ctor public ResponderConfig(@NonNull android.net.wifi.aware.PeerHandle, int, boolean, int, int, int, int, int);
16854    method @NonNull public static android.net.wifi.rtt.ResponderConfig fromWifiAwarePeerHandleWithDefaults(@NonNull android.net.wifi.aware.PeerHandle);
16855    method @NonNull public static android.net.wifi.rtt.ResponderConfig fromWifiAwarePeerMacAddressWithDefaults(@NonNull android.net.MacAddress);
16856    field public static final int CHANNEL_WIDTH_160MHZ = 3; // 0x3
16857    field public static final int CHANNEL_WIDTH_20MHZ = 0; // 0x0
16858    field public static final int CHANNEL_WIDTH_320MHZ = 5; // 0x5
16859    field public static final int CHANNEL_WIDTH_40MHZ = 1; // 0x1
16860    field public static final int CHANNEL_WIDTH_80MHZ = 2; // 0x2
16861    field public static final int CHANNEL_WIDTH_80MHZ_PLUS_MHZ = 4; // 0x4
16862    field public static final int PREAMBLE_EHT = 4; // 0x4
16863    field public static final int PREAMBLE_HE = 3; // 0x3
16864    field public static final int PREAMBLE_HT = 1; // 0x1
16865    field public static final int PREAMBLE_LEGACY = 0; // 0x0
16866    field public static final int PREAMBLE_VHT = 2; // 0x2
16867    field public static final int RESPONDER_AWARE = 4; // 0x4
16868    field public static final int RESPONDER_P2P_CLIENT = 3; // 0x3
16869    field public static final int RESPONDER_P2P_GO = 2; // 0x2
16870    field public final int centerFreq0;
16871    field public final int centerFreq1;
16872    field public final int channelWidth;
16873    field public final int frequency;
16874    field @Nullable public final android.net.MacAddress macAddress;
16875    field @Nullable public final android.net.wifi.aware.PeerHandle peerHandle;
16876    field public final int preamble;
16877    field public final int responderType;
16878    field public final boolean supports80211azNtb;
16879    field public final boolean supports80211mc;
16880  }
16881
16882  public final class ResponderLocation implements android.os.Parcelable {
16883    method public boolean getExtraInfoOnAssociationIndication();
16884  }
16885
16886  public class WifiRttManager {
16887    method @RequiresPermission(allOf={android.Manifest.permission.LOCATION_HARDWARE}) public void cancelRanging(@Nullable android.os.WorkSource);
16888    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);
16889  }
16890
16891}
16892
16893package android.net.wifi.sharedconnectivity.app {
16894
16895  public final class HotspotNetwork implements android.os.Parcelable {
16896    method public int describeContents();
16897    method public long getDeviceId();
16898    method @NonNull public android.os.Bundle getExtras();
16899    method public int getHostNetworkType();
16900    method @Nullable public String getHotspotBssid();
16901    method @NonNull public java.util.Set<java.lang.Integer> getHotspotSecurityTypes();
16902    method @Nullable public String getHotspotSsid();
16903    method @NonNull public String getNetworkName();
16904    method @NonNull public android.net.wifi.sharedconnectivity.app.NetworkProviderInfo getNetworkProviderInfo();
16905    method public void writeToParcel(@NonNull android.os.Parcel, int);
16906    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.sharedconnectivity.app.HotspotNetwork> CREATOR;
16907    field public static final int NETWORK_TYPE_CELLULAR = 1; // 0x1
16908    field public static final int NETWORK_TYPE_ETHERNET = 3; // 0x3
16909    field public static final int NETWORK_TYPE_UNKNOWN = 0; // 0x0
16910    field public static final int NETWORK_TYPE_WIFI = 2; // 0x2
16911  }
16912
16913  public static final class HotspotNetwork.Builder {
16914    ctor public HotspotNetwork.Builder();
16915    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetwork.Builder addHotspotSecurityType(int);
16916    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetwork build();
16917    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetwork.Builder setDeviceId(long);
16918    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetwork.Builder setExtras(@NonNull android.os.Bundle);
16919    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetwork.Builder setHostNetworkType(int);
16920    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetwork.Builder setHotspotBssid(@NonNull String);
16921    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetwork.Builder setHotspotSsid(@NonNull String);
16922    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetwork.Builder setNetworkName(@NonNull String);
16923    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetwork.Builder setNetworkProviderInfo(@NonNull android.net.wifi.sharedconnectivity.app.NetworkProviderInfo);
16924  }
16925
16926  public final class HotspotNetworkConnectionStatus implements android.os.Parcelable {
16927    method public int describeContents();
16928    method @NonNull public android.os.Bundle getExtras();
16929    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetwork getHotspotNetwork();
16930    method public int getStatus();
16931    method public void writeToParcel(@NonNull android.os.Parcel, int);
16932    field public static final int CONNECTION_STATUS_CONNECT_TO_HOTSPOT_FAILED = 9; // 0x9
16933    field public static final int CONNECTION_STATUS_ENABLING_HOTSPOT = 1; // 0x1
16934    field public static final int CONNECTION_STATUS_ENABLING_HOTSPOT_FAILED = 7; // 0x7
16935    field public static final int CONNECTION_STATUS_ENABLING_HOTSPOT_TIMEOUT = 8; // 0x8
16936    field public static final int CONNECTION_STATUS_NO_CELL_DATA = 6; // 0x6
16937    field public static final int CONNECTION_STATUS_PROVISIONING_FAILED = 3; // 0x3
16938    field public static final int CONNECTION_STATUS_TETHERING_TIMEOUT = 4; // 0x4
16939    field public static final int CONNECTION_STATUS_TETHERING_UNSUPPORTED = 5; // 0x5
16940    field public static final int CONNECTION_STATUS_UNKNOWN = 0; // 0x0
16941    field public static final int CONNECTION_STATUS_UNKNOWN_ERROR = 2; // 0x2
16942    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.sharedconnectivity.app.HotspotNetworkConnectionStatus> CREATOR;
16943  }
16944
16945  public static final class HotspotNetworkConnectionStatus.Builder {
16946    ctor public HotspotNetworkConnectionStatus.Builder();
16947    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetworkConnectionStatus build();
16948    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetworkConnectionStatus.Builder setExtras(@NonNull android.os.Bundle);
16949    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetworkConnectionStatus.Builder setHotspotNetwork(@NonNull android.net.wifi.sharedconnectivity.app.HotspotNetwork);
16950    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetworkConnectionStatus.Builder setStatus(int);
16951  }
16952
16953  public final class KnownNetwork implements android.os.Parcelable {
16954    method public int describeContents();
16955    method @NonNull public android.os.Bundle getExtras();
16956    method @Nullable public android.net.wifi.sharedconnectivity.app.NetworkProviderInfo getNetworkProviderInfo();
16957    method public int getNetworkSource();
16958    method @NonNull public java.util.Set<java.lang.Integer> getSecurityTypes();
16959    method @NonNull public String getSsid();
16960    method public void writeToParcel(@NonNull android.os.Parcel, int);
16961    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.sharedconnectivity.app.KnownNetwork> CREATOR;
16962    field public static final int NETWORK_SOURCE_CLOUD_SELF = 2; // 0x2
16963    field public static final int NETWORK_SOURCE_NEARBY_SELF = 1; // 0x1
16964    field public static final int NETWORK_SOURCE_UNKNOWN = 0; // 0x0
16965  }
16966
16967  public static final class KnownNetwork.Builder {
16968    ctor public KnownNetwork.Builder();
16969    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetwork.Builder addSecurityType(int);
16970    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetwork build();
16971    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetwork.Builder setExtras(@NonNull android.os.Bundle);
16972    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetwork.Builder setNetworkProviderInfo(@Nullable android.net.wifi.sharedconnectivity.app.NetworkProviderInfo);
16973    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetwork.Builder setNetworkSource(int);
16974    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetwork.Builder setSsid(@NonNull String);
16975  }
16976
16977  public final class KnownNetworkConnectionStatus implements android.os.Parcelable {
16978    method public int describeContents();
16979    method @NonNull public android.os.Bundle getExtras();
16980    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetwork getKnownNetwork();
16981    method public int getStatus();
16982    method public void writeToParcel(@NonNull android.os.Parcel, int);
16983    field public static final int CONNECTION_STATUS_SAVED = 1; // 0x1
16984    field public static final int CONNECTION_STATUS_SAVE_FAILED = 2; // 0x2
16985    field public static final int CONNECTION_STATUS_UNKNOWN = 0; // 0x0
16986    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.sharedconnectivity.app.KnownNetworkConnectionStatus> CREATOR;
16987  }
16988
16989  public static final class KnownNetworkConnectionStatus.Builder {
16990    ctor public KnownNetworkConnectionStatus.Builder();
16991    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetworkConnectionStatus build();
16992    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetworkConnectionStatus.Builder setExtras(@NonNull android.os.Bundle);
16993    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetworkConnectionStatus.Builder setKnownNetwork(@NonNull android.net.wifi.sharedconnectivity.app.KnownNetwork);
16994    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetworkConnectionStatus.Builder setStatus(int);
16995  }
16996
16997  public final class NetworkProviderInfo implements android.os.Parcelable {
16998    method public int describeContents();
16999    method @IntRange(from=0, to=100) public int getBatteryPercentage();
17000    method @IntRange(from=0, to=4) public int getConnectionStrength();
17001    method @NonNull public String getDeviceName();
17002    method public int getDeviceType();
17003    method @NonNull public android.os.Bundle getExtras();
17004    method @NonNull public String getModelName();
17005    method @FlaggedApi("android.net.wifi.flags.network_provider_battery_charging_status") public boolean isBatteryCharging();
17006    method public void writeToParcel(@NonNull android.os.Parcel, int);
17007    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.sharedconnectivity.app.NetworkProviderInfo> CREATOR;
17008    field public static final int DEVICE_TYPE_AUTO = 5; // 0x5
17009    field public static final int DEVICE_TYPE_LAPTOP = 3; // 0x3
17010    field public static final int DEVICE_TYPE_PHONE = 1; // 0x1
17011    field public static final int DEVICE_TYPE_TABLET = 2; // 0x2
17012    field public static final int DEVICE_TYPE_UNKNOWN = 0; // 0x0
17013    field public static final int DEVICE_TYPE_WATCH = 4; // 0x4
17014  }
17015
17016  public static final class NetworkProviderInfo.Builder {
17017    ctor public NetworkProviderInfo.Builder(@NonNull String, @NonNull String);
17018    method @NonNull public android.net.wifi.sharedconnectivity.app.NetworkProviderInfo build();
17019    method @FlaggedApi("android.net.wifi.flags.network_provider_battery_charging_status") @NonNull public android.net.wifi.sharedconnectivity.app.NetworkProviderInfo.Builder setBatteryCharging(boolean);
17020    method @NonNull public android.net.wifi.sharedconnectivity.app.NetworkProviderInfo.Builder setBatteryPercentage(@IntRange(from=0, to=100) int);
17021    method @NonNull public android.net.wifi.sharedconnectivity.app.NetworkProviderInfo.Builder setConnectionStrength(@IntRange(from=0, to=4) int);
17022    method @NonNull public android.net.wifi.sharedconnectivity.app.NetworkProviderInfo.Builder setDeviceName(@NonNull String);
17023    method @NonNull public android.net.wifi.sharedconnectivity.app.NetworkProviderInfo.Builder setDeviceType(int);
17024    method @NonNull public android.net.wifi.sharedconnectivity.app.NetworkProviderInfo.Builder setExtras(@NonNull android.os.Bundle);
17025    method @NonNull public android.net.wifi.sharedconnectivity.app.NetworkProviderInfo.Builder setModelName(@NonNull String);
17026  }
17027
17028  public interface SharedConnectivityClientCallback {
17029    method public void onHotspotNetworkConnectionStatusChanged(@NonNull android.net.wifi.sharedconnectivity.app.HotspotNetworkConnectionStatus);
17030    method public void onHotspotNetworksUpdated(@NonNull java.util.List<android.net.wifi.sharedconnectivity.app.HotspotNetwork>);
17031    method public void onKnownNetworkConnectionStatusChanged(@NonNull android.net.wifi.sharedconnectivity.app.KnownNetworkConnectionStatus);
17032    method public void onKnownNetworksUpdated(@NonNull java.util.List<android.net.wifi.sharedconnectivity.app.KnownNetwork>);
17033    method public void onRegisterCallbackFailed(@NonNull Exception);
17034    method public void onServiceConnected();
17035    method public void onServiceDisconnected();
17036    method public void onSharedConnectivitySettingsChanged(@NonNull android.net.wifi.sharedconnectivity.app.SharedConnectivitySettingsState);
17037  }
17038
17039  public class SharedConnectivityManager {
17040    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public boolean connectHotspotNetwork(@NonNull android.net.wifi.sharedconnectivity.app.HotspotNetwork);
17041    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public boolean connectKnownNetwork(@NonNull android.net.wifi.sharedconnectivity.app.KnownNetwork);
17042    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public boolean disconnectHotspotNetwork(@NonNull android.net.wifi.sharedconnectivity.app.HotspotNetwork);
17043    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public boolean forgetKnownNetwork(@NonNull android.net.wifi.sharedconnectivity.app.KnownNetwork);
17044    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public android.net.wifi.sharedconnectivity.app.HotspotNetworkConnectionStatus getHotspotNetworkConnectionStatus();
17045    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();
17046    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public android.net.wifi.sharedconnectivity.app.KnownNetworkConnectionStatus getKnownNetworkConnectionStatus();
17047    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();
17048    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public android.net.wifi.sharedconnectivity.app.SharedConnectivitySettingsState getSettingsState();
17049    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);
17050    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public boolean unregisterCallback(@NonNull android.net.wifi.sharedconnectivity.app.SharedConnectivityClientCallback);
17051  }
17052
17053  public final class SharedConnectivitySettingsState implements android.os.Parcelable {
17054    method public int describeContents();
17055    method @NonNull public android.os.Bundle getExtras();
17056    method @Nullable public android.app.PendingIntent getInstantTetherSettingsPendingIntent();
17057    method public boolean isInstantTetherEnabled();
17058    method public void writeToParcel(@NonNull android.os.Parcel, int);
17059    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.sharedconnectivity.app.SharedConnectivitySettingsState> CREATOR;
17060  }
17061
17062  public static final class SharedConnectivitySettingsState.Builder {
17063    ctor public SharedConnectivitySettingsState.Builder();
17064    method @NonNull public android.net.wifi.sharedconnectivity.app.SharedConnectivitySettingsState build();
17065    method @NonNull public android.net.wifi.sharedconnectivity.app.SharedConnectivitySettingsState.Builder setExtras(@NonNull android.os.Bundle);
17066    method @NonNull public android.net.wifi.sharedconnectivity.app.SharedConnectivitySettingsState.Builder setInstantTetherEnabled(boolean);
17067    method @NonNull public android.net.wifi.sharedconnectivity.app.SharedConnectivitySettingsState.Builder setInstantTetherSettingsPendingIntent(@NonNull android.app.PendingIntent);
17068  }
17069
17070}
17071
17072package android.net.wifi.sharedconnectivity.service {
17073
17074  public abstract class SharedConnectivityService extends android.app.Service {
17075    ctor public SharedConnectivityService();
17076    method public static boolean areHotspotNetworksEnabledForService(@NonNull android.content.Context);
17077    method public static boolean areKnownNetworksEnabledForService(@NonNull android.content.Context);
17078    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
17079    method public abstract void onConnectHotspotNetwork(@NonNull android.net.wifi.sharedconnectivity.app.HotspotNetwork);
17080    method public abstract void onConnectKnownNetwork(@NonNull android.net.wifi.sharedconnectivity.app.KnownNetwork);
17081    method public abstract void onDisconnectHotspotNetwork(@NonNull android.net.wifi.sharedconnectivity.app.HotspotNetwork);
17082    method public abstract void onForgetKnownNetwork(@NonNull android.net.wifi.sharedconnectivity.app.KnownNetwork);
17083    method public final void setHotspotNetworks(@NonNull java.util.List<android.net.wifi.sharedconnectivity.app.HotspotNetwork>);
17084    method public final void setKnownNetworks(@NonNull java.util.List<android.net.wifi.sharedconnectivity.app.KnownNetwork>);
17085    method public final void setSettingsState(@NonNull android.net.wifi.sharedconnectivity.app.SharedConnectivitySettingsState);
17086    method public final void updateHotspotNetworkConnectionStatus(@NonNull android.net.wifi.sharedconnectivity.app.HotspotNetworkConnectionStatus);
17087    method public final void updateKnownNetworkConnectionStatus(@NonNull android.net.wifi.sharedconnectivity.app.KnownNetworkConnectionStatus);
17088  }
17089
17090}
17091
17092package android.net.wifi.twt {
17093
17094  public final class TwtRequest implements android.os.Parcelable {
17095    method public int describeContents();
17096    method @IntRange(from=android.net.wifi.MloLink.INVALID_MLO_LINK_ID, to=0xf) public int getLinkId();
17097    method public int getMaxWakeDurationMicros();
17098    method public long getMaxWakeIntervalMicros();
17099    method public int getMinWakeDurationMicros();
17100    method public long getMinWakeIntervalMicros();
17101    method public void writeToParcel(@NonNull android.os.Parcel, int);
17102    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.twt.TwtRequest> CREATOR;
17103  }
17104
17105  public static final class TwtRequest.Builder {
17106    ctor public TwtRequest.Builder(int, int, long, long);
17107    method @NonNull public android.net.wifi.twt.TwtRequest build();
17108    method @NonNull public android.net.wifi.twt.TwtRequest.Builder setLinkId(@IntRange(from=0x0, to=0xf) int);
17109  }
17110
17111  public interface TwtSession {
17112    method public int getMloLinkId();
17113    method public void getStats(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.os.Bundle>);
17114    method public int getWakeDurationMicros();
17115    method public long getWakeIntervalMicros();
17116    method public void teardown();
17117    field public static final String TWT_STATS_KEY_INT_AVERAGE_EOSP_DURATION_MICROS = "key_avg_eosp_dur";
17118    field public static final String TWT_STATS_KEY_INT_AVERAGE_RX_PACKET_COUNT = "key_avg_rx_pkt_count";
17119    field public static final String TWT_STATS_KEY_INT_AVERAGE_RX_PACKET_SIZE = "key_avg_rx_pkt_size";
17120    field public static final String TWT_STATS_KEY_INT_AVERAGE_TX_PACKET_COUNT = "key_avg_tx_pkt_count";
17121    field public static final String TWT_STATS_KEY_INT_AVERAGE_TX_PACKET_SIZE = "key_avg_tx_pkt_size";
17122    field public static final String TWT_STATS_KEY_INT_EOSP_COUNT = "key_eosp_count";
17123  }
17124
17125  public interface TwtSessionCallback {
17126    method public void onCreate(@NonNull android.net.wifi.twt.TwtSession);
17127    method public void onFailure(int);
17128    method public void onTeardown(int);
17129    field public static final int TWT_ERROR_CODE_AP_NOT_SUPPORTED = 1; // 0x1
17130    field public static final int TWT_ERROR_CODE_AP_OUI_BLOCKLISTED = 2; // 0x2
17131    field public static final int TWT_ERROR_CODE_AP_REJECTED = 3; // 0x3
17132    field public static final int TWT_ERROR_CODE_FAIL = 0; // 0x0
17133    field public static final int TWT_ERROR_CODE_INVALID_PARAMS = 4; // 0x4
17134    field public static final int TWT_ERROR_CODE_MAX_SESSIONS_REACHED = 5; // 0x5
17135    field public static final int TWT_ERROR_CODE_NOT_AVAILABLE = 6; // 0x6
17136    field public static final int TWT_ERROR_CODE_NOT_SUPPORTED = 7; // 0x7
17137    field public static final int TWT_ERROR_CODE_TIMEOUT = 8; // 0x8
17138    field public static final int TWT_REASON_CODE_INTERNALLY_INITIATED = 2; // 0x2
17139    field public static final int TWT_REASON_CODE_LOCALLY_REQUESTED = 1; // 0x1
17140    field public static final int TWT_REASON_CODE_PEER_INITIATED = 3; // 0x3
17141    field public static final int TWT_REASON_CODE_UNKNOWN = 0; // 0x0
17142  }
17143
17144}
17145
17146package android.nfc {
17147
17148  public final class NfcAdapter {
17149    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean addNfcUnlockHandler(android.nfc.NfcAdapter.NfcUnlockHandler, String[]);
17150    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean disable();
17151    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean disable(boolean);
17152    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean enable();
17153    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean enableReaderOption(boolean);
17154    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean enableSecureNfc(boolean);
17155    method public int getAdapterState();
17156    method @NonNull @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public java.util.Map<java.lang.String,java.lang.Boolean> getTagIntentAppPreferenceForUser(int);
17157    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public boolean isControllerAlwaysOn();
17158    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public boolean isControllerAlwaysOnSupported();
17159    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean isTagIntentAppPreferenceSupported();
17160    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public void registerControllerAlwaysOnListener(@NonNull java.util.concurrent.Executor, @NonNull android.nfc.NfcAdapter.ControllerAlwaysOnListener);
17161    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void registerNfcVendorNciCallback(@NonNull java.util.concurrent.Executor, @NonNull android.nfc.NfcAdapter.NfcVendorNciCallback);
17162    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean removeNfcUnlockHandler(android.nfc.NfcAdapter.NfcUnlockHandler);
17163    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public int sendVendorNciMessage(int, @IntRange(from=0, to=15) int, @IntRange(from=0) int, @NonNull byte[]);
17164    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public boolean setControllerAlwaysOn(boolean);
17165    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void setReaderModePollingEnabled(boolean);
17166    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public int setTagIntentAppPreferenceForUser(int, @NonNull String, boolean);
17167    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public void unregisterControllerAlwaysOnListener(@NonNull android.nfc.NfcAdapter.ControllerAlwaysOnListener);
17168    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void unregisterNfcVendorNciCallback(@NonNull android.nfc.NfcAdapter.NfcVendorNciCallback);
17169    field public static final String ACTION_REQUIRE_UNLOCK_FOR_NFC = "android.nfc.action.REQUIRE_UNLOCK_FOR_NFC";
17170    field @RequiresPermission(android.Manifest.permission.SHOW_CUSTOMIZED_RESOLVER) public static final String ACTION_SHOW_NFC_RESOLVER = "android.nfc.action.SHOW_NFC_RESOLVER";
17171    field public static final String EXTRA_RESOLVE_INFOS = "android.nfc.extra.RESOLVE_INFOS";
17172    field public static final int MESSAGE_TYPE_COMMAND = 1; // 0x1
17173    field public static final int SEND_VENDOR_NCI_STATUS_FAILED = 3; // 0x3
17174    field public static final int SEND_VENDOR_NCI_STATUS_MESSAGE_CORRUPTED = 2; // 0x2
17175    field public static final int SEND_VENDOR_NCI_STATUS_REJECTED = 1; // 0x1
17176    field public static final int SEND_VENDOR_NCI_STATUS_SUCCESS = 0; // 0x0
17177    field public static final int TAG_INTENT_APP_PREF_RESULT_PACKAGE_NOT_FOUND = -1; // 0xffffffff
17178    field public static final int TAG_INTENT_APP_PREF_RESULT_SUCCESS = 0; // 0x0
17179    field public static final int TAG_INTENT_APP_PREF_RESULT_UNAVAILABLE = -2; // 0xfffffffe
17180  }
17181
17182  public static interface NfcAdapter.ControllerAlwaysOnListener {
17183    method public void onControllerAlwaysOnChanged(boolean);
17184  }
17185
17186  public static interface NfcAdapter.NfcUnlockHandler {
17187    method public boolean onUnlockAttempted(android.nfc.Tag);
17188  }
17189
17190  public static interface NfcAdapter.NfcVendorNciCallback {
17191    method public void onVendorNciNotification(@IntRange(from=9, to=15) int, int, @NonNull byte[]);
17192    method public void onVendorNciResponse(@IntRange(from=0, to=15) int, int, @NonNull byte[]);
17193  }
17194
17195}
17196
17197package android.nfc.cardemulation {
17198
17199  @FlaggedApi("android.nfc.enable_nfc_mainline") public final class AidGroup implements android.os.Parcelable {
17200    ctor @FlaggedApi("android.nfc.enable_nfc_mainline") public AidGroup(@NonNull java.util.List<java.lang.String>, @Nullable String);
17201    method @FlaggedApi("android.nfc.enable_nfc_mainline") @Nullable public static android.nfc.cardemulation.AidGroup createFromXml(@NonNull org.xmlpull.v1.XmlPullParser) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
17202    method @FlaggedApi("android.nfc.enable_nfc_mainline") public int describeContents();
17203    method @FlaggedApi("android.nfc.enable_nfc_mainline") public void dump(@NonNull android.util.proto.ProtoOutputStream);
17204    method @FlaggedApi("android.nfc.enable_nfc_mainline") @NonNull public java.util.List<java.lang.String> getAids();
17205    method @FlaggedApi("android.nfc.enable_nfc_mainline") @NonNull public String getCategory();
17206    method @FlaggedApi("android.nfc.enable_nfc_mainline") public void writeAsXml(@NonNull org.xmlpull.v1.XmlSerializer) throws java.io.IOException;
17207    method @FlaggedApi("android.nfc.enable_nfc_mainline") public void writeToParcel(@NonNull android.os.Parcel, int);
17208    field @FlaggedApi("android.nfc.enable_nfc_mainline") @NonNull public static final android.os.Parcelable.Creator<android.nfc.cardemulation.AidGroup> CREATOR;
17209  }
17210
17211  @FlaggedApi("android.nfc.enable_nfc_mainline") public final class ApduServiceInfo implements android.os.Parcelable {
17212    ctor @FlaggedApi("android.nfc.enable_nfc_mainline") public ApduServiceInfo(@NonNull android.content.pm.PackageManager, @NonNull android.content.pm.ResolveInfo, boolean) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
17213    method @FlaggedApi("android.nfc.nfc_read_polling_loop") public void addPollingLoopFilter(@NonNull String, boolean);
17214    method @FlaggedApi("android.nfc.nfc_read_polling_loop") public void addPollingLoopPatternFilter(@NonNull String, boolean);
17215    method @FlaggedApi("android.nfc.enable_nfc_mainline") public int describeContents();
17216    method @FlaggedApi("android.nfc.enable_nfc_mainline") public void dump(@NonNull android.os.ParcelFileDescriptor, @NonNull java.io.PrintWriter, @NonNull String[]);
17217    method @FlaggedApi("android.nfc.enable_nfc_mainline") public void dumpDebug(@NonNull android.util.proto.ProtoOutputStream);
17218    method @FlaggedApi("android.nfc.enable_nfc_mainline") @NonNull public java.util.List<android.nfc.cardemulation.AidGroup> getAidGroups();
17219    method @FlaggedApi("android.nfc.enable_nfc_mainline") @NonNull public java.util.List<java.lang.String> getAids();
17220    method @FlaggedApi("android.nfc.enable_nfc_mainline") @NonNull public String getCategoryForAid(@NonNull String);
17221    method @FlaggedApi("android.nfc.enable_nfc_mainline") @NonNull public android.content.ComponentName getComponent();
17222    method @FlaggedApi("android.nfc.enable_nfc_mainline") @NonNull public String getDescription();
17223    method @FlaggedApi("android.nfc.enable_nfc_mainline") @NonNull public android.nfc.cardemulation.AidGroup getDynamicAidGroupForCategory(@NonNull String);
17224    method @FlaggedApi("android.nfc.enable_nfc_mainline") @Nullable public String getOffHostSecureElement();
17225    method @FlaggedApi("android.nfc.nfc_read_polling_loop") @NonNull public java.util.List<java.lang.String> getPollingLoopFilters();
17226    method @FlaggedApi("android.nfc.nfc_read_polling_loop") @NonNull public java.util.List<java.util.regex.Pattern> getPollingLoopPatternFilters();
17227    method @FlaggedApi("android.nfc.enable_nfc_mainline") @NonNull public java.util.List<java.lang.String> getPrefixAids();
17228    method @FlaggedApi("android.nfc.enable_nfc_mainline") @NonNull public String getSettingsActivityName();
17229    method @FlaggedApi("android.nfc.nfc_read_polling_loop") public boolean getShouldAutoTransact(@NonNull String);
17230    method @FlaggedApi("android.nfc.enable_nfc_mainline") @NonNull public java.util.List<java.lang.String> getSubsetAids();
17231    method @FlaggedApi("android.nfc.enable_nfc_mainline") public int getUid();
17232    method @FlaggedApi("android.nfc.enable_nfc_mainline") public boolean hasCategory(@NonNull String);
17233    method @FlaggedApi("android.nfc.enable_nfc_mainline") public boolean isCategoryOtherServiceEnabled();
17234    method @FlaggedApi("android.nfc.enable_nfc_mainline") public boolean isOnHost();
17235    method @FlaggedApi("android.nfc.enable_nfc_mainline") @NonNull public CharSequence loadAppLabel(@NonNull android.content.pm.PackageManager);
17236    method @FlaggedApi("android.nfc.enable_nfc_mainline") @NonNull public android.graphics.drawable.Drawable loadBanner(@NonNull android.content.pm.PackageManager);
17237    method @FlaggedApi("android.nfc.enable_nfc_mainline") @NonNull public android.graphics.drawable.Drawable loadIcon(@NonNull android.content.pm.PackageManager);
17238    method @FlaggedApi("android.nfc.enable_nfc_mainline") @NonNull public CharSequence loadLabel(@NonNull android.content.pm.PackageManager);
17239    method @FlaggedApi("android.nfc.enable_nfc_mainline") @NonNull public boolean removeDynamicAidGroupForCategory(@NonNull String);
17240    method @FlaggedApi("android.nfc.nfc_read_polling_loop") public void removePollingLoopFilter(@NonNull String);
17241    method @FlaggedApi("android.nfc.nfc_read_polling_loop") public void removePollingLoopPatternFilter(@NonNull String);
17242    method @FlaggedApi("android.nfc.enable_nfc_mainline") public boolean requiresScreenOn();
17243    method @FlaggedApi("android.nfc.enable_nfc_mainline") public boolean requiresUnlock();
17244    method @FlaggedApi("android.nfc.enable_nfc_mainline") public void resetOffHostSecureElement();
17245    method @FlaggedApi("android.nfc.enable_nfc_mainline") public void setCategoryOtherServiceEnabled(boolean);
17246    method @FlaggedApi("android.nfc.enable_nfc_mainline") public void setDynamicAidGroup(@NonNull android.nfc.cardemulation.AidGroup);
17247    method @FlaggedApi("android.nfc.enable_nfc_mainline") public void setOffHostSecureElement(@NonNull String);
17248    method @FlaggedApi("android.nfc.nfc_observe_mode") public void setShouldDefaultToObserveMode(boolean);
17249    method @FlaggedApi("android.nfc.nfc_associated_role_services") public boolean shareRolePriority();
17250    method @FlaggedApi("android.nfc.nfc_observe_mode") public boolean shouldDefaultToObserveMode();
17251    method @FlaggedApi("android.nfc.enable_nfc_mainline") public void writeToParcel(@NonNull android.os.Parcel, int);
17252    field @FlaggedApi("android.nfc.enable_nfc_mainline") @NonNull public static final android.os.Parcelable.Creator<android.nfc.cardemulation.ApduServiceInfo> CREATOR;
17253    field @FlaggedApi("android.permission.flags.wallet_role_icon_property_enabled") public static final String PROPERTY_WALLET_PREFERRED_BANNER_AND_LABEL = "android.nfc.cardemulation.PROPERTY_WALLET_PREFERRED_BANNER_AND_LABEL";
17254  }
17255
17256  public final class CardEmulation {
17257    method @Nullable @RequiresPermission(android.Manifest.permission.NFC_PREFERRED_PAYMENT_INFO) public static android.content.ComponentName getPreferredPaymentService(@NonNull android.content.Context);
17258    method @NonNull public java.util.List<android.nfc.cardemulation.ApduServiceInfo> getServices(@NonNull String, int);
17259  }
17260
17261  @FlaggedApi("android.nfc.enable_nfc_mainline") public final class NfcFServiceInfo implements android.os.Parcelable {
17262    ctor @FlaggedApi("android.nfc.enable_nfc_mainline") public NfcFServiceInfo(@NonNull android.content.pm.PackageManager, @NonNull android.content.pm.ResolveInfo) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
17263    method @FlaggedApi("android.nfc.enable_nfc_mainline") public int describeContents();
17264    method @FlaggedApi("android.nfc.enable_nfc_mainline") public void dump(@NonNull android.os.ParcelFileDescriptor, @NonNull java.io.PrintWriter, @NonNull String[]);
17265    method @FlaggedApi("android.nfc.enable_nfc_mainline") public void dumpDebug(@NonNull android.util.proto.ProtoOutputStream);
17266    method @FlaggedApi("android.nfc.enable_nfc_mainline") @NonNull public android.content.ComponentName getComponent();
17267    method @FlaggedApi("android.nfc.enable_nfc_mainline") @NonNull public String getDescription();
17268    method @FlaggedApi("android.nfc.enable_nfc_mainline") @NonNull public String getNfcid2();
17269    method @FlaggedApi("android.nfc.enable_nfc_mainline") @NonNull public String getSystemCode();
17270    method @FlaggedApi("android.nfc.enable_nfc_mainline") @NonNull public String getT3tPmm();
17271    method @FlaggedApi("android.nfc.enable_nfc_mainline") public int getUid();
17272    method @FlaggedApi("android.nfc.enable_nfc_mainline") @NonNull public android.graphics.drawable.Drawable loadIcon(@NonNull android.content.pm.PackageManager);
17273    method @FlaggedApi("android.nfc.enable_nfc_mainline") @NonNull public CharSequence loadLabel(@NonNull android.content.pm.PackageManager);
17274    method @FlaggedApi("android.nfc.enable_nfc_mainline") public void setDynamicNfcid2(@NonNull String);
17275    method @FlaggedApi("android.nfc.enable_nfc_mainline") public void setDynamicSystemCode(@NonNull String);
17276    method @FlaggedApi("android.nfc.enable_nfc_mainline") public void writeToParcel(@NonNull android.os.Parcel, int);
17277    field @FlaggedApi("android.nfc.enable_nfc_mainline") @NonNull public static final android.os.Parcelable.Creator<android.nfc.cardemulation.NfcFServiceInfo> CREATOR;
17278  }
17279
17280}
17281
17282package android.os {
17283
17284  public class BatteryManager {
17285    method @RequiresPermission(android.Manifest.permission.POWER_SAVER) public boolean setChargingStateUpdateDelayMillis(int);
17286    field @RequiresPermission(android.Manifest.permission.BATTERY_STATS) public static final int BATTERY_PROPERTY_CHARGING_POLICY = 9; // 0x9
17287    field @RequiresPermission(android.Manifest.permission.BATTERY_STATS) public static final int BATTERY_PROPERTY_FIRST_USAGE_DATE = 8; // 0x8
17288    field @RequiresPermission(android.Manifest.permission.BATTERY_STATS) public static final int BATTERY_PROPERTY_MANUFACTURING_DATE = 7; // 0x7
17289    field @FlaggedApi("android.os.battery_part_status_api") @RequiresPermission(android.Manifest.permission.BATTERY_STATS) public static final int BATTERY_PROPERTY_PART_STATUS = 12; // 0xc
17290    field @FlaggedApi("android.os.battery_part_status_api") @RequiresPermission(android.Manifest.permission.BATTERY_STATS) public static final int BATTERY_PROPERTY_SERIAL_NUMBER = 11; // 0xb
17291    field public static final int CHARGING_POLICY_ADAPTIVE_AC = 3; // 0x3
17292    field public static final int CHARGING_POLICY_ADAPTIVE_AON = 2; // 0x2
17293    field public static final int CHARGING_POLICY_ADAPTIVE_LONGLIFE = 4; // 0x4
17294    field public static final int CHARGING_POLICY_DEFAULT = 1; // 0x1
17295    field public static final String EXTRA_EVENTS = "android.os.extra.EVENTS";
17296    field public static final String EXTRA_EVENT_TIMESTAMP = "android.os.extra.EVENT_TIMESTAMP";
17297    field @FlaggedApi("android.os.battery_part_status_api") public static final int PART_STATUS_ORIGINAL = 1; // 0x1
17298    field @FlaggedApi("android.os.battery_part_status_api") public static final int PART_STATUS_REPLACED = 2; // 0x2
17299    field @FlaggedApi("android.os.battery_part_status_api") public static final int PART_STATUS_UNSUPPORTED = 0; // 0x0
17300  }
17301
17302  public final class BatterySaverPolicyConfig implements android.os.Parcelable {
17303    method public int describeContents();
17304    method public float getAdjustBrightnessFactor();
17305    method public boolean getAdvertiseIsEnabled();
17306    method public boolean getDeferFullBackup();
17307    method public boolean getDeferKeyValueBackup();
17308    method @NonNull public java.util.Map<java.lang.String,java.lang.String> getDeviceSpecificSettings();
17309    method public boolean getDisableAnimation();
17310    method public boolean getDisableAod();
17311    method public boolean getDisableLaunchBoost();
17312    method public boolean getDisableOptionalSensors();
17313    method @Deprecated public boolean getDisableSoundTrigger();
17314    method public boolean getDisableVibration();
17315    method public boolean getEnableAdjustBrightness();
17316    method public boolean getEnableDataSaver();
17317    method public boolean getEnableFirewall();
17318    method public boolean getEnableNightMode();
17319    method public boolean getEnableQuickDoze();
17320    method public boolean getForceAllAppsStandby();
17321    method public boolean getForceBackgroundCheck();
17322    method public int getLocationMode();
17323    method public int getSoundTriggerMode();
17324    method public void writeToParcel(android.os.Parcel, int);
17325    field @NonNull public static final android.os.Parcelable.Creator<android.os.BatterySaverPolicyConfig> CREATOR;
17326  }
17327
17328  public static final class BatterySaverPolicyConfig.Builder {
17329    ctor public BatterySaverPolicyConfig.Builder();
17330    ctor public BatterySaverPolicyConfig.Builder(@NonNull android.os.BatterySaverPolicyConfig);
17331    method @NonNull public android.os.BatterySaverPolicyConfig.Builder addDeviceSpecificSetting(@NonNull String, @NonNull String);
17332    method @NonNull public android.os.BatterySaverPolicyConfig build();
17333    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setAdjustBrightnessFactor(float);
17334    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setAdvertiseIsEnabled(boolean);
17335    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDeferFullBackup(boolean);
17336    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDeferKeyValueBackup(boolean);
17337    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableAnimation(boolean);
17338    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableAod(boolean);
17339    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableLaunchBoost(boolean);
17340    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableOptionalSensors(boolean);
17341    method @Deprecated @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableSoundTrigger(boolean);
17342    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableVibration(boolean);
17343    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setEnableAdjustBrightness(boolean);
17344    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setEnableDataSaver(boolean);
17345    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setEnableFirewall(boolean);
17346    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setEnableNightMode(boolean);
17347    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setEnableQuickDoze(boolean);
17348    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setForceAllAppsStandby(boolean);
17349    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setForceBackgroundCheck(boolean);
17350    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setLocationMode(int);
17351    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setSoundTriggerMode(int);
17352  }
17353
17354  public final class BatteryStatsManager {
17355    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.BATTERY_STATS, android.Manifest.permission.UPDATE_DEVICE_STATS}) public android.os.connectivity.CellularBatteryStats getCellularBatteryStats();
17356    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.BATTERY_STATS, android.Manifest.permission.UPDATE_DEVICE_STATS}) public android.os.connectivity.WifiBatteryStats getWifiBatteryStats();
17357    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportBleScanReset();
17358    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportBleScanResults(@NonNull android.os.WorkSource, int);
17359    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportBleScanStarted(@NonNull android.os.WorkSource, boolean);
17360    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportBleScanStopped(@NonNull android.os.WorkSource, boolean);
17361    method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void reportBluetoothOff(int, int, @NonNull String);
17362    method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void reportBluetoothOn(int, int, @NonNull String);
17363    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportFullWifiLockAcquiredFromSource(@NonNull android.os.WorkSource);
17364    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportFullWifiLockReleasedFromSource(@NonNull android.os.WorkSource);
17365    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportMobileRadioPowerState(boolean, int);
17366    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiBatchedScanStartedFromSource(@NonNull android.os.WorkSource, @IntRange(from=0) int);
17367    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiBatchedScanStoppedFromSource(@NonNull android.os.WorkSource);
17368    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiMulticastDisabled(@NonNull android.os.WorkSource);
17369    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiMulticastEnabled(@NonNull android.os.WorkSource);
17370    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiOff();
17371    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiOn();
17372    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiRadioPowerState(boolean, int);
17373    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiRssiChanged(@IntRange(from=0xffffff81, to=0) int);
17374    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiScanStartedFromSource(@NonNull android.os.WorkSource);
17375    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiScanStoppedFromSource(@NonNull android.os.WorkSource);
17376    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiState(int, @Nullable String);
17377    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiSupplicantStateChanged(int, boolean);
17378    field public static final int WIFI_STATE_OFF = 0; // 0x0
17379    field public static final int WIFI_STATE_OFF_SCANNING = 1; // 0x1
17380    field public static final int WIFI_STATE_ON_CONNECTED_P2P = 5; // 0x5
17381    field public static final int WIFI_STATE_ON_CONNECTED_STA = 4; // 0x4
17382    field public static final int WIFI_STATE_ON_CONNECTED_STA_P2P = 6; // 0x6
17383    field public static final int WIFI_STATE_ON_DISCONNECTED = 3; // 0x3
17384    field public static final int WIFI_STATE_ON_NO_NETWORKS = 2; // 0x2
17385    field public static final int WIFI_STATE_SOFT_AP = 7; // 0x7
17386    field public static final int WIFI_SUPPL_STATE_ASSOCIATED = 7; // 0x7
17387    field public static final int WIFI_SUPPL_STATE_ASSOCIATING = 6; // 0x6
17388    field public static final int WIFI_SUPPL_STATE_AUTHENTICATING = 5; // 0x5
17389    field public static final int WIFI_SUPPL_STATE_COMPLETED = 10; // 0xa
17390    field public static final int WIFI_SUPPL_STATE_DISCONNECTED = 1; // 0x1
17391    field public static final int WIFI_SUPPL_STATE_DORMANT = 11; // 0xb
17392    field public static final int WIFI_SUPPL_STATE_FOUR_WAY_HANDSHAKE = 8; // 0x8
17393    field public static final int WIFI_SUPPL_STATE_GROUP_HANDSHAKE = 9; // 0x9
17394    field public static final int WIFI_SUPPL_STATE_INACTIVE = 3; // 0x3
17395    field public static final int WIFI_SUPPL_STATE_INTERFACE_DISABLED = 2; // 0x2
17396    field public static final int WIFI_SUPPL_STATE_INVALID = 0; // 0x0
17397    field public static final int WIFI_SUPPL_STATE_SCANNING = 4; // 0x4
17398    field public static final int WIFI_SUPPL_STATE_UNINITIALIZED = 12; // 0xc
17399  }
17400
17401  public class Binder implements android.os.IBinder {
17402    method public int handleShellCommand(@NonNull android.os.ParcelFileDescriptor, @NonNull android.os.ParcelFileDescriptor, @NonNull android.os.ParcelFileDescriptor, @NonNull String[]);
17403    method public final void markVintfStability();
17404    method public static void setProxyTransactListener(@Nullable android.os.Binder.ProxyTransactListener);
17405  }
17406
17407  public static interface Binder.ProxyTransactListener {
17408    method public void onTransactEnded(@Nullable Object);
17409    method @Nullable public Object onTransactStarted(@NonNull android.os.IBinder, int);
17410  }
17411
17412  public final class BugreportManager {
17413    method @RequiresPermission(android.Manifest.permission.DUMP) @WorkerThread public void preDumpUiData();
17414    method @RequiresPermission(android.Manifest.permission.DUMP) public void requestBugreport(@NonNull android.os.BugreportParams, @Nullable CharSequence, @Nullable CharSequence);
17415    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);
17416    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);
17417  }
17418
17419  public abstract static class BugreportManager.BugreportCallback {
17420    method public void onFinished(@NonNull String);
17421  }
17422
17423  public final class BugreportParams {
17424    ctor public BugreportParams(int);
17425    ctor public BugreportParams(int, int);
17426    method public int getFlags();
17427    method public int getMode();
17428    field public static final int BUGREPORT_FLAG_DEFER_CONSENT = 2; // 0x2
17429    field @FlaggedApi("android.app.admin.flags.onboarding_bugreport_v2_enabled") public static final int BUGREPORT_FLAG_KEEP_BUGREPORT_ON_RETRIEVAL = 4; // 0x4
17430    field public static final int BUGREPORT_FLAG_USE_PREDUMPED_UI_DATA = 1; // 0x1
17431    field public static final int BUGREPORT_MODE_FULL = 0; // 0x0
17432    field public static final int BUGREPORT_MODE_INTERACTIVE = 1; // 0x1
17433    field @FlaggedApi("android.app.admin.flags.onboarding_bugreport_v2_enabled") public static final int BUGREPORT_MODE_ONBOARDING = 7; // 0x7
17434    field public static final int BUGREPORT_MODE_REMOTE = 2; // 0x2
17435    field public static final int BUGREPORT_MODE_TELEPHONY = 4; // 0x4
17436    field public static final int BUGREPORT_MODE_WEAR = 3; // 0x3
17437    field public static final int BUGREPORT_MODE_WIFI = 5; // 0x5
17438  }
17439
17440  public static class Build.VERSION {
17441    field @NonNull public static final java.util.Set<java.lang.String> KNOWN_CODENAMES;
17442    field @NonNull public static final String PREVIEW_SDK_FINGERPRINT;
17443  }
17444
17445  public final class ConfigUpdate {
17446    field public static final String ACTION_UPDATE_CARRIER_ID_DB = "android.os.action.UPDATE_CARRIER_ID_DB";
17447    field public static final String ACTION_UPDATE_CARRIER_PROVISIONING_URLS = "android.intent.action.UPDATE_CARRIER_PROVISIONING_URLS";
17448    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final String ACTION_UPDATE_CONFIG = "android.os.action.UPDATE_CONFIG";
17449    field public static final String ACTION_UPDATE_CONVERSATION_ACTIONS = "android.intent.action.UPDATE_CONVERSATION_ACTIONS";
17450    field public static final String ACTION_UPDATE_CT_LOGS = "android.intent.action.UPDATE_CT_LOGS";
17451    field public static final String ACTION_UPDATE_EMERGENCY_NUMBER_DB = "android.os.action.UPDATE_EMERGENCY_NUMBER_DB";
17452    field public static final String ACTION_UPDATE_INTENT_FIREWALL = "android.intent.action.UPDATE_INTENT_FIREWALL";
17453    field public static final String ACTION_UPDATE_LANG_ID = "android.intent.action.UPDATE_LANG_ID";
17454    field public static final String ACTION_UPDATE_NETWORK_WATCHLIST = "android.intent.action.UPDATE_NETWORK_WATCHLIST";
17455    field public static final String ACTION_UPDATE_PINS = "android.intent.action.UPDATE_PINS";
17456    field public static final String ACTION_UPDATE_SMART_SELECTION = "android.intent.action.UPDATE_SMART_SELECTION";
17457    field public static final String ACTION_UPDATE_SMS_SHORT_CODES = "android.intent.action.UPDATE_SMS_SHORT_CODES";
17458    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final String EXTRA_DOMAIN = "android.os.extra.DOMAIN";
17459    field public static final String EXTRA_REQUIRED_HASH = "android.os.extra.REQUIRED_HASH";
17460    field public static final String EXTRA_VERSION = "android.os.extra.VERSION";
17461  }
17462
17463  public class DeviceIdleManager {
17464    method @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public void endIdle(@NonNull String);
17465  }
17466
17467  public class Environment {
17468    method @NonNull public static java.io.File getDataCePackageDirectoryForUser(@NonNull java.util.UUID, @NonNull android.os.UserHandle, @NonNull String);
17469    method @NonNull public static java.io.File getDataDePackageDirectoryForUser(@NonNull java.util.UUID, @NonNull android.os.UserHandle, @NonNull String);
17470    method @FlaggedApi("android.crashrecovery.flags.enable_crashrecovery") @NonNull public static java.io.File getDataSystemDeviceProtectedDirectory();
17471    method @NonNull public static java.util.Collection<java.io.File> getInternalMediaDirectories();
17472    method @NonNull public static java.io.File getOdmDirectory();
17473    method @NonNull public static java.io.File getOemDirectory();
17474    method @NonNull public static java.io.File getProductDirectory();
17475    method @Deprecated @NonNull public static java.io.File getProductServicesDirectory();
17476    method @NonNull public static java.io.File getSystemExtDirectory();
17477    method @NonNull public static java.io.File getVendorDirectory();
17478  }
17479
17480  public class HidlMemory implements java.io.Closeable {
17481    ctor public HidlMemory(@NonNull String, @IntRange(from=0) long, @Nullable android.os.NativeHandle);
17482    method public void close() throws java.io.IOException;
17483    method @NonNull public android.os.HidlMemory dup() throws java.io.IOException;
17484    method protected void finalize();
17485    method @Nullable public android.os.NativeHandle getHandle();
17486    method @NonNull public String getName();
17487    method public long getSize();
17488    method @Nullable public android.os.NativeHandle releaseHandle();
17489  }
17490
17491  public class HidlSupport {
17492    method public static boolean deepEquals(Object, Object);
17493    method public static int deepHashCode(Object);
17494    method public static int getPidIfSharable();
17495    method public static boolean interfacesEqual(android.os.IHwInterface, Object);
17496  }
17497
17498  public abstract class HwBinder implements android.os.IHwBinder {
17499    ctor public HwBinder();
17500    method public static final void configureRpcThreadpool(long, boolean);
17501    method public static void enableInstrumentation();
17502    method public static final android.os.IHwBinder getService(String, String) throws java.util.NoSuchElementException, android.os.RemoteException;
17503    method public static final android.os.IHwBinder getService(String, String, boolean) throws java.util.NoSuchElementException, android.os.RemoteException;
17504    method public static final void joinRpcThreadpool();
17505    method public abstract void onTransact(int, android.os.HwParcel, android.os.HwParcel, int) throws android.os.RemoteException;
17506    method public final void registerService(String) throws android.os.RemoteException;
17507    method public final void transact(int, android.os.HwParcel, android.os.HwParcel, int) throws android.os.RemoteException;
17508  }
17509
17510  public class HwBlob {
17511    ctor public HwBlob(int);
17512    method public final void copyToBoolArray(long, boolean[], int);
17513    method public final void copyToDoubleArray(long, double[], int);
17514    method public final void copyToFloatArray(long, float[], int);
17515    method public final void copyToInt16Array(long, short[], int);
17516    method public final void copyToInt32Array(long, int[], int);
17517    method public final void copyToInt64Array(long, long[], int);
17518    method public final void copyToInt8Array(long, byte[], int);
17519    method public final boolean getBool(long);
17520    method public final double getDouble(long);
17521    method public final long getFieldHandle(long);
17522    method public final float getFloat(long);
17523    method public final short getInt16(long);
17524    method public final int getInt32(long);
17525    method public final long getInt64(long);
17526    method public final byte getInt8(long);
17527    method public final String getString(long);
17528    method public final long handle();
17529    method public final void putBlob(long, android.os.HwBlob);
17530    method public final void putBool(long, boolean);
17531    method public final void putBoolArray(long, boolean[]);
17532    method public final void putDouble(long, double);
17533    method public final void putDoubleArray(long, double[]);
17534    method public final void putFloat(long, float);
17535    method public final void putFloatArray(long, float[]);
17536    method public final void putHidlMemory(long, @NonNull android.os.HidlMemory);
17537    method public final void putInt16(long, short);
17538    method public final void putInt16Array(long, short[]);
17539    method public final void putInt32(long, int);
17540    method public final void putInt32Array(long, int[]);
17541    method public final void putInt64(long, long);
17542    method public final void putInt64Array(long, long[]);
17543    method public final void putInt8(long, byte);
17544    method public final void putInt8Array(long, byte[]);
17545    method public final void putNativeHandle(long, @Nullable android.os.NativeHandle);
17546    method public final void putString(long, String);
17547    method public static Boolean[] wrapArray(@NonNull boolean[]);
17548    method public static Byte[] wrapArray(@NonNull byte[]);
17549    method public static Double[] wrapArray(@NonNull double[]);
17550    method public static Float[] wrapArray(@NonNull float[]);
17551    method public static Integer[] wrapArray(@NonNull int[]);
17552    method public static Long[] wrapArray(@NonNull long[]);
17553    method public static Short[] wrapArray(@NonNull short[]);
17554  }
17555
17556  public class HwParcel {
17557    ctor public HwParcel();
17558    method public final void enforceInterface(String);
17559    method public final boolean readBool();
17560    method public final java.util.ArrayList<java.lang.Boolean> readBoolVector();
17561    method public final android.os.HwBlob readBuffer(long);
17562    method public final double readDouble();
17563    method public final java.util.ArrayList<java.lang.Double> readDoubleVector();
17564    method public final android.os.HwBlob readEmbeddedBuffer(long, long, long, boolean);
17565    method @NonNull public final android.os.HidlMemory readEmbeddedHidlMemory(long, long, long);
17566    method @Nullable public final android.os.NativeHandle readEmbeddedNativeHandle(long, long);
17567    method public final float readFloat();
17568    method public final java.util.ArrayList<java.lang.Float> readFloatVector();
17569    method @NonNull public final android.os.HidlMemory readHidlMemory();
17570    method public final short readInt16();
17571    method public final java.util.ArrayList<java.lang.Short> readInt16Vector();
17572    method public final int readInt32();
17573    method public final java.util.ArrayList<java.lang.Integer> readInt32Vector();
17574    method public final long readInt64();
17575    method public final java.util.ArrayList<java.lang.Long> readInt64Vector();
17576    method public final byte readInt8();
17577    method public final java.util.ArrayList<java.lang.Byte> readInt8Vector();
17578    method @Nullable public final android.os.NativeHandle readNativeHandle();
17579    method @NonNull public final java.util.ArrayList<android.os.NativeHandle> readNativeHandleVector();
17580    method public final String readString();
17581    method public final java.util.ArrayList<java.lang.String> readStringVector();
17582    method public final android.os.IHwBinder readStrongBinder();
17583    method public final void release();
17584    method public final void releaseTemporaryStorage();
17585    method public final void send();
17586    method public final void verifySuccess();
17587    method public final void writeBool(boolean);
17588    method public final void writeBoolVector(java.util.ArrayList<java.lang.Boolean>);
17589    method public final void writeBuffer(android.os.HwBlob);
17590    method public final void writeDouble(double);
17591    method public final void writeDoubleVector(java.util.ArrayList<java.lang.Double>);
17592    method public final void writeFloat(float);
17593    method public final void writeFloatVector(java.util.ArrayList<java.lang.Float>);
17594    method public final void writeHidlMemory(@NonNull android.os.HidlMemory);
17595    method public final void writeInt16(short);
17596    method public final void writeInt16Vector(java.util.ArrayList<java.lang.Short>);
17597    method public final void writeInt32(int);
17598    method public final void writeInt32Vector(java.util.ArrayList<java.lang.Integer>);
17599    method public final void writeInt64(long);
17600    method public final void writeInt64Vector(java.util.ArrayList<java.lang.Long>);
17601    method public final void writeInt8(byte);
17602    method public final void writeInt8Vector(java.util.ArrayList<java.lang.Byte>);
17603    method public final void writeInterfaceToken(String);
17604    method public final void writeNativeHandle(@Nullable android.os.NativeHandle);
17605    method public final void writeNativeHandleVector(@NonNull java.util.ArrayList<android.os.NativeHandle>);
17606    method public final void writeStatus(int);
17607    method public final void writeString(String);
17608    method public final void writeStringVector(java.util.ArrayList<java.lang.String>);
17609    method public final void writeStrongBinder(android.os.IHwBinder);
17610    field public static final int STATUS_SUCCESS = 0; // 0x0
17611  }
17612
17613  public interface IHwBinder {
17614    method public boolean linkToDeath(android.os.IHwBinder.DeathRecipient, long);
17615    method public android.os.IHwInterface queryLocalInterface(String);
17616    method public void transact(int, android.os.HwParcel, android.os.HwParcel, int) throws android.os.RemoteException;
17617    method public boolean unlinkToDeath(android.os.IHwBinder.DeathRecipient);
17618  }
17619
17620  public static interface IHwBinder.DeathRecipient {
17621    method public void serviceDied(long);
17622  }
17623
17624  public interface IHwInterface {
17625    method public android.os.IHwBinder asBinder();
17626  }
17627
17628  public class IncidentManager {
17629    method @RequiresPermission(android.Manifest.permission.APPROVE_INCIDENT_REPORTS) public void approveReport(android.net.Uri);
17630    method @RequiresPermission("android.permission.REQUEST_INCIDENT_REPORT_APPROVAL") public void cancelAuthorization(android.os.IncidentManager.AuthListener);
17631    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void deleteIncidentReports(android.net.Uri);
17632    method @RequiresPermission(android.Manifest.permission.APPROVE_INCIDENT_REPORTS) public void denyReport(android.net.Uri);
17633    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public android.os.IncidentManager.IncidentReport getIncidentReport(android.net.Uri);
17634    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public java.util.List<android.net.Uri> getIncidentReportList(String);
17635    method @RequiresPermission(android.Manifest.permission.APPROVE_INCIDENT_REPORTS) public java.util.List<android.os.IncidentManager.PendingReport> getPendingReports();
17636    method public void registerSection(int, @NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.os.IncidentManager.DumpCallback);
17637    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void reportIncident(android.os.IncidentReportArgs);
17638    method @RequiresPermission("android.permission.REQUEST_INCIDENT_REPORT_APPROVAL") public void requestAuthorization(int, String, int, android.os.IncidentManager.AuthListener);
17639    method public void unregisterSection(int);
17640    field public static final int FLAG_ALLOW_CONSENTLESS_BUGREPORT = 2; // 0x2
17641    field public static final int FLAG_CONFIRMATION_DIALOG = 1; // 0x1
17642    field public static final int PRIVACY_POLICY_AUTO = 200; // 0xc8
17643    field public static final int PRIVACY_POLICY_EXPLICIT = 100; // 0x64
17644    field public static final int PRIVACY_POLICY_LOCAL = 0; // 0x0
17645  }
17646
17647  public static class IncidentManager.AuthListener {
17648    ctor public IncidentManager.AuthListener();
17649    method public void onReportApproved();
17650    method public void onReportDenied();
17651  }
17652
17653  public static class IncidentManager.DumpCallback {
17654    ctor public IncidentManager.DumpCallback();
17655    method public void onDumpSection(int, @NonNull java.io.OutputStream);
17656  }
17657
17658  public static class IncidentManager.IncidentReport implements java.io.Closeable android.os.Parcelable {
17659    ctor public IncidentManager.IncidentReport(android.os.Parcel);
17660    method public void close();
17661    method public int describeContents();
17662    method public java.io.InputStream getInputStream() throws java.io.IOException;
17663    method public long getPrivacyPolicy();
17664    method public long getTimestamp();
17665    method public void writeToParcel(android.os.Parcel, int);
17666    field @NonNull public static final android.os.Parcelable.Creator<android.os.IncidentManager.IncidentReport> CREATOR;
17667  }
17668
17669  public static class IncidentManager.PendingReport {
17670    ctor public IncidentManager.PendingReport(@NonNull android.net.Uri);
17671    method public int getFlags();
17672    method @NonNull public String getRequestingPackage();
17673    method public long getTimestamp();
17674    method @NonNull public android.net.Uri getUri();
17675  }
17676
17677  public final class IncidentReportArgs implements android.os.Parcelable {
17678    ctor public IncidentReportArgs();
17679    ctor public IncidentReportArgs(android.os.Parcel);
17680    method public void addHeader(byte[]);
17681    method public void addSection(int);
17682    method public boolean containsSection(int);
17683    method public int describeContents();
17684    method public boolean isAll();
17685    method public void readFromParcel(android.os.Parcel);
17686    method public int sectionCount();
17687    method public void setAll(boolean);
17688    method public void setPrivacyPolicy(int);
17689    method public void writeToParcel(android.os.Parcel, int);
17690    field @NonNull public static final android.os.Parcelable.Creator<android.os.IncidentReportArgs> CREATOR;
17691  }
17692
17693  public final class NativeHandle implements java.io.Closeable {
17694    ctor public NativeHandle();
17695    ctor public NativeHandle(@NonNull java.io.FileDescriptor, boolean);
17696    ctor public NativeHandle(@NonNull java.io.FileDescriptor[], @NonNull int[], boolean);
17697    method public void close() throws java.io.IOException;
17698    method @NonNull public android.os.NativeHandle dup() throws java.io.IOException;
17699    method @NonNull public java.io.FileDescriptor getFileDescriptor();
17700    method @NonNull public java.io.FileDescriptor[] getFileDescriptors();
17701    method @NonNull public int[] getInts();
17702    method public boolean hasSingleFileDescriptor();
17703  }
17704
17705  public final class NewUserRequest {
17706    method @Nullable public String getAccountName();
17707    method @Nullable public android.os.PersistableBundle getAccountOptions();
17708    method @Nullable public String getAccountType();
17709    method @Nullable public String getName();
17710    method @Nullable public android.graphics.Bitmap getUserIcon();
17711    method @NonNull public String getUserType();
17712    method public boolean isAdmin();
17713    method public boolean isEphemeral();
17714  }
17715
17716  public static final class NewUserRequest.Builder {
17717    ctor public NewUserRequest.Builder();
17718    method @NonNull public android.os.NewUserRequest build();
17719    method @NonNull public android.os.NewUserRequest.Builder setAccountName(@Nullable String);
17720    method @NonNull public android.os.NewUserRequest.Builder setAccountOptions(@Nullable android.os.PersistableBundle);
17721    method @NonNull public android.os.NewUserRequest.Builder setAccountType(@Nullable String);
17722    method @NonNull public android.os.NewUserRequest.Builder setAdmin();
17723    method @NonNull public android.os.NewUserRequest.Builder setEphemeral();
17724    method @NonNull public android.os.NewUserRequest.Builder setName(@Nullable String);
17725    method @NonNull public android.os.NewUserRequest.Builder setUserIcon(@Nullable android.graphics.Bitmap);
17726    method @NonNull public android.os.NewUserRequest.Builder setUserType(@NonNull String);
17727  }
17728
17729  public final class NewUserResponse {
17730    method public int getOperationResult();
17731    method @Nullable public android.os.UserHandle getUser();
17732    method public boolean isSuccessful();
17733  }
17734
17735  public interface Parcelable {
17736    method public default int getStability();
17737    field public static final int PARCELABLE_STABILITY_LOCAL = 0; // 0x0
17738    field public static final int PARCELABLE_STABILITY_VINTF = 1; // 0x1
17739  }
17740
17741  public final class ParcelableHolder implements android.os.Parcelable {
17742    ctor public ParcelableHolder(int);
17743    method public int describeContents();
17744    method @Nullable public <T extends android.os.Parcelable> T getParcelable(@NonNull Class<T>);
17745    method public int getStability();
17746    method public void readFromParcel(@NonNull android.os.Parcel);
17747    method public void setParcelable(@Nullable android.os.Parcelable);
17748    method public void writeToParcel(@NonNull android.os.Parcel, int);
17749    field @NonNull public static final android.os.Parcelable.Creator<android.os.ParcelableHolder> CREATOR;
17750  }
17751
17752  public class PowerExemptionManager {
17753    method @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public void addToTemporaryAllowList(@NonNull String, int, @Nullable String, long);
17754    method @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public long addToTemporaryAllowListForEvent(@NonNull String, int, @Nullable String, int);
17755    field public static final int EVENT_MMS = 2; // 0x2
17756    field public static final int EVENT_SMS = 1; // 0x1
17757    field public static final int EVENT_UNSPECIFIED = 0; // 0x0
17758    field public static final int REASON_ACCOUNT_TRANSFER = 104; // 0x68
17759    field public static final int REASON_ACTIVITY_RECOGNITION = 103; // 0x67
17760    field public static final int REASON_BLUETOOTH_BROADCAST = 203; // 0xcb
17761    field public static final int REASON_GEOFENCING = 100; // 0x64
17762    field public static final int REASON_LOCATION_PROVIDER = 312; // 0x138
17763    field public static final int REASON_OTHER = 1; // 0x1
17764    field public static final int REASON_PUSH_MESSAGING = 101; // 0x65
17765    field public static final int REASON_PUSH_MESSAGING_OVER_QUOTA = 102; // 0x66
17766    field public static final int REASON_REFRESH_SAFETY_SOURCES = 208; // 0xd0
17767    field public static final int REASON_UNKNOWN = 0; // 0x0
17768    field public static final int TEMPORARY_ALLOW_LIST_TYPE_FOREGROUND_SERVICE_ALLOWED = 0; // 0x0
17769    field public static final int TEMPORARY_ALLOW_LIST_TYPE_FOREGROUND_SERVICE_NOT_ALLOWED = 1; // 0x1
17770    field public static final int TEMPORARY_ALLOW_LIST_TYPE_NONE = -1; // 0xffffffff
17771  }
17772
17773  public final class PowerManager {
17774    method @RequiresPermission(allOf={android.Manifest.permission.READ_DREAM_STATE, android.Manifest.permission.WRITE_DREAM_STATE}) public void dream(long);
17775    method @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public boolean forceSuspend();
17776    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();
17777    method @NonNull public android.os.BatterySaverPolicyConfig getFullPowerSavePolicy();
17778    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_LOW_POWER_STANDBY, android.Manifest.permission.DEVICE_POWER}) public android.os.PowerManager.LowPowerStandbyPolicy getLowPowerStandbyPolicy();
17779    method public int getPowerSaveModeTrigger();
17780    method @RequiresPermission(android.Manifest.permission.READ_DREAM_STATE) public boolean isAmbientDisplayAvailable();
17781    method @RequiresPermission(android.Manifest.permission.READ_DREAM_STATE) public boolean isAmbientDisplaySuppressed();
17782    method @RequiresPermission(android.Manifest.permission.READ_DREAM_STATE) public boolean isAmbientDisplaySuppressedForToken(@NonNull String);
17783    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_LOW_POWER_STANDBY, android.Manifest.permission.DEVICE_POWER}) public boolean isLowPowerStandbySupported();
17784    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>);
17785    method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.POWER_SAVER}) public boolean setAdaptivePowerSaveEnabled(boolean);
17786    method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.POWER_SAVER}) public boolean setAdaptivePowerSavePolicy(@NonNull android.os.BatterySaverPolicyConfig);
17787    method @RequiresPermission(anyOf={android.Manifest.permission.BATTERY_PREDICTION, android.Manifest.permission.DEVICE_POWER}) public void setBatteryDischargePrediction(@NonNull java.time.Duration, boolean);
17788    method @RequiresPermission(android.Manifest.permission.POWER_SAVER) public boolean setDynamicPowerSaveHint(boolean, int);
17789    method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.POWER_SAVER}) public boolean setFullPowerSavePolicy(@NonNull android.os.BatterySaverPolicyConfig);
17790    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_LOW_POWER_STANDBY, android.Manifest.permission.DEVICE_POWER}) public void setLowPowerStandbyActiveDuringMaintenance(boolean);
17791    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_LOW_POWER_STANDBY, android.Manifest.permission.DEVICE_POWER}) public void setLowPowerStandbyEnabled(boolean);
17792    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_LOW_POWER_STANDBY, android.Manifest.permission.DEVICE_POWER}) public void setLowPowerStandbyPolicy(@Nullable android.os.PowerManager.LowPowerStandbyPolicy);
17793    method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.POWER_SAVER}) public boolean setPowerSaveModeEnabled(boolean);
17794    method @RequiresPermission(android.Manifest.permission.WRITE_DREAM_STATE) public void suppressAmbientDisplay(@NonNull String, boolean);
17795    method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.USER_ACTIVITY}) public void userActivity(long, int, int);
17796    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";
17797    field public static final int POWER_SAVE_MODE_TRIGGER_DYNAMIC = 1; // 0x1
17798    field public static final int POWER_SAVE_MODE_TRIGGER_PERCENTAGE = 0; // 0x0
17799    field @Deprecated public static final String REBOOT_USERSPACE = "userspace";
17800    field public static final int SOUND_TRIGGER_MODE_ALL_DISABLED = 2; // 0x2
17801    field public static final int SOUND_TRIGGER_MODE_ALL_ENABLED = 0; // 0x0
17802    field public static final int SOUND_TRIGGER_MODE_CRITICAL_ONLY = 1; // 0x1
17803    field public static final int USER_ACTIVITY_EVENT_ACCESSIBILITY = 3; // 0x3
17804    field public static final int USER_ACTIVITY_EVENT_BUTTON = 1; // 0x1
17805    field public static final int USER_ACTIVITY_EVENT_OTHER = 0; // 0x0
17806    field public static final int USER_ACTIVITY_EVENT_TOUCH = 2; // 0x2
17807    field public static final int USER_ACTIVITY_FLAG_INDIRECT = 2; // 0x2
17808    field public static final int USER_ACTIVITY_FLAG_NO_CHANGE_LIGHTS = 1; // 0x1
17809  }
17810
17811  public static final class PowerManager.LowPowerStandbyPolicy {
17812    ctor public PowerManager.LowPowerStandbyPolicy(@NonNull String, @NonNull java.util.Set<java.lang.String>, int, @NonNull java.util.Set<java.lang.String>);
17813    method @NonNull public java.util.Set<java.lang.String> getAllowedFeatures();
17814    method public int getAllowedReasons();
17815    method @NonNull public java.util.Set<java.lang.String> getExemptPackages();
17816    method @NonNull public String getIdentifier();
17817  }
17818
17819  public static final class PowerManager.LowPowerStandbyPortDescription {
17820    ctor public PowerManager.LowPowerStandbyPortDescription(int, int, int);
17821    ctor public PowerManager.LowPowerStandbyPortDescription(int, int, int, @Nullable java.net.InetAddress);
17822    method @Nullable public java.net.InetAddress getLocalAddress();
17823    method public int getPortMatcher();
17824    method public int getPortNumber();
17825    method public int getProtocol();
17826    field public static final int MATCH_PORT_LOCAL = 1; // 0x1
17827    field public static final int MATCH_PORT_REMOTE = 2; // 0x2
17828    field public static final int PROTOCOL_TCP = 6; // 0x6
17829    field public static final int PROTOCOL_UDP = 17; // 0x11
17830  }
17831
17832  public final class PowerManager.LowPowerStandbyPortsLock {
17833    method @RequiresPermission(android.Manifest.permission.SET_LOW_POWER_STANDBY_PORTS) public void acquire();
17834    method protected void finalize();
17835    method @RequiresPermission(android.Manifest.permission.SET_LOW_POWER_STANDBY_PORTS) public void release();
17836  }
17837
17838  @Deprecated public class PowerWhitelistManager {
17839    method @Deprecated @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public void addToWhitelist(@NonNull String);
17840    method @Deprecated @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public void addToWhitelist(@NonNull java.util.List<java.lang.String>);
17841    method @Deprecated @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public void removeFromWhitelist(@NonNull String);
17842    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public void whitelistAppTemporarily(@NonNull String, long);
17843    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public void whitelistAppTemporarily(@NonNull String, long, int, @Nullable String);
17844    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public long whitelistAppTemporarilyForEvent(@NonNull String, int, int, @Nullable String);
17845    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public long whitelistAppTemporarilyForEvent(@NonNull String, int, @Nullable String);
17846    field @Deprecated public static final int EVENT_MMS = 2; // 0x2
17847    field @Deprecated public static final int EVENT_SMS = 1; // 0x1
17848    field @Deprecated public static final int EVENT_UNSPECIFIED = 0; // 0x0
17849    field @Deprecated public static final int REASON_ACTIVITY_RECOGNITION = 103; // 0x67
17850    field @Deprecated public static final int REASON_GEOFENCING = 100; // 0x64
17851    field @Deprecated public static final int REASON_LOCATION_PROVIDER = 312; // 0x138
17852    field @Deprecated public static final int REASON_OTHER = 1; // 0x1
17853    field @Deprecated public static final int REASON_PUSH_MESSAGING = 101; // 0x65
17854    field @Deprecated public static final int REASON_PUSH_MESSAGING_OVER_QUOTA = 102; // 0x66
17855    field @Deprecated public static final int REASON_UNKNOWN = 0; // 0x0
17856    field @Deprecated public static final int TEMPORARY_ALLOWLIST_TYPE_FOREGROUND_SERVICE_ALLOWED = 0; // 0x0
17857    field @Deprecated public static final int TEMPORARY_ALLOWLIST_TYPE_FOREGROUND_SERVICE_NOT_ALLOWED = 1; // 0x1
17858  }
17859
17860  public class RecoverySystem {
17861    method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void cancelScheduledUpdate(android.content.Context) throws java.io.IOException;
17862    method @RequiresPermission(anyOf={android.Manifest.permission.RECOVERY, android.Manifest.permission.REBOOT}) public static void clearPrepareForUnattendedUpdate(@NonNull android.content.Context) throws java.io.IOException;
17863    method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void installPackage(android.content.Context, java.io.File, boolean) throws java.io.IOException;
17864    method @RequiresPermission(anyOf={android.Manifest.permission.RECOVERY, android.Manifest.permission.REBOOT}) public static boolean isPreparedForUnattendedUpdate(@NonNull android.content.Context) throws java.io.IOException;
17865    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;
17866    method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void processPackage(android.content.Context, java.io.File, android.os.RecoverySystem.ProgressListener) throws java.io.IOException;
17867    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;
17868    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;
17869    method @Deprecated @RequiresPermission(android.Manifest.permission.RECOVERY) public static void rebootAndApply(@NonNull android.content.Context, @NonNull String, @NonNull String) throws java.io.IOException;
17870    method @FlaggedApi("android.crashrecovery.flags.enable_crashrecovery") @RequiresPermission(android.Manifest.permission.RECOVERY) public static void rebootPromptAndWipeUserData(@NonNull android.content.Context, @NonNull String) throws java.io.IOException;
17871    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;
17872    method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void scheduleUpdateOnBoot(android.content.Context, java.io.File) throws java.io.IOException;
17873    method @Deprecated public static boolean verifyPackageCompatibility(java.io.File) throws java.io.IOException;
17874    field public static final int RESUME_ON_REBOOT_REBOOT_ERROR_INVALID_PACKAGE_NAME = 2000; // 0x7d0
17875    field public static final int RESUME_ON_REBOOT_REBOOT_ERROR_LSKF_NOT_CAPTURED = 3000; // 0xbb8
17876    field public static final int RESUME_ON_REBOOT_REBOOT_ERROR_PROVIDER_PREPARATION_FAILURE = 5000; // 0x1388
17877    field public static final int RESUME_ON_REBOOT_REBOOT_ERROR_SLOT_MISMATCH = 4000; // 0xfa0
17878    field public static final int RESUME_ON_REBOOT_REBOOT_ERROR_UNSPECIFIED = 1000; // 0x3e8
17879  }
17880
17881  public final class RemoteCallback implements android.os.Parcelable {
17882    ctor public RemoteCallback(android.os.RemoteCallback.OnResultListener);
17883    ctor public RemoteCallback(@NonNull android.os.RemoteCallback.OnResultListener, @Nullable android.os.Handler);
17884    method public int describeContents();
17885    method public void sendResult(@Nullable android.os.Bundle);
17886    method public void writeToParcel(android.os.Parcel, int);
17887    field @NonNull public static final android.os.Parcelable.Creator<android.os.RemoteCallback> CREATOR;
17888  }
17889
17890  public static interface RemoteCallback.OnResultListener {
17891    method public void onResult(@Nullable android.os.Bundle);
17892  }
17893
17894  public class ServiceSpecificException extends java.lang.RuntimeException {
17895    ctor public ServiceSpecificException(int);
17896    ctor public ServiceSpecificException(int, @Nullable String);
17897    field public final int errorCode;
17898  }
17899
17900  public final class StatsDimensionsValue implements android.os.Parcelable {
17901    method public int describeContents();
17902    method public boolean getBooleanValue();
17903    method public int getField();
17904    method public float getFloatValue();
17905    method public int getIntValue();
17906    method public long getLongValue();
17907    method public String getStringValue();
17908    method public java.util.List<android.os.StatsDimensionsValue> getTupleValueList();
17909    method public int getValueType();
17910    method public boolean isValueType(int);
17911    method public void writeToParcel(android.os.Parcel, int);
17912    field public static final int BOOLEAN_VALUE_TYPE = 5; // 0x5
17913    field @NonNull public static final android.os.Parcelable.Creator<android.os.StatsDimensionsValue> CREATOR;
17914    field public static final int FLOAT_VALUE_TYPE = 6; // 0x6
17915    field public static final int INT_VALUE_TYPE = 3; // 0x3
17916    field public static final int LONG_VALUE_TYPE = 4; // 0x4
17917    field public static final int STRING_VALUE_TYPE = 2; // 0x2
17918    field public static final int TUPLE_VALUE_TYPE = 7; // 0x7
17919  }
17920
17921  public class SystemConfigManager {
17922    method @NonNull @RequiresPermission(android.Manifest.permission.READ_CARRIER_APP_INFO) public java.util.Set<java.lang.String> getDisabledUntilUsedPreinstalledCarrierApps();
17923    method @NonNull @RequiresPermission(android.Manifest.permission.READ_CARRIER_APP_INFO) public java.util.Map<java.lang.String,java.util.List<java.lang.String>> getDisabledUntilUsedPreinstalledCarrierAssociatedApps();
17924    method @NonNull @RequiresPermission(android.Manifest.permission.GET_RUNTIME_PERMISSIONS) public int[] getSystemPermissionUids(@NonNull String);
17925  }
17926
17927  public class SystemProperties {
17928    method @NonNull public static String get(@NonNull String);
17929    method @NonNull public static String get(@NonNull String, @Nullable String);
17930    method public static boolean getBoolean(@NonNull String, boolean);
17931    method public static int getInt(@NonNull String, int);
17932    method public static long getLong(@NonNull String, long);
17933  }
17934
17935  public class SystemUpdateManager {
17936    method @RequiresPermission(anyOf={android.Manifest.permission.READ_SYSTEM_UPDATE_INFO, android.Manifest.permission.RECOVERY}) public android.os.Bundle retrieveSystemUpdateInfo();
17937    method @RequiresPermission(android.Manifest.permission.RECOVERY) public void updateSystemUpdateInfo(android.os.PersistableBundle);
17938    field public static final String KEY_IS_SECURITY_UPDATE = "is_security_update";
17939    field public static final String KEY_STATUS = "status";
17940    field public static final String KEY_TARGET_BUILD_FINGERPRINT = "target_build_fingerprint";
17941    field public static final String KEY_TARGET_SECURITY_PATCH_LEVEL = "target_security_patch_level";
17942    field public static final String KEY_TITLE = "title";
17943    field public static final int STATUS_IDLE = 1; // 0x1
17944    field public static final int STATUS_IN_PROGRESS = 3; // 0x3
17945    field public static final int STATUS_UNKNOWN = 0; // 0x0
17946    field public static final int STATUS_WAITING_DOWNLOAD = 2; // 0x2
17947    field public static final int STATUS_WAITING_INSTALL = 4; // 0x4
17948    field public static final int STATUS_WAITING_REBOOT = 5; // 0x5
17949  }
17950
17951  public final class Trace {
17952    field public static final long TRACE_TAG_AIDL = 16777216L; // 0x1000000L
17953  }
17954
17955  public class UpdateEngine {
17956    ctor public UpdateEngine();
17957    method @NonNull @WorkerThread public android.os.UpdateEngine.AllocateSpaceResult allocateSpace(@NonNull String, @NonNull String[]);
17958    method public void applyPayload(@NonNull android.content.res.AssetFileDescriptor, @NonNull String[]);
17959    method public void applyPayload(String, long, long, String[]);
17960    method public boolean bind(android.os.UpdateEngineCallback);
17961    method public boolean bind(android.os.UpdateEngineCallback, android.os.Handler);
17962    method public void cancel();
17963    method @WorkerThread public int cleanupAppliedPayload();
17964    method public void resetShouldSwitchSlotOnReboot();
17965    method public void resetStatus();
17966    method public void resume();
17967    method public void setShouldSwitchSlotOnReboot(@NonNull String);
17968    method public void suspend();
17969    method public boolean unbind();
17970    method public boolean verifyPayloadMetadata(String);
17971  }
17972
17973  public static final class UpdateEngine.AllocateSpaceResult {
17974    method public int getErrorCode();
17975    method public long getFreeSpaceRequired();
17976  }
17977
17978  public static final class UpdateEngine.ErrorCodeConstants {
17979    ctor public UpdateEngine.ErrorCodeConstants();
17980    field public static final int DEVICE_CORRUPTED = 61; // 0x3d
17981    field public static final int DOWNLOAD_PAYLOAD_VERIFICATION_ERROR = 12; // 0xc
17982    field public static final int DOWNLOAD_TRANSFER_ERROR = 9; // 0x9
17983    field public static final int ERROR = 1; // 0x1
17984    field public static final int FILESYSTEM_COPIER_ERROR = 4; // 0x4
17985    field public static final int INSTALL_DEVICE_OPEN_ERROR = 7; // 0x7
17986    field public static final int KERNEL_DEVICE_OPEN_ERROR = 8; // 0x8
17987    field public static final int NOT_ENOUGH_SPACE = 60; // 0x3c
17988    field public static final int PAYLOAD_HASH_MISMATCH_ERROR = 10; // 0xa
17989    field public static final int PAYLOAD_MISMATCHED_TYPE_ERROR = 6; // 0x6
17990    field public static final int PAYLOAD_SIZE_MISMATCH_ERROR = 11; // 0xb
17991    field public static final int PAYLOAD_TIMESTAMP_ERROR = 51; // 0x33
17992    field public static final int POST_INSTALL_RUNNER_ERROR = 5; // 0x5
17993    field public static final int SUCCESS = 0; // 0x0
17994    field public static final int UPDATED_BUT_NOT_ACTIVE = 52; // 0x34
17995  }
17996
17997  public static final class UpdateEngine.UpdateStatusConstants {
17998    ctor public UpdateEngine.UpdateStatusConstants();
17999    field public static final int ATTEMPTING_ROLLBACK = 8; // 0x8
18000    field public static final int CHECKING_FOR_UPDATE = 1; // 0x1
18001    field public static final int DISABLED = 9; // 0x9
18002    field public static final int DOWNLOADING = 3; // 0x3
18003    field public static final int FINALIZING = 5; // 0x5
18004    field public static final int IDLE = 0; // 0x0
18005    field public static final int REPORTING_ERROR_EVENT = 7; // 0x7
18006    field public static final int UPDATED_NEED_REBOOT = 6; // 0x6
18007    field public static final int UPDATE_AVAILABLE = 2; // 0x2
18008    field public static final int VERIFYING = 4; // 0x4
18009  }
18010
18011  public abstract class UpdateEngineCallback {
18012    ctor public UpdateEngineCallback();
18013    method public abstract void onPayloadApplicationComplete(int);
18014    method public abstract void onStatusUpdate(int, float);
18015  }
18016
18017  public final class UserHandle implements android.os.Parcelable {
18018    method @NonNull public static String formatUid(int);
18019    method public static int getAppId(int);
18020    method public int getIdentifier();
18021    method public static int getSharedAppGid(int);
18022    method public int getUid(int);
18023    method @Deprecated public boolean isOwner();
18024    method public boolean isSystem();
18025    method public static int myUserId();
18026    method public static android.os.UserHandle of(int);
18027    field @NonNull public static final android.os.UserHandle ALL;
18028    field @NonNull public static final android.os.UserHandle CURRENT;
18029    field @NonNull public static final android.os.UserHandle SYSTEM;
18030  }
18031
18032  public class UserManager {
18033    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean canHaveRestrictedProfile();
18034    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void clearSeedAccountData();
18035    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;
18036    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public android.os.NewUserResponse createUser(@NonNull android.os.NewUserRequest);
18037    method @NonNull public java.util.List<android.os.UserHandle> getAllProfiles();
18038    method @NonNull public java.util.List<android.os.UserHandle> getEnabledProfiles();
18039    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS, android.Manifest.permission.QUERY_USERS}) public android.os.UserHandle getMainUser();
18040    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS, android.Manifest.permission.QUERY_USERS}) public android.os.UserHandle getPreviousForegroundUser();
18041    method @NonNull public String getProfileLabel();
18042    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}) public android.os.UserHandle getProfileParent(@NonNull android.os.UserHandle);
18043    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS, android.Manifest.permission.QUERY_USERS}) public int getRemainingCreatableProfileCount(@NonNull String);
18044    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS, android.Manifest.permission.QUERY_USERS}) public int getRemainingCreatableUserCount(@NonNull String);
18045    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS, android.Manifest.permission.QUERY_USERS}) public android.os.UserHandle getRestrictedProfileParent();
18046    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public String getSeedAccountName();
18047    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public android.os.PersistableBundle getSeedAccountOptions();
18048    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public String getSeedAccountType();
18049    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public long[] getSerialNumbersOfUsers(boolean);
18050    method @NonNull public android.graphics.drawable.Drawable getUserBadge();
18051    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public java.util.List<android.os.UserHandle> getUserHandles(boolean);
18052    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.GET_ACCOUNTS_PRIVILEGED}) public android.graphics.Bitmap getUserIcon();
18053    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);
18054    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.QUERY_USERS}) public int getUserRestrictionSource(String, android.os.UserHandle);
18055    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);
18056    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}) public int getUserSwitchability();
18057    method @NonNull @RequiresPermission(anyOf={"android.permission.INTERACT_ACROSS_USERS", "android.permission.MANAGE_USERS"}) public java.util.Set<android.os.UserHandle> getVisibleUsers();
18058    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean hasRestrictedProfiles();
18059    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);
18060    method public boolean isCloneProfile();
18061    method @Deprecated public boolean isCredentialSharableWithParent();
18062    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS, android.Manifest.permission.QUERY_USERS}) public boolean isGuestUser();
18063    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS, android.Manifest.permission.QUERY_USERS}) public boolean isMainUser();
18064    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);
18065    method @Deprecated public boolean isMediaSharedWithParent();
18066    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS, android.Manifest.permission.QUERY_USERS}) public boolean isPrimaryUser();
18067    method @FlaggedApi("android.os.allow_private_profile") public boolean isPrivateProfile();
18068    method public static boolean isRemoveResultSuccessful(int);
18069    method public boolean isRestrictedProfile();
18070    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);
18071    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.QUERY_USERS}) public boolean isSameProfileGroup(@NonNull android.os.UserHandle, @NonNull android.os.UserHandle);
18072    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();
18073    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS, android.Manifest.permission.QUERY_USERS}) public boolean isUserOfType(@NonNull String);
18074    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional=true) public boolean isUserUnlockingOrUnlocked(@NonNull android.os.UserHandle);
18075    method public boolean isUserVisible();
18076    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean removeUser(@NonNull android.os.UserHandle);
18077    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public int removeUserWhenPossible(@NonNull android.os.UserHandle, boolean);
18078    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public void setBootUser(@NonNull android.os.UserHandle);
18079    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void setUserIcon(@NonNull android.graphics.Bitmap) throws android.os.UserManager.UserOperationException;
18080    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void setUserName(@Nullable String);
18081    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean someUserHasAccount(@NonNull String, @NonNull String);
18082    field @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public static final String ACTION_CREATE_SUPERVISED_USER = "android.os.action.CREATE_SUPERVISED_USER";
18083    field public static final String ACTION_USER_RESTRICTIONS_CHANGED = "android.os.action.USER_RESTRICTIONS_CHANGED";
18084    field @Deprecated public static final String DISALLOW_OEM_UNLOCK = "no_oem_unlock";
18085    field public static final String DISALLOW_RUN_IN_BACKGROUND = "no_run_in_background";
18086    field public static final int REMOVE_RESULT_ALREADY_BEING_REMOVED = 2; // 0x2
18087    field public static final int REMOVE_RESULT_DEFERRED = 1; // 0x1
18088    field public static final int REMOVE_RESULT_ERROR_MAIN_USER_PERMANENT_ADMIN = -5; // 0xfffffffb
18089    field public static final int REMOVE_RESULT_ERROR_SYSTEM_USER = -4; // 0xfffffffc
18090    field public static final int REMOVE_RESULT_ERROR_UNKNOWN = -1; // 0xffffffff
18091    field public static final int REMOVE_RESULT_ERROR_USER_NOT_FOUND = -3; // 0xfffffffd
18092    field public static final int REMOVE_RESULT_ERROR_USER_RESTRICTION = -2; // 0xfffffffe
18093    field public static final int REMOVE_RESULT_REMOVED = 0; // 0x0
18094    field public static final int RESTRICTION_NOT_SET = 0; // 0x0
18095    field public static final int RESTRICTION_SOURCE_DEVICE_OWNER = 2; // 0x2
18096    field public static final int RESTRICTION_SOURCE_PROFILE_OWNER = 4; // 0x4
18097    field public static final int RESTRICTION_SOURCE_SYSTEM = 1; // 0x1
18098    field public static final int SWITCHABILITY_STATUS_OK = 0; // 0x0
18099    field public static final int SWITCHABILITY_STATUS_SYSTEM_USER_LOCKED = 4; // 0x4
18100    field public static final int SWITCHABILITY_STATUS_USER_IN_CALL = 1; // 0x1
18101    field public static final int SWITCHABILITY_STATUS_USER_SWITCH_DISALLOWED = 2; // 0x2
18102    field public static final int USER_OPERATION_ERROR_USER_ACCOUNT_ALREADY_EXISTS = 7; // 0x7
18103    field public static final String USER_TYPE_FULL_GUEST = "android.os.usertype.full.GUEST";
18104    field public static final String USER_TYPE_FULL_SECONDARY = "android.os.usertype.full.SECONDARY";
18105    field public static final String USER_TYPE_FULL_SYSTEM = "android.os.usertype.full.SYSTEM";
18106    field public static final String USER_TYPE_SYSTEM_HEADLESS = "android.os.usertype.system.HEADLESS";
18107  }
18108
18109  public static final class UserManager.EnforcingUser implements android.os.Parcelable {
18110    method public int describeContents();
18111    method public android.os.UserHandle getUserHandle();
18112    method public int getUserRestrictionSource();
18113    method public void writeToParcel(android.os.Parcel, int);
18114    field @NonNull public static final android.os.Parcelable.Creator<android.os.UserManager.EnforcingUser> CREATOR;
18115  }
18116
18117  public abstract class VibrationEffect implements android.os.Parcelable {
18118    method @FlaggedApi("android.os.vibrator.vendor_vibration_effects") @NonNull @RequiresPermission(android.Manifest.permission.VIBRATE_VENDOR_EFFECTS) public static android.os.VibrationEffect createVendorEffect(@NonNull android.os.PersistableBundle);
18119  }
18120
18121  public abstract class Vibrator {
18122    method @RequiresPermission(android.Manifest.permission.ACCESS_VIBRATOR_STATE) public void addVibratorStateListener(@NonNull android.os.Vibrator.OnVibratorStateChangedListener);
18123    method @RequiresPermission(android.Manifest.permission.ACCESS_VIBRATOR_STATE) public void addVibratorStateListener(@NonNull java.util.concurrent.Executor, @NonNull android.os.Vibrator.OnVibratorStateChangedListener);
18124    method @FlaggedApi("android.os.vibrator.vendor_vibration_effects") public boolean areVendorEffectsSupported();
18125    method @FlaggedApi("android.os.vibrator.vendor_vibration_effects") public boolean areVendorSessionsSupported();
18126    method @RequiresPermission(android.Manifest.permission.ACCESS_VIBRATOR_STATE) public boolean isVibrating();
18127    method @RequiresPermission(android.Manifest.permission.ACCESS_VIBRATOR_STATE) public void removeVibratorStateListener(@NonNull android.os.Vibrator.OnVibratorStateChangedListener);
18128    method @FlaggedApi("android.os.vibrator.vendor_vibration_effects") @RequiresPermission(allOf={android.Manifest.permission.VIBRATE, android.Manifest.permission.VIBRATE_VENDOR_EFFECTS, android.Manifest.permission.START_VIBRATION_SESSIONS}) public void startVendorSession(@NonNull android.os.VibrationAttributes, @Nullable String, @Nullable android.os.CancellationSignal, @NonNull java.util.concurrent.Executor, @NonNull android.os.vibrator.VendorVibrationSession.Callback);
18129  }
18130
18131  public static interface Vibrator.OnVibratorStateChangedListener {
18132    method public void onVibratorStateChanged(boolean);
18133  }
18134
18135  public class WorkSource implements android.os.Parcelable {
18136    ctor public WorkSource(int);
18137    ctor public WorkSource(int, @NonNull String);
18138    method public android.os.WorkSource.WorkChain createWorkChain();
18139    method @Nullable public String getPackageName(int);
18140    method public int getUid(int);
18141    method @Nullable public java.util.List<android.os.WorkSource.WorkChain> getWorkChains();
18142    method public boolean isEmpty();
18143    method public int size();
18144    method @NonNull public android.os.WorkSource withoutNames();
18145  }
18146
18147  public static final class WorkSource.WorkChain implements android.os.Parcelable {
18148    ctor public WorkSource.WorkChain();
18149    method public android.os.WorkSource.WorkChain addNode(int, @Nullable String);
18150    method public int describeContents();
18151    method public String getAttributionTag();
18152    method public int getAttributionUid();
18153    method public void writeToParcel(android.os.Parcel, int);
18154    field @NonNull public static final android.os.Parcelable.Creator<android.os.WorkSource.WorkChain> CREATOR;
18155  }
18156
18157}
18158
18159package android.os.connectivity {
18160
18161  public final class CellularBatteryStats implements android.os.Parcelable {
18162    method public int describeContents();
18163    method public long getEnergyConsumedMaMillis();
18164    method public long getIdleTimeMillis();
18165    method public long getKernelActiveTimeMillis();
18166    method public long getLoggingDurationMillis();
18167    method public long getMonitoredRailChargeConsumedMaMillis();
18168    method public long getNumBytesRx();
18169    method public long getNumBytesTx();
18170    method public long getNumPacketsRx();
18171    method public long getNumPacketsTx();
18172    method public long getRxTimeMillis();
18173    method public long getSleepTimeMillis();
18174    method public long getTimeInRatMicros(int);
18175    method public long getTimeInRxSignalStrengthLevelMicros(@IntRange(from=android.telephony.CellSignalStrength.SIGNAL_STRENGTH_NONE_OR_UNKNOWN, to=android.telephony.CellSignalStrength.SIGNAL_STRENGTH_GREAT) int);
18176    method @FlaggedApi("com.android.server.power.optimization.streamlined_connectivity_battery_stats") public long getTxTimeMillis(@IntRange(from=android.telephony.ModemActivityInfo.TX_POWER_LEVEL_0, to=android.telephony.ModemActivityInfo.TX_POWER_LEVEL_4) int);
18177    method public void writeToParcel(@NonNull android.os.Parcel, int);
18178    field @NonNull public static final android.os.Parcelable.Creator<android.os.connectivity.CellularBatteryStats> CREATOR;
18179  }
18180
18181  public final class WifiActivityEnergyInfo implements android.os.Parcelable {
18182    ctor public WifiActivityEnergyInfo(long, int, @IntRange(from=0) long, @IntRange(from=0) long, @IntRange(from=0) long, @IntRange(from=0) long);
18183    method public int describeContents();
18184    method @IntRange(from=0) public long getControllerEnergyUsedMicroJoules();
18185    method @IntRange(from=0) public long getControllerIdleDurationMillis();
18186    method @IntRange(from=0) public long getControllerRxDurationMillis();
18187    method @IntRange(from=0) public long getControllerScanDurationMillis();
18188    method @IntRange(from=0) public long getControllerTxDurationMillis();
18189    method public int getStackState();
18190    method public long getTimeSinceBootMillis();
18191    method public void writeToParcel(@NonNull android.os.Parcel, int);
18192    field @NonNull public static final android.os.Parcelable.Creator<android.os.connectivity.WifiActivityEnergyInfo> CREATOR;
18193    field public static final int STACK_STATE_INVALID = 0; // 0x0
18194    field public static final int STACK_STATE_STATE_ACTIVE = 1; // 0x1
18195    field public static final int STACK_STATE_STATE_IDLE = 3; // 0x3
18196    field public static final int STACK_STATE_STATE_SCANNING = 2; // 0x2
18197  }
18198
18199  public final class WifiBatteryStats implements android.os.Parcelable {
18200    method public int describeContents();
18201    method public long getAppScanRequestCount();
18202    method public long getEnergyConsumedMaMillis();
18203    method public long getIdleTimeMillis();
18204    method public long getKernelActiveTimeMillis();
18205    method public long getLoggingDurationMillis();
18206    method public long getMonitoredRailChargeConsumedMaMillis();
18207    method public long getNumBytesRx();
18208    method public long getNumBytesTx();
18209    method public long getNumPacketsRx();
18210    method public long getNumPacketsTx();
18211    method public long getRxTimeMillis();
18212    method public long getScanTimeMillis();
18213    method public long getSleepTimeMillis();
18214    method public long getTxTimeMillis();
18215    method public void writeToParcel(@NonNull android.os.Parcel, int);
18216    field @NonNull public static final android.os.Parcelable.Creator<android.os.connectivity.WifiBatteryStats> CREATOR;
18217  }
18218
18219}
18220
18221package android.os.image {
18222
18223  public class DynamicSystemClient {
18224    ctor public DynamicSystemClient(@NonNull android.content.Context);
18225    method @RequiresPermission(android.Manifest.permission.INSTALL_DYNAMIC_SYSTEM) public void bind();
18226    method public void setOnStatusChangedListener(@NonNull android.os.image.DynamicSystemClient.OnStatusChangedListener);
18227    method public void setOnStatusChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.os.image.DynamicSystemClient.OnStatusChangedListener);
18228    method @RequiresPermission(android.Manifest.permission.INSTALL_DYNAMIC_SYSTEM) public void start(@NonNull android.net.Uri, long);
18229    method @RequiresPermission(android.Manifest.permission.INSTALL_DYNAMIC_SYSTEM) public void start(@NonNull android.net.Uri, long, long);
18230    method @RequiresPermission(android.Manifest.permission.INSTALL_DYNAMIC_SYSTEM) public void unbind();
18231    field public static final int CAUSE_ERROR_EXCEPTION = 6; // 0x6
18232    field public static final int CAUSE_ERROR_INVALID_URL = 4; // 0x4
18233    field public static final int CAUSE_ERROR_IO = 3; // 0x3
18234    field public static final int CAUSE_ERROR_IPC = 5; // 0x5
18235    field public static final int CAUSE_INSTALL_CANCELLED = 2; // 0x2
18236    field public static final int CAUSE_INSTALL_COMPLETED = 1; // 0x1
18237    field public static final int CAUSE_NOT_SPECIFIED = 0; // 0x0
18238    field public static final int STATUS_IN_PROGRESS = 2; // 0x2
18239    field public static final int STATUS_IN_USE = 4; // 0x4
18240    field public static final int STATUS_NOT_STARTED = 1; // 0x1
18241    field public static final int STATUS_READY = 3; // 0x3
18242    field public static final int STATUS_UNKNOWN = 0; // 0x0
18243  }
18244
18245  public static interface DynamicSystemClient.OnStatusChangedListener {
18246    method public void onStatusChanged(int, int, long, @Nullable Throwable);
18247  }
18248
18249}
18250
18251package android.os.storage {
18252
18253  public class StorageManager {
18254    method @WorkerThread public void allocateBytes(java.io.FileDescriptor, long, @RequiresPermission int) throws java.io.IOException;
18255    method @WorkerThread public void allocateBytes(@NonNull java.util.UUID, long, @RequiresPermission int) throws java.io.IOException;
18256    method @WorkerThread public long getAllocatableBytes(@NonNull java.util.UUID, @RequiresPermission int) throws java.io.IOException;
18257    method @RequiresPermission(android.Manifest.permission.WRITE_MEDIA_STORAGE) public int getExternalStorageMountMode(int, @NonNull String);
18258    method @FlaggedApi("android.os.storage_lifetime_api") @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getInternalStorageRemainingLifetime();
18259    method public static boolean hasIsolatedStorage();
18260    method public void updateExternalStorageFileQuotaType(@NonNull java.io.File, int) throws java.io.IOException;
18261    field @RequiresPermission(android.Manifest.permission.ALLOCATE_AGGRESSIVE) public static final int FLAG_ALLOCATE_AGGRESSIVE = 1; // 0x1
18262    field public static final int MOUNT_MODE_EXTERNAL_ANDROID_WRITABLE = 4; // 0x4
18263    field public static final int MOUNT_MODE_EXTERNAL_DEFAULT = 1; // 0x1
18264    field public static final int MOUNT_MODE_EXTERNAL_INSTALLER = 2; // 0x2
18265    field public static final int MOUNT_MODE_EXTERNAL_NONE = 0; // 0x0
18266    field public static final int MOUNT_MODE_EXTERNAL_PASS_THROUGH = 3; // 0x3
18267    field public static final int QUOTA_TYPE_MEDIA_AUDIO = 2; // 0x2
18268    field public static final int QUOTA_TYPE_MEDIA_IMAGE = 1; // 0x1
18269    field public static final int QUOTA_TYPE_MEDIA_NONE = 0; // 0x0
18270    field public static final int QUOTA_TYPE_MEDIA_VIDEO = 3; // 0x3
18271  }
18272
18273  public final class StorageVolume implements android.os.Parcelable {
18274    method @NonNull public String getId();
18275    method public boolean isExternallyManaged();
18276  }
18277
18278}
18279
18280package android.os.vibrator {
18281
18282  @FlaggedApi("android.os.vibrator.vendor_vibration_effects") public final class VendorVibrationSession implements java.lang.AutoCloseable {
18283    method public void cancel();
18284    method public void close();
18285    method @RequiresPermission(android.Manifest.permission.VIBRATE) public void vibrate(@NonNull android.os.VibrationEffect, @Nullable String);
18286    field public static final int STATUS_CANCELED = 4; // 0x4
18287    field public static final int STATUS_IGNORED = 2; // 0x2
18288    field public static final int STATUS_SUCCESS = 1; // 0x1
18289    field public static final int STATUS_UNKNOWN = 0; // 0x0
18290    field public static final int STATUS_UNKNOWN_ERROR = 5; // 0x5
18291    field public static final int STATUS_UNSUPPORTED = 3; // 0x3
18292  }
18293
18294  public static interface VendorVibrationSession.Callback {
18295    method public void onFinished(int);
18296    method public void onFinishing();
18297    method public void onStarted(@NonNull android.os.vibrator.VendorVibrationSession);
18298  }
18299
18300}
18301
18302package android.os.vibrator.persistence {
18303
18304  @FlaggedApi("android.os.vibrator.vibration_xml_apis") public final class ParsedVibration {
18305    method @FlaggedApi("android.os.vibrator.vibration_xml_apis") @Nullable public android.os.VibrationEffect resolve(@NonNull android.os.Vibrator);
18306  }
18307
18308  @FlaggedApi("android.os.vibrator.vibration_xml_apis") public final class VibrationXmlParser {
18309    method @FlaggedApi("android.os.vibrator.vibration_xml_apis") @NonNull public static android.os.vibrator.persistence.ParsedVibration parse(@NonNull java.io.InputStream) throws java.io.IOException;
18310    method @FlaggedApi("android.os.vibrator.vibration_xml_apis") @NonNull public static android.os.VibrationEffect parseVibrationEffect(@NonNull java.io.InputStream) throws java.io.IOException;
18311  }
18312
18313}
18314
18315package android.permission {
18316
18317  public final class AdminPermissionControlParams implements android.os.Parcelable {
18318    method public boolean canAdminGrantSensorsPermissions();
18319    method public int describeContents();
18320    method public int getGrantState();
18321    method @NonNull public String getGranteePackageName();
18322    method @NonNull public String getPermission();
18323    method public void writeToParcel(@NonNull android.os.Parcel, int);
18324    field @NonNull public static final android.os.Parcelable.Creator<android.permission.AdminPermissionControlParams> CREATOR;
18325  }
18326
18327  public final class PermissionControllerManager {
18328    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>);
18329    method @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public void getHibernationEligibility(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.IntConsumer);
18330    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[]>);
18331    method public void getUnusedAppCount(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.IntConsumer);
18332    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);
18333    method @RequiresPermission(anyOf={android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS, android.Manifest.permission.RESTORE_RUNTIME_PERMISSIONS}) public void stageAndApplyRuntimePermissionsBackup(@NonNull byte[], @NonNull android.os.UserHandle);
18334    field public static final int COUNT_ONLY_WHEN_GRANTED = 1; // 0x1
18335    field public static final int COUNT_WHEN_SYSTEM = 2; // 0x2
18336    field public static final int HIBERNATION_ELIGIBILITY_ELIGIBLE = 0; // 0x0
18337    field public static final int HIBERNATION_ELIGIBILITY_EXEMPT_BY_SYSTEM = 1; // 0x1
18338    field public static final int HIBERNATION_ELIGIBILITY_EXEMPT_BY_USER = 2; // 0x2
18339    field public static final int HIBERNATION_ELIGIBILITY_UNKNOWN = -1; // 0xffffffff
18340    field public static final int REASON_INSTALLER_POLICY_VIOLATION = 2; // 0x2
18341    field public static final int REASON_MALWARE = 1; // 0x1
18342  }
18343
18344  public abstract static class PermissionControllerManager.OnRevokeRuntimePermissionsCallback {
18345    ctor public PermissionControllerManager.OnRevokeRuntimePermissionsCallback();
18346    method public abstract void onRevokeRuntimePermissions(@NonNull java.util.Map<java.lang.String,java.util.List<java.lang.String>>);
18347  }
18348
18349  public abstract class PermissionControllerService extends android.app.Service {
18350    ctor public PermissionControllerService();
18351    method @Deprecated @NonNull @RequiresPermission("android.permission.MANAGE_COMPANION_DEVICES") public String getPrivilegesDescriptionStringForProfile(@NonNull String);
18352    method @BinderThread public void onApplyStagedRuntimePermissionBackup(@NonNull String, @NonNull android.os.UserHandle, @NonNull java.util.function.Consumer<java.lang.Boolean>);
18353    method @NonNull public final android.os.IBinder onBind(android.content.Intent);
18354    method @BinderThread public abstract void onCountPermissionApps(@NonNull java.util.List<java.lang.String>, int, @NonNull java.util.function.IntConsumer);
18355    method @BinderThread public abstract void onGetAppPermissions(@NonNull String, @NonNull java.util.function.Consumer<java.util.List<android.permission.RuntimePermissionPresentationInfo>>);
18356    method @BinderThread public void onGetGroupOfPlatformPermission(@NonNull String, @NonNull java.util.function.Consumer<java.lang.String>);
18357    method @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public void onGetHibernationEligibility(@NonNull String, @NonNull java.util.function.IntConsumer);
18358    method @BinderThread public abstract void onGetPermissionUsages(boolean, long, @NonNull java.util.function.Consumer<java.util.List<android.permission.RuntimePermissionUsageInfo>>);
18359    method @BinderThread public void onGetPlatformPermissionsForGroup(@NonNull String, @NonNull java.util.function.Consumer<java.util.List<java.lang.String>>);
18360    method @BinderThread public abstract void onGetRuntimePermissionsBackup(@NonNull android.os.UserHandle, @NonNull java.io.OutputStream, @NonNull Runnable);
18361    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public void onGetUnusedAppCount(@NonNull java.util.function.IntConsumer);
18362    method @BinderThread public abstract void onGrantOrUpgradeDefaultRuntimePermissions(@NonNull Runnable);
18363    method @Deprecated @BinderThread public void onOneTimePermissionSessionTimeout(@NonNull String);
18364    method @FlaggedApi("android.permission.flags.device_aware_permission_apis_enabled") @BinderThread public void onOneTimePermissionSessionTimeout(@NonNull String, int);
18365    method @Deprecated @BinderThread public void onRestoreDelayedRuntimePermissionsBackup(@NonNull String, @NonNull android.os.UserHandle, @NonNull java.util.function.Consumer<java.lang.Boolean>);
18366    method @Deprecated @BinderThread public void onRestoreRuntimePermissionsBackup(@NonNull android.os.UserHandle, @NonNull java.io.InputStream, @NonNull Runnable);
18367    method @BinderThread public abstract void onRevokeRuntimePermission(@NonNull String, @NonNull String, @NonNull Runnable);
18368    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>>>);
18369    method @FlaggedApi("android.permission.flags.device_aware_permission_apis_enabled") @BinderThread public void onRevokeSelfPermissionsOnKill(@NonNull String, @NonNull java.util.List<java.lang.String>, int, @NonNull Runnable);
18370    method @Deprecated @BinderThread public void onRevokeSelfPermissionsOnKill(@NonNull String, @NonNull java.util.List<java.lang.String>, @NonNull Runnable);
18371    method @BinderThread public void onSetRuntimePermissionGrantStateByDeviceAdmin(@NonNull String, @NonNull android.permission.AdminPermissionControlParams, @NonNull java.util.function.Consumer<java.lang.Boolean>);
18372    method @Deprecated @BinderThread public abstract void onSetRuntimePermissionGrantStateByDeviceAdmin(@NonNull String, @NonNull String, @NonNull String, int, @NonNull java.util.function.Consumer<java.lang.Boolean>);
18373    method @BinderThread public void onStageAndApplyRuntimePermissionsBackup(@NonNull android.os.UserHandle, @NonNull java.io.InputStream, @NonNull Runnable);
18374    method @BinderThread public void onUpdateUserSensitivePermissionFlags(int, @NonNull Runnable);
18375    method @BinderThread public void onUpdateUserSensitivePermissionFlags(int, @NonNull java.util.concurrent.Executor, @NonNull Runnable);
18376    field public static final String SERVICE_INTERFACE = "android.permission.PermissionControllerService";
18377  }
18378
18379  public final class PermissionGroupUsage implements android.os.Parcelable {
18380    method public int describeContents();
18381    method @Nullable public CharSequence getAttributionLabel();
18382    method @Nullable public CharSequence getAttributionTag();
18383    method public long getLastAccessTimeMillis();
18384    method @NonNull public String getPackageName();
18385    method @NonNull public String getPermissionGroupName();
18386    method @FlaggedApi("android.permission.flags.device_aware_permission_apis_enabled") @NonNull public String getPersistentDeviceId();
18387    method @Nullable public CharSequence getProxyLabel();
18388    method public int getUid();
18389    method public boolean isActive();
18390    method public boolean isPhoneCall();
18391    method public void writeToParcel(@NonNull android.os.Parcel, int);
18392    field @NonNull public static final android.os.Parcelable.Creator<android.permission.PermissionGroupUsage> CREATOR;
18393  }
18394
18395  public final class PermissionManager {
18396    method public int checkDeviceIdentifierAccess(@Nullable String, @Nullable String, @Nullable String, int, int);
18397    method @FlaggedApi("android.permission.flags.device_aware_permission_apis_enabled") public int checkPermission(@NonNull String, @NonNull String, @NonNull String);
18398    method @RequiresPermission(value=android.Manifest.permission.UPDATE_APP_OPS_STATS, conditional=true) public int checkPermissionForDataDelivery(@NonNull String, @NonNull android.content.AttributionSource, @Nullable String);
18399    method @RequiresPermission(value=android.Manifest.permission.UPDATE_APP_OPS_STATS, conditional=true) public int checkPermissionForDataDeliveryFromDataSource(@NonNull String, @NonNull android.content.AttributionSource, @Nullable String);
18400    method public int checkPermissionForPreflight(@NonNull String, @NonNull android.content.AttributionSource);
18401    method @RequiresPermission(value=android.Manifest.permission.UPDATE_APP_OPS_STATS, conditional=true) public int checkPermissionForStartDataDelivery(@NonNull String, @NonNull android.content.AttributionSource, @Nullable String);
18402    method public void finishDataDelivery(@NonNull String, @NonNull android.content.AttributionSource);
18403    method @FlaggedApi("android.permission.flags.device_aware_permission_apis_enabled") @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);
18404    method @NonNull @RequiresPermission(android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY) public java.util.Set<java.lang.String> getAutoRevokeExemptionGrantedPackages();
18405    method @NonNull @RequiresPermission(android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY) public java.util.Set<java.lang.String> getAutoRevokeExemptionRequestedPackages();
18406    method @FlaggedApi("android.permission.flags.device_aware_permission_apis_enabled") @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);
18407    method @IntRange(from=0) @RequiresPermission(anyOf={android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY, android.Manifest.permission.UPGRADE_RUNTIME_PERMISSIONS}) public int getRuntimePermissionsVersion();
18408    method @NonNull public java.util.List<android.permission.PermissionManager.SplitPermissionInfo> getSplitPermissions();
18409    method @FlaggedApi("android.permission.flags.device_aware_permission_apis_enabled") @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public void grantRuntimePermission(@NonNull String, @NonNull String, @NonNull String);
18410    method @FlaggedApi("android.permission.flags.device_aware_permission_apis_enabled") @RequiresPermission(android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS) public void revokeRuntimePermission(@NonNull String, @NonNull String, @NonNull String, @Nullable String);
18411    method @RequiresPermission(anyOf={android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY, android.Manifest.permission.UPGRADE_RUNTIME_PERMISSIONS}) public void setRuntimePermissionsVersion(@IntRange(from=0) int);
18412    method @Deprecated @RequiresPermission(android.Manifest.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS) public void startOneTimePermissionSession(@NonNull String, long, int, int);
18413    method @RequiresPermission(android.Manifest.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS) public void startOneTimePermissionSession(@NonNull String, long, long, int, int);
18414    method @RequiresPermission(android.Manifest.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS) public void stopOneTimePermissionSession(@NonNull String);
18415    method @FlaggedApi("android.permission.flags.device_aware_permission_apis_enabled") @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);
18416    field @RequiresPermission(android.Manifest.permission.START_REVIEW_PERMISSION_DECISIONS) public static final String ACTION_REVIEW_PERMISSION_DECISIONS = "android.permission.action.REVIEW_PERMISSION_DECISIONS";
18417    field public static final String EXTRA_PERMISSION_USAGES = "android.permission.extra.PERMISSION_USAGES";
18418    field public static final int PERMISSION_GRANTED = 0; // 0x0
18419    field public static final int PERMISSION_HARD_DENIED = 2; // 0x2
18420    field public static final int PERMISSION_SOFT_DENIED = 1; // 0x1
18421  }
18422
18423  @FlaggedApi("android.permission.flags.device_aware_permission_apis_enabled") public static final class PermissionManager.PermissionState implements android.os.Parcelable {
18424    method @FlaggedApi("android.permission.flags.device_aware_permission_apis_enabled") public int describeContents();
18425    method @FlaggedApi("android.permission.flags.device_aware_permission_apis_enabled") public int getFlags();
18426    method @FlaggedApi("android.permission.flags.device_aware_permission_apis_enabled") public boolean isGranted();
18427    method @FlaggedApi("android.permission.flags.device_aware_permission_apis_enabled") public void writeToParcel(@NonNull android.os.Parcel, int);
18428    field @FlaggedApi("android.permission.flags.device_aware_permission_apis_enabled") @NonNull public static final android.os.Parcelable.Creator<android.permission.PermissionManager.PermissionState> CREATOR;
18429  }
18430
18431  public static final class PermissionManager.SplitPermissionInfo {
18432    method @NonNull public java.util.List<java.lang.String> getNewPermissions();
18433    method @NonNull public String getSplitPermission();
18434    method public int getTargetSdk();
18435  }
18436
18437  public final class RuntimePermissionPresentationInfo implements android.os.Parcelable {
18438    ctor public RuntimePermissionPresentationInfo(@NonNull CharSequence, boolean, boolean);
18439    method public int describeContents();
18440    method @NonNull public CharSequence getLabel();
18441    method public boolean isGranted();
18442    method public boolean isStandard();
18443    method public void writeToParcel(android.os.Parcel, int);
18444    field @NonNull public static final android.os.Parcelable.Creator<android.permission.RuntimePermissionPresentationInfo> CREATOR;
18445  }
18446
18447  public final class RuntimePermissionUsageInfo implements android.os.Parcelable {
18448    ctor public RuntimePermissionUsageInfo(@NonNull String, int);
18449    method public int describeContents();
18450    method public int getAppAccessCount();
18451    method @NonNull public String getName();
18452    method public void writeToParcel(android.os.Parcel, int);
18453    field @NonNull public static final android.os.Parcelable.Creator<android.permission.RuntimePermissionUsageInfo> CREATOR;
18454  }
18455
18456}
18457
18458package android.permissionpresenterservice {
18459
18460  @Deprecated public abstract class RuntimePermissionPresenterService extends android.app.Service {
18461    ctor @Deprecated public RuntimePermissionPresenterService();
18462    method @Deprecated public final void attachBaseContext(android.content.Context);
18463    method @Deprecated public final android.os.IBinder onBind(android.content.Intent);
18464    method @Deprecated public abstract java.util.List<android.content.pm.permission.RuntimePermissionPresentationInfo> onGetAppPermissions(@NonNull String);
18465    field @Deprecated public static final String SERVICE_INTERFACE = "android.permissionpresenterservice.RuntimePermissionPresenterService";
18466  }
18467
18468}
18469
18470package android.preference {
18471
18472  @Deprecated public class PreferenceManager {
18473    method @Deprecated public boolean isStorageCredentialProtected();
18474    method @Deprecated public void setStorageCredentialProtected();
18475  }
18476
18477}
18478
18479package android.print {
18480
18481  public final class PrintManager {
18482    method @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICE_RECOMMENDATIONS) public void addPrintServiceRecommendationsChangeListener(@NonNull android.print.PrintManager.PrintServiceRecommendationsChangeListener, @Nullable android.os.Handler);
18483    method @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICES) public void addPrintServicesChangeListener(@NonNull android.print.PrintManager.PrintServicesChangeListener, @Nullable android.os.Handler);
18484    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICE_RECOMMENDATIONS) public java.util.List<android.printservice.recommendation.RecommendationInfo> getPrintServiceRecommendations();
18485    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICES) public java.util.List<android.printservice.PrintServiceInfo> getPrintServices(int);
18486    method @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICE_RECOMMENDATIONS) public void removePrintServiceRecommendationsChangeListener(@NonNull android.print.PrintManager.PrintServiceRecommendationsChangeListener);
18487    method @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICES) public void removePrintServicesChangeListener(@NonNull android.print.PrintManager.PrintServicesChangeListener);
18488    field public static final int ENABLED_SERVICES = 1; // 0x1
18489  }
18490
18491  public static interface PrintManager.PrintServiceRecommendationsChangeListener {
18492    method public void onPrintServiceRecommendationsChanged();
18493  }
18494
18495  public static interface PrintManager.PrintServicesChangeListener {
18496    method public void onPrintServicesChanged();
18497  }
18498
18499}
18500
18501package android.printservice {
18502
18503  public final class PrintServiceInfo implements android.os.Parcelable {
18504    method public int describeContents();
18505    method @NonNull public android.content.ComponentName getComponentName();
18506    method public void writeToParcel(android.os.Parcel, int);
18507    field @NonNull public static final android.os.Parcelable.Creator<android.printservice.PrintServiceInfo> CREATOR;
18508  }
18509
18510}
18511
18512package android.printservice.recommendation {
18513
18514  public final class RecommendationInfo implements android.os.Parcelable {
18515    ctor @Deprecated public RecommendationInfo(@NonNull CharSequence, @NonNull CharSequence, @IntRange(from=0) int, boolean);
18516    ctor public RecommendationInfo(@NonNull CharSequence, @NonNull CharSequence, @NonNull java.util.List<java.net.InetAddress>, boolean);
18517    method public int describeContents();
18518    method @NonNull public java.util.List<java.net.InetAddress> getDiscoveredPrinters();
18519    method public CharSequence getName();
18520    method public int getNumDiscoveredPrinters();
18521    method public CharSequence getPackageName();
18522    method public boolean recommendsMultiVendorService();
18523    method public void writeToParcel(android.os.Parcel, int);
18524    field @NonNull public static final android.os.Parcelable.Creator<android.printservice.recommendation.RecommendationInfo> CREATOR;
18525  }
18526
18527  public abstract class RecommendationService extends android.app.Service {
18528    ctor public RecommendationService();
18529    method public final android.os.IBinder onBind(android.content.Intent);
18530    method public abstract void onConnected();
18531    method public abstract void onDisconnected();
18532    method public final void updateRecommendations(@Nullable java.util.List<android.printservice.recommendation.RecommendationInfo>);
18533    field public static final String SERVICE_INTERFACE = "android.printservice.recommendation.RecommendationService";
18534  }
18535
18536}
18537
18538package android.provider {
18539
18540  @FlaggedApi("com.android.server.telecom.flags.telecom_mainline_blocked_numbers_manager") public final class BlockedNumbersManager {
18541    method @FlaggedApi("com.android.server.telecom.flags.telecom_mainline_blocked_numbers_manager") @RequiresPermission(allOf={android.Manifest.permission.READ_BLOCKED_NUMBERS, android.Manifest.permission.WRITE_BLOCKED_NUMBERS}) public void endBlockSuppression();
18542    method @FlaggedApi("com.android.server.telecom.flags.telecom_mainline_blocked_numbers_manager") @NonNull @RequiresPermission(allOf={android.Manifest.permission.READ_BLOCKED_NUMBERS, android.Manifest.permission.WRITE_BLOCKED_NUMBERS}) public android.provider.BlockedNumbersManager.BlockSuppressionStatus getBlockSuppressionStatus();
18543    method @FlaggedApi("com.android.server.telecom.flags.telecom_mainline_blocked_numbers_manager") @RequiresPermission(allOf={android.Manifest.permission.READ_BLOCKED_NUMBERS, android.Manifest.permission.WRITE_BLOCKED_NUMBERS}) public boolean getBlockedNumberSetting(@NonNull String);
18544    method @FlaggedApi("com.android.server.telecom.flags.telecom_mainline_blocked_numbers_manager") @RequiresPermission(allOf={android.Manifest.permission.READ_BLOCKED_NUMBERS, android.Manifest.permission.WRITE_BLOCKED_NUMBERS}) public void notifyEmergencyContact();
18545    method @FlaggedApi("com.android.server.telecom.flags.telecom_mainline_blocked_numbers_manager") @RequiresPermission(allOf={android.Manifest.permission.READ_BLOCKED_NUMBERS, android.Manifest.permission.WRITE_BLOCKED_NUMBERS}) public void setBlockedNumberSetting(@NonNull String, boolean);
18546    method @FlaggedApi("com.android.server.telecom.flags.telecom_mainline_blocked_numbers_manager") @RequiresPermission(allOf={android.Manifest.permission.READ_BLOCKED_NUMBERS, android.Manifest.permission.WRITE_BLOCKED_NUMBERS}) public boolean shouldShowEmergencyCallNotification();
18547    method @FlaggedApi("com.android.server.telecom.flags.telecom_mainline_blocked_numbers_manager") @RequiresPermission(allOf={android.Manifest.permission.READ_BLOCKED_NUMBERS, android.Manifest.permission.WRITE_BLOCKED_NUMBERS}) public int shouldSystemBlockNumber(@NonNull String, int, boolean);
18548    field @FlaggedApi("com.android.server.telecom.flags.telecom_mainline_blocked_numbers_manager") public static final String ACTION_BLOCK_SUPPRESSION_STATE_CHANGED = "android.provider.action.BLOCK_SUPPRESSION_STATE_CHANGED";
18549    field @FlaggedApi("com.android.server.telecom.flags.telecom_mainline_blocked_numbers_manager") public static final String ENHANCED_SETTING_KEY_BLOCK_PAYPHONE = "block_payphone_calls_setting";
18550    field @FlaggedApi("com.android.server.telecom.flags.telecom_mainline_blocked_numbers_manager") public static final String ENHANCED_SETTING_KEY_BLOCK_PRIVATE = "block_private_number_calls_setting";
18551    field @FlaggedApi("com.android.server.telecom.flags.telecom_mainline_blocked_numbers_manager") public static final String ENHANCED_SETTING_KEY_BLOCK_UNAVAILABLE = "block_unavailable_calls_setting";
18552    field @FlaggedApi("com.android.server.telecom.flags.telecom_mainline_blocked_numbers_manager") public static final String ENHANCED_SETTING_KEY_BLOCK_UNKNOWN = "block_unknown_calls_setting";
18553    field @FlaggedApi("com.android.server.telecom.flags.telecom_mainline_blocked_numbers_manager") public static final String ENHANCED_SETTING_KEY_BLOCK_UNREGISTERED = "block_numbers_not_in_contacts_setting";
18554    field @FlaggedApi("com.android.server.telecom.flags.telecom_mainline_blocked_numbers_manager") public static final String ENHANCED_SETTING_KEY_SHOW_EMERGENCY_CALL_NOTIFICATION = "show_emergency_call_notification";
18555  }
18556
18557  @FlaggedApi("com.android.server.telecom.flags.telecom_mainline_blocked_numbers_manager") public static final class BlockedNumbersManager.BlockSuppressionStatus {
18558    ctor public BlockedNumbersManager.BlockSuppressionStatus(boolean, long);
18559    method public boolean getIsSuppressed();
18560    method public long getUntilTimestampMillis();
18561  }
18562
18563  public class CallLog {
18564    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>);
18565  }
18566
18567  public static class CallLog.CallComposerLoggingException extends java.lang.Throwable {
18568    ctor public CallLog.CallComposerLoggingException(int);
18569    method public int getErrorCode();
18570    field public static final int ERROR_INPUT_CLOSED = 3; // 0x3
18571    field public static final int ERROR_REMOTE_END_CLOSED = 1; // 0x1
18572    field public static final int ERROR_STORAGE_FULL = 2; // 0x2
18573    field public static final int ERROR_UNKNOWN = 0; // 0x0
18574  }
18575
18576  @Deprecated public static final class ContactsContract.MetadataSync implements android.provider.BaseColumns android.provider.ContactsContract.MetadataSyncColumns {
18577    field @Deprecated public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/contact_metadata";
18578    field @Deprecated public static final String CONTENT_TYPE = "vnd.android.cursor.dir/contact_metadata";
18579    field @Deprecated public static final android.net.Uri CONTENT_URI;
18580    field @Deprecated public static final String METADATA_AUTHORITY = "com.android.contacts.metadata";
18581    field @Deprecated public static final android.net.Uri METADATA_AUTHORITY_URI;
18582  }
18583
18584  @Deprecated protected static interface ContactsContract.MetadataSyncColumns {
18585    field @Deprecated public static final String ACCOUNT_NAME = "account_name";
18586    field @Deprecated public static final String ACCOUNT_TYPE = "account_type";
18587    field @Deprecated public static final String DATA = "data";
18588    field @Deprecated public static final String DATA_SET = "data_set";
18589    field @Deprecated public static final String DELETED = "deleted";
18590    field @Deprecated public static final String RAW_CONTACT_BACKUP_ID = "raw_contact_backup_id";
18591  }
18592
18593  @Deprecated public static final class ContactsContract.MetadataSyncState implements android.provider.BaseColumns android.provider.ContactsContract.MetadataSyncStateColumns {
18594    field @Deprecated public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/contact_metadata_sync_state";
18595    field @Deprecated public static final String CONTENT_TYPE = "vnd.android.cursor.dir/contact_metadata_sync_state";
18596    field @Deprecated public static final android.net.Uri CONTENT_URI;
18597  }
18598
18599  @Deprecated protected static interface ContactsContract.MetadataSyncStateColumns {
18600    field @Deprecated public static final String ACCOUNT_NAME = "account_name";
18601    field @Deprecated public static final String ACCOUNT_TYPE = "account_type";
18602    field @Deprecated public static final String DATA_SET = "data_set";
18603    field @Deprecated public static final String STATE = "state";
18604  }
18605
18606  @FlaggedApi("android.provider.new_default_account_api_enabled") public static final class ContactsContract.RawContacts.DefaultAccount {
18607    method @FlaggedApi("android.provider.new_default_account_api_enabled") @NonNull @RequiresPermission(android.Manifest.permission.SET_DEFAULT_ACCOUNT_FOR_CONTACTS) public static java.util.List<android.accounts.Account> getEligibleCloudAccounts(@NonNull android.content.ContentResolver);
18608    method @FlaggedApi("android.provider.new_default_account_api_enabled") @RequiresPermission(allOf={android.Manifest.permission.READ_CONTACTS, android.Manifest.permission.SET_DEFAULT_ACCOUNT_FOR_CONTACTS}) public static int getNumberOfMovableLocalContacts(@NonNull android.content.ContentResolver);
18609    method @FlaggedApi("android.provider.new_default_account_api_enabled") @RequiresPermission(allOf={android.Manifest.permission.READ_CONTACTS, android.Manifest.permission.SET_DEFAULT_ACCOUNT_FOR_CONTACTS}) public static int getNumberOfMovableSimContacts(@NonNull android.content.ContentResolver);
18610    method @FlaggedApi("android.provider.new_default_account_api_enabled") @RequiresPermission(allOf={android.Manifest.permission.WRITE_CONTACTS, android.Manifest.permission.SET_DEFAULT_ACCOUNT_FOR_CONTACTS}) public static void moveLocalContactsToCloudDefaultAccount(@NonNull android.content.ContentResolver);
18611    method @FlaggedApi("android.provider.new_default_account_api_enabled") @RequiresPermission(allOf={android.Manifest.permission.WRITE_CONTACTS, android.Manifest.permission.SET_DEFAULT_ACCOUNT_FOR_CONTACTS}) public static void moveSimContactsToCloudDefaultAccount(@NonNull android.content.ContentResolver);
18612    method @FlaggedApi("android.provider.new_default_account_api_enabled") @RequiresPermission(android.Manifest.permission.SET_DEFAULT_ACCOUNT_FOR_CONTACTS) public static void setDefaultAccountForNewContacts(@NonNull android.content.ContentResolver, @NonNull android.provider.ContactsContract.RawContacts.DefaultAccount.DefaultAccountAndState);
18613  }
18614
18615  public static final class ContactsContract.Settings implements android.provider.ContactsContract.SettingsColumns {
18616    method @Deprecated @FlaggedApi("android.provider.new_default_account_api_enabled") @RequiresPermission(android.Manifest.permission.SET_DEFAULT_ACCOUNT_FOR_CONTACTS) public static void setDefaultAccount(@NonNull android.content.ContentResolver, @Nullable android.accounts.Account);
18617  }
18618
18619  public static final class ContactsContract.SimContacts {
18620    method @RequiresPermission("android.contacts.permission.MANAGE_SIM_ACCOUNTS") public static void addSimAccount(@NonNull android.content.ContentResolver, @NonNull String, @NonNull String, int, int);
18621    method @RequiresPermission("android.contacts.permission.MANAGE_SIM_ACCOUNTS") public static void removeSimAccounts(@NonNull android.content.ContentResolver, int);
18622  }
18623
18624  public final class DeviceConfig {
18625    method public static void addOnPropertiesChangedListener(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.provider.DeviceConfig.OnPropertiesChangedListener);
18626    method @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static void clearAllLocalOverrides();
18627    method @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static void clearLocalOverride(@NonNull String, @NonNull String);
18628    method @RequiresPermission(android.Manifest.permission.MONITOR_DEVICE_CONFIG_ACCESS) public static void clearMonitorCallback(@NonNull android.content.ContentResolver);
18629    method @RequiresPermission(anyOf={android.Manifest.permission.WRITE_DEVICE_CONFIG, android.Manifest.permission.WRITE_ALLOWLISTED_DEVICE_CONFIG}) public static boolean deleteProperty(@NonNull String, @NonNull String);
18630    method @NonNull public static java.util.Set<java.lang.String> getAdbWritableFlags();
18631    method @NonNull public static java.util.Set<android.provider.DeviceConfig.Properties> getAllProperties();
18632    method public static boolean getBoolean(@NonNull String, @NonNull String, boolean);
18633    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static float getFloat(@NonNull String, @NonNull String, float);
18634    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static int getInt(@NonNull String, @NonNull String, int);
18635    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static long getLong(@NonNull String, @NonNull String, long);
18636    method @NonNull @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static android.provider.DeviceConfig.Properties getProperties(@NonNull String, @NonNull java.lang.String...);
18637    method @Nullable public static String getProperty(@NonNull String, @NonNull String);
18638    method @NonNull public static java.util.List<java.lang.String> getPublicNamespaces();
18639    method @Nullable @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static String getString(@NonNull String, @NonNull String, @Nullable String);
18640    method @RequiresPermission(anyOf={android.Manifest.permission.WRITE_DEVICE_CONFIG, android.Manifest.permission.READ_WRITE_SYNC_DISABLED_MODE_CONFIG}) public static int getSyncDisabledMode();
18641    method @NonNull public static java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> getUnderlyingValuesForOverriddenFlags();
18642    method public static void removeOnPropertiesChangedListener(@NonNull android.provider.DeviceConfig.OnPropertiesChangedListener);
18643    method @RequiresPermission(anyOf={android.Manifest.permission.WRITE_DEVICE_CONFIG, android.Manifest.permission.WRITE_ALLOWLISTED_DEVICE_CONFIG}) public static void resetToDefaults(int, @Nullable String);
18644    method @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static boolean setLocalOverride(@NonNull String, @NonNull String, @NonNull String);
18645    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);
18646    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;
18647    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);
18648    method @RequiresPermission(anyOf={android.Manifest.permission.WRITE_DEVICE_CONFIG, android.Manifest.permission.READ_WRITE_SYNC_DISABLED_MODE_CONFIG}) public static void setSyncDisabledMode(int);
18649    field public static final String NAMESPACE_ACCESSIBILITY = "accessibility";
18650    field public static final String NAMESPACE_ACTIVITY_MANAGER = "activity_manager";
18651    field public static final String NAMESPACE_ACTIVITY_MANAGER_NATIVE_BOOT = "activity_manager_native_boot";
18652    field public static final String NAMESPACE_ADSERVICES = "adservices";
18653    field public static final String NAMESPACE_AMBIENT_CONTEXT_MANAGER_SERVICE = "ambient_context_manager_service";
18654    field public static final String NAMESPACE_ANDROID = "android";
18655    field public static final String NAMESPACE_APPSEARCH = "appsearch";
18656    field public static final String NAMESPACE_APP_COMPAT = "app_compat";
18657    field public static final String NAMESPACE_APP_COMPAT_OVERRIDES = "app_compat_overrides";
18658    field public static final String NAMESPACE_APP_HIBERNATION = "app_hibernation";
18659    field public static final String NAMESPACE_ATTENTION_MANAGER_SERVICE = "attention_manager_service";
18660    field public static final String NAMESPACE_AUTOFILL = "autofill";
18661    field public static final String NAMESPACE_AUTO_PIN_CONFIRMATION = "auto_pin_confirmation";
18662    field public static final String NAMESPACE_BACKUP_AND_RESTORE = "backup_and_restore";
18663    field public static final String NAMESPACE_BATTERY_SAVER = "battery_saver";
18664    field public static final String NAMESPACE_BIOMETRICS = "biometrics";
18665    field public static final String NAMESPACE_BLOBSTORE = "blobstore";
18666    field public static final String NAMESPACE_BLUETOOTH = "bluetooth";
18667    field public static final String NAMESPACE_CAMERA_NATIVE = "camera_native";
18668    field public static final String NAMESPACE_CAPTIVEPORTALLOGIN = "captive_portal_login";
18669    field public static final String NAMESPACE_CELLULAR_SECURITY = "cellular_security";
18670    field public static final String NAMESPACE_CLIPBOARD = "clipboard";
18671    field public static final String NAMESPACE_CONNECTIVITY = "connectivity";
18672    field public static final String NAMESPACE_CONSTRAIN_DISPLAY_APIS = "constrain_display_apis";
18673    field public static final String NAMESPACE_CONTENT_CAPTURE = "content_capture";
18674    field public static final String NAMESPACE_CORE_EXPERIMENTS_TEAM_INTERNAL = "core_experiments_team_internal";
18675    field public static final String NAMESPACE_CREDENTIAL = "credential_manager";
18676    field @Deprecated public static final String NAMESPACE_DEX_BOOT = "dex_boot";
18677    field public static final String NAMESPACE_DISPLAY_MANAGER = "display_manager";
18678    field public static final String NAMESPACE_EDGETPU_NATIVE = "edgetpu_native";
18679    field public static final String NAMESPACE_GAME_DRIVER = "game_driver";
18680    field public static final String NAMESPACE_HDMI_CONTROL = "hdmi_control";
18681    field public static final String NAMESPACE_HEALTH_FITNESS = "health_fitness";
18682    field public static final String NAMESPACE_INPUT_METHOD_MANAGER = "input_method_manager";
18683    field public static final String NAMESPACE_INPUT_NATIVE_BOOT = "input_native_boot";
18684    field public static final String NAMESPACE_INTELLIGENCE_ATTENTION = "intelligence_attention";
18685    field public static final String NAMESPACE_JOB_SCHEDULER = "jobscheduler";
18686    field public static final String NAMESPACE_LMKD_NATIVE = "lmkd_native";
18687    field public static final String NAMESPACE_LOCATION = "location";
18688    field public static final String NAMESPACE_MEDIA = "media";
18689    field public static final String NAMESPACE_MEDIA_NATIVE = "media_native";
18690    field public static final String NAMESPACE_NEARBY = "nearby";
18691    field public static final String NAMESPACE_NETD_NATIVE = "netd_native";
18692    field public static final String NAMESPACE_NFC = "nfc";
18693    field public static final String NAMESPACE_NNAPI_NATIVE = "nnapi_native";
18694    field public static final String NAMESPACE_ON_DEVICE_PERSONALIZATION = "on_device_personalization";
18695    field public static final String NAMESPACE_OTA = "ota";
18696    field public static final String NAMESPACE_PACKAGE_MANAGER_SERVICE = "package_manager_service";
18697    field public static final String NAMESPACE_PERMISSIONS = "permissions";
18698    field public static final String NAMESPACE_PRIVACY = "privacy";
18699    field public static final String NAMESPACE_PROFCOLLECT_NATIVE_BOOT = "profcollect_native_boot";
18700    field public static final String NAMESPACE_REBOOT_READINESS = "reboot_readiness";
18701    field public static final String NAMESPACE_REMOTE_AUTH = "remote_auth";
18702    field public static final String NAMESPACE_ROLLBACK = "rollback";
18703    field public static final String NAMESPACE_ROLLBACK_BOOT = "rollback_boot";
18704    field public static final String NAMESPACE_RUNTIME = "runtime";
18705    field public static final String NAMESPACE_RUNTIME_NATIVE = "runtime_native";
18706    field public static final String NAMESPACE_RUNTIME_NATIVE_BOOT = "runtime_native_boot";
18707    field public static final String NAMESPACE_SCHEDULER = "scheduler";
18708    field public static final String NAMESPACE_SDK_SANDBOX = "sdk_sandbox";
18709    field public static final String NAMESPACE_SELECTION_TOOLBAR = "selection_toolbar";
18710    field public static final String NAMESPACE_STATSD_JAVA = "statsd_java";
18711    field public static final String NAMESPACE_STATSD_JAVA_BOOT = "statsd_java_boot";
18712    field public static final String NAMESPACE_STATSD_NATIVE = "statsd_native";
18713    field public static final String NAMESPACE_STATSD_NATIVE_BOOT = "statsd_native_boot";
18714    field @Deprecated public static final String NAMESPACE_STORAGE = "storage";
18715    field public static final String NAMESPACE_STORAGE_NATIVE_BOOT = "storage_native_boot";
18716    field public static final String NAMESPACE_SURFACE_FLINGER_NATIVE_BOOT = "surface_flinger_native_boot";
18717    field public static final String NAMESPACE_SWCODEC_NATIVE = "swcodec_native";
18718    field public static final String NAMESPACE_SYSTEMUI = "systemui";
18719    field public static final String NAMESPACE_SYSTEM_TIME = "system_time";
18720    field public static final String NAMESPACE_TELEPHONY = "telephony";
18721    field public static final String NAMESPACE_TETHERING = "tethering";
18722    field public static final String NAMESPACE_TEXTCLASSIFIER = "textclassifier";
18723    field public static final String NAMESPACE_UWB = "uwb";
18724    field public static final String NAMESPACE_WEARABLE_SENSING = "wearable_sensing";
18725    field public static final String NAMESPACE_WINDOW_MANAGER_NATIVE_BOOT = "window_manager_native_boot";
18726    field public static final int SYNC_DISABLED_MODE_NONE = 0; // 0x0
18727    field public static final int SYNC_DISABLED_MODE_PERSISTENT = 1; // 0x1
18728    field public static final int SYNC_DISABLED_MODE_UNTIL_REBOOT = 2; // 0x2
18729  }
18730
18731  public static class DeviceConfig.BadConfigException extends java.lang.Exception {
18732    ctor public DeviceConfig.BadConfigException();
18733  }
18734
18735  public static interface DeviceConfig.MonitorCallback {
18736    method public void onDeviceConfigAccess(@NonNull String, @NonNull String);
18737    method public void onNamespaceUpdate(@NonNull String);
18738  }
18739
18740  public static interface DeviceConfig.OnPropertiesChangedListener {
18741    method public void onPropertiesChanged(@NonNull android.provider.DeviceConfig.Properties);
18742  }
18743
18744  public static class DeviceConfig.Properties {
18745    method public boolean getBoolean(@NonNull String, boolean);
18746    method public float getFloat(@NonNull String, float);
18747    method public int getInt(@NonNull String, int);
18748    method @NonNull public java.util.Set<java.lang.String> getKeyset();
18749    method public long getLong(@NonNull String, long);
18750    method @NonNull public String getNamespace();
18751    method @Nullable public String getString(@NonNull String, @Nullable String);
18752  }
18753
18754  public static final class DeviceConfig.Properties.Builder {
18755    ctor public DeviceConfig.Properties.Builder(@NonNull String);
18756    method @NonNull public android.provider.DeviceConfig.Properties build();
18757    method @NonNull public android.provider.DeviceConfig.Properties.Builder setBoolean(@NonNull String, boolean);
18758    method @NonNull public android.provider.DeviceConfig.Properties.Builder setFloat(@NonNull String, float);
18759    method @NonNull public android.provider.DeviceConfig.Properties.Builder setInt(@NonNull String, int);
18760    method @NonNull public android.provider.DeviceConfig.Properties.Builder setLong(@NonNull String, long);
18761    method @NonNull public android.provider.DeviceConfig.Properties.Builder setString(@NonNull String, @Nullable String);
18762  }
18763
18764  public final class DocumentsContract {
18765    method @NonNull public static android.net.Uri buildDocumentUriAsUser(@NonNull String, @NonNull String, @NonNull android.os.UserHandle);
18766    method public static boolean isManageMode(@NonNull android.net.Uri);
18767    method @NonNull public static android.net.Uri setManageMode(@NonNull android.net.Uri);
18768    field public static final String ACTION_DOCUMENT_ROOT_SETTINGS = "android.provider.action.DOCUMENT_ROOT_SETTINGS";
18769    field public static final String ACTION_MANAGE_DOCUMENT = "android.provider.action.MANAGE_DOCUMENT";
18770    field public static final String DOWNLOADS_PROVIDER_AUTHORITY = "downloads";
18771    field public static final String EXTERNAL_STORAGE_PROVIDER_AUTHORITY = "com.android.externalstorage.documents";
18772    field public static final String EXTRA_SHOW_ADVANCED = "android.provider.extra.SHOW_ADVANCED";
18773  }
18774
18775  public static final class DocumentsContract.Root {
18776    field public static final int FLAG_ADVANCED = 65536; // 0x10000
18777    field public static final int FLAG_HAS_SETTINGS = 131072; // 0x20000
18778    field public static final int FLAG_REMOVABLE_SD = 262144; // 0x40000
18779    field public static final int FLAG_REMOVABLE_USB = 524288; // 0x80000
18780  }
18781
18782  @FlaggedApi("android.provider.user_keys") public final class E2eeContactKeysManager {
18783    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);
18784    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);
18785    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);
18786  }
18787
18788  public interface MediaCognitionGetVersionsCallback {
18789    method public void onFailure(@NonNull String);
18790    method public void onSuccess(@NonNull android.provider.MediaCognitionProcessingVersions);
18791  }
18792
18793  public interface MediaCognitionProcessingCallback {
18794    method public void onFailure(@NonNull String);
18795    method public void onSuccess(@NonNull java.util.List<android.provider.MediaCognitionProcessingResponse>);
18796  }
18797
18798  public final class MediaCognitionProcessingRequest implements android.os.Parcelable {
18799    method public boolean checkProcessingRequired(int);
18800    method public int describeContents();
18801    method public int getProcessingCombination();
18802    method @NonNull public android.net.Uri getUri();
18803    method public void writeToParcel(@NonNull android.os.Parcel, int);
18804    field @NonNull public static final android.os.Parcelable.Creator<android.provider.MediaCognitionProcessingRequest> CREATOR;
18805  }
18806
18807  public static final class MediaCognitionProcessingRequest.Builder {
18808    ctor public MediaCognitionProcessingRequest.Builder(@NonNull android.net.Uri);
18809    method @NonNull public android.provider.MediaCognitionProcessingRequest.Builder addProcessingRequest(int);
18810    method @NonNull public android.provider.MediaCognitionProcessingRequest build();
18811    method @NonNull public android.provider.MediaCognitionProcessingRequest.Builder setProcessingCombination(int);
18812  }
18813
18814  public class MediaCognitionProcessingResponse {
18815    method @Nullable public java.util.List<java.lang.String> getImageLabels();
18816    method @Nullable public String getImageOcrLatin();
18817    method @NonNull public android.provider.MediaCognitionProcessingRequest getRequest();
18818  }
18819
18820  public static final class MediaCognitionProcessingResponse.Builder {
18821    ctor public MediaCognitionProcessingResponse.Builder(@NonNull android.provider.MediaCognitionProcessingRequest);
18822    method @NonNull public android.provider.MediaCognitionProcessingResponse build();
18823    method @NonNull public android.provider.MediaCognitionProcessingResponse.Builder setImageLabels(@Nullable java.util.List<java.lang.String>);
18824    method @NonNull public android.provider.MediaCognitionProcessingResponse.Builder setImageOcrLatin(@Nullable String);
18825  }
18826
18827  public final class MediaCognitionProcessingVersions implements android.os.Parcelable {
18828    ctor public MediaCognitionProcessingVersions();
18829    method public int describeContents();
18830    method public int getProcessingVersion(int);
18831    method public void setProcessingVersion(int, int);
18832    method public void writeToParcel(@NonNull android.os.Parcel, int);
18833    field @NonNull public static final android.os.Parcelable.Creator<android.provider.MediaCognitionProcessingVersions> CREATOR;
18834  }
18835
18836  public abstract class MediaCognitionService extends android.app.Service {
18837    ctor public MediaCognitionService();
18838    method @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent);
18839    method public abstract void onGetProcessingVersions(@NonNull android.provider.MediaCognitionGetVersionsCallback);
18840    method public abstract void onProcessMedia(@NonNull java.util.List<android.provider.MediaCognitionProcessingRequest>, @Nullable android.os.CancellationSignal, @NonNull android.provider.MediaCognitionProcessingCallback);
18841    field public static final String BIND_MEDIA_COGNITION_SERVICE = "com.android.providers.media.permission.BIND_MEDIA_COGNITION_SERVICE";
18842    field public static final String SERVICE_INTERFACE = "android.provider.MediaCognitionService";
18843  }
18844
18845  public static interface MediaCognitionService.ProcessingTypes {
18846    field public static final int IMAGE_LABEL = 2; // 0x2
18847    field public static final int IMAGE_OCR_LATIN = 1; // 0x1
18848  }
18849
18850  public final class MediaStore {
18851    method @NonNull public static android.net.Uri rewriteToLegacy(@NonNull android.net.Uri);
18852    method @NonNull @WorkerThread public static android.net.Uri scanFile(@NonNull android.content.ContentResolver, @NonNull java.io.File);
18853    method @WorkerThread public static void scanVolume(@NonNull android.content.ContentResolver, @NonNull String);
18854    method @WorkerThread public static void waitForIdle(@NonNull android.content.ContentResolver);
18855    field public static final String ACTION_USER_SELECT_IMAGES_FOR_APP = "android.provider.action.USER_SELECT_IMAGES_FOR_APP";
18856    field public static final String AUTHORITY_LEGACY = "media_legacy";
18857    field @NonNull public static final android.net.Uri AUTHORITY_LEGACY_URI;
18858    field public static final String QUERY_ARG_DEFER_SCAN = "android:query-arg-defer-scan";
18859  }
18860
18861  public abstract class OemMetadataService extends android.app.Service {
18862    ctor public OemMetadataService();
18863    method @NonNull public final android.os.IBinder onBind(@Nullable android.content.Intent);
18864    method @NonNull public abstract java.util.Map<java.lang.String,java.lang.String> onGetOemCustomData(@NonNull android.os.ParcelFileDescriptor);
18865    method @NonNull public abstract java.util.Set<java.lang.String> onGetSupportedMimeTypes();
18866    field public static final String BIND_OEM_METADATA_SERVICE_PERMISSION = "com.android.providers.media.permission.BIND_OEM_METADATA_SERVICE";
18867    field public static final String SERVICE_INTERFACE = "android.provider.OemMetadataService";
18868  }
18869
18870  public abstract class SearchIndexableData {
18871    ctor public SearchIndexableData();
18872    ctor public SearchIndexableData(android.content.Context);
18873    field public String className;
18874    field public android.content.Context context;
18875    field public boolean enabled;
18876    field public int iconResId;
18877    field public String intentAction;
18878    field public String intentTargetClass;
18879    field public String intentTargetPackage;
18880    field public String key;
18881    field public java.util.Locale locale;
18882    field public String packageName;
18883    field public int rank;
18884    field public int userId;
18885  }
18886
18887  public class SearchIndexableResource extends android.provider.SearchIndexableData {
18888    ctor public SearchIndexableResource(android.content.Context);
18889    ctor public SearchIndexableResource(int, int, String, int);
18890    field public int xmlResId;
18891  }
18892
18893  public class SearchIndexablesContract {
18894    ctor public SearchIndexablesContract();
18895    field public static final int COLUMN_INDEX_NON_INDEXABLE_KEYS_KEY_VALUE = 0; // 0x0
18896    field public static final int COLUMN_INDEX_RAW_CLASS_NAME = 7; // 0x7
18897    field public static final int COLUMN_INDEX_RAW_ENTRIES = 4; // 0x4
18898    field public static final int COLUMN_INDEX_RAW_ICON_RESID = 8; // 0x8
18899    field public static final int COLUMN_INDEX_RAW_INTENT_ACTION = 9; // 0x9
18900    field public static final int COLUMN_INDEX_RAW_INTENT_TARGET_CLASS = 11; // 0xb
18901    field public static final int COLUMN_INDEX_RAW_INTENT_TARGET_PACKAGE = 10; // 0xa
18902    field public static final int COLUMN_INDEX_RAW_KEY = 12; // 0xc
18903    field public static final int COLUMN_INDEX_RAW_KEYWORDS = 5; // 0x5
18904    field public static final int COLUMN_INDEX_RAW_RANK = 0; // 0x0
18905    field public static final int COLUMN_INDEX_RAW_SCREEN_TITLE = 6; // 0x6
18906    field public static final int COLUMN_INDEX_RAW_SUMMARY_OFF = 3; // 0x3
18907    field public static final int COLUMN_INDEX_RAW_SUMMARY_ON = 2; // 0x2
18908    field public static final int COLUMN_INDEX_RAW_TITLE = 1; // 0x1
18909    field public static final int COLUMN_INDEX_RAW_USER_ID = 13; // 0xd
18910    field public static final int COLUMN_INDEX_XML_RES_CLASS_NAME = 2; // 0x2
18911    field public static final int COLUMN_INDEX_XML_RES_ICON_RESID = 3; // 0x3
18912    field public static final int COLUMN_INDEX_XML_RES_INTENT_ACTION = 4; // 0x4
18913    field public static final int COLUMN_INDEX_XML_RES_INTENT_TARGET_CLASS = 6; // 0x6
18914    field public static final int COLUMN_INDEX_XML_RES_INTENT_TARGET_PACKAGE = 5; // 0x5
18915    field public static final int COLUMN_INDEX_XML_RES_RANK = 0; // 0x0
18916    field public static final int COLUMN_INDEX_XML_RES_RESID = 1; // 0x1
18917    field public static final String DYNAMIC_INDEXABLES_RAW = "dynamic_indexables_raw";
18918    field public static final String DYNAMIC_INDEXABLES_RAW_PATH = "settings/dynamic_indexables_raw";
18919    field public static final String INDEXABLES_RAW = "indexables_raw";
18920    field public static final String[] INDEXABLES_RAW_COLUMNS;
18921    field public static final String INDEXABLES_RAW_PATH = "settings/indexables_raw";
18922    field public static final String INDEXABLES_XML_RES = "indexables_xml_res";
18923    field public static final String[] INDEXABLES_XML_RES_COLUMNS;
18924    field public static final String INDEXABLES_XML_RES_PATH = "settings/indexables_xml_res";
18925    field public static final String NON_INDEXABLES_KEYS = "non_indexables_key";
18926    field public static final String[] NON_INDEXABLES_KEYS_COLUMNS;
18927    field public static final String NON_INDEXABLES_KEYS_PATH = "settings/non_indexables_key";
18928    field public static final String PROVIDER_INTERFACE = "android.content.action.SEARCH_INDEXABLES_PROVIDER";
18929    field public static final String SLICE_URI_PAIRS = "slice_uri_pairs";
18930    field @NonNull public static final String[] SLICE_URI_PAIRS_COLUMNS;
18931    field public static final String SLICE_URI_PAIRS_PATH = "settings/slice_uri_pairs";
18932  }
18933
18934  public static class SearchIndexablesContract.BaseColumns {
18935    field public static final String COLUMN_CLASS_NAME = "className";
18936    field public static final String COLUMN_ICON_RESID = "iconResId";
18937    field public static final String COLUMN_INTENT_ACTION = "intentAction";
18938    field public static final String COLUMN_INTENT_TARGET_CLASS = "intentTargetClass";
18939    field public static final String COLUMN_INTENT_TARGET_PACKAGE = "intentTargetPackage";
18940    field public static final String COLUMN_RANK = "rank";
18941  }
18942
18943  public static final class SearchIndexablesContract.NonIndexableKey extends android.provider.SearchIndexablesContract.BaseColumns {
18944    field public static final String COLUMN_KEY_VALUE = "key";
18945    field public static final String MIME_TYPE = "vnd.android.cursor.dir/non_indexables_key";
18946  }
18947
18948  public static final class SearchIndexablesContract.RawData extends android.provider.SearchIndexablesContract.BaseColumns {
18949    field public static final String COLUMN_ENTRIES = "entries";
18950    field public static final String COLUMN_KEY = "key";
18951    field public static final String COLUMN_KEYWORDS = "keywords";
18952    field public static final String COLUMN_SCREEN_TITLE = "screenTitle";
18953    field public static final String COLUMN_SUMMARY_OFF = "summaryOff";
18954    field public static final String COLUMN_SUMMARY_ON = "summaryOn";
18955    field public static final String COLUMN_TITLE = "title";
18956    field public static final String COLUMN_USER_ID = "user_id";
18957    field public static final String MIME_TYPE = "vnd.android.cursor.dir/indexables_raw";
18958  }
18959
18960  public static final class SearchIndexablesContract.SliceUriPairColumns {
18961    field public static final String KEY = "key";
18962    field public static final String SLICE_URI = "slice_uri";
18963  }
18964
18965  public static final class SearchIndexablesContract.XmlResource extends android.provider.SearchIndexablesContract.BaseColumns {
18966    field public static final String COLUMN_XML_RESID = "xmlResId";
18967    field public static final String MIME_TYPE = "vnd.android.cursor.dir/indexables_xml_res";
18968  }
18969
18970  public abstract class SearchIndexablesProvider extends android.content.ContentProvider {
18971    ctor public SearchIndexablesProvider();
18972    method public final int delete(android.net.Uri, String, String[]);
18973    method public String getType(android.net.Uri);
18974    method public final android.net.Uri insert(android.net.Uri, android.content.ContentValues);
18975    method public android.database.Cursor query(android.net.Uri, String[], String, String[], String);
18976    method @Nullable public android.database.Cursor queryDynamicRawData(@Nullable String[]);
18977    method public abstract android.database.Cursor queryNonIndexableKeys(String[]);
18978    method public abstract android.database.Cursor queryRawData(String[]);
18979    method @Nullable public android.database.Cursor querySliceUriPairs();
18980    method public abstract android.database.Cursor queryXmlResources(String[]);
18981    method public final int update(android.net.Uri, android.content.ContentValues, String, String[]);
18982  }
18983
18984  public final class Settings {
18985    method @Deprecated public static boolean checkAndNoteWriteSettingsOperation(@NonNull android.content.Context, int, @NonNull String, boolean);
18986    method public static boolean checkAndNoteWriteSettingsOperation(@NonNull android.content.Context, int, @NonNull String, @Nullable String, boolean);
18987    field public static final String ACTION_ACCESSIBILITY_DETAILS_SETTINGS = "android.settings.ACCESSIBILITY_DETAILS_SETTINGS";
18988    field @RequiresPermission(android.Manifest.permission.LAUNCH_PERMISSION_SETTINGS) public static final String ACTION_APP_PERMISSIONS_SETTINGS = "android.settings.APP_PERMISSIONS_SETTINGS";
18989    field public static final String ACTION_BEDTIME_SETTINGS = "android.settings.BEDTIME_SETTINGS";
18990    field public static final String ACTION_BUGREPORT_HANDLER_SETTINGS = "android.settings.BUGREPORT_HANDLER_SETTINGS";
18991    field public static final String ACTION_ENTERPRISE_PRIVACY_SETTINGS = "android.settings.ENTERPRISE_PRIVACY_SETTINGS";
18992    field public static final String ACTION_LOCATION_CONTROLLER_EXTRA_PACKAGE_SETTINGS = "android.settings.LOCATION_CONTROLLER_EXTRA_PACKAGE_SETTINGS";
18993    field public static final String ACTION_MANAGE_APP_OVERLAY_PERMISSION = "android.settings.MANAGE_APP_OVERLAY_PERMISSION";
18994    field public static final String ACTION_MANAGE_DOMAIN_URLS = "android.settings.MANAGE_DOMAIN_URLS";
18995    field public static final String ACTION_MANAGE_MORE_DEFAULT_APPS_SETTINGS = "android.settings.MANAGE_MORE_DEFAULT_APPS_SETTINGS";
18996    field @FlaggedApi("android.nfc.nfc_action_manage_services_settings") public static final String ACTION_MANAGE_OTHER_NFC_SERVICES_SETTINGS = "android.settings.MANAGE_OTHER_NFC_SERVICES_SETTINGS";
18997    field public static final String ACTION_NOTIFICATION_POLICY_ACCESS_DETAIL_SETTINGS = "android.settings.NOTIFICATION_POLICY_ACCESS_DETAIL_SETTINGS";
18998    field public static final String ACTION_REQUEST_ENABLE_CONTENT_CAPTURE = "android.settings.REQUEST_ENABLE_CONTENT_CAPTURE";
18999    field public static final String ACTION_SHOW_ADMIN_SUPPORT_DETAILS = "android.settings.SHOW_ADMIN_SUPPORT_DETAILS";
19000    field public static final String ACTION_SHOW_RESTRICTED_SETTING_DIALOG = "android.settings.SHOW_RESTRICTED_SETTING_DIALOG";
19001    field @FlaggedApi("com.android.internal.telephony.flags.action_sim_preference_settings") public static final String ACTION_SIM_PREFERENCE_SETTINGS = "android.settings.SIM_PREFERENCE_SETTINGS";
19002    field public static final String ACTION_TETHER_PROVISIONING_UI = "android.settings.TETHER_PROVISIONING_UI";
19003    field public static final String ACTION_TETHER_SETTINGS = "android.settings.TETHER_SETTINGS";
19004    field public static final String ACTION_TETHER_UNSUPPORTED_CARRIER_UI = "android.settings.TETHER_UNSUPPORTED_CARRIER_UI";
19005    field public static final String ACTION_USER_SETTINGS = "android.settings.USER_SETTINGS";
19006  }
19007
19008  public static final class Settings.Global extends android.provider.Settings.NameValueTable {
19009    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public static boolean putString(@NonNull android.content.ContentResolver, @NonNull String, @Nullable String, @Nullable String, boolean);
19010    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public static void resetToDefaults(@NonNull android.content.ContentResolver, @Nullable String);
19011    field public static final String AIRPLANE_MODE_TOGGLEABLE_RADIOS = "airplane_mode_toggleable_radios";
19012    field public static final String APP_STANDBY_ENABLED = "app_standby_enabled";
19013    field @Deprecated public static final String AUTOFILL_COMPAT_MODE_ALLOWED_PACKAGES = "autofill_compat_mode_allowed_packages";
19014    field public static final String CARRIER_APP_NAMES = "carrier_app_names";
19015    field public static final String CARRIER_APP_WHITELIST = "carrier_app_whitelist";
19016    field public static final String DEFAULT_SM_DP_PLUS = "default_sm_dp_plus";
19017    field public static final String DEVICE_DEMO_MODE = "device_demo_mode";
19018    field public static final String DEVICE_PROVISIONING_MOBILE_DATA_ENABLED = "device_provisioning_mobile_data";
19019    field public static final String EUICC_PROVISIONED = "euicc_provisioned";
19020    field public static final String EUICC_SUPPORTED_COUNTRIES = "euicc_supported_countries";
19021    field public static final String EUICC_UNSUPPORTED_COUNTRIES = "euicc_unsupported_countries";
19022    field public static final String INSTALL_CARRIER_APP_NOTIFICATION_PERSISTENT = "install_carrier_app_notification_persistent";
19023    field public static final String INSTALL_CARRIER_APP_NOTIFICATION_SLEEP_MILLIS = "install_carrier_app_notification_sleep_millis";
19024    field public static final String OTA_DISABLE_AUTOMATIC_UPDATE = "ota_disable_automatic_update";
19025    field public static final String REQUIRE_PASSWORD_TO_DECRYPT = "require_password_to_decrypt";
19026    field public static final String TETHER_OFFLOAD_DISABLED = "tether_offload_disabled";
19027    field public static final String TETHER_SUPPORTED = "tether_supported";
19028    field public static final String THEATER_MODE_ON = "theater_mode_on";
19029    field public static final String WEBVIEW_MULTIPROCESS = "webview_multiprocess";
19030    field public static final String WIFI_BADGING_THRESHOLDS = "wifi_badging_thresholds";
19031    field @Deprecated public static final String WIFI_WAKEUP_ENABLED = "wifi_wakeup_enabled";
19032  }
19033
19034  public static final class Settings.Secure extends android.provider.Settings.NameValueTable {
19035    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public static boolean putString(@NonNull android.content.ContentResolver, @NonNull String, @Nullable String, @Nullable String, boolean);
19036    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public static void resetToDefaults(@NonNull android.content.ContentResolver, @Nullable String);
19037    field @Deprecated public static final String ACCESSIBILITY_DISPLAY_MAGNIFICATION_NAVBAR_ENABLED = "accessibility_display_magnification_navbar_enabled";
19038    field public static final String ASSIST_GESTURE_SETUP_COMPLETE = "assist_gesture_setup_complete";
19039    field public static final String AUTOFILL_FEATURE_FIELD_CLASSIFICATION = "autofill_field_classification";
19040    field public static final String AUTOFILL_USER_DATA_MAX_CATEGORY_COUNT = "autofill_user_data_max_category_count";
19041    field public static final String AUTOFILL_USER_DATA_MAX_FIELD_CLASSIFICATION_IDS_SIZE = "autofill_user_data_max_field_classification_size";
19042    field public static final String AUTOFILL_USER_DATA_MAX_USER_DATA_SIZE = "autofill_user_data_max_user_data_size";
19043    field public static final String AUTOFILL_USER_DATA_MAX_VALUE_LENGTH = "autofill_user_data_max_value_length";
19044    field public static final String AUTOFILL_USER_DATA_MIN_VALUE_LENGTH = "autofill_user_data_min_value_length";
19045    field public static final String AUTO_REVOKE_DISABLED = "auto_revoke_disabled";
19046    field public static final String COMPLETED_CATEGORY_PREFIX = "suggested.completed_category.";
19047    field public static final String DOZE_ALWAYS_ON = "doze_always_on";
19048    field public static final String HUSH_GESTURE_USED = "hush_gesture_used";
19049    field public static final String INSTANT_APPS_ENABLED = "instant_apps_enabled";
19050    field public static final String LAST_SETUP_SHOWN = "last_setup_shown";
19051    field @Deprecated public static final String LOCATION_ACCESS_CHECK_DELAY_MILLIS = "location_access_check_delay_millis";
19052    field @Deprecated public static final String LOCATION_ACCESS_CHECK_INTERVAL_MILLIS = "location_access_check_interval_millis";
19053    field public static final int LOCATION_MODE_ON = 3; // 0x3
19054    field @Deprecated public static final String LOCATION_PERMISSIONS_UPGRADE_TO_Q_MODE = "location_permissions_upgrade_to_q_mode";
19055    field public static final String LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS = "lock_screen_allow_private_notifications";
19056    field public static final String LOCK_SCREEN_SHOW_NOTIFICATIONS = "lock_screen_show_notifications";
19057    field public static final String ODI_CAPTIONS_ENABLED = "odi_captions_enabled";
19058    field public static final String THEME_CUSTOMIZATION_OVERLAY_PACKAGES = "theme_customization_overlay_packages";
19059    field public static final String UI_TRANSLATION_ENABLED = "ui_translation_enabled";
19060    field public static final String USER_SETUP_COMPLETE = "user_setup_complete";
19061    field public static final int USER_SETUP_PERSONALIZATION_COMPLETE = 10; // 0xa
19062    field public static final int USER_SETUP_PERSONALIZATION_NOT_STARTED = 0; // 0x0
19063    field public static final int USER_SETUP_PERSONALIZATION_PAUSED = 2; // 0x2
19064    field public static final int USER_SETUP_PERSONALIZATION_STARTED = 1; // 0x1
19065    field public static final String USER_SETUP_PERSONALIZATION_STATE = "user_setup_personalization_state";
19066    field public static final String VOLUME_HUSH_GESTURE = "volume_hush_gesture";
19067    field public static final int VOLUME_HUSH_MUTE = 2; // 0x2
19068    field public static final int VOLUME_HUSH_OFF = 0; // 0x0
19069    field public static final int VOLUME_HUSH_VIBRATE = 1; // 0x1
19070  }
19071
19072  public static final class Settings.System extends android.provider.Settings.NameValueTable {
19073    method @RequiresPermission(android.Manifest.permission.MODIFY_SETTINGS_OVERRIDEABLE_BY_RESTORE) public static boolean putString(@NonNull android.content.ContentResolver, @NonNull String, @Nullable String, boolean);
19074    method @FlaggedApi("android.provider.system_settings_default") @RequiresPermission(android.Manifest.permission.MODIFY_SETTINGS_OVERRIDEABLE_BY_RESTORE) public static boolean putString(@NonNull android.content.ContentResolver, @NonNull String, @Nullable String, boolean, boolean);
19075    method @FlaggedApi("android.provider.system_settings_default") public static void resetToDefaults(@NonNull android.content.ContentResolver, @Nullable String);
19076  }
19077
19078  public static final class SimPhonebookContract.SimRecords {
19079    field public static final String QUERY_ARG_PIN2 = "android:query-arg-pin2";
19080  }
19081
19082  public static final class Telephony.Carriers implements android.provider.BaseColumns {
19083    field public static final String APN_SET_ID = "apn_set_id";
19084    field public static final int CARRIER_EDITED = 4; // 0x4
19085    field public static final String EDITED_STATUS = "edited";
19086    field public static final int MATCH_ALL_APN_SET_ID = -1; // 0xffffffff
19087    field public static final String MAX_CONNECTIONS = "max_conns";
19088    field public static final String MODEM_PERSIST = "modem_cognitive";
19089    field @Deprecated public static final String MTU = "mtu";
19090    field public static final int NO_APN_SET_ID = 0; // 0x0
19091    field public static final String TIME_LIMIT_FOR_MAX_CONNECTIONS = "max_conns_time";
19092    field public static final int UNEDITED = 0; // 0x0
19093    field public static final int USER_DELETED = 2; // 0x2
19094    field public static final int USER_EDITED = 1; // 0x1
19095    field public static final String WAIT_TIME_RETRY = "wait_time";
19096  }
19097
19098  public static final class Telephony.CellBroadcasts implements android.provider.BaseColumns {
19099    field @NonNull public static final String AUTHORITY_LEGACY = "cellbroadcast-legacy";
19100    field @NonNull public static final android.net.Uri AUTHORITY_LEGACY_URI;
19101    field @NonNull public static final String CALL_METHOD_GET_PREFERENCE = "get_preference";
19102    field public static final String CID = "cid";
19103    field public static final String CMAS_CATEGORY = "cmas_category";
19104    field public static final String CMAS_CERTAINTY = "cmas_certainty";
19105    field public static final String CMAS_MESSAGE_CLASS = "cmas_message_class";
19106    field public static final String CMAS_RESPONSE_TYPE = "cmas_response_type";
19107    field public static final String CMAS_SEVERITY = "cmas_severity";
19108    field public static final String CMAS_URGENCY = "cmas_urgency";
19109    field @NonNull public static final android.net.Uri CONTENT_URI;
19110    field public static final String DATA_CODING_SCHEME = "dcs";
19111    field public static final String DEFAULT_SORT_ORDER = "date DESC";
19112    field public static final String DELIVERY_TIME = "date";
19113    field public static final String ETWS_IS_PRIMARY = "etws_is_primary";
19114    field public static final String ETWS_WARNING_TYPE = "etws_warning_type";
19115    field public static final String GEOGRAPHICAL_SCOPE = "geo_scope";
19116    field public static final String GEOMETRIES = "geometries";
19117    field public static final String LAC = "lac";
19118    field public static final String LANGUAGE_CODE = "language";
19119    field public static final String LOCATION_CHECK_TIME = "location_check_time";
19120    field public static final String MAXIMUM_WAIT_TIME = "maximum_wait_time";
19121    field public static final String MESSAGE_BODY = "body";
19122    field public static final String MESSAGE_BROADCASTED = "message_broadcasted";
19123    field public static final String MESSAGE_DISPLAYED = "message_displayed";
19124    field public static final String MESSAGE_FORMAT = "format";
19125    field @NonNull @RequiresPermission(android.Manifest.permission.READ_CELL_BROADCASTS) public static final android.net.Uri MESSAGE_HISTORY_URI;
19126    field public static final String MESSAGE_PRIORITY = "priority";
19127    field public static final String MESSAGE_READ = "read";
19128    field public static final String PLMN = "plmn";
19129    field public static final String RECEIVED_TIME = "received_time";
19130    field public static final String SERIAL_NUMBER = "serial_number";
19131    field public static final String SERVICE_CATEGORY = "service_category";
19132    field public static final String SLOT_INDEX = "slot_index";
19133    field public static final String SUBSCRIPTION_ID = "sub_id";
19134  }
19135
19136  public static final class Telephony.CellBroadcasts.Preference {
19137    field @NonNull public static final String ENABLE_ALERT_VIBRATION_PREF = "enable_alert_vibrate";
19138    field @NonNull public static final String ENABLE_AREA_UPDATE_INFO_PREF = "enable_area_update_info_alerts";
19139    field @NonNull public static final String ENABLE_CMAS_AMBER_PREF = "enable_cmas_amber_alerts";
19140    field @NonNull public static final String ENABLE_CMAS_EXTREME_THREAT_PREF = "enable_cmas_extreme_threat_alerts";
19141    field @NonNull public static final String ENABLE_CMAS_IN_SECOND_LANGUAGE_PREF = "receive_cmas_in_second_language";
19142    field @NonNull public static final String ENABLE_CMAS_PRESIDENTIAL_PREF = "enable_cmas_presidential_alerts";
19143    field @NonNull public static final String ENABLE_CMAS_SEVERE_THREAT_PREF = "enable_cmas_severe_threat_alerts";
19144    field @NonNull public static final String ENABLE_EMERGENCY_PERF = "enable_emergency_alerts";
19145    field @NonNull public static final String ENABLE_PUBLIC_SAFETY_PREF = "enable_public_safety_messages";
19146    field @NonNull public static final String ENABLE_STATE_LOCAL_TEST_PREF = "enable_state_local_test_alerts";
19147    field @NonNull public static final String ENABLE_TEST_ALERT_PREF = "enable_test_alerts";
19148  }
19149
19150  public static final class Telephony.Sms.Intents {
19151    field public static final String ACTION_SMS_EMERGENCY_CB_RECEIVED = "android.provider.action.SMS_EMERGENCY_CB_RECEIVED";
19152  }
19153
19154  public final class TimeZoneRulesDataContract {
19155    field public static final String AUTHORITY = "com.android.timezone";
19156  }
19157
19158  public static final class TimeZoneRulesDataContract.Operation {
19159    field public static final String COLUMN_DISTRO_MAJOR_VERSION = "distro_major_version";
19160    field public static final String COLUMN_DISTRO_MINOR_VERSION = "distro_minor_version";
19161    field public static final String COLUMN_REVISION = "revision";
19162    field public static final String COLUMN_RULES_VERSION = "rules_version";
19163    field public static final String COLUMN_TYPE = "type";
19164    field public static final android.net.Uri CONTENT_URI;
19165    field public static final String TYPE_INSTALL = "INSTALL";
19166    field public static final String TYPE_NO_OP = "NOOP";
19167    field public static final String TYPE_UNINSTALL = "UNINSTALL";
19168  }
19169
19170  public final class UpdatableDeviceConfigServiceReadiness {
19171    method public static boolean shouldStartUpdatableService();
19172  }
19173
19174}
19175
19176package android.safetycenter {
19177
19178  public final class SafetyCenterData implements android.os.Parcelable {
19179    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>);
19180    method public int describeContents();
19181    method @NonNull public java.util.List<android.safetycenter.SafetyCenterIssue> getDismissedIssues();
19182    method @NonNull public java.util.List<android.safetycenter.SafetyCenterEntryOrGroup> getEntriesOrGroups();
19183    method @NonNull public android.os.Bundle getExtras();
19184    method @NonNull public java.util.List<android.safetycenter.SafetyCenterIssue> getIssues();
19185    method @NonNull public java.util.List<android.safetycenter.SafetyCenterStaticEntryGroup> getStaticEntryGroups();
19186    method @NonNull public android.safetycenter.SafetyCenterStatus getStatus();
19187    method public void writeToParcel(@NonNull android.os.Parcel, int);
19188    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterData> CREATOR;
19189  }
19190
19191  public static final class SafetyCenterData.Builder {
19192    ctor public SafetyCenterData.Builder(@NonNull android.safetycenter.SafetyCenterData);
19193    ctor public SafetyCenterData.Builder(@NonNull android.safetycenter.SafetyCenterStatus);
19194    method @NonNull public android.safetycenter.SafetyCenterData.Builder addDismissedIssue(@NonNull android.safetycenter.SafetyCenterIssue);
19195    method @NonNull public android.safetycenter.SafetyCenterData.Builder addEntryOrGroup(@NonNull android.safetycenter.SafetyCenterEntryOrGroup);
19196    method @NonNull public android.safetycenter.SafetyCenterData.Builder addIssue(@NonNull android.safetycenter.SafetyCenterIssue);
19197    method @NonNull public android.safetycenter.SafetyCenterData.Builder addStaticEntryGroup(@NonNull android.safetycenter.SafetyCenterStaticEntryGroup);
19198    method @NonNull public android.safetycenter.SafetyCenterData build();
19199    method @NonNull public android.safetycenter.SafetyCenterData.Builder clearDismissedIssues();
19200    method @NonNull public android.safetycenter.SafetyCenterData.Builder clearEntriesOrGroups();
19201    method @NonNull public android.safetycenter.SafetyCenterData.Builder clearExtras();
19202    method @NonNull public android.safetycenter.SafetyCenterData.Builder clearIssues();
19203    method @NonNull public android.safetycenter.SafetyCenterData.Builder clearStaticEntryGroups();
19204    method @NonNull public android.safetycenter.SafetyCenterData.Builder setExtras(@NonNull android.os.Bundle);
19205  }
19206
19207  public final class SafetyCenterEntry implements android.os.Parcelable {
19208    method public int describeContents();
19209    method @Nullable public android.safetycenter.SafetyCenterEntry.IconAction getIconAction();
19210    method @NonNull public String getId();
19211    method @Nullable public android.app.PendingIntent getPendingIntent();
19212    method public int getSeverityLevel();
19213    method public int getSeverityUnspecifiedIconType();
19214    method @Nullable public CharSequence getSummary();
19215    method @NonNull public CharSequence getTitle();
19216    method public boolean isEnabled();
19217    method public void writeToParcel(@NonNull android.os.Parcel, int);
19218    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterEntry> CREATOR;
19219    field public static final int ENTRY_SEVERITY_LEVEL_CRITICAL_WARNING = 3400; // 0xd48
19220    field public static final int ENTRY_SEVERITY_LEVEL_OK = 3200; // 0xc80
19221    field public static final int ENTRY_SEVERITY_LEVEL_RECOMMENDATION = 3300; // 0xce4
19222    field public static final int ENTRY_SEVERITY_LEVEL_UNKNOWN = 3000; // 0xbb8
19223    field public static final int ENTRY_SEVERITY_LEVEL_UNSPECIFIED = 3100; // 0xc1c
19224    field public static final int SEVERITY_UNSPECIFIED_ICON_TYPE_NO_ICON = 0; // 0x0
19225    field public static final int SEVERITY_UNSPECIFIED_ICON_TYPE_NO_RECOMMENDATION = 2; // 0x2
19226    field public static final int SEVERITY_UNSPECIFIED_ICON_TYPE_PRIVACY = 1; // 0x1
19227  }
19228
19229  public static final class SafetyCenterEntry.Builder {
19230    ctor public SafetyCenterEntry.Builder(@NonNull android.safetycenter.SafetyCenterEntry);
19231    ctor public SafetyCenterEntry.Builder(@NonNull String, @NonNull CharSequence);
19232    method @NonNull public android.safetycenter.SafetyCenterEntry build();
19233    method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setEnabled(boolean);
19234    method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setIconAction(@Nullable android.safetycenter.SafetyCenterEntry.IconAction);
19235    method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setIconAction(int, @NonNull android.app.PendingIntent);
19236    method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setId(@NonNull String);
19237    method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setPendingIntent(@Nullable android.app.PendingIntent);
19238    method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setSeverityLevel(int);
19239    method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setSeverityUnspecifiedIconType(int);
19240    method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setSummary(@Nullable CharSequence);
19241    method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setTitle(@NonNull CharSequence);
19242  }
19243
19244  public static final class SafetyCenterEntry.IconAction implements android.os.Parcelable {
19245    ctor public SafetyCenterEntry.IconAction(int, @NonNull android.app.PendingIntent);
19246    method public int describeContents();
19247    method @NonNull public android.app.PendingIntent getPendingIntent();
19248    method public int getType();
19249    method public void writeToParcel(@NonNull android.os.Parcel, int);
19250    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterEntry.IconAction> CREATOR;
19251    field public static final int ICON_ACTION_TYPE_GEAR = 30100; // 0x7594
19252    field public static final int ICON_ACTION_TYPE_INFO = 30200; // 0x75f8
19253  }
19254
19255  public final class SafetyCenterEntryGroup implements android.os.Parcelable {
19256    method public int describeContents();
19257    method @NonNull public java.util.List<android.safetycenter.SafetyCenterEntry> getEntries();
19258    method @NonNull public String getId();
19259    method public int getSeverityLevel();
19260    method public int getSeverityUnspecifiedIconType();
19261    method @Nullable public CharSequence getSummary();
19262    method @NonNull public CharSequence getTitle();
19263    method public void writeToParcel(@NonNull android.os.Parcel, int);
19264    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterEntryGroup> CREATOR;
19265  }
19266
19267  public static final class SafetyCenterEntryGroup.Builder {
19268    ctor public SafetyCenterEntryGroup.Builder(@NonNull android.safetycenter.SafetyCenterEntryGroup);
19269    ctor public SafetyCenterEntryGroup.Builder(@NonNull String, @NonNull CharSequence);
19270    method @NonNull public android.safetycenter.SafetyCenterEntryGroup build();
19271    method @NonNull public android.safetycenter.SafetyCenterEntryGroup.Builder setEntries(@NonNull java.util.List<android.safetycenter.SafetyCenterEntry>);
19272    method @NonNull public android.safetycenter.SafetyCenterEntryGroup.Builder setId(@NonNull String);
19273    method @NonNull public android.safetycenter.SafetyCenterEntryGroup.Builder setSeverityLevel(int);
19274    method @NonNull public android.safetycenter.SafetyCenterEntryGroup.Builder setSeverityUnspecifiedIconType(int);
19275    method @NonNull public android.safetycenter.SafetyCenterEntryGroup.Builder setSummary(@Nullable CharSequence);
19276    method @NonNull public android.safetycenter.SafetyCenterEntryGroup.Builder setTitle(@NonNull CharSequence);
19277  }
19278
19279  public final class SafetyCenterEntryOrGroup implements android.os.Parcelable {
19280    ctor public SafetyCenterEntryOrGroup(@NonNull android.safetycenter.SafetyCenterEntry);
19281    ctor public SafetyCenterEntryOrGroup(@NonNull android.safetycenter.SafetyCenterEntryGroup);
19282    method public int describeContents();
19283    method @Nullable public android.safetycenter.SafetyCenterEntry getEntry();
19284    method @Nullable public android.safetycenter.SafetyCenterEntryGroup getEntryGroup();
19285    method public void writeToParcel(@NonNull android.os.Parcel, int);
19286    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterEntryOrGroup> CREATOR;
19287  }
19288
19289  public final class SafetyCenterErrorDetails implements android.os.Parcelable {
19290    ctor public SafetyCenterErrorDetails(@NonNull CharSequence);
19291    method public int describeContents();
19292    method @NonNull public CharSequence getErrorMessage();
19293    method public void writeToParcel(@NonNull android.os.Parcel, int);
19294    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterErrorDetails> CREATOR;
19295  }
19296
19297  public final class SafetyCenterIssue implements android.os.Parcelable {
19298    method public int describeContents();
19299    method @NonNull public java.util.List<android.safetycenter.SafetyCenterIssue.Action> getActions();
19300    method @Nullable public CharSequence getAttributionTitle();
19301    method @Nullable public String getGroupId();
19302    method @NonNull public String getId();
19303    method public int getSeverityLevel();
19304    method @Nullable public CharSequence getSubtitle();
19305    method @NonNull public CharSequence getSummary();
19306    method @NonNull public CharSequence getTitle();
19307    method public boolean isDismissible();
19308    method public boolean shouldConfirmDismissal();
19309    method public void writeToParcel(@NonNull android.os.Parcel, int);
19310    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterIssue> CREATOR;
19311    field public static final int ISSUE_SEVERITY_LEVEL_CRITICAL_WARNING = 2300; // 0x8fc
19312    field public static final int ISSUE_SEVERITY_LEVEL_OK = 2100; // 0x834
19313    field public static final int ISSUE_SEVERITY_LEVEL_RECOMMENDATION = 2200; // 0x898
19314  }
19315
19316  public static final class SafetyCenterIssue.Action implements android.os.Parcelable {
19317    method public int describeContents();
19318    method @Nullable public android.safetycenter.SafetyCenterIssue.Action.ConfirmationDialogDetails getConfirmationDialogDetails();
19319    method @NonNull public String getId();
19320    method @NonNull public CharSequence getLabel();
19321    method @NonNull public android.app.PendingIntent getPendingIntent();
19322    method @Nullable public CharSequence getSuccessMessage();
19323    method public boolean isInFlight();
19324    method public boolean willResolve();
19325    method public void writeToParcel(@NonNull android.os.Parcel, int);
19326    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterIssue.Action> CREATOR;
19327  }
19328
19329  public static final class SafetyCenterIssue.Action.Builder {
19330    ctor public SafetyCenterIssue.Action.Builder(@NonNull android.safetycenter.SafetyCenterIssue.Action);
19331    ctor public SafetyCenterIssue.Action.Builder(@NonNull String, @NonNull CharSequence, @NonNull android.app.PendingIntent);
19332    method @NonNull public android.safetycenter.SafetyCenterIssue.Action build();
19333    method @NonNull public android.safetycenter.SafetyCenterIssue.Action.Builder setConfirmationDialogDetails(@Nullable android.safetycenter.SafetyCenterIssue.Action.ConfirmationDialogDetails);
19334    method @NonNull public android.safetycenter.SafetyCenterIssue.Action.Builder setId(@NonNull String);
19335    method @NonNull public android.safetycenter.SafetyCenterIssue.Action.Builder setIsInFlight(boolean);
19336    method @NonNull public android.safetycenter.SafetyCenterIssue.Action.Builder setLabel(@NonNull CharSequence);
19337    method @NonNull public android.safetycenter.SafetyCenterIssue.Action.Builder setPendingIntent(@NonNull android.app.PendingIntent);
19338    method @NonNull public android.safetycenter.SafetyCenterIssue.Action.Builder setSuccessMessage(@Nullable CharSequence);
19339    method @NonNull public android.safetycenter.SafetyCenterIssue.Action.Builder setWillResolve(boolean);
19340  }
19341
19342  public static final class SafetyCenterIssue.Action.ConfirmationDialogDetails implements android.os.Parcelable {
19343    ctor public SafetyCenterIssue.Action.ConfirmationDialogDetails(@NonNull CharSequence, @NonNull CharSequence, @NonNull CharSequence, @NonNull CharSequence);
19344    method public int describeContents();
19345    method @NonNull public CharSequence getAcceptButtonText();
19346    method @NonNull public CharSequence getDenyButtonText();
19347    method @NonNull public CharSequence getText();
19348    method @NonNull public CharSequence getTitle();
19349    method public void writeToParcel(@NonNull android.os.Parcel, int);
19350    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterIssue.Action.ConfirmationDialogDetails> CREATOR;
19351  }
19352
19353  public static final class SafetyCenterIssue.Builder {
19354    ctor public SafetyCenterIssue.Builder(@NonNull android.safetycenter.SafetyCenterIssue);
19355    ctor public SafetyCenterIssue.Builder(@NonNull String, @NonNull CharSequence, @NonNull CharSequence);
19356    method @NonNull public android.safetycenter.SafetyCenterIssue build();
19357    method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setActions(@NonNull java.util.List<android.safetycenter.SafetyCenterIssue.Action>);
19358    method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setAttributionTitle(@Nullable CharSequence);
19359    method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setDismissible(boolean);
19360    method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setGroupId(@Nullable String);
19361    method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setId(@NonNull String);
19362    method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setSeverityLevel(int);
19363    method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setShouldConfirmDismissal(boolean);
19364    method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setSubtitle(@Nullable CharSequence);
19365    method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setSummary(@NonNull CharSequence);
19366    method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setTitle(@NonNull CharSequence);
19367  }
19368
19369  public final class SafetyCenterManager {
19370    method @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public void addOnSafetyCenterDataChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.safetycenter.SafetyCenterManager.OnSafetyCenterDataChangedListener);
19371    method @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public void clearAllSafetySourceDataForTests();
19372    method @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public void clearSafetyCenterConfigForTests();
19373    method @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public void dismissSafetyCenterIssue(@NonNull String);
19374    method @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public void executeSafetyCenterIssueAction(@NonNull String, @NonNull String);
19375    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public android.safetycenter.config.SafetyCenterConfig getSafetyCenterConfig();
19376    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public android.safetycenter.SafetyCenterData getSafetyCenterData();
19377    method @Nullable @RequiresPermission(android.Manifest.permission.SEND_SAFETY_CENTER_UPDATE) public android.safetycenter.SafetySourceData getSafetySourceData(@NonNull String);
19378    method @RequiresPermission(anyOf={android.Manifest.permission.READ_SAFETY_CENTER_STATUS, android.Manifest.permission.SEND_SAFETY_CENTER_UPDATE}) public boolean isSafetyCenterEnabled();
19379    method @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public void refreshSafetySources(int);
19380    method @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public void refreshSafetySources(int, @NonNull java.util.List<java.lang.String>);
19381    method @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public void removeOnSafetyCenterDataChangedListener(@NonNull android.safetycenter.SafetyCenterManager.OnSafetyCenterDataChangedListener);
19382    method @RequiresPermission(android.Manifest.permission.SEND_SAFETY_CENTER_UPDATE) public void reportSafetySourceError(@NonNull String, @NonNull android.safetycenter.SafetySourceErrorDetails);
19383    method @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public void setSafetyCenterConfigForTests(@NonNull android.safetycenter.config.SafetyCenterConfig);
19384    method @RequiresPermission(android.Manifest.permission.SEND_SAFETY_CENTER_UPDATE) public void setSafetySourceData(@NonNull String, @Nullable android.safetycenter.SafetySourceData, @NonNull android.safetycenter.SafetyEvent);
19385    field public static final String ACTION_REFRESH_SAFETY_SOURCES = "android.safetycenter.action.REFRESH_SAFETY_SOURCES";
19386    field public static final String ACTION_SAFETY_CENTER_ENABLED_CHANGED = "android.safetycenter.action.SAFETY_CENTER_ENABLED_CHANGED";
19387    field public static final int EXTRA_REFRESH_REQUEST_TYPE_FETCH_FRESH_DATA = 0; // 0x0
19388    field public static final int EXTRA_REFRESH_REQUEST_TYPE_GET_DATA = 1; // 0x1
19389    field public static final String EXTRA_REFRESH_SAFETY_SOURCES_BROADCAST_ID = "android.safetycenter.extra.REFRESH_SAFETY_SOURCES_BROADCAST_ID";
19390    field public static final String EXTRA_REFRESH_SAFETY_SOURCES_REQUEST_TYPE = "android.safetycenter.extra.REFRESH_SAFETY_SOURCES_REQUEST_TYPE";
19391    field public static final String EXTRA_REFRESH_SAFETY_SOURCE_IDS = "android.safetycenter.extra.REFRESH_SAFETY_SOURCE_IDS";
19392    field public static final String EXTRA_SAFETY_SOURCES_GROUP_ID = "android.safetycenter.extra.SAFETY_SOURCES_GROUP_ID";
19393    field public static final String EXTRA_SAFETY_SOURCE_ID = "android.safetycenter.extra.SAFETY_SOURCE_ID";
19394    field public static final String EXTRA_SAFETY_SOURCE_ISSUE_ID = "android.safetycenter.extra.SAFETY_SOURCE_ISSUE_ID";
19395    field public static final String EXTRA_SAFETY_SOURCE_USER_HANDLE = "android.safetycenter.extra.SAFETY_SOURCE_USER_HANDLE";
19396    field public static final int REFRESH_REASON_DEVICE_LOCALE_CHANGE = 400; // 0x190
19397    field public static final int REFRESH_REASON_DEVICE_REBOOT = 300; // 0x12c
19398    field public static final int REFRESH_REASON_OTHER = 600; // 0x258
19399    field public static final int REFRESH_REASON_PAGE_OPEN = 100; // 0x64
19400    field public static final int REFRESH_REASON_PERIODIC = 700; // 0x2bc
19401    field public static final int REFRESH_REASON_RESCAN_BUTTON_CLICK = 200; // 0xc8
19402    field public static final int REFRESH_REASON_SAFETY_CENTER_ENABLED = 500; // 0x1f4
19403  }
19404
19405  public static interface SafetyCenterManager.OnSafetyCenterDataChangedListener {
19406    method public default void onError(@NonNull android.safetycenter.SafetyCenterErrorDetails);
19407    method public void onSafetyCenterDataChanged(@NonNull android.safetycenter.SafetyCenterData);
19408  }
19409
19410  public final class SafetyCenterStaticEntry implements android.os.Parcelable {
19411    method public int describeContents();
19412    method @Nullable public android.app.PendingIntent getPendingIntent();
19413    method @Nullable public CharSequence getSummary();
19414    method @NonNull public CharSequence getTitle();
19415    method public void writeToParcel(@NonNull android.os.Parcel, int);
19416    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterStaticEntry> CREATOR;
19417  }
19418
19419  public static final class SafetyCenterStaticEntry.Builder {
19420    ctor public SafetyCenterStaticEntry.Builder(@NonNull android.safetycenter.SafetyCenterStaticEntry);
19421    ctor public SafetyCenterStaticEntry.Builder(@NonNull CharSequence);
19422    method @NonNull public android.safetycenter.SafetyCenterStaticEntry build();
19423    method @NonNull public android.safetycenter.SafetyCenterStaticEntry.Builder setPendingIntent(@Nullable android.app.PendingIntent);
19424    method @NonNull public android.safetycenter.SafetyCenterStaticEntry.Builder setSummary(@Nullable CharSequence);
19425    method @NonNull public android.safetycenter.SafetyCenterStaticEntry.Builder setTitle(@NonNull CharSequence);
19426  }
19427
19428  public final class SafetyCenterStaticEntryGroup implements android.os.Parcelable {
19429    ctor public SafetyCenterStaticEntryGroup(@NonNull CharSequence, @NonNull java.util.List<android.safetycenter.SafetyCenterStaticEntry>);
19430    method public int describeContents();
19431    method @NonNull public java.util.List<android.safetycenter.SafetyCenterStaticEntry> getStaticEntries();
19432    method @NonNull public CharSequence getTitle();
19433    method public void writeToParcel(@NonNull android.os.Parcel, int);
19434    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterStaticEntryGroup> CREATOR;
19435  }
19436
19437  public final class SafetyCenterStatus implements android.os.Parcelable {
19438    method public int describeContents();
19439    method public int getRefreshStatus();
19440    method public int getSeverityLevel();
19441    method @NonNull public CharSequence getSummary();
19442    method @NonNull public CharSequence getTitle();
19443    method public void writeToParcel(@NonNull android.os.Parcel, int);
19444    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterStatus> CREATOR;
19445    field public static final int OVERALL_SEVERITY_LEVEL_CRITICAL_WARNING = 1300; // 0x514
19446    field public static final int OVERALL_SEVERITY_LEVEL_OK = 1100; // 0x44c
19447    field public static final int OVERALL_SEVERITY_LEVEL_RECOMMENDATION = 1200; // 0x4b0
19448    field public static final int OVERALL_SEVERITY_LEVEL_UNKNOWN = 1000; // 0x3e8
19449    field public static final int REFRESH_STATUS_DATA_FETCH_IN_PROGRESS = 10100; // 0x2774
19450    field public static final int REFRESH_STATUS_FULL_RESCAN_IN_PROGRESS = 10200; // 0x27d8
19451    field public static final int REFRESH_STATUS_NONE = 0; // 0x0
19452  }
19453
19454  public static final class SafetyCenterStatus.Builder {
19455    ctor public SafetyCenterStatus.Builder(@NonNull android.safetycenter.SafetyCenterStatus);
19456    ctor public SafetyCenterStatus.Builder(@NonNull CharSequence, @NonNull CharSequence);
19457    method @NonNull public android.safetycenter.SafetyCenterStatus build();
19458    method @NonNull public android.safetycenter.SafetyCenterStatus.Builder setRefreshStatus(int);
19459    method @NonNull public android.safetycenter.SafetyCenterStatus.Builder setSeverityLevel(int);
19460    method @NonNull public android.safetycenter.SafetyCenterStatus.Builder setSummary(@NonNull CharSequence);
19461    method @NonNull public android.safetycenter.SafetyCenterStatus.Builder setTitle(@NonNull CharSequence);
19462  }
19463
19464  public final class SafetyEvent implements android.os.Parcelable {
19465    method public int describeContents();
19466    method @Nullable public String getRefreshBroadcastId();
19467    method @Nullable public String getSafetySourceIssueActionId();
19468    method @Nullable public String getSafetySourceIssueId();
19469    method public int getType();
19470    method public void writeToParcel(@NonNull android.os.Parcel, int);
19471    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyEvent> CREATOR;
19472    field public static final int SAFETY_EVENT_TYPE_DEVICE_LOCALE_CHANGED = 500; // 0x1f4
19473    field public static final int SAFETY_EVENT_TYPE_DEVICE_REBOOTED = 600; // 0x258
19474    field public static final int SAFETY_EVENT_TYPE_REFRESH_REQUESTED = 200; // 0xc8
19475    field public static final int SAFETY_EVENT_TYPE_RESOLVING_ACTION_FAILED = 400; // 0x190
19476    field public static final int SAFETY_EVENT_TYPE_RESOLVING_ACTION_SUCCEEDED = 300; // 0x12c
19477    field public static final int SAFETY_EVENT_TYPE_SOURCE_STATE_CHANGED = 100; // 0x64
19478  }
19479
19480  public static final class SafetyEvent.Builder {
19481    ctor public SafetyEvent.Builder(@NonNull android.safetycenter.SafetyEvent);
19482    ctor public SafetyEvent.Builder(int);
19483    method @NonNull public android.safetycenter.SafetyEvent build();
19484    method @NonNull public android.safetycenter.SafetyEvent.Builder setRefreshBroadcastId(@Nullable String);
19485    method @NonNull public android.safetycenter.SafetyEvent.Builder setSafetySourceIssueActionId(@Nullable String);
19486    method @NonNull public android.safetycenter.SafetyEvent.Builder setSafetySourceIssueId(@Nullable String);
19487  }
19488
19489  public final class SafetySourceData implements android.os.Parcelable {
19490    method public int describeContents();
19491    method @NonNull public android.os.Bundle getExtras();
19492    method @NonNull public java.util.List<android.safetycenter.SafetySourceIssue> getIssues();
19493    method @Nullable public android.safetycenter.SafetySourceStatus getStatus();
19494    method public void writeToParcel(@NonNull android.os.Parcel, int);
19495    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetySourceData> CREATOR;
19496    field public static final int SEVERITY_LEVEL_CRITICAL_WARNING = 400; // 0x190
19497    field public static final int SEVERITY_LEVEL_INFORMATION = 200; // 0xc8
19498    field public static final int SEVERITY_LEVEL_RECOMMENDATION = 300; // 0x12c
19499    field public static final int SEVERITY_LEVEL_UNSPECIFIED = 100; // 0x64
19500  }
19501
19502  public static final class SafetySourceData.Builder {
19503    ctor public SafetySourceData.Builder();
19504    ctor public SafetySourceData.Builder(@NonNull android.safetycenter.SafetySourceData);
19505    method @NonNull public android.safetycenter.SafetySourceData.Builder addIssue(@NonNull android.safetycenter.SafetySourceIssue);
19506    method @NonNull public android.safetycenter.SafetySourceData build();
19507    method @NonNull public android.safetycenter.SafetySourceData.Builder clearExtras();
19508    method @NonNull public android.safetycenter.SafetySourceData.Builder clearIssues();
19509    method @NonNull public android.safetycenter.SafetySourceData.Builder setExtras(@NonNull android.os.Bundle);
19510    method @NonNull public android.safetycenter.SafetySourceData.Builder setStatus(@Nullable android.safetycenter.SafetySourceStatus);
19511  }
19512
19513  public final class SafetySourceErrorDetails implements android.os.Parcelable {
19514    ctor public SafetySourceErrorDetails(@NonNull android.safetycenter.SafetyEvent);
19515    method public int describeContents();
19516    method @NonNull public android.safetycenter.SafetyEvent getSafetyEvent();
19517    method public void writeToParcel(@NonNull android.os.Parcel, int);
19518    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetySourceErrorDetails> CREATOR;
19519  }
19520
19521  public final class SafetySourceIssue implements android.os.Parcelable {
19522    method public int describeContents();
19523    method @NonNull public java.util.List<android.safetycenter.SafetySourceIssue.Action> getActions();
19524    method @Nullable public CharSequence getAttributionTitle();
19525    method @Nullable public android.safetycenter.SafetySourceIssue.Notification getCustomNotification();
19526    method @Nullable public String getDeduplicationId();
19527    method @NonNull public String getId();
19528    method public int getIssueActionability();
19529    method public int getIssueCategory();
19530    method @NonNull public String getIssueTypeId();
19531    method public int getNotificationBehavior();
19532    method @Nullable public android.app.PendingIntent getOnDismissPendingIntent();
19533    method public int getSeverityLevel();
19534    method @Nullable public CharSequence getSubtitle();
19535    method @NonNull public CharSequence getSummary();
19536    method @NonNull public CharSequence getTitle();
19537    method public void writeToParcel(@NonNull android.os.Parcel, int);
19538    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetySourceIssue> CREATOR;
19539    field public static final int ISSUE_ACTIONABILITY_AUTOMATIC = 200; // 0xc8
19540    field public static final int ISSUE_ACTIONABILITY_MANUAL = 0; // 0x0
19541    field public static final int ISSUE_ACTIONABILITY_TIP = 100; // 0x64
19542    field public static final int ISSUE_CATEGORY_ACCOUNT = 200; // 0xc8
19543    field public static final int ISSUE_CATEGORY_DATA = 400; // 0x190
19544    field public static final int ISSUE_CATEGORY_DEVICE = 100; // 0x64
19545    field public static final int ISSUE_CATEGORY_GENERAL = 300; // 0x12c
19546    field public static final int ISSUE_CATEGORY_PASSWORDS = 500; // 0x1f4
19547    field public static final int ISSUE_CATEGORY_PERSONAL_SAFETY = 600; // 0x258
19548    field public static final int NOTIFICATION_BEHAVIOR_DELAYED = 200; // 0xc8
19549    field public static final int NOTIFICATION_BEHAVIOR_IMMEDIATELY = 300; // 0x12c
19550    field public static final int NOTIFICATION_BEHAVIOR_NEVER = 100; // 0x64
19551    field public static final int NOTIFICATION_BEHAVIOR_UNSPECIFIED = 0; // 0x0
19552  }
19553
19554  public static final class SafetySourceIssue.Action implements android.os.Parcelable {
19555    method public int describeContents();
19556    method @Nullable public android.safetycenter.SafetySourceIssue.Action.ConfirmationDialogDetails getConfirmationDialogDetails();
19557    method @NonNull public String getId();
19558    method @NonNull public CharSequence getLabel();
19559    method @NonNull public android.app.PendingIntent getPendingIntent();
19560    method @Nullable public CharSequence getSuccessMessage();
19561    method public boolean willResolve();
19562    method public void writeToParcel(@NonNull android.os.Parcel, int);
19563    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetySourceIssue.Action> CREATOR;
19564  }
19565
19566  public static final class SafetySourceIssue.Action.Builder {
19567    ctor public SafetySourceIssue.Action.Builder(@NonNull android.safetycenter.SafetySourceIssue.Action);
19568    ctor public SafetySourceIssue.Action.Builder(@NonNull String, @NonNull CharSequence, @NonNull android.app.PendingIntent);
19569    method @NonNull public android.safetycenter.SafetySourceIssue.Action build();
19570    method @NonNull public android.safetycenter.SafetySourceIssue.Action.Builder setConfirmationDialogDetails(@Nullable android.safetycenter.SafetySourceIssue.Action.ConfirmationDialogDetails);
19571    method @NonNull public android.safetycenter.SafetySourceIssue.Action.Builder setSuccessMessage(@Nullable CharSequence);
19572    method @NonNull public android.safetycenter.SafetySourceIssue.Action.Builder setWillResolve(boolean);
19573  }
19574
19575  public static final class SafetySourceIssue.Action.ConfirmationDialogDetails implements android.os.Parcelable {
19576    ctor public SafetySourceIssue.Action.ConfirmationDialogDetails(@NonNull CharSequence, @NonNull CharSequence, @NonNull CharSequence, @NonNull CharSequence);
19577    method public int describeContents();
19578    method @NonNull public CharSequence getAcceptButtonText();
19579    method @NonNull public CharSequence getDenyButtonText();
19580    method @NonNull public CharSequence getText();
19581    method @NonNull public CharSequence getTitle();
19582    method public void writeToParcel(@NonNull android.os.Parcel, int);
19583    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetySourceIssue.Action.ConfirmationDialogDetails> CREATOR;
19584  }
19585
19586  public static final class SafetySourceIssue.Builder {
19587    ctor public SafetySourceIssue.Builder(@NonNull android.safetycenter.SafetySourceIssue);
19588    ctor public SafetySourceIssue.Builder(@NonNull String, @NonNull CharSequence, @NonNull CharSequence, int, @NonNull String);
19589    method @NonNull public android.safetycenter.SafetySourceIssue.Builder addAction(@NonNull android.safetycenter.SafetySourceIssue.Action);
19590    method @NonNull public android.safetycenter.SafetySourceIssue build();
19591    method @NonNull public android.safetycenter.SafetySourceIssue.Builder clearActions();
19592    method @NonNull public android.safetycenter.SafetySourceIssue.Builder setAttributionTitle(@Nullable CharSequence);
19593    method @NonNull public android.safetycenter.SafetySourceIssue.Builder setCustomNotification(@Nullable android.safetycenter.SafetySourceIssue.Notification);
19594    method @NonNull public android.safetycenter.SafetySourceIssue.Builder setDeduplicationId(@Nullable String);
19595    method @NonNull public android.safetycenter.SafetySourceIssue.Builder setIssueActionability(int);
19596    method @NonNull public android.safetycenter.SafetySourceIssue.Builder setIssueCategory(int);
19597    method @NonNull public android.safetycenter.SafetySourceIssue.Builder setNotificationBehavior(int);
19598    method @NonNull public android.safetycenter.SafetySourceIssue.Builder setOnDismissPendingIntent(@Nullable android.app.PendingIntent);
19599    method @NonNull public android.safetycenter.SafetySourceIssue.Builder setSubtitle(@Nullable CharSequence);
19600  }
19601
19602  public static final class SafetySourceIssue.Notification implements android.os.Parcelable {
19603    method public int describeContents();
19604    method @NonNull public java.util.List<android.safetycenter.SafetySourceIssue.Action> getActions();
19605    method @NonNull public CharSequence getText();
19606    method @NonNull public CharSequence getTitle();
19607    method public void writeToParcel(@NonNull android.os.Parcel, int);
19608    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetySourceIssue.Notification> CREATOR;
19609  }
19610
19611  public static final class SafetySourceIssue.Notification.Builder {
19612    ctor public SafetySourceIssue.Notification.Builder(@NonNull android.safetycenter.SafetySourceIssue.Notification);
19613    ctor public SafetySourceIssue.Notification.Builder(@NonNull CharSequence, @NonNull CharSequence);
19614    method @NonNull public android.safetycenter.SafetySourceIssue.Notification.Builder addAction(@NonNull android.safetycenter.SafetySourceIssue.Action);
19615    method @NonNull public android.safetycenter.SafetySourceIssue.Notification.Builder addActions(@NonNull java.util.List<android.safetycenter.SafetySourceIssue.Action>);
19616    method @NonNull public android.safetycenter.SafetySourceIssue.Notification build();
19617    method @NonNull public android.safetycenter.SafetySourceIssue.Notification.Builder clearActions();
19618  }
19619
19620  public final class SafetySourceStatus implements android.os.Parcelable {
19621    method public int describeContents();
19622    method @Nullable public android.safetycenter.SafetySourceStatus.IconAction getIconAction();
19623    method @Nullable public android.app.PendingIntent getPendingIntent();
19624    method public int getSeverityLevel();
19625    method @NonNull public CharSequence getSummary();
19626    method @NonNull public CharSequence getTitle();
19627    method public boolean isEnabled();
19628    method public void writeToParcel(@NonNull android.os.Parcel, int);
19629    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetySourceStatus> CREATOR;
19630  }
19631
19632  public static final class SafetySourceStatus.Builder {
19633    ctor public SafetySourceStatus.Builder(@NonNull android.safetycenter.SafetySourceStatus);
19634    ctor public SafetySourceStatus.Builder(@NonNull CharSequence, @NonNull CharSequence, int);
19635    method @NonNull public android.safetycenter.SafetySourceStatus build();
19636    method @NonNull public android.safetycenter.SafetySourceStatus.Builder setEnabled(boolean);
19637    method @NonNull public android.safetycenter.SafetySourceStatus.Builder setIconAction(@Nullable android.safetycenter.SafetySourceStatus.IconAction);
19638    method @NonNull public android.safetycenter.SafetySourceStatus.Builder setPendingIntent(@Nullable android.app.PendingIntent);
19639  }
19640
19641  public static final class SafetySourceStatus.IconAction implements android.os.Parcelable {
19642    ctor public SafetySourceStatus.IconAction(int, @NonNull android.app.PendingIntent);
19643    method public int describeContents();
19644    method public int getIconType();
19645    method @NonNull public android.app.PendingIntent getPendingIntent();
19646    method public void writeToParcel(@NonNull android.os.Parcel, int);
19647    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetySourceStatus.IconAction> CREATOR;
19648    field public static final int ICON_TYPE_GEAR = 100; // 0x64
19649    field public static final int ICON_TYPE_INFO = 200; // 0xc8
19650  }
19651
19652}
19653
19654package android.safetycenter.config {
19655
19656  public final class SafetyCenterConfig implements android.os.Parcelable {
19657    method public int describeContents();
19658    method @NonNull public java.util.List<android.safetycenter.config.SafetySourcesGroup> getSafetySourcesGroups();
19659    method public void writeToParcel(@NonNull android.os.Parcel, int);
19660    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.config.SafetyCenterConfig> CREATOR;
19661  }
19662
19663  public static final class SafetyCenterConfig.Builder {
19664    ctor public SafetyCenterConfig.Builder();
19665    ctor public SafetyCenterConfig.Builder(@NonNull android.safetycenter.config.SafetyCenterConfig);
19666    method @NonNull public android.safetycenter.config.SafetyCenterConfig.Builder addSafetySourcesGroup(@NonNull android.safetycenter.config.SafetySourcesGroup);
19667    method @NonNull public android.safetycenter.config.SafetyCenterConfig build();
19668  }
19669
19670  public final class SafetySource implements android.os.Parcelable {
19671    method public boolean areNotificationsAllowed();
19672    method public int describeContents();
19673    method @Nullable public String getDeduplicationGroup();
19674    method @NonNull public String getId();
19675    method public int getInitialDisplayState();
19676    method @Nullable public String getIntentAction();
19677    method public int getMaxSeverityLevel();
19678    method @Nullable public String getOptionalPackageName();
19679    method @NonNull public java.util.Set<java.lang.String> getPackageCertificateHashes();
19680    method @NonNull public String getPackageName();
19681    method public int getProfile();
19682    method @StringRes public int getSearchTermsResId();
19683    method @StringRes public int getSummaryResId();
19684    method @StringRes public int getTitleForPrivateProfileResId();
19685    method @StringRes public int getTitleForWorkResId();
19686    method @StringRes public int getTitleResId();
19687    method public int getType();
19688    method public boolean isLoggingAllowed();
19689    method public boolean isRefreshOnPageOpenAllowed();
19690    method public void writeToParcel(@NonNull android.os.Parcel, int);
19691    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.config.SafetySource> CREATOR;
19692    field public static final int INITIAL_DISPLAY_STATE_DISABLED = 1; // 0x1
19693    field public static final int INITIAL_DISPLAY_STATE_ENABLED = 0; // 0x0
19694    field public static final int INITIAL_DISPLAY_STATE_HIDDEN = 2; // 0x2
19695    field public static final int PROFILE_ALL = 2; // 0x2
19696    field public static final int PROFILE_NONE = 0; // 0x0
19697    field public static final int PROFILE_PRIMARY = 1; // 0x1
19698    field public static final int SAFETY_SOURCE_TYPE_DYNAMIC = 2; // 0x2
19699    field public static final int SAFETY_SOURCE_TYPE_ISSUE_ONLY = 3; // 0x3
19700    field public static final int SAFETY_SOURCE_TYPE_STATIC = 1; // 0x1
19701  }
19702
19703  public static final class SafetySource.Builder {
19704    ctor public SafetySource.Builder(@NonNull android.safetycenter.config.SafetySource);
19705    ctor public SafetySource.Builder(int);
19706    method @NonNull public android.safetycenter.config.SafetySource.Builder addPackageCertificateHash(@NonNull String);
19707    method @NonNull public android.safetycenter.config.SafetySource build();
19708    method @NonNull public android.safetycenter.config.SafetySource.Builder setDeduplicationGroup(@Nullable String);
19709    method @NonNull public android.safetycenter.config.SafetySource.Builder setId(@Nullable String);
19710    method @NonNull public android.safetycenter.config.SafetySource.Builder setInitialDisplayState(int);
19711    method @NonNull public android.safetycenter.config.SafetySource.Builder setIntentAction(@Nullable String);
19712    method @NonNull public android.safetycenter.config.SafetySource.Builder setLoggingAllowed(boolean);
19713    method @NonNull public android.safetycenter.config.SafetySource.Builder setMaxSeverityLevel(int);
19714    method @NonNull public android.safetycenter.config.SafetySource.Builder setNotificationsAllowed(boolean);
19715    method @NonNull public android.safetycenter.config.SafetySource.Builder setPackageName(@Nullable String);
19716    method @NonNull public android.safetycenter.config.SafetySource.Builder setProfile(int);
19717    method @NonNull public android.safetycenter.config.SafetySource.Builder setRefreshOnPageOpenAllowed(boolean);
19718    method @NonNull public android.safetycenter.config.SafetySource.Builder setSearchTermsResId(@StringRes int);
19719    method @NonNull public android.safetycenter.config.SafetySource.Builder setSummaryResId(@StringRes int);
19720    method @NonNull public android.safetycenter.config.SafetySource.Builder setTitleForPrivateProfileResId(@StringRes int);
19721    method @NonNull public android.safetycenter.config.SafetySource.Builder setTitleForWorkResId(@StringRes int);
19722    method @NonNull public android.safetycenter.config.SafetySource.Builder setTitleResId(@StringRes int);
19723  }
19724
19725  public final class SafetySourcesGroup implements android.os.Parcelable {
19726    method public int describeContents();
19727    method @NonNull public String getId();
19728    method @NonNull public java.util.List<android.safetycenter.config.SafetySource> getSafetySources();
19729    method public int getStatelessIconType();
19730    method @StringRes public int getSummaryResId();
19731    method @StringRes public int getTitleResId();
19732    method public int getType();
19733    method public void writeToParcel(@NonNull android.os.Parcel, int);
19734    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.config.SafetySourcesGroup> CREATOR;
19735    field @Deprecated public static final int SAFETY_SOURCES_GROUP_TYPE_COLLAPSIBLE = 0; // 0x0
19736    field public static final int SAFETY_SOURCES_GROUP_TYPE_HIDDEN = 2; // 0x2
19737    field @Deprecated public static final int SAFETY_SOURCES_GROUP_TYPE_RIGID = 1; // 0x1
19738    field public static final int SAFETY_SOURCES_GROUP_TYPE_STATEFUL = 0; // 0x0
19739    field public static final int SAFETY_SOURCES_GROUP_TYPE_STATELESS = 1; // 0x1
19740    field public static final int STATELESS_ICON_TYPE_NONE = 0; // 0x0
19741    field public static final int STATELESS_ICON_TYPE_PRIVACY = 1; // 0x1
19742  }
19743
19744  public static final class SafetySourcesGroup.Builder {
19745    ctor public SafetySourcesGroup.Builder();
19746    ctor public SafetySourcesGroup.Builder(@NonNull android.safetycenter.config.SafetySourcesGroup);
19747    method @NonNull public android.safetycenter.config.SafetySourcesGroup.Builder addSafetySource(@NonNull android.safetycenter.config.SafetySource);
19748    method @NonNull public android.safetycenter.config.SafetySourcesGroup build();
19749    method @NonNull public android.safetycenter.config.SafetySourcesGroup.Builder setId(@Nullable String);
19750    method @NonNull public android.safetycenter.config.SafetySourcesGroup.Builder setStatelessIconType(int);
19751    method @NonNull public android.safetycenter.config.SafetySourcesGroup.Builder setSummaryResId(@StringRes int);
19752    method @NonNull public android.safetycenter.config.SafetySourcesGroup.Builder setTitleResId(@StringRes int);
19753    method @NonNull public android.safetycenter.config.SafetySourcesGroup.Builder setType(int);
19754  }
19755
19756}
19757
19758package android.safetylabel {
19759
19760  public final class SafetyLabelConstants {
19761    field public static final String PERMISSION_RATIONALE_ENABLED = "permission_rationale_enabled";
19762    field public static final String SAFETY_LABEL_CHANGE_NOTIFICATIONS_ENABLED = "safety_label_change_notifications_enabled";
19763  }
19764
19765}
19766
19767package android.scheduling {
19768
19769  public final class RebootReadinessManager {
19770    method @RequiresPermission(android.Manifest.permission.SIGNAL_REBOOT_READINESS) public void addRequestRebootReadinessStatusListener(@NonNull java.util.concurrent.Executor, @NonNull android.scheduling.RebootReadinessManager.RequestRebootReadinessStatusListener);
19771    method @RequiresPermission(android.Manifest.permission.REBOOT) public void cancelPendingReboot();
19772    method @RequiresPermission(android.Manifest.permission.REBOOT) public boolean isReadyToReboot();
19773    method @RequiresPermission(android.Manifest.permission.REBOOT) public void markRebootPending();
19774    method @RequiresPermission(android.Manifest.permission.SIGNAL_REBOOT_READINESS) public void removeRequestRebootReadinessStatusListener(@NonNull android.scheduling.RebootReadinessManager.RequestRebootReadinessStatusListener);
19775    field public static final String ACTION_REBOOT_READY = "android.scheduling.action.REBOOT_READY";
19776    field public static final String EXTRA_IS_READY_TO_REBOOT = "android.scheduling.extra.IS_READY_TO_REBOOT";
19777  }
19778
19779  public static final class RebootReadinessManager.RebootReadinessStatus {
19780    ctor public RebootReadinessManager.RebootReadinessStatus(boolean, long, @NonNull String);
19781    method public long getEstimatedFinishTime();
19782    method @NonNull public String getLogSubsystemName();
19783    method public boolean isReadyToReboot();
19784  }
19785
19786  public static interface RebootReadinessManager.RequestRebootReadinessStatusListener {
19787    method @NonNull public android.scheduling.RebootReadinessManager.RebootReadinessStatus onRequestRebootReadinessStatus();
19788  }
19789
19790}
19791
19792package android.se.omapi {
19793
19794  public final class Reader {
19795    method @RequiresPermission(android.Manifest.permission.SECURE_ELEMENT_PRIVILEGED_OPERATION) public boolean reset();
19796  }
19797
19798}
19799
19800package android.security {
19801
19802  public final class FileIntegrityManager {
19803    method @FlaggedApi("android.security.fsverity_api") @Nullable public byte[] getFsVerityDigest(@NonNull java.io.File) throws java.io.IOException;
19804    method @FlaggedApi("android.security.fsverity_api") public void setupFsVerity(@NonNull java.io.File) throws java.io.IOException;
19805  }
19806
19807  public final class KeyChain {
19808    method @Nullable @WorkerThread public static String getWifiKeyGrantAsUser(@NonNull android.content.Context, @NonNull android.os.UserHandle, @NonNull String);
19809    method @WorkerThread public static boolean hasWifiKeyGrantAsUser(@NonNull android.content.Context, @NonNull android.os.UserHandle, @NonNull String);
19810  }
19811
19812}
19813
19814package android.security.advancedprotection {
19815
19816  @FlaggedApi("android.security.aapm_api") public final class AdvancedProtectionFeature implements android.os.Parcelable {
19817    ctor public AdvancedProtectionFeature(@NonNull String);
19818    method public int describeContents();
19819    method @NonNull public String getId();
19820    method public void writeToParcel(@NonNull android.os.Parcel, int);
19821    field @NonNull public static final android.os.Parcelable.Creator<android.security.advancedprotection.AdvancedProtectionFeature> CREATOR;
19822  }
19823
19824  @FlaggedApi("android.security.aapm_api") public final class AdvancedProtectionManager {
19825    method @NonNull public android.content.Intent createSupportIntent(@NonNull String, @Nullable String);
19826    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_ADVANCED_PROTECTION_MODE) public java.util.List<android.security.advancedprotection.AdvancedProtectionFeature> getAdvancedProtectionFeatures();
19827    method @RequiresPermission(android.Manifest.permission.MANAGE_ADVANCED_PROTECTION_MODE) public void setAdvancedProtectionEnabled(boolean);
19828    field @FlaggedApi("android.security.aapm_api") public static final String ACTION_SHOW_ADVANCED_PROTECTION_SUPPORT_DIALOG = "android.security.advancedprotection.action.SHOW_ADVANCED_PROTECTION_SUPPORT_DIALOG";
19829    field public static final String EXTRA_SUPPORT_DIALOG_FEATURE = "android.security.advancedprotection.extra.SUPPORT_DIALOG_FEATURE";
19830    field public static final String EXTRA_SUPPORT_DIALOG_TYPE = "android.security.advancedprotection.extra.SUPPORT_DIALOG_TYPE";
19831    field public static final String FEATURE_ID_DISALLOW_CELLULAR_2G = "android.security.advancedprotection.feature_disallow_2g";
19832    field public static final String FEATURE_ID_DISALLOW_INSTALL_UNKNOWN_SOURCES = "android.security.advancedprotection.feature_disallow_install_unknown_sources";
19833    field public static final String FEATURE_ID_DISALLOW_USB = "android.security.advancedprotection.feature_disallow_usb";
19834    field public static final String FEATURE_ID_DISALLOW_WEP = "android.security.advancedprotection.feature_disallow_wep";
19835    field public static final String FEATURE_ID_ENABLE_MTE = "android.security.advancedprotection.feature_enable_mte";
19836    field public static final String SUPPORT_DIALOG_TYPE_BLOCKED_INTERACTION = "android.security.advancedprotection.type_blocked_interaction";
19837    field public static final String SUPPORT_DIALOG_TYPE_DISABLED_SETTING = "android.security.advancedprotection.type_disabled_setting";
19838  }
19839
19840}
19841
19842package android.security.authenticationpolicy {
19843
19844  @FlaggedApi("android.security.secure_lockdown") public final class AuthenticationPolicyManager {
19845    method @FlaggedApi("android.security.secure_lockdown") @RequiresPermission(android.Manifest.permission.MANAGE_SECURE_LOCK_DEVICE) public int disableSecureLockDevice(@NonNull android.security.authenticationpolicy.DisableSecureLockDeviceParams);
19846    method @FlaggedApi("android.security.secure_lockdown") @RequiresPermission(android.Manifest.permission.MANAGE_SECURE_LOCK_DEVICE) public int enableSecureLockDevice(@NonNull android.security.authenticationpolicy.EnableSecureLockDeviceParams);
19847    field @FlaggedApi("android.security.secure_lockdown") public static final int ERROR_ALREADY_ENABLED = 6; // 0x6
19848    field @FlaggedApi("android.security.secure_lockdown") public static final int ERROR_INSUFFICIENT_BIOMETRICS = 5; // 0x5
19849    field @FlaggedApi("android.security.secure_lockdown") public static final int ERROR_INVALID_PARAMS = 3; // 0x3
19850    field @FlaggedApi("android.security.secure_lockdown") public static final int ERROR_NO_BIOMETRICS_ENROLLED = 4; // 0x4
19851    field @FlaggedApi("android.security.secure_lockdown") public static final int ERROR_UNKNOWN = 0; // 0x0
19852    field @FlaggedApi("android.security.secure_lockdown") public static final int ERROR_UNSUPPORTED = 2; // 0x2
19853    field @FlaggedApi("android.security.secure_lockdown") public static final int SUCCESS = 1; // 0x1
19854  }
19855
19856  @FlaggedApi("android.security.secure_lockdown") public final class DisableSecureLockDeviceParams implements android.os.Parcelable {
19857    ctor public DisableSecureLockDeviceParams(@NonNull CharSequence);
19858    method public int describeContents();
19859    method public void writeToParcel(@NonNull android.os.Parcel, int);
19860    field @NonNull public static final android.os.Parcelable.Creator<android.security.authenticationpolicy.DisableSecureLockDeviceParams> CREATOR;
19861  }
19862
19863  @FlaggedApi("android.security.secure_lockdown") public final class EnableSecureLockDeviceParams implements android.os.Parcelable {
19864    ctor public EnableSecureLockDeviceParams(@NonNull CharSequence);
19865    method public int describeContents();
19866    method public void writeToParcel(@NonNull android.os.Parcel, int);
19867    field @NonNull public static final android.os.Parcelable.Creator<android.security.authenticationpolicy.EnableSecureLockDeviceParams> CREATOR;
19868  }
19869
19870}
19871
19872package android.security.intrusiondetection {
19873
19874  @FlaggedApi("android.security.afl_api") public final class IntrusionDetectionEvent implements android.os.Parcelable {
19875    ctor public IntrusionDetectionEvent(@NonNull android.app.admin.ConnectEvent);
19876    ctor public IntrusionDetectionEvent(@NonNull android.app.admin.DnsEvent);
19877    ctor public IntrusionDetectionEvent(@NonNull android.app.admin.SecurityLog.SecurityEvent);
19878    method @FlaggedApi("android.security.afl_api") public int describeContents();
19879    method @NonNull public android.app.admin.ConnectEvent getConnectEvent();
19880    method @NonNull public android.app.admin.DnsEvent getDnsEvent();
19881    method @NonNull public android.app.admin.SecurityLog.SecurityEvent getSecurityEvent();
19882    method @NonNull public int getType();
19883    method public void writeToParcel(@NonNull android.os.Parcel, int);
19884    field @NonNull public static final android.os.Parcelable.Creator<android.security.intrusiondetection.IntrusionDetectionEvent> CREATOR;
19885    field public static final int NETWORK_EVENT_CONNECT = 2; // 0x2
19886    field public static final int NETWORK_EVENT_DNS = 1; // 0x1
19887    field public static final int SECURITY_EVENT = 0; // 0x0
19888  }
19889
19890  @FlaggedApi("android.security.afl_api") public class IntrusionDetectionEventTransport {
19891    ctor public IntrusionDetectionEventTransport();
19892    method public boolean addData(@NonNull java.util.List<android.security.intrusiondetection.IntrusionDetectionEvent>);
19893    method @NonNull public android.os.IBinder getBinder();
19894    method public boolean initialize();
19895    method public boolean release();
19896  }
19897
19898  @FlaggedApi("android.security.afl_api") public class IntrusionDetectionManager {
19899    method @RequiresPermission(android.Manifest.permission.READ_INTRUSION_DETECTION_STATE) public void addStateCallback(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
19900    method @RequiresPermission(android.Manifest.permission.MANAGE_INTRUSION_DETECTION_STATE) public void disable(@NonNull java.util.concurrent.Executor, @NonNull android.security.intrusiondetection.IntrusionDetectionManager.CommandCallback);
19901    method @RequiresPermission(android.Manifest.permission.MANAGE_INTRUSION_DETECTION_STATE) public void enable(@NonNull java.util.concurrent.Executor, @NonNull android.security.intrusiondetection.IntrusionDetectionManager.CommandCallback);
19902    method @RequiresPermission(android.Manifest.permission.READ_INTRUSION_DETECTION_STATE) public void removeStateCallback(@NonNull java.util.function.Consumer<java.lang.Integer>);
19903    field public static final int ERROR_DATA_SOURCE_UNAVAILABLE = 4; // 0x4
19904    field public static final int ERROR_PERMISSION_DENIED = 1; // 0x1
19905    field public static final int ERROR_TRANSPORT_UNAVAILABLE = 3; // 0x3
19906    field public static final int ERROR_UNKNOWN = 0; // 0x0
19907    field public static final int STATE_DISABLED = 1; // 0x1
19908    field public static final int STATE_ENABLED = 2; // 0x2
19909    field public static final int STATE_UNKNOWN = 0; // 0x0
19910  }
19911
19912  public static interface IntrusionDetectionManager.CommandCallback {
19913    method public void onFailure(int);
19914    method public void onSuccess();
19915  }
19916
19917}
19918
19919package android.security.keystore {
19920
19921  public class AndroidKeyStoreProvider extends java.security.Provider {
19922    method @NonNull public static java.security.KeyStore getKeyStoreForUid(int) throws java.security.KeyStoreException, java.security.NoSuchProviderException;
19923  }
19924
19925  public abstract class AttestationUtils {
19926    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;
19927    field public static final int ID_TYPE_IMEI = 2; // 0x2
19928    field public static final int ID_TYPE_MEID = 3; // 0x3
19929    field public static final int ID_TYPE_SERIAL = 1; // 0x1
19930    field public static final int USE_INDIVIDUAL_ATTESTATION = 4; // 0x4
19931  }
19932
19933  public class DeviceIdAttestationException extends java.lang.Exception {
19934    ctor public DeviceIdAttestationException(@Nullable String);
19935    ctor public DeviceIdAttestationException(@Nullable String, @Nullable Throwable);
19936  }
19937
19938  public final class KeyGenParameterSpec implements java.security.spec.AlgorithmParameterSpec {
19939    method @NonNull public int[] getAttestationIds();
19940    method public int getNamespace();
19941  }
19942
19943  public static final class KeyGenParameterSpec.Builder {
19944    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setAttestationIds(@NonNull int[]);
19945    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setNamespace(int);
19946    method @Deprecated @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setUid(int);
19947  }
19948
19949  public abstract class KeyProperties {
19950    field public static final int NAMESPACE_APPLICATION = -1; // 0xffffffff
19951    field public static final int NAMESPACE_WIFI = 102; // 0x66
19952  }
19953
19954}
19955
19956package android.security.keystore.recovery {
19957
19958  public class DecryptionFailedException extends java.security.GeneralSecurityException {
19959    ctor public DecryptionFailedException(String);
19960  }
19961
19962  public class InternalRecoveryServiceException extends java.security.GeneralSecurityException {
19963    ctor public InternalRecoveryServiceException(String);
19964    ctor public InternalRecoveryServiceException(String, Throwable);
19965  }
19966
19967  public final class KeyChainProtectionParams implements android.os.Parcelable {
19968    method public void clearSecret();
19969    method public int describeContents();
19970    method @NonNull public android.security.keystore.recovery.KeyDerivationParams getKeyDerivationParams();
19971    method public int getLockScreenUiFormat();
19972    method @NonNull public byte[] getSecret();
19973    method public int getUserSecretType();
19974    method public void writeToParcel(android.os.Parcel, int);
19975    field @NonNull public static final android.os.Parcelable.Creator<android.security.keystore.recovery.KeyChainProtectionParams> CREATOR;
19976    field public static final int TYPE_LOCKSCREEN = 100; // 0x64
19977    field public static final int UI_FORMAT_PASSWORD = 2; // 0x2
19978    field public static final int UI_FORMAT_PATTERN = 3; // 0x3
19979    field public static final int UI_FORMAT_PIN = 1; // 0x1
19980  }
19981
19982  public static class KeyChainProtectionParams.Builder {
19983    ctor public KeyChainProtectionParams.Builder();
19984    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams build();
19985    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams.Builder setKeyDerivationParams(@NonNull android.security.keystore.recovery.KeyDerivationParams);
19986    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams.Builder setLockScreenUiFormat(int);
19987    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams.Builder setSecret(@NonNull byte[]);
19988    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams.Builder setUserSecretType(int);
19989  }
19990
19991  public final class KeyChainSnapshot implements android.os.Parcelable {
19992    method public int describeContents();
19993    method public long getCounterId();
19994    method @NonNull public byte[] getEncryptedRecoveryKeyBlob();
19995    method @NonNull public java.util.List<android.security.keystore.recovery.KeyChainProtectionParams> getKeyChainProtectionParams();
19996    method public int getMaxAttempts();
19997    method @NonNull public byte[] getServerParams();
19998    method public int getSnapshotVersion();
19999    method @NonNull public java.security.cert.CertPath getTrustedHardwareCertPath();
20000    method @NonNull public java.util.List<android.security.keystore.recovery.WrappedApplicationKey> getWrappedApplicationKeys();
20001    method public void writeToParcel(android.os.Parcel, int);
20002    field @NonNull public static final android.os.Parcelable.Creator<android.security.keystore.recovery.KeyChainSnapshot> CREATOR;
20003  }
20004
20005  public final class KeyDerivationParams implements android.os.Parcelable {
20006    method @NonNull public static android.security.keystore.recovery.KeyDerivationParams createScryptParams(@NonNull byte[], int);
20007    method @NonNull public static android.security.keystore.recovery.KeyDerivationParams createSha256Params(@NonNull byte[]);
20008    method public int describeContents();
20009    method public int getAlgorithm();
20010    method public int getMemoryDifficulty();
20011    method @NonNull public byte[] getSalt();
20012    method public void writeToParcel(android.os.Parcel, int);
20013    field public static final int ALGORITHM_SCRYPT = 2; // 0x2
20014    field public static final int ALGORITHM_SHA256 = 1; // 0x1
20015    field @NonNull public static final android.os.Parcelable.Creator<android.security.keystore.recovery.KeyDerivationParams> CREATOR;
20016  }
20017
20018  public class LockScreenRequiredException extends java.security.GeneralSecurityException {
20019    ctor public LockScreenRequiredException(String);
20020  }
20021
20022  public class RecoveryController {
20023    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public android.security.keystore.recovery.RecoverySession createRecoverySession();
20024    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;
20025    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;
20026    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public java.util.List<java.lang.String> getAliases() throws android.security.keystore.recovery.InternalRecoveryServiceException;
20027    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public static android.security.keystore.recovery.RecoveryController getInstance(@NonNull android.content.Context);
20028    method @Nullable @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public java.security.Key getKey(@NonNull String) throws android.security.keystore.recovery.InternalRecoveryServiceException, java.security.UnrecoverableKeyException;
20029    method @Nullable @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public android.security.keystore.recovery.KeyChainSnapshot getKeyChainSnapshot() throws android.security.keystore.recovery.InternalRecoveryServiceException;
20030    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public int[] getRecoverySecretTypes() throws android.security.keystore.recovery.InternalRecoveryServiceException;
20031    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public int getRecoveryStatus(@NonNull String) throws android.security.keystore.recovery.InternalRecoveryServiceException;
20032    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public java.util.Map<java.lang.String,java.security.cert.X509Certificate> getRootCertificates();
20033    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;
20034    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;
20035    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;
20036    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public static boolean isRecoverableKeyStoreEnabled(@NonNull android.content.Context);
20037    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void removeKey(@NonNull String) throws android.security.keystore.recovery.InternalRecoveryServiceException;
20038    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void setRecoverySecretTypes(@NonNull int[]) throws android.security.keystore.recovery.InternalRecoveryServiceException;
20039    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void setRecoveryStatus(@NonNull String, int) throws android.security.keystore.recovery.InternalRecoveryServiceException;
20040    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void setServerParams(@NonNull byte[]) throws android.security.keystore.recovery.InternalRecoveryServiceException;
20041    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void setSnapshotCreatedPendingIntent(@Nullable android.app.PendingIntent) throws android.security.keystore.recovery.InternalRecoveryServiceException;
20042    field public static final int RECOVERY_STATUS_PERMANENT_FAILURE = 3; // 0x3
20043    field public static final int RECOVERY_STATUS_SYNCED = 0; // 0x0
20044    field public static final int RECOVERY_STATUS_SYNC_IN_PROGRESS = 1; // 0x1
20045  }
20046
20047  public class RecoverySession implements java.lang.AutoCloseable {
20048    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void close();
20049    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;
20050    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;
20051  }
20052
20053  public class SessionExpiredException extends java.security.GeneralSecurityException {
20054    ctor public SessionExpiredException(String);
20055  }
20056
20057  public final class WrappedApplicationKey implements android.os.Parcelable {
20058    method public int describeContents();
20059    method @NonNull public String getAlias();
20060    method @NonNull public byte[] getEncryptedKeyMaterial();
20061    method @Nullable public byte[] getMetadata();
20062    method public void writeToParcel(android.os.Parcel, int);
20063    field @NonNull public static final android.os.Parcelable.Creator<android.security.keystore.recovery.WrappedApplicationKey> CREATOR;
20064  }
20065
20066  public static class WrappedApplicationKey.Builder {
20067    ctor public WrappedApplicationKey.Builder();
20068    method @NonNull public android.security.keystore.recovery.WrappedApplicationKey build();
20069    method @NonNull public android.security.keystore.recovery.WrappedApplicationKey.Builder setAlias(@NonNull String);
20070    method @NonNull public android.security.keystore.recovery.WrappedApplicationKey.Builder setEncryptedKeyMaterial(@NonNull byte[]);
20071    method @NonNull public android.security.keystore.recovery.WrappedApplicationKey.Builder setMetadata(@Nullable byte[]);
20072  }
20073
20074}
20075
20076package android.service.ambientcontext {
20077
20078  public final class AmbientContextDetectionResult implements android.os.Parcelable {
20079    method public int describeContents();
20080    method @NonNull public java.util.List<android.app.ambientcontext.AmbientContextEvent> getEvents();
20081    method @NonNull public String getPackageName();
20082    method public void writeToParcel(@NonNull android.os.Parcel, int);
20083    field @NonNull public static final android.os.Parcelable.Creator<android.service.ambientcontext.AmbientContextDetectionResult> CREATOR;
20084  }
20085
20086  public static final class AmbientContextDetectionResult.Builder {
20087    ctor public AmbientContextDetectionResult.Builder(@NonNull String);
20088    method @NonNull public android.service.ambientcontext.AmbientContextDetectionResult.Builder addEvent(@NonNull android.app.ambientcontext.AmbientContextEvent);
20089    method @NonNull public android.service.ambientcontext.AmbientContextDetectionResult.Builder addEvents(@NonNull java.util.List<android.app.ambientcontext.AmbientContextEvent>);
20090    method @NonNull public android.service.ambientcontext.AmbientContextDetectionResult build();
20091    method @NonNull public android.service.ambientcontext.AmbientContextDetectionResult.Builder clearEvents();
20092  }
20093
20094  public abstract class AmbientContextDetectionService extends android.app.Service {
20095    ctor public AmbientContextDetectionService();
20096    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
20097    method @BinderThread public abstract void onQueryServiceStatus(@NonNull int[], @NonNull String, @NonNull java.util.function.Consumer<android.service.ambientcontext.AmbientContextDetectionServiceStatus>);
20098    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>);
20099    method public abstract void onStopDetection(@NonNull String);
20100    field public static final String SERVICE_INTERFACE = "android.service.ambientcontext.AmbientContextDetectionService";
20101  }
20102
20103  public final class AmbientContextDetectionServiceStatus implements android.os.Parcelable {
20104    method public int describeContents();
20105    method @NonNull public String getPackageName();
20106    method public int getStatusCode();
20107    method public void writeToParcel(@NonNull android.os.Parcel, int);
20108    field @NonNull public static final android.os.Parcelable.Creator<android.service.ambientcontext.AmbientContextDetectionServiceStatus> CREATOR;
20109  }
20110
20111  public static final class AmbientContextDetectionServiceStatus.Builder {
20112    ctor public AmbientContextDetectionServiceStatus.Builder(@NonNull String);
20113    method @NonNull public android.service.ambientcontext.AmbientContextDetectionServiceStatus build();
20114    method @NonNull public android.service.ambientcontext.AmbientContextDetectionServiceStatus.Builder setStatusCode(int);
20115  }
20116
20117}
20118
20119package android.service.appprediction {
20120
20121  public abstract class AppPredictionService extends android.app.Service {
20122    ctor public AppPredictionService();
20123    method @MainThread public abstract void onAppTargetEvent(@NonNull android.app.prediction.AppPredictionSessionId, @NonNull android.app.prediction.AppTargetEvent);
20124    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
20125    method public void onCreatePredictionSession(@NonNull android.app.prediction.AppPredictionContext, @NonNull android.app.prediction.AppPredictionSessionId);
20126    method @MainThread public void onDestroyPredictionSession(@NonNull android.app.prediction.AppPredictionSessionId);
20127    method @MainThread public abstract void onLaunchLocationShown(@NonNull android.app.prediction.AppPredictionSessionId, @NonNull String, @NonNull java.util.List<android.app.prediction.AppTargetId>);
20128    method @MainThread public abstract void onRequestPredictionUpdate(@NonNull android.app.prediction.AppPredictionSessionId);
20129    method @FlaggedApi("android.service.appprediction.flags.service_features_api") @MainThread public void onRequestServiceFeatures(@NonNull android.app.prediction.AppPredictionSessionId, @NonNull java.util.function.Consumer<android.os.Bundle>);
20130    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>>);
20131    method @MainThread public void onStartPredictionUpdates();
20132    method @MainThread public void onStopPredictionUpdates();
20133    method public final void updatePredictions(@NonNull android.app.prediction.AppPredictionSessionId, @NonNull java.util.List<android.app.prediction.AppTarget>);
20134  }
20135
20136}
20137
20138package android.service.assist.classification {
20139
20140  public final class FieldClassification implements android.os.Parcelable {
20141    ctor public FieldClassification(@NonNull android.view.autofill.AutofillId, @NonNull java.util.Set<java.lang.String>, @NonNull java.util.Set<java.lang.String>);
20142    method @NonNull public java.util.Set<java.lang.String> getGroupHints();
20143  }
20144
20145  public final class FieldClassificationRequest implements android.os.Parcelable {
20146    ctor public FieldClassificationRequest(@NonNull android.app.assist.AssistStructure);
20147    method public int describeContents();
20148    method @NonNull public android.app.assist.AssistStructure getAssistStructure();
20149    method public void writeToParcel(@NonNull android.os.Parcel, int);
20150    field @NonNull public static final android.os.Parcelable.Creator<android.service.assist.classification.FieldClassificationRequest> CREATOR;
20151  }
20152
20153  public final class FieldClassificationResponse implements android.os.Parcelable {
20154    ctor public FieldClassificationResponse(@NonNull java.util.Set<android.service.assist.classification.FieldClassification>);
20155    method public int describeContents();
20156    method @NonNull public java.util.Set<android.service.assist.classification.FieldClassification> getClassifications();
20157    method public void writeToParcel(@NonNull android.os.Parcel, int);
20158    field @NonNull public static final android.os.Parcelable.Creator<android.service.assist.classification.FieldClassificationResponse> CREATOR;
20159  }
20160
20161  public abstract class FieldClassificationService extends android.app.Service {
20162    ctor public FieldClassificationService();
20163    method public final android.os.IBinder onBind(android.content.Intent);
20164    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>);
20165    method public void onConnected();
20166    method public void onDisconnected();
20167    field public static final String SERVICE_INTERFACE = "android.service.assist.classification.FieldClassificationService";
20168  }
20169
20170}
20171
20172package android.service.attention {
20173
20174  public abstract class AttentionService extends android.app.Service {
20175    ctor public AttentionService();
20176    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
20177    method public abstract void onCancelAttentionCheck(@NonNull android.service.attention.AttentionService.AttentionCallback);
20178    method public abstract void onCheckAttention(@NonNull android.service.attention.AttentionService.AttentionCallback);
20179    method public void onStartProximityUpdates(@NonNull android.service.attention.AttentionService.ProximityUpdateCallback);
20180    method public void onStopProximityUpdates();
20181    field public static final int ATTENTION_FAILURE_CAMERA_PERMISSION_ABSENT = 6; // 0x6
20182    field public static final int ATTENTION_FAILURE_CANCELLED = 3; // 0x3
20183    field public static final int ATTENTION_FAILURE_PREEMPTED = 4; // 0x4
20184    field public static final int ATTENTION_FAILURE_TIMED_OUT = 5; // 0x5
20185    field public static final int ATTENTION_FAILURE_UNKNOWN = 2; // 0x2
20186    field public static final int ATTENTION_SUCCESS_ABSENT = 0; // 0x0
20187    field public static final int ATTENTION_SUCCESS_PRESENT = 1; // 0x1
20188    field public static final double PROXIMITY_UNKNOWN = -1.0;
20189    field public static final String SERVICE_INTERFACE = "android.service.attention.AttentionService";
20190  }
20191
20192  public static final class AttentionService.AttentionCallback {
20193    method public void onFailure(int);
20194    method public void onSuccess(int, long);
20195  }
20196
20197  public static final class AttentionService.ProximityUpdateCallback {
20198    method public void onProximityUpdate(double);
20199  }
20200
20201}
20202
20203package android.service.autofill {
20204
20205  public abstract class AutofillFieldClassificationService extends android.app.Service {
20206    ctor public AutofillFieldClassificationService();
20207    method public android.os.IBinder onBind(android.content.Intent);
20208    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);
20209    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>);
20210    field public static final String REQUIRED_ALGORITHM_CREDIT_CARD = "CREDIT_CARD";
20211    field public static final String REQUIRED_ALGORITHM_EDIT_DISTANCE = "EDIT_DISTANCE";
20212    field public static final String REQUIRED_ALGORITHM_EXACT_MATCH = "EXACT_MATCH";
20213    field public static final String SERVICE_INTERFACE = "android.service.autofill.AutofillFieldClassificationService";
20214    field public static final String SERVICE_META_DATA_KEY_AVAILABLE_ALGORITHMS = "android.autofill.field_classification.available_algorithms";
20215    field public static final String SERVICE_META_DATA_KEY_DEFAULT_ALGORITHM = "android.autofill.field_classification.default_algorithm";
20216  }
20217
20218  public static final class Dataset.Builder {
20219    ctor @Deprecated public Dataset.Builder(@NonNull android.service.autofill.InlinePresentation);
20220    method @NonNull public android.service.autofill.Dataset.Builder setContent(@NonNull android.view.autofill.AutofillId, @Nullable android.content.ClipData);
20221    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);
20222  }
20223
20224  public abstract class InlineSuggestionRenderService extends android.app.Service {
20225    ctor public InlineSuggestionRenderService();
20226    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
20227    method @NonNull public android.os.Bundle onGetInlineSuggestionsRendererInfo();
20228    method @Nullable public android.view.View onRenderSuggestion(@NonNull android.service.autofill.InlinePresentation, int, int);
20229    method public final void startIntentSender(@NonNull android.content.IntentSender);
20230    field public static final String SERVICE_INTERFACE = "android.service.autofill.InlineSuggestionRenderService";
20231  }
20232
20233}
20234
20235package android.service.autofill.augmented {
20236
20237  public abstract class AugmentedAutofillService extends android.app.Service {
20238    ctor public AugmentedAutofillService();
20239    method protected final void dump(java.io.FileDescriptor, java.io.PrintWriter, String[]);
20240    method protected void dump(@NonNull java.io.PrintWriter, @NonNull String[]);
20241    method @Nullable public final android.service.autofill.FillEventHistory getFillEventHistory();
20242    method public final android.os.IBinder onBind(android.content.Intent);
20243    method public void onConnected();
20244    method public void onDisconnected();
20245    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);
20246    method public final boolean requestAutofill(@NonNull android.content.ComponentName, @NonNull android.view.autofill.AutofillId);
20247    field public static final String SERVICE_INTERFACE = "android.service.autofill.augmented.AugmentedAutofillService";
20248  }
20249
20250  public final class FillCallback {
20251    method public void onSuccess(@Nullable android.service.autofill.augmented.FillResponse);
20252  }
20253
20254  public final class FillController {
20255    method public void autofill(@NonNull java.util.List<android.util.Pair<android.view.autofill.AutofillId,android.view.autofill.AutofillValue>>);
20256  }
20257
20258  public final class FillRequest {
20259    method @NonNull public android.content.ComponentName getActivityComponent();
20260    method @NonNull public android.view.autofill.AutofillId getFocusedId();
20261    method @NonNull public android.view.autofill.AutofillValue getFocusedValue();
20262    method @Nullable public android.app.assist.AssistStructure.ViewNode getFocusedViewNode();
20263    method @Nullable public android.view.inputmethod.InlineSuggestionsRequest getInlineSuggestionsRequest();
20264    method @Nullable public android.service.autofill.augmented.PresentationParams getPresentationParams();
20265    method public int getTaskId();
20266  }
20267
20268  public final class FillResponse {
20269  }
20270
20271  public static final class FillResponse.Builder {
20272    ctor public FillResponse.Builder();
20273    method @NonNull public android.service.autofill.augmented.FillResponse build();
20274    method @NonNull public android.service.autofill.augmented.FillResponse.Builder setClientState(@NonNull android.os.Bundle);
20275    method @NonNull public android.service.autofill.augmented.FillResponse.Builder setFillWindow(@NonNull android.service.autofill.augmented.FillWindow);
20276    method @NonNull public android.service.autofill.augmented.FillResponse.Builder setInlineSuggestions(@NonNull java.util.List<android.service.autofill.Dataset>);
20277  }
20278
20279  public final class FillWindow implements java.lang.AutoCloseable {
20280    ctor public FillWindow();
20281    method public void close();
20282    method public void destroy();
20283    method public boolean update(@NonNull android.service.autofill.augmented.PresentationParams.Area, @NonNull android.view.View, long);
20284  }
20285
20286  public abstract class PresentationParams {
20287    method @Nullable public android.service.autofill.augmented.PresentationParams.Area getSuggestionArea();
20288  }
20289
20290  public abstract static class PresentationParams.Area {
20291    method @NonNull public android.graphics.Rect getBounds();
20292  }
20293
20294}
20295
20296package android.service.carrier {
20297
20298  public abstract class ApnService extends android.app.Service {
20299    ctor public ApnService();
20300    method @NonNull public android.os.IBinder onBind(@Nullable android.content.Intent);
20301    method @NonNull @WorkerThread public abstract java.util.List<android.content.ContentValues> onRestoreApns(int);
20302  }
20303
20304  public final class CarrierMessagingServiceWrapper implements java.lang.AutoCloseable {
20305    ctor public CarrierMessagingServiceWrapper();
20306    method public boolean bindToCarrierMessagingService(@NonNull android.content.Context, @NonNull String, @NonNull java.util.concurrent.Executor, @NonNull Runnable);
20307    method public void close();
20308    method public void disconnect();
20309    method public void downloadMms(@NonNull android.net.Uri, int, @NonNull android.net.Uri, @NonNull java.util.concurrent.Executor, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallback);
20310    method public void receiveSms(@NonNull android.service.carrier.MessagePdu, @NonNull String, int, int, @NonNull java.util.concurrent.Executor, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallback);
20311    method public void sendDataSms(@NonNull byte[], int, @NonNull String, int, int, @NonNull java.util.concurrent.Executor, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallback);
20312    method public void sendMms(@NonNull android.net.Uri, int, @NonNull android.net.Uri, @NonNull java.util.concurrent.Executor, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallback);
20313    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);
20314    method public void sendTextSms(@NonNull String, int, @NonNull String, int, @NonNull java.util.concurrent.Executor, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallback);
20315  }
20316
20317  public static interface CarrierMessagingServiceWrapper.CarrierMessagingCallback {
20318    method public default void onDownloadMmsComplete(int);
20319    method public default void onReceiveSmsComplete(int);
20320    method public default void onSendMmsComplete(int, @Nullable byte[]);
20321    method public default void onSendMultipartSmsComplete(int, @Nullable int[]);
20322    method public default void onSendSmsComplete(int, int);
20323  }
20324
20325}
20326
20327package android.service.cloudsearch {
20328
20329  public abstract class CloudSearchService extends android.app.Service {
20330    ctor public CloudSearchService();
20331    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
20332    method public abstract void onSearch(@NonNull android.app.cloudsearch.SearchRequest);
20333    method public final void returnResults(@NonNull String, @NonNull android.app.cloudsearch.SearchResponse);
20334  }
20335
20336}
20337
20338package android.service.contentcapture {
20339
20340  public final class ActivityEvent implements android.os.Parcelable {
20341    method public int describeContents();
20342    method @NonNull public android.app.assist.ActivityId getActivityId();
20343    method @NonNull public android.content.ComponentName getComponentName();
20344    method public int getEventType();
20345    method public void writeToParcel(@NonNull android.os.Parcel, int);
20346    field @NonNull public static final android.os.Parcelable.Creator<android.service.contentcapture.ActivityEvent> CREATOR;
20347    field public static final int TYPE_ACTIVITY_DESTROYED = 24; // 0x18
20348    field public static final int TYPE_ACTIVITY_PAUSED = 2; // 0x2
20349    field public static final int TYPE_ACTIVITY_RESUMED = 1; // 0x1
20350    field public static final int TYPE_ACTIVITY_STOPPED = 23; // 0x17
20351  }
20352
20353  public abstract class ContentCaptureService extends android.app.Service {
20354    ctor public ContentCaptureService();
20355    method public final void disableSelf();
20356    method public void onActivityEvent(@NonNull android.service.contentcapture.ActivityEvent);
20357    method public void onActivitySnapshot(@NonNull android.view.contentcapture.ContentCaptureSessionId, @NonNull android.service.contentcapture.SnapshotData);
20358    method public final android.os.IBinder onBind(android.content.Intent);
20359    method public void onConnected();
20360    method public void onContentCaptureEvent(@NonNull android.view.contentcapture.ContentCaptureSessionId, @NonNull android.view.contentcapture.ContentCaptureEvent);
20361    method public void onCreateContentCaptureSession(@NonNull android.view.contentcapture.ContentCaptureContext, @NonNull android.view.contentcapture.ContentCaptureSessionId);
20362    method public void onDataRemovalRequest(@NonNull android.view.contentcapture.DataRemovalRequest);
20363    method public void onDataShareRequest(@NonNull android.view.contentcapture.DataShareRequest, @NonNull android.service.contentcapture.DataShareCallback);
20364    method public void onDestroyContentCaptureSession(@NonNull android.view.contentcapture.ContentCaptureSessionId);
20365    method public void onDisconnected();
20366    method public final void setContentCaptureConditions(@NonNull String, @Nullable java.util.Set<android.view.contentcapture.ContentCaptureCondition>);
20367    method public final void setContentCaptureWhitelist(@Nullable java.util.Set<java.lang.String>, @Nullable java.util.Set<android.content.ComponentName>);
20368    field public static final String SERVICE_INTERFACE = "android.service.contentcapture.ContentCaptureService";
20369    field public static final String SERVICE_META_DATA = "android.content_capture";
20370  }
20371
20372  public interface DataShareCallback {
20373    method public void onAccept(@NonNull java.util.concurrent.Executor, @NonNull android.service.contentcapture.DataShareReadAdapter);
20374    method public void onReject();
20375  }
20376
20377  public interface DataShareReadAdapter {
20378    method public void onError(int);
20379    method public void onStart(@NonNull android.os.ParcelFileDescriptor);
20380  }
20381
20382  public final class SnapshotData implements android.os.Parcelable {
20383    method public int describeContents();
20384    method @Nullable public android.app.assist.AssistContent getAssistContent();
20385    method @NonNull public android.os.Bundle getAssistData();
20386    method @NonNull public android.app.assist.AssistStructure getAssistStructure();
20387    method public void writeToParcel(@NonNull android.os.Parcel, int);
20388    field @NonNull public static final android.os.Parcelable.Creator<android.service.contentcapture.SnapshotData> CREATOR;
20389  }
20390
20391}
20392
20393package android.service.contentsuggestions {
20394
20395  public abstract class ContentSuggestionsService extends android.app.Service {
20396    ctor public ContentSuggestionsService();
20397    method public final android.os.IBinder onBind(android.content.Intent);
20398    method public abstract void onClassifyContentSelections(@NonNull android.app.contentsuggestions.ClassificationsRequest, @NonNull android.app.contentsuggestions.ContentSuggestionsManager.ClassificationsCallback);
20399    method public abstract void onNotifyInteraction(@NonNull String, @NonNull android.os.Bundle);
20400    method public abstract void onProcessContextImage(int, @Nullable android.graphics.Bitmap, @NonNull android.os.Bundle);
20401    method public abstract void onSuggestContentSelections(@NonNull android.app.contentsuggestions.SelectionsRequest, @NonNull android.app.contentsuggestions.ContentSuggestionsManager.SelectionsCallback);
20402    field public static final String SERVICE_INTERFACE = "android.service.contentsuggestions.ContentSuggestionsService";
20403  }
20404
20405}
20406
20407package android.service.dataloader {
20408
20409  public abstract class DataLoaderService extends android.app.Service {
20410    ctor public DataLoaderService();
20411    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
20412    method @Nullable public android.service.dataloader.DataLoaderService.DataLoader onCreateDataLoader(@NonNull android.content.pm.DataLoaderParams);
20413  }
20414
20415  public static interface DataLoaderService.DataLoader {
20416    method public boolean onCreate(@NonNull android.content.pm.DataLoaderParams, @NonNull android.service.dataloader.DataLoaderService.FileSystemConnector);
20417    method public boolean onPrepareImage(@NonNull java.util.Collection<android.content.pm.InstallationFile>, @NonNull java.util.Collection<java.lang.String>);
20418  }
20419
20420  public static final class DataLoaderService.FileSystemConnector {
20421    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void writeData(@NonNull String, long, long, @NonNull android.os.ParcelFileDescriptor) throws java.io.IOException;
20422  }
20423
20424}
20425
20426package android.service.displayhash {
20427
20428  public final class DisplayHashParams implements android.os.Parcelable {
20429    method public int describeContents();
20430    method @Nullable public android.util.Size getBufferSize();
20431    method public boolean isGrayscaleBuffer();
20432    method public void writeToParcel(@NonNull android.os.Parcel, int);
20433    field @NonNull public static final android.os.Parcelable.Creator<android.service.displayhash.DisplayHashParams> CREATOR;
20434  }
20435
20436  public static final class DisplayHashParams.Builder {
20437    ctor public DisplayHashParams.Builder();
20438    method @NonNull public android.service.displayhash.DisplayHashParams build();
20439    method @NonNull public android.service.displayhash.DisplayHashParams.Builder setBufferSize(int, int);
20440    method @NonNull public android.service.displayhash.DisplayHashParams.Builder setGrayscaleBuffer(boolean);
20441  }
20442
20443  public abstract class DisplayHashingService extends android.app.Service {
20444    ctor public DisplayHashingService();
20445    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
20446    method public abstract void onGenerateDisplayHash(@NonNull byte[], @NonNull android.hardware.HardwareBuffer, @NonNull android.graphics.Rect, @NonNull String, @NonNull android.view.displayhash.DisplayHashResultCallback);
20447    method @NonNull public abstract java.util.Map<java.lang.String,android.service.displayhash.DisplayHashParams> onGetDisplayHashAlgorithms();
20448    method public abstract int onGetIntervalBetweenRequestsMillis();
20449    method @Nullable public abstract android.view.displayhash.VerifiedDisplayHash onVerifyDisplayHash(@NonNull byte[], @NonNull android.view.displayhash.DisplayHash);
20450    field public static final String SERVICE_INTERFACE = "android.service.displayhash.DisplayHashingService";
20451  }
20452
20453}
20454
20455package android.service.euicc {
20456
20457  public final class DownloadSubscriptionResult implements android.os.Parcelable {
20458    ctor public DownloadSubscriptionResult(int, int, int);
20459    method public int describeContents();
20460    method public int getCardId();
20461    method public int getResolvableErrors();
20462    method public int getResult();
20463    method public void writeToParcel(android.os.Parcel, int);
20464    field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.DownloadSubscriptionResult> CREATOR;
20465  }
20466
20467  public final class EuiccProfileInfo implements android.os.Parcelable {
20468    method public int describeContents();
20469    method public android.service.carrier.CarrierIdentifier getCarrierIdentifier();
20470    method public String getIccid();
20471    method @Nullable public String getNickname();
20472    method public int getPolicyRules();
20473    method public int getProfileClass();
20474    method public String getProfileName();
20475    method public String getServiceProviderName();
20476    method public int getState();
20477    method @Nullable public java.util.List<android.telephony.UiccAccessRule> getUiccAccessRules();
20478    method public boolean hasPolicyRule(int);
20479    method public boolean hasPolicyRules();
20480    method public void writeToParcel(android.os.Parcel, int);
20481    field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.EuiccProfileInfo> CREATOR;
20482    field public static final int POLICY_RULE_DELETE_AFTER_DISABLING = 4; // 0x4
20483    field public static final int POLICY_RULE_DO_NOT_DELETE = 2; // 0x2
20484    field public static final int POLICY_RULE_DO_NOT_DISABLE = 1; // 0x1
20485    field public static final int PROFILE_CLASS_OPERATIONAL = 2; // 0x2
20486    field public static final int PROFILE_CLASS_PROVISIONING = 1; // 0x1
20487    field public static final int PROFILE_CLASS_TESTING = 0; // 0x0
20488    field public static final int PROFILE_STATE_DISABLED = 0; // 0x0
20489    field public static final int PROFILE_STATE_ENABLED = 1; // 0x1
20490  }
20491
20492  public static final class EuiccProfileInfo.Builder {
20493    ctor public EuiccProfileInfo.Builder(android.service.euicc.EuiccProfileInfo);
20494    ctor public EuiccProfileInfo.Builder(String);
20495    method public android.service.euicc.EuiccProfileInfo build();
20496    method public android.service.euicc.EuiccProfileInfo.Builder setCarrierIdentifier(android.service.carrier.CarrierIdentifier);
20497    method public android.service.euicc.EuiccProfileInfo.Builder setIccid(String);
20498    method public android.service.euicc.EuiccProfileInfo.Builder setNickname(String);
20499    method public android.service.euicc.EuiccProfileInfo.Builder setPolicyRules(int);
20500    method public android.service.euicc.EuiccProfileInfo.Builder setProfileClass(int);
20501    method public android.service.euicc.EuiccProfileInfo.Builder setProfileName(String);
20502    method public android.service.euicc.EuiccProfileInfo.Builder setServiceProviderName(String);
20503    method public android.service.euicc.EuiccProfileInfo.Builder setState(int);
20504    method public android.service.euicc.EuiccProfileInfo.Builder setUiccAccessRule(@Nullable java.util.List<android.telephony.UiccAccessRule>);
20505  }
20506
20507  public abstract class EuiccService extends android.app.Service {
20508    ctor public EuiccService();
20509    method public void dump(@NonNull java.io.PrintWriter);
20510    method public int encodeSmdxSubjectAndReasonCode(@Nullable String, @Nullable String);
20511    method @CallSuper public android.os.IBinder onBind(android.content.Intent);
20512    method public abstract int onDeleteSubscription(int, String);
20513    method @Deprecated public int onDownloadSubscription(int, @NonNull android.telephony.euicc.DownloadableSubscription, boolean, boolean);
20514    method @Deprecated public android.service.euicc.DownloadSubscriptionResult onDownloadSubscription(int, @NonNull android.telephony.euicc.DownloadableSubscription, boolean, boolean, @Nullable android.os.Bundle);
20515    method @NonNull public android.service.euicc.DownloadSubscriptionResult onDownloadSubscription(int, int, @NonNull android.telephony.euicc.DownloadableSubscription, boolean, boolean, @NonNull android.os.Bundle);
20516    method @Deprecated public abstract int onEraseSubscriptions(int);
20517    method public int onEraseSubscriptions(int, int);
20518    method @FlaggedApi("com.android.internal.telephony.flags.esim_available_memory") public long onGetAvailableMemoryInBytes(int);
20519    method public abstract android.service.euicc.GetDefaultDownloadableSubscriptionListResult onGetDefaultDownloadableSubscriptionList(int, boolean);
20520    method public abstract android.service.euicc.GetDownloadableSubscriptionMetadataResult onGetDownloadableSubscriptionMetadata(int, android.telephony.euicc.DownloadableSubscription, boolean);
20521    method @NonNull public android.service.euicc.GetDownloadableSubscriptionMetadataResult onGetDownloadableSubscriptionMetadata(int, int, @NonNull android.telephony.euicc.DownloadableSubscription, boolean);
20522    method public abstract String onGetEid(int);
20523    method @NonNull public abstract android.telephony.euicc.EuiccInfo onGetEuiccInfo(int);
20524    method @NonNull public abstract android.service.euicc.GetEuiccProfileInfoListResult onGetEuiccProfileInfoList(int);
20525    method public abstract int onGetOtaStatus(int);
20526    method public abstract int onRetainSubscriptionsForFactoryReset(int);
20527    method public abstract void onStartOtaIfNecessary(int, android.service.euicc.EuiccService.OtaStatusChangedCallback);
20528    method @Deprecated public abstract int onSwitchToSubscription(int, @Nullable String, boolean);
20529    method public int onSwitchToSubscriptionWithPort(int, int, @Nullable String, boolean);
20530    method public abstract int onUpdateSubscriptionNickname(int, String, String);
20531    field public static final String ACTION_BIND_CARRIER_PROVISIONING_SERVICE = "android.service.euicc.action.BIND_CARRIER_PROVISIONING_SERVICE";
20532    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";
20533    field public static final String ACTION_DELETE_SUBSCRIPTION_PRIVILEGED = "android.service.euicc.action.DELETE_SUBSCRIPTION_PRIVILEGED";
20534    field @RequiresPermission(android.Manifest.permission.BIND_EUICC_SERVICE) public static final String ACTION_MANAGE_EMBEDDED_SUBSCRIPTIONS = "android.service.euicc.action.MANAGE_EMBEDDED_SUBSCRIPTIONS";
20535    field @RequiresPermission(android.Manifest.permission.BIND_EUICC_SERVICE) public static final String ACTION_PROVISION_EMBEDDED_SUBSCRIPTION = "android.service.euicc.action.PROVISION_EMBEDDED_SUBSCRIPTION";
20536    field public static final String ACTION_RENAME_SUBSCRIPTION_PRIVILEGED = "android.service.euicc.action.RENAME_SUBSCRIPTION_PRIVILEGED";
20537    field @Deprecated public static final String ACTION_RESOLVE_CONFIRMATION_CODE = "android.service.euicc.action.RESOLVE_CONFIRMATION_CODE";
20538    field public static final String ACTION_RESOLVE_DEACTIVATE_SIM = "android.service.euicc.action.RESOLVE_DEACTIVATE_SIM";
20539    field public static final String ACTION_RESOLVE_NO_PRIVILEGES = "android.service.euicc.action.RESOLVE_NO_PRIVILEGES";
20540    field public static final String ACTION_RESOLVE_RESOLVABLE_ERRORS = "android.service.euicc.action.RESOLVE_RESOLVABLE_ERRORS";
20541    field public static final String ACTION_START_CARRIER_ACTIVATION = "android.service.euicc.action.START_CARRIER_ACTIVATION";
20542    field public static final String ACTION_START_EUICC_ACTIVATION = "android.service.euicc.action.START_EUICC_ACTIVATION";
20543    field public static final String ACTION_TOGGLE_SUBSCRIPTION_PRIVILEGED = "android.service.euicc.action.TOGGLE_SUBSCRIPTION_PRIVILEGED";
20544    field @RequiresPermission(android.Manifest.permission.BIND_EUICC_SERVICE) public static final String ACTION_TRANSFER_EMBEDDED_SUBSCRIPTIONS = "android.service.euicc.action.TRANSFER_EMBEDDED_SUBSCRIPTIONS";
20545    field public static final String CATEGORY_EUICC_UI = "android.service.euicc.category.EUICC_UI";
20546    field public static final String EUICC_SERVICE_INTERFACE = "android.service.euicc.EuiccService";
20547    field public static final String EXTRA_RESOLUTION_ALLOW_POLICY_RULES = "android.service.euicc.extra.RESOLUTION_ALLOW_POLICY_RULES";
20548    field public static final String EXTRA_RESOLUTION_CALLING_PACKAGE = "android.service.euicc.extra.RESOLUTION_CALLING_PACKAGE";
20549    field public static final String EXTRA_RESOLUTION_CARD_ID = "android.service.euicc.extra.RESOLUTION_CARD_ID";
20550    field public static final String EXTRA_RESOLUTION_CONFIRMATION_CODE = "android.service.euicc.extra.RESOLUTION_CONFIRMATION_CODE";
20551    field public static final String EXTRA_RESOLUTION_CONFIRMATION_CODE_RETRIED = "android.service.euicc.extra.RESOLUTION_CONFIRMATION_CODE_RETRIED";
20552    field public static final String EXTRA_RESOLUTION_CONSENT = "android.service.euicc.extra.RESOLUTION_CONSENT";
20553    field public static final String EXTRA_RESOLUTION_PORT_INDEX = "android.service.euicc.extra.RESOLUTION_PORT_INDEX";
20554    field public static final String EXTRA_RESOLUTION_SUBSCRIPTION_ID = "android.service.euicc.extra.RESOLUTION_SUBSCRIPTION_ID";
20555    field public static final String EXTRA_RESOLUTION_USE_PORT_INDEX = "android.service.euicc.extra.RESOLUTION_USE_PORT_INDEX";
20556    field public static final String EXTRA_RESOLVABLE_ERRORS = "android.service.euicc.extra.RESOLVABLE_ERRORS";
20557    field public static final int RESOLVABLE_ERROR_CONFIRMATION_CODE = 1; // 0x1
20558    field public static final int RESOLVABLE_ERROR_POLICY_RULES = 2; // 0x2
20559    field public static final int RESULT_FIRST_USER = 1; // 0x1
20560    field public static final int RESULT_MUST_DEACTIVATE_SIM = -1; // 0xffffffff
20561    field @Deprecated public static final int RESULT_NEED_CONFIRMATION_CODE = -2; // 0xfffffffe
20562    field public static final int RESULT_OK = 0; // 0x0
20563    field public static final int RESULT_RESOLVABLE_ERRORS = -2; // 0xfffffffe
20564  }
20565
20566  public abstract static class EuiccService.OtaStatusChangedCallback {
20567    ctor public EuiccService.OtaStatusChangedCallback();
20568    method public abstract void onOtaStatusChanged(int);
20569  }
20570
20571  public final class GetDefaultDownloadableSubscriptionListResult implements android.os.Parcelable {
20572    ctor public GetDefaultDownloadableSubscriptionListResult(int, @Nullable android.telephony.euicc.DownloadableSubscription[]);
20573    method public int describeContents();
20574    method @Nullable public java.util.List<android.telephony.euicc.DownloadableSubscription> getDownloadableSubscriptions();
20575    method public int getResult();
20576    method public void writeToParcel(android.os.Parcel, int);
20577    field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.GetDefaultDownloadableSubscriptionListResult> CREATOR;
20578  }
20579
20580  public final class GetDownloadableSubscriptionMetadataResult implements android.os.Parcelable {
20581    ctor public GetDownloadableSubscriptionMetadataResult(int, @Nullable android.telephony.euicc.DownloadableSubscription);
20582    method public int describeContents();
20583    method @Nullable public android.telephony.euicc.DownloadableSubscription getDownloadableSubscription();
20584    method public int getResult();
20585    method public void writeToParcel(android.os.Parcel, int);
20586    field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.GetDownloadableSubscriptionMetadataResult> CREATOR;
20587  }
20588
20589  public final class GetEuiccProfileInfoListResult implements android.os.Parcelable {
20590    ctor public GetEuiccProfileInfoListResult(int, @Nullable android.service.euicc.EuiccProfileInfo[], boolean);
20591    method public int describeContents();
20592    method public boolean getIsRemovable();
20593    method @Nullable public java.util.List<android.service.euicc.EuiccProfileInfo> getProfiles();
20594    method public int getResult();
20595    method public void writeToParcel(android.os.Parcel, int);
20596    field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.GetEuiccProfileInfoListResult> CREATOR;
20597  }
20598
20599}
20600
20601package android.service.games {
20602
20603  public final class CreateGameSessionRequest implements android.os.Parcelable {
20604    ctor public CreateGameSessionRequest(int, @NonNull String);
20605    method public int describeContents();
20606    method @NonNull public String getGamePackageName();
20607    method public int getTaskId();
20608    method public void writeToParcel(@NonNull android.os.Parcel, int);
20609    field @NonNull public static final android.os.Parcelable.Creator<android.service.games.CreateGameSessionRequest> CREATOR;
20610  }
20611
20612  public class GameService extends android.app.Service {
20613    ctor public GameService();
20614    method @RequiresPermission(android.Manifest.permission.MANAGE_GAME_ACTIVITY) public final void createGameSession(@IntRange(from=0) int);
20615    method @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent);
20616    method public void onConnected();
20617    method public void onDisconnected();
20618    method public void onGameStarted(@NonNull android.service.games.GameStartedEvent);
20619    field public static final String ACTION_GAME_SERVICE = "android.service.games.action.GAME_SERVICE";
20620    field public static final String SERVICE_META_DATA = "android.game_service";
20621  }
20622
20623  public abstract class GameSession {
20624    ctor public GameSession();
20625    method public void onCreate();
20626    method public void onDestroy();
20627    method public void onGameTaskFocusChanged(boolean);
20628    method public void onTransientSystemBarVisibilityFromRevealGestureChanged(boolean);
20629    method @RequiresPermission(android.Manifest.permission.MANAGE_GAME_ACTIVITY) public final boolean restartGame();
20630    method public void setTaskOverlayView(@NonNull android.view.View, @NonNull android.view.ViewGroup.LayoutParams);
20631    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);
20632    method @RequiresPermission(android.Manifest.permission.MANAGE_GAME_ACTIVITY) public void takeScreenshot(@NonNull java.util.concurrent.Executor, @NonNull android.service.games.GameSession.ScreenshotCallback);
20633  }
20634
20635  public static interface GameSession.ScreenshotCallback {
20636    method public void onFailure(int);
20637    method public void onSuccess();
20638    field public static final int ERROR_TAKE_SCREENSHOT_INTERNAL_ERROR = 0; // 0x0
20639  }
20640
20641  public interface GameSessionActivityCallback {
20642    method public void onActivityResult(int, @Nullable android.content.Intent);
20643    method public default void onActivityStartFailed(@NonNull Throwable);
20644  }
20645
20646  public abstract class GameSessionService extends android.app.Service {
20647    ctor public GameSessionService();
20648    method @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent);
20649    method @NonNull public abstract android.service.games.GameSession onNewSession(@NonNull android.service.games.CreateGameSessionRequest);
20650    field public static final String ACTION_GAME_SESSION_SERVICE = "android.service.games.action.GAME_SESSION_SERVICE";
20651  }
20652
20653  public final class GameStartedEvent implements android.os.Parcelable {
20654    ctor public GameStartedEvent(@IntRange(from=0) int, @NonNull String);
20655    method public int describeContents();
20656    method @NonNull public String getPackageName();
20657    method @IntRange(from=0) public int getTaskId();
20658    method public void writeToParcel(@NonNull android.os.Parcel, int);
20659    field @NonNull public static final android.os.Parcelable.Creator<android.service.games.GameStartedEvent> CREATOR;
20660  }
20661
20662}
20663
20664package android.service.notification {
20665
20666  public final class Adjustment implements android.os.Parcelable {
20667    ctor protected Adjustment(android.os.Parcel);
20668    ctor public Adjustment(@NonNull String, @NonNull String, @NonNull android.os.Bundle, @NonNull CharSequence, @NonNull android.os.UserHandle);
20669    ctor public Adjustment(String, String, android.os.Bundle, CharSequence, int);
20670    method public int describeContents();
20671    method @NonNull public CharSequence getExplanation();
20672    method @NonNull public String getKey();
20673    method @NonNull public String getPackage();
20674    method @NonNull public android.os.Bundle getSignals();
20675    method public int getUser();
20676    method @NonNull public android.os.UserHandle getUserHandle();
20677    method public void writeToParcel(android.os.Parcel, int);
20678    field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.Adjustment> CREATOR;
20679    field public static final String KEY_CONTEXTUAL_ACTIONS = "key_contextual_actions";
20680    field public static final String KEY_IMPORTANCE = "key_importance";
20681    field public static final String KEY_IMPORTANCE_PROPOSAL = "key_importance_proposal";
20682    field public static final String KEY_NOT_CONVERSATION = "key_not_conversation";
20683    field public static final String KEY_PEOPLE = "key_people";
20684    field public static final String KEY_RANKING_SCORE = "key_ranking_score";
20685    field public static final String KEY_SENSITIVE_CONTENT = "key_sensitive_content";
20686    field public static final String KEY_SNOOZE_CRITERIA = "key_snooze_criteria";
20687    field public static final String KEY_TEXT_REPLIES = "key_text_replies";
20688    field @FlaggedApi("android.service.notification.notification_classification") public static final String KEY_TYPE = "key_type";
20689    field public static final String KEY_USER_SENTIMENT = "key_user_sentiment";
20690    field @FlaggedApi("android.service.notification.notification_classification") public static final int TYPE_CONTENT_RECOMMENDATION = 4; // 0x4
20691    field @FlaggedApi("android.service.notification.notification_classification") public static final int TYPE_NEWS = 3; // 0x3
20692    field @FlaggedApi("android.service.notification.notification_classification") public static final int TYPE_OTHER = 0; // 0x0
20693    field @FlaggedApi("android.service.notification.notification_classification") public static final int TYPE_PROMOTION = 1; // 0x1
20694    field @FlaggedApi("android.service.notification.notification_classification") public static final int TYPE_SOCIAL_MEDIA = 2; // 0x2
20695  }
20696
20697  public abstract class NotificationAssistantService extends android.service.notification.NotificationListenerService {
20698    ctor public NotificationAssistantService();
20699    method public final void adjustNotification(@NonNull android.service.notification.Adjustment);
20700    method public final void adjustNotifications(@NonNull java.util.List<android.service.notification.Adjustment>);
20701    method public void onActionInvoked(@NonNull String, @NonNull android.app.Notification.Action, int);
20702    method public void onAllowedAdjustmentsChanged();
20703    method @NonNull public final android.os.IBinder onBind(@Nullable android.content.Intent);
20704    method public void onNotificationClicked(@NonNull String);
20705    method public void onNotificationDirectReplied(@NonNull String);
20706    method @Nullable public abstract android.service.notification.Adjustment onNotificationEnqueued(@NonNull android.service.notification.StatusBarNotification);
20707    method @Nullable public android.service.notification.Adjustment onNotificationEnqueued(@NonNull android.service.notification.StatusBarNotification, @NonNull android.app.NotificationChannel);
20708    method @Nullable public android.service.notification.Adjustment onNotificationEnqueued(@NonNull android.service.notification.StatusBarNotification, @NonNull android.app.NotificationChannel, @NonNull android.service.notification.NotificationListenerService.RankingMap);
20709    method public void onNotificationExpansionChanged(@NonNull String, boolean, boolean);
20710    method public void onNotificationFeedbackReceived(@NonNull String, @NonNull android.service.notification.NotificationListenerService.RankingMap, @NonNull android.os.Bundle);
20711    method public abstract void onNotificationSnoozedUntilContext(@NonNull android.service.notification.StatusBarNotification, @NonNull String);
20712    method public void onNotificationVisibilityChanged(@NonNull String, boolean);
20713    method public void onNotificationsSeen(@NonNull java.util.List<java.lang.String>);
20714    method public void onPanelHidden();
20715    method public void onPanelRevealed(int);
20716    method public void onSuggestedReplySent(@NonNull String, @NonNull CharSequence, int);
20717    method @FlaggedApi("android.service.notification.notification_classification") public final void setAdjustmentTypeSupportedState(@NonNull String, boolean);
20718    method public final void unsnoozeNotification(@NonNull String);
20719    field public static final String ACTION_NOTIFICATION_ASSISTANT_DETAIL_SETTINGS = "android.service.notification.action.NOTIFICATION_ASSISTANT_DETAIL_SETTINGS";
20720    field @FlaggedApi("android.service.notification.notification_classification") public static final String ACTION_NOTIFICATION_ASSISTANT_FEEDBACK_SETTINGS = "android.service.notification.action.NOTIFICATION_ASSISTANT_FEEDBACK_SETTINGS";
20721    field @FlaggedApi("android.service.notification.notification_classification") public static final String EXTRA_NOTIFICATION_KEY = "android.service.notification.extra.NOTIFICATION_KEY";
20722    field public static final String FEEDBACK_RATING = "feedback.rating";
20723    field public static final String SERVICE_INTERFACE = "android.service.notification.NotificationAssistantService";
20724    field public static final int SOURCE_FROM_APP = 0; // 0x0
20725    field public static final int SOURCE_FROM_ASSISTANT = 1; // 0x1
20726  }
20727
20728  public abstract class NotificationListenerService extends android.app.Service {
20729    method @UiThread public void onNotificationRemoved(@NonNull android.service.notification.StatusBarNotification, @NonNull android.service.notification.NotificationListenerService.RankingMap, @NonNull android.service.notification.NotificationStats, int);
20730  }
20731
20732  public static class NotificationListenerService.Ranking {
20733    method public int getProposedImportance();
20734    method public boolean hasSensitiveContent();
20735  }
20736
20737  public final class NotificationStats implements android.os.Parcelable {
20738    ctor public NotificationStats();
20739    ctor protected NotificationStats(android.os.Parcel);
20740    method public int describeContents();
20741    method public int getDismissalSentiment();
20742    method public int getDismissalSurface();
20743    method public boolean hasDirectReplied();
20744    method public boolean hasExpanded();
20745    method public boolean hasInteracted();
20746    method public boolean hasSeen();
20747    method @FlaggedApi("android.app.lifetime_extension_refactor") public boolean hasSmartReplied();
20748    method public boolean hasSnoozed();
20749    method public boolean hasViewedSettings();
20750    method public void setDirectReplied();
20751    method public void setDismissalSentiment(int);
20752    method public void setDismissalSurface(int);
20753    method public void setExpanded();
20754    method public void setSeen();
20755    method @FlaggedApi("android.app.lifetime_extension_refactor") public void setSmartReplied();
20756    method public void setSnoozed();
20757    method public void setViewedSettings();
20758    method public void writeToParcel(android.os.Parcel, int);
20759    field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.NotificationStats> CREATOR;
20760    field public static final int DISMISSAL_AOD = 2; // 0x2
20761    field public static final int DISMISSAL_NOT_DISMISSED = -1; // 0xffffffff
20762    field public static final int DISMISSAL_OTHER = 0; // 0x0
20763    field public static final int DISMISSAL_PEEK = 1; // 0x1
20764    field public static final int DISMISSAL_SHADE = 3; // 0x3
20765    field public static final int DISMISS_SENTIMENT_NEGATIVE = 0; // 0x0
20766    field public static final int DISMISS_SENTIMENT_NEUTRAL = 1; // 0x1
20767    field public static final int DISMISS_SENTIMENT_POSITIVE = 2; // 0x2
20768    field public static final int DISMISS_SENTIMENT_UNKNOWN = -1000; // 0xfffffc18
20769  }
20770
20771  public final class SnoozeCriterion implements android.os.Parcelable {
20772    ctor protected SnoozeCriterion(android.os.Parcel);
20773    ctor public SnoozeCriterion(String, CharSequence, CharSequence);
20774    method public int describeContents();
20775    method public CharSequence getConfirmation();
20776    method public CharSequence getExplanation();
20777    method public String getId();
20778    method public void writeToParcel(android.os.Parcel, int);
20779    field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.SnoozeCriterion> CREATOR;
20780  }
20781
20782}
20783
20784package android.service.oemlock {
20785
20786  public class OemLockManager {
20787    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_CARRIER_OEM_UNLOCK_STATE) public String getLockName();
20788    method @RequiresPermission(android.Manifest.permission.MANAGE_CARRIER_OEM_UNLOCK_STATE) public boolean isOemUnlockAllowedByCarrier();
20789    method @RequiresPermission(android.Manifest.permission.MANAGE_USER_OEM_UNLOCK_STATE) public boolean isOemUnlockAllowedByUser();
20790    method @RequiresPermission(android.Manifest.permission.MANAGE_CARRIER_OEM_UNLOCK_STATE) public void setOemUnlockAllowedByCarrier(boolean, @Nullable byte[]);
20791    method @RequiresPermission(android.Manifest.permission.MANAGE_USER_OEM_UNLOCK_STATE) public void setOemUnlockAllowedByUser(boolean);
20792  }
20793
20794}
20795
20796package android.service.ondeviceintelligence {
20797
20798  public abstract class OnDeviceIntelligenceService extends android.app.Service {
20799    ctor public OnDeviceIntelligenceService();
20800    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
20801    method public abstract void onDownloadFeature(int, @NonNull android.app.ondeviceintelligence.Feature, @Nullable android.os.CancellationSignal, @NonNull android.app.ondeviceintelligence.DownloadCallback);
20802    method public abstract void onGetFeature(int, int, @NonNull android.os.OutcomeReceiver<android.app.ondeviceintelligence.Feature,android.app.ondeviceintelligence.OnDeviceIntelligenceException>);
20803    method public abstract void onGetFeatureDetails(int, @NonNull android.app.ondeviceintelligence.Feature, @NonNull android.os.OutcomeReceiver<android.app.ondeviceintelligence.FeatureDetails,android.app.ondeviceintelligence.OnDeviceIntelligenceException>);
20804    method public abstract void onGetReadOnlyFeatureFileDescriptorMap(@NonNull android.app.ondeviceintelligence.Feature, @NonNull java.util.function.Consumer<java.util.Map<java.lang.String,android.os.ParcelFileDescriptor>>);
20805    method public abstract void onGetVersion(@NonNull java.util.function.LongConsumer);
20806    method public abstract void onInferenceServiceConnected();
20807    method public abstract void onInferenceServiceDisconnected();
20808    method public abstract void onListFeatures(int, @NonNull android.os.OutcomeReceiver<java.util.List<android.app.ondeviceintelligence.Feature>,android.app.ondeviceintelligence.OnDeviceIntelligenceException>);
20809    method public void onReady();
20810    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>);
20811    field public static final String SERVICE_INTERFACE = "android.service.ondeviceintelligence.OnDeviceIntelligenceService";
20812  }
20813
20814  public abstract class OnDeviceSandboxedInferenceService extends android.app.Service {
20815    ctor public OnDeviceSandboxedInferenceService();
20816    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>>);
20817    method @NonNull public java.util.concurrent.Executor getCallbackExecutor();
20818    method public final void getReadOnlyFileDescriptor(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.os.ParcelFileDescriptor>) throws java.io.FileNotFoundException;
20819    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
20820    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);
20821    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);
20822    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>);
20823    method public abstract void onUpdateProcessingState(@NonNull android.os.Bundle, @NonNull android.os.OutcomeReceiver<android.os.PersistableBundle,android.app.ondeviceintelligence.OnDeviceIntelligenceException>);
20824    method public final java.io.FileInputStream openFileInput(@NonNull String) throws java.io.FileNotFoundException;
20825    field public static final String SERVICE_INTERFACE = "android.service.ondeviceintelligence.OnDeviceSandboxedInferenceService";
20826  }
20827
20828}
20829
20830package android.service.persistentdata {
20831
20832  @FlaggedApi("android.security.frp_enforcement") public class PersistentDataBlockManager {
20833    method @FlaggedApi("android.security.frp_enforcement") @RequiresPermission(android.Manifest.permission.CONFIGURE_FACTORY_RESET_PROTECTION) public boolean deactivateFactoryResetProtection(@NonNull byte[]);
20834    method @RequiresPermission(android.Manifest.permission.ACCESS_PDB_STATE) public int getDataBlockSize();
20835    method @RequiresPermission(anyOf={android.Manifest.permission.READ_OEM_UNLOCK_STATE, "android.permission.OEM_UNLOCK_STATE"}) public int getFlashLockState();
20836    method public long getMaximumDataBlockSize();
20837    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_OEM_UNLOCK_STATE, "android.permission.OEM_UNLOCK_STATE"}) public boolean getOemUnlockEnabled();
20838    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_PDB_STATE) public String getPersistentDataPackageName();
20839    method @Nullable public byte[] read();
20840    method @FlaggedApi("android.security.frp_enforcement") public boolean setFactoryResetProtectionSecret(@NonNull byte[]);
20841    method @Deprecated @RequiresPermission("android.permission.OEM_UNLOCK_STATE") public void setOemUnlockEnabled(boolean);
20842    method @RequiresPermission("android.permission.OEM_UNLOCK_STATE") public void wipe();
20843    method public int write(@Nullable byte[]);
20844    field public static final int FLASH_LOCK_LOCKED = 1; // 0x1
20845    field public static final int FLASH_LOCK_UNKNOWN = -1; // 0xffffffff
20846    field public static final int FLASH_LOCK_UNLOCKED = 0; // 0x0
20847  }
20848
20849}
20850
20851package android.service.quicksettings {
20852
20853  public class TileService extends android.app.Service {
20854    method public final void setStatusIcon(android.graphics.drawable.Icon, String);
20855  }
20856
20857}
20858
20859package android.service.remotelockscreenvalidation {
20860
20861  public abstract class RemoteLockscreenValidationService extends android.app.Service {
20862    ctor public RemoteLockscreenValidationService();
20863    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
20864    method public abstract void onValidateLockscreenGuess(@NonNull byte[], @NonNull android.os.OutcomeReceiver<android.app.RemoteLockscreenValidationResult,java.lang.Exception>);
20865    field public static final String SERVICE_INTERFACE = "android.service.remotelockscreenvalidation.RemoteLockscreenValidationService";
20866  }
20867
20868}
20869
20870package android.service.resolver {
20871
20872  public abstract class ResolverRankerService extends android.app.Service {
20873    ctor public ResolverRankerService();
20874    method public android.os.IBinder onBind(android.content.Intent);
20875    method public void onPredictSharingProbabilities(java.util.List<android.service.resolver.ResolverTarget>);
20876    method public void onTrainRankingModel(java.util.List<android.service.resolver.ResolverTarget>, int);
20877    field public static final String BIND_PERMISSION = "android.permission.BIND_RESOLVER_RANKER_SERVICE";
20878    field public static final String HOLD_PERMISSION = "android.permission.PROVIDE_RESOLVER_RANKER_SERVICE";
20879    field public static final String SERVICE_INTERFACE = "android.service.resolver.ResolverRankerService";
20880  }
20881
20882  public final class ResolverTarget implements android.os.Parcelable {
20883    ctor public ResolverTarget();
20884    method public int describeContents();
20885    method public float getChooserScore();
20886    method public float getLaunchScore();
20887    method public float getRecencyScore();
20888    method public float getSelectProbability();
20889    method public float getTimeSpentScore();
20890    method public void setChooserScore(float);
20891    method public void setLaunchScore(float);
20892    method public void setRecencyScore(float);
20893    method public void setSelectProbability(float);
20894    method public void setTimeSpentScore(float);
20895    method public void writeToParcel(android.os.Parcel, int);
20896    field @NonNull public static final android.os.Parcelable.Creator<android.service.resolver.ResolverTarget> CREATOR;
20897  }
20898
20899}
20900
20901package android.service.resumeonreboot {
20902
20903  public abstract class ResumeOnRebootService extends android.app.Service {
20904    ctor public ResumeOnRebootService();
20905    method @Nullable public android.os.IBinder onBind(@Nullable android.content.Intent);
20906    method @NonNull public abstract byte[] onUnwrap(@NonNull byte[]) throws java.io.IOException;
20907    method @NonNull public abstract byte[] onWrap(@NonNull byte[], long) throws java.io.IOException;
20908    field public static final String SERVICE_INTERFACE = "android.service.resumeonreboot.ResumeOnRebootService";
20909  }
20910
20911}
20912
20913package android.service.rotationresolver {
20914
20915  public final class RotationResolutionRequest implements android.os.Parcelable {
20916    ctor public RotationResolutionRequest(@NonNull String, int, int, boolean, long);
20917    method public int describeContents();
20918    method public int getCurrentRotation();
20919    method @NonNull public String getForegroundPackageName();
20920    method public int getProposedRotation();
20921    method public long getTimeoutMillis();
20922    method public boolean shouldUseCamera();
20923    method public void writeToParcel(@NonNull android.os.Parcel, int);
20924    field @NonNull public static final android.os.Parcelable.Creator<android.service.rotationresolver.RotationResolutionRequest> CREATOR;
20925  }
20926
20927  public abstract class RotationResolverService extends android.app.Service {
20928    ctor public RotationResolverService();
20929    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
20930    method public abstract void onResolveRotation(@NonNull android.service.rotationresolver.RotationResolutionRequest, @Nullable android.os.CancellationSignal, @NonNull android.service.rotationresolver.RotationResolverService.RotationResolverCallback);
20931    field public static final int ROTATION_RESULT_FAILURE_CANCELLED = 0; // 0x0
20932    field public static final int ROTATION_RESULT_FAILURE_NOT_SUPPORTED = 4; // 0x4
20933    field public static final int ROTATION_RESULT_FAILURE_PREEMPTED = 2; // 0x2
20934    field public static final int ROTATION_RESULT_FAILURE_TIMED_OUT = 1; // 0x1
20935    field public static final int ROTATION_RESULT_FAILURE_UNKNOWN = 3; // 0x3
20936    field public static final String SERVICE_INTERFACE = "android.service.rotationresolver.RotationResolverService";
20937  }
20938
20939  public static interface RotationResolverService.RotationResolverCallback {
20940    method public void onFailure(int);
20941    method public void onSuccess(int);
20942  }
20943
20944}
20945
20946package android.service.search {
20947
20948  public abstract class SearchUiService extends android.app.Service {
20949    ctor public SearchUiService();
20950    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
20951    method @MainThread public abstract void onDestroy(@NonNull android.app.search.SearchSessionId);
20952    method @MainThread public abstract void onNotifyEvent(@NonNull android.app.search.SearchSessionId, @NonNull android.app.search.Query, @NonNull android.app.search.SearchTargetEvent);
20953    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>>);
20954    method public void onSearchSessionCreated(@NonNull android.app.search.SearchContext, @NonNull android.app.search.SearchSessionId);
20955    method @MainThread public void onStartUpdateEmptyQueryResult();
20956    method @MainThread public void onStopUpdateEmptyQueryResult();
20957    method public final void updateEmptyQueryResult(@NonNull android.app.search.SearchSessionId, @NonNull java.util.List<android.app.search.SearchTarget>);
20958  }
20959
20960}
20961
20962package android.service.settings.suggestions {
20963
20964  public final class Suggestion implements android.os.Parcelable {
20965    method public int describeContents();
20966    method public int getFlags();
20967    method public android.graphics.drawable.Icon getIcon();
20968    method public String getId();
20969    method public android.app.PendingIntent getPendingIntent();
20970    method public CharSequence getSummary();
20971    method public CharSequence getTitle();
20972    method public void writeToParcel(android.os.Parcel, int);
20973    field @NonNull public static final android.os.Parcelable.Creator<android.service.settings.suggestions.Suggestion> CREATOR;
20974    field public static final int FLAG_HAS_BUTTON = 1; // 0x1
20975  }
20976
20977  public static class Suggestion.Builder {
20978    ctor public Suggestion.Builder(String);
20979    method public android.service.settings.suggestions.Suggestion build();
20980    method public android.service.settings.suggestions.Suggestion.Builder setFlags(int);
20981    method public android.service.settings.suggestions.Suggestion.Builder setIcon(android.graphics.drawable.Icon);
20982    method public android.service.settings.suggestions.Suggestion.Builder setPendingIntent(android.app.PendingIntent);
20983    method public android.service.settings.suggestions.Suggestion.Builder setSummary(CharSequence);
20984    method public android.service.settings.suggestions.Suggestion.Builder setTitle(CharSequence);
20985  }
20986
20987  public abstract class SuggestionService extends android.app.Service {
20988    ctor public SuggestionService();
20989    method public android.os.IBinder onBind(android.content.Intent);
20990    method public abstract java.util.List<android.service.settings.suggestions.Suggestion> onGetSuggestions();
20991    method public abstract void onSuggestionDismissed(android.service.settings.suggestions.Suggestion);
20992    method public abstract void onSuggestionLaunched(android.service.settings.suggestions.Suggestion);
20993  }
20994
20995}
20996
20997package android.service.smartspace {
20998
20999  public abstract class SmartspaceService extends android.app.Service {
21000    ctor public SmartspaceService();
21001    method @MainThread public abstract void notifySmartspaceEvent(@NonNull android.app.smartspace.SmartspaceSessionId, @NonNull android.app.smartspace.SmartspaceTargetEvent);
21002    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
21003    method public abstract void onCreateSmartspaceSession(@NonNull android.app.smartspace.SmartspaceConfig, @NonNull android.app.smartspace.SmartspaceSessionId);
21004    method @MainThread public abstract void onDestroy(@NonNull android.app.smartspace.SmartspaceSessionId);
21005    method public abstract void onDestroySmartspaceSession(@NonNull android.app.smartspace.SmartspaceSessionId);
21006    method @MainThread public abstract void onRequestSmartspaceUpdate(@NonNull android.app.smartspace.SmartspaceSessionId);
21007    method public final void updateSmartspaceTargets(@NonNull android.app.smartspace.SmartspaceSessionId, @NonNull java.util.List<android.app.smartspace.SmartspaceTarget>);
21008  }
21009
21010}
21011
21012package android.service.storage {
21013
21014  public abstract class ExternalStorageService extends android.app.Service {
21015    ctor public ExternalStorageService();
21016    method public void onAnrDelayStarted(@NonNull String, int, int, int);
21017    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
21018    method public abstract void onEndSession(@NonNull String) throws java.io.IOException;
21019    method public void onFreeCache(@NonNull java.util.UUID, long) throws java.io.IOException;
21020    method public abstract void onStartSession(@NonNull String, int, @NonNull android.os.ParcelFileDescriptor, @NonNull java.io.File, @NonNull java.io.File) throws java.io.IOException;
21021    method public abstract void onVolumeStateChanged(@NonNull android.os.storage.StorageVolume) throws java.io.IOException;
21022    field public static final int FLAG_SESSION_ATTRIBUTE_INDEXABLE = 2; // 0x2
21023    field public static final int FLAG_SESSION_TYPE_FUSE = 1; // 0x1
21024    field public static final String SERVICE_INTERFACE = "android.service.storage.ExternalStorageService";
21025  }
21026
21027}
21028
21029package android.service.textclassifier {
21030
21031  public abstract class TextClassifierService extends android.app.Service {
21032    ctor public TextClassifierService();
21033    method @NonNull public static android.view.textclassifier.TextClassifier getDefaultTextClassifierImplementation(@NonNull android.content.Context);
21034    method @Deprecated public final android.view.textclassifier.TextClassifier getLocalTextClassifier();
21035    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
21036    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>);
21037    method public void onConnected();
21038    method @MainThread public void onCreateTextClassificationSession(@NonNull android.view.textclassifier.TextClassificationContext, @NonNull android.view.textclassifier.TextClassificationSessionId);
21039    method @MainThread public void onDestroyTextClassificationSession(@NonNull android.view.textclassifier.TextClassificationSessionId);
21040    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>);
21041    method public void onDisconnected();
21042    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>);
21043    method @Deprecated @MainThread public void onSelectionEvent(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.SelectionEvent);
21044    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>);
21045    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>);
21046    method @MainThread public void onTextClassifierEvent(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.TextClassifierEvent);
21047    field public static final String SERVICE_INTERFACE = "android.service.textclassifier.TextClassifierService";
21048  }
21049
21050  public static interface TextClassifierService.Callback<T> {
21051    method public void onFailure(@NonNull CharSequence);
21052    method public void onSuccess(T);
21053  }
21054
21055}
21056
21057package android.service.timezone {
21058
21059  public abstract class TimeZoneProviderService extends android.app.Service {
21060    ctor public TimeZoneProviderService();
21061    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
21062    method public abstract void onStartUpdates(long);
21063    method public abstract void onStopUpdates();
21064    method public final void reportPermanentFailure(@NonNull Throwable);
21065    method public final void reportSuggestion(@NonNull android.service.timezone.TimeZoneProviderSuggestion);
21066    method public final void reportSuggestion(@NonNull android.service.timezone.TimeZoneProviderSuggestion, @NonNull android.service.timezone.TimeZoneProviderStatus);
21067    method public final void reportUncertain();
21068    method public final void reportUncertain(@NonNull android.service.timezone.TimeZoneProviderStatus);
21069    field public static final String PRIMARY_LOCATION_TIME_ZONE_PROVIDER_SERVICE_INTERFACE = "android.service.timezone.PrimaryLocationTimeZoneProviderService";
21070    field public static final String SECONDARY_LOCATION_TIME_ZONE_PROVIDER_SERVICE_INTERFACE = "android.service.timezone.SecondaryLocationTimeZoneProviderService";
21071  }
21072
21073  public final class TimeZoneProviderStatus implements android.os.Parcelable {
21074    method public int describeContents();
21075    method public int getConnectivityDependencyStatus();
21076    method public int getLocationDetectionDependencyStatus();
21077    method public int getTimeZoneResolutionOperationStatus();
21078    method public void writeToParcel(@NonNull android.os.Parcel, int);
21079    field @NonNull public static final android.os.Parcelable.Creator<android.service.timezone.TimeZoneProviderStatus> CREATOR;
21080    field public static final int DEPENDENCY_STATUS_BLOCKED_BY_ENVIRONMENT = 4; // 0x4
21081    field public static final int DEPENDENCY_STATUS_BLOCKED_BY_SETTINGS = 6; // 0x6
21082    field public static final int DEPENDENCY_STATUS_DEGRADED_BY_SETTINGS = 5; // 0x5
21083    field public static final int DEPENDENCY_STATUS_NOT_APPLICABLE = 1; // 0x1
21084    field public static final int DEPENDENCY_STATUS_OK = 2; // 0x2
21085    field public static final int DEPENDENCY_STATUS_TEMPORARILY_UNAVAILABLE = 3; // 0x3
21086    field public static final int OPERATION_STATUS_FAILED = 3; // 0x3
21087    field public static final int OPERATION_STATUS_NOT_APPLICABLE = 1; // 0x1
21088    field public static final int OPERATION_STATUS_OK = 2; // 0x2
21089  }
21090
21091  public static final class TimeZoneProviderStatus.Builder {
21092    ctor public TimeZoneProviderStatus.Builder();
21093    method @NonNull public android.service.timezone.TimeZoneProviderStatus build();
21094    method @NonNull public android.service.timezone.TimeZoneProviderStatus.Builder setConnectivityDependencyStatus(int);
21095    method @NonNull public android.service.timezone.TimeZoneProviderStatus.Builder setLocationDetectionDependencyStatus(int);
21096    method @NonNull public android.service.timezone.TimeZoneProviderStatus.Builder setTimeZoneResolutionOperationStatus(int);
21097  }
21098
21099  public final class TimeZoneProviderSuggestion implements android.os.Parcelable {
21100    method public int describeContents();
21101    method public long getElapsedRealtimeMillis();
21102    method @NonNull public java.util.List<java.lang.String> getTimeZoneIds();
21103    method public void writeToParcel(@NonNull android.os.Parcel, int);
21104    field @NonNull public static final android.os.Parcelable.Creator<android.service.timezone.TimeZoneProviderSuggestion> CREATOR;
21105  }
21106
21107  public static final class TimeZoneProviderSuggestion.Builder {
21108    ctor public TimeZoneProviderSuggestion.Builder();
21109    method @NonNull public android.service.timezone.TimeZoneProviderSuggestion build();
21110    method @NonNull public android.service.timezone.TimeZoneProviderSuggestion.Builder setElapsedRealtimeMillis(long);
21111    method @NonNull public android.service.timezone.TimeZoneProviderSuggestion.Builder setTimeZoneIds(@NonNull java.util.List<java.lang.String>);
21112  }
21113
21114}
21115
21116package android.service.tracing {
21117
21118  public class TraceReportService extends android.app.Service {
21119    ctor public TraceReportService();
21120    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
21121    method public void onReportTrace(@NonNull android.service.tracing.TraceReportService.TraceParams);
21122  }
21123
21124  public static final class TraceReportService.TraceParams {
21125    method @NonNull public android.os.ParcelFileDescriptor getFd();
21126    method @NonNull public java.util.UUID getUuid();
21127  }
21128
21129}
21130
21131package android.service.translation {
21132
21133  public abstract class TranslationService extends android.app.Service {
21134    ctor public TranslationService();
21135    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
21136    method public void onConnected();
21137    method public abstract void onCreateTranslationSession(@NonNull android.view.translation.TranslationContext, int, @NonNull java.util.function.Consumer<java.lang.Boolean>);
21138    method public void onDisconnected();
21139    method public abstract void onFinishTranslationSession(int);
21140    method public abstract void onTranslationCapabilitiesRequest(int, int, @NonNull java.util.function.Consumer<java.util.Set<android.view.translation.TranslationCapability>>);
21141    method public abstract void onTranslationRequest(@NonNull android.view.translation.TranslationRequest, int, @Nullable android.os.CancellationSignal, @NonNull java.util.function.Consumer<android.view.translation.TranslationResponse>);
21142    method public final void updateTranslationCapability(@NonNull android.view.translation.TranslationCapability);
21143    field public static final String SERVICE_INTERFACE = "android.service.translation.TranslationService";
21144    field public static final String SERVICE_META_DATA = "android.translation_service";
21145  }
21146
21147}
21148
21149package android.service.trust {
21150
21151  public final class GrantTrustResult implements android.os.Parcelable {
21152    ctor public GrantTrustResult(int);
21153    method public int describeContents();
21154    method public int getStatus();
21155    method @NonNull public static String statusToString(int);
21156    method public void writeToParcel(@NonNull android.os.Parcel, int);
21157    field @NonNull public static final android.os.Parcelable.Creator<android.service.trust.GrantTrustResult> CREATOR;
21158    field public static final int STATUS_UNKNOWN = 0; // 0x0
21159    field public static final int STATUS_UNLOCKED_BY_GRANT = 1; // 0x1
21160  }
21161
21162  public class TrustAgentService extends android.app.Service {
21163    ctor public TrustAgentService();
21164    method public final void addEscrowToken(byte[], android.os.UserHandle);
21165    method @Deprecated public final void grantTrust(CharSequence, long, boolean);
21166    method @Deprecated public final void grantTrust(CharSequence, long, int);
21167    method public final void grantTrust(@NonNull CharSequence, long, int, @Nullable java.util.function.Consumer<android.service.trust.GrantTrustResult>);
21168    method public final void isEscrowTokenActive(long, android.os.UserHandle);
21169    method public final void lockUser();
21170    method public final android.os.IBinder onBind(android.content.Intent);
21171    method public boolean onConfigure(java.util.List<android.os.PersistableBundle>);
21172    method public void onDeviceLocked();
21173    method public void onDeviceUnlockLockout(long);
21174    method public void onDeviceUnlocked();
21175    method public void onEscrowTokenAdded(byte[], long, android.os.UserHandle);
21176    method public void onEscrowTokenRemoved(long, boolean);
21177    method public void onEscrowTokenStateReceived(long, int);
21178    method public void onTrustTimeout();
21179    method public void onUnlockAttempt(boolean);
21180    method public void onUserMayRequestUnlock();
21181    method public void onUserRequestedUnlock(boolean);
21182    method public final void removeEscrowToken(long, android.os.UserHandle);
21183    method public final void revokeTrust();
21184    method public final void setManagingTrust(boolean);
21185    method public final void showKeyguardErrorMessage(@NonNull CharSequence);
21186    method public final void unlockUserWithToken(long, byte[], android.os.UserHandle);
21187    field public static final int FLAG_GRANT_TRUST_DISMISS_KEYGUARD = 2; // 0x2
21188    field public static final int FLAG_GRANT_TRUST_DISPLAY_MESSAGE = 8; // 0x8
21189    field public static final int FLAG_GRANT_TRUST_INITIATED_BY_USER = 1; // 0x1
21190    field public static final int FLAG_GRANT_TRUST_TEMPORARY_AND_RENEWABLE = 4; // 0x4
21191    field public static final String SERVICE_INTERFACE = "android.service.trust.TrustAgentService";
21192    field public static final int TOKEN_STATE_ACTIVE = 1; // 0x1
21193    field public static final int TOKEN_STATE_INACTIVE = 0; // 0x0
21194    field public static final String TRUST_AGENT_META_DATA = "android.service.trust.trustagent";
21195  }
21196
21197}
21198
21199package android.service.voice {
21200
21201  public class AlwaysOnHotwordDetector implements android.service.voice.HotwordDetector {
21202    method @Nullable public android.content.Intent createEnrollIntent();
21203    method @Nullable public android.content.Intent createReEnrollIntent();
21204    method @Nullable public android.content.Intent createUnEnrollIntent();
21205    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public int getParameter(int);
21206    method public int getSupportedAudioCapabilities();
21207    method public int getSupportedRecognitionModes();
21208    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public android.service.voice.AlwaysOnHotwordDetector.ModelParamRange queryParameter(int);
21209    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public int setParameter(int, int);
21210    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public boolean startRecognition();
21211    method public boolean startRecognition(@NonNull android.os.ParcelFileDescriptor, @NonNull android.media.AudioFormat, @Nullable android.os.PersistableBundle);
21212    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public boolean startRecognition(int);
21213    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public boolean startRecognition(int, @NonNull byte[]);
21214    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public boolean stopRecognition();
21215    method public final void updateState(@Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory);
21216    field public static final int AUDIO_CAPABILITY_ECHO_CANCELLATION = 1; // 0x1
21217    field public static final int AUDIO_CAPABILITY_NOISE_SUPPRESSION = 2; // 0x2
21218    field public static final int MODEL_PARAM_THRESHOLD_FACTOR = 0; // 0x0
21219    field public static final int RECOGNITION_FLAG_ALLOW_MULTIPLE_TRIGGERS = 2; // 0x2
21220    field public static final int RECOGNITION_FLAG_CAPTURE_TRIGGER_AUDIO = 1; // 0x1
21221    field public static final int RECOGNITION_FLAG_ENABLE_AUDIO_ECHO_CANCELLATION = 4; // 0x4
21222    field public static final int RECOGNITION_FLAG_ENABLE_AUDIO_NOISE_SUPPRESSION = 8; // 0x8
21223    field public static final int RECOGNITION_FLAG_RUN_IN_BATTERY_SAVER = 16; // 0x10
21224    field public static final int RECOGNITION_MODE_USER_IDENTIFICATION = 2; // 0x2
21225    field public static final int RECOGNITION_MODE_VOICE_TRIGGER = 1; // 0x1
21226    field public static final int STATE_ERROR = 3; // 0x3
21227    field public static final int STATE_HARDWARE_UNAVAILABLE = -2; // 0xfffffffe
21228    field public static final int STATE_KEYPHRASE_ENROLLED = 2; // 0x2
21229    field public static final int STATE_KEYPHRASE_UNENROLLED = 1; // 0x1
21230    field @Deprecated public static final int STATE_KEYPHRASE_UNSUPPORTED = -1; // 0xffffffff
21231  }
21232
21233  public abstract static class AlwaysOnHotwordDetector.Callback implements android.service.voice.HotwordDetector.Callback {
21234    ctor public AlwaysOnHotwordDetector.Callback();
21235    method public abstract void onAvailabilityChanged(int);
21236    method public void onFailure(@NonNull android.service.voice.SoundTriggerFailure);
21237    method public void onHotwordDetectionServiceInitialized(int);
21238    method public void onHotwordDetectionServiceRestarted();
21239    method public void onRejected(@NonNull android.service.voice.HotwordRejectedResult);
21240  }
21241
21242  public static class AlwaysOnHotwordDetector.EventPayload {
21243    method @Nullable public android.os.ParcelFileDescriptor getAudioStream();
21244    method @Nullable public android.media.AudioFormat getCaptureAudioFormat();
21245    method @Nullable public byte[] getData();
21246    method public int getDataFormat();
21247    method public long getHalEventReceivedMillis();
21248    method @Nullable public android.service.voice.HotwordDetectedResult getHotwordDetectedResult();
21249    method @NonNull public java.util.List<android.hardware.soundtrigger.SoundTrigger.KeyphraseRecognitionExtra> getKeyphraseRecognitionExtras();
21250    method @Deprecated @Nullable public byte[] getTriggerAudio();
21251    method @FlaggedApi("android.app.wearable.enable_hotword_wearable_sensing_api") public boolean isRecognitionStopped();
21252    field public static final int DATA_FORMAT_RAW = 0; // 0x0
21253    field public static final int DATA_FORMAT_TRIGGER_AUDIO = 1; // 0x1
21254  }
21255
21256  public static final class AlwaysOnHotwordDetector.ModelParamRange {
21257    method public int getEnd();
21258    method public int getStart();
21259  }
21260
21261  public final class FailureSuggestedAction {
21262    field public static final int DISABLE_DETECTION = 2; // 0x2
21263    field public static final int NONE = 1; // 0x1
21264    field public static final int RECREATE_DETECTOR = 3; // 0x3
21265    field public static final int RESTART_RECOGNITION = 4; // 0x4
21266    field public static final int UNKNOWN = 0; // 0x0
21267  }
21268
21269  public final class HotwordAudioStream implements android.os.Parcelable {
21270    method public int describeContents();
21271    method @NonNull public android.media.AudioFormat getAudioFormat();
21272    method @NonNull public android.os.ParcelFileDescriptor getAudioStreamParcelFileDescriptor();
21273    method @NonNull public byte[] getInitialAudio();
21274    method @NonNull public android.os.PersistableBundle getMetadata();
21275    method @Nullable public android.media.AudioTimestamp getTimestamp();
21276    method public void writeToParcel(@NonNull android.os.Parcel, int);
21277    field @NonNull public static final android.os.Parcelable.Creator<android.service.voice.HotwordAudioStream> CREATOR;
21278    field public static final String KEY_AUDIO_STREAM_COPY_BUFFER_LENGTH_BYTES = "android.service.voice.key.AUDIO_STREAM_COPY_BUFFER_LENGTH_BYTES";
21279  }
21280
21281  public static final class HotwordAudioStream.Builder {
21282    ctor public HotwordAudioStream.Builder(@NonNull android.media.AudioFormat, @NonNull android.os.ParcelFileDescriptor);
21283    method @NonNull public android.service.voice.HotwordAudioStream build();
21284    method @NonNull public android.service.voice.HotwordAudioStream.Builder setAudioFormat(@NonNull android.media.AudioFormat);
21285    method @NonNull public android.service.voice.HotwordAudioStream.Builder setAudioStreamParcelFileDescriptor(@NonNull android.os.ParcelFileDescriptor);
21286    method @NonNull public android.service.voice.HotwordAudioStream.Builder setInitialAudio(@NonNull byte[]);
21287    method @NonNull public android.service.voice.HotwordAudioStream.Builder setMetadata(@NonNull android.os.PersistableBundle);
21288    method @NonNull public android.service.voice.HotwordAudioStream.Builder setTimestamp(@NonNull android.media.AudioTimestamp);
21289  }
21290
21291  public final class HotwordDetectedResult implements android.os.Parcelable {
21292    method public int describeContents();
21293    method public int getAudioChannel();
21294    method @NonNull public java.util.List<android.service.voice.HotwordAudioStream> getAudioStreams();
21295    method public int getBackgroundAudioPower();
21296    method public int getConfidenceLevel();
21297    method @NonNull public android.os.PersistableBundle getExtras();
21298    method public int getHotwordDurationMillis();
21299    method public int getHotwordOffsetMillis();
21300    method public int getHotwordPhraseId();
21301    method public static int getMaxBackgroundAudioPower();
21302    method public static int getMaxBundleSize();
21303    method public static int getMaxHotwordPhraseId();
21304    method public static int getMaxScore();
21305    method public static int getMaxSpeakerId();
21306    method @Nullable public android.media.MediaSyncEvent getMediaSyncEvent();
21307    method public int getPersonalizedScore();
21308    method public int getProximity();
21309    method public int getScore();
21310    method public int getSpeakerId();
21311    method public boolean isHotwordDetectionPersonalized();
21312    method public void writeToParcel(@NonNull android.os.Parcel, int);
21313    field public static final int AUDIO_CHANNEL_UNSET = -1; // 0xffffffff
21314    field public static final int BACKGROUND_AUDIO_POWER_UNSET = -1; // 0xffffffff
21315    field public static final int CONFIDENCE_LEVEL_HIGH = 5; // 0x5
21316    field public static final int CONFIDENCE_LEVEL_LOW = 1; // 0x1
21317    field public static final int CONFIDENCE_LEVEL_LOW_MEDIUM = 2; // 0x2
21318    field public static final int CONFIDENCE_LEVEL_MEDIUM = 3; // 0x3
21319    field public static final int CONFIDENCE_LEVEL_MEDIUM_HIGH = 4; // 0x4
21320    field public static final int CONFIDENCE_LEVEL_NONE = 0; // 0x0
21321    field public static final int CONFIDENCE_LEVEL_VERY_HIGH = 6; // 0x6
21322    field @NonNull public static final android.os.Parcelable.Creator<android.service.voice.HotwordDetectedResult> CREATOR;
21323    field public static final int HOTWORD_OFFSET_UNSET = -1; // 0xffffffff
21324    field public static final int PROXIMITY_FAR = 2; // 0x2
21325    field public static final int PROXIMITY_NEAR = 1; // 0x1
21326    field public static final int PROXIMITY_UNKNOWN = -1; // 0xffffffff
21327  }
21328
21329  public static final class HotwordDetectedResult.Builder {
21330    ctor public HotwordDetectedResult.Builder();
21331    method @NonNull public android.service.voice.HotwordDetectedResult build();
21332    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setAudioChannel(int);
21333    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setAudioStreams(@NonNull java.util.List<android.service.voice.HotwordAudioStream>);
21334    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setBackgroundAudioPower(int);
21335    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setConfidenceLevel(int);
21336    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setExtras(@NonNull android.os.PersistableBundle);
21337    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setHotwordDetectionPersonalized(boolean);
21338    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setHotwordDurationMillis(int);
21339    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setHotwordOffsetMillis(int);
21340    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setHotwordPhraseId(int);
21341    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setMediaSyncEvent(@NonNull android.media.MediaSyncEvent);
21342    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setPersonalizedScore(int);
21343    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setScore(int);
21344    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setSpeakerId(int);
21345  }
21346
21347  public abstract class HotwordDetectionService extends android.app.Service implements android.service.voice.SandboxedDetectionInitializer {
21348    ctor public HotwordDetectionService();
21349    method @Deprecated public static int getMaxCustomInitializationStatus();
21350    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
21351    method public void onDetect(@NonNull android.os.ParcelFileDescriptor, @NonNull android.media.AudioFormat, @Nullable android.os.PersistableBundle, @NonNull android.service.voice.HotwordDetectionService.Callback);
21352    method public void onDetect(@NonNull android.service.voice.AlwaysOnHotwordDetector.EventPayload, long, @NonNull android.service.voice.HotwordDetectionService.Callback);
21353    method public void onDetect(@NonNull android.service.voice.HotwordDetectionService.Callback);
21354    method public void onStopDetection();
21355    method public void onUpdateState(@Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory, long, @Nullable java.util.function.IntConsumer);
21356    field @Deprecated public static final int INITIALIZATION_STATUS_SUCCESS = 0; // 0x0
21357    field @Deprecated public static final int INITIALIZATION_STATUS_UNKNOWN = 100; // 0x64
21358    field @FlaggedApi("android.app.wearable.enable_hotword_wearable_sensing_api") public static final String KEY_SYSTEM_WILL_CLOSE_AUDIO_STREAM_AFTER_CALLBACK = "android.service.voice.HotwordDetectionService.KEY_SYSTEM_WILL_CLOSE_AUDIO_STREAM_AFTER_CALLBACK";
21359    field public static final String SERVICE_INTERFACE = "android.service.voice.HotwordDetectionService";
21360  }
21361
21362  public static final class HotwordDetectionService.Callback {
21363    method public void onDetected(@NonNull android.service.voice.HotwordDetectedResult);
21364    method public void onRejected(@NonNull android.service.voice.HotwordRejectedResult);
21365  }
21366
21367  public final class HotwordDetectionServiceFailure implements android.os.Parcelable {
21368    method public int describeContents();
21369    method public int getErrorCode();
21370    method @NonNull public String getErrorMessage();
21371    method public int getSuggestedAction();
21372    method public void writeToParcel(@NonNull android.os.Parcel, int);
21373    field @NonNull public static final android.os.Parcelable.Creator<android.service.voice.HotwordDetectionServiceFailure> CREATOR;
21374    field public static final int ERROR_CODE_BINDING_DIED = 2; // 0x2
21375    field public static final int ERROR_CODE_BIND_FAILURE = 1; // 0x1
21376    field public static final int ERROR_CODE_COPY_AUDIO_DATA_FAILURE = 3; // 0x3
21377    field public static final int ERROR_CODE_DETECT_TIMEOUT = 4; // 0x4
21378    field public static final int ERROR_CODE_ON_DETECTED_SECURITY_EXCEPTION = 5; // 0x5
21379    field public static final int ERROR_CODE_ON_DETECTED_STREAM_COPY_FAILURE = 6; // 0x6
21380    field public static final int ERROR_CODE_REMOTE_EXCEPTION = 7; // 0x7
21381    field @FlaggedApi("android.service.voice.flags.allow_training_data_egress_from_hds") public static final int ERROR_CODE_SHUTDOWN_HDS_ON_VOICE_ACTIVATION_OP_DISABLED = 10; // 0xa
21382    field public static final int ERROR_CODE_UNKNOWN = 0; // 0x0
21383  }
21384
21385  public interface HotwordDetector {
21386    method public default void destroy();
21387    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public boolean startRecognition();
21388    method public boolean startRecognition(@NonNull android.os.ParcelFileDescriptor, @NonNull android.media.AudioFormat, @Nullable android.os.PersistableBundle);
21389    method public boolean stopRecognition();
21390    method public void updateState(@Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory);
21391  }
21392
21393  public static interface HotwordDetector.Callback {
21394    method public void onDetected(@NonNull android.service.voice.AlwaysOnHotwordDetector.EventPayload);
21395    method @Deprecated public void onError();
21396    method public default void onFailure(@NonNull android.service.voice.HotwordDetectionServiceFailure);
21397    method public void onHotwordDetectionServiceInitialized(int);
21398    method public void onHotwordDetectionServiceRestarted();
21399    method public void onRecognitionPaused();
21400    method public void onRecognitionResumed();
21401    method public void onRejected(@NonNull android.service.voice.HotwordRejectedResult);
21402    method public default void onUnknownFailure(@NonNull String);
21403  }
21404
21405  public final class HotwordRejectedResult implements android.os.Parcelable {
21406    method public int describeContents();
21407    method public int getConfidenceLevel();
21408    method public void writeToParcel(@NonNull android.os.Parcel, int);
21409    field public static final int CONFIDENCE_LEVEL_HIGH = 3; // 0x3
21410    field public static final int CONFIDENCE_LEVEL_LOW = 1; // 0x1
21411    field public static final int CONFIDENCE_LEVEL_MEDIUM = 2; // 0x2
21412    field public static final int CONFIDENCE_LEVEL_NONE = 0; // 0x0
21413    field @FlaggedApi("android.service.voice.flags.allow_hotword_bump_egress") public static final int CONFIDENCE_LEVEL_VERY_HIGH = 4; // 0x4
21414    field @NonNull public static final android.os.Parcelable.Creator<android.service.voice.HotwordRejectedResult> CREATOR;
21415  }
21416
21417  public static final class HotwordRejectedResult.Builder {
21418    ctor public HotwordRejectedResult.Builder();
21419    method @NonNull public android.service.voice.HotwordRejectedResult build();
21420    method @NonNull public android.service.voice.HotwordRejectedResult.Builder setConfidenceLevel(int);
21421  }
21422
21423  public interface SandboxedDetectionInitializer {
21424    method public static int getMaxCustomInitializationStatus();
21425    method public void onUpdateState(@Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory, long, @Nullable java.util.function.IntConsumer);
21426    field public static final int INITIALIZATION_STATUS_SUCCESS = 0; // 0x0
21427    field public static final int INITIALIZATION_STATUS_UNKNOWN = 100; // 0x64
21428  }
21429
21430  public final class SoundTriggerFailure implements android.os.Parcelable {
21431    method public int describeContents();
21432    method public int getErrorCode();
21433    method @NonNull public String getErrorMessage();
21434    method public int getSuggestedAction();
21435    method public void writeToParcel(@NonNull android.os.Parcel, int);
21436    field @NonNull public static final android.os.Parcelable.Creator<android.service.voice.SoundTriggerFailure> CREATOR;
21437    field public static final int ERROR_CODE_MODULE_DIED = 1; // 0x1
21438    field public static final int ERROR_CODE_RECOGNITION_RESUME_FAILED = 2; // 0x2
21439    field public static final int ERROR_CODE_UNEXPECTED_PREEMPTION = 3; // 0x3
21440    field public static final int ERROR_CODE_UNKNOWN = 0; // 0x0
21441  }
21442
21443  public final class VisualQueryAttentionResult implements android.os.Parcelable {
21444    method public int describeContents();
21445    method @IntRange(from=1, to=100) public int getEngagementLevel();
21446    method public int getInteractionIntention();
21447    method public void writeToParcel(@NonNull android.os.Parcel, int);
21448    field @NonNull public static final android.os.Parcelable.Creator<android.service.voice.VisualQueryAttentionResult> CREATOR;
21449    field public static final int INTERACTION_INTENTION_AUDIO_VISUAL = 0; // 0x0
21450    field public static final int INTERACTION_INTENTION_VISUAL_ACCESSIBILITY = 1; // 0x1
21451  }
21452
21453  public static final class VisualQueryAttentionResult.Builder {
21454    ctor public VisualQueryAttentionResult.Builder();
21455    method @NonNull public android.service.voice.VisualQueryAttentionResult build();
21456    method @NonNull public android.service.voice.VisualQueryAttentionResult.Builder setEngagementLevel(@IntRange(from=1, to=100) int);
21457    method @NonNull public android.service.voice.VisualQueryAttentionResult.Builder setInteractionIntention(int);
21458  }
21459
21460  public final class VisualQueryDetectedResult implements android.os.Parcelable {
21461    method public int describeContents();
21462    method @Nullable public byte[] getAccessibilityDetectionData();
21463    method public static int getMaxSpeakerId();
21464    method @NonNull public String getPartialQuery();
21465    method public int getSpeakerId();
21466    method public void writeToParcel(@NonNull android.os.Parcel, int);
21467    field @NonNull public static final android.os.Parcelable.Creator<android.service.voice.VisualQueryDetectedResult> CREATOR;
21468  }
21469
21470  public static final class VisualQueryDetectedResult.Builder {
21471    ctor public VisualQueryDetectedResult.Builder();
21472    method @NonNull public android.service.voice.VisualQueryDetectedResult build();
21473    method @NonNull public android.service.voice.VisualQueryDetectedResult.Builder setAccessibilityDetectionData(@NonNull byte...);
21474    method @NonNull public android.service.voice.VisualQueryDetectedResult.Builder setPartialQuery(@NonNull String);
21475    method @NonNull public android.service.voice.VisualQueryDetectedResult.Builder setSpeakerId(int);
21476  }
21477
21478  public abstract class VisualQueryDetectionService extends android.app.Service implements android.service.voice.SandboxedDetectionInitializer {
21479    ctor public VisualQueryDetectionService();
21480    method public final void finishQuery() throws java.lang.IllegalStateException;
21481    method public final void gainedAttention();
21482    method public final void gainedAttention(@NonNull android.service.voice.VisualQueryAttentionResult);
21483    method public final void lostAttention();
21484    method public final void lostAttention(int);
21485    method @Nullable public android.os.IBinder onBind(@NonNull android.content.Intent);
21486    method public void onStartDetection();
21487    method public void onStopDetection();
21488    method public void onUpdateState(@Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory, long, @Nullable java.util.function.IntConsumer);
21489    method public final void rejectQuery() throws java.lang.IllegalStateException;
21490    method public final void streamQuery(@NonNull android.service.voice.VisualQueryDetectedResult);
21491    method public final void streamQuery(@NonNull String) throws java.lang.IllegalStateException;
21492    field public static final String SERVICE_INTERFACE = "android.service.voice.VisualQueryDetectionService";
21493  }
21494
21495  public final class VisualQueryDetectionServiceFailure implements android.os.Parcelable {
21496    method public int describeContents();
21497    method public int getErrorCode();
21498    method @NonNull public String getErrorMessage();
21499    method public int getSuggestedAction();
21500    method public void writeToParcel(@NonNull android.os.Parcel, int);
21501    field @NonNull public static final android.os.Parcelable.Creator<android.service.voice.VisualQueryDetectionServiceFailure> CREATOR;
21502    field public static final int ERROR_CODE_BINDING_DIED = 2; // 0x2
21503    field public static final int ERROR_CODE_BIND_FAILURE = 1; // 0x1
21504    field public static final int ERROR_CODE_ILLEGAL_ATTENTION_STATE = 3; // 0x3
21505    field public static final int ERROR_CODE_ILLEGAL_STREAMING_STATE = 4; // 0x4
21506    field public static final int ERROR_CODE_REMOTE_EXCEPTION = 5; // 0x5
21507    field public static final int ERROR_CODE_UNKNOWN = 0; // 0x0
21508  }
21509
21510  public class VisualQueryDetector {
21511    method public void clearAccessibilityDetectionEnabledListener();
21512    method public void destroy();
21513    method public boolean isAccessibilityDetectionEnabled();
21514    method public void setAccessibilityDetectionEnabledListener(@NonNull java.util.function.Consumer<java.lang.Boolean>);
21515    method @RequiresPermission(allOf={android.Manifest.permission.CAMERA, android.Manifest.permission.RECORD_AUDIO}) public boolean startRecognition();
21516    method @RequiresPermission(allOf={android.Manifest.permission.CAMERA, android.Manifest.permission.RECORD_AUDIO}) public boolean stopRecognition();
21517    method public void updateState(@Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory);
21518  }
21519
21520  public static interface VisualQueryDetector.Callback {
21521    method public void onFailure(@NonNull android.service.voice.VisualQueryDetectionServiceFailure);
21522    method public default void onQueryDetected(@NonNull android.service.voice.VisualQueryDetectedResult);
21523    method public void onQueryDetected(@NonNull String);
21524    method public void onQueryFinished();
21525    method public void onQueryRejected();
21526    method public void onUnknownFailure(@NonNull String);
21527    method public void onVisualQueryDetectionServiceInitialized(int);
21528    method public void onVisualQueryDetectionServiceRestarted();
21529  }
21530
21531  public class VoiceInteractionService extends android.app.Service {
21532    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);
21533    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);
21534    method @Deprecated @NonNull public final android.service.voice.AlwaysOnHotwordDetector createAlwaysOnHotwordDetector(String, java.util.Locale, android.service.voice.AlwaysOnHotwordDetector.Callback);
21535    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);
21536    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);
21537    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);
21538    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_VOICE_KEYPHRASES) public final android.media.voice.KeyphraseModelManager createKeyphraseModelManager();
21539    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);
21540  }
21541
21542}
21543
21544package android.service.wallpaper {
21545
21546  public class WallpaperService.Engine {
21547    method public boolean isInAmbientMode();
21548    method @MainThread public void onAmbientModeChanged(boolean, long);
21549  }
21550
21551}
21552
21553package android.service.wallpapereffectsgeneration {
21554
21555  public abstract class WallpaperEffectsGenerationService extends android.app.Service {
21556    ctor public WallpaperEffectsGenerationService();
21557    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
21558    method @MainThread public abstract void onGenerateCinematicEffect(@NonNull android.app.wallpapereffectsgeneration.CinematicEffectRequest);
21559    method public final void returnCinematicEffectResponse(@NonNull android.app.wallpapereffectsgeneration.CinematicEffectResponse);
21560    field public static final String SERVICE_INTERFACE = "android.service.wallpapereffectsgeneration.WallpaperEffectsGenerationService";
21561  }
21562
21563}
21564
21565package android.service.watchdog {
21566
21567  public abstract class ExplicitHealthCheckService extends android.app.Service {
21568    ctor public ExplicitHealthCheckService();
21569    method public final void notifyHealthCheckPassed(@NonNull String);
21570    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
21571    method public abstract void onCancelHealthCheck(@NonNull String);
21572    method @NonNull public abstract java.util.List<java.lang.String> onGetRequestedPackages();
21573    method @NonNull public abstract java.util.List<android.service.watchdog.ExplicitHealthCheckService.PackageConfig> onGetSupportedPackages();
21574    method public abstract void onRequestHealthCheck(@NonNull String);
21575    field public static final String BIND_PERMISSION = "android.permission.BIND_EXPLICIT_HEALTH_CHECK_SERVICE";
21576    field public static final String SERVICE_INTERFACE = "android.service.watchdog.ExplicitHealthCheckService";
21577  }
21578
21579  public static final class ExplicitHealthCheckService.PackageConfig implements android.os.Parcelable {
21580    ctor public ExplicitHealthCheckService.PackageConfig(@NonNull String, long);
21581    method public int describeContents();
21582    method public long getHealthCheckTimeoutMillis();
21583    method @NonNull public String getPackageName();
21584    method public void writeToParcel(android.os.Parcel, int);
21585    field @NonNull public static final android.os.Parcelable.Creator<android.service.watchdog.ExplicitHealthCheckService.PackageConfig> CREATOR;
21586  }
21587
21588}
21589
21590package android.service.wearable {
21591
21592  public interface WearableSensingDataRequester {
21593    method public void requestData(@NonNull android.app.wearable.WearableSensingDataRequest, @NonNull java.util.function.Consumer<java.lang.Integer>);
21594    field public static final int STATUS_OBSERVER_CANCELLED = 2; // 0x2
21595    field public static final int STATUS_SUCCESS = 1; // 0x1
21596    field public static final int STATUS_TOO_FREQUENT = 4; // 0x4
21597    field public static final int STATUS_TOO_LARGE = 3; // 0x3
21598    field public static final int STATUS_UNKNOWN = 0; // 0x0
21599  }
21600
21601  public abstract class WearableSensingService extends android.app.Service {
21602    ctor public WearableSensingService();
21603    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
21604    method @BinderThread public abstract void onDataProvided(@NonNull android.os.PersistableBundle, @Nullable android.os.SharedMemory, @NonNull java.util.function.Consumer<java.lang.Integer>);
21605    method @BinderThread public void onDataRequestObserverRegistered(int, @NonNull String, @NonNull android.service.wearable.WearableSensingDataRequester, @NonNull java.util.function.Consumer<java.lang.Integer>);
21606    method @BinderThread public void onDataRequestObserverUnregistered(int, @NonNull String, @NonNull android.service.wearable.WearableSensingDataRequester, @NonNull java.util.function.Consumer<java.lang.Integer>);
21607    method @BinderThread public abstract void onDataStreamProvided(@NonNull android.os.ParcelFileDescriptor, @NonNull java.util.function.Consumer<java.lang.Integer>);
21608    method @BinderThread public abstract void onQueryServiceStatus(@NonNull java.util.Set<java.lang.Integer>, @NonNull String, @NonNull java.util.function.Consumer<android.service.ambientcontext.AmbientContextDetectionServiceStatus>);
21609    method @FlaggedApi("android.app.wearable.enable_provide_read_only_pfd") @BinderThread public void onReadOnlyParcelFileDescriptorProvided(@NonNull android.os.ParcelFileDescriptor, @NonNull android.os.PersistableBundle, @NonNull java.util.function.Consumer<java.lang.Integer>);
21610    method @FlaggedApi("android.app.wearable.enable_concurrent_wearable_connections") @BinderThread public void onSecureConnectionProvided(@NonNull android.os.ParcelFileDescriptor, @NonNull android.os.PersistableBundle, @NonNull java.util.function.Consumer<java.lang.Integer>);
21611    method @Deprecated @FlaggedApi("android.app.wearable.enable_concurrent_wearable_connections") @BinderThread public void onSecureConnectionProvided(@NonNull android.os.ParcelFileDescriptor, @NonNull java.util.function.Consumer<java.lang.Integer>);
21612    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>);
21613    method @FlaggedApi("android.app.wearable.enable_hotword_wearable_sensing_api") @BinderThread public void onStartHotwordRecognition(@NonNull java.util.function.Consumer<android.service.voice.HotwordAudioStream>, @NonNull java.util.function.Consumer<java.lang.Integer>);
21614    method public abstract void onStopDetection(@NonNull String);
21615    method @FlaggedApi("android.app.wearable.enable_hotword_wearable_sensing_api") @BinderThread public void onStopHotwordAudioStream();
21616    method @FlaggedApi("android.app.wearable.enable_hotword_wearable_sensing_api") @BinderThread public void onStopHotwordRecognition(@NonNull java.util.function.Consumer<java.lang.Integer>);
21617    method @FlaggedApi("android.app.wearable.enable_hotword_wearable_sensing_api") @BinderThread public void onValidatedByHotwordDetectionService();
21618    field public static final String SERVICE_INTERFACE = "android.service.wearable.WearableSensingService";
21619  }
21620
21621}
21622
21623package android.system.virtualmachine {
21624
21625  public class VirtualMachine implements java.lang.AutoCloseable {
21626    method public void clearCallback();
21627    method @WorkerThread public void close();
21628    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;
21629    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;
21630    method @NonNull @WorkerThread public android.system.virtualmachine.VirtualMachineConfig getConfig();
21631    method @NonNull @WorkerThread public java.io.InputStream getConsoleOutput() throws android.system.virtualmachine.VirtualMachineException;
21632    method @NonNull @WorkerThread public java.io.InputStream getLogOutput() throws android.system.virtualmachine.VirtualMachineException;
21633    method @NonNull public String getName();
21634    method @WorkerThread public int getStatus();
21635    method @RequiresPermission(android.system.virtualmachine.VirtualMachine.MANAGE_VIRTUAL_MACHINE_PERMISSION) @WorkerThread public void run() throws android.system.virtualmachine.VirtualMachineException;
21636    method public void setCallback(@NonNull java.util.concurrent.Executor, @NonNull android.system.virtualmachine.VirtualMachineCallback);
21637    method @NonNull @WorkerThread public android.system.virtualmachine.VirtualMachineConfig setConfig(@NonNull android.system.virtualmachine.VirtualMachineConfig) throws android.system.virtualmachine.VirtualMachineException;
21638    method @WorkerThread public void stop() throws android.system.virtualmachine.VirtualMachineException;
21639    method @NonNull @WorkerThread public android.system.virtualmachine.VirtualMachineDescriptor toDescriptor() throws android.system.virtualmachine.VirtualMachineException;
21640    field public static final String MANAGE_VIRTUAL_MACHINE_PERMISSION = "android.permission.MANAGE_VIRTUAL_MACHINE";
21641    field public static final long MAX_VSOCK_PORT = 4294967295L; // 0xffffffffL
21642    field public static final long MIN_VSOCK_PORT = 1024L; // 0x400L
21643    field public static final int STATUS_DELETED = 2; // 0x2
21644    field public static final int STATUS_RUNNING = 1; // 0x1
21645    field public static final int STATUS_STOPPED = 0; // 0x0
21646    field public static final String USE_CUSTOM_VIRTUAL_MACHINE_PERMISSION = "android.permission.USE_CUSTOM_VIRTUAL_MACHINE";
21647  }
21648
21649  public interface VirtualMachineCallback {
21650    method public void onError(@NonNull android.system.virtualmachine.VirtualMachine, int, @NonNull String);
21651    method public void onPayloadFinished(@NonNull android.system.virtualmachine.VirtualMachine, int);
21652    method public void onPayloadReady(@NonNull android.system.virtualmachine.VirtualMachine);
21653    method public void onPayloadStarted(@NonNull android.system.virtualmachine.VirtualMachine);
21654    method public void onStopped(@NonNull android.system.virtualmachine.VirtualMachine, int);
21655    field public static final int ERROR_PAYLOAD_CHANGED = 2; // 0x2
21656    field public static final int ERROR_PAYLOAD_INVALID_CONFIG = 3; // 0x3
21657    field public static final int ERROR_PAYLOAD_VERIFICATION_FAILED = 1; // 0x1
21658    field public static final int ERROR_UNKNOWN = 0; // 0x0
21659    field public static final int STOP_REASON_BOOTLOADER_INSTANCE_IMAGE_CHANGED = 10; // 0xa
21660    field public static final int STOP_REASON_BOOTLOADER_PUBLIC_KEY_MISMATCH = 9; // 0x9
21661    field public static final int STOP_REASON_CRASH = 6; // 0x6
21662    field public static final int STOP_REASON_HANGUP = 16; // 0x10
21663    field public static final int STOP_REASON_INFRASTRUCTURE_ERROR = 0; // 0x0
21664    field public static final int STOP_REASON_KILLED = 1; // 0x1
21665    field public static final int STOP_REASON_MICRODROID_FAILED_TO_CONNECT_TO_VIRTUALIZATION_SERVICE = 11; // 0xb
21666    field public static final int STOP_REASON_MICRODROID_INVALID_PAYLOAD_CONFIG = 14; // 0xe
21667    field public static final int STOP_REASON_MICRODROID_PAYLOAD_HAS_CHANGED = 12; // 0xc
21668    field public static final int STOP_REASON_MICRODROID_PAYLOAD_VERIFICATION_FAILED = 13; // 0xd
21669    field public static final int STOP_REASON_MICRODROID_UNKNOWN_RUNTIME_ERROR = 15; // 0xf
21670    field public static final int STOP_REASON_PVM_FIRMWARE_INSTANCE_IMAGE_CHANGED = 8; // 0x8
21671    field public static final int STOP_REASON_PVM_FIRMWARE_PUBLIC_KEY_MISMATCH = 7; // 0x7
21672    field public static final int STOP_REASON_REBOOT = 5; // 0x5
21673    field public static final int STOP_REASON_SHUTDOWN = 3; // 0x3
21674    field public static final int STOP_REASON_START_FAILED = 4; // 0x4
21675    field public static final int STOP_REASON_UNKNOWN = 2; // 0x2
21676    field public static final int STOP_REASON_VIRTUALIZATION_SERVICE_DIED = -1; // 0xffffffff
21677  }
21678
21679  public final class VirtualMachineConfig {
21680    method @Nullable public String getApkPath();
21681    method public int getCpuTopology();
21682    method public int getDebugLevel();
21683    method @IntRange(from=0) public long getEncryptedStorageBytes();
21684    method @IntRange(from=0) public long getMemoryBytes();
21685    method @Nullable public String getPayloadBinaryName();
21686    method public boolean isCompatibleWith(@NonNull android.system.virtualmachine.VirtualMachineConfig);
21687    method public boolean isEncryptedStorageEnabled();
21688    method public boolean isProtectedVm();
21689    method public boolean isVmOutputCaptured();
21690    field public static final int CPU_TOPOLOGY_MATCH_HOST = 1; // 0x1
21691    field public static final int CPU_TOPOLOGY_ONE_CPU = 0; // 0x0
21692    field public static final int DEBUG_LEVEL_FULL = 1; // 0x1
21693    field public static final int DEBUG_LEVEL_NONE = 0; // 0x0
21694  }
21695
21696  public static final class VirtualMachineConfig.Builder {
21697    ctor public VirtualMachineConfig.Builder(@NonNull android.content.Context);
21698    method @NonNull public android.system.virtualmachine.VirtualMachineConfig build();
21699    method @NonNull public android.system.virtualmachine.VirtualMachineConfig.Builder setApkPath(@NonNull String);
21700    method @NonNull public android.system.virtualmachine.VirtualMachineConfig.Builder setCpuTopology(int);
21701    method @NonNull public android.system.virtualmachine.VirtualMachineConfig.Builder setDebugLevel(int);
21702    method @NonNull public android.system.virtualmachine.VirtualMachineConfig.Builder setEncryptedStorageBytes(@IntRange(from=1) long);
21703    method @NonNull public android.system.virtualmachine.VirtualMachineConfig.Builder setMemoryBytes(@IntRange(from=1) long);
21704    method @NonNull public android.system.virtualmachine.VirtualMachineConfig.Builder setPayloadBinaryName(@NonNull String);
21705    method @NonNull public android.system.virtualmachine.VirtualMachineConfig.Builder setProtectedVm(boolean);
21706    method @NonNull public android.system.virtualmachine.VirtualMachineConfig.Builder setVmOutputCaptured(boolean);
21707  }
21708
21709  public final class VirtualMachineDescriptor implements java.lang.AutoCloseable android.os.Parcelable {
21710    method public void close();
21711    method public int describeContents();
21712    method public void writeToParcel(@NonNull android.os.Parcel, int);
21713    field @NonNull public static final android.os.Parcelable.Creator<android.system.virtualmachine.VirtualMachineDescriptor> CREATOR;
21714  }
21715
21716  public class VirtualMachineException extends java.lang.Exception {
21717  }
21718
21719  public class VirtualMachineManager {
21720    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;
21721    method @WorkerThread public void delete(@NonNull String) throws android.system.virtualmachine.VirtualMachineException;
21722    method @Nullable @WorkerThread public android.system.virtualmachine.VirtualMachine get(@NonNull String) throws android.system.virtualmachine.VirtualMachineException;
21723    method public int getCapabilities();
21724    method @NonNull @WorkerThread public android.system.virtualmachine.VirtualMachine getOrCreate(@NonNull String, @NonNull android.system.virtualmachine.VirtualMachineConfig) throws android.system.virtualmachine.VirtualMachineException;
21725    method @NonNull @WorkerThread public android.system.virtualmachine.VirtualMachine importFromDescriptor(@NonNull String, @NonNull android.system.virtualmachine.VirtualMachineDescriptor) throws android.system.virtualmachine.VirtualMachineException;
21726    field public static final int CAPABILITY_NON_PROTECTED_VM = 2; // 0x2
21727    field public static final int CAPABILITY_PROTECTED_VM = 1; // 0x1
21728  }
21729
21730}
21731
21732package android.telecom {
21733
21734  @Deprecated public class AudioState implements android.os.Parcelable {
21735    ctor @Deprecated public AudioState(android.telecom.AudioState);
21736    ctor @Deprecated public AudioState(android.telecom.CallAudioState);
21737    ctor @Deprecated public AudioState(boolean, int, int);
21738    method @Deprecated public static String audioRouteToString(int);
21739    method @Deprecated public int describeContents();
21740    method @Deprecated public int getRoute();
21741    method @Deprecated public int getSupportedRouteMask();
21742    method @Deprecated public boolean isMuted();
21743    method @Deprecated public void writeToParcel(android.os.Parcel, int);
21744    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.telecom.AudioState> CREATOR;
21745    field @Deprecated public static final int ROUTE_BLUETOOTH = 2; // 0x2
21746    field @Deprecated public static final int ROUTE_EARPIECE = 1; // 0x1
21747    field @Deprecated public static final int ROUTE_SPEAKER = 8; // 0x8
21748    field @Deprecated public static final int ROUTE_WIRED_HEADSET = 4; // 0x4
21749    field @Deprecated public static final int ROUTE_WIRED_OR_EARPIECE = 5; // 0x5
21750  }
21751
21752  public final class BluetoothCallQualityReport implements android.os.Parcelable {
21753    method public int describeContents();
21754    method @IntRange(from=0) public int getNegativeAcknowledgementCount();
21755    method @IntRange(from=0) public int getPacketsNotReceivedCount();
21756    method @IntRange(from=0) public int getRetransmittedPacketsCount();
21757    method @IntRange(from=0xffffff81, to=20) public int getRssiDbm();
21758    method public long getSentTimestampMillis();
21759    method public int getSnrDb();
21760    method public boolean isChoppyVoice();
21761    method public void writeToParcel(@NonNull android.os.Parcel, int);
21762    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.BluetoothCallQualityReport> CREATOR;
21763    field public static final String EVENT_BLUETOOTH_CALL_QUALITY_REPORT = "android.telecom.event.BLUETOOTH_CALL_QUALITY_REPORT";
21764    field public static final String EXTRA_BLUETOOTH_CALL_QUALITY_REPORT = "android.telecom.extra.BLUETOOTH_CALL_QUALITY_REPORT";
21765  }
21766
21767  public static final class BluetoothCallQualityReport.Builder {
21768    ctor public BluetoothCallQualityReport.Builder();
21769    method @NonNull public android.telecom.BluetoothCallQualityReport build();
21770    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setChoppyVoice(boolean);
21771    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setNegativeAcknowledgementCount(int);
21772    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setPacketsNotReceivedCount(int);
21773    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setRetransmittedPacketsCount(int);
21774    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setRssiDbm(int);
21775    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setSentTimestampMillis(long);
21776    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setSnrDb(int);
21777  }
21778
21779  public final class Call {
21780    method @Deprecated public void addListener(android.telecom.Call.Listener);
21781    method public void enterBackgroundAudioProcessing();
21782    method public void exitBackgroundAudioProcessing(boolean);
21783    method @Deprecated public void removeListener(android.telecom.Call.Listener);
21784    field @Deprecated public static final int STATE_PRE_DIAL_WAIT = 8; // 0x8
21785  }
21786
21787  @Deprecated public abstract static class Call.Listener extends android.telecom.Call.Callback {
21788    ctor @Deprecated public Call.Listener();
21789  }
21790
21791  public abstract class CallDiagnosticService extends android.app.Service {
21792    ctor public CallDiagnosticService();
21793    method @NonNull public java.util.concurrent.Executor getExecutor();
21794    method @Nullable public android.os.IBinder onBind(@NonNull android.content.Intent);
21795    method public abstract void onBluetoothCallQualityReportReceived(@NonNull android.telecom.BluetoothCallQualityReport);
21796    method public abstract void onCallAudioStateChanged(@NonNull android.telecom.CallAudioState);
21797    method @NonNull public abstract android.telecom.CallDiagnostics onInitializeCallDiagnostics(@NonNull android.telecom.Call.Details);
21798    method public abstract void onRemoveCallDiagnostics(@NonNull android.telecom.CallDiagnostics);
21799    field public static final String SERVICE_INTERFACE = "android.telecom.CallDiagnosticService";
21800  }
21801
21802  public abstract class CallDiagnostics {
21803    ctor public CallDiagnostics();
21804    method public final void clearDiagnosticMessage(int);
21805    method public final void displayDiagnosticMessage(int, @NonNull CharSequence);
21806    method public abstract void onCallDetailsChanged(@NonNull android.telecom.Call.Details);
21807    method @Nullable public abstract CharSequence onCallDisconnected(@NonNull android.telephony.ims.ImsReasonInfo);
21808    method @Nullable public abstract CharSequence onCallDisconnected(int, int);
21809    method public abstract void onCallQualityReceived(@NonNull android.telephony.CallQuality);
21810    method public abstract void onReceiveDeviceToDeviceMessage(int, int);
21811    method public final void sendDeviceToDeviceMessage(int, int);
21812    field public static final int BATTERY_STATE_CHARGING = 3; // 0x3
21813    field public static final int BATTERY_STATE_GOOD = 2; // 0x2
21814    field public static final int BATTERY_STATE_LOW = 1; // 0x1
21815    field public static final int COVERAGE_GOOD = 2; // 0x2
21816    field public static final int COVERAGE_POOR = 1; // 0x1
21817    field public static final int MESSAGE_CALL_AUDIO_CODEC = 2; // 0x2
21818    field public static final int MESSAGE_CALL_NETWORK_TYPE = 1; // 0x1
21819    field public static final int MESSAGE_DEVICE_BATTERY_STATE = 3; // 0x3
21820    field public static final int MESSAGE_DEVICE_NETWORK_COVERAGE = 4; // 0x4
21821  }
21822
21823  public static class CallScreeningService.CallResponse.Builder {
21824    method @NonNull @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_OUTPUT) public android.telecom.CallScreeningService.CallResponse.Builder setShouldScreenCallViaAudioProcessing(boolean);
21825  }
21826
21827  public abstract class CallStreamingService extends android.app.Service {
21828    ctor public CallStreamingService();
21829    method @Nullable public android.os.IBinder onBind(@NonNull android.content.Intent);
21830    method public void onCallStreamingStarted(@NonNull android.telecom.StreamingCall);
21831    method public void onCallStreamingStateChanged(int);
21832    method public void onCallStreamingStopped();
21833    field public static final String SERVICE_INTERFACE = "android.telecom.CallStreamingService";
21834    field public static final int STREAMING_FAILED_ALREADY_STREAMING = 1; // 0x1
21835    field public static final int STREAMING_FAILED_NO_SENDER = 2; // 0x2
21836    field public static final int STREAMING_FAILED_SENDER_BINDING_ERROR = 3; // 0x3
21837    field public static final int STREAMING_FAILED_UNKNOWN = 0; // 0x0
21838  }
21839
21840  public abstract class Conference extends android.telecom.Conferenceable {
21841    method @Deprecated public final android.telecom.AudioState getAudioState();
21842    method @Deprecated public final long getConnectTimeMillis();
21843    method public android.telecom.Connection getPrimaryConnection();
21844    method @NonNull public final String getTelecomCallId();
21845    method @Deprecated public void onAudioStateChanged(android.telecom.AudioState);
21846    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public final void setAddress(@NonNull android.net.Uri, int);
21847    method public final void setCallerDisplayName(@NonNull String, int);
21848    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setConferenceState(boolean);
21849    method @Deprecated public final void setConnectTimeMillis(long);
21850  }
21851
21852  public abstract class Connection extends android.telecom.Conferenceable {
21853    method @Deprecated public final android.telecom.AudioState getAudioState();
21854    method @FlaggedApi("com.android.server.telecom.flags.telecom_resolve_hidden_dependencies") public final int getCallDirection();
21855    method @IntRange(from=0) public final long getConnectTimeMillis();
21856    method public final long getConnectionStartElapsedRealtimeMillis();
21857    method @Nullable public android.telecom.PhoneAccountHandle getPhoneAccountHandle();
21858    method @Nullable public final String getTelecomCallId();
21859    method @Deprecated public void onAudioStateChanged(android.telecom.AudioState);
21860    method @RequiresPermission(android.Manifest.permission.READ_CONTACTS) public void onCallFilteringCompleted(@NonNull android.telecom.Connection.CallFilteringCompletionInfo);
21861    method public final void resetConnectionTime();
21862    method public void setCallDirection(int);
21863    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public final void setConnectTimeMillis(@IntRange(from=0) long);
21864    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public final void setConnectionStartElapsedRealtimeMillis(long);
21865    method public void setPhoneAccountHandle(@NonNull android.telecom.PhoneAccountHandle);
21866    method public void setTelecomCallId(@NonNull String);
21867    field public static final int CAPABILITY_CONFERENCE_HAS_NO_CHILDREN = 2097152; // 0x200000
21868    field public static final int CAPABILITY_SPEED_UP_MT_AUDIO = 262144; // 0x40000
21869    field @FlaggedApi("com.android.server.telecom.flags.telecom_resolve_hidden_dependencies") public static final String EVENT_CALL_QUALITY_REPORT = "android.telecom.event.CALL_QUALITY_REPORT";
21870    field public static final String EVENT_DEVICE_TO_DEVICE_MESSAGE = "android.telecom.event.DEVICE_TO_DEVICE_MESSAGE";
21871    field @FlaggedApi("com.android.server.telecom.flags.telecom_resolve_hidden_dependencies") public static final String EXTRA_CALL_QUALITY_REPORT = "android.telecom.extra.CALL_QUALITY_REPORT";
21872    field public static final String EXTRA_DEVICE_TO_DEVICE_MESSAGE_TYPE = "android.telecom.extra.DEVICE_TO_DEVICE_MESSAGE_TYPE";
21873    field public static final String EXTRA_DEVICE_TO_DEVICE_MESSAGE_VALUE = "android.telecom.extra.DEVICE_TO_DEVICE_MESSAGE_VALUE";
21874    field public static final String EXTRA_DISABLE_ADD_CALL = "android.telecom.extra.DISABLE_ADD_CALL";
21875    field public static final int PROPERTY_EMERGENCY_CALLBACK_MODE = 1; // 0x1
21876    field public static final int PROPERTY_GENERIC_CONFERENCE = 2; // 0x2
21877    field public static final int PROPERTY_IS_DOWNGRADED_CONFERENCE = 64; // 0x40
21878    field public static final int PROPERTY_REMOTELY_HOSTED = 2048; // 0x800
21879  }
21880
21881  public static final class Connection.CallFilteringCompletionInfo implements android.os.Parcelable {
21882    ctor public Connection.CallFilteringCompletionInfo(boolean, boolean, @Nullable android.telecom.CallScreeningService.CallResponse, @Nullable android.content.ComponentName);
21883    method public int describeContents();
21884    method @Nullable public android.telecom.CallScreeningService.CallResponse getCallResponse();
21885    method @Nullable public android.content.ComponentName getCallScreeningComponent();
21886    method public boolean isBlocked();
21887    method public boolean isInContacts();
21888    method public void writeToParcel(android.os.Parcel, int);
21889    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.Connection.CallFilteringCompletionInfo> CREATOR;
21890  }
21891
21892  public final class ConnectionRequest implements android.os.Parcelable {
21893    method @Nullable public String getTelecomCallId();
21894  }
21895
21896  public abstract class ConnectionService extends android.app.Service {
21897    method public final void addExistingConnection(@NonNull android.telecom.PhoneAccountHandle, @NonNull android.telecom.Connection, @NonNull android.telecom.Conference);
21898  }
21899
21900  public final class DisconnectCause implements android.os.Parcelable {
21901    method @FlaggedApi("com.android.server.telecom.flags.telecom_resolve_hidden_dependencies") @Nullable public android.telephony.ims.ImsReasonInfo getImsReasonInfo();
21902    method @FlaggedApi("com.android.server.telecom.flags.telecom_resolve_hidden_dependencies") public int getTelephonyDisconnectCause();
21903    method @FlaggedApi("com.android.server.telecom.flags.telecom_resolve_hidden_dependencies") public int getTelephonyPreciseDisconnectCause();
21904  }
21905
21906  @FlaggedApi("com.android.server.telecom.flags.telecom_resolve_hidden_dependencies") public static final class DisconnectCause.Builder {
21907    ctor public DisconnectCause.Builder(int);
21908    method @NonNull public android.telecom.DisconnectCause build();
21909    method @NonNull public android.telecom.DisconnectCause.Builder setDescription(@Nullable CharSequence);
21910    method @NonNull public android.telecom.DisconnectCause.Builder setImsReasonInfo(@Nullable android.telephony.ims.ImsReasonInfo);
21911    method @NonNull public android.telecom.DisconnectCause.Builder setLabel(@Nullable CharSequence);
21912    method @NonNull public android.telecom.DisconnectCause.Builder setReason(@NonNull String);
21913    method @NonNull public android.telecom.DisconnectCause.Builder setTelephonyDisconnectCause(int);
21914    method @NonNull public android.telecom.DisconnectCause.Builder setTelephonyPreciseDisconnectCause(int);
21915    method @NonNull public android.telecom.DisconnectCause.Builder setTone(int);
21916  }
21917
21918  public abstract class InCallService extends android.app.Service {
21919    method @Deprecated public android.telecom.Phone getPhone();
21920    method @Deprecated public void onPhoneCreated(android.telecom.Phone);
21921    method @Deprecated public void onPhoneDestroyed(android.telecom.Phone);
21922  }
21923
21924  public class ParcelableCallAnalytics implements android.os.Parcelable {
21925    ctor public ParcelableCallAnalytics(android.os.Parcel);
21926    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>);
21927    method public java.util.List<android.telecom.ParcelableCallAnalytics.AnalyticsEvent> analyticsEvents();
21928    method public int describeContents();
21929    method public long getCallDurationMillis();
21930    method public int getCallTechnologies();
21931    method public int getCallTerminationCode();
21932    method public int getCallType();
21933    method public String getConnectionService();
21934    method public java.util.List<android.telecom.ParcelableCallAnalytics.EventTiming> getEventTimings();
21935    method public long getStartTimeMillis();
21936    method public boolean isAdditionalCall();
21937    method public boolean isCreatedFromExistingConnection();
21938    method public boolean isEmergencyCall();
21939    method public boolean isInterrupted();
21940    method public void writeToParcel(android.os.Parcel, int);
21941    field public static final int CALLTYPE_INCOMING = 1; // 0x1
21942    field public static final int CALLTYPE_OUTGOING = 2; // 0x2
21943    field public static final int CALLTYPE_UNKNOWN = 0; // 0x0
21944    field @Deprecated @FlaggedApi("com.android.internal.telephony.flags.deprecate_cdma") public static final int CDMA_PHONE = 1; // 0x1
21945    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.ParcelableCallAnalytics> CREATOR;
21946    field public static final int GSM_PHONE = 2; // 0x2
21947    field public static final int IMS_PHONE = 4; // 0x4
21948    field public static final long MILLIS_IN_1_SECOND = 1000L; // 0x3e8L
21949    field public static final long MILLIS_IN_5_MINUTES = 300000L; // 0x493e0L
21950    field public static final int SIP_PHONE = 8; // 0x8
21951    field public static final int STILL_CONNECTED = -1; // 0xffffffff
21952    field public static final int THIRD_PARTY_PHONE = 16; // 0x10
21953  }
21954
21955  public static final class ParcelableCallAnalytics.AnalyticsEvent implements android.os.Parcelable {
21956    ctor public ParcelableCallAnalytics.AnalyticsEvent(int, long);
21957    method public int describeContents();
21958    method public int getEventName();
21959    method public long getTimeSinceLastEvent();
21960    method public void writeToParcel(android.os.Parcel, int);
21961    field public static final int AUDIO_ROUTE_BT = 204; // 0xcc
21962    field public static final int AUDIO_ROUTE_EARPIECE = 205; // 0xcd
21963    field public static final int AUDIO_ROUTE_HEADSET = 206; // 0xce
21964    field public static final int AUDIO_ROUTE_SPEAKER = 207; // 0xcf
21965    field public static final int BIND_CS = 5; // 0x5
21966    field public static final int BLOCK_CHECK_FINISHED = 105; // 0x69
21967    field public static final int BLOCK_CHECK_INITIATED = 104; // 0x68
21968    field public static final int CONFERENCE_WITH = 300; // 0x12c
21969    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.ParcelableCallAnalytics.AnalyticsEvent> CREATOR;
21970    field public static final int CS_BOUND = 6; // 0x6
21971    field public static final int DIRECT_TO_VM_FINISHED = 103; // 0x67
21972    field public static final int DIRECT_TO_VM_INITIATED = 102; // 0x66
21973    field public static final int DND_CHECK_COMPLETED = 110; // 0x6e
21974    field public static final int DND_CHECK_INITIATED = 109; // 0x6d
21975    field public static final int FILTERING_COMPLETED = 107; // 0x6b
21976    field public static final int FILTERING_INITIATED = 106; // 0x6a
21977    field public static final int FILTERING_TIMED_OUT = 108; // 0x6c
21978    field public static final int MUTE = 202; // 0xca
21979    field public static final int REMOTELY_HELD = 402; // 0x192
21980    field public static final int REMOTELY_UNHELD = 403; // 0x193
21981    field public static final int REQUEST_ACCEPT = 7; // 0x7
21982    field public static final int REQUEST_HOLD = 400; // 0x190
21983    field public static final int REQUEST_PULL = 500; // 0x1f4
21984    field public static final int REQUEST_REJECT = 8; // 0x8
21985    field public static final int REQUEST_UNHOLD = 401; // 0x191
21986    field public static final int SCREENING_COMPLETED = 101; // 0x65
21987    field public static final int SCREENING_SENT = 100; // 0x64
21988    field public static final int SET_ACTIVE = 1; // 0x1
21989    field public static final int SET_DIALING = 4; // 0x4
21990    field public static final int SET_DISCONNECTED = 2; // 0x2
21991    field public static final int SET_HOLD = 404; // 0x194
21992    field public static final int SET_PARENT = 302; // 0x12e
21993    field public static final int SET_SELECT_PHONE_ACCOUNT = 0; // 0x0
21994    field public static final int SILENCE = 201; // 0xc9
21995    field public static final int SKIP_RINGING = 200; // 0xc8
21996    field public static final int SPLIT_CONFERENCE = 301; // 0x12d
21997    field public static final int START_CONNECTION = 3; // 0x3
21998    field public static final int SWAP = 405; // 0x195
21999    field public static final int UNMUTE = 203; // 0xcb
22000  }
22001
22002  public static final class ParcelableCallAnalytics.EventTiming implements android.os.Parcelable {
22003    ctor public ParcelableCallAnalytics.EventTiming(int, long);
22004    method public int describeContents();
22005    method public int getName();
22006    method public long getTime();
22007    method public void writeToParcel(android.os.Parcel, int);
22008    field public static final int ACCEPT_TIMING = 0; // 0x0
22009    field public static final int BIND_CS_TIMING = 6; // 0x6
22010    field public static final int BLOCK_CHECK_FINISHED_TIMING = 9; // 0x9
22011    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.ParcelableCallAnalytics.EventTiming> CREATOR;
22012    field public static final int DIRECT_TO_VM_FINISHED_TIMING = 8; // 0x8
22013    field public static final int DISCONNECT_TIMING = 2; // 0x2
22014    field public static final int DND_PRE_CALL_PRE_CHECK_TIMING = 12; // 0xc
22015    field public static final int FILTERING_COMPLETED_TIMING = 10; // 0xa
22016    field public static final int FILTERING_TIMED_OUT_TIMING = 11; // 0xb
22017    field public static final int HOLD_TIMING = 3; // 0x3
22018    field public static final int INVALID = 999999; // 0xf423f
22019    field public static final int OUTGOING_TIME_TO_DIALING_TIMING = 5; // 0x5
22020    field public static final int REJECT_TIMING = 1; // 0x1
22021    field public static final int SCREENING_COMPLETED_TIMING = 7; // 0x7
22022    field public static final int UNHOLD_TIMING = 4; // 0x4
22023  }
22024
22025  @Deprecated public final class Phone {
22026    method @Deprecated public void addListener(android.telecom.Phone.Listener);
22027    method @Deprecated public boolean canAddCall();
22028    method @Deprecated public android.telecom.AudioState getAudioState();
22029    method @Deprecated public android.telecom.CallAudioState getCallAudioState();
22030    method @Deprecated public java.util.List<android.telecom.Call> getCalls();
22031    method @Deprecated public void removeListener(android.telecom.Phone.Listener);
22032    method @Deprecated public void requestBluetoothAudio(String);
22033    method @Deprecated public void setAudioRoute(int);
22034    method @Deprecated public void setMuted(boolean);
22035  }
22036
22037  @Deprecated public abstract static class Phone.Listener {
22038    ctor @Deprecated public Phone.Listener();
22039    method @Deprecated public void onAudioStateChanged(android.telecom.Phone, android.telecom.AudioState);
22040    method @Deprecated public void onBringToForeground(android.telecom.Phone, boolean);
22041    method @Deprecated public void onCallAdded(android.telecom.Phone, android.telecom.Call);
22042    method @Deprecated public void onCallAudioStateChanged(android.telecom.Phone, android.telecom.CallAudioState);
22043    method @Deprecated public void onCallRemoved(android.telecom.Phone, android.telecom.Call);
22044    method @Deprecated public void onCanAddCallChanged(android.telecom.Phone, boolean);
22045    method @Deprecated public void onSilenceRinger(android.telecom.Phone);
22046  }
22047
22048  public final class PhoneAccount implements android.os.Parcelable {
22049    field public static final int CAPABILITY_EMERGENCY_CALLS_ONLY = 128; // 0x80
22050    field public static final int CAPABILITY_EMERGENCY_PREFERRED = 8192; // 0x2000
22051    field public static final int CAPABILITY_EMERGENCY_VIDEO_CALLING = 512; // 0x200
22052    field public static final int CAPABILITY_MULTI_USER = 32; // 0x20
22053    field @Deprecated @FlaggedApi("com.android.server.telecom.flags.telecom_resolve_hidden_dependencies") public static final String EXTRA_PLAY_CALL_RECORDING_TONE = "android.telecom.extra.PLAY_CALL_RECORDING_TONE";
22054    field @FlaggedApi("com.android.server.telecom.flags.telecom_resolve_hidden_dependencies") public static final String EXTRA_SKIP_CALL_FILTERING = "android.telecom.extra.SKIP_CALL_FILTERING";
22055    field public static final String EXTRA_SORT_ORDER = "android.telecom.extra.SORT_ORDER";
22056  }
22057
22058  public static class PhoneAccount.Builder {
22059    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telecom.PhoneAccount.Builder setGroupId(@NonNull String);
22060  }
22061
22062  public class PhoneAccountSuggestionService extends android.app.Service {
22063    ctor public PhoneAccountSuggestionService();
22064    method public void onAccountSuggestionRequest(@NonNull String);
22065    method public android.os.IBinder onBind(android.content.Intent);
22066    method public final void suggestPhoneAccounts(@NonNull String, @NonNull java.util.List<android.telecom.PhoneAccountSuggestion>);
22067    field public static final String SERVICE_INTERFACE = "android.telecom.PhoneAccountSuggestionService";
22068  }
22069
22070  public final class RemoteConference {
22071    method @Deprecated public void setAudioState(android.telecom.AudioState);
22072  }
22073
22074  public final class RemoteConnection {
22075    method @RequiresPermission(android.Manifest.permission.READ_CONTACTS) public void onCallFilteringCompleted(@NonNull android.telecom.Connection.CallFilteringCompletionInfo);
22076    method @Deprecated public void setAudioState(android.telecom.AudioState);
22077  }
22078
22079  public final class StatusHints implements android.os.Parcelable {
22080    ctor @Deprecated public StatusHints(android.content.ComponentName, CharSequence, int, android.os.Bundle);
22081    method @Deprecated public android.graphics.drawable.Drawable getIcon(android.content.Context);
22082    method @Deprecated public int getIconResId();
22083    method @Deprecated public android.content.ComponentName getPackageName();
22084  }
22085
22086  public final class StreamingCall implements android.os.Parcelable {
22087    ctor public StreamingCall(@NonNull android.content.ComponentName, @NonNull CharSequence, @NonNull android.net.Uri, @NonNull android.os.Bundle);
22088    method public int describeContents();
22089    method @NonNull public android.net.Uri getAddress();
22090    method @NonNull public android.content.ComponentName getComponentName();
22091    method @NonNull public CharSequence getDisplayName();
22092    method @NonNull public android.os.Bundle getExtras();
22093    method public int getState();
22094    method public void requestStreamingState(int);
22095    method public void writeToParcel(@NonNull android.os.Parcel, int);
22096    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.StreamingCall> CREATOR;
22097    field @FlaggedApi("com.android.server.telecom.flags.call_details_id_changes") public static final String EXTRA_CALL_ID = "android.telecom.extra.CALL_ID";
22098    field public static final int STATE_DISCONNECTED = 3; // 0x3
22099    field public static final int STATE_HOLDING = 2; // 0x2
22100    field public static final int STATE_STREAMING = 1; // 0x1
22101  }
22102
22103  public final class TelecomAnalytics implements android.os.Parcelable {
22104    ctor public TelecomAnalytics(java.util.List<android.telecom.TelecomAnalytics.SessionTiming>, java.util.List<android.telecom.ParcelableCallAnalytics>);
22105    method public int describeContents();
22106    method public java.util.List<android.telecom.ParcelableCallAnalytics> getCallAnalytics();
22107    method public java.util.List<android.telecom.TelecomAnalytics.SessionTiming> getSessionTimings();
22108    method public void writeToParcel(android.os.Parcel, int);
22109    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.TelecomAnalytics> CREATOR;
22110  }
22111
22112  public static final class TelecomAnalytics.SessionTiming implements android.os.Parcelable {
22113    ctor public TelecomAnalytics.SessionTiming(int, long);
22114    method public int describeContents();
22115    method public Integer getKey();
22116    method public long getTime();
22117    method public void writeToParcel(android.os.Parcel, int);
22118    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.TelecomAnalytics.SessionTiming> CREATOR;
22119    field public static final int CSW_ADD_CONFERENCE_CALL = 108; // 0x6c
22120    field public static final int CSW_HANDLE_CREATE_CONNECTION_COMPLETE = 100; // 0x64
22121    field public static final int CSW_REMOVE_CALL = 106; // 0x6a
22122    field public static final int CSW_SET_ACTIVE = 101; // 0x65
22123    field public static final int CSW_SET_DIALING = 103; // 0x67
22124    field public static final int CSW_SET_DISCONNECTED = 104; // 0x68
22125    field public static final int CSW_SET_IS_CONFERENCED = 107; // 0x6b
22126    field public static final int CSW_SET_ON_HOLD = 105; // 0x69
22127    field public static final int CSW_SET_RINGING = 102; // 0x66
22128    field public static final int ICA_ANSWER_CALL = 1; // 0x1
22129    field public static final int ICA_CONFERENCE = 8; // 0x8
22130    field public static final int ICA_DISCONNECT_CALL = 3; // 0x3
22131    field public static final int ICA_HOLD_CALL = 4; // 0x4
22132    field public static final int ICA_MUTE = 6; // 0x6
22133    field public static final int ICA_REJECT_CALL = 2; // 0x2
22134    field public static final int ICA_SET_AUDIO_ROUTE = 7; // 0x7
22135    field public static final int ICA_UNHOLD_CALL = 5; // 0x5
22136  }
22137
22138  public class TelecomManager {
22139    method public void addNewUnknownCall(android.telecom.PhoneAccountHandle, android.os.Bundle);
22140    method @Deprecated public void clearAccounts();
22141    method public void clearPhoneAccounts();
22142    method @NonNull public android.content.Intent createLaunchEmergencyDialerIntent(@Nullable String);
22143    method @RequiresPermission(android.Manifest.permission.DUMP) public android.telecom.TelecomAnalytics dumpAnalytics();
22144    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void enablePhoneAccount(android.telecom.PhoneAccountHandle, boolean);
22145    method public java.util.List<android.telecom.PhoneAccountHandle> getAllPhoneAccountHandles();
22146    method public java.util.List<android.telecom.PhoneAccount> getAllPhoneAccounts();
22147    method public int getAllPhoneAccountsCount();
22148    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<android.telecom.PhoneAccountHandle> getCallCapablePhoneAccounts(boolean);
22149    method @FlaggedApi("com.android.internal.telephony.flags.work_profile_api_split") @NonNull @RequiresPermission(allOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.INTERACT_ACROSS_PROFILES}) public java.util.List<android.telecom.PhoneAccountHandle> getCallCapablePhoneAccountsAcrossProfiles(boolean);
22150    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}, conditional=true) public int getCallState();
22151    method public android.telecom.PhoneAccountHandle getConnectionManager();
22152    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getCurrentTtyMode();
22153    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getDefaultDialerPackage(@NonNull android.os.UserHandle);
22154    method @Deprecated public android.content.ComponentName getDefaultPhoneApp();
22155    method @Deprecated public java.util.List<android.telecom.PhoneAccountHandle> getPhoneAccountsForPackage();
22156    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);
22157    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean isInEmergencyCall();
22158    method @FlaggedApi("com.android.server.telecom.flags.telecom_resolve_hidden_dependencies") @RequiresPermission(allOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional=true) public boolean isInSelfManagedCall(@NonNull String, @NonNull android.os.UserHandle);
22159    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isRinging();
22160    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setUserSelectedOutgoingPhoneAccount(@Nullable android.telecom.PhoneAccountHandle);
22161    field public static final String ACTION_CURRENT_TTY_MODE_CHANGED = "android.telecom.action.CURRENT_TTY_MODE_CHANGED";
22162    field public static final String ACTION_TTY_PREFERRED_MODE_CHANGED = "android.telecom.action.TTY_PREFERRED_MODE_CHANGED";
22163    field public static final int CALL_SOURCE_EMERGENCY_DIALPAD = 1; // 0x1
22164    field public static final int CALL_SOURCE_EMERGENCY_SHORTCUT = 2; // 0x2
22165    field public static final int CALL_SOURCE_UNSPECIFIED = 0; // 0x0
22166    field public static final String EXTRA_CALL_BACK_INTENT = "android.telecom.extra.CALL_BACK_INTENT";
22167    field public static final String EXTRA_CALL_HAS_IN_BAND_RINGTONE = "android.telecom.extra.CALL_HAS_IN_BAND_RINGTONE";
22168    field public static final String EXTRA_CALL_SOURCE = "android.telecom.extra.CALL_SOURCE";
22169    field public static final String EXTRA_CALL_TECHNOLOGY_TYPE = "android.telecom.extra.CALL_TECHNOLOGY_TYPE";
22170    field @Deprecated public static final String EXTRA_CLEAR_MISSED_CALLS_INTENT = "android.telecom.extra.CLEAR_MISSED_CALLS_INTENT";
22171    field public static final String EXTRA_CONNECTION_SERVICE = "android.telecom.extra.CONNECTION_SERVICE";
22172    field public static final String EXTRA_CURRENT_TTY_MODE = "android.telecom.extra.CURRENT_TTY_MODE";
22173    field public static final String EXTRA_IS_USER_INTENT_EMERGENCY_CALL = "android.telecom.extra.IS_USER_INTENT_EMERGENCY_CALL";
22174    field public static final String EXTRA_TTY_PREFERRED_MODE = "android.telecom.extra.TTY_PREFERRED_MODE";
22175    field public static final String EXTRA_UNKNOWN_CALL_HANDLE = "android.telecom.extra.UNKNOWN_CALL_HANDLE";
22176    field public static final int TTY_MODE_FULL = 1; // 0x1
22177    field public static final int TTY_MODE_HCO = 2; // 0x2
22178    field public static final int TTY_MODE_OFF = 0; // 0x0
22179    field public static final int TTY_MODE_VCO = 3; // 0x3
22180  }
22181
22182}
22183
22184package android.telephony {
22185
22186  public final class AccessNetworkConstants {
22187    field public static final int TRANSPORT_TYPE_INVALID = -1; // 0xffffffff
22188  }
22189
22190  public static final class AccessNetworkConstants.NgranBands {
22191    method public static int getFrequencyRangeGroup(int);
22192    field public static final int FREQUENCY_RANGE_GROUP_1 = 1; // 0x1
22193    field public static final int FREQUENCY_RANGE_GROUP_2 = 2; // 0x2
22194    field public static final int FREQUENCY_RANGE_GROUP_UNKNOWN = 0; // 0x0
22195  }
22196
22197  public final class BarringInfo implements android.os.Parcelable {
22198    ctor public BarringInfo();
22199    method @NonNull public android.telephony.BarringInfo createLocationInfoSanitizedCopy();
22200  }
22201
22202  @Deprecated public final class CallAttributes implements android.os.Parcelable {
22203    ctor @Deprecated public CallAttributes(@NonNull android.telephony.PreciseCallState, int, @NonNull android.telephony.CallQuality);
22204    method @Deprecated public int describeContents();
22205    method @Deprecated @NonNull public android.telephony.CallQuality getCallQuality();
22206    method @Deprecated public int getNetworkType();
22207    method @Deprecated @NonNull public android.telephony.PreciseCallState getPreciseCallState();
22208    method @Deprecated public void writeToParcel(android.os.Parcel, int);
22209    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.telephony.CallAttributes> CREATOR;
22210  }
22211
22212  public final class CallForwardingInfo implements android.os.Parcelable {
22213    ctor public CallForwardingInfo(boolean, int, @Nullable String, int);
22214    method public int describeContents();
22215    method @Nullable public String getNumber();
22216    method public int getReason();
22217    method public int getTimeoutSeconds();
22218    method public boolean isEnabled();
22219    method public void writeToParcel(android.os.Parcel, int);
22220    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CallForwardingInfo> CREATOR;
22221    field public static final int REASON_ALL = 4; // 0x4
22222    field public static final int REASON_ALL_CONDITIONAL = 5; // 0x5
22223    field public static final int REASON_BUSY = 1; // 0x1
22224    field public static final int REASON_NOT_REACHABLE = 3; // 0x3
22225    field public static final int REASON_NO_REPLY = 2; // 0x2
22226    field public static final int REASON_UNCONDITIONAL = 0; // 0x0
22227  }
22228
22229  public final class CallQuality implements android.os.Parcelable {
22230    ctor public CallQuality(int, int, int, int, int, int, int, int, int, int, int);
22231    ctor public CallQuality(int, int, int, int, int, int, int, int, int, int, int, boolean, boolean, boolean);
22232    method public int describeContents();
22233    method public int getAverageRelativeJitter();
22234    method public int getAverageRoundTripTime();
22235    method public int getCallDuration();
22236    method public int getCodecType();
22237    method public int getDownlinkCallQualityLevel();
22238    method public long getMaxPlayoutDelayMillis();
22239    method public int getMaxRelativeJitter();
22240    method public long getMinPlayoutDelayMillis();
22241    method public int getNumDroppedRtpPackets();
22242    method public int getNumNoDataFrames();
22243    method public int getNumRtpDuplicatePackets();
22244    method public int getNumRtpPacketsNotReceived();
22245    method public int getNumRtpPacketsReceived();
22246    method public int getNumRtpPacketsTransmitted();
22247    method public int getNumRtpPacketsTransmittedLost();
22248    method public int getNumRtpSidPacketsReceived();
22249    method public int getNumVoiceFrames();
22250    method public int getUplinkCallQualityLevel();
22251    method public boolean isIncomingSilenceDetectedAtCallSetup();
22252    method public boolean isOutgoingSilenceDetectedAtCallSetup();
22253    method public boolean isRtpInactivityDetected();
22254    method public void writeToParcel(android.os.Parcel, int);
22255    field public static final int CALL_QUALITY_BAD = 4; // 0x4
22256    field public static final int CALL_QUALITY_EXCELLENT = 0; // 0x0
22257    field public static final int CALL_QUALITY_FAIR = 2; // 0x2
22258    field public static final int CALL_QUALITY_GOOD = 1; // 0x1
22259    field public static final int CALL_QUALITY_NOT_AVAILABLE = 5; // 0x5
22260    field public static final int CALL_QUALITY_POOR = 3; // 0x3
22261    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CallQuality> CREATOR;
22262  }
22263
22264  public static final class CallQuality.Builder {
22265    ctor public CallQuality.Builder();
22266    method @NonNull public android.telephony.CallQuality build();
22267    method @NonNull public android.telephony.CallQuality.Builder setAverageRelativeJitter(int);
22268    method @NonNull public android.telephony.CallQuality.Builder setAverageRoundTripTimeMillis(int);
22269    method @NonNull public android.telephony.CallQuality.Builder setCallDurationMillis(int);
22270    method @NonNull public android.telephony.CallQuality.Builder setCodecType(int);
22271    method @NonNull public android.telephony.CallQuality.Builder setDownlinkCallQualityLevel(int);
22272    method @NonNull public android.telephony.CallQuality.Builder setIncomingSilenceDetectedAtCallSetup(boolean);
22273    method @NonNull public android.telephony.CallQuality.Builder setMaxPlayoutDelayMillis(long);
22274    method @NonNull public android.telephony.CallQuality.Builder setMaxRelativeJitter(int);
22275    method @NonNull public android.telephony.CallQuality.Builder setMinPlayoutDelayMillis(long);
22276    method @NonNull public android.telephony.CallQuality.Builder setNumDroppedRtpPackets(int);
22277    method @NonNull public android.telephony.CallQuality.Builder setNumNoDataFrames(int);
22278    method @NonNull public android.telephony.CallQuality.Builder setNumRtpDuplicatePackets(int);
22279    method @NonNull public android.telephony.CallQuality.Builder setNumRtpPacketsNotReceived(int);
22280    method @NonNull public android.telephony.CallQuality.Builder setNumRtpPacketsReceived(int);
22281    method @NonNull public android.telephony.CallQuality.Builder setNumRtpPacketsTransmitted(int);
22282    method @NonNull public android.telephony.CallQuality.Builder setNumRtpPacketsTransmittedLost(int);
22283    method @NonNull public android.telephony.CallQuality.Builder setNumRtpSidPacketsReceived(int);
22284    method @NonNull public android.telephony.CallQuality.Builder setNumVoiceFrames(int);
22285    method @NonNull public android.telephony.CallQuality.Builder setOutgoingSilenceDetectedAtCallSetup(boolean);
22286    method @NonNull public android.telephony.CallQuality.Builder setRtpInactivityDetected(boolean);
22287    method @NonNull public android.telephony.CallQuality.Builder setUplinkCallQualityLevel(int);
22288  }
22289
22290  public final class CallState implements android.os.Parcelable {
22291    method public int describeContents();
22292    method @Nullable public android.telephony.CallQuality getCallQuality();
22293    method public int getCallState();
22294    method public int getImsCallServiceType();
22295    method @Nullable public String getImsCallSessionId();
22296    method public int getImsCallType();
22297    method public int getNetworkType();
22298    method public void writeToParcel(@Nullable android.os.Parcel, int);
22299    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CallState> CREATOR;
22300  }
22301
22302  public static final class CallState.Builder {
22303    ctor public CallState.Builder(int);
22304    method @NonNull public android.telephony.CallState build();
22305    method @NonNull public android.telephony.CallState.Builder setCallQuality(@Nullable android.telephony.CallQuality);
22306    method @NonNull public android.telephony.CallState.Builder setImsCallServiceType(int);
22307    method @NonNull public android.telephony.CallState.Builder setImsCallSessionId(@Nullable String);
22308    method @NonNull public android.telephony.CallState.Builder setImsCallType(int);
22309    method @NonNull public android.telephony.CallState.Builder setNetworkType(int);
22310  }
22311
22312  public class CarrierConfigManager {
22313    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getDefaultCarrierServicePackageName();
22314    method @NonNull public static android.os.PersistableBundle getDefaultConfig();
22315    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void overrideConfig(int, @Nullable android.os.PersistableBundle);
22316    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void updateConfigForPhoneId(int, String);
22317    field public static final int GBA_DIGEST = 3; // 0x3
22318    field public static final int GBA_ME = 1; // 0x1
22319    field public static final int GBA_U = 2; // 0x2
22320    field public static final String KEY_CARRIER_SETUP_APP_STRING = "carrier_setup_app_string";
22321    field public static final String KEY_GBA_MODE_INT = "gba_mode_int";
22322    field public static final String KEY_GBA_UA_SECURITY_ORGANIZATION_INT = "gba_ua_security_organization_int";
22323    field public static final String KEY_GBA_UA_SECURITY_PROTOCOL_INT = "gba_ua_security_protocol_int";
22324    field public static final String KEY_GBA_UA_TLS_CIPHER_SUITE_INT = "gba_ua_tls_cipher_suite_int";
22325    field @Deprecated @FlaggedApi("com.android.internal.telephony.flags.deprecate_cdma") public static final String KEY_SUPPORT_CDMA_1X_VOICE_CALLS_BOOL = "support_cdma_1x_voice_calls_bool";
22326  }
22327
22328  public static final class CarrierConfigManager.Wifi {
22329    field public static final String KEY_AVOID_5GHZ_SOFTAP_FOR_LAA_BOOL = "wifi.avoid_5ghz_softap_for_laa_bool";
22330    field public static final String KEY_AVOID_5GHZ_WIFI_DIRECT_FOR_LAA_BOOL = "wifi.avoid_5ghz_wifi_direct_for_laa_bool";
22331    field public static final String KEY_HOTSPOT_MAX_CLIENT_COUNT = "wifi.hotspot_maximum_client_count";
22332    field public static final String KEY_PREFIX = "wifi.";
22333    field public static final String KEY_SUGGESTION_SSID_LIST_WITH_MAC_RANDOMIZATION_DISABLED = "wifi.suggestion_ssid_list_with_mac_randomization_disabled";
22334  }
22335
22336  public final class CarrierRestrictionRules implements android.os.Parcelable {
22337    method @NonNull public java.util.List<java.lang.Boolean> areCarrierIdentifiersAllowed(@NonNull java.util.List<android.service.carrier.CarrierIdentifier>);
22338    method public int describeContents();
22339    method @NonNull public java.util.List<android.service.carrier.CarrierIdentifier> getAllowedCarriers();
22340    method @FlaggedApi("com.android.internal.telephony.flags.carrier_restriction_status") public int getCarrierRestrictionStatus();
22341    method public int getDefaultCarrierRestriction();
22342    method @NonNull public java.util.List<android.service.carrier.CarrierIdentifier> getExcludedCarriers();
22343    method public int getMultiSimPolicy();
22344    method public boolean isAllCarriersAllowed();
22345    method public void writeToParcel(android.os.Parcel, int);
22346    field public static final int CARRIER_RESTRICTION_DEFAULT_ALLOWED = 1; // 0x1
22347    field public static final int CARRIER_RESTRICTION_DEFAULT_NOT_ALLOWED = 0; // 0x0
22348    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CarrierRestrictionRules> CREATOR;
22349    field public static final int MULTISIM_POLICY_NONE = 0; // 0x0
22350    field public static final int MULTISIM_POLICY_ONE_VALID_SIM_MUST_BE_PRESENT = 1; // 0x1
22351  }
22352
22353  public static final class CarrierRestrictionRules.Builder {
22354    ctor public CarrierRestrictionRules.Builder();
22355    method @NonNull public android.telephony.CarrierRestrictionRules build();
22356    method @NonNull public android.telephony.CarrierRestrictionRules.Builder setAllCarriersAllowed();
22357    method @NonNull public android.telephony.CarrierRestrictionRules.Builder setAllowedCarriers(@NonNull java.util.List<android.service.carrier.CarrierIdentifier>);
22358    method @FlaggedApi("com.android.internal.telephony.flags.set_carrier_restriction_status") @NonNull public android.telephony.CarrierRestrictionRules.Builder setCarrierRestrictionStatus(int);
22359    method @NonNull public android.telephony.CarrierRestrictionRules.Builder setDefaultCarrierRestriction(int);
22360    method @NonNull public android.telephony.CarrierRestrictionRules.Builder setExcludedCarriers(@NonNull java.util.List<android.service.carrier.CarrierIdentifier>);
22361    method @NonNull public android.telephony.CarrierRestrictionRules.Builder setMultiSimPolicy(int);
22362  }
22363
22364  public class CbGeoUtils {
22365  }
22366
22367  public static class CbGeoUtils.Circle implements android.telephony.CbGeoUtils.Geometry {
22368    ctor public CbGeoUtils.Circle(@NonNull android.telephony.CbGeoUtils.LatLng, double);
22369    method public boolean contains(@NonNull android.telephony.CbGeoUtils.LatLng);
22370    method @NonNull public android.telephony.CbGeoUtils.LatLng getCenter();
22371    method public double getRadius();
22372  }
22373
22374  public static interface CbGeoUtils.Geometry {
22375    method public boolean contains(@NonNull android.telephony.CbGeoUtils.LatLng);
22376  }
22377
22378  public static class CbGeoUtils.LatLng {
22379    ctor public CbGeoUtils.LatLng(double, double);
22380    method public double distance(@NonNull android.telephony.CbGeoUtils.LatLng);
22381    method @NonNull public android.telephony.CbGeoUtils.LatLng subtract(@NonNull android.telephony.CbGeoUtils.LatLng);
22382    field public final double lat;
22383    field public final double lng;
22384  }
22385
22386  public static class CbGeoUtils.Polygon implements android.telephony.CbGeoUtils.Geometry {
22387    ctor public CbGeoUtils.Polygon(@NonNull java.util.List<android.telephony.CbGeoUtils.LatLng>);
22388    method public boolean contains(@NonNull android.telephony.CbGeoUtils.LatLng);
22389    method @NonNull public java.util.List<android.telephony.CbGeoUtils.LatLng> getVertices();
22390  }
22391
22392  public final class CellBroadcastIdRange implements android.os.Parcelable {
22393    ctor public CellBroadcastIdRange(@IntRange(from=0, to=65535) int, @IntRange(from=0, to=65535) int, int, boolean) throws java.lang.IllegalArgumentException;
22394    method public int describeContents();
22395    method @IntRange(from=0, to=65535) public int getEndId();
22396    method @IntRange(from=0, to=65535) public int getStartId();
22397    method public int getType();
22398    method public boolean isEnabled();
22399    method public void writeToParcel(@NonNull android.os.Parcel, int);
22400    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellBroadcastIdRange> CREATOR;
22401  }
22402
22403  public class CellBroadcastIntents {
22404    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);
22405    field public static final String ACTION_AREA_INFO_UPDATED = "android.telephony.action.AREA_INFO_UPDATED";
22406  }
22407
22408  public abstract class CellBroadcastService extends android.app.Service {
22409    ctor public CellBroadcastService();
22410    method @NonNull @WorkerThread public abstract CharSequence getCellBroadcastAreaInfo(int);
22411    method @CallSuper public android.os.IBinder onBind(@Nullable android.content.Intent);
22412    method @Deprecated @FlaggedApi("com.android.internal.telephony.flags.deprecate_cdma") public void onCdmaCellBroadcastSms(int, @NonNull byte[], int);
22413    method @Deprecated @FlaggedApi("com.android.internal.telephony.flags.deprecate_cdma") public void onCdmaScpMessage(int, @NonNull java.util.List<android.telephony.cdma.CdmaSmsCbProgramData>, @NonNull String, @NonNull java.util.function.Consumer<android.os.Bundle>);
22414    method public abstract void onGsmCellBroadcastSms(int, @NonNull byte[]);
22415    field public static final String CELL_BROADCAST_SERVICE_INTERFACE = "android.telephony.CellBroadcastService";
22416  }
22417
22418  public abstract class CellIdentity implements android.os.Parcelable {
22419    method @NonNull public abstract android.telephony.CellLocation asCellLocation();
22420    method @NonNull public abstract android.telephony.CellIdentity sanitizeLocationInfo();
22421  }
22422
22423  @Deprecated @FlaggedApi("com.android.internal.telephony.flags.deprecate_cdma") public final class CellIdentityCdma extends android.telephony.CellIdentity {
22424    method @Deprecated @FlaggedApi("com.android.internal.telephony.flags.deprecate_cdma") @NonNull public android.telephony.cdma.CdmaCellLocation asCellLocation();
22425    method @Deprecated @FlaggedApi("com.android.internal.telephony.flags.deprecate_cdma") @NonNull public android.telephony.CellIdentityCdma sanitizeLocationInfo();
22426  }
22427
22428  public final class CellIdentityGsm extends android.telephony.CellIdentity {
22429    method @NonNull public android.telephony.gsm.GsmCellLocation asCellLocation();
22430    method @NonNull public android.telephony.CellIdentityGsm sanitizeLocationInfo();
22431  }
22432
22433  public final class CellIdentityLte extends android.telephony.CellIdentity {
22434    method @NonNull public android.telephony.gsm.GsmCellLocation asCellLocation();
22435    method @NonNull public android.telephony.CellIdentityLte sanitizeLocationInfo();
22436  }
22437
22438  public final class CellIdentityNr extends android.telephony.CellIdentity {
22439    method @NonNull public android.telephony.CellLocation asCellLocation();
22440    method @NonNull public android.telephony.CellIdentityNr sanitizeLocationInfo();
22441  }
22442
22443  public final class CellIdentityTdscdma extends android.telephony.CellIdentity {
22444    method @NonNull public android.telephony.gsm.GsmCellLocation asCellLocation();
22445    method @NonNull public android.telephony.CellIdentityTdscdma sanitizeLocationInfo();
22446  }
22447
22448  public final class CellIdentityWcdma extends android.telephony.CellIdentity {
22449    method @NonNull public android.telephony.gsm.GsmCellLocation asCellLocation();
22450    method @NonNull public android.telephony.CellIdentityWcdma sanitizeLocationInfo();
22451  }
22452
22453  @FlaggedApi("com.android.internal.telephony.flags.cellular_identifier_disclosure_indications") public final class CellularIdentifierDisclosure implements android.os.Parcelable {
22454    method public int describeContents();
22455    method public int getCellularIdentifier();
22456    method public int getNasProtocolMessage();
22457    method @NonNull public String getPlmn();
22458    method public boolean isEmergency();
22459    method public void writeToParcel(@NonNull android.os.Parcel, int);
22460    field public static final int CELLULAR_IDENTIFIER_IMEI = 2; // 0x2
22461    field public static final int CELLULAR_IDENTIFIER_IMSI = 1; // 0x1
22462    field public static final int CELLULAR_IDENTIFIER_SUCI = 3; // 0x3
22463    field public static final int CELLULAR_IDENTIFIER_UNKNOWN = 0; // 0x0
22464    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellularIdentifierDisclosure> CREATOR;
22465    field public static final int NAS_PROTOCOL_MESSAGE_ATTACH_REQUEST = 1; // 0x1
22466    field public static final int NAS_PROTOCOL_MESSAGE_AUTHENTICATION_AND_CIPHERING_RESPONSE = 6; // 0x6
22467    field public static final int NAS_PROTOCOL_MESSAGE_CM_REESTABLISHMENT_REQUEST = 9; // 0x9
22468    field public static final int NAS_PROTOCOL_MESSAGE_CM_SERVICE_REQUEST = 10; // 0xa
22469    field public static final int NAS_PROTOCOL_MESSAGE_DEREGISTRATION_REQUEST = 8; // 0x8
22470    field public static final int NAS_PROTOCOL_MESSAGE_DETACH_REQUEST = 3; // 0x3
22471    field public static final int NAS_PROTOCOL_MESSAGE_IDENTITY_RESPONSE = 2; // 0x2
22472    field public static final int NAS_PROTOCOL_MESSAGE_IMSI_DETACH_INDICATION = 11; // 0xb
22473    field public static final int NAS_PROTOCOL_MESSAGE_LOCATION_UPDATE_REQUEST = 5; // 0x5
22474    field public static final int NAS_PROTOCOL_MESSAGE_REGISTRATION_REQUEST = 7; // 0x7
22475    field public static final int NAS_PROTOCOL_MESSAGE_TRACKING_AREA_UPDATE_REQUEST = 4; // 0x4
22476    field public static final int NAS_PROTOCOL_MESSAGE_UNKNOWN = 0; // 0x0
22477  }
22478
22479  public final class DataFailCause {
22480    field @Deprecated public static final int VSNCP_APN_UNATHORIZED = 2238; // 0x8be
22481  }
22482
22483  public final class DataSpecificRegistrationInfo implements android.os.Parcelable {
22484    method public int describeContents();
22485    method public int getLteAttachExtraInfo();
22486    method public int getLteAttachResultType();
22487    method @Deprecated @NonNull public android.telephony.LteVopsSupportInfo getLteVopsSupportInfo();
22488    method @Nullable public android.telephony.VopsSupportInfo getVopsSupportInfo();
22489    method public void writeToParcel(android.os.Parcel, int);
22490    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.DataSpecificRegistrationInfo> CREATOR;
22491    field public static final int LTE_ATTACH_EXTRA_INFO_CSFB_NOT_PREFERRED = 1; // 0x1
22492    field public static final int LTE_ATTACH_EXTRA_INFO_NONE = 0; // 0x0
22493    field public static final int LTE_ATTACH_EXTRA_INFO_SMS_ONLY = 2; // 0x2
22494    field public static final int LTE_ATTACH_TYPE_COMBINED = 2; // 0x2
22495    field public static final int LTE_ATTACH_TYPE_EPS_ONLY = 1; // 0x1
22496    field public static final int LTE_ATTACH_TYPE_UNKNOWN = 0; // 0x0
22497  }
22498
22499  public final class DataThrottlingRequest implements android.os.Parcelable {
22500    method public int describeContents();
22501    method public long getCompletionDurationMillis();
22502    method public int getDataThrottlingAction();
22503    method public void writeToParcel(@NonNull android.os.Parcel, int);
22504    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.DataThrottlingRequest> CREATOR;
22505    field public static final int DATA_THROTTLING_ACTION_HOLD = 3; // 0x3
22506    field public static final int DATA_THROTTLING_ACTION_NO_DATA_THROTTLING = 0; // 0x0
22507    field public static final int DATA_THROTTLING_ACTION_THROTTLE_PRIMARY_CARRIER = 2; // 0x2
22508    field public static final int DATA_THROTTLING_ACTION_THROTTLE_SECONDARY_CARRIER = 1; // 0x1
22509  }
22510
22511  public static final class DataThrottlingRequest.Builder {
22512    ctor public DataThrottlingRequest.Builder();
22513    method @NonNull public android.telephony.DataThrottlingRequest build();
22514    method @NonNull public android.telephony.DataThrottlingRequest.Builder setCompletionDurationMillis(long);
22515    method @NonNull public android.telephony.DataThrottlingRequest.Builder setDataThrottlingAction(int);
22516  }
22517
22518  @FlaggedApi("com.android.internal.telephony.flags.use_oem_domain_selection_service") public abstract class DomainSelectionService extends android.app.Service {
22519    ctor public DomainSelectionService();
22520    method @NonNull public java.util.concurrent.Executor getCreateExecutor();
22521    method public void onBarringInfoUpdated(int, int, @NonNull android.telephony.BarringInfo);
22522    method @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent);
22523    method public abstract void onDomainSelection(@NonNull android.telephony.DomainSelectionService.SelectionAttributes, @NonNull android.telephony.TransportSelectorCallback);
22524    method public void onServiceStateUpdated(int, int, @NonNull android.telephony.ServiceState);
22525    field public static final int SCAN_TYPE_FULL_SERVICE = 2; // 0x2
22526    field public static final int SCAN_TYPE_LIMITED_SERVICE = 1; // 0x1
22527    field public static final int SCAN_TYPE_NO_PREFERENCE = 0; // 0x0
22528    field public static final int SELECTOR_TYPE_CALLING = 1; // 0x1
22529    field public static final int SELECTOR_TYPE_SMS = 2; // 0x2
22530  }
22531
22532  @FlaggedApi("com.android.internal.telephony.flags.use_oem_domain_selection_service") public static final class DomainSelectionService.SelectionAttributes implements android.os.Parcelable {
22533    method public int describeContents();
22534    method @Nullable public android.net.Uri getAddress();
22535    method @Nullable public String getCallId();
22536    method public int getCsDisconnectCause();
22537    method @Nullable public android.telephony.EmergencyRegistrationResult getEmergencyRegistrationResult();
22538    method @Nullable public android.telephony.ims.ImsReasonInfo getPsDisconnectCause();
22539    method public int getSelectorType();
22540    method public int getSlotIndex();
22541    method public int getSubscriptionId();
22542    method public boolean isEmergency();
22543    method public boolean isExitedFromAirplaneMode();
22544    method public boolean isTestEmergencyNumber();
22545    method public boolean isVideoCall();
22546    method public void writeToParcel(@NonNull android.os.Parcel, int);
22547    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.DomainSelectionService.SelectionAttributes> CREATOR;
22548  }
22549
22550  @FlaggedApi("com.android.internal.telephony.flags.use_oem_domain_selection_service") public static final class DomainSelectionService.SelectionAttributes.Builder {
22551    ctor public DomainSelectionService.SelectionAttributes.Builder(int, int, int);
22552    method @NonNull public android.telephony.DomainSelectionService.SelectionAttributes build();
22553    method @NonNull public android.telephony.DomainSelectionService.SelectionAttributes.Builder setAddress(@Nullable android.net.Uri);
22554    method @NonNull public android.telephony.DomainSelectionService.SelectionAttributes.Builder setCallId(@Nullable String);
22555    method @NonNull public android.telephony.DomainSelectionService.SelectionAttributes.Builder setCsDisconnectCause(int);
22556    method @NonNull public android.telephony.DomainSelectionService.SelectionAttributes.Builder setEmergency(boolean);
22557    method @NonNull public android.telephony.DomainSelectionService.SelectionAttributes.Builder setEmergencyRegistrationResult(@Nullable android.telephony.EmergencyRegistrationResult);
22558    method @NonNull public android.telephony.DomainSelectionService.SelectionAttributes.Builder setExitedFromAirplaneMode(boolean);
22559    method @NonNull public android.telephony.DomainSelectionService.SelectionAttributes.Builder setPsDisconnectCause(@Nullable android.telephony.ims.ImsReasonInfo);
22560    method @NonNull public android.telephony.DomainSelectionService.SelectionAttributes.Builder setTestEmergencyNumber(boolean);
22561    method @NonNull public android.telephony.DomainSelectionService.SelectionAttributes.Builder setVideoCall(boolean);
22562  }
22563
22564  @FlaggedApi("com.android.internal.telephony.flags.use_oem_domain_selection_service") public interface DomainSelector {
22565    method public void finishSelection();
22566    method public void reselectDomain(@NonNull android.telephony.DomainSelectionService.SelectionAttributes);
22567  }
22568
22569  @FlaggedApi("com.android.internal.telephony.flags.use_oem_domain_selection_service") public final class EmergencyRegistrationResult implements android.os.Parcelable {
22570    method public int describeContents();
22571    method public int getAccessNetwork();
22572    method @NonNull public String getCountryIso();
22573    method public int getDomain();
22574    method @NonNull public String getMcc();
22575    method @NonNull public String getMnc();
22576    method public int getNwProvidedEmc();
22577    method public int getNwProvidedEmf();
22578    method public int getRegState();
22579    method public boolean isEmcBearerSupported();
22580    method public boolean isVopsSupported();
22581    method public void writeToParcel(@NonNull android.os.Parcel, int);
22582    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.EmergencyRegistrationResult> CREATOR;
22583  }
22584
22585  public final class ImsiEncryptionInfo implements android.os.Parcelable {
22586    method public int describeContents();
22587    method @Nullable public String getKeyIdentifier();
22588    method @Nullable public java.security.PublicKey getPublicKey();
22589    method public void writeToParcel(@NonNull android.os.Parcel, int);
22590    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ImsiEncryptionInfo> CREATOR;
22591  }
22592
22593  public final class LinkCapacityEstimate implements android.os.Parcelable {
22594    ctor public LinkCapacityEstimate(int, int, int);
22595    method public int describeContents();
22596    method public int getDownlinkCapacityKbps();
22597    method public int getType();
22598    method public int getUplinkCapacityKbps();
22599    method public void writeToParcel(@NonNull android.os.Parcel, int);
22600    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.LinkCapacityEstimate> CREATOR;
22601    field public static final int INVALID = -1; // 0xffffffff
22602    field public static final int LCE_TYPE_COMBINED = 2; // 0x2
22603    field public static final int LCE_TYPE_PRIMARY = 0; // 0x0
22604    field public static final int LCE_TYPE_SECONDARY = 1; // 0x1
22605  }
22606
22607  public final class LteVopsSupportInfo extends android.telephony.VopsSupportInfo {
22608    ctor public LteVopsSupportInfo(int, int);
22609    method public boolean equals(@Nullable Object);
22610    method public int getEmcBearerSupport();
22611    method public int getVopsSupport();
22612    method public int hashCode();
22613    method public boolean isEmergencyServiceFallbackSupported();
22614    method public boolean isEmergencyServiceSupported();
22615    method public boolean isVopsSupported();
22616    method public void writeToParcel(@NonNull android.os.Parcel, int);
22617    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.LteVopsSupportInfo> CREATOR;
22618    field @Deprecated public static final int LTE_STATUS_NOT_AVAILABLE = 1; // 0x1
22619    field public static final int LTE_STATUS_NOT_SUPPORTED = 3; // 0x3
22620    field public static final int LTE_STATUS_SUPPORTED = 2; // 0x2
22621  }
22622
22623  public class MbmsDownloadSession implements java.lang.AutoCloseable {
22624    field public static final String MBMS_DOWNLOAD_SERVICE_ACTION = "android.telephony.action.EmbmsDownload";
22625  }
22626
22627  public class MbmsGroupCallSession implements java.lang.AutoCloseable {
22628    field public static final String MBMS_GROUP_CALL_SERVICE_ACTION = "android.telephony.action.EmbmsGroupCall";
22629  }
22630
22631  public class MbmsStreamingSession implements java.lang.AutoCloseable {
22632    field public static final String MBMS_STREAMING_SERVICE_ACTION = "android.telephony.action.EmbmsStreaming";
22633  }
22634
22635  public final class ModemActivityInfo implements android.os.Parcelable {
22636    method public int describeContents();
22637    method @NonNull public android.telephony.ModemActivityInfo getDelta(@NonNull android.telephony.ModemActivityInfo);
22638    method public long getIdleTimeMillis();
22639    method public static int getNumTxPowerLevels();
22640    method public long getReceiveTimeMillis();
22641    method public long getSleepTimeMillis();
22642    method public long getTimestampMillis();
22643    method public long getTransmitDurationMillisAtPowerLevel(int);
22644    method @NonNull public android.util.Range<java.lang.Integer> getTransmitPowerRange(int);
22645    method public void writeToParcel(@NonNull android.os.Parcel, int);
22646    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ModemActivityInfo> CREATOR;
22647    field public static final int TX_POWER_LEVEL_0 = 0; // 0x0
22648    field public static final int TX_POWER_LEVEL_1 = 1; // 0x1
22649    field public static final int TX_POWER_LEVEL_2 = 2; // 0x2
22650    field public static final int TX_POWER_LEVEL_3 = 3; // 0x3
22651    field public static final int TX_POWER_LEVEL_4 = 4; // 0x4
22652  }
22653
22654  public final class NetworkRegistrationInfo implements android.os.Parcelable {
22655    method @Nullable public android.telephony.DataSpecificRegistrationInfo getDataSpecificInfo();
22656    method public int getNetworkRegistrationState();
22657    method @Deprecated public int getRegistrationState();
22658    method public int getRoamingType();
22659    method public boolean isEmergencyEnabled();
22660    method public void writeToParcel(android.os.Parcel, int);
22661    field public static final int REGISTRATION_STATE_DENIED = 3; // 0x3
22662    field public static final int REGISTRATION_STATE_EMERGENCY = 6; // 0x6
22663    field public static final int REGISTRATION_STATE_HOME = 1; // 0x1
22664    field public static final int REGISTRATION_STATE_NOT_REGISTERED_OR_SEARCHING = 0; // 0x0
22665    field public static final int REGISTRATION_STATE_NOT_REGISTERED_SEARCHING = 2; // 0x2
22666    field public static final int REGISTRATION_STATE_ROAMING = 5; // 0x5
22667    field public static final int REGISTRATION_STATE_UNKNOWN = 4; // 0x4
22668  }
22669
22670  public static final class NetworkRegistrationInfo.Builder {
22671    ctor public NetworkRegistrationInfo.Builder();
22672    method @NonNull public android.telephony.NetworkRegistrationInfo build();
22673    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setAccessNetworkTechnology(int);
22674    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setAvailableServices(@NonNull java.util.List<java.lang.Integer>);
22675    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setCellIdentity(@Nullable android.telephony.CellIdentity);
22676    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setDomain(int);
22677    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setEmergencyOnly(boolean);
22678    method @FlaggedApi("com.android.internal.telephony.flags.carrier_enabled_satellite_flag") @NonNull public android.telephony.NetworkRegistrationInfo.Builder setIsNonTerrestrialNetwork(boolean);
22679    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setRegisteredPlmn(@Nullable String);
22680    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setRegistrationState(int);
22681    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setRejectCause(int);
22682    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setTransportType(int);
22683  }
22684
22685  public abstract class NetworkService extends android.app.Service {
22686    ctor public NetworkService();
22687    method public android.os.IBinder onBind(android.content.Intent);
22688    method @Nullable public abstract android.telephony.NetworkService.NetworkServiceProvider onCreateNetworkServiceProvider(int);
22689    field public static final String SERVICE_INTERFACE = "android.telephony.NetworkService";
22690  }
22691
22692  public abstract class NetworkService.NetworkServiceProvider implements java.lang.AutoCloseable {
22693    ctor public NetworkService.NetworkServiceProvider(int);
22694    method public abstract void close();
22695    method public final int getSlotIndex();
22696    method public final void notifyNetworkRegistrationInfoChanged();
22697    method public void requestNetworkRegistrationInfo(int, @NonNull android.telephony.NetworkServiceCallback);
22698  }
22699
22700  public class NetworkServiceCallback {
22701    method public void onRequestNetworkRegistrationInfoComplete(int, @Nullable android.telephony.NetworkRegistrationInfo);
22702    field public static final int RESULT_ERROR_BUSY = 3; // 0x3
22703    field public static final int RESULT_ERROR_FAILED = 5; // 0x5
22704    field public static final int RESULT_ERROR_ILLEGAL_STATE = 4; // 0x4
22705    field public static final int RESULT_ERROR_INVALID_ARG = 2; // 0x2
22706    field public static final int RESULT_ERROR_UNSUPPORTED = 1; // 0x1
22707    field public static final int RESULT_SUCCESS = 0; // 0x0
22708  }
22709
22710  public final class NrVopsSupportInfo extends android.telephony.VopsSupportInfo {
22711    ctor public NrVopsSupportInfo(int, int, int);
22712    method public boolean equals(@Nullable Object);
22713    method public int getEmcSupport();
22714    method public int getEmfSupport();
22715    method public int getVopsSupport();
22716    method public int hashCode();
22717    method public boolean isEmergencyServiceFallbackSupported();
22718    method public boolean isEmergencyServiceSupported();
22719    method public boolean isVopsSupported();
22720    method public void writeToParcel(@NonNull android.os.Parcel, int);
22721    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.NrVopsSupportInfo> CREATOR;
22722    field public static final int NR_STATUS_EMC_5GCN_ONLY = 1; // 0x1
22723    field public static final int NR_STATUS_EMC_EUTRA_5GCN_ONLY = 2; // 0x2
22724    field public static final int NR_STATUS_EMC_NOT_SUPPORTED = 0; // 0x0
22725    field public static final int NR_STATUS_EMC_NR_EUTRA_5GCN = 3; // 0x3
22726    field public static final int NR_STATUS_EMF_5GCN_ONLY = 1; // 0x1
22727    field public static final int NR_STATUS_EMF_EUTRA_5GCN_ONLY = 2; // 0x2
22728    field public static final int NR_STATUS_EMF_NOT_SUPPORTED = 0; // 0x0
22729    field public static final int NR_STATUS_EMF_NR_EUTRA_5GCN = 3; // 0x3
22730    field public static final int NR_STATUS_VOPS_3GPP_SUPPORTED = 1; // 0x1
22731    field public static final int NR_STATUS_VOPS_NON_3GPP_SUPPORTED = 2; // 0x2
22732    field public static final int NR_STATUS_VOPS_NOT_SUPPORTED = 0; // 0x0
22733  }
22734
22735  public interface NumberVerificationCallback {
22736    method public default void onCallReceived(@NonNull String);
22737    method public default void onVerificationFailed(int);
22738    field public static final int REASON_CONCURRENT_REQUESTS = 4; // 0x4
22739    field public static final int REASON_IN_ECBM = 5; // 0x5
22740    field public static final int REASON_IN_EMERGENCY_CALL = 6; // 0x6
22741    field public static final int REASON_NETWORK_NOT_AVAILABLE = 2; // 0x2
22742    field public static final int REASON_TIMED_OUT = 1; // 0x1
22743    field public static final int REASON_TOO_MANY_CALLS = 3; // 0x3
22744    field public static final int REASON_UNSPECIFIED = 0; // 0x0
22745  }
22746
22747  public final class PhoneCapability implements android.os.Parcelable {
22748    method public int describeContents();
22749    method @NonNull public int[] getDeviceNrCapabilities();
22750    method @IntRange(from=1) public int getMaxActiveDataSubscriptions();
22751    method @IntRange(from=1) public int getMaxActiveVoiceSubscriptions();
22752    method public void writeToParcel(@NonNull android.os.Parcel, int);
22753    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.PhoneCapability> CREATOR;
22754    field public static final int DEVICE_NR_CAPABILITY_NSA = 1; // 0x1
22755    field public static final int DEVICE_NR_CAPABILITY_SA = 2; // 0x2
22756  }
22757
22758  public final class PhoneNumberRange implements android.os.Parcelable {
22759    ctor public PhoneNumberRange(@NonNull String, @NonNull String, @NonNull String, @NonNull String);
22760    method public int describeContents();
22761    method public boolean matches(@NonNull String);
22762    method public void writeToParcel(android.os.Parcel, int);
22763    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.PhoneNumberRange> CREATOR;
22764  }
22765
22766  public class PhoneNumberUtils {
22767    method @NonNull public static String getUsernameFromUriNumber(@NonNull String);
22768    method public static boolean isUriNumber(@Nullable String);
22769    method public static boolean isVoiceMailNumber(@NonNull android.content.Context, int, @Nullable String);
22770  }
22771
22772  @Deprecated public class PhoneStateListener {
22773    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onCallAttributesChanged(@NonNull android.telephony.CallAttributes);
22774    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void onOutgoingEmergencyCall(@NonNull android.telephony.emergency.EmergencyNumber);
22775    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void onOutgoingEmergencyCall(@NonNull android.telephony.emergency.EmergencyNumber, int);
22776    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void onOutgoingEmergencySms(@NonNull android.telephony.emergency.EmergencyNumber);
22777    method @Deprecated public void onOutgoingEmergencySms(@NonNull android.telephony.emergency.EmergencyNumber, int);
22778    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onPreciseCallStateChanged(@NonNull android.telephony.PreciseCallState);
22779    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onRadioPowerStateChanged(int);
22780    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onSrvccStateChanged(int);
22781    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onVoiceActivationStateChanged(int);
22782    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int LISTEN_CALL_ATTRIBUTES_CHANGED = 67108864; // 0x4000000
22783    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public static final int LISTEN_OUTGOING_EMERGENCY_CALL = 268435456; // 0x10000000
22784    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public static final int LISTEN_OUTGOING_EMERGENCY_SMS = 536870912; // 0x20000000
22785    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int LISTEN_PRECISE_CALL_STATE = 2048; // 0x800
22786    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int LISTEN_RADIO_POWER_STATE_CHANGED = 8388608; // 0x800000
22787    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int LISTEN_SRVCC_STATE_CHANGED = 16384; // 0x4000
22788    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int LISTEN_VOICE_ACTIVATION_STATE = 131072; // 0x20000
22789  }
22790
22791  public final class PinResult implements android.os.Parcelable {
22792    method public int describeContents();
22793    method public int getAttemptsRemaining();
22794    method public int getResult();
22795    method public void writeToParcel(@NonNull android.os.Parcel, int);
22796    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.PinResult> CREATOR;
22797    field public static final int PIN_RESULT_TYPE_ABORTED = 3; // 0x3
22798    field public static final int PIN_RESULT_TYPE_FAILURE = 2; // 0x2
22799    field public static final int PIN_RESULT_TYPE_INCORRECT = 1; // 0x1
22800    field public static final int PIN_RESULT_TYPE_SUCCESS = 0; // 0x0
22801  }
22802
22803  public final class PreciseCallState implements android.os.Parcelable {
22804    ctor public PreciseCallState(int, int, int, int, int);
22805    method public int describeContents();
22806    method public int getBackgroundCallState();
22807    method public int getForegroundCallState();
22808    method public int getRingingCallState();
22809    method public void writeToParcel(android.os.Parcel, int);
22810    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.PreciseCallState> CREATOR;
22811    field public static final int PRECISE_CALL_STATE_ACTIVE = 1; // 0x1
22812    field public static final int PRECISE_CALL_STATE_ALERTING = 4; // 0x4
22813    field public static final int PRECISE_CALL_STATE_DIALING = 3; // 0x3
22814    field public static final int PRECISE_CALL_STATE_DISCONNECTED = 7; // 0x7
22815    field public static final int PRECISE_CALL_STATE_DISCONNECTING = 8; // 0x8
22816    field public static final int PRECISE_CALL_STATE_HOLDING = 2; // 0x2
22817    field public static final int PRECISE_CALL_STATE_IDLE = 0; // 0x0
22818    field public static final int PRECISE_CALL_STATE_INCOMING = 5; // 0x5
22819    field public static final int PRECISE_CALL_STATE_INCOMING_SETUP = 9; // 0x9
22820    field public static final int PRECISE_CALL_STATE_NOT_VALID = -1; // 0xffffffff
22821    field public static final int PRECISE_CALL_STATE_WAITING = 6; // 0x6
22822  }
22823
22824  public final class PreciseDataConnectionState implements android.os.Parcelable {
22825    method @Deprecated @NonNull public String getDataConnectionApn();
22826    method @Deprecated public int getDataConnectionApnTypeBitMask();
22827    method @Deprecated public int getDataConnectionFailCause();
22828    method @Deprecated public int getDataConnectionState();
22829  }
22830
22831  public final class PreciseDisconnectCause {
22832    field public static final int ACCESS_CLASS_BLOCKED = 260; // 0x104
22833    field public static final int ACCESS_INFORMATION_DISCARDED = 43; // 0x2b
22834    field public static final int ACM_LIMIT_EXCEEDED = 68; // 0x44
22835    field public static final int BEARER_CAPABILITY_NOT_AUTHORIZED = 57; // 0x39
22836    field public static final int BEARER_NOT_AVAIL = 58; // 0x3a
22837    field public static final int BEARER_SERVICE_NOT_IMPLEMENTED = 65; // 0x41
22838    field public static final int BUSY = 17; // 0x11
22839    field public static final int CALL_BARRED = 240; // 0xf0
22840    field public static final int CALL_REJECTED = 21; // 0x15
22841    field @Deprecated @FlaggedApi("com.android.internal.telephony.flags.deprecate_cdma") public static final int CDMA_ACCESS_BLOCKED = 1009; // 0x3f1
22842    field @Deprecated @FlaggedApi("com.android.internal.telephony.flags.deprecate_cdma") public static final int CDMA_ACCESS_FAILURE = 1006; // 0x3ee
22843    field @Deprecated @FlaggedApi("com.android.internal.telephony.flags.deprecate_cdma") public static final int CDMA_DROP = 1001; // 0x3e9
22844    field @Deprecated @FlaggedApi("com.android.internal.telephony.flags.deprecate_cdma") public static final int CDMA_INTERCEPT = 1002; // 0x3ea
22845    field @Deprecated @FlaggedApi("com.android.internal.telephony.flags.deprecate_cdma") public static final int CDMA_LOCKED_UNTIL_POWER_CYCLE = 1000; // 0x3e8
22846    field @Deprecated @FlaggedApi("com.android.internal.telephony.flags.deprecate_cdma") public static final int CDMA_NOT_EMERGENCY = 1008; // 0x3f0
22847    field @Deprecated @FlaggedApi("com.android.internal.telephony.flags.deprecate_cdma") public static final int CDMA_PREEMPTED = 1007; // 0x3ef
22848    field @Deprecated @FlaggedApi("com.android.internal.telephony.flags.deprecate_cdma") public static final int CDMA_REORDER = 1003; // 0x3eb
22849    field @Deprecated @FlaggedApi("com.android.internal.telephony.flags.deprecate_cdma") public static final int CDMA_RETRY_ORDER = 1005; // 0x3ed
22850    field @Deprecated @FlaggedApi("com.android.internal.telephony.flags.deprecate_cdma") public static final int CDMA_SO_REJECT = 1004; // 0x3ec
22851    field public static final int CHANNEL_NOT_AVAIL = 44; // 0x2c
22852    field public static final int CHANNEL_UNACCEPTABLE = 6; // 0x6
22853    field public static final int CONDITIONAL_IE_ERROR = 100; // 0x64
22854    field public static final int DESTINATION_OUT_OF_ORDER = 27; // 0x1b
22855    field @FlaggedApi("com.android.internal.telephony.flags.use_oem_domain_selection_service") public static final int EMERGENCY_PERM_FAILURE = 326; // 0x146
22856    field @FlaggedApi("com.android.internal.telephony.flags.use_oem_domain_selection_service") public static final int EMERGENCY_TEMP_FAILURE = 325; // 0x145
22857    field public static final int ERROR_UNSPECIFIED = 65535; // 0xffff
22858    field public static final int FACILITY_REJECTED = 29; // 0x1d
22859    field public static final int FDN_BLOCKED = 241; // 0xf1
22860    field public static final int IMEI_NOT_ACCEPTED = 243; // 0xf3
22861    field public static final int IMSI_UNKNOWN_IN_VLR = 242; // 0xf2
22862    field public static final int INCOMING_CALLS_BARRED_WITHIN_CUG = 55; // 0x37
22863    field public static final int INCOMPATIBLE_DESTINATION = 88; // 0x58
22864    field public static final int INFORMATION_ELEMENT_NON_EXISTENT = 99; // 0x63
22865    field public static final int INTERWORKING_UNSPECIFIED = 127; // 0x7f
22866    field public static final int INVALID_MANDATORY_INFORMATION = 96; // 0x60
22867    field public static final int INVALID_NUMBER_FORMAT = 28; // 0x1c
22868    field public static final int INVALID_TRANSACTION_IDENTIFIER = 81; // 0x51
22869    field public static final int MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 101; // 0x65
22870    field public static final int MESSAGE_TYPE_NON_IMPLEMENTED = 97; // 0x61
22871    field public static final int MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 98; // 0x62
22872    field public static final int NETWORK_DETACH = 261; // 0x105
22873    field public static final int NETWORK_OUT_OF_ORDER = 38; // 0x26
22874    field public static final int NETWORK_REJECT = 252; // 0xfc
22875    field public static final int NETWORK_RESP_TIMEOUT = 251; // 0xfb
22876    field public static final int NORMAL = 16; // 0x10
22877    field public static final int NORMAL_UNSPECIFIED = 31; // 0x1f
22878    field public static final int NOT_VALID = -1; // 0xffffffff
22879    field public static final int NO_ANSWER_FROM_USER = 19; // 0x13
22880    field public static final int NO_CIRCUIT_AVAIL = 34; // 0x22
22881    field public static final int NO_DISCONNECT_CAUSE_AVAILABLE = 0; // 0x0
22882    field public static final int NO_ROUTE_TO_DESTINATION = 3; // 0x3
22883    field public static final int NO_USER_RESPONDING = 18; // 0x12
22884    field public static final int NO_VALID_SIM = 249; // 0xf9
22885    field public static final int NUMBER_CHANGED = 22; // 0x16
22886    field public static final int OEM_CAUSE_1 = 61441; // 0xf001
22887    field public static final int OEM_CAUSE_10 = 61450; // 0xf00a
22888    field public static final int OEM_CAUSE_11 = 61451; // 0xf00b
22889    field public static final int OEM_CAUSE_12 = 61452; // 0xf00c
22890    field public static final int OEM_CAUSE_13 = 61453; // 0xf00d
22891    field public static final int OEM_CAUSE_14 = 61454; // 0xf00e
22892    field public static final int OEM_CAUSE_15 = 61455; // 0xf00f
22893    field public static final int OEM_CAUSE_2 = 61442; // 0xf002
22894    field public static final int OEM_CAUSE_3 = 61443; // 0xf003
22895    field public static final int OEM_CAUSE_4 = 61444; // 0xf004
22896    field public static final int OEM_CAUSE_5 = 61445; // 0xf005
22897    field public static final int OEM_CAUSE_6 = 61446; // 0xf006
22898    field public static final int OEM_CAUSE_7 = 61447; // 0xf007
22899    field public static final int OEM_CAUSE_8 = 61448; // 0xf008
22900    field public static final int OEM_CAUSE_9 = 61449; // 0xf009
22901    field public static final int ONLY_DIGITAL_INFORMATION_BEARER_AVAILABLE = 70; // 0x46
22902    field public static final int OPERATOR_DETERMINED_BARRING = 8; // 0x8
22903    field public static final int OUT_OF_SRV = 248; // 0xf8
22904    field public static final int PREEMPTION = 25; // 0x19
22905    field public static final int PROTOCOL_ERROR_UNSPECIFIED = 111; // 0x6f
22906    field public static final int QOS_NOT_AVAIL = 49; // 0x31
22907    field public static final int RADIO_ACCESS_FAILURE = 253; // 0xfd
22908    field public static final int RADIO_INTERNAL_ERROR = 250; // 0xfa
22909    field public static final int RADIO_LINK_FAILURE = 254; // 0xfe
22910    field public static final int RADIO_LINK_LOST = 255; // 0xff
22911    field public static final int RADIO_OFF = 247; // 0xf7
22912    field public static final int RADIO_RELEASE_ABNORMAL = 259; // 0x103
22913    field public static final int RADIO_RELEASE_NORMAL = 258; // 0x102
22914    field public static final int RADIO_SETUP_FAILURE = 257; // 0x101
22915    field public static final int RADIO_UPLINK_FAILURE = 256; // 0x100
22916    field public static final int RECOVERY_ON_TIMER_EXPIRED = 102; // 0x66
22917    field public static final int REQUESTED_FACILITY_NOT_IMPLEMENTED = 69; // 0x45
22918    field public static final int REQUESTED_FACILITY_NOT_SUBSCRIBED = 50; // 0x32
22919    field public static final int RESOURCES_UNAVAILABLE_OR_UNSPECIFIED = 47; // 0x2f
22920    field public static final int SEMANTICALLY_INCORRECT_MESSAGE = 95; // 0x5f
22921    field public static final int SERVICE_OPTION_NOT_AVAILABLE = 63; // 0x3f
22922    field public static final int SERVICE_OR_OPTION_NOT_IMPLEMENTED = 79; // 0x4f
22923    field public static final int STATUS_ENQUIRY = 30; // 0x1e
22924    field public static final int SWITCHING_CONGESTION = 42; // 0x2a
22925    field public static final int TEMPORARY_FAILURE = 41; // 0x29
22926    field public static final int UNOBTAINABLE_NUMBER = 1; // 0x1
22927    field public static final int USER_NOT_MEMBER_OF_CUG = 87; // 0x57
22928  }
22929
22930  @FlaggedApi("com.android.internal.telephony.flags.security_algorithms_update_indications") public final class SecurityAlgorithmUpdate implements android.os.Parcelable {
22931    method public int describeContents();
22932    method public int getConnectionEvent();
22933    method public int getEncryption();
22934    method public int getIntegrity();
22935    method public boolean isUnprotectedEmergency();
22936    method public void writeToParcel(@NonNull android.os.Parcel, int);
22937    field public static final int CONNECTION_EVENT_AS_SIGNALLING_5G = 11; // 0xb
22938    field public static final int CONNECTION_EVENT_AS_SIGNALLING_LTE = 5; // 0x5
22939    field public static final int CONNECTION_EVENT_CS_SIGNALLING_3G = 2; // 0x2
22940    field public static final int CONNECTION_EVENT_CS_SIGNALLING_GSM = 0; // 0x0
22941    field public static final int CONNECTION_EVENT_NAS_SIGNALLING_5G = 10; // 0xa
22942    field public static final int CONNECTION_EVENT_NAS_SIGNALLING_LTE = 4; // 0x4
22943    field public static final int CONNECTION_EVENT_PS_SIGNALLING_3G = 3; // 0x3
22944    field public static final int CONNECTION_EVENT_PS_SIGNALLING_GPRS = 1; // 0x1
22945    field public static final int CONNECTION_EVENT_VOLTE_RTP = 8; // 0x8
22946    field public static final int CONNECTION_EVENT_VOLTE_RTP_SOS = 9; // 0x9
22947    field public static final int CONNECTION_EVENT_VOLTE_SIP = 6; // 0x6
22948    field public static final int CONNECTION_EVENT_VOLTE_SIP_SOS = 7; // 0x7
22949    field public static final int CONNECTION_EVENT_VONR_RTP = 14; // 0xe
22950    field public static final int CONNECTION_EVENT_VONR_RTP_SOS = 15; // 0xf
22951    field public static final int CONNECTION_EVENT_VONR_SIP = 12; // 0xc
22952    field public static final int CONNECTION_EVENT_VONR_SIP_SOS = 13; // 0xd
22953    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SecurityAlgorithmUpdate> CREATOR;
22954    field public static final int SECURITY_ALGORITHM_A50 = 0; // 0x0
22955    field public static final int SECURITY_ALGORITHM_A51 = 1; // 0x1
22956    field public static final int SECURITY_ALGORITHM_A52 = 2; // 0x2
22957    field public static final int SECURITY_ALGORITHM_A53 = 3; // 0x3
22958    field public static final int SECURITY_ALGORITHM_A54 = 4; // 0x4
22959    field public static final int SECURITY_ALGORITHM_AES_CBC = 71; // 0x47
22960    field public static final int SECURITY_ALGORITHM_AES_EDE3_CBC = 73; // 0x49
22961    field public static final int SECURITY_ALGORITHM_AES_GCM = 69; // 0x45
22962    field public static final int SECURITY_ALGORITHM_AES_GMAC = 70; // 0x46
22963    field public static final int SECURITY_ALGORITHM_AUTH_HMAC_SHA2_256_128 = 101; // 0x65
22964    field public static final int SECURITY_ALGORITHM_DES_EDE3_CBC = 72; // 0x48
22965    field public static final int SECURITY_ALGORITHM_EEA0 = 41; // 0x29
22966    field public static final int SECURITY_ALGORITHM_EEA1 = 42; // 0x2a
22967    field public static final int SECURITY_ALGORITHM_EEA2 = 43; // 0x2b
22968    field public static final int SECURITY_ALGORITHM_EEA3 = 44; // 0x2c
22969    field public static final int SECURITY_ALGORITHM_ENCR_AES_CBC = 100; // 0x64
22970    field public static final int SECURITY_ALGORITHM_ENCR_AES_GCM_16 = 99; // 0x63
22971    field public static final int SECURITY_ALGORITHM_GEA0 = 14; // 0xe
22972    field public static final int SECURITY_ALGORITHM_GEA1 = 15; // 0xf
22973    field public static final int SECURITY_ALGORITHM_GEA2 = 16; // 0x10
22974    field public static final int SECURITY_ALGORITHM_GEA3 = 17; // 0x11
22975    field public static final int SECURITY_ALGORITHM_GEA4 = 18; // 0x12
22976    field public static final int SECURITY_ALGORITHM_GEA5 = 19; // 0x13
22977    field public static final int SECURITY_ALGORITHM_HMAC_MD5_96 = 75; // 0x4b
22978    field public static final int SECURITY_ALGORITHM_HMAC_SHA1_96 = 74; // 0x4a
22979    field public static final int SECURITY_ALGORITHM_IMS_NULL = 67; // 0x43
22980    field public static final int SECURITY_ALGORITHM_NEA0 = 55; // 0x37
22981    field public static final int SECURITY_ALGORITHM_NEA1 = 56; // 0x38
22982    field public static final int SECURITY_ALGORITHM_NEA2 = 57; // 0x39
22983    field public static final int SECURITY_ALGORITHM_NEA3 = 58; // 0x3a
22984    field public static final int SECURITY_ALGORITHM_ORYX = 124; // 0x7c
22985    field public static final int SECURITY_ALGORITHM_OTHER = 114; // 0x72
22986    field public static final int SECURITY_ALGORITHM_RTP = 85; // 0x55
22987    field public static final int SECURITY_ALGORITHM_SIP_NO_IPSEC_CONFIG = 66; // 0x42
22988    field public static final int SECURITY_ALGORITHM_SIP_NULL = 68; // 0x44
22989    field public static final int SECURITY_ALGORITHM_SRTP_AES_COUNTER = 87; // 0x57
22990    field public static final int SECURITY_ALGORITHM_SRTP_AES_F8 = 88; // 0x58
22991    field public static final int SECURITY_ALGORITHM_SRTP_HMAC_SHA1 = 89; // 0x59
22992    field public static final int SECURITY_ALGORITHM_SRTP_NULL = 86; // 0x56
22993    field public static final int SECURITY_ALGORITHM_UEA0 = 29; // 0x1d
22994    field public static final int SECURITY_ALGORITHM_UEA1 = 30; // 0x1e
22995    field public static final int SECURITY_ALGORITHM_UEA2 = 31; // 0x1f
22996    field public static final int SECURITY_ALGORITHM_UNKNOWN = 113; // 0x71
22997  }
22998
22999  public class ServiceState implements android.os.Parcelable {
23000    method @Nullable public android.telephony.NetworkRegistrationInfo getNetworkRegistrationInfo(int, int);
23001    method @NonNull public java.util.List<android.telephony.NetworkRegistrationInfo> getNetworkRegistrationInfoListForDomain(int);
23002    method @NonNull public java.util.List<android.telephony.NetworkRegistrationInfo> getNetworkRegistrationInfoListForTransportType(int);
23003    field public static final int ROAMING_TYPE_DOMESTIC = 2; // 0x2
23004    field public static final int ROAMING_TYPE_INTERNATIONAL = 3; // 0x3
23005    field public static final int ROAMING_TYPE_NOT_ROAMING = 0; // 0x0
23006    field public static final int ROAMING_TYPE_UNKNOWN = 1; // 0x1
23007  }
23008
23009  public final class SignalStrengthUpdateRequest implements android.os.Parcelable {
23010    method public boolean isSystemThresholdReportingRequestedWhileIdle();
23011  }
23012
23013  public static final class SignalStrengthUpdateRequest.Builder {
23014    method @NonNull @RequiresPermission("android.permission.LISTEN_ALWAYS_REPORTED_SIGNAL_STRENGTH") public android.telephony.SignalStrengthUpdateRequest.Builder setSystemThresholdReportingRequestedWhileIdle(boolean);
23015  }
23016
23017  public final class SmsCbCmasInfo implements android.os.Parcelable {
23018    ctor public SmsCbCmasInfo(int, int, int, int, int, int);
23019    method public int describeContents();
23020    method public int getCategory();
23021    method public int getCertainty();
23022    method public int getMessageClass();
23023    method public int getResponseType();
23024    method public int getSeverity();
23025    method public int getUrgency();
23026    method public void writeToParcel(android.os.Parcel, int);
23027    field public static final int CMAS_CATEGORY_CBRNE = 10; // 0xa
23028    field public static final int CMAS_CATEGORY_ENV = 7; // 0x7
23029    field public static final int CMAS_CATEGORY_FIRE = 5; // 0x5
23030    field public static final int CMAS_CATEGORY_GEO = 0; // 0x0
23031    field public static final int CMAS_CATEGORY_HEALTH = 6; // 0x6
23032    field public static final int CMAS_CATEGORY_INFRA = 9; // 0x9
23033    field public static final int CMAS_CATEGORY_MET = 1; // 0x1
23034    field public static final int CMAS_CATEGORY_OTHER = 11; // 0xb
23035    field public static final int CMAS_CATEGORY_RESCUE = 4; // 0x4
23036    field public static final int CMAS_CATEGORY_SAFETY = 2; // 0x2
23037    field public static final int CMAS_CATEGORY_SECURITY = 3; // 0x3
23038    field public static final int CMAS_CATEGORY_TRANSPORT = 8; // 0x8
23039    field public static final int CMAS_CATEGORY_UNKNOWN = -1; // 0xffffffff
23040    field public static final int CMAS_CERTAINTY_LIKELY = 1; // 0x1
23041    field public static final int CMAS_CERTAINTY_OBSERVED = 0; // 0x0
23042    field public static final int CMAS_CERTAINTY_UNKNOWN = -1; // 0xffffffff
23043    field public static final int CMAS_CLASS_CHILD_ABDUCTION_EMERGENCY = 3; // 0x3
23044    field public static final int CMAS_CLASS_CMAS_EXERCISE = 5; // 0x5
23045    field public static final int CMAS_CLASS_EXTREME_THREAT = 1; // 0x1
23046    field public static final int CMAS_CLASS_OPERATOR_DEFINED_USE = 6; // 0x6
23047    field public static final int CMAS_CLASS_PRESIDENTIAL_LEVEL_ALERT = 0; // 0x0
23048    field public static final int CMAS_CLASS_REQUIRED_MONTHLY_TEST = 4; // 0x4
23049    field public static final int CMAS_CLASS_SEVERE_THREAT = 2; // 0x2
23050    field public static final int CMAS_CLASS_UNKNOWN = -1; // 0xffffffff
23051    field public static final int CMAS_RESPONSE_TYPE_ASSESS = 6; // 0x6
23052    field public static final int CMAS_RESPONSE_TYPE_AVOID = 5; // 0x5
23053    field public static final int CMAS_RESPONSE_TYPE_EVACUATE = 1; // 0x1
23054    field public static final int CMAS_RESPONSE_TYPE_EXECUTE = 3; // 0x3
23055    field public static final int CMAS_RESPONSE_TYPE_MONITOR = 4; // 0x4
23056    field public static final int CMAS_RESPONSE_TYPE_NONE = 7; // 0x7
23057    field public static final int CMAS_RESPONSE_TYPE_PREPARE = 2; // 0x2
23058    field public static final int CMAS_RESPONSE_TYPE_SHELTER = 0; // 0x0
23059    field public static final int CMAS_RESPONSE_TYPE_UNKNOWN = -1; // 0xffffffff
23060    field public static final int CMAS_SEVERITY_EXTREME = 0; // 0x0
23061    field public static final int CMAS_SEVERITY_SEVERE = 1; // 0x1
23062    field public static final int CMAS_SEVERITY_UNKNOWN = -1; // 0xffffffff
23063    field public static final int CMAS_URGENCY_EXPECTED = 1; // 0x1
23064    field public static final int CMAS_URGENCY_IMMEDIATE = 0; // 0x0
23065    field public static final int CMAS_URGENCY_UNKNOWN = -1; // 0xffffffff
23066    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SmsCbCmasInfo> CREATOR;
23067  }
23068
23069  public final class SmsCbEtwsInfo implements android.os.Parcelable {
23070    ctor public SmsCbEtwsInfo(int, boolean, boolean, boolean, @Nullable byte[]);
23071    method public int describeContents();
23072    method @Nullable public byte[] getPrimaryNotificationSignature();
23073    method public long getPrimaryNotificationTimestamp();
23074    method public int getWarningType();
23075    method public boolean isEmergencyUserAlert();
23076    method public boolean isPopupAlert();
23077    method public boolean isPrimary();
23078    method public void writeToParcel(android.os.Parcel, int);
23079    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SmsCbEtwsInfo> CREATOR;
23080    field public static final int ETWS_WARNING_TYPE_EARTHQUAKE = 0; // 0x0
23081    field public static final int ETWS_WARNING_TYPE_EARTHQUAKE_AND_TSUNAMI = 2; // 0x2
23082    field public static final int ETWS_WARNING_TYPE_OTHER_EMERGENCY = 4; // 0x4
23083    field public static final int ETWS_WARNING_TYPE_TEST_MESSAGE = 3; // 0x3
23084    field public static final int ETWS_WARNING_TYPE_TSUNAMI = 1; // 0x1
23085    field public static final int ETWS_WARNING_TYPE_UNKNOWN = -1; // 0xffffffff
23086  }
23087
23088  public final class SmsCbLocation implements android.os.Parcelable {
23089    ctor public SmsCbLocation(@NonNull String, int, int);
23090    method public int describeContents();
23091    method public int getCid();
23092    method public int getLac();
23093    method @NonNull public String getPlmn();
23094    method public boolean isInLocationArea(@NonNull android.telephony.SmsCbLocation);
23095    method public boolean isInLocationArea(@Nullable String, int, int);
23096    method public void writeToParcel(android.os.Parcel, int);
23097    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SmsCbLocation> CREATOR;
23098  }
23099
23100  public final class SmsCbMessage implements android.os.Parcelable {
23101    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);
23102    method @NonNull public static android.telephony.SmsCbMessage createFromCursor(@NonNull android.database.Cursor);
23103    method public int describeContents();
23104    method @Nullable public android.telephony.SmsCbCmasInfo getCmasWarningInfo();
23105    method @NonNull public android.content.ContentValues getContentValues();
23106    method public int getDataCodingScheme();
23107    method @Nullable public android.telephony.SmsCbEtwsInfo getEtwsWarningInfo();
23108    method public int getGeographicalScope();
23109    method @NonNull public java.util.List<android.telephony.CbGeoUtils.Geometry> getGeometries();
23110    method @Nullable public String getLanguageCode();
23111    method @NonNull public android.telephony.SmsCbLocation getLocation();
23112    method public int getMaximumWaitingDuration();
23113    method @Nullable public String getMessageBody();
23114    method public int getMessageFormat();
23115    method public int getMessagePriority();
23116    method public long getReceivedTime();
23117    method public int getSerialNumber();
23118    method public int getServiceCategory();
23119    method public int getSlotIndex();
23120    method public int getSubscriptionId();
23121    method public boolean isCmasMessage();
23122    method public boolean isEmergencyMessage();
23123    method public boolean isEtwsMessage();
23124    method public boolean needGeoFencingCheck();
23125    method public void writeToParcel(android.os.Parcel, int);
23126    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SmsCbMessage> CREATOR;
23127    field public static final int GEOGRAPHICAL_SCOPE_CELL_WIDE = 3; // 0x3
23128    field public static final int GEOGRAPHICAL_SCOPE_CELL_WIDE_IMMEDIATE = 0; // 0x0
23129    field public static final int GEOGRAPHICAL_SCOPE_LOCATION_AREA_WIDE = 2; // 0x2
23130    field public static final int GEOGRAPHICAL_SCOPE_PLMN_WIDE = 1; // 0x1
23131    field public static final int MAXIMUM_WAIT_TIME_NOT_SET = 255; // 0xff
23132    field public static final int MESSAGE_FORMAT_3GPP = 1; // 0x1
23133    field public static final int MESSAGE_FORMAT_3GPP2 = 2; // 0x2
23134    field public static final int MESSAGE_PRIORITY_EMERGENCY = 3; // 0x3
23135    field public static final int MESSAGE_PRIORITY_INTERACTIVE = 1; // 0x1
23136    field public static final int MESSAGE_PRIORITY_NORMAL = 0; // 0x0
23137    field public static final int MESSAGE_PRIORITY_URGENT = 2; // 0x2
23138  }
23139
23140  public final class SmsManager {
23141    method @Deprecated public boolean disableCellBroadcastRange(int, int, int);
23142    method @Deprecated public boolean enableCellBroadcastRange(int, int, int);
23143    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getPremiumSmsConsent(@NonNull String);
23144    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.net.Uri getSmscIdentity();
23145    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_CELL_BROADCASTS) public void resetAllCellBroadcastRanges();
23146    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>);
23147    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setPremiumSmsConsent(@NonNull String, int);
23148    field public static final int PREMIUM_SMS_CONSENT_ALWAYS_ALLOW = 3; // 0x3
23149    field public static final int PREMIUM_SMS_CONSENT_ASK_USER = 1; // 0x1
23150    field public static final int PREMIUM_SMS_CONSENT_NEVER_ALLOW = 2; // 0x2
23151    field public static final int PREMIUM_SMS_CONSENT_UNKNOWN = 0; // 0x0
23152  }
23153
23154  public class SmsMessage {
23155    method @Nullable public static android.telephony.SmsMessage createFromNativeSmsSubmitPdu(@NonNull byte[], boolean);
23156    method @Nullable public static android.telephony.SmsMessage.SubmitPdu getSmsPdu(int, int, @Nullable String, @NonNull String, @NonNull String, long);
23157    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);
23158  }
23159
23160  public class SubscriptionInfo implements android.os.Parcelable {
23161    method public boolean areUiccApplicationsEnabled();
23162    method @Nullable public java.util.List<android.telephony.UiccAccessRule> getAccessRules();
23163    method public int getProfileClass();
23164    method @FlaggedApi("com.android.internal.telephony.flags.support_psim_to_esim_conversion") public int getTransferStatus();
23165    method public boolean isGroupDisabled();
23166  }
23167
23168  public class SubscriptionManager {
23169    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean canDisablePhysicalSubscription();
23170    method public boolean canManageSubscription(@NonNull android.telephony.SubscriptionInfo, @NonNull String);
23171    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int[] getActiveSubscriptionIdList();
23172    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.SubscriptionInfo getActiveSubscriptionInfoForIcc(@NonNull String);
23173    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public byte[] getAllSimSpecificSettingsForBackup();
23174    method @Nullable public java.util.List<android.telephony.SubscriptionInfo> getAvailableSubscriptionInfoList();
23175    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int[] getCompleteActiveSubscriptionIdList();
23176    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getEnabledSubscriptionId(int);
23177    method @NonNull public static android.content.res.Resources getResourcesForSubId(@NonNull android.content.Context, int);
23178    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isSubscriptionEnabled(int);
23179    method public void requestEmbeddedSubscriptionInfoListRefresh();
23180    method public void requestEmbeddedSubscriptionInfoListRefresh(int);
23181    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void restoreAllSimSpecificSettingsFromBackup(@NonNull byte[]);
23182    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDefaultDataSubId(int);
23183    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDefaultSmsSubId(int);
23184    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDefaultVoiceSubscriptionId(int);
23185    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>);
23186    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setSubscriptionEnabled(int, boolean);
23187    method @FlaggedApi("com.android.internal.telephony.flags.support_psim_to_esim_conversion") @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void setTransferStatus(int, int);
23188    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setUiccApplicationsEnabled(int, boolean);
23189    field @RequiresPermission(android.Manifest.permission.MANAGE_SUBSCRIPTION_PLANS) public static final String ACTION_SUBSCRIPTION_PLANS_CHANGED = "android.telephony.action.SUBSCRIPTION_PLANS_CHANGED";
23190    field @NonNull public static final android.net.Uri ADVANCED_CALLING_ENABLED_CONTENT_URI;
23191    field @NonNull public static final android.net.Uri CROSS_SIM_ENABLED_CONTENT_URI;
23192    field @Deprecated public static final int PROFILE_CLASS_DEFAULT = -1; // 0xffffffff
23193    field public static final int PROFILE_CLASS_OPERATIONAL = 2; // 0x2
23194    field public static final int PROFILE_CLASS_PROVISIONING = 1; // 0x1
23195    field public static final int PROFILE_CLASS_TESTING = 0; // 0x0
23196    field public static final int PROFILE_CLASS_UNSET = -1; // 0xffffffff
23197    field @FlaggedApi("com.android.internal.telephony.flags.support_psim_to_esim_conversion") public static final int TRANSFER_STATUS_CONVERTED = 2; // 0x2
23198    field @FlaggedApi("com.android.internal.telephony.flags.support_psim_to_esim_conversion") public static final int TRANSFER_STATUS_NONE = 0; // 0x0
23199    field @FlaggedApi("com.android.internal.telephony.flags.support_psim_to_esim_conversion") public static final int TRANSFER_STATUS_TRANSFERRED_OUT = 1; // 0x1
23200    field @NonNull public static final android.net.Uri VT_ENABLED_CONTENT_URI;
23201    field @NonNull public static final android.net.Uri WFC_ENABLED_CONTENT_URI;
23202    field @NonNull public static final android.net.Uri WFC_MODE_CONTENT_URI;
23203    field @NonNull public static final android.net.Uri WFC_ROAMING_ENABLED_CONTENT_URI;
23204    field @NonNull public static final android.net.Uri WFC_ROAMING_MODE_CONTENT_URI;
23205  }
23206
23207  public static class SubscriptionPlan.Builder {
23208    method @Deprecated public static android.telephony.SubscriptionPlan.Builder createRecurringDaily(java.time.ZonedDateTime);
23209    method @Deprecated public static android.telephony.SubscriptionPlan.Builder createRecurringMonthly(java.time.ZonedDateTime);
23210    method @Deprecated public static android.telephony.SubscriptionPlan.Builder createRecurringWeekly(java.time.ZonedDateTime);
23211  }
23212
23213  public class TelephonyCallback {
23214    field @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final int EVENT_ACTIVE_DATA_SUBSCRIPTION_ID_CHANGED = 23; // 0x17
23215    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_ALLOWED_NETWORK_TYPE_LIST_CHANGED = 35; // 0x23
23216    field public static final int EVENT_ALWAYS_REPORTED_SIGNAL_STRENGTH_CHANGED = 10; // 0xa
23217    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
23218    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_CALL_ATTRIBUTES_CHANGED = 27; // 0x1b
23219    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_CALL_DISCONNECT_CAUSE_CHANGED = 26; // 0x1a
23220    field @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final int EVENT_CALL_FORWARDING_INDICATOR_CHANGED = 4; // 0x4
23221    field public static final int EVENT_CALL_STATE_CHANGED = 6; // 0x6
23222    field public static final int EVENT_CARRIER_NETWORK_CHANGED = 17; // 0x11
23223    field @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final int EVENT_CARRIER_ROAMING_NTN_AVAILABLE_SERVICES_CHANGED = 44; // 0x2c
23224    field @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final int EVENT_CARRIER_ROAMING_NTN_ELIGIBLE_STATE_CHANGED = 43; // 0x2b
23225    field @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final int EVENT_CARRIER_ROAMING_NTN_MODE_CHANGED = 42; // 0x2a
23226    field @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final int EVENT_CARRIER_ROAMING_NTN_SIGNAL_STRENGTH_CHANGED = 45; // 0x2d
23227    field @FlaggedApi("com.android.internal.telephony.flags.cellular_identifier_disclosure_indications") @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_CELLULAR_IDENTIFIER_DISCLOSED_CHANGED = 47; // 0x2f
23228    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
23229    field @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public static final int EVENT_CELL_LOCATION_CHANGED = 5; // 0x5
23230    field public static final int EVENT_DATA_ACTIVATION_STATE_CHANGED = 19; // 0x13
23231    field public static final int EVENT_DATA_ACTIVITY_CHANGED = 8; // 0x8
23232    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_DATA_CONNECTION_REAL_TIME_INFO_CHANGED = 14; // 0xe
23233    field public static final int EVENT_DATA_CONNECTION_STATE_CHANGED = 7; // 0x7
23234    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_DATA_ENABLED_CHANGED = 34; // 0x22
23235    field public static final int EVENT_DISPLAY_INFO_CHANGED = 21; // 0x15
23236    field @FlaggedApi("com.android.internal.telephony.flags.emergency_callback_mode_notification") @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_EMERGENCY_CALLBACK_MODE_CHANGED = 40; // 0x28
23237    field @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final int EVENT_EMERGENCY_NUMBER_LIST_CHANGED = 25; // 0x19
23238    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_IMS_CALL_DISCONNECT_CAUSE_CHANGED = 28; // 0x1c
23239    field @RequiresPermission(android.Manifest.permission.READ_CALL_LOG) public static final int EVENT_LEGACY_CALL_STATE_CHANGED = 36; // 0x24
23240    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_LINK_CAPACITY_ESTIMATE_CHANGED = 37; // 0x25
23241    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_MEDIA_QUALITY_STATUS_CHANGED = 39; // 0x27
23242    field @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final int EVENT_MESSAGE_WAITING_INDICATOR_CHANGED = 3; // 0x3
23243    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_OEM_HOOK_RAW = 15; // 0xf
23244    field @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public static final int EVENT_OUTGOING_EMERGENCY_CALL = 29; // 0x1d
23245    field @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public static final int EVENT_OUTGOING_EMERGENCY_SMS = 30; // 0x1e
23246    field public static final int EVENT_PHONE_CAPABILITY_CHANGED = 22; // 0x16
23247    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_PHYSICAL_CHANNEL_CONFIG_CHANGED = 33; // 0x21
23248    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_PRECISE_CALL_STATE_CHANGED = 12; // 0xc
23249    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_PRECISE_DATA_CONNECTION_STATE_CHANGED = 13; // 0xd
23250    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_RADIO_POWER_STATE_CHANGED = 24; // 0x18
23251    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
23252    field @FlaggedApi("com.android.internal.telephony.flags.cellular_identifier_disclosure_indications") @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_SECURITY_ALGORITHMS_CHANGED = 46; // 0x2e
23253    field public static final int EVENT_SERVICE_STATE_CHANGED = 1; // 0x1
23254    field public static final int EVENT_SIGNAL_STRENGTHS_CHANGED = 9; // 0x9
23255    field public static final int EVENT_SIGNAL_STRENGTH_CHANGED = 2; // 0x2
23256    field @FlaggedApi("com.android.internal.telephony.flags.simultaneous_calling_indications") @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_SIMULTANEOUS_CELLULAR_CALLING_SUBSCRIPTIONS_CHANGED = 41; // 0x29
23257    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_SRVCC_STATE_CHANGED = 16; // 0x10
23258    field public static final int EVENT_USER_MOBILE_DATA_STATE_CHANGED = 20; // 0x14
23259    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_VOICE_ACTIVATION_STATE_CHANGED = 18; // 0x12
23260  }
23261
23262  public static interface TelephonyCallback.AllowedNetworkTypesListener {
23263    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onAllowedNetworkTypesChanged(int, long);
23264  }
23265
23266  public static interface TelephonyCallback.CallAttributesListener {
23267    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public default void onCallAttributesChanged(@NonNull android.telephony.CallAttributes);
23268    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public default void onCallStatesChanged(@NonNull java.util.List<android.telephony.CallState>);
23269  }
23270
23271  @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public static interface TelephonyCallback.CarrierRoamingNtnModeListener {
23272    method public default void onCarrierRoamingNtnAvailableServicesChanged(@NonNull int[]);
23273    method public default void onCarrierRoamingNtnEligibleStateChanged(boolean);
23274    method public void onCarrierRoamingNtnModeChanged(boolean);
23275    method public default void onCarrierRoamingNtnSignalStrengthChanged(@NonNull android.telephony.satellite.NtnSignalStrength);
23276  }
23277
23278  @FlaggedApi("com.android.internal.telephony.flags.cellular_identifier_disclosure_indications") public static interface TelephonyCallback.CellularIdentifierDisclosedListener {
23279    method public void onCellularIdentifierDisclosedChanged(@NonNull android.telephony.CellularIdentifierDisclosure);
23280  }
23281
23282  public static interface TelephonyCallback.DataEnabledListener {
23283    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onDataEnabledChanged(boolean, int);
23284  }
23285
23286  @FlaggedApi("com.android.internal.telephony.flags.emergency_callback_mode_notification") public static interface TelephonyCallback.EmergencyCallbackModeListener {
23287    method public void onCallbackModeRestarted(int, @NonNull java.time.Duration, int);
23288    method public void onCallbackModeStarted(int, @NonNull java.time.Duration, int);
23289    method public void onCallbackModeStopped(int, int, int);
23290  }
23291
23292  public static interface TelephonyCallback.LinkCapacityEstimateChangedListener {
23293    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onLinkCapacityEstimateChanged(@NonNull java.util.List<android.telephony.LinkCapacityEstimate>);
23294  }
23295
23296  public static interface TelephonyCallback.MediaQualityStatusChangedListener {
23297    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onMediaQualityStatusChanged(@NonNull android.telephony.ims.MediaQualityStatus);
23298  }
23299
23300  public static interface TelephonyCallback.OutgoingEmergencyCallListener {
23301    method @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void onOutgoingEmergencyCall(@NonNull android.telephony.emergency.EmergencyNumber, int);
23302  }
23303
23304  public static interface TelephonyCallback.OutgoingEmergencySmsListener {
23305    method @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void onOutgoingEmergencySms(@NonNull android.telephony.emergency.EmergencyNumber, int);
23306  }
23307
23308  public static interface TelephonyCallback.PhoneCapabilityListener {
23309    method public void onPhoneCapabilityChanged(@NonNull android.telephony.PhoneCapability);
23310  }
23311
23312  public static interface TelephonyCallback.PreciseCallStateListener {
23313    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onPreciseCallStateChanged(@NonNull android.telephony.PreciseCallState);
23314  }
23315
23316  public static interface TelephonyCallback.RadioPowerStateListener {
23317    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onRadioPowerStateChanged(int);
23318  }
23319
23320  @FlaggedApi("com.android.internal.telephony.flags.security_algorithms_update_indications") public static interface TelephonyCallback.SecurityAlgorithmsListener {
23321    method public void onSecurityAlgorithmsChanged(@NonNull android.telephony.SecurityAlgorithmUpdate);
23322  }
23323
23324  @FlaggedApi("com.android.internal.telephony.flags.simultaneous_calling_indications") public static interface TelephonyCallback.SimultaneousCellularCallingSupportListener {
23325    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onSimultaneousCellularCallingSubscriptionsChanged(@NonNull java.util.Set<java.lang.Integer>);
23326  }
23327
23328  public static interface TelephonyCallback.SrvccStateListener {
23329    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onSrvccStateChanged(int);
23330  }
23331
23332  public static interface TelephonyCallback.VoiceActivationStateListener {
23333    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onVoiceActivationStateChanged(int);
23334  }
23335
23336  public final class TelephonyHistogram implements android.os.Parcelable {
23337    ctor public TelephonyHistogram(android.os.Parcel);
23338    ctor public TelephonyHistogram(android.telephony.TelephonyHistogram);
23339    ctor public TelephonyHistogram(int, int, int);
23340    method public void addTimeTaken(int);
23341    method public int describeContents();
23342    method public int getAverageTime();
23343    method public int getBucketCount();
23344    method public int[] getBucketCounters();
23345    method public int[] getBucketEndPoints();
23346    method public int getCategory();
23347    method public int getId();
23348    method public int getMaxTime();
23349    method public int getMinTime();
23350    method public int getSampleCount();
23351    method public void writeToParcel(android.os.Parcel, int);
23352    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.TelephonyHistogram> CREATOR;
23353    field public static final int TELEPHONY_CATEGORY_RIL = 1; // 0x1
23354  }
23355
23356  public class TelephonyManager {
23357    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);
23358    method @Deprecated @RequiresPermission(android.Manifest.permission.CALL_PHONE) public void call(String, String);
23359    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.PinResult changeIccLockPin(@NonNull String, @NonNull String);
23360    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int checkCarrierPrivilegesForPackage(String);
23361    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int checkCarrierPrivilegesForPackageAnyPhone(String);
23362    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void clearRadioPowerOffForReason(int);
23363    method public void dial(String);
23364    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean disableDataConnectivity();
23365    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean enableDataConnectivity();
23366    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean enableModemForSlot(int, boolean);
23367    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void enableVideoCalling(boolean);
23368    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getAidForAppType(int);
23369    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<android.service.carrier.CarrierIdentifier> getAllowedCarriers(int);
23370    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public long getAllowedNetworkTypes();
23371    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public long getAllowedNetworkTypesBitmask();
23372    method @Nullable @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public android.content.ComponentName getAndUpdateDefaultRespondViaMessageApplication();
23373    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void getCallForwarding(int, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.TelephonyManager.CallForwardingInfoCallback);
23374    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>);
23375    method @FlaggedApi("com.android.internal.telephony.flags.carrier_id_from_carrier_identifier") @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public int getCarrierIdFromCarrierIdentifier(@NonNull android.service.carrier.CarrierIdentifier);
23376    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.ImsiEncryptionInfo getCarrierInfoForImsiEncryption(int);
23377    method public java.util.List<java.lang.String> getCarrierPackageNamesForIntent(android.content.Intent);
23378    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<java.lang.String> getCarrierPackageNamesForIntentAndPhone(android.content.Intent, int);
23379    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getCarrierPrivilegeStatus(int);
23380    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<java.lang.String> getCarrierPrivilegedPackagesForAllActiveSubscriptions();
23381    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.CarrierRestrictionRules getCarrierRestrictionRules();
23382    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getCarrierServicePackageName();
23383    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getCarrierServicePackageNameForLogicalSlot(int);
23384    method @Deprecated @FlaggedApi("com.android.internal.telephony.flags.deprecate_cdma") @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getCdmaEnhancedRoamingIndicatorDisplayNumber();
23385    method @Deprecated @FlaggedApi("com.android.internal.telephony.flags.deprecate_cdma") @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String getCdmaMdn();
23386    method @Deprecated @FlaggedApi("com.android.internal.telephony.flags.deprecate_cdma") @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String getCdmaMdn(int);
23387    method @Deprecated @FlaggedApi("com.android.internal.telephony.flags.deprecate_cdma") @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String getCdmaMin();
23388    method @Deprecated @FlaggedApi("com.android.internal.telephony.flags.deprecate_cdma") @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String getCdmaMin(int);
23389    method @Deprecated @FlaggedApi("com.android.internal.telephony.flags.deprecate_cdma") public String getCdmaPrlVersion();
23390    method @Deprecated @FlaggedApi("com.android.internal.telephony.flags.deprecate_cdma") @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getCdmaRoamingMode();
23391    method @Deprecated @FlaggedApi("com.android.internal.telephony.flags.deprecate_cdma") @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getCdmaSubscriptionMode();
23392    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_CELL_BROADCASTS) public java.util.List<android.telephony.CellBroadcastIdRange> getCellBroadcastIdRanges();
23393    method public int getCurrentPhoneType();
23394    method public int getCurrentPhoneType(int);
23395    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getDataActivationState();
23396    method @Deprecated public boolean getDataEnabled();
23397    method @Deprecated public boolean getDataEnabled(int);
23398    method @Nullable @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public android.content.ComponentName getDefaultRespondViaMessageApplication();
23399    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String getDeviceSoftwareVersion(int);
23400    method @FlaggedApi("android.permission.flags.get_emergency_role_holder_api_enabled") @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getEmergencyAssistancePackageName();
23401    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean getEmergencyCallbackMode();
23402    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getEmergencyNumberDbVersion();
23403    method @FlaggedApi("com.android.internal.telephony.flags.get_group_id_level2") @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getGroupIdLevel2();
23404    method @FlaggedApi("com.android.internal.telephony.flags.support_isim_record") @NonNull @RequiresPermission(value=android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, conditional=true) public java.util.List<java.lang.String> getImsPcscfAddresses();
23405    method @FlaggedApi("com.android.internal.telephony.flags.support_isim_record") @Nullable @RequiresPermission(android.Manifest.permission.USE_ICC_AUTH_WITH_DEVICE_IDENTIFIER) public String getImsPrivateUserIdentity();
23406    method @FlaggedApi("com.android.internal.telephony.flags.support_isim_record") @NonNull @RequiresPermission(value=android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, conditional=true) public java.util.List<android.net.Uri> getImsPublicUserIdentities();
23407    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getIsimDomain();
23408    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getIsimIst();
23409    method @FlaggedApi("com.android.server.telecom.flags.get_last_known_cell_identity") @Nullable @RequiresPermission(allOf={android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.ACCESS_LAST_KNOWN_CELL_ID}) public android.telephony.CellIdentity getLastKnownCellIdentity();
23410    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.Map<java.lang.Integer,java.lang.Integer> getLogicalToPhysicalSlotMapping();
23411    method public int getMaxNumberOfSimultaneouslyActiveSims();
23412    method public static long getMaxNumberVerificationTimeoutMillis();
23413    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String[] getMergedImsisFromGroup();
23414    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.PhoneCapability getPhoneCapability();
23415    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public long getPreferredNetworkTypeBitmask();
23416    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.Set<java.lang.Integer> getRadioPowerOffReasons();
23417    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public int getRadioPowerState();
23418    method public int getSimApplicationState();
23419    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getSimApplicationState(int);
23420    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getSimApplicationState(int, int);
23421    method public int getSimCardState();
23422    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getSimCardState(int);
23423    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getSimCardState(int, int);
23424    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.Locale getSimLocale();
23425    method @FlaggedApi("com.android.internal.telephony.flags.support_isim_record") @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void getSimServiceTable(int, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<byte[],java.lang.Exception>);
23426    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.Collection<android.telephony.UiccSlotMapping> getSimSlotMapping();
23427    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<android.telephony.RadioAccessSpecifier> getSystemSelectionChannels();
23428    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public java.util.List<android.telephony.TelephonyHistogram> getTelephonyHistograms();
23429    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.UiccSlotInfo[] getUiccSlotsInfo();
23430    method @Nullable public android.os.Bundle getVisualVoicemailSettings();
23431    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getVoiceActivationState();
23432    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean handlePinMmi(String);
23433    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean handlePinMmiForSubscriber(int, String);
23434    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void iccCloseLogicalChannelByPort(int, int, int);
23435    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean iccCloseLogicalChannelBySlot(int, int);
23436    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.IccOpenLogicalChannelResponse iccOpenLogicalChannelByPort(int, int, @Nullable String, int);
23437    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.IccOpenLogicalChannelResponse iccOpenLogicalChannelBySlot(int, @Nullable String, int);
23438    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String iccTransmitApduBasicChannelByPort(int, int, int, int, int, int, int, @Nullable String);
23439    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String iccTransmitApduBasicChannelBySlot(int, int, int, int, int, int, @Nullable String);
23440    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String iccTransmitApduLogicalChannelByPort(int, int, int, int, int, int, int, int, @Nullable String);
23441    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String iccTransmitApduLogicalChannelBySlot(int, int, int, int, int, int, int, @Nullable String);
23442    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isAnyRadioPoweredOn();
23443    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isApnMetered(int);
23444    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isApplicationOnUicc(int);
23445    method @FlaggedApi("com.android.internal.telephony.flags.enable_identifier_disclosure_transparency") @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isCellularIdentifierDisclosureNotificationsEnabled();
23446    method public boolean isDataConnectivityPossible();
23447    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isDataEnabledForApn(int);
23448    method @FlaggedApi("com.android.internal.telephony.flags.use_oem_domain_selection_service") @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isDomainSelectionSupported();
23449    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isEmergencyAssistanceEnabled();
23450    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public boolean isIccLockEnabled();
23451    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isIdle();
23452    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isInEmergencySmsMode();
23453    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isLteCdmaEvdoGsmWcdmaEnabled();
23454    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isMobileDataPolicyEnabled(int);
23455    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isNrDualConnectivityEnabled();
23456    method @FlaggedApi("com.android.internal.telephony.flags.enable_modem_cipher_transparency") @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isNullCipherNotificationsEnabled();
23457    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isOffhook();
23458    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isOpportunisticNetworkEnabled();
23459    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isPotentialEmergencyNumber(@NonNull String);
23460    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isRadioOn();
23461    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isRinging();
23462    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean isTetheringApnRequired();
23463    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isVideoCallingEnabled();
23464    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public boolean isVisualVoicemailEnabled(android.telecom.PhoneAccountHandle);
23465    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean matchesCurrentSimOperator(@NonNull String, int, @Nullable String);
23466    method public boolean needsOtaServiceProvisioning();
23467    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void notifyOtaEmergencyNumberDbInstalled();
23468    method @FlaggedApi("com.android.server.telecom.flags.telecom_resolve_hidden_dependencies") @RequiresPermission(android.Manifest.permission.READ_DROPBOX_DATA) public void persistEmergencyCallDiagnosticData(@NonNull String, @NonNull android.telephony.TelephonyManager.EmergencyCallDiagnosticData);
23469    method @RequiresPermission(android.Manifest.permission.REBOOT) public int prepareForUnattendedReboot();
23470    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean rebootRadio();
23471    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void registerCarrierPrivilegesCallback(int, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.TelephonyManager.CarrierPrivilegesCallback);
23472    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void reportDefaultNetworkStatus(boolean);
23473    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);
23474    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>);
23475    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);
23476    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void requestRadioPowerOffForReason(int);
23477    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void resetAllCarrierActions();
23478    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void resetCarrierKeysForImsiEncryption();
23479    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public void resetIms(int);
23480    method @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void resetOtaEmergencyNumberDbFilePath();
23481    method @Deprecated @FlaggedApi("com.android.internal.telephony.flags.deprecate_cdma") @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean resetRadioConfig();
23482    method @RequiresPermission(android.Manifest.permission.CONNECTIVITY_INTERNAL) public void resetSettings();
23483    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int sendThermalMitigationRequest(@NonNull android.telephony.ThermalMitigationRequest);
23484    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setAllowedCarriers(int, java.util.List<android.service.carrier.CarrierIdentifier>);
23485    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setAllowedNetworkTypes(long);
23486    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>);
23487    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>);
23488    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCarrierDataEnabled(boolean);
23489    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setCarrierRestrictionRules(@NonNull android.telephony.CarrierRestrictionRules);
23490    method @Deprecated @FlaggedApi("com.android.internal.telephony.flags.deprecate_cdma") @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCdmaRoamingMode(int);
23491    method @Deprecated @FlaggedApi("com.android.internal.telephony.flags.deprecate_cdma") @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCdmaSubscriptionMode(int);
23492    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>);
23493    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataActivationState(int);
23494    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataEnabled(int, boolean);
23495    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataRoamingEnabled(boolean);
23496    method @FlaggedApi("com.android.internal.telephony.flags.enable_identifier_disclosure_transparency") @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setEnableCellularIdentifierDisclosureNotifications(boolean);
23497    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.PinResult setIccLockEnabled(boolean, @NonNull String);
23498    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setMobileDataPolicyEnabled(int, boolean);
23499    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setMultiSimCarrierRestriction(boolean);
23500    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setNrDualConnectivityState(int);
23501    method @FlaggedApi("com.android.internal.telephony.flags.enable_modem_cipher_transparency") @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setNullCipherNotificationsEnabled(boolean);
23502    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setOpportunisticNetworkState(boolean);
23503    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setPreferredNetworkTypeBitmask(long);
23504    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setRadio(boolean);
23505    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setRadioEnabled(boolean);
23506    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setRadioPower(boolean);
23507    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSimPowerState(int);
23508    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>);
23509    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSimPowerStateForSlot(int, int);
23510    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>);
23511    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSimSlotMapping(@NonNull java.util.Collection<android.telephony.UiccSlotMapping>);
23512    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSystemSelectionChannels(@NonNull java.util.List<android.telephony.RadioAccessSpecifier>);
23513    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>);
23514    method @Deprecated public void setVisualVoicemailEnabled(android.telecom.PhoneAccountHandle, boolean);
23515    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoiceActivationState(int);
23516    method @FlaggedApi("com.android.server.telecom.flags.telecom_resolve_hidden_dependencies") @RequiresPermission(android.Manifest.permission.BIND_TELECOM_CONNECTION_SERVICE) public void setVoiceServiceStateOverride(boolean);
23517    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void shutdownAllRadios();
23518    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.PinResult supplyIccLockPin(@NonNull String);
23519    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.PinResult supplyIccLockPuk(@NonNull String, @NonNull String);
23520    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean supplyPin(String);
23521    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int[] supplyPinReportResult(String);
23522    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean supplyPuk(String, String);
23523    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int[] supplyPukReportResult(String, String);
23524    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean switchSlots(int[]);
23525    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void toggleRadioOnOff();
23526    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void unregisterCarrierPrivilegesCallback(@NonNull android.telephony.TelephonyManager.CarrierPrivilegesCallback);
23527    method @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void updateOtaEmergencyNumberDbFilePath(@NonNull android.os.ParcelFileDescriptor);
23528    method public void updateServiceLocation();
23529    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final String ACTION_ANOMALY_REPORTED = "android.telephony.action.ANOMALY_REPORTED";
23530    field public static final String ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED = "android.intent.action.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED";
23531    field public static final String ACTION_DEFAULT_VOICE_SUBSCRIPTION_CHANGED = "android.intent.action.ACTION_DEFAULT_VOICE_SUBSCRIPTION_CHANGED";
23532    field public static final String ACTION_EMERGENCY_ASSISTANCE = "android.telephony.action.EMERGENCY_ASSISTANCE";
23533    field public static final String ACTION_EMERGENCY_CALLBACK_MODE_CHANGED = "android.intent.action.EMERGENCY_CALLBACK_MODE_CHANGED";
23534    field public static final String ACTION_EMERGENCY_CALL_STATE_CHANGED = "android.intent.action.EMERGENCY_CALL_STATE_CHANGED";
23535    field public static final String ACTION_REQUEST_OMADM_CONFIGURATION_UPDATE = "com.android.omadm.service.CONFIGURATION_UPDATE";
23536    field public static final String ACTION_SHOW_NOTICE_ECM_BLOCK_OTHERS = "android.telephony.action.SHOW_NOTICE_ECM_BLOCK_OTHERS";
23537    field public static final String ACTION_SIM_APPLICATION_STATE_CHANGED = "android.telephony.action.SIM_APPLICATION_STATE_CHANGED";
23538    field public static final String ACTION_SIM_CARD_STATE_CHANGED = "android.telephony.action.SIM_CARD_STATE_CHANGED";
23539    field public static final String ACTION_SIM_SLOT_STATUS_CHANGED = "android.telephony.action.SIM_SLOT_STATUS_CHANGED";
23540    field public static final int ALLOWED_NETWORK_TYPES_REASON_ENABLE_2G = 3; // 0x3
23541    field public static final int ALLOWED_NETWORK_TYPES_REASON_POWER = 1; // 0x1
23542    field public static final int CALL_WAITING_STATUS_DISABLED = 2; // 0x2
23543    field public static final int CALL_WAITING_STATUS_ENABLED = 1; // 0x1
23544    field public static final int CALL_WAITING_STATUS_FDN_CHECK_FAILURE = 5; // 0x5
23545    field public static final int CALL_WAITING_STATUS_NOT_SUPPORTED = 4; // 0x4
23546    field public static final int CALL_WAITING_STATUS_UNKNOWN_ERROR = 3; // 0x3
23547    field public static final String CAPABILITY_NR_DUAL_CONNECTIVITY_CONFIGURATION_AVAILABLE = "CAPABILITY_NR_DUAL_CONNECTIVITY_CONFIGURATION_AVAILABLE";
23548    field public static final String CAPABILITY_SECONDARY_LINK_BANDWIDTH_VISIBLE = "CAPABILITY_SECONDARY_LINK_BANDWIDTH_VISIBLE";
23549    field public static final String CAPABILITY_THERMAL_MITIGATION_DATA_THROTTLING = "CAPABILITY_THERMAL_MITIGATION_DATA_THROTTLING";
23550    field public static final String CAPABILITY_USES_ALLOWED_NETWORK_TYPES_BITMASK = "CAPABILITY_USES_ALLOWED_NETWORK_TYPES_BITMASK";
23551    field public static final int CARRIER_PRIVILEGE_STATUS_ERROR_LOADING_RULES = -2; // 0xfffffffe
23552    field public static final int CARRIER_PRIVILEGE_STATUS_HAS_ACCESS = 1; // 0x1
23553    field public static final int CARRIER_PRIVILEGE_STATUS_NO_ACCESS = 0; // 0x0
23554    field public static final int CARRIER_PRIVILEGE_STATUS_RULES_NOT_LOADED = -1; // 0xffffffff
23555    field @Deprecated @FlaggedApi("com.android.internal.telephony.flags.deprecate_cdma") public static final int CDMA_SUBSCRIPTION_NV = 1; // 0x1
23556    field @Deprecated @FlaggedApi("com.android.internal.telephony.flags.deprecate_cdma") public static final int CDMA_SUBSCRIPTION_RUIM_SIM = 0; // 0x0
23557    field @Deprecated @FlaggedApi("com.android.internal.telephony.flags.deprecate_cdma") public static final int CDMA_SUBSCRIPTION_UNKNOWN = -1; // 0xffffffff
23558    field public static final int CELL_BROADCAST_RESULT_FAIL_ACTIVATION = 3; // 0x3
23559    field public static final int CELL_BROADCAST_RESULT_FAIL_CONFIG = 2; // 0x2
23560    field public static final int CELL_BROADCAST_RESULT_SUCCESS = 0; // 0x0
23561    field public static final int CELL_BROADCAST_RESULT_UNKNOWN = -1; // 0xffffffff
23562    field public static final int CELL_BROADCAST_RESULT_UNSUPPORTED = 1; // 0x1
23563    field @FlaggedApi("com.android.internal.telephony.flags.emergency_callback_mode_notification") public static final int EMERGENCY_CALLBACK_MODE_CALL = 1; // 0x1
23564    field @FlaggedApi("com.android.internal.telephony.flags.emergency_callback_mode_notification") public static final int EMERGENCY_CALLBACK_MODE_SMS = 2; // 0x2
23565    field public static final int ENABLE_NR_DUAL_CONNECTIVITY_INVALID_STATE = 4; // 0x4
23566    field public static final int ENABLE_NR_DUAL_CONNECTIVITY_NOT_SUPPORTED = 1; // 0x1
23567    field public static final int ENABLE_NR_DUAL_CONNECTIVITY_RADIO_ERROR = 3; // 0x3
23568    field public static final int ENABLE_NR_DUAL_CONNECTIVITY_RADIO_NOT_AVAILABLE = 2; // 0x2
23569    field public static final int ENABLE_NR_DUAL_CONNECTIVITY_SUCCESS = 0; // 0x0
23570    field public static final String EXTRA_ANOMALY_DESCRIPTION = "android.telephony.extra.ANOMALY_DESCRIPTION";
23571    field public static final String EXTRA_ANOMALY_ID = "android.telephony.extra.ANOMALY_ID";
23572    field public static final String EXTRA_PHONE_IN_ECM_STATE = "android.telephony.extra.PHONE_IN_ECM_STATE";
23573    field public static final String EXTRA_PHONE_IN_EMERGENCY_CALL = "android.telephony.extra.PHONE_IN_EMERGENCY_CALL";
23574    field public static final String EXTRA_SIM_STATE = "android.telephony.extra.SIM_STATE";
23575    field public static final String EXTRA_VISUAL_VOICEMAIL_ENABLED_BY_USER_BOOL = "android.telephony.extra.VISUAL_VOICEMAIL_ENABLED_BY_USER_BOOL";
23576    field public static final String EXTRA_VOICEMAIL_SCRAMBLED_PIN_STRING = "android.telephony.extra.VOICEMAIL_SCRAMBLED_PIN_STRING";
23577    field public static final int GBA_FAILURE_REASON_FEATURE_NOT_READY = 2; // 0x2
23578    field public static final int GBA_FAILURE_REASON_FEATURE_NOT_SUPPORTED = 1; // 0x1
23579    field public static final int GBA_FAILURE_REASON_INCORRECT_NAF_ID = 4; // 0x4
23580    field public static final int GBA_FAILURE_REASON_NETWORK_FAILURE = 3; // 0x3
23581    field public static final int GBA_FAILURE_REASON_SECURITY_PROTOCOL_NOT_SUPPORTED = 5; // 0x5
23582    field public static final int GBA_FAILURE_REASON_UNKNOWN = 0; // 0x0
23583    field public static final int INVALID_EMERGENCY_NUMBER_DB_VERSION = -1; // 0xffffffff
23584    field public static final int KEY_TYPE_EPDG = 1; // 0x1
23585    field public static final int KEY_TYPE_WLAN = 2; // 0x2
23586    field public static final int MOBILE_DATA_POLICY_AUTO_DATA_SWITCH = 3; // 0x3
23587    field public static final int MOBILE_DATA_POLICY_DATA_ON_NON_DEFAULT_DURING_VOICE_CALL = 1; // 0x1
23588    field public static final int MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED = 2; // 0x2
23589    field public static final int NR_DUAL_CONNECTIVITY_DISABLE = 2; // 0x2
23590    field public static final int NR_DUAL_CONNECTIVITY_DISABLE_IMMEDIATE = 3; // 0x3
23591    field public static final int NR_DUAL_CONNECTIVITY_ENABLE = 1; // 0x1
23592    field public static final int PREPARE_UNATTENDED_REBOOT_ERROR = 2; // 0x2
23593    field public static final int PREPARE_UNATTENDED_REBOOT_PIN_REQUIRED = 1; // 0x1
23594    field public static final int PREPARE_UNATTENDED_REBOOT_SUCCESS = 0; // 0x0
23595    field public static final int RADIO_POWER_OFF = 0; // 0x0
23596    field public static final int RADIO_POWER_ON = 1; // 0x1
23597    field public static final int RADIO_POWER_REASON_CARRIER = 2; // 0x2
23598    field public static final int RADIO_POWER_REASON_NEARBY_DEVICE = 3; // 0x3
23599    field public static final int RADIO_POWER_REASON_THERMAL = 1; // 0x1
23600    field public static final int RADIO_POWER_REASON_USER = 0; // 0x0
23601    field public static final int RADIO_POWER_UNAVAILABLE = 2; // 0x2
23602    field public static final int SET_CARRIER_RESTRICTION_ERROR = 2; // 0x2
23603    field public static final int SET_CARRIER_RESTRICTION_NOT_SUPPORTED = 1; // 0x1
23604    field public static final int SET_CARRIER_RESTRICTION_SUCCESS = 0; // 0x0
23605    field public static final int SET_SIM_POWER_STATE_ALREADY_IN_STATE = 1; // 0x1
23606    field public static final int SET_SIM_POWER_STATE_MODEM_ERROR = 2; // 0x2
23607    field public static final int SET_SIM_POWER_STATE_NOT_SUPPORTED = 4; // 0x4
23608    field public static final int SET_SIM_POWER_STATE_SIM_ERROR = 3; // 0x3
23609    field public static final int SET_SIM_POWER_STATE_SUCCESS = 0; // 0x0
23610    field public static final int SIM_ACTIVATION_STATE_ACTIVATED = 2; // 0x2
23611    field public static final int SIM_ACTIVATION_STATE_ACTIVATING = 1; // 0x1
23612    field public static final int SIM_ACTIVATION_STATE_DEACTIVATED = 3; // 0x3
23613    field public static final int SIM_ACTIVATION_STATE_RESTRICTED = 4; // 0x4
23614    field public static final int SIM_ACTIVATION_STATE_UNKNOWN = 0; // 0x0
23615    field public static final int SIM_STATE_LOADED = 10; // 0xa
23616    field public static final int SIM_STATE_PRESENT = 11; // 0xb
23617    field public static final int SRVCC_STATE_HANDOVER_CANCELED = 3; // 0x3
23618    field public static final int SRVCC_STATE_HANDOVER_COMPLETED = 1; // 0x1
23619    field public static final int SRVCC_STATE_HANDOVER_FAILED = 2; // 0x2
23620    field public static final int SRVCC_STATE_HANDOVER_NONE = -1; // 0xffffffff
23621    field public static final int SRVCC_STATE_HANDOVER_STARTED = 0; // 0x0
23622    field @FlaggedApi("com.android.internal.telephony.flags.emergency_callback_mode_notification") public static final int STOP_REASON_EMERGENCY_SMS_SENT = 4; // 0x4
23623    field @FlaggedApi("com.android.internal.telephony.flags.emergency_callback_mode_notification") public static final int STOP_REASON_NORMAL_SMS_SENT = 2; // 0x2
23624    field @FlaggedApi("com.android.internal.telephony.flags.emergency_callback_mode_notification") public static final int STOP_REASON_OUTGOING_EMERGENCY_CALL_INITIATED = 3; // 0x3
23625    field @FlaggedApi("com.android.internal.telephony.flags.emergency_callback_mode_notification") public static final int STOP_REASON_OUTGOING_NORMAL_CALL_INITIATED = 1; // 0x1
23626    field @FlaggedApi("com.android.internal.telephony.flags.emergency_callback_mode_notification") public static final int STOP_REASON_TIMER_EXPIRED = 5; // 0x5
23627    field @FlaggedApi("com.android.internal.telephony.flags.emergency_callback_mode_notification") public static final int STOP_REASON_UNKNOWN = 0; // 0x0
23628    field @FlaggedApi("com.android.internal.telephony.flags.emergency_callback_mode_notification") public static final int STOP_REASON_USER_ACTION = 6; // 0x6
23629    field public static final int THERMAL_MITIGATION_RESULT_INVALID_STATE = 3; // 0x3
23630    field public static final int THERMAL_MITIGATION_RESULT_MODEM_ERROR = 1; // 0x1
23631    field public static final int THERMAL_MITIGATION_RESULT_MODEM_NOT_AVAILABLE = 2; // 0x2
23632    field public static final int THERMAL_MITIGATION_RESULT_SUCCESS = 0; // 0x0
23633    field public static final int THERMAL_MITIGATION_RESULT_UNKNOWN_ERROR = 4; // 0x4
23634  }
23635
23636  public static class TelephonyManager.BootstrapAuthenticationCallback {
23637    ctor public TelephonyManager.BootstrapAuthenticationCallback();
23638    method public void onAuthenticationFailure(int);
23639    method public void onKeysAvailable(@NonNull byte[], @NonNull String);
23640  }
23641
23642  public static interface TelephonyManager.CallForwardingInfoCallback {
23643    method public void onCallForwardingInfoAvailable(@NonNull android.telephony.CallForwardingInfo);
23644    method public void onError(int);
23645    field public static final int RESULT_ERROR_FDN_CHECK_FAILURE = 2; // 0x2
23646    field public static final int RESULT_ERROR_NOT_SUPPORTED = 3; // 0x3
23647    field public static final int RESULT_ERROR_UNKNOWN = 1; // 0x1
23648    field public static final int RESULT_SUCCESS = 0; // 0x0
23649  }
23650
23651  public static interface TelephonyManager.CarrierPrivilegesCallback {
23652    method public void onCarrierPrivilegesChanged(@NonNull java.util.Set<java.lang.String>, @NonNull java.util.Set<java.lang.Integer>);
23653    method public default void onCarrierServiceChanged(@Nullable String, int);
23654  }
23655
23656  @FlaggedApi("com.android.server.telecom.flags.telecom_resolve_hidden_dependencies") public static final class TelephonyManager.EmergencyCallDiagnosticData {
23657    method public long getLogcatCollectionStartTimeMillis();
23658    method public boolean isLogcatCollectionEnabled();
23659    method public boolean isTelecomDumpsysCollectionEnabled();
23660    method public boolean isTelephonyDumpsysCollectionEnabled();
23661  }
23662
23663  public static final class TelephonyManager.EmergencyCallDiagnosticData.Builder {
23664    ctor public TelephonyManager.EmergencyCallDiagnosticData.Builder();
23665    method @NonNull public android.telephony.TelephonyManager.EmergencyCallDiagnosticData build();
23666    method @NonNull public android.telephony.TelephonyManager.EmergencyCallDiagnosticData.Builder setLogcatCollectionStartTimeMillis(long);
23667    method @NonNull public android.telephony.TelephonyManager.EmergencyCallDiagnosticData.Builder setTelecomDumpsysCollectionEnabled(boolean);
23668    method @NonNull public android.telephony.TelephonyManager.EmergencyCallDiagnosticData.Builder setTelephonyDumpsysCollectionEnabled(boolean);
23669  }
23670
23671  public static class TelephonyManager.ModemActivityInfoException extends java.lang.Exception {
23672    ctor public TelephonyManager.ModemActivityInfoException(int);
23673    method public int getErrorCode();
23674    field public static final int ERROR_INVALID_INFO_RECEIVED = 2; // 0x2
23675    field public static final int ERROR_MODEM_RESPONSE_ERROR = 3; // 0x3
23676    field public static final int ERROR_PHONE_NOT_AVAILABLE = 1; // 0x1
23677    field public static final int ERROR_UNKNOWN = 0; // 0x0
23678  }
23679
23680  @FlaggedApi("com.android.server.telecom.flags.telecom_resolve_hidden_dependencies") public class TelephonyRegistryManager {
23681    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void notifyCallStateChangedForAllSubscriptions(int, @Nullable String);
23682    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void notifyOutgoingEmergencyCall(int, int, @NonNull android.telephony.emergency.EmergencyNumber);
23683  }
23684
23685  public final class ThermalMitigationRequest implements android.os.Parcelable {
23686    method public int describeContents();
23687    method @Nullable public android.telephony.DataThrottlingRequest getDataThrottlingRequest();
23688    method public int getThermalMitigationAction();
23689    method public void writeToParcel(@NonNull android.os.Parcel, int);
23690    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ThermalMitigationRequest> CREATOR;
23691    field public static final int THERMAL_MITIGATION_ACTION_DATA_THROTTLING = 0; // 0x0
23692    field public static final int THERMAL_MITIGATION_ACTION_RADIO_OFF = 2; // 0x2
23693    field public static final int THERMAL_MITIGATION_ACTION_VOICE_ONLY = 1; // 0x1
23694  }
23695
23696  public static final class ThermalMitigationRequest.Builder {
23697    ctor public ThermalMitigationRequest.Builder();
23698    method @NonNull public android.telephony.ThermalMitigationRequest build();
23699    method @NonNull public android.telephony.ThermalMitigationRequest.Builder setDataThrottlingRequest(@NonNull android.telephony.DataThrottlingRequest);
23700    method @NonNull public android.telephony.ThermalMitigationRequest.Builder setThermalMitigationAction(int);
23701  }
23702
23703  @FlaggedApi("com.android.internal.telephony.flags.use_oem_domain_selection_service") public interface TransportSelectorCallback {
23704    method public void onCreated(@NonNull android.telephony.DomainSelector);
23705    method public void onSelectionTerminated(int);
23706    method public void onWlanSelected(boolean);
23707    method public void onWwanSelected(@NonNull java.util.function.Consumer<android.telephony.WwanSelectorCallback>);
23708  }
23709
23710  public final class UiccAccessRule implements android.os.Parcelable {
23711    ctor public UiccAccessRule(byte[], @Nullable String, long);
23712    method public int describeContents();
23713    method public int getCarrierPrivilegeStatus(android.content.pm.PackageInfo);
23714    method public int getCarrierPrivilegeStatus(android.content.pm.Signature, String);
23715    method public String getCertificateHexString();
23716    method @Nullable public String getPackageName();
23717    method public void writeToParcel(android.os.Parcel, int);
23718    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.UiccAccessRule> CREATOR;
23719  }
23720
23721  public class UiccSlotInfo implements android.os.Parcelable {
23722    ctor @Deprecated public UiccSlotInfo(boolean, boolean, String, int, int, boolean);
23723    method public int describeContents();
23724    method public String getCardId();
23725    method public int getCardStateInfo();
23726    method @Deprecated public boolean getIsActive();
23727    method public boolean getIsEuicc();
23728    method public boolean getIsExtendedApduSupported();
23729    method @Deprecated public int getLogicalSlotIdx();
23730    method @NonNull public java.util.Collection<android.telephony.UiccPortInfo> getPorts();
23731    method public boolean isRemovable();
23732    method public void writeToParcel(android.os.Parcel, int);
23733    field public static final int CARD_STATE_INFO_ABSENT = 1; // 0x1
23734    field public static final int CARD_STATE_INFO_ERROR = 3; // 0x3
23735    field public static final int CARD_STATE_INFO_PRESENT = 2; // 0x2
23736    field public static final int CARD_STATE_INFO_RESTRICTED = 4; // 0x4
23737    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.UiccSlotInfo> CREATOR;
23738  }
23739
23740  public final class UiccSlotMapping implements android.os.Parcelable {
23741    ctor public UiccSlotMapping(int, int, int);
23742    method public int describeContents();
23743    method @IntRange(from=0) public int getLogicalSlotIndex();
23744    method @IntRange(from=0) public int getPhysicalSlotIndex();
23745    method @IntRange(from=0) public int getPortIndex();
23746    method public void writeToParcel(@Nullable android.os.Parcel, int);
23747    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.UiccSlotMapping> CREATOR;
23748  }
23749
23750  public abstract class VisualVoicemailService extends android.app.Service {
23751    method public static final void sendVisualVoicemailSms(android.content.Context, android.telecom.PhoneAccountHandle, String, short, String, android.app.PendingIntent);
23752    method public static final void setSmsFilterSettings(android.content.Context, android.telecom.PhoneAccountHandle, android.telephony.VisualVoicemailSmsFilterSettings);
23753  }
23754
23755  public abstract class VopsSupportInfo implements android.os.Parcelable {
23756    method public int describeContents();
23757    method public abstract boolean equals(Object);
23758    method public abstract int hashCode();
23759    method public abstract boolean isEmergencyServiceFallbackSupported();
23760    method public abstract boolean isEmergencyServiceSupported();
23761    method public abstract boolean isVopsSupported();
23762    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.VopsSupportInfo> CREATOR;
23763  }
23764
23765  @FlaggedApi("com.android.internal.telephony.flags.use_oem_domain_selection_service") public interface WwanSelectorCallback {
23766    method public void onDomainSelected(int, boolean);
23767    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>);
23768  }
23769
23770}
23771
23772package android.telephony.cdma {
23773
23774  @Deprecated @FlaggedApi("com.android.internal.telephony.flags.deprecate_cdma") public final class CdmaSmsCbProgramData implements android.os.Parcelable {
23775    method @Deprecated @FlaggedApi("com.android.internal.telephony.flags.deprecate_cdma") public int describeContents();
23776    method @Deprecated @FlaggedApi("com.android.internal.telephony.flags.deprecate_cdma") public int getCategory();
23777    method @Deprecated @FlaggedApi("com.android.internal.telephony.flags.deprecate_cdma") public int getOperation();
23778    method @Deprecated @FlaggedApi("com.android.internal.telephony.flags.deprecate_cdma") public void writeToParcel(android.os.Parcel, int);
23779    field @Deprecated @FlaggedApi("com.android.internal.telephony.flags.deprecate_cdma") public static final int CATEGORY_CMAS_CHILD_ABDUCTION_EMERGENCY = 4099; // 0x1003
23780    field @Deprecated @FlaggedApi("com.android.internal.telephony.flags.deprecate_cdma") public static final int CATEGORY_CMAS_EXTREME_THREAT = 4097; // 0x1001
23781    field @Deprecated @FlaggedApi("com.android.internal.telephony.flags.deprecate_cdma") public static final int CATEGORY_CMAS_LAST_RESERVED_VALUE = 4351; // 0x10ff
23782    field @Deprecated @FlaggedApi("com.android.internal.telephony.flags.deprecate_cdma") public static final int CATEGORY_CMAS_PRESIDENTIAL_LEVEL_ALERT = 4096; // 0x1000
23783    field @Deprecated @FlaggedApi("com.android.internal.telephony.flags.deprecate_cdma") public static final int CATEGORY_CMAS_SEVERE_THREAT = 4098; // 0x1002
23784    field @Deprecated @FlaggedApi("com.android.internal.telephony.flags.deprecate_cdma") public static final int CATEGORY_CMAS_TEST_MESSAGE = 4100; // 0x1004
23785    field @Deprecated @FlaggedApi("com.android.internal.telephony.flags.deprecate_cdma") @NonNull public static final android.os.Parcelable.Creator<android.telephony.cdma.CdmaSmsCbProgramData> CREATOR;
23786    field @Deprecated @FlaggedApi("com.android.internal.telephony.flags.deprecate_cdma") public static final int OPERATION_ADD_CATEGORY = 1; // 0x1
23787    field @Deprecated @FlaggedApi("com.android.internal.telephony.flags.deprecate_cdma") public static final int OPERATION_CLEAR_CATEGORIES = 2; // 0x2
23788    field @Deprecated @FlaggedApi("com.android.internal.telephony.flags.deprecate_cdma") public static final int OPERATION_DELETE_CATEGORY = 0; // 0x0
23789  }
23790
23791}
23792
23793package android.telephony.data {
23794
23795  public class ApnSetting implements android.os.Parcelable {
23796    method public static int getApnTypeInt(@NonNull String);
23797    method @NonNull public static String getApnTypeString(int);
23798    field public static final String TYPE_ALL_STRING = "*";
23799    field public static final String TYPE_BIP_STRING = "bip";
23800    field public static final String TYPE_CBS_STRING = "cbs";
23801    field public static final String TYPE_DEFAULT_STRING = "default";
23802    field public static final String TYPE_DUN_STRING = "dun";
23803    field public static final String TYPE_EMERGENCY_STRING = "emergency";
23804    field public static final String TYPE_ENTERPRISE_STRING = "enterprise";
23805    field public static final String TYPE_FOTA_STRING = "fota";
23806    field public static final String TYPE_HIPRI_STRING = "hipri";
23807    field public static final String TYPE_IA_STRING = "ia";
23808    field public static final String TYPE_IMS_STRING = "ims";
23809    field public static final String TYPE_MCX_STRING = "mcx";
23810    field public static final String TYPE_MMS_STRING = "mms";
23811    field @FlaggedApi("com.android.internal.telephony.flags.oem_paid_private") public static final String TYPE_OEM_PAID_STRING = "oem_paid";
23812    field @FlaggedApi("com.android.internal.telephony.flags.oem_paid_private") public static final String TYPE_OEM_PRIVATE_STRING = "oem_private";
23813    field @FlaggedApi("com.android.internal.telephony.flags.carrier_enabled_satellite_flag") public static final String TYPE_RCS_STRING = "rcs";
23814    field public static final String TYPE_SUPL_STRING = "supl";
23815    field public static final String TYPE_VSIM_STRING = "vsim";
23816    field public static final String TYPE_XCAP_STRING = "xcap";
23817  }
23818
23819  public final class DataCallResponse implements android.os.Parcelable {
23820    method public int describeContents();
23821    method @NonNull public java.util.List<android.net.LinkAddress> getAddresses();
23822    method public int getCause();
23823    method @NonNull public java.util.List<java.net.InetAddress> getDnsAddresses();
23824    method @NonNull public java.util.List<java.net.InetAddress> getGatewayAddresses();
23825    method public int getHandoverFailureMode();
23826    method public int getId();
23827    method @NonNull public String getInterfaceName();
23828    method public int getLinkStatus();
23829    method @Deprecated public int getMtu();
23830    method public int getMtuV4();
23831    method public int getMtuV6();
23832    method @FlaggedApi("com.android.internal.telephony.flags.network_validation") public int getNetworkValidationStatus();
23833    method @NonNull public java.util.List<java.net.InetAddress> getPcscfAddresses();
23834    method public int getPduSessionId();
23835    method public int getProtocolType();
23836    method public long getRetryDurationMillis();
23837    method @Nullable public android.telephony.data.NetworkSliceInfo getSliceInfo();
23838    method @Deprecated public int getSuggestedRetryTime();
23839    method @NonNull public java.util.List<android.telephony.data.TrafficDescriptor> getTrafficDescriptors();
23840    method public void writeToParcel(android.os.Parcel, int);
23841    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.DataCallResponse> CREATOR;
23842    field public static final int HANDOVER_FAILURE_MODE_DO_FALLBACK = 1; // 0x1
23843    field public static final int HANDOVER_FAILURE_MODE_LEGACY = 0; // 0x0
23844    field public static final int HANDOVER_FAILURE_MODE_NO_FALLBACK_RETRY_HANDOVER = 2; // 0x2
23845    field public static final int HANDOVER_FAILURE_MODE_NO_FALLBACK_RETRY_SETUP_NORMAL = 3; // 0x3
23846    field public static final int HANDOVER_FAILURE_MODE_UNKNOWN = -1; // 0xffffffff
23847    field public static final int LINK_STATUS_ACTIVE = 2; // 0x2
23848    field public static final int LINK_STATUS_DORMANT = 1; // 0x1
23849    field public static final int LINK_STATUS_INACTIVE = 0; // 0x0
23850    field public static final int LINK_STATUS_UNKNOWN = -1; // 0xffffffff
23851    field public static final int PDU_SESSION_ID_NOT_SET = 0; // 0x0
23852    field public static final int RETRY_DURATION_UNDEFINED = -1; // 0xffffffff
23853  }
23854
23855  public static final class DataCallResponse.Builder {
23856    ctor public DataCallResponse.Builder();
23857    method @NonNull public android.telephony.data.DataCallResponse build();
23858    method @NonNull public android.telephony.data.DataCallResponse.Builder setAddresses(@NonNull java.util.List<android.net.LinkAddress>);
23859    method @NonNull public android.telephony.data.DataCallResponse.Builder setCause(int);
23860    method @NonNull public android.telephony.data.DataCallResponse.Builder setDnsAddresses(@NonNull java.util.List<java.net.InetAddress>);
23861    method @NonNull public android.telephony.data.DataCallResponse.Builder setGatewayAddresses(@NonNull java.util.List<java.net.InetAddress>);
23862    method @NonNull public android.telephony.data.DataCallResponse.Builder setHandoverFailureMode(int);
23863    method @NonNull public android.telephony.data.DataCallResponse.Builder setId(int);
23864    method @NonNull public android.telephony.data.DataCallResponse.Builder setInterfaceName(@Nullable String);
23865    method @NonNull public android.telephony.data.DataCallResponse.Builder setLinkStatus(int);
23866    method @Deprecated @NonNull public android.telephony.data.DataCallResponse.Builder setMtu(int);
23867    method @NonNull public android.telephony.data.DataCallResponse.Builder setMtuV4(int);
23868    method @NonNull public android.telephony.data.DataCallResponse.Builder setMtuV6(int);
23869    method @FlaggedApi("com.android.internal.telephony.flags.network_validation") @NonNull public android.telephony.data.DataCallResponse.Builder setNetworkValidationStatus(int);
23870    method @NonNull public android.telephony.data.DataCallResponse.Builder setPcscfAddresses(@NonNull java.util.List<java.net.InetAddress>);
23871    method @NonNull public android.telephony.data.DataCallResponse.Builder setPduSessionId(@IntRange(from=android.telephony.data.DataCallResponse.PDU_SESSION_ID_NOT_SET, to=15) int);
23872    method @NonNull public android.telephony.data.DataCallResponse.Builder setProtocolType(int);
23873    method @NonNull public android.telephony.data.DataCallResponse.Builder setRetryDurationMillis(long);
23874    method @NonNull public android.telephony.data.DataCallResponse.Builder setSliceInfo(@Nullable android.telephony.data.NetworkSliceInfo);
23875    method @Deprecated @NonNull public android.telephony.data.DataCallResponse.Builder setSuggestedRetryTime(int);
23876    method @NonNull public android.telephony.data.DataCallResponse.Builder setTrafficDescriptors(@NonNull java.util.List<android.telephony.data.TrafficDescriptor>);
23877  }
23878
23879  public final class DataProfile implements android.os.Parcelable {
23880    method public int describeContents();
23881    method @Deprecated @NonNull public String getApn();
23882    method @Nullable public android.telephony.data.ApnSetting getApnSetting();
23883    method @Deprecated public int getAuthType();
23884    method @Deprecated public int getBearerBitmask();
23885    method @Deprecated public int getMtu();
23886    method @Deprecated public int getMtuV4();
23887    method @Deprecated public int getMtuV6();
23888    method @Deprecated @Nullable public String getPassword();
23889    method @Deprecated public int getProfileId();
23890    method @Deprecated public int getProtocolType();
23891    method @Deprecated public int getRoamingProtocolType();
23892    method @Deprecated public int getSupportedApnTypesBitmask();
23893    method @Nullable public android.telephony.data.TrafficDescriptor getTrafficDescriptor();
23894    method public int getType();
23895    method @Deprecated @Nullable public String getUserName();
23896    method public boolean isEnabled();
23897    method @Deprecated public boolean isPersistent();
23898    method public boolean isPreferred();
23899    method public void writeToParcel(android.os.Parcel, int);
23900    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.DataProfile> CREATOR;
23901    field public static final int TYPE_3GPP = 1; // 0x1
23902    field public static final int TYPE_3GPP2 = 2; // 0x2
23903    field public static final int TYPE_COMMON = 0; // 0x0
23904  }
23905
23906  public static final class DataProfile.Builder {
23907    ctor public DataProfile.Builder();
23908    method @NonNull public android.telephony.data.DataProfile build();
23909    method @NonNull public android.telephony.data.DataProfile.Builder enable(boolean);
23910    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setApn(@NonNull String);
23911    method @NonNull public android.telephony.data.DataProfile.Builder setApnSetting(@NonNull android.telephony.data.ApnSetting);
23912    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setAuthType(int);
23913    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setBearerBitmask(int);
23914    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setMtu(int);
23915    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setMtuV4(int);
23916    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setMtuV6(int);
23917    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setPassword(@NonNull String);
23918    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setPersistent(boolean);
23919    method @NonNull public android.telephony.data.DataProfile.Builder setPreferred(boolean);
23920    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setProfileId(int);
23921    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setProtocolType(int);
23922    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setRoamingProtocolType(int);
23923    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setSupportedApnTypesBitmask(int);
23924    method @NonNull public android.telephony.data.DataProfile.Builder setTrafficDescriptor(@NonNull android.telephony.data.TrafficDescriptor);
23925    method @NonNull public android.telephony.data.DataProfile.Builder setType(int);
23926    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setUserName(@NonNull String);
23927  }
23928
23929  public abstract class DataService extends android.app.Service {
23930    ctor public DataService();
23931    method public android.os.IBinder onBind(android.content.Intent);
23932    method @Nullable public abstract android.telephony.data.DataService.DataServiceProvider onCreateDataServiceProvider(int);
23933    field public static final int REQUEST_REASON_HANDOVER = 3; // 0x3
23934    field public static final int REQUEST_REASON_NORMAL = 1; // 0x1
23935    field public static final int REQUEST_REASON_SHUTDOWN = 2; // 0x2
23936    field public static final int REQUEST_REASON_UNKNOWN = 0; // 0x0
23937    field public static final String SERVICE_INTERFACE = "android.telephony.data.DataService";
23938  }
23939
23940  public abstract class DataService.DataServiceProvider implements java.lang.AutoCloseable {
23941    ctor public DataService.DataServiceProvider(int);
23942    method public abstract void close();
23943    method public void deactivateDataCall(int, int, @Nullable android.telephony.data.DataServiceCallback);
23944    method public final int getSlotIndex();
23945    method public final void notifyApnUnthrottled(@NonNull String);
23946    method public final void notifyDataCallListChanged(java.util.List<android.telephony.data.DataCallResponse>);
23947    method public final void notifyDataProfileUnthrottled(@NonNull android.telephony.data.DataProfile);
23948    method public void requestDataCallList(@NonNull android.telephony.data.DataServiceCallback);
23949    method @FlaggedApi("com.android.internal.telephony.flags.network_validation") public void requestNetworkValidation(int, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
23950    method public void setDataProfile(@NonNull java.util.List<android.telephony.data.DataProfile>, boolean, @NonNull android.telephony.data.DataServiceCallback);
23951    method public void setInitialAttachApn(@NonNull android.telephony.data.DataProfile, boolean, @NonNull android.telephony.data.DataServiceCallback);
23952    method public void setupDataCall(int, @NonNull android.telephony.data.DataProfile, boolean, boolean, int, @Nullable android.net.LinkProperties, @NonNull android.telephony.data.DataServiceCallback);
23953    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);
23954  }
23955
23956  public class DataServiceCallback {
23957    method public void onApnUnthrottled(@NonNull String);
23958    method public void onDataCallListChanged(@NonNull java.util.List<android.telephony.data.DataCallResponse>);
23959    method public void onDataProfileUnthrottled(@NonNull android.telephony.data.DataProfile);
23960    method public void onDeactivateDataCallComplete(int);
23961    method public void onRequestDataCallListComplete(int, @NonNull java.util.List<android.telephony.data.DataCallResponse>);
23962    method public void onSetDataProfileComplete(int);
23963    method public void onSetInitialAttachApnComplete(int);
23964    method public void onSetupDataCallComplete(int, @Nullable android.telephony.data.DataCallResponse);
23965    field public static final int RESULT_ERROR_BUSY = 3; // 0x3
23966    field public static final int RESULT_ERROR_ILLEGAL_STATE = 4; // 0x4
23967    field public static final int RESULT_ERROR_INVALID_ARG = 2; // 0x2
23968    field public static final int RESULT_ERROR_UNSUPPORTED = 1; // 0x1
23969    field public static final int RESULT_SUCCESS = 0; // 0x0
23970  }
23971
23972  public final class EpsBearerQosSessionAttributes implements android.os.Parcelable android.net.QosSessionAttributes {
23973    method public int describeContents();
23974    method public long getGuaranteedDownlinkBitRateKbps();
23975    method public long getGuaranteedUplinkBitRateKbps();
23976    method public long getMaxDownlinkBitRateKbps();
23977    method public long getMaxUplinkBitRateKbps();
23978    method public int getQosIdentifier();
23979    method @NonNull public java.util.List<java.net.InetSocketAddress> getRemoteAddresses();
23980    method public void writeToParcel(@NonNull android.os.Parcel, int);
23981    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.EpsBearerQosSessionAttributes> CREATOR;
23982  }
23983
23984  public final class NrQosSessionAttributes implements android.os.Parcelable android.net.QosSessionAttributes {
23985    method public int describeContents();
23986    method @NonNull public java.time.Duration getBitRateWindowDuration();
23987    method public long getGuaranteedDownlinkBitRateKbps();
23988    method public long getGuaranteedUplinkBitRateKbps();
23989    method public long getMaxDownlinkBitRateKbps();
23990    method public long getMaxUplinkBitRateKbps();
23991    method @IntRange(from=1, to=63) public int getQosFlowIdentifier();
23992    method public int getQosIdentifier();
23993    method @NonNull public java.util.List<java.net.InetSocketAddress> getRemoteAddresses();
23994    method public void writeToParcel(@NonNull android.os.Parcel, int);
23995    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.NrQosSessionAttributes> CREATOR;
23996  }
23997
23998  public abstract class QualifiedNetworksService extends android.app.Service {
23999    ctor public QualifiedNetworksService();
24000    method public android.os.IBinder onBind(android.content.Intent);
24001    method @NonNull public abstract android.telephony.data.QualifiedNetworksService.NetworkAvailabilityProvider onCreateNetworkAvailabilityProvider(int);
24002    field public static final String QUALIFIED_NETWORKS_SERVICE_INTERFACE = "android.telephony.data.QualifiedNetworksService";
24003  }
24004
24005  public abstract class QualifiedNetworksService.NetworkAvailabilityProvider implements java.lang.AutoCloseable {
24006    ctor public QualifiedNetworksService.NetworkAvailabilityProvider(int);
24007    method public abstract void close();
24008    method public final int getSlotIndex();
24009    method public void reportEmergencyDataNetworkPreferredTransportChanged(int);
24010    method public void reportThrottleStatusChanged(@NonNull java.util.List<android.telephony.data.ThrottleStatus>);
24011    method @FlaggedApi("com.android.internal.telephony.flags.network_validation") public void requestNetworkValidation(int, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
24012    method public final void updateQualifiedNetworkTypes(int, @NonNull java.util.List<java.lang.Integer>);
24013  }
24014
24015  public final class ThrottleStatus implements android.os.Parcelable {
24016    method public int describeContents();
24017    method public int getApnType();
24018    method public int getRetryType();
24019    method public int getSlotIndex();
24020    method public long getThrottleExpiryTimeMillis();
24021    method public int getThrottleType();
24022    method public int getTransportType();
24023    method public void writeToParcel(@NonNull android.os.Parcel, int);
24024    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.ThrottleStatus> CREATOR;
24025    field public static final int RETRY_TYPE_HANDOVER = 3; // 0x3
24026    field public static final int RETRY_TYPE_NEW_CONNECTION = 2; // 0x2
24027    field public static final int RETRY_TYPE_NONE = 1; // 0x1
24028    field public static final int THROTTLE_TYPE_ELAPSED_TIME = 2; // 0x2
24029    field public static final int THROTTLE_TYPE_NONE = 1; // 0x1
24030  }
24031
24032  public static final class ThrottleStatus.Builder {
24033    ctor public ThrottleStatus.Builder();
24034    method @NonNull public android.telephony.data.ThrottleStatus build();
24035    method @NonNull public android.telephony.data.ThrottleStatus.Builder setApnType(int);
24036    method @NonNull public android.telephony.data.ThrottleStatus.Builder setNoThrottle();
24037    method @NonNull public android.telephony.data.ThrottleStatus.Builder setRetryType(int);
24038    method @NonNull public android.telephony.data.ThrottleStatus.Builder setSlotIndex(int);
24039    method @NonNull public android.telephony.data.ThrottleStatus.Builder setThrottleExpiryTimeMillis(long);
24040    method @NonNull public android.telephony.data.ThrottleStatus.Builder setTransportType(int);
24041  }
24042
24043}
24044
24045package android.telephony.euicc {
24046
24047  public final class DownloadableSubscription implements android.os.Parcelable {
24048    method public java.util.List<android.telephony.UiccAccessRule> getAccessRules();
24049    method @Nullable public String getCarrierName();
24050  }
24051
24052  public static final class DownloadableSubscription.Builder {
24053    ctor public DownloadableSubscription.Builder();
24054    method @NonNull public android.telephony.euicc.DownloadableSubscription.Builder setAccessRules(@NonNull java.util.List<android.telephony.UiccAccessRule>);
24055    method @NonNull public android.telephony.euicc.DownloadableSubscription.Builder setCarrierName(@NonNull String);
24056  }
24057
24058  public class EuiccCardManager {
24059    method public void authenticateServer(String, String, byte[], byte[], byte[], byte[], java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
24060    method public void cancelSession(String, byte[], int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
24061    method public void deleteProfile(String, String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
24062    method public void disableProfile(String, String, boolean, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
24063    method public void listNotifications(String, int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.telephony.euicc.EuiccNotification[]>);
24064    method public void loadBoundProfilePackage(String, byte[], java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
24065    method public void prepareDownload(String, @Nullable byte[], byte[], byte[], byte[], java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
24066    method public void removeNotificationFromList(String, int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
24067    method public void requestAllProfiles(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.service.euicc.EuiccProfileInfo[]>);
24068    method public void requestDefaultSmdpAddress(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.String>);
24069    method public void requestEnabledProfileForPort(@NonNull String, int, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.euicc.EuiccCardManager.ResultCallback<android.service.euicc.EuiccProfileInfo>);
24070    method public void requestEuiccChallenge(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
24071    method public void requestEuiccInfo1(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
24072    method public void requestEuiccInfo2(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
24073    method public void requestProfile(String, String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.service.euicc.EuiccProfileInfo>);
24074    method public void requestRulesAuthTable(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.telephony.euicc.EuiccRulesAuthTable>);
24075    method public void requestSmdsAddress(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.String>);
24076    method public void resetMemory(String, int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
24077    method public void retrieveNotification(String, int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.telephony.euicc.EuiccNotification>);
24078    method public void retrieveNotificationList(String, int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.telephony.euicc.EuiccNotification[]>);
24079    method public void setDefaultSmdpAddress(String, String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
24080    method public void setNickname(String, String, String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
24081    method @Deprecated public void switchToProfile(String, String, boolean, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.service.euicc.EuiccProfileInfo>);
24082    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>);
24083    field public static final int CANCEL_REASON_END_USER_REJECTED = 0; // 0x0
24084    field public static final int CANCEL_REASON_POSTPONED = 1; // 0x1
24085    field public static final int CANCEL_REASON_PPR_NOT_ALLOWED = 3; // 0x3
24086    field public static final int CANCEL_REASON_TIMEOUT = 2; // 0x2
24087    field public static final int RESET_OPTION_DELETE_FIELD_LOADED_TEST_PROFILES = 2; // 0x2
24088    field public static final int RESET_OPTION_DELETE_OPERATIONAL_PROFILES = 1; // 0x1
24089    field public static final int RESET_OPTION_RESET_DEFAULT_SMDP_ADDRESS = 4; // 0x4
24090    field public static final int RESULT_CALLER_NOT_ALLOWED = -3; // 0xfffffffd
24091    field public static final int RESULT_EUICC_NOT_FOUND = -2; // 0xfffffffe
24092    field public static final int RESULT_OK = 0; // 0x0
24093    field public static final int RESULT_PROFILE_DOES_NOT_EXIST = -4; // 0xfffffffc
24094    field public static final int RESULT_PROFILE_NOT_FOUND = 1; // 0x1
24095    field public static final int RESULT_UNKNOWN_ERROR = -1; // 0xffffffff
24096  }
24097
24098  public static interface EuiccCardManager.ResultCallback<T> {
24099    method public void onComplete(int, T);
24100  }
24101
24102  public class EuiccManager {
24103    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void continueOperation(android.content.Intent, android.os.Bundle);
24104    method @Deprecated @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void eraseSubscriptions(@NonNull android.app.PendingIntent);
24105    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void eraseSubscriptions(int, @NonNull android.app.PendingIntent);
24106    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void getDefaultDownloadableSubscriptionList(android.app.PendingIntent);
24107    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void getDownloadableSubscriptionMetadata(android.telephony.euicc.DownloadableSubscription, android.app.PendingIntent);
24108    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public int getOtaStatus();
24109    method @NonNull @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public java.util.List<java.lang.String> getSupportedCountries();
24110    method @NonNull @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public java.util.List<java.lang.String> getUnsupportedCountries();
24111    method @FlaggedApi("com.android.internal.telephony.flags.support_psim_to_esim_conversion") @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public boolean isPsimConversionSupported(int);
24112    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public boolean isSupportedCountry(@NonNull String);
24113    method @FlaggedApi("com.android.internal.telephony.flags.support_psim_to_esim_conversion") @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void setPsimConversionSupportedCarriers(@NonNull java.util.Set<java.lang.Integer>);
24114    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void setSupportedCountries(@NonNull java.util.List<java.lang.String>);
24115    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void setUnsupportedCountries(@NonNull java.util.List<java.lang.String>);
24116    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";
24117    field public static final String ACTION_DELETE_SUBSCRIPTION_PRIVILEGED = "android.telephony.euicc.action.DELETE_SUBSCRIPTION_PRIVILEGED";
24118    field @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public static final String ACTION_OTA_STATUS_CHANGED = "android.telephony.euicc.action.OTA_STATUS_CHANGED";
24119    field public static final String ACTION_PROVISION_EMBEDDED_SUBSCRIPTION = "android.telephony.euicc.action.PROVISION_EMBEDDED_SUBSCRIPTION";
24120    field public static final String ACTION_RENAME_SUBSCRIPTION_PRIVILEGED = "android.telephony.euicc.action.RENAME_SUBSCRIPTION_PRIVILEGED";
24121    field public static final String ACTION_TOGGLE_SUBSCRIPTION_PRIVILEGED = "android.telephony.euicc.action.TOGGLE_SUBSCRIPTION_PRIVILEGED";
24122    field @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public static final String ACTION_TRANSFER_EMBEDDED_SUBSCRIPTIONS = "android.telephony.euicc.action.TRANSFER_EMBEDDED_SUBSCRIPTIONS";
24123    field public static final int EUICC_ACTIVATION_TYPE_ACCOUNT_REQUIRED = 4; // 0x4
24124    field public static final int EUICC_ACTIVATION_TYPE_BACKUP = 2; // 0x2
24125    field public static final int EUICC_ACTIVATION_TYPE_DEFAULT = 1; // 0x1
24126    field public static final int EUICC_ACTIVATION_TYPE_TRANSFER = 3; // 0x3
24127    field public static final int EUICC_OTA_FAILED = 2; // 0x2
24128    field public static final int EUICC_OTA_IN_PROGRESS = 1; // 0x1
24129    field public static final int EUICC_OTA_NOT_NEEDED = 4; // 0x4
24130    field public static final int EUICC_OTA_STATUS_UNAVAILABLE = 5; // 0x5
24131    field public static final int EUICC_OTA_SUCCEEDED = 3; // 0x3
24132    field public static final String EXTRA_ACTIVATION_TYPE = "android.telephony.euicc.extra.ACTIVATION_TYPE";
24133    field public static final String EXTRA_EMBEDDED_SUBSCRIPTION_DOWNLOADABLE_SUBSCRIPTIONS = "android.telephony.euicc.extra.EMBEDDED_SUBSCRIPTION_DOWNLOADABLE_SUBSCRIPTIONS";
24134    field public static final String EXTRA_ENABLE_SUBSCRIPTION = "android.telephony.euicc.extra.ENABLE_SUBSCRIPTION";
24135    field public static final String EXTRA_FORCE_PROVISION = "android.telephony.euicc.extra.FORCE_PROVISION";
24136    field public static final String EXTRA_FROM_SUBSCRIPTION_ID = "android.telephony.euicc.extra.FROM_SUBSCRIPTION_ID";
24137    field public static final String EXTRA_PHYSICAL_SLOT_ID = "android.telephony.euicc.extra.PHYSICAL_SLOT_ID";
24138    field public static final String EXTRA_SUBSCRIPTION_ID = "android.telephony.euicc.extra.SUBSCRIPTION_ID";
24139    field public static final String EXTRA_SUBSCRIPTION_NICKNAME = "android.telephony.euicc.extra.SUBSCRIPTION_NICKNAME";
24140  }
24141
24142  public final class EuiccNotification implements android.os.Parcelable {
24143    ctor public EuiccNotification(int, String, int, @Nullable byte[]);
24144    method public int describeContents();
24145    method @Nullable public byte[] getData();
24146    method public int getEvent();
24147    method public int getSeq();
24148    method public String getTargetAddr();
24149    method public void writeToParcel(android.os.Parcel, int);
24150    field public static final int ALL_EVENTS = 15; // 0xf
24151    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.euicc.EuiccNotification> CREATOR;
24152    field public static final int EVENT_DELETE = 8; // 0x8
24153    field public static final int EVENT_DISABLE = 4; // 0x4
24154    field public static final int EVENT_ENABLE = 2; // 0x2
24155    field public static final int EVENT_INSTALL = 1; // 0x1
24156  }
24157
24158  public final class EuiccRulesAuthTable implements android.os.Parcelable {
24159    method public int describeContents();
24160    method public int findIndex(int, android.service.carrier.CarrierIdentifier);
24161    method public boolean hasPolicyRuleFlag(int, int);
24162    method public void writeToParcel(android.os.Parcel, int);
24163    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.euicc.EuiccRulesAuthTable> CREATOR;
24164    field public static final int POLICY_RULE_FLAG_CONSENT_REQUIRED = 1; // 0x1
24165  }
24166
24167  public static final class EuiccRulesAuthTable.Builder {
24168    ctor public EuiccRulesAuthTable.Builder(int);
24169    method public android.telephony.euicc.EuiccRulesAuthTable.Builder add(int, java.util.List<android.service.carrier.CarrierIdentifier>, int);
24170    method public android.telephony.euicc.EuiccRulesAuthTable build();
24171  }
24172
24173}
24174
24175package android.telephony.gba {
24176
24177  public class GbaService extends android.app.Service {
24178    ctor public GbaService();
24179    method public void onAuthenticationRequest(int, int, int, @NonNull android.net.Uri, @NonNull byte[], boolean);
24180    method public android.os.IBinder onBind(android.content.Intent);
24181    method public final void reportAuthenticationFailure(int, int) throws java.lang.RuntimeException;
24182    method public final void reportKeysAvailable(int, @NonNull byte[], @NonNull String) throws java.lang.RuntimeException;
24183    field public static final String SERVICE_INTERFACE = "android.telephony.gba.GbaService";
24184  }
24185
24186  public class TlsParams {
24187    method public static boolean isTlsCipherSuiteSupported(int);
24188    field public static final int GROUP_SECP256R1 = 23; // 0x17
24189    field public static final int GROUP_SECP384R1 = 24; // 0x18
24190    field public static final int GROUP_X25519 = 29; // 0x1d
24191    field public static final int GROUP_X448 = 30; // 0x1e
24192    field public static final int PROTOCOL_VERSION_TLS_1_2 = 771; // 0x303
24193    field public static final int PROTOCOL_VERSION_TLS_1_3 = 772; // 0x304
24194    field public static final int SIG_ECDSA_BRAINPOOLP256R1TLS13_SHA256 = 2074; // 0x81a
24195    field public static final int SIG_ECDSA_BRAINPOOLP384R1TLS13_SHA384 = 2075; // 0x81b
24196    field public static final int SIG_ECDSA_BRAINPOOLP512R1TLS13_SHA512 = 2076; // 0x81c
24197    field public static final int SIG_ECDSA_SECP256R1_SHA256 = 1027; // 0x403
24198    field public static final int SIG_ECDSA_SECP384R1_SHA384 = 1283; // 0x503
24199    field public static final int SIG_ECDSA_SECP521R1_SHA512 = 1539; // 0x603
24200    field public static final int SIG_ECDSA_SHA1 = 515; // 0x203
24201    field public static final int SIG_RSA_PKCS1_SHA1 = 513; // 0x201
24202    field public static final int SIG_RSA_PKCS1_SHA256 = 1025; // 0x401
24203    field public static final int SIG_RSA_PKCS1_SHA256_LEGACY = 1056; // 0x420
24204    field public static final int SIG_RSA_PKCS1_SHA384 = 1281; // 0x501
24205    field public static final int SIG_RSA_PKCS1_SHA384_LEGACY = 1312; // 0x520
24206    field public static final int SIG_RSA_PKCS1_SHA512 = 1537; // 0x601
24207    field public static final int SIG_RSA_PKCS1_SHA512_LEGACY = 1568; // 0x620
24208    field public static final int SIG_RSA_PSS_RSAE_SHA256 = 2052; // 0x804
24209    field public static final int SIG_RSA_PSS_RSAE_SHA384 = 2053; // 0x805
24210    field public static final int SIG_RSA_PSS_RSAE_SHA512 = 2054; // 0x806
24211    field public static final int TLS_AES_128_CCM_SHA256 = 4868; // 0x1304
24212    field public static final int TLS_AES_128_GCM_SHA256 = 4865; // 0x1301
24213    field public static final int TLS_AES_256_GCM_SHA384 = 4866; // 0x1302
24214    field public static final int TLS_CHACHA20_POLY1305_SHA256 = 4867; // 0x1303
24215    field public static final int TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA = 19; // 0x13
24216    field public static final int TLS_DHE_DSS_WITH_AES_128_CBC_SHA = 50; // 0x32
24217    field public static final int TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 = 64; // 0x40
24218    field public static final int TLS_DHE_DSS_WITH_AES_256_CBC_SHA = 56; // 0x38
24219    field public static final int TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 = 106; // 0x6a
24220    field public static final int TLS_DHE_PSK_WITH_AES_128_CCM = 49318; // 0xc0a6
24221    field public static final int TLS_DHE_PSK_WITH_AES_128_GCM_SHA256 = 170; // 0xaa
24222    field public static final int TLS_DHE_PSK_WITH_AES_256_CCM = 49319; // 0xc0a7
24223    field public static final int TLS_DHE_PSK_WITH_AES_256_GCM_SHA384 = 171; // 0xab
24224    field public static final int TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256 = 52397; // 0xccad
24225    field public static final int TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA = 22; // 0x16
24226    field public static final int TLS_DHE_RSA_WITH_AES_128_CBC_SHA = 51; // 0x33
24227    field public static final int TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 = 103; // 0x67
24228    field public static final int TLS_DHE_RSA_WITH_AES_128_CCM = 49310; // 0xc09e
24229    field public static final int TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 = 158; // 0x9e
24230    field public static final int TLS_DHE_RSA_WITH_AES_256_CBC_SHA = 57; // 0x39
24231    field public static final int TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 = 107; // 0x6b
24232    field public static final int TLS_DHE_RSA_WITH_AES_256_CCM = 49311; // 0xc09f
24233    field public static final int TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 = 159; // 0x9f
24234    field public static final int TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 = 52394; // 0xccaa
24235    field public static final int TLS_DH_ANON_WITH_3DES_EDE_CBC_SHA = 27; // 0x1b
24236    field public static final int TLS_DH_ANON_WITH_AES_128_CBC_SHA = 52; // 0x34
24237    field public static final int TLS_DH_ANON_WITH_AES_128_CBC_SHA256 = 108; // 0x6c
24238    field public static final int TLS_DH_ANON_WITH_AES_256_CBC_SHA = 58; // 0x3a
24239    field public static final int TLS_DH_ANON_WITH_AES_256_CBC_SHA256 = 109; // 0x6d
24240    field public static final int TLS_DH_ANON_WITH_RC4_128_MD5 = 24; // 0x18
24241    field public static final int TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA = 13; // 0xd
24242    field public static final int TLS_DH_DSS_WITH_AES_128_CBC_SHA = 48; // 0x30
24243    field public static final int TLS_DH_DSS_WITH_AES_128_CBC_SHA256 = 62; // 0x3e
24244    field public static final int TLS_DH_DSS_WITH_AES_256_CBC_SHA = 54; // 0x36
24245    field public static final int TLS_DH_DSS_WITH_AES_256_CBC_SHA256 = 104; // 0x68
24246    field public static final int TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA = 16; // 0x10
24247    field public static final int TLS_DH_RSA_WITH_AES_128_CBC_SHA = 49; // 0x31
24248    field public static final int TLS_DH_RSA_WITH_AES_128_CBC_SHA256 = 63; // 0x3f
24249    field public static final int TLS_DH_RSA_WITH_AES_256_CBC_SHA = 55; // 0x37
24250    field public static final int TLS_DH_RSA_WITH_AES_256_CBC_SHA256 = 105; // 0x69
24251    field public static final int TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 = 49195; // 0xc02b
24252    field public static final int TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 = 49196; // 0xc02c
24253    field public static final int TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 = 52393; // 0xcca9
24254    field public static final int TLS_ECDHE_PSK_WITH_AES_128_CCM_SHA256 = 53253; // 0xd005
24255    field public static final int TLS_ECDHE_PSK_WITH_AES_128_GCM_SHA256 = 53249; // 0xd001
24256    field public static final int TLS_ECDHE_PSK_WITH_AES_256_GCM_SHA384 = 53250; // 0xd002
24257    field public static final int TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256 = 52396; // 0xccac
24258    field public static final int TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 = 49199; // 0xc02f
24259    field public static final int TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 = 49200; // 0xc030
24260    field public static final int TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 = 52392; // 0xcca8
24261    field public static final int TLS_NULL_WITH_NULL_NULL = 0; // 0x0
24262    field public static final int TLS_RSA_WITH_3DES_EDE_CBC_SHA = 10; // 0xa
24263    field public static final int TLS_RSA_WITH_AES_128_CBC_SHA = 47; // 0x2f
24264    field public static final int TLS_RSA_WITH_AES_128_CBC_SHA256 = 60; // 0x3c
24265    field public static final int TLS_RSA_WITH_AES_256_CBC_SHA = 53; // 0x35
24266    field public static final int TLS_RSA_WITH_AES_256_CBC_SHA256 = 61; // 0x3d
24267    field public static final int TLS_RSA_WITH_NULL_MD5 = 1; // 0x1
24268    field public static final int TLS_RSA_WITH_NULL_SHA = 2; // 0x2
24269    field public static final int TLS_RSA_WITH_NULL_SHA256 = 59; // 0x3b
24270    field public static final int TLS_RSA_WITH_RC4_128_MD5 = 4; // 0x4
24271    field public static final int TLS_RSA_WITH_RC4_128_SHA = 5; // 0x5
24272  }
24273
24274  public final class UaSecurityProtocolIdentifier implements android.os.Parcelable {
24275    method public int describeContents();
24276    method public int getOrg();
24277    method public int getProtocol();
24278    method public int getTlsCipherSuite();
24279    method @NonNull public byte[] toByteArray();
24280    method public void writeToParcel(@NonNull android.os.Parcel, int);
24281    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.gba.UaSecurityProtocolIdentifier> CREATOR;
24282    field public static final int ORG_3GPP = 1; // 0x1
24283    field public static final int ORG_3GPP2 = 2; // 0x2
24284    field public static final int ORG_GSMA = 4; // 0x4
24285    field public static final int ORG_LOCAL = 255; // 0xff
24286    field public static final int ORG_NONE = 0; // 0x0
24287    field public static final int ORG_OMA = 3; // 0x3
24288    field public static final int UA_SECURITY_PROTOCOL_3GPP_GENERATION_TMPI = 256; // 0x100
24289    field public static final int UA_SECURITY_PROTOCOL_3GPP_GENERIC_PUSH_LAYER = 5; // 0x5
24290    field public static final int UA_SECURITY_PROTOCOL_3GPP_HTTP_BASED_MBMS = 3; // 0x3
24291    field public static final int UA_SECURITY_PROTOCOL_3GPP_HTTP_DIGEST_AUTHENTICATION = 2; // 0x2
24292    field public static final int UA_SECURITY_PROTOCOL_3GPP_IMS_MEDIA_PLANE = 6; // 0x6
24293    field public static final int UA_SECURITY_PROTOCOL_3GPP_MBMS = 1; // 0x1
24294    field public static final int UA_SECURITY_PROTOCOL_3GPP_SIP_BASED_MBMS = 4; // 0x4
24295    field public static final int UA_SECURITY_PROTOCOL_3GPP_SUBSCRIBER_CERTIFICATE = 0; // 0x0
24296    field public static final int UA_SECURITY_PROTOCOL_3GPP_TLS_BROWSER = 131072; // 0x20000
24297    field public static final int UA_SECURITY_PROTOCOL_3GPP_TLS_DEFAULT = 65536; // 0x10000
24298  }
24299
24300  public static final class UaSecurityProtocolIdentifier.Builder {
24301    ctor public UaSecurityProtocolIdentifier.Builder();
24302    ctor public UaSecurityProtocolIdentifier.Builder(@NonNull android.telephony.gba.UaSecurityProtocolIdentifier);
24303    method @NonNull public android.telephony.gba.UaSecurityProtocolIdentifier build();
24304    method @NonNull public android.telephony.gba.UaSecurityProtocolIdentifier.Builder setOrg(int);
24305    method @NonNull public android.telephony.gba.UaSecurityProtocolIdentifier.Builder setProtocol(int);
24306    method @NonNull public android.telephony.gba.UaSecurityProtocolIdentifier.Builder setTlsCipherSuite(int);
24307  }
24308
24309}
24310
24311package android.telephony.ims {
24312
24313  public final class AudioCodecAttributes implements android.os.Parcelable {
24314    ctor public AudioCodecAttributes(float, @NonNull android.util.Range<java.lang.Float>, float, @NonNull android.util.Range<java.lang.Float>);
24315    method public int describeContents();
24316    method public float getBandwidthKhz();
24317    method @NonNull public android.util.Range<java.lang.Float> getBandwidthRangeKhz();
24318    method public float getBitrateKbps();
24319    method @NonNull public android.util.Range<java.lang.Float> getBitrateRangeKbps();
24320    method public void writeToParcel(@NonNull android.os.Parcel, int);
24321    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.AudioCodecAttributes> CREATOR;
24322  }
24323
24324  public interface DelegateMessageCallback {
24325    method public void onMessageReceived(@NonNull android.telephony.ims.SipMessage);
24326    method public void onMessageSendFailure(@NonNull String, int);
24327    method public void onMessageSent(@NonNull String);
24328  }
24329
24330  public final class DelegateRegistrationState implements android.os.Parcelable {
24331    method public int describeContents();
24332    method @NonNull public java.util.Set<android.telephony.ims.FeatureTagState> getDeregisteredFeatureTags();
24333    method @NonNull public java.util.Set<android.telephony.ims.FeatureTagState> getDeregisteringFeatureTags();
24334    method @NonNull public java.util.Set<java.lang.String> getRegisteredFeatureTags();
24335    method @NonNull public java.util.Set<java.lang.String> getRegisteringFeatureTags();
24336    method public void writeToParcel(@NonNull android.os.Parcel, int);
24337    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.DelegateRegistrationState> CREATOR;
24338    field public static final int DEREGISTERED_REASON_NOT_PROVISIONED = 1; // 0x1
24339    field public static final int DEREGISTERED_REASON_NOT_REGISTERED = 2; // 0x2
24340    field public static final int DEREGISTERED_REASON_UNKNOWN = 0; // 0x0
24341    field public static final int DEREGISTERING_REASON_DESTROY_PENDING = 6; // 0x6
24342    field public static final int DEREGISTERING_REASON_FEATURE_TAGS_CHANGING = 5; // 0x5
24343    field public static final int DEREGISTERING_REASON_LOSING_PDN = 7; // 0x7
24344    field public static final int DEREGISTERING_REASON_PDN_CHANGE = 3; // 0x3
24345    field public static final int DEREGISTERING_REASON_PROVISIONING_CHANGE = 4; // 0x4
24346    field public static final int DEREGISTERING_REASON_UNSPECIFIED = 8; // 0x8
24347  }
24348
24349  public static final class DelegateRegistrationState.Builder {
24350    ctor public DelegateRegistrationState.Builder();
24351    method @NonNull public android.telephony.ims.DelegateRegistrationState.Builder addDeregisteredFeatureTag(@NonNull String, int);
24352    method @NonNull public android.telephony.ims.DelegateRegistrationState.Builder addDeregisteringFeatureTag(@NonNull String, int);
24353    method @NonNull public android.telephony.ims.DelegateRegistrationState.Builder addRegisteredFeatureTag(@NonNull String);
24354    method @NonNull public android.telephony.ims.DelegateRegistrationState.Builder addRegisteredFeatureTags(@NonNull java.util.Set<java.lang.String>);
24355    method @NonNull public android.telephony.ims.DelegateRegistrationState.Builder addRegisteringFeatureTags(@NonNull java.util.Set<java.lang.String>);
24356    method @NonNull public android.telephony.ims.DelegateRegistrationState build();
24357  }
24358
24359  public final class DelegateRequest implements android.os.Parcelable {
24360    ctor public DelegateRequest(@NonNull java.util.Set<java.lang.String>);
24361    method public int describeContents();
24362    method @NonNull public java.util.Set<java.lang.String> getFeatureTags();
24363    method public void writeToParcel(@NonNull android.os.Parcel, int);
24364    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.DelegateRequest> CREATOR;
24365  }
24366
24367  public interface DelegateStateCallback {
24368    method public void onConfigurationChanged(@NonNull android.telephony.ims.SipDelegateConfiguration);
24369    method public void onCreated(@NonNull android.telephony.ims.stub.SipDelegate, @Nullable java.util.Set<android.telephony.ims.FeatureTagState>);
24370    method public void onDestroyed(int);
24371    method public void onFeatureTagRegistrationChanged(@NonNull android.telephony.ims.DelegateRegistrationState);
24372  }
24373
24374  public final class FeatureTagState implements android.os.Parcelable {
24375    ctor public FeatureTagState(@NonNull String, int);
24376    method public int describeContents();
24377    method @NonNull public String getFeatureTag();
24378    method public int getState();
24379    method public void writeToParcel(@NonNull android.os.Parcel, int);
24380    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.FeatureTagState> CREATOR;
24381  }
24382
24383  public final class ImsCallForwardInfo implements android.os.Parcelable {
24384    ctor public ImsCallForwardInfo(int, int, int, int, @NonNull String, int);
24385    method public int describeContents();
24386    method public int getCondition();
24387    method public String getNumber();
24388    method public int getServiceClass();
24389    method public int getStatus();
24390    method public int getTimeSeconds();
24391    method public int getToA();
24392    method public void writeToParcel(android.os.Parcel, int);
24393    field public static final int CDIV_CF_REASON_ALL = 4; // 0x4
24394    field public static final int CDIV_CF_REASON_ALL_CONDITIONAL = 5; // 0x5
24395    field public static final int CDIV_CF_REASON_BUSY = 1; // 0x1
24396    field public static final int CDIV_CF_REASON_NOT_LOGGED_IN = 6; // 0x6
24397    field public static final int CDIV_CF_REASON_NOT_REACHABLE = 3; // 0x3
24398    field public static final int CDIV_CF_REASON_NO_REPLY = 2; // 0x2
24399    field public static final int CDIV_CF_REASON_UNCONDITIONAL = 0; // 0x0
24400    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsCallForwardInfo> CREATOR;
24401    field public static final int STATUS_ACTIVE = 1; // 0x1
24402    field public static final int STATUS_NOT_ACTIVE = 0; // 0x0
24403    field public static final int TYPE_OF_ADDRESS_INTERNATIONAL = 145; // 0x91
24404    field public static final int TYPE_OF_ADDRESS_UNKNOWN = 129; // 0x81
24405  }
24406
24407  public final class ImsCallProfile implements android.os.Parcelable {
24408    ctor public ImsCallProfile();
24409    ctor public ImsCallProfile(int, int);
24410    ctor public ImsCallProfile(int, int, android.os.Bundle, android.telephony.ims.ImsStreamMediaProfile);
24411    method public int describeContents();
24412    method @NonNull public java.util.Set<android.telephony.ims.RtpHeaderExtensionType> getAcceptedRtpHeaderExtensionTypes();
24413    method public String getCallExtra(String);
24414    method public String getCallExtra(String, String);
24415    method public boolean getCallExtraBoolean(String);
24416    method public boolean getCallExtraBoolean(String, boolean);
24417    method public int getCallExtraInt(String);
24418    method public int getCallExtraInt(String, int);
24419    method @Nullable public <T extends android.os.Parcelable> T getCallExtraParcelable(@Nullable String);
24420    method public android.os.Bundle getCallExtras();
24421    method public int getCallType();
24422    method public static int getCallTypeFromVideoState(int);
24423    method public int getCallerNumberVerificationStatus();
24424    method public int getEmergencyCallRouting();
24425    method public int getEmergencyServiceCategories();
24426    method @NonNull public java.util.List<java.lang.String> getEmergencyUrns();
24427    method public android.telephony.ims.ImsStreamMediaProfile getMediaProfile();
24428    method @NonNull public android.os.Bundle getProprietaryCallExtras();
24429    method public int getRestrictCause();
24430    method public int getServiceType();
24431    method public static int getVideoStateFromCallType(int);
24432    method public static int getVideoStateFromImsCallProfile(android.telephony.ims.ImsCallProfile);
24433    method public boolean hasKnownUserIntentEmergency();
24434    method public boolean isEmergencyCallTesting();
24435    method public boolean isVideoCall();
24436    method public boolean isVideoPaused();
24437    method public static int presentationToOir(int);
24438    method public void setAcceptedRtpHeaderExtensionTypes(@NonNull java.util.Set<android.telephony.ims.RtpHeaderExtensionType>);
24439    method public void setCallExtra(String, String);
24440    method public void setCallExtraBoolean(String, boolean);
24441    method public void setCallExtraInt(String, int);
24442    method public void setCallExtraParcelable(@NonNull String, @NonNull android.os.Parcelable);
24443    method public void setCallRestrictCause(int);
24444    method public void setCallerNumberVerificationStatus(int);
24445    method public void setEmergencyCallRouting(int);
24446    method public void setEmergencyCallTesting(boolean);
24447    method public void setEmergencyServiceCategories(int);
24448    method public void setEmergencyUrns(@NonNull java.util.List<java.lang.String>);
24449    method public void setHasKnownUserIntentEmergency(boolean);
24450    method public void updateCallExtras(android.telephony.ims.ImsCallProfile);
24451    method public void updateCallType(android.telephony.ims.ImsCallProfile);
24452    method public void updateMediaProfile(android.telephony.ims.ImsCallProfile);
24453    method public void writeToParcel(android.os.Parcel, int);
24454    field public static final int CALL_RESTRICT_CAUSE_DISABLED = 2; // 0x2
24455    field public static final int CALL_RESTRICT_CAUSE_HD = 3; // 0x3
24456    field public static final int CALL_RESTRICT_CAUSE_NONE = 0; // 0x0
24457    field public static final int CALL_RESTRICT_CAUSE_RAT = 1; // 0x1
24458    field public static final int CALL_TYPE_NONE = 0; // 0x0
24459    field public static final int CALL_TYPE_VIDEO_N_VOICE = 3; // 0x3
24460    field public static final int CALL_TYPE_VOICE = 2; // 0x2
24461    field public static final int CALL_TYPE_VOICE_N_VIDEO = 1; // 0x1
24462    field public static final int CALL_TYPE_VS = 8; // 0x8
24463    field public static final int CALL_TYPE_VS_RX = 10; // 0xa
24464    field public static final int CALL_TYPE_VS_TX = 9; // 0x9
24465    field public static final int CALL_TYPE_VT = 4; // 0x4
24466    field public static final int CALL_TYPE_VT_NODIR = 7; // 0x7
24467    field public static final int CALL_TYPE_VT_RX = 6; // 0x6
24468    field public static final int CALL_TYPE_VT_TX = 5; // 0x5
24469    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsCallProfile> CREATOR;
24470    field public static final int DIALSTRING_NORMAL = 0; // 0x0
24471    field public static final int DIALSTRING_SS_CONF = 1; // 0x1
24472    field public static final int DIALSTRING_USSD = 2; // 0x2
24473    field public static final String EXTRA_ADDITIONAL_CALL_INFO = "AdditionalCallInfo";
24474    field public static final String EXTRA_ADDITIONAL_SIP_INVITE_FIELDS = "android.telephony.ims.extra.ADDITIONAL_SIP_INVITE_FIELDS";
24475    field @FlaggedApi("com.android.server.telecom.flags.business_call_composer") public static final String EXTRA_ASSERTED_DISPLAY_NAME = "android.telephony.ims.extra.ASSERTED_DISPLAY_NAME";
24476    field public static final String EXTRA_CALL_DISCONNECT_CAUSE = "android.telephony.ims.extra.CALL_DISCONNECT_CAUSE";
24477    field public static final String EXTRA_CALL_NETWORK_TYPE = "android.telephony.ims.extra.CALL_NETWORK_TYPE";
24478    field @Deprecated public static final String EXTRA_CALL_RAT_TYPE = "CallRadioTech";
24479    field public static final String EXTRA_CALL_SUBJECT = "android.telephony.ims.extra.CALL_SUBJECT";
24480    field public static final String EXTRA_CHILD_NUMBER = "ChildNum";
24481    field public static final String EXTRA_CNA = "cna";
24482    field public static final String EXTRA_CNAP = "cnap";
24483    field public static final String EXTRA_CODEC = "Codec";
24484    field public static final String EXTRA_CONFERENCE = "android.telephony.ims.extra.CONFERENCE";
24485    field public static final String EXTRA_DIALSTRING = "dialstring";
24486    field public static final String EXTRA_DISPLAY_TEXT = "DisplayText";
24487    field public static final String EXTRA_EMERGENCY_CALL = "e_call";
24488    field public static final String EXTRA_EXTENDING_TO_CONFERENCE_SUPPORTED = "android.telephony.ims.extra.EXTENDING_TO_CONFERENCE_SUPPORTED";
24489    field public static final String EXTRA_FORWARDED_NUMBER = "android.telephony.ims.extra.FORWARDED_NUMBER";
24490    field public static final String EXTRA_IS_BUSINESS_CALL = "android.telephony.ims.extra.IS_BUSINESS_CALL";
24491    field public static final String EXTRA_IS_CALL_PULL = "CallPull";
24492    field public static final String EXTRA_IS_CROSS_SIM_CALL = "android.telephony.ims.extra.IS_CROSS_SIM_CALL";
24493    field public static final String EXTRA_LOCATION = "android.telephony.ims.extra.LOCATION";
24494    field public static final String EXTRA_OI = "oi";
24495    field public static final String EXTRA_OIR = "oir";
24496    field public static final String EXTRA_PICTURE_URL = "android.telephony.ims.extra.PICTURE_URL";
24497    field public static final String EXTRA_PRIORITY = "android.telephony.ims.extra.PRIORITY";
24498    field public static final String EXTRA_REMOTE_URI = "remote_uri";
24499    field public static final String EXTRA_USSD = "ussd";
24500    field public static final int OIR_DEFAULT = 0; // 0x0
24501    field public static final int OIR_PRESENTATION_NOT_RESTRICTED = 2; // 0x2
24502    field public static final int OIR_PRESENTATION_PAYPHONE = 4; // 0x4
24503    field public static final int OIR_PRESENTATION_RESTRICTED = 1; // 0x1
24504    field public static final int OIR_PRESENTATION_UNAVAILABLE = 5; // 0x5
24505    field public static final int OIR_PRESENTATION_UNKNOWN = 3; // 0x3
24506    field public static final int PRIORITY_NORMAL = 0; // 0x0
24507    field public static final int PRIORITY_URGENT = 1; // 0x1
24508    field public static final int SERVICE_TYPE_EMERGENCY = 2; // 0x2
24509    field public static final int SERVICE_TYPE_NONE = 0; // 0x0
24510    field public static final int SERVICE_TYPE_NORMAL = 1; // 0x1
24511    field public static final int VERIFICATION_STATUS_FAILED = 2; // 0x2
24512    field public static final int VERIFICATION_STATUS_NOT_VERIFIED = 0; // 0x0
24513    field public static final int VERIFICATION_STATUS_PASSED = 1; // 0x1
24514  }
24515
24516  public class ImsCallSessionListener {
24517    method public void callQualityChanged(@NonNull android.telephony.CallQuality);
24518    method public void callSessionConferenceExtendFailed(android.telephony.ims.ImsReasonInfo);
24519    method public void callSessionConferenceExtendReceived(android.telephony.ims.stub.ImsCallSessionImplBase, android.telephony.ims.ImsCallProfile);
24520    method public void callSessionConferenceExtended(android.telephony.ims.stub.ImsCallSessionImplBase, android.telephony.ims.ImsCallProfile);
24521    method public void callSessionConferenceStateUpdated(android.telephony.ims.ImsConferenceState);
24522    method public void callSessionDtmfReceived(char);
24523    method @Deprecated public void callSessionHandover(int, int, android.telephony.ims.ImsReasonInfo);
24524    method @Deprecated public void callSessionHandoverFailed(int, int, android.telephony.ims.ImsReasonInfo);
24525    method public void callSessionHeld(android.telephony.ims.ImsCallProfile);
24526    method public void callSessionHoldFailed(android.telephony.ims.ImsReasonInfo);
24527    method public void callSessionHoldReceived(android.telephony.ims.ImsCallProfile);
24528    method public void callSessionInitiated(android.telephony.ims.ImsCallProfile);
24529    method @Deprecated public void callSessionInitiatedFailed(android.telephony.ims.ImsReasonInfo);
24530    method public void callSessionInitiating(@NonNull android.telephony.ims.ImsCallProfile);
24531    method public void callSessionInitiatingFailed(@NonNull android.telephony.ims.ImsReasonInfo);
24532    method public void callSessionInviteParticipantsRequestDelivered();
24533    method public void callSessionInviteParticipantsRequestFailed(android.telephony.ims.ImsReasonInfo);
24534    method @Deprecated public void callSessionMayHandover(int, int);
24535    method public void callSessionMergeComplete(android.telephony.ims.stub.ImsCallSessionImplBase);
24536    method public void callSessionMergeFailed(android.telephony.ims.ImsReasonInfo);
24537    method public void callSessionMergeStarted(android.telephony.ims.stub.ImsCallSessionImplBase, android.telephony.ims.ImsCallProfile);
24538    method public void callSessionMultipartyStateChanged(boolean);
24539    method public void callSessionProgressing(android.telephony.ims.ImsStreamMediaProfile);
24540    method public void callSessionRemoveParticipantsRequestDelivered();
24541    method public void callSessionRemoveParticipantsRequestFailed(android.telephony.ims.ImsReasonInfo);
24542    method public void callSessionResumeFailed(android.telephony.ims.ImsReasonInfo);
24543    method public void callSessionResumeReceived(android.telephony.ims.ImsCallProfile);
24544    method public void callSessionResumed(android.telephony.ims.ImsCallProfile);
24545    method public void callSessionRtpHeaderExtensionsReceived(@NonNull java.util.Set<android.telephony.ims.RtpHeaderExtension>);
24546    method public void callSessionRttAudioIndicatorChanged(@NonNull android.telephony.ims.ImsStreamMediaProfile);
24547    method public void callSessionRttMessageReceived(String);
24548    method public void callSessionRttModifyRequestReceived(android.telephony.ims.ImsCallProfile);
24549    method public void callSessionRttModifyResponseReceived(int);
24550    method @FlaggedApi("com.android.internal.telephony.flags.support_ims_mmtel_interface") public final void callSessionSendAnbrQuery(int, int, @IntRange(from=0) int);
24551    method public void callSessionSuppServiceReceived(android.telephony.ims.ImsSuppServiceNotification);
24552    method public void callSessionTerminated(android.telephony.ims.ImsReasonInfo);
24553    method @FlaggedApi("com.android.internal.telephony.flags.support_ims_mmtel_interface") public void callSessionTransferFailed(@NonNull android.telephony.ims.ImsReasonInfo);
24554    method @FlaggedApi("com.android.internal.telephony.flags.support_ims_mmtel_interface") public void callSessionTransferred();
24555    method public void callSessionTtyModeReceived(int);
24556    method public void callSessionUpdateFailed(android.telephony.ims.ImsReasonInfo);
24557    method public void callSessionUpdateReceived(android.telephony.ims.ImsCallProfile);
24558    method public void callSessionUpdated(android.telephony.ims.ImsCallProfile);
24559    method public void callSessionUssdMessageReceived(int, String);
24560    method public void onHandover(int, int, @Nullable android.telephony.ims.ImsReasonInfo);
24561    method public void onHandoverFailed(int, int, @NonNull android.telephony.ims.ImsReasonInfo);
24562    method public void onMayHandover(int, int);
24563  }
24564
24565  public final class ImsConferenceState implements android.os.Parcelable {
24566    method public int describeContents();
24567    method public static int getConnectionStateForStatus(String);
24568    method public void writeToParcel(android.os.Parcel, int);
24569    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsConferenceState> CREATOR;
24570    field public static final String DISPLAY_TEXT = "display-text";
24571    field public static final String ENDPOINT = "endpoint";
24572    field public static final String SIP_STATUS_CODE = "sipstatuscode";
24573    field public static final String STATUS = "status";
24574    field public static final String STATUS_ALERTING = "alerting";
24575    field public static final String STATUS_CONNECTED = "connected";
24576    field public static final String STATUS_CONNECT_FAIL = "connect-fail";
24577    field public static final String STATUS_DIALING_IN = "dialing-in";
24578    field public static final String STATUS_DIALING_OUT = "dialing-out";
24579    field public static final String STATUS_DISCONNECTED = "disconnected";
24580    field public static final String STATUS_DISCONNECTING = "disconnecting";
24581    field public static final String STATUS_MUTED_VIA_FOCUS = "muted-via-focus";
24582    field public static final String STATUS_ON_HOLD = "on-hold";
24583    field public static final String STATUS_PENDING = "pending";
24584    field public static final String STATUS_SEND_ONLY = "sendonly";
24585    field public static final String STATUS_SEND_RECV = "sendrecv";
24586    field public static final String USER = "user";
24587    field public final java.util.HashMap<java.lang.String,android.os.Bundle> mParticipants;
24588  }
24589
24590  public final class ImsException extends java.lang.Exception {
24591    ctor public ImsException(@Nullable String);
24592    ctor public ImsException(@Nullable String, int);
24593    ctor public ImsException(@Nullable String, int, @Nullable Throwable);
24594  }
24595
24596  public final class ImsExternalCallState implements android.os.Parcelable {
24597    ctor public ImsExternalCallState(@NonNull String, @NonNull android.net.Uri, @Nullable android.net.Uri, boolean, int, int, boolean);
24598    method public int describeContents();
24599    method @NonNull public android.net.Uri getAddress();
24600    method public int getCallId();
24601    method public int getCallState();
24602    method public int getCallType();
24603    method @Nullable public android.net.Uri getLocalAddress();
24604    method public boolean isCallHeld();
24605    method public boolean isCallPullable();
24606    method public void writeToParcel(android.os.Parcel, int);
24607    field public static final int CALL_STATE_CONFIRMED = 1; // 0x1
24608    field public static final int CALL_STATE_TERMINATED = 2; // 0x2
24609    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsExternalCallState> CREATOR;
24610  }
24611
24612  public class ImsManager {
24613    method @NonNull public android.telephony.ims.SipDelegateManager getSipDelegateManager(int);
24614  }
24615
24616  public class ImsMmTelManager implements android.telephony.ims.RegistrationManager {
24617    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);
24618    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;
24619    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>);
24620    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getVoWiFiRoamingModeSetting();
24621    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isAvailable(int, int);
24622    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isCapable(int, int);
24623    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;
24624    method @FlaggedApi("com.android.internal.telephony.flags.emergency_registration_state") public void registerImsEmergencyRegistrationCallback(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.RegistrationManager.RegistrationCallback) throws android.telephony.ims.ImsException;
24625    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;
24626    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setAdvancedCallingSettingEnabled(boolean);
24627    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCrossSimCallingEnabled(boolean) throws android.telephony.ims.ImsException;
24628    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setRttCapabilitySetting(boolean);
24629    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiModeSetting(int);
24630    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiNonPersistent(boolean, int);
24631    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiRoamingModeSetting(int);
24632    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiRoamingSettingEnabled(boolean);
24633    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiSettingEnabled(boolean);
24634    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVtSettingEnabled(boolean);
24635    method @FlaggedApi("com.android.internal.telephony.flags.emergency_registration_state") public void unregisterImsEmergencyRegistrationCallback(@NonNull android.telephony.ims.RegistrationManager.RegistrationCallback);
24636    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void unregisterImsRegistrationCallback(@NonNull android.telephony.ims.ImsMmTelManager.RegistrationCallback);
24637  }
24638
24639  @Deprecated public static class ImsMmTelManager.RegistrationCallback extends android.telephony.ims.RegistrationManager.RegistrationCallback {
24640    ctor @Deprecated public ImsMmTelManager.RegistrationCallback();
24641    method @Deprecated public void onRegistered(int);
24642    method @Deprecated public void onRegistering(int);
24643  }
24644
24645  public class ImsRcsManager {
24646    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;
24647    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isAvailable(int, int) throws android.telephony.ims.ImsException;
24648    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isCapable(int, int) throws android.telephony.ims.ImsException;
24649    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void removeOnAvailabilityChangedListener(@NonNull android.telephony.ims.ImsRcsManager.OnAvailabilityChangedListener);
24650  }
24651
24652  public static interface ImsRcsManager.OnAvailabilityChangedListener {
24653    method public void onAvailabilityChanged(int);
24654  }
24655
24656  public final class ImsReasonInfo implements android.os.Parcelable {
24657    field public static final String EXTRA_MSG_SERVICE_NOT_AUTHORIZED = "Forbidden. Not Authorized for Service";
24658  }
24659
24660  public final class ImsRegistrationAttributes implements android.os.Parcelable {
24661    method public int getRegistrationTechnology();
24662  }
24663
24664  public static final class ImsRegistrationAttributes.Builder {
24665    ctor public ImsRegistrationAttributes.Builder(int);
24666    method @NonNull public android.telephony.ims.ImsRegistrationAttributes build();
24667    method @NonNull public android.telephony.ims.ImsRegistrationAttributes.Builder setFeatureTags(@NonNull java.util.Set<java.lang.String>);
24668    method @FlaggedApi("com.android.internal.telephony.flags.emergency_registration_state") @NonNull public android.telephony.ims.ImsRegistrationAttributes.Builder setFlagRegistrationTypeEmergency();
24669    method @FlaggedApi("com.android.internal.telephony.flags.emergency_registration_state") @NonNull public android.telephony.ims.ImsRegistrationAttributes.Builder setFlagVirtualRegistrationForEmergencyCall();
24670    method @NonNull public android.telephony.ims.ImsRegistrationAttributes.Builder setSipDetails(@NonNull android.telephony.ims.SipDetails);
24671  }
24672
24673  public class ImsService extends android.app.Service {
24674    ctor public ImsService();
24675    method @Nullable public android.telephony.ims.feature.MmTelFeature createEmergencyOnlyMmTelFeature(int);
24676    method @Deprecated public android.telephony.ims.feature.MmTelFeature createMmTelFeature(int);
24677    method @Nullable public android.telephony.ims.feature.MmTelFeature createMmTelFeatureForSubscription(int, int);
24678    method @Deprecated public android.telephony.ims.feature.RcsFeature createRcsFeature(int);
24679    method @Nullable public android.telephony.ims.feature.RcsFeature createRcsFeatureForSubscription(int, int);
24680    method @Deprecated public void disableIms(int);
24681    method public void disableImsForSubscription(int, int);
24682    method @Deprecated public void enableIms(int);
24683    method public void enableImsForSubscription(int, int);
24684    method @Deprecated public android.telephony.ims.stub.ImsConfigImplBase getConfig(int);
24685    method @NonNull public android.telephony.ims.stub.ImsConfigImplBase getConfigForSubscription(int, int);
24686    method @NonNull public java.util.concurrent.Executor getExecutor();
24687    method public long getImsServiceCapabilities();
24688    method @Deprecated public android.telephony.ims.stub.ImsRegistrationImplBase getRegistration(int);
24689    method @NonNull public android.telephony.ims.stub.ImsRegistrationImplBase getRegistrationForSubscription(int, int);
24690    method @Nullable public android.telephony.ims.stub.SipTransportImplBase getSipTransport(int);
24691    method public android.os.IBinder onBind(android.content.Intent);
24692    method public final void onUpdateSupportedImsFeatures(android.telephony.ims.stub.ImsFeatureConfiguration) throws android.os.RemoteException;
24693    method public android.telephony.ims.stub.ImsFeatureConfiguration querySupportedImsFeatures();
24694    method public void readyForFeatureCreation();
24695    field public static final long CAPABILITY_SIP_DELEGATE_CREATION = 2L; // 0x2L
24696    field public static final long CAPABILITY_TERMINAL_BASED_CALL_WAITING = 4L; // 0x4L
24697  }
24698
24699  public final class ImsSsData implements android.os.Parcelable {
24700    ctor public ImsSsData(int, int, int, int, int);
24701    method public int describeContents();
24702    method @Nullable public java.util.List<android.telephony.ims.ImsCallForwardInfo> getCallForwardInfo();
24703    method public int getRequestType();
24704    method public int getResult();
24705    method public int getServiceClass();
24706    method public int getServiceType();
24707    method @NonNull public java.util.List<android.telephony.ims.ImsSsInfo> getSuppServiceInfo();
24708    method public int getTeleserviceType();
24709    method public boolean isTypeBarring();
24710    method public boolean isTypeCf();
24711    method public boolean isTypeClip();
24712    method public boolean isTypeClir();
24713    method public boolean isTypeColp();
24714    method public boolean isTypeColr();
24715    method public boolean isTypeCw();
24716    method public boolean isTypeIcb();
24717    method public boolean isTypeInterrogation();
24718    method public boolean isTypeUnConditional();
24719    method public void writeToParcel(android.os.Parcel, int);
24720    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsSsData> CREATOR;
24721    field public static final int RESULT_SUCCESS = 0; // 0x0
24722    field public static final int SERVICE_CLASS_DATA = 2; // 0x2
24723    field public static final int SERVICE_CLASS_DATA_CIRCUIT_ASYNC = 32; // 0x20
24724    field public static final int SERVICE_CLASS_DATA_CIRCUIT_SYNC = 16; // 0x10
24725    field public static final int SERVICE_CLASS_DATA_PACKET_ACCESS = 64; // 0x40
24726    field public static final int SERVICE_CLASS_DATA_PAD = 128; // 0x80
24727    field public static final int SERVICE_CLASS_FAX = 4; // 0x4
24728    field public static final int SERVICE_CLASS_NONE = 0; // 0x0
24729    field public static final int SERVICE_CLASS_SMS = 8; // 0x8
24730    field public static final int SERVICE_CLASS_VOICE = 1; // 0x1
24731    field public static final int SS_ACTIVATION = 0; // 0x0
24732    field public static final int SS_ALL_BARRING = 18; // 0x12
24733    field public static final int SS_ALL_DATA_TELESERVICES = 3; // 0x3
24734    field public static final int SS_ALL_TELESERVICES_EXCEPT_SMS = 5; // 0x5
24735    field public static final int SS_ALL_TELESEVICES = 1; // 0x1
24736    field public static final int SS_ALL_TELE_AND_BEARER_SERVICES = 0; // 0x0
24737    field public static final int SS_BAIC = 16; // 0x10
24738    field public static final int SS_BAIC_ROAMING = 17; // 0x11
24739    field public static final int SS_BAOC = 13; // 0xd
24740    field public static final int SS_BAOIC = 14; // 0xe
24741    field public static final int SS_BAOIC_EXC_HOME = 15; // 0xf
24742    field public static final int SS_CFU = 0; // 0x0
24743    field public static final int SS_CFUT = 6; // 0x6
24744    field public static final int SS_CF_ALL = 4; // 0x4
24745    field public static final int SS_CF_ALL_CONDITIONAL = 5; // 0x5
24746    field public static final int SS_CF_BUSY = 1; // 0x1
24747    field public static final int SS_CF_NOT_REACHABLE = 3; // 0x3
24748    field public static final int SS_CF_NO_REPLY = 2; // 0x2
24749    field public static final int SS_CLIP = 7; // 0x7
24750    field public static final int SS_CLIR = 8; // 0x8
24751    field public static final int SS_CNAP = 11; // 0xb
24752    field public static final int SS_COLP = 9; // 0x9
24753    field public static final int SS_COLR = 10; // 0xa
24754    field public static final int SS_DEACTIVATION = 1; // 0x1
24755    field public static final int SS_ERASURE = 4; // 0x4
24756    field public static final int SS_INCOMING_BARRING = 20; // 0x14
24757    field public static final int SS_INCOMING_BARRING_ANONYMOUS = 22; // 0x16
24758    field public static final int SS_INCOMING_BARRING_DN = 21; // 0x15
24759    field public static final int SS_INTERROGATION = 2; // 0x2
24760    field public static final int SS_OUTGOING_BARRING = 19; // 0x13
24761    field public static final int SS_REGISTRATION = 3; // 0x3
24762    field public static final int SS_SMS_SERVICES = 4; // 0x4
24763    field public static final int SS_TELEPHONY = 2; // 0x2
24764    field public static final int SS_WAIT = 12; // 0xc
24765  }
24766
24767  public static final class ImsSsData.Builder {
24768    ctor public ImsSsData.Builder(int, int, int, int, int);
24769    method @NonNull public android.telephony.ims.ImsSsData build();
24770    method @NonNull public android.telephony.ims.ImsSsData.Builder setCallForwardingInfo(@NonNull java.util.List<android.telephony.ims.ImsCallForwardInfo>);
24771    method @NonNull public android.telephony.ims.ImsSsData.Builder setSuppServiceInfo(@NonNull java.util.List<android.telephony.ims.ImsSsInfo>);
24772  }
24773
24774  public final class ImsSsInfo implements android.os.Parcelable {
24775    ctor @Deprecated public ImsSsInfo(int, @Nullable String);
24776    method public int describeContents();
24777    method public int getClirInterrogationStatus();
24778    method public int getClirOutgoingState();
24779    method @Deprecated public String getIcbNum();
24780    method @Nullable public String getIncomingCommunicationBarringNumber();
24781    method public int getProvisionStatus();
24782    method public int getStatus();
24783    method public void writeToParcel(android.os.Parcel, int);
24784    field public static final int CLIR_OUTGOING_DEFAULT = 0; // 0x0
24785    field public static final int CLIR_OUTGOING_INVOCATION = 1; // 0x1
24786    field public static final int CLIR_OUTGOING_SUPPRESSION = 2; // 0x2
24787    field public static final int CLIR_STATUS_NOT_PROVISIONED = 0; // 0x0
24788    field public static final int CLIR_STATUS_PROVISIONED_PERMANENT = 1; // 0x1
24789    field public static final int CLIR_STATUS_TEMPORARILY_ALLOWED = 4; // 0x4
24790    field public static final int CLIR_STATUS_TEMPORARILY_RESTRICTED = 3; // 0x3
24791    field public static final int CLIR_STATUS_UNKNOWN = 2; // 0x2
24792    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsSsInfo> CREATOR;
24793    field public static final int DISABLED = 0; // 0x0
24794    field public static final int ENABLED = 1; // 0x1
24795    field public static final int NOT_REGISTERED = -1; // 0xffffffff
24796    field public static final int SERVICE_NOT_PROVISIONED = 0; // 0x0
24797    field public static final int SERVICE_PROVISIONED = 1; // 0x1
24798    field public static final int SERVICE_PROVISIONING_UNKNOWN = -1; // 0xffffffff
24799  }
24800
24801  public static final class ImsSsInfo.Builder {
24802    ctor public ImsSsInfo.Builder(int);
24803    method @NonNull public android.telephony.ims.ImsSsInfo build();
24804    method @NonNull public android.telephony.ims.ImsSsInfo.Builder setClirInterrogationStatus(int);
24805    method @NonNull public android.telephony.ims.ImsSsInfo.Builder setClirOutgoingState(int);
24806    method @NonNull public android.telephony.ims.ImsSsInfo.Builder setIncomingCommunicationBarringNumber(@NonNull String);
24807    method @NonNull public android.telephony.ims.ImsSsInfo.Builder setProvisionStatus(int);
24808  }
24809
24810  public final class ImsStreamMediaProfile implements android.os.Parcelable {
24811    ctor public ImsStreamMediaProfile(int, int, int, int, int);
24812    method public void copyFrom(android.telephony.ims.ImsStreamMediaProfile);
24813    method public int describeContents();
24814    method @Nullable public android.telephony.ims.AudioCodecAttributes getAudioCodecAttributes();
24815    method public int getAudioDirection();
24816    method public int getAudioQuality();
24817    method public int getRttMode();
24818    method public int getVideoDirection();
24819    method public int getVideoQuality();
24820    method public boolean isReceivingRttAudio();
24821    method public boolean isRttCall();
24822    method public void setAudioCodecAttributes(@NonNull android.telephony.ims.AudioCodecAttributes);
24823    method public void setReceivingRttAudio(boolean);
24824    method public void setRttMode(int);
24825    method public void writeToParcel(android.os.Parcel, int);
24826    field public static final int AUDIO_QUALITY_AMR = 1; // 0x1
24827    field public static final int AUDIO_QUALITY_AMR_WB = 2; // 0x2
24828    field public static final int AUDIO_QUALITY_EVRC = 4; // 0x4
24829    field public static final int AUDIO_QUALITY_EVRC_B = 5; // 0x5
24830    field public static final int AUDIO_QUALITY_EVRC_NW = 7; // 0x7
24831    field public static final int AUDIO_QUALITY_EVRC_WB = 6; // 0x6
24832    field public static final int AUDIO_QUALITY_EVS_FB = 20; // 0x14
24833    field public static final int AUDIO_QUALITY_EVS_NB = 17; // 0x11
24834    field public static final int AUDIO_QUALITY_EVS_SWB = 19; // 0x13
24835    field public static final int AUDIO_QUALITY_EVS_WB = 18; // 0x12
24836    field public static final int AUDIO_QUALITY_G711A = 13; // 0xd
24837    field public static final int AUDIO_QUALITY_G711AB = 15; // 0xf
24838    field public static final int AUDIO_QUALITY_G711U = 11; // 0xb
24839    field public static final int AUDIO_QUALITY_G722 = 14; // 0xe
24840    field public static final int AUDIO_QUALITY_G723 = 12; // 0xc
24841    field public static final int AUDIO_QUALITY_G729 = 16; // 0x10
24842    field public static final int AUDIO_QUALITY_GSM_EFR = 8; // 0x8
24843    field public static final int AUDIO_QUALITY_GSM_FR = 9; // 0x9
24844    field public static final int AUDIO_QUALITY_GSM_HR = 10; // 0xa
24845    field public static final int AUDIO_QUALITY_NONE = 0; // 0x0
24846    field public static final int AUDIO_QUALITY_QCELP13K = 3; // 0x3
24847    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsStreamMediaProfile> CREATOR;
24848    field public static final int DIRECTION_INACTIVE = 0; // 0x0
24849    field public static final int DIRECTION_INVALID = -1; // 0xffffffff
24850    field public static final int DIRECTION_RECEIVE = 1; // 0x1
24851    field public static final int DIRECTION_SEND = 2; // 0x2
24852    field public static final int DIRECTION_SEND_RECEIVE = 3; // 0x3
24853    field public static final int RTT_MODE_DISABLED = 0; // 0x0
24854    field public static final int RTT_MODE_FULL = 1; // 0x1
24855    field public static final int VIDEO_QUALITY_NONE = 0; // 0x0
24856    field public static final int VIDEO_QUALITY_QCIF = 1; // 0x1
24857    field public static final int VIDEO_QUALITY_QVGA_LANDSCAPE = 2; // 0x2
24858    field public static final int VIDEO_QUALITY_QVGA_PORTRAIT = 4; // 0x4
24859    field public static final int VIDEO_QUALITY_VGA_LANDSCAPE = 8; // 0x8
24860    field public static final int VIDEO_QUALITY_VGA_PORTRAIT = 16; // 0x10
24861  }
24862
24863  public final class ImsSuppServiceNotification implements android.os.Parcelable {
24864    ctor public ImsSuppServiceNotification(int, int, int, int, String, String[]);
24865    method public int describeContents();
24866    method public void writeToParcel(android.os.Parcel, int);
24867    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsSuppServiceNotification> CREATOR;
24868    field public final int code;
24869    field public final String[] history;
24870    field public final int index;
24871    field public final int notificationType;
24872    field public final String number;
24873    field public final int type;
24874  }
24875
24876  public class ImsUtListener {
24877    method public void onLineIdentificationSupplementaryServiceResponse(int, @NonNull android.telephony.ims.ImsSsInfo);
24878    method public void onSupplementaryServiceIndication(android.telephony.ims.ImsSsData);
24879    method public void onUtConfigurationCallBarringQueried(int, android.telephony.ims.ImsSsInfo[]);
24880    method public void onUtConfigurationCallForwardQueried(int, android.telephony.ims.ImsCallForwardInfo[]);
24881    method public void onUtConfigurationCallWaitingQueried(int, android.telephony.ims.ImsSsInfo[]);
24882    method @Deprecated public void onUtConfigurationQueried(int, android.os.Bundle);
24883    method public void onUtConfigurationQueryFailed(int, android.telephony.ims.ImsReasonInfo);
24884    method public void onUtConfigurationUpdateFailed(int, android.telephony.ims.ImsReasonInfo);
24885    method public void onUtConfigurationUpdated(int);
24886    field @Deprecated public static final String BUNDLE_KEY_CLIR = "queryClir";
24887    field @Deprecated public static final String BUNDLE_KEY_SSINFO = "imsSsInfo";
24888  }
24889
24890  public abstract class ImsVideoCallProvider {
24891    ctor public ImsVideoCallProvider();
24892    method public void changeCallDataUsage(long);
24893    method public void changeCameraCapabilities(android.telecom.VideoProfile.CameraCapabilities);
24894    method public void changePeerDimensions(int, int);
24895    method public void changeVideoQuality(int);
24896    method public void handleCallSessionEvent(int);
24897    method public abstract void onRequestCallDataUsage();
24898    method public abstract void onRequestCameraCapabilities();
24899    method public abstract void onSendSessionModifyRequest(android.telecom.VideoProfile, android.telecom.VideoProfile);
24900    method public abstract void onSendSessionModifyResponse(android.telecom.VideoProfile);
24901    method public abstract void onSetCamera(String);
24902    method public void onSetCamera(String, int);
24903    method public abstract void onSetDeviceOrientation(int);
24904    method public abstract void onSetDisplaySurface(android.view.Surface);
24905    method public abstract void onSetPauseImage(android.net.Uri);
24906    method public abstract void onSetPreviewSurface(android.view.Surface);
24907    method public abstract void onSetZoom(float);
24908    method public void receiveSessionModifyRequest(android.telecom.VideoProfile);
24909    method public void receiveSessionModifyResponse(int, android.telecom.VideoProfile, android.telecom.VideoProfile);
24910  }
24911
24912  public final class MediaQualityStatus implements android.os.Parcelable {
24913    ctor public MediaQualityStatus(@NonNull String, int, int, @IntRange(from=0, to=100) int, @IntRange(from=0) int, @IntRange(from=0) long);
24914    method public int describeContents();
24915    method @NonNull public String getCallSessionId();
24916    method public int getMediaSessionType();
24917    method @IntRange(from=0) public long getRtpInactivityMillis();
24918    method @IntRange(from=0) public int getRtpJitterMillis();
24919    method @IntRange(from=0, to=100) public int getRtpPacketLossRate();
24920    method public int getTransportType();
24921    method public void writeToParcel(@NonNull android.os.Parcel, int);
24922    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.MediaQualityStatus> CREATOR;
24923    field public static final int MEDIA_SESSION_TYPE_AUDIO = 1; // 0x1
24924    field public static final int MEDIA_SESSION_TYPE_VIDEO = 2; // 0x2
24925  }
24926
24927  public final class MediaThreshold implements android.os.Parcelable {
24928    method public int describeContents();
24929    method @NonNull public long[] getThresholdsRtpInactivityTimeMillis();
24930    method @NonNull public int[] getThresholdsRtpJitterMillis();
24931    method @NonNull public int[] getThresholdsRtpPacketLossRate();
24932    method public void writeToParcel(@NonNull android.os.Parcel, int);
24933    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.MediaThreshold> CREATOR;
24934  }
24935
24936  public class ProvisioningManager {
24937    method @NonNull public static android.telephony.ims.ProvisioningManager createForSubscriptionId(int);
24938    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public int getProvisioningIntValue(int);
24939    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public String getProvisioningStringValue(int);
24940    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public boolean getRcsProvisioningStatusForCapability(int);
24941    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;
24942    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void notifyRcsAutoConfigurationReceived(@NonNull byte[], boolean);
24943    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;
24944    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;
24945    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public int setProvisioningIntValue(int, int);
24946    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public int setProvisioningStringValue(int, @NonNull String);
24947    method @RequiresPermission(android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION) public void setRcsClientConfiguration(@NonNull android.telephony.ims.RcsClientConfiguration) throws android.telephony.ims.ImsException;
24948    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public void setRcsProvisioningStatusForCapability(int, boolean);
24949    method @RequiresPermission(android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION) public void triggerRcsReconfiguration();
24950    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void unregisterProvisioningChangedCallback(@NonNull android.telephony.ims.ProvisioningManager.Callback);
24951    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);
24952    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";
24953    field public static final String EXTRA_STATUS = "android.telephony.ims.extra.STATUS";
24954    field public static final String EXTRA_SUBSCRIPTION_ID = "android.telephony.ims.extra.SUBSCRIPTION_ID";
24955    field public static final int KEY_VOICE_OVER_WIFI_ENTITLEMENT_ID = 67; // 0x43
24956    field public static final int KEY_VOICE_OVER_WIFI_MODE_OVERRIDE = 27; // 0x1b
24957    field public static final int KEY_VOICE_OVER_WIFI_ROAMING_ENABLED_OVERRIDE = 26; // 0x1a
24958    field public static final int PROVISIONING_VALUE_DISABLED = 0; // 0x0
24959    field public static final int PROVISIONING_VALUE_ENABLED = 1; // 0x1
24960    field public static final int STATUS_CAPABLE = 0; // 0x0
24961    field public static final int STATUS_CARRIER_NOT_CAPABLE = 2; // 0x2
24962    field public static final int STATUS_DEVICE_NOT_CAPABLE = 1; // 0x1
24963    field public static final String STRING_QUERY_RESULT_ERROR_GENERIC = "STRING_QUERY_RESULT_ERROR_GENERIC";
24964    field public static final String STRING_QUERY_RESULT_ERROR_NOT_READY = "STRING_QUERY_RESULT_ERROR_NOT_READY";
24965  }
24966
24967  public static class ProvisioningManager.Callback {
24968    ctor public ProvisioningManager.Callback();
24969    method public void onProvisioningIntChanged(int, int);
24970    method public void onProvisioningStringChanged(int, @NonNull String);
24971  }
24972
24973  public static class ProvisioningManager.RcsProvisioningCallback {
24974    ctor public ProvisioningManager.RcsProvisioningCallback();
24975    method public void onAutoConfigurationErrorReceived(int, @NonNull String);
24976    method public void onConfigurationChanged(@NonNull byte[]);
24977    method public void onConfigurationReset();
24978    method public void onPreProvisioningReceived(@NonNull byte[]);
24979    method public void onRemoved();
24980  }
24981
24982  public final class PublishAttributes implements android.os.Parcelable {
24983    method public int describeContents();
24984    method @NonNull public java.util.List<android.telephony.ims.RcsContactPresenceTuple> getPresenceTuples();
24985    method public int getPublishState();
24986    method @Nullable public android.telephony.ims.SipDetails getSipDetails();
24987    method public void writeToParcel(@NonNull android.os.Parcel, int);
24988    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.PublishAttributes> CREATOR;
24989  }
24990
24991  public final class RcsClientConfiguration implements android.os.Parcelable {
24992    ctor @Deprecated public RcsClientConfiguration(@NonNull String, @NonNull String, @NonNull String, @NonNull String);
24993    ctor public RcsClientConfiguration(@NonNull String, @NonNull String, @NonNull String, @NonNull String, boolean);
24994    method public int describeContents();
24995    method @NonNull public String getClientVendor();
24996    method @NonNull public String getClientVersion();
24997    method @NonNull public String getRcsProfile();
24998    method @NonNull public String getRcsVersion();
24999    method public boolean isRcsEnabledByUser();
25000    method public void writeToParcel(@NonNull android.os.Parcel, int);
25001    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RcsClientConfiguration> CREATOR;
25002    field public static final String RCS_PROFILE_1_0 = "UP_1.0";
25003    field public static final String RCS_PROFILE_2_3 = "UP_2.3";
25004    field public static final String RCS_PROFILE_2_4 = "UP_2.4";
25005  }
25006
25007  public final class RcsContactPresenceTuple implements android.os.Parcelable {
25008    method public int describeContents();
25009    method @Nullable public android.net.Uri getContactUri();
25010    method @Nullable public android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities getServiceCapabilities();
25011    method @Nullable public String getServiceDescription();
25012    method @NonNull public String getServiceId();
25013    method @NonNull public String getServiceVersion();
25014    method @NonNull public String getStatus();
25015    method @Nullable public java.time.Instant getTime();
25016    method public void writeToParcel(@NonNull android.os.Parcel, int);
25017    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RcsContactPresenceTuple> CREATOR;
25018    field public static final String SERVICE_ID_CALL_COMPOSER = "org.3gpp.urn:urn-7:3gpp-service.ims.icsi.gsma.callcomposer";
25019    field public static final String SERVICE_ID_CHATBOT = "org.3gpp.urn:urn-7:3gpp-application.ims.iari.rcs.chatbot";
25020    field public static final String SERVICE_ID_CHATBOT_ROLE = "org.gsma.rcs.isbot";
25021    field public static final String SERVICE_ID_CHATBOT_STANDALONE = " org.3gpp.urn:urn-7:3gpp-application.ims.iari.rcs.chatbot.sa";
25022    field public static final String SERVICE_ID_CHAT_V1 = "org.openmobilealliance:IM-session";
25023    field public static final String SERVICE_ID_CHAT_V2 = "org.openmobilealliance:ChatSession";
25024    field public static final String SERVICE_ID_FT = "org.openmobilealliance:File-Transfer-HTTP";
25025    field public static final String SERVICE_ID_FT_OVER_SMS = "org.3gpp.urn:urn-7:3gpp-application.ims.iari.rcs.ftsms";
25026    field public static final String SERVICE_ID_GEO_PUSH = "org.3gpp.urn:urn-7:3gpp-application.ims.iari.rcs.geopush";
25027    field public static final String SERVICE_ID_GEO_PUSH_VIA_SMS = "org.3gpp.urn:urn-7:3gpp-application.ims.iari.rcs.geosms";
25028    field public static final String SERVICE_ID_MMTEL = "org.3gpp.urn:urn-7:3gpp-service.ims.icsi.mmtel";
25029    field public static final String SERVICE_ID_POST_CALL = "org.3gpp.urn:urn-7:3gpp-service.ims.icsi.gsma.callunanswered";
25030    field public static final String SERVICE_ID_SHARED_MAP = "org.3gpp.urn:urn-7:3gpp-service.ims.icsi.gsma.sharedmap";
25031    field public static final String SERVICE_ID_SHARED_SKETCH = "org.3gpp.urn:urn-7:3gpp-service.ims.icsi.gsma.sharedsketch";
25032    field public static final String SERVICE_ID_SLM = "org.openmobilealliance:StandaloneMsg";
25033    field public static final String TUPLE_BASIC_STATUS_CLOSED = "closed";
25034    field public static final String TUPLE_BASIC_STATUS_OPEN = "open";
25035  }
25036
25037  public static final class RcsContactPresenceTuple.Builder {
25038    ctor public RcsContactPresenceTuple.Builder(@NonNull String, @NonNull String, @NonNull String);
25039    method @NonNull public android.telephony.ims.RcsContactPresenceTuple build();
25040    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.Builder setContactUri(@NonNull android.net.Uri);
25041    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.Builder setServiceCapabilities(@NonNull android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities);
25042    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.Builder setServiceDescription(@NonNull String);
25043    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.Builder setTime(@NonNull java.time.Instant);
25044  }
25045
25046  public static final class RcsContactPresenceTuple.ServiceCapabilities implements android.os.Parcelable {
25047    method public int describeContents();
25048    method @NonNull public java.util.List<java.lang.String> getSupportedDuplexModes();
25049    method @NonNull public java.util.List<java.lang.String> getUnsupportedDuplexModes();
25050    method public boolean isAudioCapable();
25051    method public boolean isVideoCapable();
25052    method public void writeToParcel(@NonNull android.os.Parcel, int);
25053    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities> CREATOR;
25054    field public static final String DUPLEX_MODE_FULL = "full";
25055    field public static final String DUPLEX_MODE_HALF = "half";
25056    field public static final String DUPLEX_MODE_RECEIVE_ONLY = "receive-only";
25057    field public static final String DUPLEX_MODE_SEND_ONLY = "send-only";
25058  }
25059
25060  public static final class RcsContactPresenceTuple.ServiceCapabilities.Builder {
25061    ctor public RcsContactPresenceTuple.ServiceCapabilities.Builder(boolean, boolean);
25062    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities.Builder addSupportedDuplexMode(@NonNull String);
25063    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities.Builder addUnsupportedDuplexMode(@NonNull String);
25064    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities build();
25065  }
25066
25067  public final class RcsContactUceCapability implements android.os.Parcelable {
25068    method public int describeContents();
25069    method public int getCapabilityMechanism();
25070    method @Nullable public android.telephony.ims.RcsContactPresenceTuple getCapabilityTuple(@NonNull String);
25071    method @NonNull public java.util.List<android.telephony.ims.RcsContactPresenceTuple> getCapabilityTuples();
25072    method @NonNull public android.net.Uri getContactUri();
25073    method @Nullable public android.net.Uri getEntityUri();
25074    method @NonNull public java.util.Set<java.lang.String> getFeatureTags();
25075    method public int getRequestResult();
25076    method public int getSourceType();
25077    method public void writeToParcel(@NonNull android.os.Parcel, int);
25078    field public static final int CAPABILITY_MECHANISM_OPTIONS = 2; // 0x2
25079    field public static final int CAPABILITY_MECHANISM_PRESENCE = 1; // 0x1
25080    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RcsContactUceCapability> CREATOR;
25081    field public static final int REQUEST_RESULT_FOUND = 3; // 0x3
25082    field public static final int REQUEST_RESULT_NOT_FOUND = 2; // 0x2
25083    field public static final int REQUEST_RESULT_NOT_ONLINE = 1; // 0x1
25084    field public static final int REQUEST_RESULT_UNKNOWN = 0; // 0x0
25085    field public static final int SOURCE_TYPE_CACHED = 1; // 0x1
25086    field public static final int SOURCE_TYPE_NETWORK = 0; // 0x0
25087  }
25088
25089  public static final class RcsContactUceCapability.OptionsBuilder {
25090    ctor public RcsContactUceCapability.OptionsBuilder(@NonNull android.net.Uri);
25091    method @NonNull public android.telephony.ims.RcsContactUceCapability.OptionsBuilder addFeatureTag(@NonNull String);
25092    method @NonNull public android.telephony.ims.RcsContactUceCapability.OptionsBuilder addFeatureTags(@NonNull java.util.Set<java.lang.String>);
25093    method @NonNull public android.telephony.ims.RcsContactUceCapability build();
25094    method @NonNull public android.telephony.ims.RcsContactUceCapability.OptionsBuilder setRequestResult(int);
25095  }
25096
25097  public static final class RcsContactUceCapability.PresenceBuilder {
25098    ctor public RcsContactUceCapability.PresenceBuilder(@NonNull android.net.Uri, int, int);
25099    method @NonNull public android.telephony.ims.RcsContactUceCapability.PresenceBuilder addCapabilityTuple(@NonNull android.telephony.ims.RcsContactPresenceTuple);
25100    method @NonNull public android.telephony.ims.RcsContactUceCapability.PresenceBuilder addCapabilityTuples(@NonNull java.util.List<android.telephony.ims.RcsContactPresenceTuple>);
25101    method @NonNull public android.telephony.ims.RcsContactUceCapability build();
25102    method @NonNull public android.telephony.ims.RcsContactUceCapability.PresenceBuilder setEntityUri(@NonNull android.net.Uri);
25103  }
25104
25105  public class RcsUceAdapter {
25106    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;
25107    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getUcePublishState() throws android.telephony.ims.ImsException;
25108    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void removeOnPublishStateChangedListener(@NonNull android.telephony.ims.RcsUceAdapter.OnPublishStateChangedListener) throws android.telephony.ims.ImsException;
25109    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;
25110    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;
25111    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setUceSettingEnabled(boolean) throws android.telephony.ims.ImsException;
25112    field @Deprecated public static final int CAPABILITY_TYPE_PRESENCE_UCE = 2; // 0x2
25113    field public static final int CAPABILITY_UPDATE_TRIGGER_ETAG_EXPIRED = 1; // 0x1
25114    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_2G = 7; // 0x7
25115    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_3G = 6; // 0x6
25116    field @Deprecated @FlaggedApi("com.android.internal.telephony.flags.deprecate_cdma") public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_EHRPD = 4; // 0x4
25117    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_HSPAPLUS = 5; // 0x5
25118    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_INTERNET_PDN = 12; // 0xc
25119    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_IWLAN = 9; // 0x9
25120    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_LTE_VOPS_DISABLED = 2; // 0x2
25121    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_LTE_VOPS_ENABLED = 3; // 0x3
25122    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_NR5G_VOPS_DISABLED = 10; // 0xa
25123    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_NR5G_VOPS_ENABLED = 11; // 0xb
25124    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_WLAN = 8; // 0x8
25125    field public static final int CAPABILITY_UPDATE_TRIGGER_UNKNOWN = 0; // 0x0
25126    field public static final int ERROR_FORBIDDEN = 6; // 0x6
25127    field public static final int ERROR_GENERIC_FAILURE = 1; // 0x1
25128    field public static final int ERROR_INSUFFICIENT_MEMORY = 10; // 0xa
25129    field public static final int ERROR_LOST_NETWORK = 11; // 0xb
25130    field public static final int ERROR_NOT_AUTHORIZED = 5; // 0x5
25131    field public static final int ERROR_NOT_AVAILABLE = 3; // 0x3
25132    field public static final int ERROR_NOT_ENABLED = 2; // 0x2
25133    field public static final int ERROR_NOT_FOUND = 7; // 0x7
25134    field public static final int ERROR_NOT_REGISTERED = 4; // 0x4
25135    field public static final int ERROR_REQUEST_TIMEOUT = 9; // 0x9
25136    field public static final int ERROR_REQUEST_TOO_LARGE = 8; // 0x8
25137    field public static final int ERROR_SERVER_UNAVAILABLE = 12; // 0xc
25138    field public static final int PUBLISH_STATE_NOT_PUBLISHED = 2; // 0x2
25139    field public static final int PUBLISH_STATE_OK = 1; // 0x1
25140    field public static final int PUBLISH_STATE_OTHER_ERROR = 6; // 0x6
25141    field public static final int PUBLISH_STATE_PUBLISHING = 7; // 0x7
25142    field public static final int PUBLISH_STATE_RCS_PROVISION_ERROR = 4; // 0x4
25143    field public static final int PUBLISH_STATE_REQUEST_TIMEOUT = 5; // 0x5
25144    field public static final int PUBLISH_STATE_VOICE_PROVISION_ERROR = 3; // 0x3
25145  }
25146
25147  public static interface RcsUceAdapter.CapabilitiesCallback {
25148    method public void onCapabilitiesReceived(@NonNull java.util.List<android.telephony.ims.RcsContactUceCapability>);
25149    method public default void onComplete();
25150    method public default void onComplete(@Nullable android.telephony.ims.SipDetails);
25151    method public default void onError(int, long);
25152    method public default void onError(int, long, @Nullable android.telephony.ims.SipDetails);
25153  }
25154
25155  public static interface RcsUceAdapter.OnPublishStateChangedListener {
25156    method public default void onPublishStateChange(@NonNull android.telephony.ims.PublishAttributes);
25157    method @Deprecated public void onPublishStateChange(int);
25158  }
25159
25160  public interface RegistrationManager {
25161    field public static final int SUGGESTED_ACTION_NONE = 0; // 0x0
25162    field @FlaggedApi("com.android.internal.telephony.flags.add_rat_related_suggested_action_to_ims_registration") public static final int SUGGESTED_ACTION_TRIGGER_CLEAR_RAT_BLOCKS = 4; // 0x4
25163    field public static final int SUGGESTED_ACTION_TRIGGER_PLMN_BLOCK = 1; // 0x1
25164    field public static final int SUGGESTED_ACTION_TRIGGER_PLMN_BLOCK_WITH_TIMEOUT = 2; // 0x2
25165    field @FlaggedApi("com.android.internal.telephony.flags.add_rat_related_suggested_action_to_ims_registration") public static final int SUGGESTED_ACTION_TRIGGER_RAT_BLOCK = 3; // 0x3
25166  }
25167
25168  public static class RegistrationManager.RegistrationCallback {
25169    method public void onUnregistered(@NonNull android.telephony.ims.ImsReasonInfo, @NonNull android.telephony.ims.SipDetails);
25170  }
25171
25172  public final class RtpHeaderExtension implements android.os.Parcelable {
25173    ctor public RtpHeaderExtension(@IntRange(from=1, to=14) int, @NonNull byte[]);
25174    method public int describeContents();
25175    method @NonNull public byte[] getExtensionData();
25176    method @IntRange(from=1, to=14) public int getLocalIdentifier();
25177    method public void writeToParcel(@NonNull android.os.Parcel, int);
25178    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RtpHeaderExtension> CREATOR;
25179  }
25180
25181  public final class RtpHeaderExtensionType implements android.os.Parcelable {
25182    ctor public RtpHeaderExtensionType(@IntRange(from=1, to=14) int, @NonNull android.net.Uri);
25183    method public int describeContents();
25184    method @IntRange(from=1, to=14) public int getLocalIdentifier();
25185    method @NonNull public android.net.Uri getUri();
25186    method public void writeToParcel(@NonNull android.os.Parcel, int);
25187    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RtpHeaderExtensionType> CREATOR;
25188  }
25189
25190  public final class SipDelegateConfiguration implements android.os.Parcelable {
25191    method public int describeContents();
25192    method @Nullable public String getHomeDomain();
25193    method @Nullable public String getImei();
25194    method @Nullable public android.telephony.ims.SipDelegateConfiguration.IpSecConfiguration getIpSecConfiguration();
25195    method @NonNull public java.net.InetSocketAddress getLocalAddress();
25196    method public int getMaxUdpPayloadSizeBytes();
25197    method @Nullable public java.net.InetSocketAddress getNatSocketAddress();
25198    method @Nullable public String getPrivateUserIdentifier();
25199    method @Nullable public android.net.Uri getPublicGruuUri();
25200    method @Nullable public String getPublicUserIdentifier();
25201    method @Nullable public String getSipAssociatedUriHeader();
25202    method @Nullable public String getSipAuthenticationHeader();
25203    method @Nullable public String getSipAuthenticationNonce();
25204    method @Nullable public String getSipCniHeader();
25205    method @Nullable public String getSipContactUserParameter();
25206    method @Nullable public String getSipPaniHeader();
25207    method @Nullable public String getSipPathHeader();
25208    method @Nullable public String getSipPlaniHeader();
25209    method @NonNull public java.net.InetSocketAddress getSipServerAddress();
25210    method @Nullable public String getSipServiceRouteHeader();
25211    method @Nullable public String getSipUserAgentHeader();
25212    method public int getTransportType();
25213    method @IntRange(from=0) public long getVersion();
25214    method public boolean isSipCompactFormEnabled();
25215    method public boolean isSipKeepaliveEnabled();
25216    method public void writeToParcel(@NonNull android.os.Parcel, int);
25217    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.SipDelegateConfiguration> CREATOR;
25218    field public static final int SIP_TRANSPORT_TCP = 1; // 0x1
25219    field public static final int SIP_TRANSPORT_UDP = 0; // 0x0
25220    field public static final int UDP_PAYLOAD_SIZE_UNDEFINED = -1; // 0xffffffff
25221  }
25222
25223  public static final class SipDelegateConfiguration.Builder {
25224    ctor public SipDelegateConfiguration.Builder(@NonNull android.telephony.ims.SipDelegateConfiguration);
25225    ctor public SipDelegateConfiguration.Builder(@IntRange(from=0) long, int, @NonNull java.net.InetSocketAddress, @NonNull java.net.InetSocketAddress);
25226    method @NonNull public android.telephony.ims.SipDelegateConfiguration build();
25227    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setHomeDomain(@Nullable String);
25228    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setImei(@Nullable String);
25229    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setIpSecConfiguration(@Nullable android.telephony.ims.SipDelegateConfiguration.IpSecConfiguration);
25230    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setMaxUdpPayloadSizeBytes(@IntRange(from=1) int);
25231    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setNatSocketAddress(@Nullable java.net.InetSocketAddress);
25232    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setPrivateUserIdentifier(@Nullable String);
25233    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setPublicGruuUri(@Nullable android.net.Uri);
25234    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setPublicUserIdentifier(@Nullable String);
25235    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipAssociatedUriHeader(@Nullable String);
25236    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipAuthenticationHeader(@Nullable String);
25237    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipAuthenticationNonce(@Nullable String);
25238    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipCniHeader(@Nullable String);
25239    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipCompactFormEnabled(boolean);
25240    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipContactUserParameter(@Nullable String);
25241    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipKeepaliveEnabled(boolean);
25242    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipPaniHeader(@Nullable String);
25243    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipPathHeader(@Nullable String);
25244    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipPlaniHeader(@Nullable String);
25245    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipServiceRouteHeader(@Nullable String);
25246    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipUserAgentHeader(@Nullable String);
25247  }
25248
25249  public static final class SipDelegateConfiguration.IpSecConfiguration {
25250    ctor public SipDelegateConfiguration.IpSecConfiguration(int, int, int, int, int, int, @NonNull String);
25251    method public int getLastLocalTxPort();
25252    method public int getLastRemoteTxPort();
25253    method public int getLocalRxPort();
25254    method public int getLocalTxPort();
25255    method public int getRemoteRxPort();
25256    method public int getRemoteTxPort();
25257    method @NonNull public String getSipSecurityVerifyHeader();
25258  }
25259
25260  public interface SipDelegateConnection {
25261    method public void cleanupSession(@NonNull String);
25262    method public void notifyMessageReceiveError(@NonNull String, int);
25263    method public void notifyMessageReceived(@NonNull String);
25264    method public void sendMessage(@NonNull android.telephony.ims.SipMessage, long);
25265  }
25266
25267  public class SipDelegateManager {
25268    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;
25269    method @RequiresPermission(android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION) public void destroySipDelegate(@NonNull android.telephony.ims.SipDelegateConnection, int);
25270    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;
25271    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;
25272    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;
25273    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);
25274    method public void unregisterImsStateCallback(@NonNull android.telephony.ims.ImsStateCallback);
25275    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void unregisterSipDialogStateCallback(@NonNull android.telephony.ims.SipDialogStateCallback) throws android.telephony.ims.ImsException;
25276    field public static final int DENIED_REASON_INVALID = 4; // 0x4
25277    field public static final int DENIED_REASON_IN_USE_BY_ANOTHER_DELEGATE = 1; // 0x1
25278    field public static final int DENIED_REASON_NOT_ALLOWED = 2; // 0x2
25279    field public static final int DENIED_REASON_SINGLE_REGISTRATION_NOT_ALLOWED = 3; // 0x3
25280    field public static final int DENIED_REASON_UNKNOWN = 0; // 0x0
25281    field public static final int MESSAGE_FAILURE_REASON_DELEGATE_CLOSED = 2; // 0x2
25282    field public static final int MESSAGE_FAILURE_REASON_DELEGATE_DEAD = 1; // 0x1
25283    field public static final int MESSAGE_FAILURE_REASON_INTERNAL_DELEGATE_STATE_TRANSITION = 11; // 0xb
25284    field public static final int MESSAGE_FAILURE_REASON_INVALID_BODY_CONTENT = 5; // 0x5
25285    field public static final int MESSAGE_FAILURE_REASON_INVALID_FEATURE_TAG = 6; // 0x6
25286    field public static final int MESSAGE_FAILURE_REASON_INVALID_HEADER_FIELDS = 4; // 0x4
25287    field public static final int MESSAGE_FAILURE_REASON_INVALID_START_LINE = 3; // 0x3
25288    field public static final int MESSAGE_FAILURE_REASON_NETWORK_NOT_AVAILABLE = 8; // 0x8
25289    field public static final int MESSAGE_FAILURE_REASON_NOT_REGISTERED = 9; // 0x9
25290    field public static final int MESSAGE_FAILURE_REASON_STALE_IMS_CONFIGURATION = 10; // 0xa
25291    field public static final int MESSAGE_FAILURE_REASON_TAG_NOT_ENABLED_FOR_DELEGATE = 7; // 0x7
25292    field public static final int MESSAGE_FAILURE_REASON_UNKNOWN = 0; // 0x0
25293    field public static final int SIP_DELEGATE_DESTROY_REASON_REQUESTED_BY_APP = 2; // 0x2
25294    field public static final int SIP_DELEGATE_DESTROY_REASON_SERVICE_DEAD = 1; // 0x1
25295    field public static final int SIP_DELEGATE_DESTROY_REASON_SUBSCRIPTION_TORN_DOWN = 4; // 0x4
25296    field public static final int SIP_DELEGATE_DESTROY_REASON_UNKNOWN = 0; // 0x0
25297    field public static final int SIP_DELEGATE_DESTROY_REASON_USER_DISABLED_RCS = 3; // 0x3
25298  }
25299
25300  public final class SipDialogState implements android.os.Parcelable {
25301    method public int describeContents();
25302    method public int getState();
25303    method public void writeToParcel(@NonNull android.os.Parcel, int);
25304    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.SipDialogState> CREATOR;
25305    field public static final int STATE_CLOSED = 2; // 0x2
25306    field public static final int STATE_CONFIRMED = 1; // 0x1
25307    field public static final int STATE_EARLY = 0; // 0x0
25308  }
25309
25310  public abstract class SipDialogStateCallback {
25311    ctor public SipDialogStateCallback();
25312    method public abstract void onActiveSipDialogsChanged(@NonNull java.util.List<android.telephony.ims.SipDialogState>);
25313    method public abstract void onError();
25314  }
25315
25316  public final class SipMessage implements android.os.Parcelable {
25317    ctor public SipMessage(@NonNull String, @NonNull String, @NonNull byte[]);
25318    method public int describeContents();
25319    method @Nullable public String getCallIdParameter();
25320    method @NonNull public byte[] getContent();
25321    method @NonNull public String getHeaderSection();
25322    method @NonNull public String getStartLine();
25323    method @NonNull public String getViaBranchParameter();
25324    method @NonNull public byte[] toEncodedMessage();
25325    method public void writeToParcel(@NonNull android.os.Parcel, int);
25326    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.SipMessage> CREATOR;
25327  }
25328
25329  public final class SrvccCall implements android.os.Parcelable {
25330    ctor public SrvccCall(@NonNull String, int, @NonNull android.telephony.ims.ImsCallProfile);
25331    method public int describeContents();
25332    method @NonNull public String getCallId();
25333    method @NonNull public android.telephony.ims.ImsCallProfile getImsCallProfile();
25334    method public int getPreciseCallState();
25335    method public void writeToParcel(@NonNull android.os.Parcel, int);
25336    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.SrvccCall> CREATOR;
25337  }
25338
25339}
25340
25341package android.telephony.ims.feature {
25342
25343  public final class CapabilityChangeRequest implements android.os.Parcelable {
25344    method public void addCapabilitiesToDisableForTech(int, int);
25345    method public void addCapabilitiesToEnableForTech(int, int);
25346    method public int describeContents();
25347    method public java.util.List<android.telephony.ims.feature.CapabilityChangeRequest.CapabilityPair> getCapabilitiesToDisable();
25348    method public java.util.List<android.telephony.ims.feature.CapabilityChangeRequest.CapabilityPair> getCapabilitiesToEnable();
25349    method public void writeToParcel(android.os.Parcel, int);
25350    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.feature.CapabilityChangeRequest> CREATOR;
25351  }
25352
25353  public static class CapabilityChangeRequest.CapabilityPair {
25354    ctor public CapabilityChangeRequest.CapabilityPair(int, int);
25355    method public int getCapability();
25356    method public int getRadioTech();
25357  }
25358
25359  @FlaggedApi("com.android.internal.telephony.flags.support_ims_mmtel_interface") public final class ConnectionFailureInfo implements android.os.Parcelable {
25360    method public int describeContents();
25361    method public int getCauseCode();
25362    method public int getReason();
25363    method public int getWaitTimeMillis();
25364    method public void writeToParcel(@NonNull android.os.Parcel, int);
25365    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.feature.ConnectionFailureInfo> CREATOR;
25366    field public static final int REASON_ACCESS_DENIED = 1; // 0x1
25367    field public static final int REASON_NAS_FAILURE = 2; // 0x2
25368    field public static final int REASON_NONE = 0; // 0x0
25369    field public static final int REASON_NO_SERVICE = 7; // 0x7
25370    field public static final int REASON_PDN_NOT_AVAILABLE = 8; // 0x8
25371    field public static final int REASON_RACH_FAILURE = 3; // 0x3
25372    field public static final int REASON_RF_BUSY = 9; // 0x9
25373    field public static final int REASON_RLC_FAILURE = 4; // 0x4
25374    field public static final int REASON_RRC_REJECT = 5; // 0x5
25375    field public static final int REASON_RRC_TIMEOUT = 6; // 0x6
25376    field public static final int REASON_UNSPECIFIED = 65535; // 0xffff
25377  }
25378
25379  public abstract class ImsFeature {
25380    ctor public ImsFeature();
25381    method public abstract void changeEnabledCapabilities(android.telephony.ims.feature.CapabilityChangeRequest, android.telephony.ims.feature.ImsFeature.CapabilityCallbackProxy);
25382    method public int getFeatureState();
25383    method public final int getSlotIndex();
25384    method public abstract void onFeatureReady();
25385    method public abstract void onFeatureRemoved();
25386    method public final void setFeatureState(int);
25387    field public static final int CAPABILITY_ERROR_GENERIC = -1; // 0xffffffff
25388    field public static final int CAPABILITY_SUCCESS = 0; // 0x0
25389    field public static final int FEATURE_EMERGENCY_MMTEL = 0; // 0x0
25390    field public static final int FEATURE_MMTEL = 1; // 0x1
25391    field public static final int FEATURE_RCS = 2; // 0x2
25392    field public static final int STATE_INITIALIZING = 1; // 0x1
25393    field public static final int STATE_READY = 2; // 0x2
25394    field public static final int STATE_UNAVAILABLE = 0; // 0x0
25395  }
25396
25397  @Deprecated public static class ImsFeature.Capabilities {
25398    field @Deprecated protected int mCapabilities;
25399  }
25400
25401  protected static class ImsFeature.CapabilityCallbackProxy {
25402    method public void onChangeCapabilityConfigurationError(int, int, int);
25403  }
25404
25405  @FlaggedApi("com.android.internal.telephony.flags.support_ims_mmtel_interface") public interface ImsTrafficSessionCallback {
25406    method public void onError(@NonNull android.telephony.ims.feature.ConnectionFailureInfo);
25407    method public void onReady();
25408  }
25409
25410  public class MmTelFeature extends android.telephony.ims.feature.ImsFeature {
25411    ctor public MmTelFeature();
25412    ctor public MmTelFeature(@NonNull java.util.concurrent.Executor);
25413    method public void changeEnabledCapabilities(@NonNull android.telephony.ims.feature.CapabilityChangeRequest, @NonNull android.telephony.ims.feature.ImsFeature.CapabilityCallbackProxy);
25414    method public void changeOfferedRtpHeaderExtensionTypes(@NonNull java.util.Set<android.telephony.ims.RtpHeaderExtensionType>);
25415    method public void clearMediaThreshold(int);
25416    method @Nullable public android.telephony.ims.ImsCallProfile createCallProfile(int, int);
25417    method @Nullable public android.telephony.ims.stub.ImsCallSessionImplBase createCallSession(@NonNull android.telephony.ims.ImsCallProfile);
25418    method @NonNull public android.telephony.ims.stub.ImsEcbmImplBase getEcbm();
25419    method @NonNull public android.telephony.ims.stub.ImsMultiEndpointImplBase getMultiEndpoint();
25420    method @NonNull public android.telephony.ims.stub.ImsSmsImplBase getSmsImplementation();
25421    method @NonNull public android.telephony.ims.stub.ImsUtImplBase getUt();
25422    method @FlaggedApi("com.android.internal.telephony.flags.support_ims_mmtel_interface") public final void modifyImsTrafficSession(int, @NonNull android.telephony.ims.feature.ImsTrafficSessionCallback);
25423    method public final void notifyCapabilitiesStatusChanged(@NonNull android.telephony.ims.feature.MmTelFeature.MmTelCapabilities);
25424    method @Deprecated public final void notifyIncomingCall(@NonNull android.telephony.ims.stub.ImsCallSessionImplBase, @NonNull android.os.Bundle);
25425    method @Nullable public final android.telephony.ims.ImsCallSessionListener notifyIncomingCall(@NonNull android.telephony.ims.stub.ImsCallSessionImplBase, @NonNull String, @NonNull android.os.Bundle);
25426    method public final void notifyMediaQualityStatusChanged(@NonNull android.telephony.ims.MediaQualityStatus);
25427    method public final void notifyRejectedCall(@NonNull android.telephony.ims.ImsCallProfile, @NonNull android.telephony.ims.ImsReasonInfo);
25428    method public void notifySrvccCanceled();
25429    method public void notifySrvccCompleted();
25430    method public void notifySrvccFailed();
25431    method public void notifySrvccStarted(@NonNull java.util.function.Consumer<java.util.List<android.telephony.ims.SrvccCall>>);
25432    method public final void notifyVoiceMessageCountUpdate(int);
25433    method public void onFeatureReady();
25434    method public void onFeatureRemoved();
25435    method public boolean queryCapabilityConfiguration(int, int);
25436    method @NonNull public final android.telephony.ims.feature.MmTelFeature.MmTelCapabilities queryCapabilityStatus();
25437    method @Nullable public android.telephony.ims.MediaQualityStatus queryMediaQualityStatus(int);
25438    method public final void setCallAudioHandler(int);
25439    method public void setMediaThreshold(int, @NonNull android.telephony.ims.MediaThreshold);
25440    method public void setTerminalBasedCallWaitingStatus(boolean);
25441    method public void setUiTtyMode(int, @Nullable android.os.Message);
25442    method public int shouldProcessCall(@NonNull String[]);
25443    method @FlaggedApi("com.android.internal.telephony.flags.support_ims_mmtel_interface") public final void startImsTrafficSession(int, int, int, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.feature.ImsTrafficSessionCallback);
25444    method @FlaggedApi("com.android.internal.telephony.flags.support_ims_mmtel_interface") public final void stopImsTrafficSession(@NonNull android.telephony.ims.feature.ImsTrafficSessionCallback);
25445    method @FlaggedApi("com.android.internal.telephony.flags.support_ims_mmtel_interface") public final void triggerEpsFallback(int);
25446    field public static final int AUDIO_HANDLER_ANDROID = 0; // 0x0
25447    field public static final int AUDIO_HANDLER_BASEBAND = 1; // 0x1
25448    field @FlaggedApi("com.android.internal.telephony.flags.support_ims_mmtel_interface") public static final int EPS_FALLBACK_REASON_NO_NETWORK_RESPONSE = 2; // 0x2
25449    field @FlaggedApi("com.android.internal.telephony.flags.support_ims_mmtel_interface") public static final int EPS_FALLBACK_REASON_NO_NETWORK_TRIGGER = 1; // 0x1
25450    field public static final String EXTRA_IS_UNKNOWN_CALL = "android.telephony.ims.feature.extra.IS_UNKNOWN_CALL";
25451    field public static final String EXTRA_IS_USSD = "android.telephony.ims.feature.extra.IS_USSD";
25452    field @FlaggedApi("com.android.internal.telephony.flags.support_ims_mmtel_interface") public static final int IMS_TRAFFIC_DIRECTION_INCOMING = 0; // 0x0
25453    field @FlaggedApi("com.android.internal.telephony.flags.support_ims_mmtel_interface") public static final int IMS_TRAFFIC_DIRECTION_OUTGOING = 1; // 0x1
25454    field @FlaggedApi("com.android.internal.telephony.flags.support_ims_mmtel_interface") public static final int IMS_TRAFFIC_TYPE_EMERGENCY = 0; // 0x0
25455    field @FlaggedApi("com.android.internal.telephony.flags.support_ims_mmtel_interface") public static final int IMS_TRAFFIC_TYPE_EMERGENCY_SMS = 1; // 0x1
25456    field @FlaggedApi("com.android.internal.telephony.flags.support_ims_mmtel_interface") public static final int IMS_TRAFFIC_TYPE_REGISTRATION = 5; // 0x5
25457    field @FlaggedApi("com.android.internal.telephony.flags.support_ims_mmtel_interface") public static final int IMS_TRAFFIC_TYPE_SMS = 4; // 0x4
25458    field @FlaggedApi("com.android.internal.telephony.flags.support_ims_mmtel_interface") public static final int IMS_TRAFFIC_TYPE_UT_XCAP = 6; // 0x6
25459    field @FlaggedApi("com.android.internal.telephony.flags.support_ims_mmtel_interface") public static final int IMS_TRAFFIC_TYPE_VIDEO = 3; // 0x3
25460    field @FlaggedApi("com.android.internal.telephony.flags.support_ims_mmtel_interface") public static final int IMS_TRAFFIC_TYPE_VOICE = 2; // 0x2
25461    field public static final int PROCESS_CALL_CSFB = 1; // 0x1
25462    field public static final int PROCESS_CALL_IMS = 0; // 0x0
25463  }
25464
25465  public static class MmTelFeature.MmTelCapabilities extends android.telephony.ims.feature.ImsFeature.Capabilities {
25466    ctor public MmTelFeature.MmTelCapabilities();
25467    ctor @Deprecated public MmTelFeature.MmTelCapabilities(android.telephony.ims.feature.ImsFeature.Capabilities);
25468    ctor public MmTelFeature.MmTelCapabilities(int);
25469    method public final void addCapabilities(int);
25470    method public final void removeCapabilities(int);
25471  }
25472
25473  public class RcsFeature extends android.telephony.ims.feature.ImsFeature {
25474    ctor public RcsFeature();
25475    ctor public RcsFeature(@NonNull java.util.concurrent.Executor);
25476    method public void changeEnabledCapabilities(@NonNull android.telephony.ims.feature.CapabilityChangeRequest, @NonNull android.telephony.ims.feature.ImsFeature.CapabilityCallbackProxy);
25477    method @NonNull public android.telephony.ims.stub.RcsCapabilityExchangeImplBase createCapabilityExchangeImpl(@NonNull android.telephony.ims.stub.CapabilityExchangeEventListener);
25478    method public void destroyCapabilityExchangeImpl(@NonNull android.telephony.ims.stub.RcsCapabilityExchangeImplBase);
25479    method public final void notifyCapabilitiesStatusChanged(@NonNull android.telephony.ims.feature.RcsFeature.RcsImsCapabilities);
25480    method public void onFeatureReady();
25481    method public void onFeatureRemoved();
25482    method public boolean queryCapabilityConfiguration(int, int);
25483    method @NonNull public final android.telephony.ims.feature.RcsFeature.RcsImsCapabilities queryCapabilityStatus();
25484  }
25485
25486  public static class RcsFeature.RcsImsCapabilities extends android.telephony.ims.feature.ImsFeature.Capabilities {
25487    ctor public RcsFeature.RcsImsCapabilities(int);
25488    method public void addCapabilities(int);
25489    method public boolean isCapable(int);
25490    method public void removeCapabilities(int);
25491    field public static final int CAPABILITY_TYPE_NONE = 0; // 0x0
25492    field public static final int CAPABILITY_TYPE_OPTIONS_UCE = 1; // 0x1
25493    field public static final int CAPABILITY_TYPE_PRESENCE_UCE = 2; // 0x2
25494  }
25495
25496}
25497
25498package android.telephony.ims.stub {
25499
25500  public interface CapabilityExchangeEventListener {
25501    method public default void onPublishUpdated(@NonNull android.telephony.ims.SipDetails) throws android.telephony.ims.ImsException;
25502    method @Deprecated public default void onPublishUpdated(int, @NonNull String, int, @NonNull String) throws android.telephony.ims.ImsException;
25503    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;
25504    method public void onRequestPublishCapabilities(int) throws android.telephony.ims.ImsException;
25505    method public void onUnpublish() throws android.telephony.ims.ImsException;
25506  }
25507
25508  public static interface CapabilityExchangeEventListener.OptionsRequestCallback {
25509    method public void onRespondToCapabilityRequest(@NonNull android.telephony.ims.RcsContactUceCapability, boolean);
25510    method public void onRespondToCapabilityRequestWithError(@IntRange(from=100, to=699) int, @NonNull String);
25511  }
25512
25513  public interface DelegateConnectionMessageCallback {
25514    method public void onMessageReceived(@NonNull android.telephony.ims.SipMessage);
25515    method public void onMessageSendFailure(@NonNull String, int);
25516    method public void onMessageSent(@NonNull String);
25517  }
25518
25519  public interface DelegateConnectionStateCallback {
25520    method public void onConfigurationChanged(@NonNull android.telephony.ims.SipDelegateConfiguration);
25521    method public void onCreated(@NonNull android.telephony.ims.SipDelegateConnection);
25522    method public void onDestroyed(int);
25523    method public void onFeatureTagStatusChanged(@NonNull android.telephony.ims.DelegateRegistrationState, @NonNull java.util.Set<android.telephony.ims.FeatureTagState>);
25524  }
25525
25526  public class ImsCallSessionImplBase implements java.lang.AutoCloseable {
25527    ctor public ImsCallSessionImplBase();
25528    method public void accept(int, android.telephony.ims.ImsStreamMediaProfile);
25529    method public void close();
25530    method public void deflect(String);
25531    method public void extendToConference(String[]);
25532    method public String getCallId();
25533    method public android.telephony.ims.ImsCallProfile getCallProfile();
25534    method public android.telephony.ims.ImsVideoCallProvider getImsVideoCallProvider();
25535    method public android.telephony.ims.ImsCallProfile getLocalCallProfile();
25536    method public String getProperty(String);
25537    method public android.telephony.ims.ImsCallProfile getRemoteCallProfile();
25538    method public int getState();
25539    method public void hold(android.telephony.ims.ImsStreamMediaProfile);
25540    method public void inviteParticipants(String[]);
25541    method public boolean isInCall();
25542    method public boolean isMultiparty();
25543    method public void merge();
25544    method public void reject(int);
25545    method public void removeParticipants(String[]);
25546    method public void resume(android.telephony.ims.ImsStreamMediaProfile);
25547    method public void sendDtmf(char, android.os.Message);
25548    method public void sendRtpHeaderExtensions(@NonNull java.util.Set<android.telephony.ims.RtpHeaderExtension>);
25549    method public void sendRttMessage(String);
25550    method public void sendRttModifyRequest(android.telephony.ims.ImsCallProfile);
25551    method public void sendRttModifyResponse(boolean);
25552    method public void sendUssd(String);
25553    method @Deprecated public void setListener(android.telephony.ims.ImsCallSessionListener);
25554    method public void setMute(boolean);
25555    method public void start(String, android.telephony.ims.ImsCallProfile);
25556    method public void startConference(String[], android.telephony.ims.ImsCallProfile);
25557    method public void startDtmf(char);
25558    method public void stopDtmf();
25559    method public void terminate(int);
25560    method public void update(int, android.telephony.ims.ImsStreamMediaProfile);
25561    field public static final int USSD_MODE_NOTIFY = 0; // 0x0
25562    field public static final int USSD_MODE_REQUEST = 1; // 0x1
25563  }
25564
25565  public static class ImsCallSessionImplBase.State {
25566    method public static String toString(int);
25567    field public static final int ESTABLISHED = 4; // 0x4
25568    field public static final int ESTABLISHING = 3; // 0x3
25569    field public static final int IDLE = 0; // 0x0
25570    field public static final int INITIATED = 1; // 0x1
25571    field public static final int INVALID = -1; // 0xffffffff
25572    field public static final int NEGOTIATING = 2; // 0x2
25573    field public static final int REESTABLISHING = 6; // 0x6
25574    field public static final int RENEGOTIATING = 5; // 0x5
25575    field public static final int TERMINATED = 8; // 0x8
25576    field public static final int TERMINATING = 7; // 0x7
25577  }
25578
25579  public class ImsConfigImplBase {
25580    ctor public ImsConfigImplBase();
25581    ctor public ImsConfigImplBase(@NonNull java.util.concurrent.Executor);
25582    method public int getConfigInt(int);
25583    method public String getConfigString(int);
25584    method public final void notifyAutoConfigurationErrorReceived(int, @NonNull String);
25585    method public final void notifyPreProvisioningReceived(@NonNull byte[]);
25586    method public final void notifyProvisionedValueChanged(int, int);
25587    method public final void notifyProvisionedValueChanged(int, String);
25588    method public void notifyRcsAutoConfigurationReceived(@NonNull byte[], boolean);
25589    method public void notifyRcsAutoConfigurationRemoved();
25590    method public int setConfig(int, int);
25591    method public int setConfig(int, String);
25592    method public void setRcsClientConfiguration(@NonNull android.telephony.ims.RcsClientConfiguration);
25593    method public void triggerAutoConfiguration();
25594    field public static final int CONFIG_RESULT_FAILED = 1; // 0x1
25595    field public static final int CONFIG_RESULT_SUCCESS = 0; // 0x0
25596    field public static final int CONFIG_RESULT_UNKNOWN = -1; // 0xffffffff
25597  }
25598
25599  public class ImsEcbmImplBase {
25600    ctor public ImsEcbmImplBase();
25601    method public final void enteredEcbm();
25602    method public void exitEmergencyCallbackMode();
25603    method public final void exitedEcbm();
25604  }
25605
25606  public final class ImsFeatureConfiguration implements android.os.Parcelable {
25607    method public int describeContents();
25608    method public java.util.Set<android.telephony.ims.stub.ImsFeatureConfiguration.FeatureSlotPair> getServiceFeatures();
25609    method public void writeToParcel(android.os.Parcel, int);
25610    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.stub.ImsFeatureConfiguration> CREATOR;
25611  }
25612
25613  public static class ImsFeatureConfiguration.Builder {
25614    ctor public ImsFeatureConfiguration.Builder();
25615    method public android.telephony.ims.stub.ImsFeatureConfiguration.Builder addFeature(int, int);
25616    method public android.telephony.ims.stub.ImsFeatureConfiguration build();
25617  }
25618
25619  public static final class ImsFeatureConfiguration.FeatureSlotPair {
25620    ctor public ImsFeatureConfiguration.FeatureSlotPair(int, int);
25621    field public final int featureType;
25622    field public final int slotId;
25623  }
25624
25625  public class ImsMultiEndpointImplBase {
25626    ctor public ImsMultiEndpointImplBase();
25627    method public final void onImsExternalCallStateUpdate(java.util.List<android.telephony.ims.ImsExternalCallState>);
25628    method public void requestImsExternalCallStateInfo();
25629  }
25630
25631  public class ImsRegistrationImplBase {
25632    ctor public ImsRegistrationImplBase();
25633    ctor public ImsRegistrationImplBase(@NonNull java.util.concurrent.Executor);
25634    method public final void onDeregistered(android.telephony.ims.ImsReasonInfo);
25635    method public final void onDeregistered(@Nullable android.telephony.ims.ImsReasonInfo, @NonNull android.telephony.ims.SipDetails);
25636    method @FlaggedApi("com.android.internal.telephony.flags.emergency_registration_state") public final void onDeregistered(@Nullable android.telephony.ims.ImsReasonInfo, int, @NonNull android.telephony.ims.ImsRegistrationAttributes);
25637    method public final void onDeregistered(@Nullable android.telephony.ims.ImsReasonInfo, int, int);
25638    method public final void onDeregistered(@Nullable android.telephony.ims.ImsReasonInfo, int, int, @NonNull android.telephony.ims.SipDetails);
25639    method public final void onRegistered(@NonNull android.telephony.ims.ImsRegistrationAttributes);
25640    method public final void onRegistered(int);
25641    method public final void onRegistering(@NonNull android.telephony.ims.ImsRegistrationAttributes);
25642    method public final void onRegistering(int);
25643    method public final void onSubscriberAssociatedUriChanged(android.net.Uri[]);
25644    method @FlaggedApi("com.android.internal.telephony.flags.emergency_registration_state") public final void onTechnologyChangeFailed(@Nullable android.telephony.ims.ImsReasonInfo, @NonNull android.telephony.ims.ImsRegistrationAttributes);
25645    method public final void onTechnologyChangeFailed(int, android.telephony.ims.ImsReasonInfo);
25646    method public void triggerFullNetworkRegistration(@IntRange(from=100, to=699) int, @Nullable String);
25647    method public void triggerSipDelegateDeregistration();
25648    method public void updateSipDelegateRegistration();
25649  }
25650
25651  public class ImsSmsImplBase {
25652    ctor public ImsSmsImplBase();
25653    ctor public ImsSmsImplBase(@NonNull java.util.concurrent.Executor);
25654    method public void acknowledgeSms(int, @IntRange(from=0, to=65535) int, int);
25655    method public void acknowledgeSms(int, @IntRange(from=0, to=65535) int, int, @NonNull byte[]);
25656    method public void acknowledgeSmsReport(int, @IntRange(from=0, to=65535) int, int);
25657    method public String getSmsFormat();
25658    method public void onReady();
25659    method @Deprecated public final void onSendSmsResult(int, @IntRange(from=0, to=65535) int, int, int) throws java.lang.RuntimeException;
25660    method public final void onSendSmsResultError(int, @IntRange(from=0, to=65535) int, int, int, int) throws java.lang.RuntimeException;
25661    method public final void onSendSmsResultSuccess(int, @IntRange(from=0, to=65535) int) throws java.lang.RuntimeException;
25662    method public final void onSmsReceived(int, String, byte[]) throws java.lang.RuntimeException;
25663    method @Deprecated public final void onSmsStatusReportReceived(int, @IntRange(from=0, to=65535) int, String, byte[]) throws java.lang.RuntimeException;
25664    method public final void onSmsStatusReportReceived(int, String, byte[]) throws java.lang.RuntimeException;
25665    method public void sendSms(int, @IntRange(from=0, to=65535) int, String, String, boolean, byte[]);
25666    field public static final int DELIVER_STATUS_ERROR_GENERIC = 2; // 0x2
25667    field public static final int DELIVER_STATUS_ERROR_NO_MEMORY = 3; // 0x3
25668    field public static final int DELIVER_STATUS_ERROR_REQUEST_NOT_SUPPORTED = 4; // 0x4
25669    field public static final int DELIVER_STATUS_OK = 1; // 0x1
25670    field public static final int RESULT_NO_NETWORK_ERROR = -1; // 0xffffffff
25671    field public static final int SEND_STATUS_ERROR = 2; // 0x2
25672    field public static final int SEND_STATUS_ERROR_FALLBACK = 4; // 0x4
25673    field public static final int SEND_STATUS_ERROR_RETRY = 3; // 0x3
25674    field public static final int SEND_STATUS_OK = 1; // 0x1
25675    field public static final int STATUS_REPORT_STATUS_ERROR = 2; // 0x2
25676    field public static final int STATUS_REPORT_STATUS_OK = 1; // 0x1
25677  }
25678
25679  public class ImsUtImplBase {
25680    ctor public ImsUtImplBase();
25681    method public void close();
25682    method public int queryCallBarring(int);
25683    method public int queryCallBarringForServiceClass(int, int);
25684    method public int queryCallForward(int, String);
25685    method public int queryCallWaiting();
25686    method public int queryClip();
25687    method public int queryClir();
25688    method public int queryColp();
25689    method public int queryColr();
25690    method public void setListener(android.telephony.ims.ImsUtListener);
25691    method public int transact(android.os.Bundle);
25692    method public int updateCallBarring(int, int, String[]);
25693    method public int updateCallBarringForServiceClass(int, int, String[], int);
25694    method public int updateCallForward(int, int, String, int, int);
25695    method public int updateCallWaiting(boolean, int);
25696    method public int updateClip(boolean);
25697    method public int updateClir(int);
25698    method public int updateColp(boolean);
25699    method public int updateColr(int);
25700  }
25701
25702  public class RcsCapabilityExchangeImplBase {
25703    ctor public RcsCapabilityExchangeImplBase();
25704    method public void publishCapabilities(@NonNull String, @NonNull android.telephony.ims.stub.RcsCapabilityExchangeImplBase.PublishResponseCallback);
25705    method public void sendOptionsCapabilityRequest(@NonNull android.net.Uri, @NonNull java.util.Set<java.lang.String>, @NonNull android.telephony.ims.stub.RcsCapabilityExchangeImplBase.OptionsResponseCallback);
25706    method public void subscribeForCapabilities(@NonNull java.util.Collection<android.net.Uri>, @NonNull android.telephony.ims.stub.RcsCapabilityExchangeImplBase.SubscribeResponseCallback);
25707    field public static final int COMMAND_CODE_FETCH_ERROR = 3; // 0x3
25708    field public static final int COMMAND_CODE_GENERIC_FAILURE = 1; // 0x1
25709    field public static final int COMMAND_CODE_INSUFFICIENT_MEMORY = 5; // 0x5
25710    field public static final int COMMAND_CODE_INVALID_PARAM = 2; // 0x2
25711    field public static final int COMMAND_CODE_LOST_NETWORK_CONNECTION = 6; // 0x6
25712    field public static final int COMMAND_CODE_NOT_FOUND = 8; // 0x8
25713    field public static final int COMMAND_CODE_NOT_SUPPORTED = 7; // 0x7
25714    field public static final int COMMAND_CODE_NO_CHANGE = 10; // 0xa
25715    field public static final int COMMAND_CODE_REQUEST_TIMEOUT = 4; // 0x4
25716    field public static final int COMMAND_CODE_SERVICE_UNAVAILABLE = 9; // 0x9
25717    field public static final int COMMAND_CODE_SERVICE_UNKNOWN = 0; // 0x0
25718  }
25719
25720  public static interface RcsCapabilityExchangeImplBase.OptionsResponseCallback {
25721    method public void onCommandError(int) throws android.telephony.ims.ImsException;
25722    method public void onNetworkResponse(int, @NonNull String, @NonNull java.util.List<java.lang.String>) throws android.telephony.ims.ImsException;
25723  }
25724
25725  public static interface RcsCapabilityExchangeImplBase.PublishResponseCallback {
25726    method public void onCommandError(int) throws android.telephony.ims.ImsException;
25727    method public default void onNetworkResponse(@NonNull android.telephony.ims.SipDetails) throws android.telephony.ims.ImsException;
25728    method @Deprecated public void onNetworkResponse(@IntRange(from=100, to=699) int, @NonNull String) throws android.telephony.ims.ImsException;
25729    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;
25730  }
25731
25732  public static interface RcsCapabilityExchangeImplBase.SubscribeResponseCallback {
25733    method public void onCommandError(int) throws android.telephony.ims.ImsException;
25734    method public default void onNetworkResponse(@NonNull android.telephony.ims.SipDetails) throws android.telephony.ims.ImsException;
25735    method @Deprecated public void onNetworkResponse(@IntRange(from=100, to=699) int, @NonNull String) throws android.telephony.ims.ImsException;
25736    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;
25737    method public void onNotifyCapabilitiesUpdate(@NonNull java.util.List<java.lang.String>) throws android.telephony.ims.ImsException;
25738    method public void onResourceTerminated(@NonNull java.util.List<android.util.Pair<android.net.Uri,java.lang.String>>) throws android.telephony.ims.ImsException;
25739    method public void onTerminated(@NonNull String, long) throws android.telephony.ims.ImsException;
25740  }
25741
25742  public interface SipDelegate {
25743    method public void cleanupSession(@NonNull String);
25744    method public void notifyMessageReceiveError(@NonNull String, int);
25745    method public void notifyMessageReceived(@NonNull String);
25746    method public void sendMessage(@NonNull android.telephony.ims.SipMessage, long);
25747  }
25748
25749  public class SipTransportImplBase {
25750    ctor public SipTransportImplBase();
25751    ctor public SipTransportImplBase(@NonNull java.util.concurrent.Executor);
25752    method public void createSipDelegate(int, @NonNull android.telephony.ims.DelegateRequest, @NonNull android.telephony.ims.DelegateStateCallback, @NonNull android.telephony.ims.DelegateMessageCallback);
25753    method public void destroySipDelegate(@NonNull android.telephony.ims.stub.SipDelegate, int);
25754  }
25755
25756}
25757
25758package android.telephony.mbms {
25759
25760  public static class DownloadRequest.Builder {
25761    method public android.telephony.mbms.DownloadRequest.Builder setServiceId(String);
25762  }
25763
25764  public final class FileInfo implements android.os.Parcelable {
25765    ctor public FileInfo(android.net.Uri, String);
25766  }
25767
25768  public final class FileServiceInfo extends android.telephony.mbms.ServiceInfo implements android.os.Parcelable {
25769    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>);
25770  }
25771
25772  public class MbmsDownloadReceiver extends android.content.BroadcastReceiver {
25773    field public static final int RESULT_APP_NOTIFICATION_ERROR = 6; // 0x6
25774    field public static final int RESULT_BAD_TEMP_FILE_ROOT = 3; // 0x3
25775    field public static final int RESULT_DOWNLOAD_FINALIZATION_ERROR = 4; // 0x4
25776    field public static final int RESULT_INVALID_ACTION = 1; // 0x1
25777    field public static final int RESULT_MALFORMED_INTENT = 2; // 0x2
25778    field public static final int RESULT_OK = 0; // 0x0
25779    field public static final int RESULT_TEMP_FILE_GENERATION_ERROR = 5; // 0x5
25780  }
25781
25782  public final class StreamingServiceInfo extends android.telephony.mbms.ServiceInfo implements android.os.Parcelable {
25783    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);
25784  }
25785
25786  public final class UriPathPair implements android.os.Parcelable {
25787    method public int describeContents();
25788    method public android.net.Uri getContentUri();
25789    method public android.net.Uri getFilePathUri();
25790    method public void writeToParcel(android.os.Parcel, int);
25791    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.mbms.UriPathPair> CREATOR;
25792  }
25793
25794}
25795
25796package android.telephony.mbms.vendor {
25797
25798  public class MbmsDownloadServiceBase extends android.os.Binder implements android.os.IInterface {
25799    ctor public MbmsDownloadServiceBase();
25800    method public int addProgressListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadProgressListener) throws android.os.RemoteException;
25801    method public int addServiceAnnouncement(int, @NonNull byte[]);
25802    method public int addStatusListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadStatusListener) throws android.os.RemoteException;
25803    method public android.os.IBinder asBinder();
25804    method public int cancelDownload(android.telephony.mbms.DownloadRequest) throws android.os.RemoteException;
25805    method public void dispose(int) throws android.os.RemoteException;
25806    method public int download(android.telephony.mbms.DownloadRequest) throws android.os.RemoteException;
25807    method public int initialize(int, android.telephony.mbms.MbmsDownloadSessionCallback) throws android.os.RemoteException;
25808    method @NonNull public java.util.List<android.telephony.mbms.DownloadRequest> listPendingDownloads(int) throws android.os.RemoteException;
25809    method public void onAppCallbackDied(int, int);
25810    method public boolean onTransact(int, android.os.Parcel, android.os.Parcel, int) throws android.os.RemoteException;
25811    method public int removeProgressListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadProgressListener) throws android.os.RemoteException;
25812    method public int removeStatusListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadStatusListener) throws android.os.RemoteException;
25813    method public int requestDownloadState(android.telephony.mbms.DownloadRequest, android.telephony.mbms.FileInfo) throws android.os.RemoteException;
25814    method public int requestUpdateFileServices(int, java.util.List<java.lang.String>) throws android.os.RemoteException;
25815    method public int resetDownloadKnowledge(android.telephony.mbms.DownloadRequest) throws android.os.RemoteException;
25816    method public int setTempFileRootDirectory(int, String) throws android.os.RemoteException;
25817  }
25818
25819  public class MbmsGroupCallServiceBase extends android.app.Service {
25820    ctor public MbmsGroupCallServiceBase();
25821    method public void dispose(int) throws android.os.RemoteException;
25822    method public int initialize(@NonNull android.telephony.mbms.MbmsGroupCallSessionCallback, int) throws android.os.RemoteException;
25823    method public void onAppCallbackDied(int, int);
25824    method public android.os.IBinder onBind(android.content.Intent);
25825    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);
25826    method public void stopGroupCall(int, long);
25827    method public void updateGroupCall(int, long, @NonNull java.util.List<java.lang.Integer>, @NonNull java.util.List<java.lang.Integer>);
25828  }
25829
25830  public class MbmsStreamingServiceBase extends android.os.Binder implements android.os.IInterface {
25831    ctor public MbmsStreamingServiceBase();
25832    method public android.os.IBinder asBinder();
25833    method public void dispose(int) throws android.os.RemoteException;
25834    method @Nullable public android.net.Uri getPlaybackUri(int, String) throws android.os.RemoteException;
25835    method public int initialize(android.telephony.mbms.MbmsStreamingSessionCallback, int) throws android.os.RemoteException;
25836    method public void onAppCallbackDied(int, int);
25837    method public boolean onTransact(int, android.os.Parcel, android.os.Parcel, int) throws android.os.RemoteException;
25838    method public int requestUpdateStreamingServices(int, java.util.List<java.lang.String>) throws android.os.RemoteException;
25839    method public int startStreaming(int, String, android.telephony.mbms.StreamingServiceCallback) throws android.os.RemoteException;
25840    method public void stopStreaming(int, String) throws android.os.RemoteException;
25841  }
25842
25843  public class VendorUtils {
25844    ctor public VendorUtils();
25845    method public static android.content.ComponentName getAppReceiverFromPackageName(android.content.Context, String);
25846    field public static final String ACTION_CLEANUP = "android.telephony.mbms.action.CLEANUP";
25847    field public static final String ACTION_DOWNLOAD_RESULT_INTERNAL = "android.telephony.mbms.action.DOWNLOAD_RESULT_INTERNAL";
25848    field public static final String ACTION_FILE_DESCRIPTOR_REQUEST = "android.telephony.mbms.action.FILE_DESCRIPTOR_REQUEST";
25849    field public static final String EXTRA_FD_COUNT = "android.telephony.mbms.extra.FD_COUNT";
25850    field public static final String EXTRA_FINAL_URI = "android.telephony.mbms.extra.FINAL_URI";
25851    field public static final String EXTRA_FREE_URI_LIST = "android.telephony.mbms.extra.FREE_URI_LIST";
25852    field public static final String EXTRA_PAUSED_LIST = "android.telephony.mbms.extra.PAUSED_LIST";
25853    field public static final String EXTRA_PAUSED_URI_LIST = "android.telephony.mbms.extra.PAUSED_URI_LIST";
25854    field public static final String EXTRA_SERVICE_ID = "android.telephony.mbms.extra.SERVICE_ID";
25855    field public static final String EXTRA_TEMP_FILES_IN_USE = "android.telephony.mbms.extra.TEMP_FILES_IN_USE";
25856    field public static final String EXTRA_TEMP_FILE_ROOT = "android.telephony.mbms.extra.TEMP_FILE_ROOT";
25857    field public static final String EXTRA_TEMP_LIST = "android.telephony.mbms.extra.TEMP_LIST";
25858  }
25859
25860}
25861
25862package android.telephony.satellite {
25863
25864  @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public final class AntennaDirection implements android.os.Parcelable {
25865    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public int describeContents();
25866    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public float getX();
25867    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public float getY();
25868    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public float getZ();
25869    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public void writeToParcel(@NonNull android.os.Parcel, int);
25870    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @NonNull public static final android.os.Parcelable.Creator<android.telephony.satellite.AntennaDirection> CREATOR;
25871  }
25872
25873  @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public final class AntennaPosition implements android.os.Parcelable {
25874    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public int describeContents();
25875    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @NonNull public android.telephony.satellite.AntennaDirection getAntennaDirection();
25876    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public int getSuggestedHoldPosition();
25877    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public void writeToParcel(@NonNull android.os.Parcel, int);
25878    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @NonNull public static final android.os.Parcelable.Creator<android.telephony.satellite.AntennaPosition> CREATOR;
25879  }
25880
25881  @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public final class EarfcnRange implements android.os.Parcelable {
25882    method public int describeContents();
25883    method @IntRange(from=0, to=65535) public int getEndEarfcn();
25884    method @IntRange(from=0, to=65535) public int getStartEarfcn();
25885    method public void writeToParcel(@NonNull android.os.Parcel, int);
25886    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.satellite.EarfcnRange> CREATOR;
25887  }
25888
25889  @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public class EnableRequestAttributes {
25890    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public boolean isDemoMode();
25891    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public boolean isEmergencyMode();
25892    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public boolean isEnabled();
25893  }
25894
25895  @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final class EnableRequestAttributes.Builder {
25896    ctor @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public EnableRequestAttributes.Builder(boolean);
25897    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @NonNull public android.telephony.satellite.EnableRequestAttributes build();
25898    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @NonNull public android.telephony.satellite.EnableRequestAttributes.Builder setDemoMode(boolean);
25899    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @NonNull public android.telephony.satellite.EnableRequestAttributes.Builder setEmergencyMode(boolean);
25900  }
25901
25902  @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public final class NtnSignalStrength implements android.os.Parcelable {
25903    ctor @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public NtnSignalStrength(@Nullable android.telephony.satellite.NtnSignalStrength);
25904    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public int describeContents();
25905    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public int getLevel();
25906    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public void writeToParcel(@NonNull android.os.Parcel, int);
25907    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @NonNull public static final android.os.Parcelable.Creator<android.telephony.satellite.NtnSignalStrength> CREATOR;
25908    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int NTN_SIGNAL_STRENGTH_GOOD = 3; // 0x3
25909    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int NTN_SIGNAL_STRENGTH_GREAT = 4; // 0x4
25910    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int NTN_SIGNAL_STRENGTH_MODERATE = 2; // 0x2
25911    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int NTN_SIGNAL_STRENGTH_NONE = 0; // 0x0
25912    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int NTN_SIGNAL_STRENGTH_POOR = 1; // 0x1
25913  }
25914
25915  @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public interface NtnSignalStrengthCallback {
25916    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public void onNtnSignalStrengthChanged(@NonNull android.telephony.satellite.NtnSignalStrength);
25917  }
25918
25919  @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public final class PointingInfo implements android.os.Parcelable {
25920    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public int describeContents();
25921    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @FloatRange(from=0xffffff4c, to=180) public float getSatelliteAzimuthDegrees();
25922    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @FloatRange(from=0xffffffa6, to=90) public float getSatelliteElevationDegrees();
25923    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public void writeToParcel(@NonNull android.os.Parcel, int);
25924    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @NonNull public static final android.os.Parcelable.Creator<android.telephony.satellite.PointingInfo> CREATOR;
25925  }
25926
25927  @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public final class SatelliteAccessConfiguration implements android.os.Parcelable {
25928    method public int describeContents();
25929    method @NonNull public java.util.List<android.telephony.satellite.SatelliteInfo> getSatelliteInfos();
25930    method @NonNull public java.util.List<java.lang.Integer> getTagIds();
25931    method public void writeToParcel(@NonNull android.os.Parcel, int);
25932    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.satellite.SatelliteAccessConfiguration> CREATOR;
25933  }
25934
25935  @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public final class SatelliteCapabilities implements android.os.Parcelable {
25936    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public int describeContents();
25937    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @NonNull public java.util.Map<java.lang.Integer,android.telephony.satellite.AntennaPosition> getAntennaPositionMap();
25938    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public int getMaxBytesPerOutgoingDatagram();
25939    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @NonNull public java.util.Set<java.lang.Integer> getSupportedRadioTechnologies();
25940    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public boolean isPointingRequired();
25941    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public void writeToParcel(@NonNull android.os.Parcel, int);
25942    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @NonNull public static final android.os.Parcelable.Creator<android.telephony.satellite.SatelliteCapabilities> CREATOR;
25943  }
25944
25945  @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public interface SatelliteCapabilitiesCallback {
25946    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public void onSatelliteCapabilitiesChanged(@NonNull android.telephony.satellite.SatelliteCapabilities);
25947  }
25948
25949  @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public interface SatelliteCommunicationAllowedStateCallback {
25950    method public default void onSatelliteAccessConfigurationChanged(@Nullable android.telephony.satellite.SatelliteAccessConfiguration);
25951    method public void onSatelliteCommunicationAllowedStateChanged(boolean);
25952  }
25953
25954  @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public final class SatelliteDatagram implements android.os.Parcelable {
25955    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public int describeContents();
25956    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @NonNull public byte[] getSatelliteDatagram();
25957    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public void writeToParcel(@NonNull android.os.Parcel, int);
25958    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @NonNull public static final android.os.Parcelable.Creator<android.telephony.satellite.SatelliteDatagram> CREATOR;
25959  }
25960
25961  @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public interface SatelliteDatagramCallback {
25962    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public void onSatelliteDatagramReceived(long, @NonNull android.telephony.satellite.SatelliteDatagram, int, @NonNull java.util.function.Consumer<java.lang.Void>);
25963  }
25964
25965  @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public interface SatelliteDisallowedReasonsCallback {
25966    method public void onSatelliteDisallowedReasonsChanged(@NonNull int[]);
25967  }
25968
25969  @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public final class SatelliteInfo implements android.os.Parcelable {
25970    method public int describeContents();
25971    method @NonNull public java.util.List<java.lang.Integer> getBands();
25972    method @NonNull public java.util.List<android.telephony.satellite.EarfcnRange> getEarfcnRanges();
25973    method @NonNull public java.util.UUID getSatelliteId();
25974    method @NonNull public android.telephony.satellite.SatellitePosition getSatellitePosition();
25975    method public void writeToParcel(@NonNull android.os.Parcel, int);
25976    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.satellite.SatelliteInfo> CREATOR;
25977  }
25978
25979  @FlaggedApi("com.android.internal.telephony.flags.satellite_state_change_listener") public final class SatelliteManager {
25980    method @FlaggedApi("com.android.internal.telephony.flags.carrier_enabled_satellite_flag") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void addAttachRestrictionForCarrier(int, int, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
25981    method @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void deprovisionSatellite(@NonNull java.util.List<android.telephony.satellite.SatelliteSubscriberInfo>, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Boolean,android.telephony.satellite.SatelliteManager.SatelliteException>);
25982    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void deprovisionService(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
25983    method @FlaggedApi("com.android.internal.telephony.flags.carrier_enabled_satellite_flag") @NonNull @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public java.util.Set<java.lang.Integer> getAttachRestrictionReasonsForCarrier(int);
25984    method @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") @NonNull @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public int[] getSatelliteDisallowedReasons();
25985    method @FlaggedApi("com.android.internal.telephony.flags.carrier_enabled_satellite_flag") @NonNull @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public java.util.List<java.lang.String> getSatellitePlmnsForCarrier(int);
25986    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void pollPendingDatagrams(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
25987    method @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void provisionSatellite(@NonNull java.util.List<android.telephony.satellite.SatelliteSubscriberInfo>, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Boolean,android.telephony.satellite.SatelliteManager.SatelliteException>);
25988    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @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>);
25989    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public int registerForCapabilitiesChanged(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.satellite.SatelliteCapabilitiesCallback);
25990    method @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public int registerForCommunicationAllowedStateChanged(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.satellite.SatelliteCommunicationAllowedStateCallback);
25991    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public int registerForIncomingDatagram(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.satellite.SatelliteDatagramCallback);
25992    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public int registerForModemStateChanged(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.satellite.SatelliteModemStateCallback);
25993    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void registerForNtnSignalStrengthChanged(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.satellite.NtnSignalStrengthCallback);
25994    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public int registerForProvisionStateChanged(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.satellite.SatelliteProvisionStateCallback);
25995    method @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void registerForSatelliteDisallowedReasonsChanged(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.satellite.SatelliteDisallowedReasonsCallback);
25996    method @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public int registerForSelectedNbIotSatelliteSubscriptionChanged(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.satellite.SelectedNbIotSatelliteSubscriptionCallback);
25997    method @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public int registerForSupportedStateChanged(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.satellite.SatelliteSupportedStateCallback);
25998    method @FlaggedApi("com.android.internal.telephony.flags.carrier_enabled_satellite_flag") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void removeAttachRestrictionForCarrier(int, int, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
25999    method @FlaggedApi("com.android.internal.telephony.flags.carrier_enabled_satellite_flag") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestAttachEnabledForCarrier(int, boolean, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
26000    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @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>);
26001    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @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>);
26002    method @FlaggedApi("com.android.internal.telephony.flags.carrier_enabled_satellite_flag") @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>);
26003    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @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>);
26004    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @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>);
26005    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @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>);
26006    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @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>);
26007    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @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>);
26008    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public void requestIsSupported(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Boolean,android.telephony.satellite.SatelliteManager.SatelliteException>);
26009    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @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>);
26010    method @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestSatelliteAccessConfigurationForCurrentLocation(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.telephony.satellite.SatelliteAccessConfiguration,android.telephony.satellite.SatelliteManager.SatelliteException>);
26011    method @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestSatelliteDisplayName(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.CharSequence,android.telephony.satellite.SatelliteManager.SatelliteException>);
26012    method @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestSatelliteSubscriberProvisionStatus(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.util.List<android.telephony.satellite.SatelliteSubscriberProvisionStatus>,android.telephony.satellite.SatelliteManager.SatelliteException>);
26013    method @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestSelectedNbIotSatelliteSubscriptionId(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Integer,android.telephony.satellite.SatelliteManager.SatelliteException>);
26014    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @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>);
26015    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @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>);
26016    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void setDeviceAlignedWithSatellite(boolean);
26017    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @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);
26018    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @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>);
26019    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void unregisterForCapabilitiesChanged(@NonNull android.telephony.satellite.SatelliteCapabilitiesCallback);
26020    method @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void unregisterForCommunicationAllowedStateChanged(@NonNull android.telephony.satellite.SatelliteCommunicationAllowedStateCallback);
26021    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void unregisterForIncomingDatagram(@NonNull android.telephony.satellite.SatelliteDatagramCallback);
26022    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void unregisterForModemStateChanged(@NonNull android.telephony.satellite.SatelliteModemStateCallback);
26023    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void unregisterForNtnSignalStrengthChanged(@NonNull android.telephony.satellite.NtnSignalStrengthCallback);
26024    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void unregisterForProvisionStateChanged(@NonNull android.telephony.satellite.SatelliteProvisionStateCallback);
26025    method @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void unregisterForSatelliteDisallowedReasonsChanged(@NonNull android.telephony.satellite.SatelliteDisallowedReasonsCallback);
26026    method @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void unregisterForSelectedNbIotSatelliteSubscriptionChanged(@NonNull android.telephony.satellite.SelectedNbIotSatelliteSubscriptionCallback);
26027    method @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void unregisterForSupportedStateChanged(@NonNull android.telephony.satellite.SatelliteSupportedStateCallback);
26028    field @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public static final String ACTION_SATELLITE_START_NON_EMERGENCY_SESSION = "android.telephony.satellite.action.SATELLITE_START_NON_EMERGENCY_SESSION";
26029    field @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public static final String ACTION_SATELLITE_SUBSCRIBER_ID_LIST_CHANGED = "android.telephony.satellite.action.SATELLITE_SUBSCRIBER_ID_LIST_CHANGED";
26030    field @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public static final int DATAGRAM_TYPE_CHECK_PENDING_INCOMING_SMS = 7; // 0x7
26031    field @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public static final int DATAGRAM_TYPE_KEEP_ALIVE = 3; // 0x3
26032    field @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public static final int DATAGRAM_TYPE_LAST_SOS_MESSAGE_NO_HELP_NEEDED = 5; // 0x5
26033    field @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public static final int DATAGRAM_TYPE_LAST_SOS_MESSAGE_STILL_NEED_HELP = 4; // 0x4
26034    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int DATAGRAM_TYPE_LOCATION_SHARING = 2; // 0x2
26035    field @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public static final int DATAGRAM_TYPE_SMS = 6; // 0x6
26036    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int DATAGRAM_TYPE_SOS_MESSAGE = 1; // 0x1
26037    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int DATAGRAM_TYPE_UNKNOWN = 0; // 0x0
26038    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int DEVICE_HOLD_POSITION_LANDSCAPE_LEFT = 2; // 0x2
26039    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int DEVICE_HOLD_POSITION_LANDSCAPE_RIGHT = 3; // 0x3
26040    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int DEVICE_HOLD_POSITION_PORTRAIT = 1; // 0x1
26041    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int DEVICE_HOLD_POSITION_UNKNOWN = 0; // 0x0
26042    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int DISPLAY_MODE_CLOSED = 3; // 0x3
26043    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int DISPLAY_MODE_FIXED = 1; // 0x1
26044    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int DISPLAY_MODE_OPENED = 2; // 0x2
26045    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int DISPLAY_MODE_UNKNOWN = 0; // 0x0
26046    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int EMERGENCY_CALL_TO_SATELLITE_HANDOVER_TYPE_SOS = 1; // 0x1
26047    field @FlaggedApi("com.android.internal.telephony.flags.carrier_enabled_satellite_flag") public static final int EMERGENCY_CALL_TO_SATELLITE_HANDOVER_TYPE_T911 = 2; // 0x2
26048    field @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public static final String METADATA_SATELLITE_MANUAL_CONNECT_P2P_SUPPORT = "android.telephony.METADATA_SATELLITE_MANUAL_CONNECT_P2P_SUPPORT";
26049    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int NT_RADIO_TECHNOLOGY_EMTC_NTN = 3; // 0x3
26050    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int NT_RADIO_TECHNOLOGY_NB_IOT_NTN = 1; // 0x1
26051    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int NT_RADIO_TECHNOLOGY_NR_NTN = 2; // 0x2
26052    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int NT_RADIO_TECHNOLOGY_PROPRIETARY = 4; // 0x4
26053    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int NT_RADIO_TECHNOLOGY_UNKNOWN = 0; // 0x0
26054    field @FlaggedApi("com.android.internal.telephony.flags.carrier_enabled_satellite_flag") public static final int SATELLITE_COMMUNICATION_RESTRICTION_REASON_ENTITLEMENT = 2; // 0x2
26055    field @FlaggedApi("com.android.internal.telephony.flags.carrier_enabled_satellite_flag") public static final int SATELLITE_COMMUNICATION_RESTRICTION_REASON_GEOLOCATION = 1; // 0x1
26056    field @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public static final int SATELLITE_COMMUNICATION_RESTRICTION_REASON_USER = 0; // 0x0
26057    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_IDLE = 0; // 0x0
26058    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVE_FAILED = 7; // 0x7
26059    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVE_NONE = 6; // 0x6
26060    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVE_SUCCESS = 5; // 0x5
26061    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVING = 4; // 0x4
26062    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_SENDING = 1; // 0x1
26063    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_SEND_FAILED = 3; // 0x3
26064    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_SEND_SUCCESS = 2; // 0x2
26065    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_UNKNOWN = -1; // 0xffffffff
26066    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_WAITING_TO_CONNECT = 8; // 0x8
26067    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_MODEM_STATE_CONNECTED = 7; // 0x7
26068    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_MODEM_STATE_DATAGRAM_RETRYING = 3; // 0x3
26069    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_MODEM_STATE_DATAGRAM_TRANSFERRING = 2; // 0x2
26070    field @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public static final int SATELLITE_MODEM_STATE_DISABLING_SATELLITE = 9; // 0x9
26071    field @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public static final int SATELLITE_MODEM_STATE_ENABLING_SATELLITE = 8; // 0x8
26072    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_MODEM_STATE_IDLE = 0; // 0x0
26073    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_MODEM_STATE_LISTENING = 1; // 0x1
26074    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_MODEM_STATE_NOT_CONNECTED = 6; // 0x6
26075    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_MODEM_STATE_OFF = 4; // 0x4
26076    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_MODEM_STATE_UNAVAILABLE = 5; // 0x5
26077    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_MODEM_STATE_UNKNOWN = -1; // 0xffffffff
26078    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_RESULT_ACCESS_BARRED = 16; // 0x10
26079    field @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public static final int SATELLITE_RESULT_DISABLE_IN_PROGRESS = 28; // 0x1c
26080    field @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public static final int SATELLITE_RESULT_EMERGENCY_CALL_IN_PROGRESS = 27; // 0x1b
26081    field @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public static final int SATELLITE_RESULT_ENABLE_IN_PROGRESS = 29; // 0x1d
26082    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_RESULT_ERROR = 1; // 0x1
26083    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_RESULT_ILLEGAL_STATE = 23; // 0x17
26084    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_RESULT_INVALID_ARGUMENTS = 8; // 0x8
26085    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_RESULT_INVALID_MODEM_STATE = 7; // 0x7
26086    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_RESULT_INVALID_TELEPHONY_STATE = 6; // 0x6
26087    field @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public static final int SATELLITE_RESULT_LOCATION_DISABLED = 25; // 0x19
26088    field @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public static final int SATELLITE_RESULT_LOCATION_NOT_AVAILABLE = 26; // 0x1a
26089    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_RESULT_MODEM_BUSY = 22; // 0x16
26090    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_RESULT_MODEM_ERROR = 4; // 0x4
26091    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_RESULT_MODEM_TIMEOUT = 24; // 0x18
26092    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_RESULT_NETWORK_ERROR = 5; // 0x5
26093    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_RESULT_NETWORK_TIMEOUT = 17; // 0x11
26094    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_RESULT_NOT_AUTHORIZED = 19; // 0x13
26095    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_RESULT_NOT_REACHABLE = 18; // 0x12
26096    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_RESULT_NOT_SUPPORTED = 20; // 0x14
26097    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_RESULT_NO_RESOURCES = 12; // 0xc
26098    field @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public static final int SATELLITE_RESULT_NO_VALID_SATELLITE_SUBSCRIPTION = 30; // 0x1e
26099    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_RESULT_RADIO_NOT_AVAILABLE = 10; // 0xa
26100    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_RESULT_REQUEST_ABORTED = 15; // 0xf
26101    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_RESULT_REQUEST_FAILED = 9; // 0x9
26102    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_RESULT_REQUEST_IN_PROGRESS = 21; // 0x15
26103    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_RESULT_REQUEST_NOT_SUPPORTED = 11; // 0xb
26104    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_RESULT_SERVER_ERROR = 2; // 0x2
26105    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_RESULT_SERVICE_ERROR = 3; // 0x3
26106    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_RESULT_SERVICE_NOT_PROVISIONED = 13; // 0xd
26107    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_RESULT_SERVICE_PROVISION_IN_PROGRESS = 14; // 0xe
26108    field @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static final int SATELLITE_RESULT_SUCCESS = 0; // 0x0
26109  }
26110
26111  @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public static class SatelliteManager.SatelliteException extends java.lang.Exception {
26112    ctor @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public SatelliteManager.SatelliteException(int);
26113    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public int getErrorCode();
26114  }
26115
26116  @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public final class SatelliteModemEnableRequestAttributes implements android.os.Parcelable {
26117    method public int describeContents();
26118    method @NonNull public android.telephony.satellite.SatelliteSubscriptionInfo getSatelliteSubscriptionInfo();
26119    method public boolean isDemoMode();
26120    method public boolean isEmergencyMode();
26121    method public boolean isEnabled();
26122    method public void writeToParcel(@NonNull android.os.Parcel, int);
26123    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.satellite.SatelliteModemEnableRequestAttributes> CREATOR;
26124  }
26125
26126  @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public interface SatelliteModemStateCallback {
26127    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public void onSatelliteModemStateChanged(int);
26128  }
26129
26130  @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public final class SatellitePosition implements android.os.Parcelable {
26131    method public int describeContents();
26132    method public double getAltitudeKm();
26133    method public double getLongitudeDegrees();
26134    method public void writeToParcel(@NonNull android.os.Parcel, int);
26135    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.satellite.SatellitePosition> CREATOR;
26136  }
26137
26138  @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public interface SatelliteProvisionStateCallback {
26139    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public void onSatelliteProvisionStateChanged(boolean);
26140    method @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public default void onSatelliteSubscriptionProvisionStateChanged(@NonNull java.util.List<android.telephony.satellite.SatelliteSubscriberProvisionStatus>);
26141  }
26142
26143  @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public final class SatelliteSubscriberInfo implements android.os.Parcelable {
26144    method public int describeContents();
26145    method public int getCarrierId();
26146    method @NonNull public String getNiddApn();
26147    method public int getSubId();
26148    method @NonNull public String getSubscriberId();
26149    method public int getSubscriberIdType();
26150    method public void writeToParcel(@NonNull android.os.Parcel, int);
26151    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.satellite.SatelliteSubscriberInfo> CREATOR;
26152    field public static final int ICCID = 0; // 0x0
26153    field public static final int IMSI_MSISDN = 1; // 0x1
26154  }
26155
26156  public static final class SatelliteSubscriberInfo.Builder {
26157    ctor public SatelliteSubscriberInfo.Builder();
26158    method @NonNull public android.telephony.satellite.SatelliteSubscriberInfo build();
26159    method @NonNull public android.telephony.satellite.SatelliteSubscriberInfo.Builder setCarrierId(int);
26160    method @NonNull public android.telephony.satellite.SatelliteSubscriberInfo.Builder setNiddApn(@NonNull String);
26161    method @NonNull public android.telephony.satellite.SatelliteSubscriberInfo.Builder setSubId(int);
26162    method @NonNull public android.telephony.satellite.SatelliteSubscriberInfo.Builder setSubscriberId(@NonNull String);
26163    method @NonNull public android.telephony.satellite.SatelliteSubscriberInfo.Builder setSubscriberIdType(int);
26164  }
26165
26166  @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public final class SatelliteSubscriberProvisionStatus implements android.os.Parcelable {
26167    method public int describeContents();
26168    method @NonNull public android.telephony.satellite.SatelliteSubscriberInfo getSatelliteSubscriberInfo();
26169    method public boolean isProvisioned();
26170    method public void writeToParcel(@NonNull android.os.Parcel, int);
26171    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.satellite.SatelliteSubscriberProvisionStatus> CREATOR;
26172  }
26173
26174  public static final class SatelliteSubscriberProvisionStatus.Builder {
26175    ctor public SatelliteSubscriberProvisionStatus.Builder();
26176    method @NonNull public android.telephony.satellite.SatelliteSubscriberProvisionStatus build();
26177    method @NonNull public android.telephony.satellite.SatelliteSubscriberProvisionStatus.Builder setProvisioned(boolean);
26178    method @NonNull public android.telephony.satellite.SatelliteSubscriberProvisionStatus.Builder setSatelliteSubscriberInfo(@NonNull android.telephony.satellite.SatelliteSubscriberInfo);
26179  }
26180
26181  @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public final class SatelliteSubscriptionInfo implements android.os.Parcelable {
26182    method public int describeContents();
26183    method @NonNull public String getIccId();
26184    method @NonNull public String getNiddApn();
26185    method public void writeToParcel(@NonNull android.os.Parcel, int);
26186    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.satellite.SatelliteSubscriptionInfo> CREATOR;
26187  }
26188
26189  @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public interface SatelliteSupportedStateCallback {
26190    method public void onSatelliteSupportedStateChanged(boolean);
26191  }
26192
26193  @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public interface SatelliteTransmissionUpdateCallback {
26194    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public void onReceiveDatagramStateChanged(int, int, int);
26195    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public void onSatellitePositionChanged(@NonNull android.telephony.satellite.PointingInfo);
26196    method @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public default void onSendDatagramRequested(int);
26197    method @FlaggedApi("com.android.internal.telephony.flags.oem_enabled_satellite_flag") public void onSendDatagramStateChanged(int, int, int);
26198    method @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public default void onSendDatagramStateChanged(int, int, int, int);
26199  }
26200
26201  @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public interface SelectedNbIotSatelliteSubscriptionCallback {
26202    method public void onSelectedNbIotSatelliteSubscriptionChanged(int);
26203  }
26204
26205  @FlaggedApi("com.android.internal.telephony.flags.satellite_system_apis") public final class SystemSelectionSpecifier implements android.os.Parcelable {
26206    method public int describeContents();
26207    method @NonNull public int[] getBands();
26208    method @NonNull public int[] getEarfcns();
26209    method @NonNull public String getMccMnc();
26210    method @NonNull public java.util.List<android.telephony.satellite.SatelliteInfo> getSatelliteInfos();
26211    method @NonNull public int[] getTagIds();
26212    method public void writeToParcel(@NonNull android.os.Parcel, int);
26213    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.satellite.SystemSelectionSpecifier> CREATOR;
26214  }
26215
26216}
26217
26218package android.text {
26219
26220  public final class FontConfig implements android.os.Parcelable {
26221    method public int describeContents();
26222    method @NonNull public java.util.List<android.text.FontConfig.Alias> getAliases();
26223    method @IntRange(from=0) public int getConfigVersion();
26224    method @NonNull public java.util.List<android.text.FontConfig.FontFamily> getFontFamilies();
26225    method public long getLastModifiedTimeMillis();
26226    method @NonNull public java.util.List<android.text.FontConfig.NamedFamilyList> getNamedFamilyLists();
26227    method public void writeToParcel(@NonNull android.os.Parcel, int);
26228    field @NonNull public static final android.os.Parcelable.Creator<android.text.FontConfig> CREATOR;
26229  }
26230
26231  public static final class FontConfig.Alias implements android.os.Parcelable {
26232    method public int describeContents();
26233    method @NonNull public String getName();
26234    method @NonNull public String getOriginal();
26235    method @IntRange(from=0, to=1000) public int getWeight();
26236    method public void writeToParcel(@NonNull android.os.Parcel, int);
26237    field @NonNull public static final android.os.Parcelable.Creator<android.text.FontConfig.Alias> CREATOR;
26238  }
26239
26240  public static final class FontConfig.Font implements android.os.Parcelable {
26241    method public int describeContents();
26242    method @NonNull public java.io.File getFile();
26243    method @Nullable public String getFontFamilyName();
26244    method @NonNull public String getFontVariationSettings();
26245    method @NonNull public String getPostScriptName();
26246    method @NonNull public android.graphics.fonts.FontStyle getStyle();
26247    method public int getTtcIndex();
26248    method public void writeToParcel(@NonNull android.os.Parcel, int);
26249    field @NonNull public static final android.os.Parcelable.Creator<android.text.FontConfig.Font> CREATOR;
26250  }
26251
26252  public static final class FontConfig.FontFamily implements android.os.Parcelable {
26253    method public int describeContents();
26254    method @NonNull public java.util.List<android.text.FontConfig.Font> getFontList();
26255    method @NonNull public android.os.LocaleList getLocaleList();
26256    method @Deprecated @Nullable public String getName();
26257    method public int getVariant();
26258    method public void writeToParcel(@NonNull android.os.Parcel, int);
26259    field @NonNull public static final android.os.Parcelable.Creator<android.text.FontConfig.FontFamily> CREATOR;
26260    field public static final int VARIANT_COMPACT = 1; // 0x1
26261    field public static final int VARIANT_DEFAULT = 0; // 0x0
26262    field public static final int VARIANT_ELEGANT = 2; // 0x2
26263  }
26264
26265  public static final class FontConfig.NamedFamilyList implements android.os.Parcelable {
26266    method public int describeContents();
26267    method @NonNull public java.util.List<android.text.FontConfig.FontFamily> getFamilies();
26268    method @NonNull public String getName();
26269    method public void writeToParcel(@NonNull android.os.Parcel, int);
26270    field @NonNull public static final android.os.Parcelable.Creator<android.text.FontConfig.NamedFamilyList> CREATOR;
26271  }
26272
26273}
26274
26275package android.util {
26276
26277  public class EventLog {
26278    method public static void readEventsOnWrapping(int[], long, java.util.Collection<android.util.EventLog.Event>) throws java.io.IOException;
26279  }
26280
26281  public static final class EventLog.Event {
26282    method public int getUid();
26283  }
26284
26285  public final class StatsEvent {
26286    method @NonNull public static android.util.StatsEvent.Builder newBuilder();
26287  }
26288
26289  public static final class StatsEvent.Builder {
26290    method @NonNull public android.util.StatsEvent.Builder addBooleanAnnotation(byte, boolean);
26291    method @NonNull public android.util.StatsEvent.Builder addIntAnnotation(byte, int);
26292    method @NonNull public android.util.StatsEvent build();
26293    method @NonNull public android.util.StatsEvent.Builder setAtomId(int);
26294    method @NonNull public android.util.StatsEvent.Builder usePooledBuffer();
26295    method @NonNull public android.util.StatsEvent.Builder writeAttributionChain(@NonNull int[], @NonNull String[]);
26296    method @NonNull public android.util.StatsEvent.Builder writeBoolean(boolean);
26297    method @NonNull public android.util.StatsEvent.Builder writeBooleanArray(@NonNull boolean[]);
26298    method @NonNull public android.util.StatsEvent.Builder writeByteArray(@NonNull byte[]);
26299    method @NonNull public android.util.StatsEvent.Builder writeFloat(float);
26300    method @NonNull public android.util.StatsEvent.Builder writeFloatArray(@NonNull float[]);
26301    method @NonNull public android.util.StatsEvent.Builder writeInt(int);
26302    method @NonNull public android.util.StatsEvent.Builder writeIntArray(@NonNull int[]);
26303    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>);
26304    method @NonNull public android.util.StatsEvent.Builder writeLong(long);
26305    method @NonNull public android.util.StatsEvent.Builder writeLongArray(@NonNull long[]);
26306    method @NonNull public android.util.StatsEvent.Builder writeString(@NonNull String);
26307    method @NonNull public android.util.StatsEvent.Builder writeStringArray(@NonNull String[]);
26308  }
26309
26310  public final class StatsLog {
26311    method public static void write(@NonNull android.util.StatsEvent);
26312    method @Deprecated public static void writeRaw(@NonNull byte[], int);
26313    field public static final byte ANNOTATION_ID_DEFAULT_STATE = 6; // 0x6
26314    field public static final byte ANNOTATION_ID_EXCLUSIVE_STATE = 4; // 0x4
26315    field public static final byte ANNOTATION_ID_FIELD_RESTRICTION_ACCESSIBILITY = 14; // 0xe
26316    field public static final byte ANNOTATION_ID_FIELD_RESTRICTION_AMBIENT_SENSING = 17; // 0x11
26317    field public static final byte ANNOTATION_ID_FIELD_RESTRICTION_APP_ACTIVITY = 12; // 0xc
26318    field public static final byte ANNOTATION_ID_FIELD_RESTRICTION_APP_USAGE = 11; // 0xb
26319    field public static final byte ANNOTATION_ID_FIELD_RESTRICTION_DEMOGRAPHIC_CLASSIFICATION = 18; // 0x12
26320    field public static final byte ANNOTATION_ID_FIELD_RESTRICTION_HEALTH_CONNECT = 13; // 0xd
26321    field public static final byte ANNOTATION_ID_FIELD_RESTRICTION_PERIPHERAL_DEVICE_INFO = 10; // 0xa
26322    field public static final byte ANNOTATION_ID_FIELD_RESTRICTION_SYSTEM_SEARCH = 15; // 0xf
26323    field public static final byte ANNOTATION_ID_FIELD_RESTRICTION_USER_ENGAGEMENT = 16; // 0x10
26324    field public static final byte ANNOTATION_ID_IS_UID = 1; // 0x1
26325    field public static final byte ANNOTATION_ID_PRIMARY_FIELD = 3; // 0x3
26326    field public static final byte ANNOTATION_ID_PRIMARY_FIELD_FIRST_UID = 5; // 0x5
26327    field public static final byte ANNOTATION_ID_RESTRICTION_CATEGORY = 9; // 0x9
26328    field public static final byte ANNOTATION_ID_STATE_NESTED = 8; // 0x8
26329    field public static final byte ANNOTATION_ID_TRIGGER_STATE_RESET = 7; // 0x7
26330    field public static final byte ANNOTATION_ID_TRUNCATE_TIMESTAMP = 2; // 0x2
26331    field public static final int RESTRICTION_CATEGORY_AUTHENTICATION = 3; // 0x3
26332    field public static final int RESTRICTION_CATEGORY_DIAGNOSTIC = 1; // 0x1
26333    field public static final int RESTRICTION_CATEGORY_FRAUD_AND_ABUSE = 4; // 0x4
26334    field public static final int RESTRICTION_CATEGORY_SYSTEM_INTELLIGENCE = 2; // 0x2
26335  }
26336
26337}
26338
26339package android.uwb {
26340
26341  public final class AngleMeasurement implements android.os.Parcelable {
26342    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);
26343    method public int describeContents();
26344    method @FloatRange(from=0.0, to=1.0) public double getConfidenceLevel();
26345    method @FloatRange(from=0.0, to=3.141592653589793) public double getErrorRadians();
26346    method @FloatRange(from=-3.141592653589793, to=3.141592653589793) public double getRadians();
26347    method public void writeToParcel(@NonNull android.os.Parcel, int);
26348    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.AngleMeasurement> CREATOR;
26349  }
26350
26351  public final class AngleOfArrivalMeasurement implements android.os.Parcelable {
26352    method public int describeContents();
26353    method @Nullable public android.uwb.AngleMeasurement getAltitude();
26354    method @NonNull public android.uwb.AngleMeasurement getAzimuth();
26355    method public void writeToParcel(@NonNull android.os.Parcel, int);
26356    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.AngleOfArrivalMeasurement> CREATOR;
26357  }
26358
26359  public static final class AngleOfArrivalMeasurement.Builder {
26360    ctor public AngleOfArrivalMeasurement.Builder(@NonNull android.uwb.AngleMeasurement);
26361    method @NonNull public android.uwb.AngleOfArrivalMeasurement build();
26362    method @NonNull public android.uwb.AngleOfArrivalMeasurement.Builder setAltitude(@NonNull android.uwb.AngleMeasurement);
26363  }
26364
26365  public final class DistanceMeasurement implements android.os.Parcelable {
26366    method public int describeContents();
26367    method @FloatRange(from=0.0, to=1.0) public double getConfidenceLevel();
26368    method @FloatRange(from=0.0) public double getErrorMeters();
26369    method public double getMeters();
26370    method public void writeToParcel(@NonNull android.os.Parcel, int);
26371    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.DistanceMeasurement> CREATOR;
26372  }
26373
26374  public static final class DistanceMeasurement.Builder {
26375    ctor public DistanceMeasurement.Builder();
26376    method @NonNull public android.uwb.DistanceMeasurement build();
26377    method @NonNull public android.uwb.DistanceMeasurement.Builder setConfidenceLevel(@FloatRange(from=0.0, to=1.0) double);
26378    method @NonNull public android.uwb.DistanceMeasurement.Builder setErrorMeters(@FloatRange(from=0.0) double);
26379    method @NonNull public android.uwb.DistanceMeasurement.Builder setMeters(double);
26380  }
26381
26382  public final class RangingMeasurement implements android.os.Parcelable {
26383    method public int describeContents();
26384    method @Nullable public android.uwb.AngleOfArrivalMeasurement getAngleOfArrivalMeasurement();
26385    method @Nullable public android.uwb.AngleOfArrivalMeasurement getDestinationAngleOfArrivalMeasurement();
26386    method @Nullable public android.uwb.DistanceMeasurement getDistanceMeasurement();
26387    method public long getElapsedRealtimeNanos();
26388    method public int getLineOfSight();
26389    method public int getMeasurementFocus();
26390    method @NonNull public android.os.PersistableBundle getRangingMeasurementMetadata();
26391    method @NonNull public android.uwb.UwbAddress getRemoteDeviceAddress();
26392    method @IntRange(from=android.uwb.RangingMeasurement.RSSI_UNKNOWN, to=android.uwb.RangingMeasurement.RSSI_MAX) public int getRssiDbm();
26393    method public int getStatus();
26394    method public void writeToParcel(@NonNull android.os.Parcel, int);
26395    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.RangingMeasurement> CREATOR;
26396    field public static final int LOS = 0; // 0x0
26397    field public static final int LOS_UNDETERMINED = 255; // 0xff
26398    field public static final int MEASUREMENT_FOCUS_ANGLE_OF_ARRIVAL_AZIMUTH = 2; // 0x2
26399    field public static final int MEASUREMENT_FOCUS_ANGLE_OF_ARRIVAL_ELEVATION = 3; // 0x3
26400    field public static final int MEASUREMENT_FOCUS_NONE = 0; // 0x0
26401    field public static final int MEASUREMENT_FOCUS_RANGE = 1; // 0x1
26402    field public static final int NLOS = 1; // 0x1
26403    field public static final int RANGING_STATUS_FAILURE_OUT_OF_RANGE = 1; // 0x1
26404    field public static final int RANGING_STATUS_FAILURE_UNKNOWN_ERROR = -1; // 0xffffffff
26405    field public static final int RANGING_STATUS_SUCCESS = 0; // 0x0
26406    field public static final int RSSI_MAX = -1; // 0xffffffff
26407    field public static final int RSSI_MIN = -127; // 0xffffff81
26408    field public static final int RSSI_UNKNOWN = -128; // 0xffffff80
26409  }
26410
26411  public static final class RangingMeasurement.Builder {
26412    ctor public RangingMeasurement.Builder();
26413    method @NonNull public android.uwb.RangingMeasurement build();
26414    method @NonNull public android.uwb.RangingMeasurement.Builder setAngleOfArrivalMeasurement(@NonNull android.uwb.AngleOfArrivalMeasurement);
26415    method @NonNull public android.uwb.RangingMeasurement.Builder setDestinationAngleOfArrivalMeasurement(@NonNull android.uwb.AngleOfArrivalMeasurement);
26416    method @NonNull public android.uwb.RangingMeasurement.Builder setDistanceMeasurement(@NonNull android.uwb.DistanceMeasurement);
26417    method @NonNull public android.uwb.RangingMeasurement.Builder setElapsedRealtimeNanos(long);
26418    method @NonNull public android.uwb.RangingMeasurement.Builder setLineOfSight(int);
26419    method @NonNull public android.uwb.RangingMeasurement.Builder setMeasurementFocus(int);
26420    method @NonNull public android.uwb.RangingMeasurement.Builder setRangingMeasurementMetadata(@NonNull android.os.PersistableBundle);
26421    method @NonNull public android.uwb.RangingMeasurement.Builder setRemoteDeviceAddress(@NonNull android.uwb.UwbAddress);
26422    method @NonNull public android.uwb.RangingMeasurement.Builder setRssiDbm(@IntRange(from=android.uwb.RangingMeasurement.RSSI_UNKNOWN, to=android.uwb.RangingMeasurement.RSSI_MAX) int);
26423    method @NonNull public android.uwb.RangingMeasurement.Builder setStatus(int);
26424  }
26425
26426  public final class RangingReport implements android.os.Parcelable {
26427    method public int describeContents();
26428    method @NonNull public java.util.List<android.uwb.RangingMeasurement> getMeasurements();
26429    method @NonNull public android.os.PersistableBundle getRangingReportMetadata();
26430    method public void writeToParcel(@NonNull android.os.Parcel, int);
26431    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.RangingReport> CREATOR;
26432  }
26433
26434  public static final class RangingReport.Builder {
26435    ctor public RangingReport.Builder();
26436    method @NonNull public android.uwb.RangingReport.Builder addMeasurement(@NonNull android.uwb.RangingMeasurement);
26437    method @NonNull public android.uwb.RangingReport.Builder addMeasurements(@NonNull java.util.List<android.uwb.RangingMeasurement>);
26438    method @NonNull public android.uwb.RangingReport.Builder addRangingReportMetadata(@NonNull android.os.PersistableBundle);
26439    method @NonNull public android.uwb.RangingReport build();
26440  }
26441
26442  public final class RangingSession implements java.lang.AutoCloseable {
26443    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void addControlee(@NonNull android.os.PersistableBundle);
26444    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void close();
26445    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void pause(@NonNull android.os.PersistableBundle);
26446    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public int queryMaxDataSizeBytes();
26447    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void reconfigure(@NonNull android.os.PersistableBundle);
26448    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void removeControlee(@NonNull android.os.PersistableBundle);
26449    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void resume(@NonNull android.os.PersistableBundle);
26450    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void sendData(@NonNull android.uwb.UwbAddress, @NonNull android.os.PersistableBundle, @NonNull byte[]);
26451    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void setDataTransferPhaseConfig(@NonNull android.os.PersistableBundle);
26452    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void setHybridSessionControleeConfiguration(@NonNull android.os.PersistableBundle);
26453    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void setHybridSessionControllerConfiguration(@NonNull android.os.PersistableBundle);
26454    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void start(@NonNull android.os.PersistableBundle);
26455    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void stop();
26456    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void updatePose(@NonNull android.os.PersistableBundle);
26457    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void updateRangingRoundsDtTag(@NonNull android.os.PersistableBundle);
26458  }
26459
26460  public static interface RangingSession.Callback {
26461    method public void onClosed(int, @NonNull android.os.PersistableBundle);
26462    method public default void onControleeAddFailed(int, @NonNull android.os.PersistableBundle);
26463    method public default void onControleeAdded(@NonNull android.os.PersistableBundle);
26464    method public default void onControleeRemoveFailed(int, @NonNull android.os.PersistableBundle);
26465    method public default void onControleeRemoved(@NonNull android.os.PersistableBundle);
26466    method public default void onDataReceiveFailed(@NonNull android.uwb.UwbAddress, int, @NonNull android.os.PersistableBundle);
26467    method public default void onDataReceived(@NonNull android.uwb.UwbAddress, @NonNull android.os.PersistableBundle, @NonNull byte[]);
26468    method public default void onDataSendFailed(@NonNull android.uwb.UwbAddress, int, @NonNull android.os.PersistableBundle);
26469    method public default void onDataSent(@NonNull android.uwb.UwbAddress, @NonNull android.os.PersistableBundle);
26470    method public default void onDataTransferPhaseConfigFailed(int, @NonNull android.os.PersistableBundle);
26471    method public default void onDataTransferPhaseConfigured(@NonNull android.os.PersistableBundle);
26472    method public default void onHybridSessionControleeConfigurationFailed(int, @NonNull android.os.PersistableBundle);
26473    method public default void onHybridSessionControleeConfigured(@NonNull android.os.PersistableBundle);
26474    method public default void onHybridSessionControllerConfigurationFailed(int, @NonNull android.os.PersistableBundle);
26475    method public default void onHybridSessionControllerConfigured(@NonNull android.os.PersistableBundle);
26476    method public void onOpenFailed(int, @NonNull android.os.PersistableBundle);
26477    method public void onOpened(@NonNull android.uwb.RangingSession);
26478    method public default void onPauseFailed(int, @NonNull android.os.PersistableBundle);
26479    method public default void onPaused(@NonNull android.os.PersistableBundle);
26480    method public default void onRangingRoundsUpdateDtTagStatus(@NonNull android.os.PersistableBundle);
26481    method public void onReconfigureFailed(int, @NonNull android.os.PersistableBundle);
26482    method public void onReconfigured(@NonNull android.os.PersistableBundle);
26483    method public void onReportReceived(@NonNull android.uwb.RangingReport);
26484    method public default void onResumeFailed(int, @NonNull android.os.PersistableBundle);
26485    method public default void onResumed(@NonNull android.os.PersistableBundle);
26486    method public default void onServiceConnected(@NonNull android.os.PersistableBundle);
26487    method public default void onServiceDiscovered(@NonNull android.os.PersistableBundle);
26488    method public void onStartFailed(int, @NonNull android.os.PersistableBundle);
26489    method public void onStarted(@NonNull android.os.PersistableBundle);
26490    method public void onStopFailed(int, @NonNull android.os.PersistableBundle);
26491    method public void onStopped(int, @NonNull android.os.PersistableBundle);
26492    field public static final int CONTROLEE_FAILURE_REASON_MAX_CONTROLEE_REACHED = 0; // 0x0
26493    field public static final int DATA_FAILURE_REASON_DATA_SIZE_TOO_LARGE = 10; // 0xa
26494    field public static final int REASON_BAD_PARAMETERS = 3; // 0x3
26495    field public static final int REASON_GENERIC_ERROR = 4; // 0x4
26496    field public static final int REASON_INBAND_SESSION_STOP = 16; // 0x10
26497    field public static final int REASON_INSUFFICIENT_SLOTS_PER_RR = 14; // 0xe
26498    field public static final int REASON_LOCAL_REQUEST = 1; // 0x1
26499    field public static final int REASON_MAX_RR_RETRY_REACHED = 9; // 0x9
26500    field public static final int REASON_MAX_SESSIONS_REACHED = 5; // 0x5
26501    field public static final int REASON_PROTOCOL_SPECIFIC_ERROR = 7; // 0x7
26502    field public static final int REASON_REMOTE_REQUEST = 2; // 0x2
26503    field public static final int REASON_SERVICE_CONNECTION_FAILURE = 11; // 0xb
26504    field public static final int REASON_SERVICE_DISCOVERY_FAILURE = 10; // 0xa
26505    field public static final int REASON_SE_INTERACTION_FAILURE = 13; // 0xd
26506    field public static final int REASON_SE_NOT_SUPPORTED = 12; // 0xc
26507    field public static final int REASON_SYSTEM_POLICY = 6; // 0x6
26508    field public static final int REASON_SYSTEM_REGULATION = 15; // 0xf
26509    field public static final int REASON_UNKNOWN = 0; // 0x0
26510  }
26511
26512  public final class UwbActivityEnergyInfo implements android.os.Parcelable {
26513    method public int describeContents();
26514    method @IntRange(from=0) public long getControllerIdleDurationMillis();
26515    method @IntRange(from=0) public long getControllerRxDurationMillis();
26516    method @IntRange(from=0) public long getControllerTxDurationMillis();
26517    method @IntRange(from=0) public long getControllerWakeCount();
26518    method public int getStackState();
26519    method public long getTimeSinceBootMillis();
26520    method public void writeToParcel(@NonNull android.os.Parcel, int);
26521    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.UwbActivityEnergyInfo> CREATOR;
26522  }
26523
26524  public static final class UwbActivityEnergyInfo.Builder {
26525    ctor public UwbActivityEnergyInfo.Builder();
26526    method @NonNull public android.uwb.UwbActivityEnergyInfo build();
26527    method @NonNull public android.uwb.UwbActivityEnergyInfo.Builder setControllerIdleDurationMillis(@IntRange(from=0) long);
26528    method @NonNull public android.uwb.UwbActivityEnergyInfo.Builder setControllerRxDurationMillis(@IntRange(from=0) long);
26529    method @NonNull public android.uwb.UwbActivityEnergyInfo.Builder setControllerTxDurationMillis(@IntRange(from=0) long);
26530    method @NonNull public android.uwb.UwbActivityEnergyInfo.Builder setControllerWakeCount(@IntRange(from=0) long);
26531    method @NonNull public android.uwb.UwbActivityEnergyInfo.Builder setStackState(int);
26532    method @NonNull public android.uwb.UwbActivityEnergyInfo.Builder setTimeSinceBootMillis(long);
26533  }
26534
26535  public final class UwbAddress implements android.os.Parcelable {
26536    method public int describeContents();
26537    method @NonNull public static android.uwb.UwbAddress fromBytes(@NonNull byte[]);
26538    method public int size();
26539    method @NonNull public byte[] toBytes();
26540    method public void writeToParcel(@NonNull android.os.Parcel, int);
26541    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.UwbAddress> CREATOR;
26542    field public static final int EXTENDED_ADDRESS_BYTE_LENGTH = 8; // 0x8
26543    field public static final int SHORT_ADDRESS_BYTE_LENGTH = 2; // 0x2
26544  }
26545
26546  public final class UwbManager {
26547    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public android.os.PersistableBundle addServiceProfile(@NonNull android.os.PersistableBundle);
26548    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public long elapsedRealtimeResolutionNanos();
26549    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public long elapsedRealtimeResolutionNanos(@NonNull String);
26550    method public int getAdapterState();
26551    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public android.os.PersistableBundle getAdfCertificateInfo(@NonNull android.os.PersistableBundle);
26552    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public android.os.PersistableBundle getAdfProvisioningAuthorities(@NonNull android.os.PersistableBundle);
26553    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public android.os.PersistableBundle getAllServiceProfiles();
26554    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public java.util.List<android.os.PersistableBundle> getChipInfos();
26555    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public String getDefaultChipId();
26556    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public android.os.PersistableBundle getSpecificationInfo();
26557    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public android.os.PersistableBundle getSpecificationInfo(@NonNull String);
26558    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void getUwbActivityEnergyInfoAsync(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.uwb.UwbActivityEnergyInfo>);
26559    method public boolean isUwbEnabled();
26560    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public boolean isUwbHwEnableRequested();
26561    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public boolean isUwbHwIdleTurnOffEnabled();
26562    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);
26563    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);
26564    method public void provisionProfileAdfByScript(@NonNull android.os.PersistableBundle, @NonNull java.util.concurrent.Executor, @NonNull android.uwb.UwbManager.AdfProvisionStateCallback);
26565    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public long queryUwbsTimestampMicros();
26566    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void registerAdapterStateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.uwb.UwbManager.AdapterStateCallback);
26567    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void registerUwbOemExtensionCallback(@NonNull java.util.concurrent.Executor, @NonNull android.uwb.UwbManager.UwbOemExtensionCallback);
26568    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void registerUwbVendorUciCallback(@NonNull java.util.concurrent.Executor, @NonNull android.uwb.UwbManager.UwbVendorUciCallback);
26569    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public int removeProfileAdf(@NonNull android.os.PersistableBundle);
26570    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public int removeServiceProfile(@NonNull android.os.PersistableBundle);
26571    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void requestUwbHwEnabled(boolean);
26572    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public int sendVendorUciMessage(@IntRange(from=0, to=15) int, int, @NonNull byte[]);
26573    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public int sendVendorUciMessage(int, @IntRange(from=0, to=15) int, int, @NonNull byte[]);
26574    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void setUwbEnabled(boolean);
26575    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void unregisterAdapterStateCallback(@NonNull android.uwb.UwbManager.AdapterStateCallback);
26576    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void unregisterUwbOemExtensionCallback(@NonNull android.uwb.UwbManager.UwbOemExtensionCallback);
26577    method public void unregisterUwbVendorUciCallback(@NonNull android.uwb.UwbManager.UwbVendorUciCallback);
26578    field public static final int MESSAGE_TYPE_COMMAND = 1; // 0x1
26579    field public static final int MESSAGE_TYPE_TEST_1 = 4; // 0x4
26580    field public static final int MESSAGE_TYPE_TEST_2 = 5; // 0x5
26581    field public static final int REMOVE_PROFILE_ADF_ERROR_INTERNAL = 2; // 0x2
26582    field public static final int REMOVE_PROFILE_ADF_ERROR_UNKNOWN_SERVICE = 1; // 0x1
26583    field public static final int REMOVE_PROFILE_ADF_SUCCESS = 0; // 0x0
26584    field public static final int REMOVE_SERVICE_PROFILE_ERROR_INTERNAL = 2; // 0x2
26585    field public static final int REMOVE_SERVICE_PROFILE_ERROR_UNKNOWN_SERVICE = 1; // 0x1
26586    field public static final int REMOVE_SERVICE_PROFILE_SUCCESS = 0; // 0x0
26587    field public static final int SEND_VENDOR_UCI_ERROR_HW = 1; // 0x1
26588    field public static final int SEND_VENDOR_UCI_ERROR_INVALID_ARGS = 3; // 0x3
26589    field public static final int SEND_VENDOR_UCI_ERROR_INVALID_GID = 4; // 0x4
26590    field public static final int SEND_VENDOR_UCI_ERROR_OFF = 2; // 0x2
26591    field public static final int SEND_VENDOR_UCI_SUCCESS = 0; // 0x0
26592  }
26593
26594  public static interface UwbManager.AdapterStateCallback {
26595    method public void onStateChanged(int, int);
26596    field public static final int STATE_CHANGED_REASON_ALL_SESSIONS_CLOSED = 1; // 0x1
26597    field public static final int STATE_CHANGED_REASON_ERROR_UNKNOWN = 4; // 0x4
26598    field public static final int STATE_CHANGED_REASON_SESSION_STARTED = 0; // 0x0
26599    field public static final int STATE_CHANGED_REASON_SYSTEM_BOOT = 3; // 0x3
26600    field public static final int STATE_CHANGED_REASON_SYSTEM_POLICY = 2; // 0x2
26601    field public static final int STATE_CHANGED_REASON_SYSTEM_REGULATION = 5; // 0x5
26602    field public static final int STATE_DISABLED = 0; // 0x0
26603    field public static final int STATE_ENABLED_ACTIVE = 2; // 0x2
26604    field public static final int STATE_ENABLED_HW_IDLE = 3; // 0x3
26605    field public static final int STATE_ENABLED_INACTIVE = 1; // 0x1
26606  }
26607
26608  public abstract static class UwbManager.AdfProvisionStateCallback {
26609    ctor public UwbManager.AdfProvisionStateCallback();
26610    method public abstract void onProfileAdfsProvisionFailed(int, @NonNull android.os.PersistableBundle);
26611    method public abstract void onProfileAdfsProvisioned(@NonNull android.os.PersistableBundle);
26612    field public static final int REASON_INVALID_OID = 1; // 0x1
26613    field public static final int REASON_SE_FAILURE = 2; // 0x2
26614    field public static final int REASON_UNKNOWN = 3; // 0x3
26615  }
26616
26617  public static interface UwbManager.UwbOemExtensionCallback {
26618    method public boolean onCheckPointedTarget(@NonNull android.os.PersistableBundle);
26619    method public void onDeviceStatusNotificationReceived(@NonNull android.os.PersistableBundle);
26620    method @NonNull public android.uwb.RangingReport onRangingReportReceived(@NonNull android.uwb.RangingReport);
26621    method @NonNull public int onSessionConfigurationComplete(@NonNull android.os.PersistableBundle);
26622    method public void onSessionStatusNotificationReceived(@NonNull android.os.PersistableBundle);
26623  }
26624
26625  public static interface UwbManager.UwbVendorUciCallback {
26626    method public void onVendorUciNotification(@IntRange(from=9, to=15) int, int, @NonNull byte[]);
26627    method public void onVendorUciResponse(@IntRange(from=0, to=15) int, int, @NonNull byte[]);
26628  }
26629
26630}
26631
26632package android.view {
26633
26634  public static class SurfaceControl.Transaction implements java.io.Closeable android.os.Parcelable {
26635    method @FlaggedApi("android.media.tv.flags.apply_picture_profiles") @NonNull public android.view.SurfaceControl.Transaction setPictureProfileHandle(@NonNull android.view.SurfaceControl, @NonNull android.media.quality.PictureProfileHandle);
26636  }
26637
26638  @UiThread public class View implements android.view.accessibility.AccessibilityEventSource android.graphics.drawable.Drawable.Callback android.view.KeyEvent.Callback {
26639    method @NonNull public final java.util.List<android.graphics.Rect> getUnrestrictedPreferKeepClearRects();
26640    method @RequiresPermission(android.Manifest.permission.SET_UNRESTRICTED_KEEP_CLEAR_AREAS) public final void setUnrestrictedPreferKeepClearRects(@NonNull java.util.List<android.graphics.Rect>);
26641  }
26642
26643  public abstract class Window {
26644    method public void addSystemFlags(int);
26645  }
26646
26647  public interface WindowManager extends android.view.ViewManager {
26648    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public android.graphics.Region getCurrentImeTouchRegion();
26649    method @NonNull public default java.util.List<android.content.ComponentName> notifyScreenshotListeners(int);
26650    method public default void registerTaskFpsCallback(@IntRange(from=0) int, @NonNull java.util.concurrent.Executor, @NonNull android.window.TaskFpsCallback);
26651    method public default void unregisterTaskFpsCallback(@NonNull android.window.TaskFpsCallback);
26652    field public static final int DISPLAY_IME_POLICY_FALLBACK_DISPLAY = 1; // 0x1
26653    field public static final int DISPLAY_IME_POLICY_HIDE = 2; // 0x2
26654    field public static final int DISPLAY_IME_POLICY_LOCAL = 0; // 0x0
26655  }
26656
26657  @FlaggedApi("android.companion.virtualdevice.flags.status_bar_and_insets") public static class WindowManager.InsetsParams {
26658    ctor public WindowManager.InsetsParams(int);
26659    method @Nullable public android.graphics.Insets getInsetsSize();
26660    method public int getType();
26661    method @NonNull public android.view.WindowManager.InsetsParams setInsetsSize(@Nullable android.graphics.Insets);
26662  }
26663
26664  public static class WindowManager.LayoutParams extends android.view.ViewGroup.LayoutParams implements android.os.Parcelable {
26665    method public final long getUserActivityTimeout();
26666    method @FlaggedApi("com.android.hardware.input.override_power_key_behavior_in_focused_window") @RequiresPermission(android.Manifest.permission.OVERRIDE_SYSTEM_KEY_BEHAVIOR_IN_FOCUSED_WINDOW) public boolean isReceivePowerKeyDoublePressEnabled();
26667    method public boolean isSystemApplicationOverlay();
26668    method @FlaggedApi("android.companion.virtualdevice.flags.status_bar_and_insets") public void setInsetsParams(@NonNull java.util.List<android.view.WindowManager.InsetsParams>);
26669    method @FlaggedApi("com.android.hardware.input.override_power_key_behavior_in_focused_window") @RequiresPermission(android.Manifest.permission.OVERRIDE_SYSTEM_KEY_BEHAVIOR_IN_FOCUSED_WINDOW) public void setReceivePowerKeyDoublePressEnabled(boolean);
26670    method @RequiresPermission(android.Manifest.permission.SYSTEM_APPLICATION_OVERLAY) public void setSystemApplicationOverlay(boolean);
26671    method public final void setUserActivityTimeout(long);
26672    field @RequiresPermission(android.Manifest.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS) public static final int SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS = 524288; // 0x80000
26673    field @RequiresPermission(android.Manifest.permission.INTERNAL_SYSTEM_WINDOW) public static final int SYSTEM_FLAG_SHOW_FOR_ALL_USERS = 16; // 0x10
26674  }
26675
26676}
26677
26678package android.view.accessibility {
26679
26680  public abstract class AccessibilityDisplayProxy {
26681    ctor public AccessibilityDisplayProxy(int, @NonNull java.util.concurrent.Executor, @NonNull java.util.List<android.accessibilityservice.AccessibilityServiceInfo>);
26682    method @Nullable public android.view.accessibility.AccessibilityNodeInfo findFocus(int);
26683    method public int getDisplayId();
26684    method @NonNull public final java.util.List<android.accessibilityservice.AccessibilityServiceInfo> getInstalledAndEnabledServices();
26685    method @NonNull public java.util.List<android.view.accessibility.AccessibilityWindowInfo> getWindows();
26686    method public void interrupt();
26687    method public void onAccessibilityEvent(@NonNull android.view.accessibility.AccessibilityEvent);
26688    method public void onProxyConnected();
26689    method public void setAccessibilityFocusAppearance(int, @ColorInt int);
26690    method public void setInstalledAndEnabledServices(@NonNull java.util.List<android.accessibilityservice.AccessibilityServiceInfo>);
26691  }
26692
26693  public final class AccessibilityManager {
26694    method public int getAccessibilityWindowId(@Nullable android.os.IBinder);
26695    method @RequiresPermission(android.Manifest.permission.MANAGE_ACCESSIBILITY) public void performAccessibilityShortcut();
26696    method @RequiresPermission(allOf={android.Manifest.permission.MANAGE_ACCESSIBILITY, android.Manifest.permission.CREATE_VIRTUAL_DEVICE}) public boolean registerDisplayProxy(@NonNull android.view.accessibility.AccessibilityDisplayProxy);
26697    method @RequiresPermission(android.Manifest.permission.MANAGE_ACCESSIBILITY) public void registerSystemAction(@NonNull android.app.RemoteAction, int);
26698    method @RequiresPermission(allOf={android.Manifest.permission.MANAGE_ACCESSIBILITY, android.Manifest.permission.CREATE_VIRTUAL_DEVICE}) public boolean unregisterDisplayProxy(@NonNull android.view.accessibility.AccessibilityDisplayProxy);
26699    method @RequiresPermission(android.Manifest.permission.MANAGE_ACCESSIBILITY) public void unregisterSystemAction(int);
26700  }
26701
26702  public class CaptioningManager {
26703    method @RequiresPermission(android.Manifest.permission.SET_SYSTEM_AUDIO_CAPTION) public final void setSystemAudioCaptioningEnabled(boolean);
26704    method @RequiresPermission(android.Manifest.permission.SET_SYSTEM_AUDIO_CAPTION) public final void setSystemAudioCaptioningUiEnabled(boolean);
26705  }
26706
26707}
26708
26709package android.view.autofill {
26710
26711  public final class AutofillManager {
26712    method public void setAugmentedAutofillWhitelist(@Nullable java.util.Set<java.lang.String>, @Nullable java.util.Set<android.content.ComponentName>);
26713  }
26714
26715}
26716
26717package android.view.contentcapture {
26718
26719  public final class ContentCaptureContext implements android.os.Parcelable {
26720    method @Nullable public android.content.ComponentName getActivityComponent();
26721    method @Nullable public android.app.assist.ActivityId getActivityId();
26722    method public int getDisplayId();
26723    method public int getFlags();
26724    method @Nullable public android.view.contentcapture.ContentCaptureSessionId getParentSessionId();
26725    method public int getTaskId();
26726    method @Nullable public android.os.IBinder getWindowToken();
26727    field public static final int FLAG_DISABLED_BY_APP = 1; // 0x1
26728    field public static final int FLAG_DISABLED_BY_FLAG_SECURE = 2; // 0x2
26729    field public static final int FLAG_RECONNECTED = 4; // 0x4
26730  }
26731
26732  public final class ContentCaptureEvent implements android.os.Parcelable {
26733    method public int describeContents();
26734    method @Nullable public android.graphics.Rect getBounds();
26735    method @Nullable public android.view.contentcapture.ContentCaptureContext getContentCaptureContext();
26736    method public long getEventTime();
26737    method @Nullable public android.view.autofill.AutofillId getId();
26738    method @Nullable public java.util.List<android.view.autofill.AutofillId> getIds();
26739    method @Nullable public android.graphics.Insets getInsets();
26740    method @Nullable public CharSequence getText();
26741    method public int getType();
26742    method @Nullable public android.view.contentcapture.ViewNode getViewNode();
26743    method public void writeToParcel(android.os.Parcel, int);
26744    field @NonNull public static final android.os.Parcelable.Creator<android.view.contentcapture.ContentCaptureEvent> CREATOR;
26745    field public static final int TYPE_CONTEXT_UPDATED = 6; // 0x6
26746    field public static final int TYPE_SESSION_PAUSED = 8; // 0x8
26747    field public static final int TYPE_SESSION_RESUMED = 7; // 0x7
26748    field public static final int TYPE_VIEW_APPEARED = 1; // 0x1
26749    field public static final int TYPE_VIEW_DISAPPEARED = 2; // 0x2
26750    field public static final int TYPE_VIEW_INSETS_CHANGED = 9; // 0x9
26751    field public static final int TYPE_VIEW_TEXT_CHANGED = 3; // 0x3
26752    field public static final int TYPE_VIEW_TREE_APPEARED = 5; // 0x5
26753    field public static final int TYPE_VIEW_TREE_APPEARING = 4; // 0x4
26754    field public static final int TYPE_WINDOW_BOUNDS_CHANGED = 10; // 0xa
26755  }
26756
26757  public final class ContentCaptureManager {
26758    method public boolean isContentCaptureFeatureEnabled();
26759    field public static final int NO_SESSION_ID = 0; // 0x0
26760  }
26761
26762  public final class ViewNode extends android.app.assist.AssistStructure.ViewNode {
26763    method @Nullable public android.view.autofill.AutofillId getParentAutofillId();
26764  }
26765
26766}
26767
26768package android.view.displayhash {
26769
26770  public final class DisplayHash implements android.os.Parcelable {
26771    ctor public DisplayHash(long, @NonNull android.graphics.Rect, @NonNull String, @NonNull byte[], @NonNull byte[]);
26772    method public int describeContents();
26773    method @NonNull public android.graphics.Rect getBoundsInWindow();
26774    method @NonNull public String getHashAlgorithm();
26775    method @NonNull public byte[] getHmac();
26776    method @NonNull public byte[] getImageHash();
26777    method public long getTimeMillis();
26778    method public void writeToParcel(@NonNull android.os.Parcel, int);
26779  }
26780
26781}
26782
26783package android.view.inputmethod {
26784
26785  public final class InputMethodInfo implements android.os.Parcelable {
26786    method @FlaggedApi("android.companion.virtual.flags.vdm_custom_ime") public boolean isVirtualDeviceOnly();
26787  }
26788
26789  public final class InputMethodManager {
26790    method @Nullable @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public android.view.inputmethod.InputMethodInfo getCurrentInputMethodInfoAsUser(@NonNull android.os.UserHandle);
26791  }
26792
26793}
26794
26795package android.view.textclassifier {
26796
26797  public final class TextClassificationManager {
26798    method @FlaggedApi("android.permission.flags.text_classifier_choice_api_enabled") @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_TEXT_CLASSIFIER_BY_TYPE) public android.view.textclassifier.TextClassifier getClassifier(int);
26799  }
26800
26801  public interface TextClassifier {
26802    field @FlaggedApi("android.permission.flags.text_classifier_choice_api_enabled") public static final int CLASSIFIER_TYPE_ANDROID_DEFAULT = 2; // 0x2
26803    field @FlaggedApi("android.permission.flags.text_classifier_choice_api_enabled") public static final int CLASSIFIER_TYPE_DEVICE_DEFAULT = 1; // 0x1
26804    field @FlaggedApi("android.permission.flags.text_classifier_choice_api_enabled") public static final int CLASSIFIER_TYPE_SELF_PROVIDED = 0; // 0x0
26805  }
26806
26807}
26808
26809package android.view.translation {
26810
26811  public final class TranslationCapability implements android.os.Parcelable {
26812    ctor public TranslationCapability(int, @NonNull android.view.translation.TranslationSpec, @NonNull android.view.translation.TranslationSpec, boolean, int);
26813  }
26814
26815  public final class TranslationContext implements android.os.Parcelable {
26816    method @Nullable public android.app.assist.ActivityId getActivityId();
26817  }
26818
26819  public final class UiTranslationManager {
26820    method @RequiresPermission(android.Manifest.permission.MANAGE_UI_TRANSLATION) public void finishTranslation(@NonNull android.app.assist.ActivityId);
26821    method @RequiresPermission(android.Manifest.permission.MANAGE_UI_TRANSLATION) public void pauseTranslation(@NonNull android.app.assist.ActivityId);
26822    method @RequiresPermission(android.Manifest.permission.MANAGE_UI_TRANSLATION) public void resumeTranslation(@NonNull android.app.assist.ActivityId);
26823    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);
26824  }
26825
26826  public final class UiTranslationSpec implements android.os.Parcelable {
26827    method public int describeContents();
26828    method public boolean shouldPadContentForCompat();
26829    method public void writeToParcel(@NonNull android.os.Parcel, int);
26830    field @NonNull public static final android.os.Parcelable.Creator<android.view.translation.UiTranslationSpec> CREATOR;
26831  }
26832
26833  public static final class UiTranslationSpec.Builder {
26834    ctor public UiTranslationSpec.Builder();
26835    method @NonNull public android.view.translation.UiTranslationSpec build();
26836    method @NonNull public android.view.translation.UiTranslationSpec.Builder setShouldPadContentForCompat(boolean);
26837  }
26838
26839}
26840
26841package android.webkit {
26842
26843  public abstract class CookieManager {
26844    method protected abstract boolean allowFileSchemeCookiesImpl();
26845    method public String getCookie(android.net.WebAddress);
26846    method public abstract String getCookie(String, boolean);
26847    method public abstract boolean hasCookies(boolean);
26848    method protected abstract void setAcceptFileSchemeCookiesImpl(boolean);
26849  }
26850
26851  public class FindActionModeCallback implements android.view.ActionMode.Callback android.text.TextWatcher android.view.View.OnClickListener android.webkit.WebView.FindListener {
26852    ctor public FindActionModeCallback(android.content.Context);
26853    method public void afterTextChanged(android.text.Editable);
26854    method public void beforeTextChanged(CharSequence, int, int, int);
26855    method public void findAll();
26856    method public void finish();
26857    method public int getActionModeGlobalBottom();
26858    method public boolean onActionItemClicked(android.view.ActionMode, android.view.MenuItem);
26859    method public void onClick(android.view.View);
26860    method public boolean onCreateActionMode(android.view.ActionMode, android.view.Menu);
26861    method public void onDestroyActionMode(android.view.ActionMode);
26862    method public void onFindResultReceived(int, int, boolean);
26863    method public boolean onPrepareActionMode(android.view.ActionMode, android.view.Menu);
26864    method public void onTextChanged(CharSequence, int, int, int);
26865    method public void setText(String);
26866    method public void setWebView(@NonNull android.webkit.WebView);
26867    method public void showSoftInput();
26868    method public void updateMatchCount(int, int, boolean);
26869  }
26870
26871  public static class FindActionModeCallback.NoAction implements android.view.ActionMode.Callback {
26872    ctor public FindActionModeCallback.NoAction();
26873    method public boolean onActionItemClicked(android.view.ActionMode, android.view.MenuItem);
26874    method public boolean onCreateActionMode(android.view.ActionMode, android.view.Menu);
26875    method public void onDestroyActionMode(android.view.ActionMode);
26876    method public boolean onPrepareActionMode(android.view.ActionMode, android.view.Menu);
26877  }
26878
26879  public class GeolocationPermissions {
26880    ctor public GeolocationPermissions();
26881  }
26882
26883  public class HttpAuthHandler extends android.os.Handler {
26884    ctor public HttpAuthHandler();
26885  }
26886
26887  public class JsDialogHelper {
26888    ctor public JsDialogHelper(android.webkit.JsPromptResult, android.os.Message);
26889    ctor public JsDialogHelper(android.webkit.JsPromptResult, int, String, String, String);
26890    method public boolean invokeCallback(android.webkit.WebChromeClient, android.webkit.WebView);
26891    method public void showDialog(android.content.Context);
26892    field public static final int ALERT = 1; // 0x1
26893    field public static final int CONFIRM = 2; // 0x2
26894    field public static final int PROMPT = 3; // 0x3
26895    field public static final int UNLOAD = 4; // 0x4
26896  }
26897
26898  public class JsPromptResult extends android.webkit.JsResult {
26899    ctor public JsPromptResult(android.webkit.JsResult.ResultReceiver);
26900    method public String getStringResult();
26901  }
26902
26903  public class JsResult {
26904    ctor public JsResult(android.webkit.JsResult.ResultReceiver);
26905    method public final boolean getResult();
26906  }
26907
26908  public static interface JsResult.ResultReceiver {
26909    method public void onJsResultComplete(android.webkit.JsResult);
26910  }
26911
26912  public interface PacProcessor {
26913    method @NonNull public static android.webkit.PacProcessor createInstance();
26914    method @Nullable public String findProxyForUrl(@NonNull String);
26915    method @NonNull public static android.webkit.PacProcessor getInstance();
26916    method @Nullable public default android.net.Network getNetwork();
26917    method public default void release();
26918    method public default void setNetwork(@Nullable android.net.Network);
26919    method public boolean setProxyScript(@NonNull String);
26920  }
26921
26922  public class SslErrorHandler extends android.os.Handler {
26923    ctor public SslErrorHandler();
26924  }
26925
26926  @Deprecated public abstract class TokenBindingService {
26927    ctor @Deprecated public TokenBindingService();
26928  }
26929
26930  public class WebChromeClient {
26931    method @Deprecated public void openFileChooser(android.webkit.ValueCallback<android.net.Uri>, String, String);
26932  }
26933
26934  public abstract static class WebChromeClient.FileChooserParams {
26935    field @FlaggedApi("android.webkit.file_system_access") public static final long ENABLE_FILE_SYSTEM_ACCESS = 364980165L; // 0x15c127c5L
26936  }
26937
26938  public abstract class WebHistoryItem implements java.lang.Cloneable {
26939    method @Deprecated public abstract int getId();
26940  }
26941
26942  @Deprecated public abstract class WebIconDatabase {
26943    method @Deprecated public abstract void bulkRequestIconForPageUrl(android.content.ContentResolver, String, android.webkit.WebIconDatabase.IconListener);
26944  }
26945
26946  public abstract class WebMessagePort {
26947    ctor public WebMessagePort();
26948  }
26949
26950  public abstract class WebResourceError {
26951    ctor public WebResourceError();
26952  }
26953
26954  public class WebResourceResponse {
26955    ctor public WebResourceResponse(boolean, String, String, int, String, java.util.Map<java.lang.String,java.lang.String>, java.io.InputStream);
26956  }
26957
26958  public abstract class WebSettings {
26959    method public abstract boolean getAcceptThirdPartyCookies();
26960    method @Deprecated public abstract boolean getNavDump();
26961    method @Deprecated public abstract boolean getPluginsEnabled();
26962    method @Deprecated public abstract boolean getUseWebViewBackgroundForOverscrollBackground();
26963    method @Deprecated public abstract int getUserAgent();
26964    method public abstract boolean getVideoOverlayForEmbeddedEncryptedVideoEnabled();
26965    method public abstract void setAcceptThirdPartyCookies(boolean);
26966    method @Deprecated public abstract void setNavDump(boolean);
26967    method @Deprecated public abstract void setPluginsEnabled(boolean);
26968    method @Deprecated public abstract void setUseWebViewBackgroundForOverscrollBackground(boolean);
26969    method @Deprecated public abstract void setUserAgent(int);
26970    method public abstract void setVideoOverlayForEmbeddedEncryptedVideoEnabled(boolean);
26971    field public static final long ENABLE_SIMPLIFIED_DARK_MODE = 214741472L; // 0xcccb1e0L
26972    field @FlaggedApi("android.webkit.user_agent_reduction") public static final long ENABLE_USER_AGENT_REDUCTION = 371034303L; // 0x161d88bfL
26973  }
26974
26975  public class WebStorage {
26976    ctor public WebStorage();
26977  }
26978
26979  public static class WebStorage.Origin {
26980    ctor protected WebStorage.Origin(String, long, long);
26981  }
26982
26983  public class WebView extends android.widget.AbsoluteLayout implements android.view.ViewGroup.OnHierarchyChangeListener android.view.ViewTreeObserver.OnGlobalFocusChangeListener {
26984    method public android.webkit.WebViewProvider getWebViewProvider();
26985  }
26986
26987  public static class WebView.HitTestResult {
26988    ctor public WebView.HitTestResult();
26989    method public void setExtra(String);
26990    method public void setType(int);
26991  }
26992
26993  public class WebView.PrivateAccess {
26994    ctor public WebView.PrivateAccess();
26995    method public void awakenScrollBars(int);
26996    method public void awakenScrollBars(int, boolean);
26997    method public float getHorizontalScrollFactor();
26998    method public int getHorizontalScrollbarHeight();
26999    method public float getVerticalScrollFactor();
27000    method public void onScrollChanged(int, int, int, int);
27001    method public void overScrollBy(int, int, int, int, int, int, int, int, boolean);
27002    method public void setMeasuredDimension(int, int);
27003    method public void setScrollXRaw(int);
27004    method public void setScrollYRaw(int);
27005    method public void super_computeScroll();
27006    method public boolean super_dispatchKeyEvent(android.view.KeyEvent);
27007    method public int super_getScrollBarStyle();
27008    method @Nullable public android.view.WindowInsets super_onApplyWindowInsets(@Nullable android.view.WindowInsets);
27009    method public void super_onDrawVerticalScrollBar(android.graphics.Canvas, android.graphics.drawable.Drawable, int, int, int, int);
27010    method public boolean super_onGenericMotionEvent(android.view.MotionEvent);
27011    method public boolean super_onHoverEvent(android.view.MotionEvent);
27012    method public boolean super_performAccessibilityAction(int, android.os.Bundle);
27013    method public boolean super_performLongClick();
27014    method public boolean super_requestFocus(int, android.graphics.Rect);
27015    method public void super_scrollTo(int, int);
27016    method public boolean super_setFrame(int, int, int, int);
27017    method public void super_setLayoutParams(android.view.ViewGroup.LayoutParams);
27018    method public void super_startActivityForResult(android.content.Intent, int);
27019  }
27020
27021  public final class WebViewDelegate {
27022    method public void addWebViewAssetPath(android.content.Context);
27023    method @Deprecated public void callDrawGlFunction(android.graphics.Canvas, long);
27024    method @Deprecated public void callDrawGlFunction(@NonNull android.graphics.Canvas, long, @Nullable Runnable);
27025    method @Deprecated public boolean canInvokeDrawGlFunctor(android.view.View);
27026    method @Deprecated public void detachDrawGlFunctor(android.view.View, long);
27027    method public void drawWebViewFunctor(@NonNull android.graphics.Canvas, int);
27028    method public android.app.Application getApplication();
27029    method public String getDataDirectorySuffix();
27030    method public String getErrorString(android.content.Context, int);
27031    method public int getPackageId(android.content.res.Resources, String);
27032    method @NonNull public android.webkit.WebViewFactory.StartupTimestamps getStartupTimestamps();
27033    method @Deprecated public void invokeDrawGlFunctor(android.view.View, long, boolean);
27034    method public boolean isMultiProcessEnabled();
27035    method public boolean isTraceTagEnabled();
27036    method public void setOnTraceEnabledChangeListener(android.webkit.WebViewDelegate.OnTraceEnabledChangeListener);
27037  }
27038
27039  public static interface WebViewDelegate.OnTraceEnabledChangeListener {
27040    method public void onTraceEnabledChange(boolean);
27041  }
27042
27043  public final class WebViewFactory {
27044    ctor public WebViewFactory();
27045    method public static android.content.pm.PackageInfo getLoadedPackageInfo();
27046    method public static int loadWebViewNativeLibraryFromPackage(String, ClassLoader);
27047    method public static void prepareWebViewInZygote();
27048    field public static final int LIBLOAD_ADDRESS_SPACE_NOT_RESERVED = 2; // 0x2
27049    field public static final int LIBLOAD_FAILED_JNI_CALL = 7; // 0x7
27050    field public static final int LIBLOAD_FAILED_LISTING_WEBVIEW_PACKAGES = 4; // 0x4
27051    field public static final int LIBLOAD_FAILED_TO_FIND_NAMESPACE = 10; // 0xa
27052    field public static final int LIBLOAD_FAILED_TO_LOAD_LIBRARY = 6; // 0x6
27053    field public static final int LIBLOAD_FAILED_TO_OPEN_RELRO_FILE = 5; // 0x5
27054    field public static final int LIBLOAD_FAILED_WAITING_FOR_RELRO = 3; // 0x3
27055    field public static final int LIBLOAD_FAILED_WAITING_FOR_WEBVIEW_REASON_UNKNOWN = 8; // 0x8
27056    field public static final int LIBLOAD_SUCCESS = 0; // 0x0
27057    field public static final int LIBLOAD_WRONG_PACKAGE_NAME = 1; // 0x1
27058  }
27059
27060  public static class WebViewFactory.StartupTimestamps {
27061    method public long getAddAssetsEnd();
27062    method public long getAddAssetsStart();
27063    method public long getCreateContextEnd();
27064    method public long getCreateContextStart();
27065    method public long getGetClassLoaderEnd();
27066    method public long getGetClassLoaderStart();
27067    method public long getNativeLoadEnd();
27068    method public long getNativeLoadStart();
27069    method public long getProviderClassForNameEnd();
27070    method public long getProviderClassForNameStart();
27071    method public long getWebViewLoadStart();
27072  }
27073
27074  public interface WebViewFactoryProvider {
27075    method @NonNull public default android.webkit.PacProcessor createPacProcessor();
27076    method public android.webkit.WebViewProvider createWebView(android.webkit.WebView, android.webkit.WebView.PrivateAccess);
27077    method public android.webkit.CookieManager getCookieManager();
27078    method public android.webkit.GeolocationPermissions getGeolocationPermissions();
27079    method @NonNull public default android.webkit.PacProcessor getPacProcessor();
27080    method public android.webkit.ServiceWorkerController getServiceWorkerController();
27081    method public android.webkit.WebViewFactoryProvider.Statics getStatics();
27082    method @Deprecated public android.webkit.TokenBindingService getTokenBindingService();
27083    method public android.webkit.TracingController getTracingController();
27084    method public android.webkit.WebIconDatabase getWebIconDatabase();
27085    method public android.webkit.WebStorage getWebStorage();
27086    method public ClassLoader getWebViewClassLoader();
27087    method public android.webkit.WebViewDatabase getWebViewDatabase(android.content.Context);
27088  }
27089
27090  public static interface WebViewFactoryProvider.Statics {
27091    method public void clearClientCertPreferences(Runnable);
27092    method public void enableSlowWholeDocumentDraw();
27093    method public String findAddress(String);
27094    method public void freeMemoryForTests();
27095    method public String getDefaultUserAgent(android.content.Context);
27096    method @NonNull public android.net.Uri getSafeBrowsingPrivacyPolicyUrl();
27097    method public void initSafeBrowsing(android.content.Context, android.webkit.ValueCallback<java.lang.Boolean>);
27098    method public android.net.Uri[] parseFileChooserResult(int, android.content.Intent);
27099    method public void setSafeBrowsingWhitelist(java.util.List<java.lang.String>, android.webkit.ValueCallback<java.lang.Boolean>);
27100    method public void setWebContentsDebuggingEnabled(boolean);
27101  }
27102
27103  public interface WebViewProvider {
27104    method public void addJavascriptInterface(Object, String);
27105    method public boolean canGoBack();
27106    method public boolean canGoBackOrForward(int);
27107    method public boolean canGoForward();
27108    method public boolean canZoomIn();
27109    method public boolean canZoomOut();
27110    method public android.graphics.Picture capturePicture();
27111    method public void clearCache(boolean);
27112    method public void clearFormData();
27113    method public void clearHistory();
27114    method public void clearMatches();
27115    method public void clearSslPreferences();
27116    method public void clearView();
27117    method public android.webkit.WebBackForwardList copyBackForwardList();
27118    method public android.print.PrintDocumentAdapter createPrintDocumentAdapter(String);
27119    method public android.webkit.WebMessagePort[] createWebMessageChannel();
27120    method public void destroy();
27121    method public void documentHasImages(android.os.Message);
27122    method public void dumpViewHierarchyWithProperties(java.io.BufferedWriter, int);
27123    method public void evaluateJavaScript(String, android.webkit.ValueCallback<java.lang.String>);
27124    method public int findAll(String);
27125    method public void findAllAsync(String);
27126    method public android.view.View findHierarchyView(String, int);
27127    method public void findNext(boolean);
27128    method public void flingScroll(int, int);
27129    method public void freeMemory();
27130    method public android.net.http.SslCertificate getCertificate();
27131    method public int getContentHeight();
27132    method public int getContentWidth();
27133    method public android.graphics.Bitmap getFavicon();
27134    method public android.webkit.WebView.HitTestResult getHitTestResult();
27135    method public String[] getHttpAuthUsernamePassword(String, String);
27136    method public String getOriginalUrl();
27137    method public int getProgress();
27138    method public boolean getRendererPriorityWaivedWhenNotVisible();
27139    method public int getRendererRequestedPriority();
27140    method public float getScale();
27141    method public android.webkit.WebViewProvider.ScrollDelegate getScrollDelegate();
27142    method public android.webkit.WebSettings getSettings();
27143    method @NonNull public default android.view.textclassifier.TextClassifier getTextClassifier();
27144    method public String getTitle();
27145    method public String getTouchIconUrl();
27146    method public String getUrl();
27147    method public android.webkit.WebViewProvider.ViewDelegate getViewDelegate();
27148    method public int getVisibleTitleHeight();
27149    method public android.webkit.WebChromeClient getWebChromeClient();
27150    method public android.webkit.WebViewClient getWebViewClient();
27151    method @Nullable public android.webkit.WebViewRenderProcess getWebViewRenderProcess();
27152    method @Nullable public android.webkit.WebViewRenderProcessClient getWebViewRenderProcessClient();
27153    method public android.view.View getZoomControls();
27154    method public void goBack();
27155    method public void goBackOrForward(int);
27156    method public void goForward();
27157    method public void init(java.util.Map<java.lang.String,java.lang.Object>, boolean);
27158    method public void insertVisualStateCallback(long, android.webkit.WebView.VisualStateCallback);
27159    method public void invokeZoomPicker();
27160    method public boolean isPaused();
27161    method public boolean isPrivateBrowsingEnabled();
27162    method public void loadData(String, String, String);
27163    method public void loadDataWithBaseURL(String, String, String, String, String);
27164    method public void loadUrl(String);
27165    method public void loadUrl(String, java.util.Map<java.lang.String,java.lang.String>);
27166    method public void notifyFindDialogDismissed();
27167    method public void onPause();
27168    method public void onResume();
27169    method public boolean overlayHorizontalScrollbar();
27170    method public boolean overlayVerticalScrollbar();
27171    method public boolean pageDown(boolean);
27172    method public boolean pageUp(boolean);
27173    method public void pauseTimers();
27174    method public void postMessageToMainFrame(android.webkit.WebMessage, android.net.Uri);
27175    method public void postUrl(String, byte[]);
27176    method public void reload();
27177    method public void removeJavascriptInterface(String);
27178    method public void requestFocusNodeHref(android.os.Message);
27179    method public void requestImageRef(android.os.Message);
27180    method public boolean restorePicture(android.os.Bundle, java.io.File);
27181    method public android.webkit.WebBackForwardList restoreState(android.os.Bundle);
27182    method public void resumeTimers();
27183    method public void savePassword(String, String, String);
27184    method public boolean savePicture(android.os.Bundle, java.io.File);
27185    method public android.webkit.WebBackForwardList saveState(android.os.Bundle);
27186    method public void saveWebArchive(String);
27187    method public void saveWebArchive(String, boolean, android.webkit.ValueCallback<java.lang.String>);
27188    method public void setCertificate(android.net.http.SslCertificate);
27189    method public void setDownloadListener(android.webkit.DownloadListener);
27190    method public void setFindListener(android.webkit.WebView.FindListener);
27191    method public void setHorizontalScrollbarOverlay(boolean);
27192    method public void setHttpAuthUsernamePassword(String, String, String, String);
27193    method public void setInitialScale(int);
27194    method public void setMapTrackballToArrowKeys(boolean);
27195    method public void setNetworkAvailable(boolean);
27196    method public void setPictureListener(android.webkit.WebView.PictureListener);
27197    method public void setRendererPriorityPolicy(int, boolean);
27198    method public default void setTextClassifier(@Nullable android.view.textclassifier.TextClassifier);
27199    method public void setVerticalScrollbarOverlay(boolean);
27200    method public void setWebChromeClient(android.webkit.WebChromeClient);
27201    method public void setWebViewClient(android.webkit.WebViewClient);
27202    method public void setWebViewRenderProcessClient(@Nullable java.util.concurrent.Executor, @Nullable android.webkit.WebViewRenderProcessClient);
27203    method public boolean showFindDialog(String, boolean);
27204    method public void stopLoading();
27205    method public boolean zoomBy(float);
27206    method public boolean zoomIn();
27207    method public boolean zoomOut();
27208  }
27209
27210  public static interface WebViewProvider.ScrollDelegate {
27211    method public int computeHorizontalScrollOffset();
27212    method public int computeHorizontalScrollRange();
27213    method public void computeScroll();
27214    method public int computeVerticalScrollExtent();
27215    method public int computeVerticalScrollOffset();
27216    method public int computeVerticalScrollRange();
27217  }
27218
27219  public static interface WebViewProvider.ViewDelegate {
27220    method public default void autofill(android.util.SparseArray<android.view.autofill.AutofillValue>);
27221    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>);
27222    method public boolean dispatchKeyEvent(android.view.KeyEvent);
27223    method public android.view.View findFocus(android.view.View);
27224    method public android.view.accessibility.AccessibilityNodeProvider getAccessibilityNodeProvider();
27225    method public android.os.Handler getHandler(android.os.Handler);
27226    method public default boolean isVisibleToUserForAutofill(int);
27227    method public void onActivityResult(int, int, android.content.Intent);
27228    method @Nullable public default android.view.WindowInsets onApplyWindowInsets(@Nullable android.view.WindowInsets);
27229    method public void onAttachedToWindow();
27230    method public default boolean onCheckIsTextEditor();
27231    method public void onConfigurationChanged(android.content.res.Configuration);
27232    method public android.view.inputmethod.InputConnection onCreateInputConnection(android.view.inputmethod.EditorInfo);
27233    method public default void onCreateVirtualViewTranslationRequests(@NonNull long[], @NonNull int[], @NonNull java.util.function.Consumer<android.view.translation.ViewTranslationRequest>);
27234    method public void onDetachedFromWindow();
27235    method public boolean onDragEvent(android.view.DragEvent);
27236    method public void onDraw(android.graphics.Canvas);
27237    method public void onDrawVerticalScrollBar(android.graphics.Canvas, android.graphics.drawable.Drawable, int, int, int, int);
27238    method public void onFinishTemporaryDetach();
27239    method public void onFocusChanged(boolean, int, android.graphics.Rect);
27240    method public boolean onGenericMotionEvent(android.view.MotionEvent);
27241    method public boolean onHoverEvent(android.view.MotionEvent);
27242    method public void onInitializeAccessibilityEvent(android.view.accessibility.AccessibilityEvent);
27243    method public void onInitializeAccessibilityNodeInfo(android.view.accessibility.AccessibilityNodeInfo);
27244    method public boolean onKeyDown(int, android.view.KeyEvent);
27245    method public boolean onKeyMultiple(int, int, android.view.KeyEvent);
27246    method public boolean onKeyUp(int, android.view.KeyEvent);
27247    method public void onMeasure(int, int);
27248    method public default void onMovedToDisplay(int, android.content.res.Configuration);
27249    method public void onOverScrolled(int, int, boolean, boolean);
27250    method public default void onProvideAutofillVirtualStructure(android.view.ViewStructure, int);
27251    method public default void onProvideContentCaptureStructure(@NonNull android.view.ViewStructure, int);
27252    method public void onProvideVirtualStructure(android.view.ViewStructure);
27253    method public void onScrollChanged(int, int, int, int);
27254    method public void onSizeChanged(int, int, int, int);
27255    method public void onStartTemporaryDetach();
27256    method public boolean onTouchEvent(android.view.MotionEvent);
27257    method public boolean onTrackballEvent(android.view.MotionEvent);
27258    method public default void onVirtualViewTranslationResponses(@NonNull android.util.LongSparseArray<android.view.translation.ViewTranslationResponse>);
27259    method public void onVisibilityChanged(android.view.View, int);
27260    method public void onWindowFocusChanged(boolean);
27261    method public void onWindowVisibilityChanged(int);
27262    method public boolean performAccessibilityAction(int, android.os.Bundle);
27263    method public boolean performLongClick();
27264    method public void preDispatchDraw(android.graphics.Canvas);
27265    method public boolean requestChildRectangleOnScreen(android.view.View, android.graphics.Rect, boolean);
27266    method public boolean requestFocus(int, android.graphics.Rect);
27267    method public void setBackgroundColor(int);
27268    method public boolean setFrame(int, int, int, int);
27269    method public void setLayerType(int, android.graphics.Paint);
27270    method public void setLayoutParams(android.view.ViewGroup.LayoutParams);
27271    method public void setOverScrollMode(int);
27272    method public void setScrollBarStyle(int);
27273    method public boolean shouldDelayChildPressedState();
27274  }
27275
27276  public final class WebViewProviderInfo implements android.os.Parcelable {
27277    ctor public WebViewProviderInfo(String, String, boolean, boolean, String[]);
27278    method public int describeContents();
27279    method public void writeToParcel(android.os.Parcel, int);
27280    field @NonNull public static final android.os.Parcelable.Creator<android.webkit.WebViewProviderInfo> CREATOR;
27281    field public final boolean availableByDefault;
27282    field public final String description;
27283    field public final boolean isFallback;
27284    field public final String packageName;
27285    field public final android.content.pm.Signature[] signatures;
27286  }
27287
27288  @Deprecated @FlaggedApi("android.webkit.update_service_ipc_wrapper") public final class WebViewUpdateService {
27289    method @Deprecated public static android.webkit.WebViewProviderInfo[] getAllWebViewPackages();
27290    method @Deprecated public static String getCurrentWebViewPackageName();
27291    method @Deprecated @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public static android.webkit.WebViewProviderInfo[] getValidWebViewPackages();
27292  }
27293
27294}
27295
27296package android.window {
27297
27298  public abstract class TaskFpsCallback {
27299    ctor public TaskFpsCallback();
27300    method public abstract void onFpsReported(float);
27301  }
27302
27303}
27304
27305