• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Signature format: 2.0
2package android {
3
4  public static final class Manifest.permission {
5    field public static final String ACCESS_AMBIENT_CONTEXT_EVENT = "android.permission.ACCESS_AMBIENT_CONTEXT_EVENT";
6    field public static final String ACCESS_AMBIENT_LIGHT_STATS = "android.permission.ACCESS_AMBIENT_LIGHT_STATS";
7    field public static final String ACCESS_BROADCAST_RADIO = "android.permission.ACCESS_BROADCAST_RADIO";
8    field public static final String ACCESS_BROADCAST_RESPONSE_STATS = "android.permission.ACCESS_BROADCAST_RESPONSE_STATS";
9    field public static final String ACCESS_CACHE_FILESYSTEM = "android.permission.ACCESS_CACHE_FILESYSTEM";
10    field public static final String ACCESS_CONTEXTUAL_SEARCH = "android.permission.ACCESS_CONTEXTUAL_SEARCH";
11    field public static final String ACCESS_CONTEXT_HUB = "android.permission.ACCESS_CONTEXT_HUB";
12    field public static final String ACCESS_DRM_CERTIFICATES = "android.permission.ACCESS_DRM_CERTIFICATES";
13    field @Deprecated public static final String ACCESS_FM_RADIO = "android.permission.ACCESS_FM_RADIO";
14    field public static final String ACCESS_FPS_COUNTER = "android.permission.ACCESS_FPS_COUNTER";
15    field public static final String ACCESS_HIDDEN_PROFILES_FULL = "android.permission.ACCESS_HIDDEN_PROFILES_FULL";
16    field public static final String ACCESS_INSTANT_APPS = "android.permission.ACCESS_INSTANT_APPS";
17    field public static final String ACCESS_LOCUS_ID_USAGE_STATS = "android.permission.ACCESS_LOCUS_ID_USAGE_STATS";
18    field public static final String ACCESS_MOCK_LOCATION = "android.permission.ACCESS_MOCK_LOCATION";
19    field public static final String ACCESS_MTP = "android.permission.ACCESS_MTP";
20    field public static final String ACCESS_NETWORK_CONDITIONS = "android.permission.ACCESS_NETWORK_CONDITIONS";
21    field public static final String ACCESS_NOTIFICATIONS = "android.permission.ACCESS_NOTIFICATIONS";
22    field public static final String ACCESS_PDB_STATE = "android.permission.ACCESS_PDB_STATE";
23    field public static final String ACCESS_RCS_USER_CAPABILITY_EXCHANGE = "android.permission.ACCESS_RCS_USER_CAPABILITY_EXCHANGE";
24    field public static final String ACCESS_SHARED_LIBRARIES = "android.permission.ACCESS_SHARED_LIBRARIES";
25    field public static final String ACCESS_SHORTCUTS = "android.permission.ACCESS_SHORTCUTS";
26    field public static final String ACCESS_SMARTSPACE = "android.permission.ACCESS_SMARTSPACE";
27    field public static final String ACCESS_SURFACE_FLINGER = "android.permission.ACCESS_SURFACE_FLINGER";
28    field public static final String ACCESS_TEXT_CLASSIFIER_BY_TYPE = "android.permission.ACCESS_TEXT_CLASSIFIER_BY_TYPE";
29    field public static final String ACCESS_TUNED_INFO = "android.permission.ACCESS_TUNED_INFO";
30    field public static final String ACCESS_TV_DESCRAMBLER = "android.permission.ACCESS_TV_DESCRAMBLER";
31    field public static final String ACCESS_TV_SHARED_FILTER = "android.permission.ACCESS_TV_SHARED_FILTER";
32    field public static final String ACCESS_TV_TUNER = "android.permission.ACCESS_TV_TUNER";
33    field public static final String ACCESS_ULTRASOUND = "android.permission.ACCESS_ULTRASOUND";
34    field public static final String ACCESS_VIBRATOR_STATE = "android.permission.ACCESS_VIBRATOR_STATE";
35    field public static final String ACTIVITY_EMBEDDING = "android.permission.ACTIVITY_EMBEDDING";
36    field public static final String ADD_ALWAYS_UNLOCKED_DISPLAY = "android.permission.ADD_ALWAYS_UNLOCKED_DISPLAY";
37    field public static final String ADD_TRUSTED_DISPLAY = "android.permission.ADD_TRUSTED_DISPLAY";
38    field public static final String ADJUST_RUNTIME_PERMISSIONS_POLICY = "android.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY";
39    field public static final String ALLOCATE_AGGRESSIVE = "android.permission.ALLOCATE_AGGRESSIVE";
40    field public static final String ALLOW_ANY_CODEC_FOR_PLAYBACK = "android.permission.ALLOW_ANY_CODEC_FOR_PLAYBACK";
41    field public static final String ALLOW_PLACE_IN_MULTI_PANE_SETTINGS = "android.permission.ALLOW_PLACE_IN_MULTI_PANE_SETTINGS";
42    field public static final String ALLOW_SLIPPERY_TOUCHES = "android.permission.ALLOW_SLIPPERY_TOUCHES";
43    field public static final String ALWAYS_UPDATE_WALLPAPER = "android.permission.ALWAYS_UPDATE_WALLPAPER";
44    field public static final String AMBIENT_WALLPAPER = "android.permission.AMBIENT_WALLPAPER";
45    field public static final String APPROVE_INCIDENT_REPORTS = "android.permission.APPROVE_INCIDENT_REPORTS";
46    field public static final String ASSOCIATE_COMPANION_DEVICES = "android.permission.ASSOCIATE_COMPANION_DEVICES";
47    field public static final String BACKGROUND_CAMERA = "android.permission.BACKGROUND_CAMERA";
48    field public static final String BACKUP = "android.permission.BACKUP";
49    field public static final String BACKUP_HEALTH_CONNECT_DATA_AND_SETTINGS = "android.permission.BACKUP_HEALTH_CONNECT_DATA_AND_SETTINGS";
50    field public static final String BATTERY_PREDICTION = "android.permission.BATTERY_PREDICTION";
51    field public static final String BIND_AMBIENT_CONTEXT_DETECTION_SERVICE = "android.permission.BIND_AMBIENT_CONTEXT_DETECTION_SERVICE";
52    field public static final String BIND_ATTENTION_SERVICE = "android.permission.BIND_ATTENTION_SERVICE";
53    field public static final String BIND_AUGMENTED_AUTOFILL_SERVICE = "android.permission.BIND_AUGMENTED_AUTOFILL_SERVICE";
54    field public static final String BIND_CALL_DIAGNOSTIC_SERVICE = "android.permission.BIND_CALL_DIAGNOSTIC_SERVICE";
55    field public static final String BIND_CALL_STREAMING_SERVICE = "android.permission.BIND_CALL_STREAMING_SERVICE";
56    field public static final String BIND_CELL_BROADCAST_SERVICE = "android.permission.BIND_CELL_BROADCAST_SERVICE";
57    field @Deprecated public static final String BIND_CONNECTION_SERVICE = "android.permission.BIND_CONNECTION_SERVICE";
58    field public static final String BIND_CONTENT_CAPTURE_SERVICE = "android.permission.BIND_CONTENT_CAPTURE_SERVICE";
59    field public static final String BIND_CONTENT_SUGGESTIONS_SERVICE = "android.permission.BIND_CONTENT_SUGGESTIONS_SERVICE";
60    field public static final String BIND_DEPENDENCY_INSTALLER = "android.permission.BIND_DEPENDENCY_INSTALLER";
61    field public static final String BIND_DIRECTORY_SEARCH = "android.permission.BIND_DIRECTORY_SEARCH";
62    field public static final String BIND_DISPLAY_HASHING_SERVICE = "android.permission.BIND_DISPLAY_HASHING_SERVICE";
63    field public static final String BIND_DOMAIN_SELECTION_SERVICE = "android.permission.BIND_DOMAIN_SELECTION_SERVICE";
64    field public static final String BIND_DOMAIN_VERIFICATION_AGENT = "android.permission.BIND_DOMAIN_VERIFICATION_AGENT";
65    field public static final String BIND_EUICC_SERVICE = "android.permission.BIND_EUICC_SERVICE";
66    field public static final String BIND_EXPLICIT_HEALTH_CHECK_SERVICE = "android.permission.BIND_EXPLICIT_HEALTH_CHECK_SERVICE";
67    field public static final String BIND_EXTERNAL_STORAGE_SERVICE = "android.permission.BIND_EXTERNAL_STORAGE_SERVICE";
68    field public static final String BIND_FIELD_CLASSIFICATION_SERVICE = "android.permission.BIND_FIELD_CLASSIFICATION_SERVICE";
69    field public static final String BIND_GBA_SERVICE = "android.permission.BIND_GBA_SERVICE";
70    field public static final String BIND_HOTWORD_DETECTION_SERVICE = "android.permission.BIND_HOTWORD_DETECTION_SERVICE";
71    field public static final String BIND_IMS_SERVICE = "android.permission.BIND_IMS_SERVICE";
72    field public static final String BIND_INTRUSION_DETECTION_EVENT_TRANSPORT_SERVICE = "android.permission.BIND_INTRUSION_DETECTION_EVENT_TRANSPORT_SERVICE";
73    field public static final String BIND_KEYGUARD_APPWIDGET = "android.permission.BIND_KEYGUARD_APPWIDGET";
74    field public static final String BIND_MUSIC_RECOGNITION_SERVICE = "android.permission.BIND_MUSIC_RECOGNITION_SERVICE";
75    field public static final String BIND_NETWORK_RECOMMENDATION_SERVICE = "android.permission.BIND_NETWORK_RECOMMENDATION_SERVICE";
76    field public static final String BIND_NOTIFICATION_ASSISTANT_SERVICE = "android.permission.BIND_NOTIFICATION_ASSISTANT_SERVICE";
77    field public static final String BIND_ON_DEVICE_INTELLIGENCE_SERVICE = "android.permission.BIND_ON_DEVICE_INTELLIGENCE_SERVICE";
78    field public static final String BIND_ON_DEVICE_SANDBOXED_INFERENCE_SERVICE = "android.permission.BIND_ON_DEVICE_SANDBOXED_INFERENCE_SERVICE";
79    field public static final String BIND_PHONE_ACCOUNT_SUGGESTION_SERVICE = "android.permission.BIND_PHONE_ACCOUNT_SUGGESTION_SERVICE";
80    field public static final String BIND_POPULATION_DENSITY_PROVIDER_SERVICE = "android.permission.BIND_POPULATION_DENSITY_PROVIDER_SERVICE";
81    field public static final String BIND_PRINT_RECOMMENDATION_SERVICE = "android.permission.BIND_PRINT_RECOMMENDATION_SERVICE";
82    field public static final String BIND_REMOTE_LOCKSCREEN_VALIDATION_SERVICE = "android.permission.BIND_REMOTE_LOCKSCREEN_VALIDATION_SERVICE";
83    field public static final String BIND_RESOLVER_RANKER_SERVICE = "android.permission.BIND_RESOLVER_RANKER_SERVICE";
84    field public static final String BIND_RESUME_ON_REBOOT_SERVICE = "android.permission.BIND_RESUME_ON_REBOOT_SERVICE";
85    field public static final String BIND_ROTATION_RESOLVER_SERVICE = "android.permission.BIND_ROTATION_RESOLVER_SERVICE";
86    field public static final String BIND_RUNTIME_PERMISSION_PRESENTER_SERVICE = "android.permission.BIND_RUNTIME_PERMISSION_PRESENTER_SERVICE";
87    field public static final String BIND_SATELLITE_SERVICE = "android.permission.BIND_SATELLITE_SERVICE";
88    field public static final String BIND_SETTINGS_SUGGESTIONS_SERVICE = "android.permission.BIND_SETTINGS_SUGGESTIONS_SERVICE";
89    field public static final String BIND_SOUND_TRIGGER_DETECTION_SERVICE = "android.permission.BIND_SOUND_TRIGGER_DETECTION_SERVICE";
90    field public static final String BIND_TELEPHONY_DATA_SERVICE = "android.permission.BIND_TELEPHONY_DATA_SERVICE";
91    field public static final String BIND_TELEPHONY_NETWORK_SERVICE = "android.permission.BIND_TELEPHONY_NETWORK_SERVICE";
92    field public static final String BIND_TEXTCLASSIFIER_SERVICE = "android.permission.BIND_TEXTCLASSIFIER_SERVICE";
93    field public static final String BIND_TIME_ZONE_PROVIDER_SERVICE = "android.permission.BIND_TIME_ZONE_PROVIDER_SERVICE";
94    field public static final String BIND_TRACE_REPORT_SERVICE = "android.permission.BIND_TRACE_REPORT_SERVICE";
95    field public static final String BIND_TRANSLATION_SERVICE = "android.permission.BIND_TRANSLATION_SERVICE";
96    field public static final String BIND_TRUST_AGENT = "android.permission.BIND_TRUST_AGENT";
97    field public static final String BIND_TV_REMOTE_SERVICE = "android.permission.BIND_TV_REMOTE_SERVICE";
98    field public static final String BIND_VISUAL_QUERY_DETECTION_SERVICE = "android.permission.BIND_VISUAL_QUERY_DETECTION_SERVICE";
99    field public static final String BIND_WALLPAPER_EFFECTS_GENERATION_SERVICE = "android.permission.BIND_WALLPAPER_EFFECTS_GENERATION_SERVICE";
100    field public static final String BIND_WEARABLE_SENSING_SERVICE = "android.permission.BIND_WEARABLE_SENSING_SERVICE";
101    field public static final String BLUETOOTH_MAP = "android.permission.BLUETOOTH_MAP";
102    field public static final String BRICK = "android.permission.BRICK";
103    field public static final String BRIGHTNESS_SLIDER_USAGE = "android.permission.BRIGHTNESS_SLIDER_USAGE";
104    field public static final String BROADCAST_CLOSE_SYSTEM_DIALOGS = "android.permission.BROADCAST_CLOSE_SYSTEM_DIALOGS";
105    field @Deprecated public static final String BROADCAST_NETWORK_PRIVILEGED = "android.permission.BROADCAST_NETWORK_PRIVILEGED";
106    field public static final String BYPASS_ROLE_QUALIFICATION = "android.permission.BYPASS_ROLE_QUALIFICATION";
107    field public static final String CALL_AUDIO_INTERCEPTION = "android.permission.CALL_AUDIO_INTERCEPTION";
108    field public static final String CAMERA_DISABLE_TRANSMIT_LED = "android.permission.CAMERA_DISABLE_TRANSMIT_LED";
109    field public static final String CAMERA_HEADLESS_SYSTEM_USER = "android.permission.CAMERA_HEADLESS_SYSTEM_USER";
110    field public static final String CAMERA_OPEN_CLOSE_LISTENER = "android.permission.CAMERA_OPEN_CLOSE_LISTENER";
111    field public static final String CAMERA_PRIVACY_ALLOWLIST = "android.permission.CAMERA_PRIVACY_ALLOWLIST";
112    field public static final String CAPTURE_AUDIO_HOTWORD = "android.permission.CAPTURE_AUDIO_HOTWORD";
113    field public static final String CAPTURE_CONSENTLESS_BUGREPORT_ON_USERDEBUG_BUILD = "android.permission.CAPTURE_CONSENTLESS_BUGREPORT_ON_USERDEBUG_BUILD";
114    field public static final String CAPTURE_MEDIA_OUTPUT = "android.permission.CAPTURE_MEDIA_OUTPUT";
115    field public static final String CAPTURE_TUNER_AUDIO_INPUT = "android.permission.CAPTURE_TUNER_AUDIO_INPUT";
116    field public static final String CAPTURE_TV_INPUT = "android.permission.CAPTURE_TV_INPUT";
117    field public static final String CAPTURE_VOICE_COMMUNICATION_OUTPUT = "android.permission.CAPTURE_VOICE_COMMUNICATION_OUTPUT";
118    field public static final String CHANGE_APP_IDLE_STATE = "android.permission.CHANGE_APP_IDLE_STATE";
119    field public static final String CHANGE_APP_LAUNCH_TIME_ESTIMATE = "android.permission.CHANGE_APP_LAUNCH_TIME_ESTIMATE";
120    field public static final String CHANGE_DEVICE_IDLE_TEMP_WHITELIST = "android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST";
121    field public static final String CHECK_REMOTE_LOCKSCREEN = "android.permission.CHECK_REMOTE_LOCKSCREEN";
122    field public static final String CLEAR_APP_USER_DATA = "android.permission.CLEAR_APP_USER_DATA";
123    field public static final String COMPANION_APPROVE_WIFI_CONNECTIONS = "android.permission.COMPANION_APPROVE_WIFI_CONNECTIONS";
124    field public static final String CONFIGURE_DISPLAY_BRIGHTNESS = "android.permission.CONFIGURE_DISPLAY_BRIGHTNESS";
125    field public static final String CONFIGURE_FACTORY_RESET_PROTECTION = "android.permission.CONFIGURE_FACTORY_RESET_PROTECTION";
126    field public static final String CONFIGURE_INTERACT_ACROSS_PROFILES = "android.permission.CONFIGURE_INTERACT_ACROSS_PROFILES";
127    field @Deprecated public static final String CONNECTIVITY_INTERNAL = "android.permission.CONNECTIVITY_INTERNAL";
128    field public static final String CONNECTIVITY_USE_RESTRICTED_NETWORKS = "android.permission.CONNECTIVITY_USE_RESTRICTED_NETWORKS";
129    field public static final String CONTROL_DEVICE_LIGHTS = "android.permission.CONTROL_DEVICE_LIGHTS";
130    field public static final String CONTROL_DISPLAY_COLOR_TRANSFORMS = "android.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS";
131    field public static final String CONTROL_DISPLAY_SATURATION = "android.permission.CONTROL_DISPLAY_SATURATION";
132    field public static final String CONTROL_INCALL_EXPERIENCE = "android.permission.CONTROL_INCALL_EXPERIENCE";
133    field public static final String CONTROL_KEYGUARD_SECURE_NOTIFICATIONS = "android.permission.CONTROL_KEYGUARD_SECURE_NOTIFICATIONS";
134    field public static final String CONTROL_OEM_PAID_NETWORK_PREFERENCE = "android.permission.CONTROL_OEM_PAID_NETWORK_PREFERENCE";
135    field public static final String CONTROL_VPN = "android.permission.CONTROL_VPN";
136    field public static final String COPY_ACCOUNTS = "android.permission.COPY_ACCOUNTS";
137    field public static final String CREATE_USERS = "android.permission.CREATE_USERS";
138    field public static final String CREATE_VIRTUAL_DEVICE = "android.permission.CREATE_VIRTUAL_DEVICE";
139    field public static final String CRYPT_KEEPER = "android.permission.CRYPT_KEEPER";
140    field public static final String DEVICE_POWER = "android.permission.DEVICE_POWER";
141    field public static final String DISABLE_SYSTEM_SOUND_EFFECTS = "android.permission.DISABLE_SYSTEM_SOUND_EFFECTS";
142    field public static final String DISPATCH_PROVISIONING_MESSAGE = "android.permission.DISPATCH_PROVISIONING_MESSAGE";
143    field public static final String DOMAIN_VERIFICATION_AGENT = "android.permission.DOMAIN_VERIFICATION_AGENT";
144    field public static final String DYNAMIC_INSTRUMENTATION = "android.permission.DYNAMIC_INSTRUMENTATION";
145    field public static final String EMERGENCY_INSTALL_PACKAGES = "android.permission.EMERGENCY_INSTALL_PACKAGES";
146    field public static final String ENTER_CAR_MODE_PRIORITIZED = "android.permission.ENTER_CAR_MODE_PRIORITIZED";
147    field public static final String EXEMPT_FROM_AUDIO_RECORD_RESTRICTIONS = "android.permission.EXEMPT_FROM_AUDIO_RECORD_RESTRICTIONS";
148    field public static final String FORCE_BACK = "android.permission.FORCE_BACK";
149    field public static final String FORCE_STOP_PACKAGES = "android.permission.FORCE_STOP_PACKAGES";
150    field public static final String GET_APP_METADATA = "android.permission.GET_APP_METADATA";
151    field public static final String GET_APP_OPS_STATS = "android.permission.GET_APP_OPS_STATS";
152    field public static final String GET_BACKGROUND_INSTALLED_PACKAGES = "android.permission.GET_BACKGROUND_INSTALLED_PACKAGES";
153    field public static final String GET_BINDING_UID_IMPORTANCE = "android.permission.GET_BINDING_UID_IMPORTANCE";
154    field public static final String GET_HISTORICAL_APP_OPS_STATS = "android.permission.GET_HISTORICAL_APP_OPS_STATS";
155    field public static final String GET_PROCESS_STATE_AND_OOM_SCORE = "android.permission.GET_PROCESS_STATE_AND_OOM_SCORE";
156    field public static final String GET_RUNTIME_PERMISSIONS = "android.permission.GET_RUNTIME_PERMISSIONS";
157    field public static final String GET_TOP_ACTIVITY_INFO = "android.permission.GET_TOP_ACTIVITY_INFO";
158    field @Deprecated public static final String GRANT_PROFILE_OWNER_DEVICE_IDS_ACCESS = "android.permission.GRANT_PROFILE_OWNER_DEVICE_IDS_ACCESS";
159    field public static final String GRANT_RUNTIME_PERMISSIONS = "android.permission.GRANT_RUNTIME_PERMISSIONS";
160    field public static final String GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS = "android.permission.GRANT_RUNTIME_PERMISSIONS_TO_TELEPHONY_DEFAULTS";
161    field public static final String HANDLE_CAR_MODE_CHANGES = "android.permission.HANDLE_CAR_MODE_CHANGES";
162    field public static final String HARDWARE_TEST = "android.permission.HARDWARE_TEST";
163    field public static final String HDMI_CEC = "android.permission.HDMI_CEC";
164    field @Deprecated public static final String HIDE_NON_SYSTEM_OVERLAY_WINDOWS = "android.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS";
165    field public static final String INJECT_EVENTS = "android.permission.INJECT_EVENTS";
166    field public static final String INSTALL_DEPENDENCY_SHARED_LIBRARIES = "android.permission.INSTALL_DEPENDENCY_SHARED_LIBRARIES";
167    field public static final String INSTALL_DPC_PACKAGES = "android.permission.INSTALL_DPC_PACKAGES";
168    field public static final String INSTALL_DYNAMIC_SYSTEM = "android.permission.INSTALL_DYNAMIC_SYSTEM";
169    field public static final String INSTALL_EXISTING_PACKAGES = "com.android.permission.INSTALL_EXISTING_PACKAGES";
170    field public static final String INSTALL_GRANT_RUNTIME_PERMISSIONS = "android.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS";
171    field public static final String INSTALL_LOCATION_TIME_ZONE_PROVIDER_SERVICE = "android.permission.INSTALL_LOCATION_TIME_ZONE_PROVIDER_SERVICE";
172    field public static final String INSTALL_PACKAGE_UPDATES = "android.permission.INSTALL_PACKAGE_UPDATES";
173    field public static final String INSTALL_SELF_UPDATES = "android.permission.INSTALL_SELF_UPDATES";
174    field public static final String INTENT_FILTER_VERIFICATION_AGENT = "android.permission.INTENT_FILTER_VERIFICATION_AGENT";
175    field public static final String INTERACT_ACROSS_USERS = "android.permission.INTERACT_ACROSS_USERS";
176    field public static final String INTERACT_ACROSS_USERS_FULL = "android.permission.INTERACT_ACROSS_USERS_FULL";
177    field public static final String INTERNAL_SYSTEM_WINDOW = "android.permission.INTERNAL_SYSTEM_WINDOW";
178    field public static final String INVOKE_CARRIER_SETUP = "android.permission.INVOKE_CARRIER_SETUP";
179    field public static final String KEYPHRASE_ENROLLMENT_APPLICATION = "android.permission.KEYPHRASE_ENROLLMENT_APPLICATION";
180    field public static final String KILL_ALL_BACKGROUND_PROCESSES = "android.permission.KILL_ALL_BACKGROUND_PROCESSES";
181    field public static final String KILL_UID = "android.permission.KILL_UID";
182    field public static final String LAUNCH_DEVICE_MANAGER_SETUP = "android.permission.LAUNCH_DEVICE_MANAGER_SETUP";
183    field public static final String LAUNCH_PERMISSION_SETTINGS = "android.permission.LAUNCH_PERMISSION_SETTINGS";
184    field public static final String LOCAL_MAC_ADDRESS = "android.permission.LOCAL_MAC_ADDRESS";
185    field public static final String LOCATION_BYPASS = "android.permission.LOCATION_BYPASS";
186    field public static final String LOCK_DEVICE = "android.permission.LOCK_DEVICE";
187    field public static final String LOG_FOREGROUND_RESOURCE_USE = "android.permission.LOG_FOREGROUND_RESOURCE_USE";
188    field public static final String LOOP_RADIO = "android.permission.LOOP_RADIO";
189    field public static final String MANAGE_ACCESSIBILITY = "android.permission.MANAGE_ACCESSIBILITY";
190    field @Deprecated public static final String MANAGE_ACTIVITY_STACKS = "android.permission.MANAGE_ACTIVITY_STACKS";
191    field public static final String MANAGE_ACTIVITY_TASKS = "android.permission.MANAGE_ACTIVITY_TASKS";
192    field public static final String MANAGE_ADVANCED_PROTECTION_MODE = "android.permission.MANAGE_ADVANCED_PROTECTION_MODE";
193    field public static final String MANAGE_APP_HIBERNATION = "android.permission.MANAGE_APP_HIBERNATION";
194    field public static final String MANAGE_APP_OPS_RESTRICTIONS = "android.permission.MANAGE_APP_OPS_RESTRICTIONS";
195    field public static final String MANAGE_APP_PREDICTIONS = "android.permission.MANAGE_APP_PREDICTIONS";
196    field public static final String MANAGE_APP_TOKENS = "android.permission.MANAGE_APP_TOKENS";
197    field public static final String MANAGE_AUTO_FILL = "android.permission.MANAGE_AUTO_FILL";
198    field public static final String MANAGE_BLUETOOTH_WHEN_WIRELESS_CONSENT_REQUIRED = "android.permission.MANAGE_BLUETOOTH_WHEN_WIRELESS_CONSENT_REQUIRED";
199    field public static final String MANAGE_CARRIER_OEM_UNLOCK_STATE = "android.permission.MANAGE_CARRIER_OEM_UNLOCK_STATE";
200    field public static final String MANAGE_CA_CERTIFICATES = "android.permission.MANAGE_CA_CERTIFICATES";
201    field public static final String MANAGE_CLIPBOARD_ACCESS_NOTIFICATION = "android.permission.MANAGE_CLIPBOARD_ACCESS_NOTIFICATION";
202    field public static final String MANAGE_CLOUDSEARCH = "android.permission.MANAGE_CLOUDSEARCH";
203    field public static final String MANAGE_CONTENT_CAPTURE = "android.permission.MANAGE_CONTENT_CAPTURE";
204    field public static final String MANAGE_CONTENT_SUGGESTIONS = "android.permission.MANAGE_CONTENT_SUGGESTIONS";
205    field public static final String MANAGE_DEBUGGING = "android.permission.MANAGE_DEBUGGING";
206    field public static final String MANAGE_DEFAULT_APPLICATIONS = "android.permission.MANAGE_DEFAULT_APPLICATIONS";
207    field public static final String MANAGE_DEVICE_ADMINS = "android.permission.MANAGE_DEVICE_ADMINS";
208    field public static final String MANAGE_DEVICE_POLICY_APP_EXEMPTIONS = "android.permission.MANAGE_DEVICE_POLICY_APP_EXEMPTIONS";
209    field public static final String MANAGE_DEVICE_POLICY_AUDIT_LOGGING = "android.permission.MANAGE_DEVICE_POLICY_AUDIT_LOGGING";
210    field public static final String MANAGE_ENHANCED_CONFIRMATION_STATES = "android.permission.MANAGE_ENHANCED_CONFIRMATION_STATES";
211    field public static final String MANAGE_ETHERNET_NETWORKS = "android.permission.MANAGE_ETHERNET_NETWORKS";
212    field public static final String MANAGE_FACTORY_RESET_PROTECTION = "android.permission.MANAGE_FACTORY_RESET_PROTECTION";
213    field public static final String MANAGE_GAME_ACTIVITY = "android.permission.MANAGE_GAME_ACTIVITY";
214    field public static final String MANAGE_GAME_MODE = "android.permission.MANAGE_GAME_MODE";
215    field public static final String MANAGE_GLOBAL_PICTURE_QUALITY_SERVICE = "android.permission.MANAGE_GLOBAL_PICTURE_QUALITY_SERVICE";
216    field public static final String MANAGE_GLOBAL_SOUND_QUALITY_SERVICE = "android.permission.MANAGE_GLOBAL_SOUND_QUALITY_SERVICE";
217    field public static final String MANAGE_HOTWORD_DETECTION = "android.permission.MANAGE_HOTWORD_DETECTION";
218    field public static final String MANAGE_INTRUSION_DETECTION_STATE = "android.permission.MANAGE_INTRUSION_DETECTION_STATE";
219    field public static final String MANAGE_IPSEC_TUNNELS = "android.permission.MANAGE_IPSEC_TUNNELS";
220    field public static final String MANAGE_LOW_POWER_STANDBY = "android.permission.MANAGE_LOW_POWER_STANDBY";
221    field public static final String MANAGE_MUSIC_RECOGNITION = "android.permission.MANAGE_MUSIC_RECOGNITION";
222    field public static final String MANAGE_NOTIFICATION_LISTENERS = "android.permission.MANAGE_NOTIFICATION_LISTENERS";
223    field public static final String MANAGE_ONE_TIME_PERMISSION_SESSIONS = "android.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS";
224    field public static final String MANAGE_PROFILE_AND_DEVICE_OWNERS = "android.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS";
225    field public static final String MANAGE_ROLE_HOLDERS = "android.permission.MANAGE_ROLE_HOLDERS";
226    field public static final String MANAGE_ROLLBACKS = "android.permission.MANAGE_ROLLBACKS";
227    field public static final String MANAGE_ROTATION_RESOLVER = "android.permission.MANAGE_ROTATION_RESOLVER";
228    field public static final String MANAGE_SAFETY_CENTER = "android.permission.MANAGE_SAFETY_CENTER";
229    field public static final String MANAGE_SEARCH_UI = "android.permission.MANAGE_SEARCH_UI";
230    field public static final String MANAGE_SENSOR_PRIVACY = "android.permission.MANAGE_SENSOR_PRIVACY";
231    field public static final String MANAGE_SMARTSPACE = "android.permission.MANAGE_SMARTSPACE";
232    field public static final String MANAGE_SOUND_TRIGGER = "android.permission.MANAGE_SOUND_TRIGGER";
233    field public static final String MANAGE_SPEECH_RECOGNITION = "android.permission.MANAGE_SPEECH_RECOGNITION";
234    field public static final String MANAGE_SUBSCRIPTION_PLANS = "android.permission.MANAGE_SUBSCRIPTION_PLANS";
235    field public static final String MANAGE_SUBSCRIPTION_USER_ASSOCIATION = "android.permission.MANAGE_SUBSCRIPTION_USER_ASSOCIATION";
236    field public static final String MANAGE_TEST_NETWORKS = "android.permission.MANAGE_TEST_NETWORKS";
237    field public static final String MANAGE_TIME_AND_ZONE_DETECTION = "android.permission.MANAGE_TIME_AND_ZONE_DETECTION";
238    field public static final String MANAGE_UI_TRANSLATION = "android.permission.MANAGE_UI_TRANSLATION";
239    field public static final String MANAGE_USB = "android.permission.MANAGE_USB";
240    field public static final String MANAGE_USERS = "android.permission.MANAGE_USERS";
241    field public static final String MANAGE_USER_OEM_UNLOCK_STATE = "android.permission.MANAGE_USER_OEM_UNLOCK_STATE";
242    field public static final String MANAGE_VOICE_KEYPHRASES = "android.permission.MANAGE_VOICE_KEYPHRASES";
243    field public static final String MANAGE_WALLPAPER_EFFECTS_GENERATION = "android.permission.MANAGE_WALLPAPER_EFFECTS_GENERATION";
244    field public static final String MANAGE_WEAK_ESCROW_TOKEN = "android.permission.MANAGE_WEAK_ESCROW_TOKEN";
245    field public static final String MANAGE_WEARABLE_SENSING_SERVICE = "android.permission.MANAGE_WEARABLE_SENSING_SERVICE";
246    field public static final String MANAGE_WIFI_COUNTRY_CODE = "android.permission.MANAGE_WIFI_COUNTRY_CODE";
247    field public static final String MARK_DEVICE_ORGANIZATION_OWNED = "android.permission.MARK_DEVICE_ORGANIZATION_OWNED";
248    field public static final String MEDIA_RESOURCE_OVERRIDE_PID = "android.permission.MEDIA_RESOURCE_OVERRIDE_PID";
249    field public static final String MIGRATE_HEALTH_CONNECT_DATA = "android.permission.MIGRATE_HEALTH_CONNECT_DATA";
250    field public static final String MODIFY_APPWIDGET_BIND_PERMISSIONS = "android.permission.MODIFY_APPWIDGET_BIND_PERMISSIONS";
251    field public static final String MODIFY_AUDIO_ROUTING = "android.permission.MODIFY_AUDIO_ROUTING";
252    field public static final String MODIFY_AUDIO_SETTINGS_PRIVILEGED = "android.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED";
253    field public static final String MODIFY_CELL_BROADCASTS = "android.permission.MODIFY_CELL_BROADCASTS";
254    field public static final String MODIFY_DAY_NIGHT_MODE = "android.permission.MODIFY_DAY_NIGHT_MODE";
255    field @Deprecated public static final String MODIFY_NETWORK_ACCOUNTING = "android.permission.MODIFY_NETWORK_ACCOUNTING";
256    field public static final String MODIFY_PARENTAL_CONTROLS = "android.permission.MODIFY_PARENTAL_CONTROLS";
257    field public static final String MODIFY_QUIET_MODE = "android.permission.MODIFY_QUIET_MODE";
258    field public static final String MODIFY_SETTINGS_OVERRIDEABLE_BY_RESTORE = "android.permission.MODIFY_SETTINGS_OVERRIDEABLE_BY_RESTORE";
259    field public static final String MONITOR_DEVICE_CONFIG_ACCESS = "android.permission.MONITOR_DEVICE_CONFIG_ACCESS";
260    field public static final String MOVE_PACKAGE = "android.permission.MOVE_PACKAGE";
261    field public static final String NETWORK_AIRPLANE_MODE = "android.permission.NETWORK_AIRPLANE_MODE";
262    field public static final String NETWORK_CARRIER_PROVISIONING = "android.permission.NETWORK_CARRIER_PROVISIONING";
263    field public static final String NETWORK_FACTORY = "android.permission.NETWORK_FACTORY";
264    field public static final String NETWORK_MANAGED_PROVISIONING = "android.permission.NETWORK_MANAGED_PROVISIONING";
265    field public static final String NETWORK_SCAN = "android.permission.NETWORK_SCAN";
266    field public static final String NETWORK_SETTINGS = "android.permission.NETWORK_SETTINGS";
267    field public static final String NETWORK_SETUP_WIZARD = "android.permission.NETWORK_SETUP_WIZARD";
268    field public static final String NETWORK_SIGNAL_STRENGTH_WAKEUP = "android.permission.NETWORK_SIGNAL_STRENGTH_WAKEUP";
269    field public static final String NETWORK_STACK = "android.permission.NETWORK_STACK";
270    field public static final String NETWORK_STATS_PROVIDER = "android.permission.NETWORK_STATS_PROVIDER";
271    field public static final String NFC_SET_CONTROLLER_ALWAYS_ON = "android.permission.NFC_SET_CONTROLLER_ALWAYS_ON";
272    field public static final String NOTIFICATION_DURING_SETUP = "android.permission.NOTIFICATION_DURING_SETUP";
273    field public static final String NOTIFY_TV_INPUTS = "android.permission.NOTIFY_TV_INPUTS";
274    field public static final String OBSERVE_APP_USAGE = "android.permission.OBSERVE_APP_USAGE";
275    field public static final String OBSERVE_NETWORK_POLICY = "android.permission.OBSERVE_NETWORK_POLICY";
276    field public static final String OBSERVE_ROLE_HOLDERS = "android.permission.OBSERVE_ROLE_HOLDERS";
277    field public static final String OBSERVE_SENSOR_PRIVACY = "android.permission.OBSERVE_SENSOR_PRIVACY";
278    field public static final String OPEN_ACCESSIBILITY_DETAILS_SETTINGS = "android.permission.OPEN_ACCESSIBILITY_DETAILS_SETTINGS";
279    field public static final String OVERRIDE_COMPAT_CHANGE_CONFIG_ON_RELEASE_BUILD = "android.permission.OVERRIDE_COMPAT_CHANGE_CONFIG_ON_RELEASE_BUILD";
280    field public static final String OVERRIDE_SYSTEM_KEY_BEHAVIOR_IN_FOCUSED_WINDOW = "android.permission.OVERRIDE_SYSTEM_KEY_BEHAVIOR_IN_FOCUSED_WINDOW";
281    field public static final String PACKAGE_VERIFICATION_AGENT = "android.permission.PACKAGE_VERIFICATION_AGENT";
282    field public static final String PACKET_KEEPALIVE_OFFLOAD = "android.permission.PACKET_KEEPALIVE_OFFLOAD";
283    field public static final String PEERS_MAC_ADDRESS = "android.permission.PEERS_MAC_ADDRESS";
284    field public static final String PERFORM_CDMA_PROVISIONING = "android.permission.PERFORM_CDMA_PROVISIONING";
285    field public static final String PERFORM_IMS_SINGLE_REGISTRATION = "android.permission.PERFORM_IMS_SINGLE_REGISTRATION";
286    field public static final String PERFORM_SIM_ACTIVATION = "android.permission.PERFORM_SIM_ACTIVATION";
287    field public static final String POWER_SAVER = "android.permission.POWER_SAVER";
288    field public static final String PREPARE_FACTORY_RESET = "android.permission.PREPARE_FACTORY_RESET";
289    field public static final String PROVIDE_DEFAULT_ENABLED_CREDENTIAL_SERVICE = "android.permission.PROVIDE_DEFAULT_ENABLED_CREDENTIAL_SERVICE";
290    field public static final String PROVIDE_RESOLVER_RANKER_SERVICE = "android.permission.PROVIDE_RESOLVER_RANKER_SERVICE";
291    field public static final String PROVIDE_TRUST_AGENT = "android.permission.PROVIDE_TRUST_AGENT";
292    field public static final String PROVISION_DEMO_DEVICE = "android.permission.PROVISION_DEMO_DEVICE";
293    field public static final String QUERY_ADMIN_POLICY = "android.permission.QUERY_ADMIN_POLICY";
294    field public static final String QUERY_CLONED_APPS = "android.permission.QUERY_CLONED_APPS";
295    field public static final String QUERY_DEVICE_STOLEN_STATE = "android.permission.QUERY_DEVICE_STOLEN_STATE";
296    field @Deprecated public static final String QUERY_TIME_ZONE_RULES = "android.permission.QUERY_TIME_ZONE_RULES";
297    field public static final String QUERY_USERS = "android.permission.QUERY_USERS";
298    field public static final String RADIO_SCAN_WITHOUT_LOCATION = "android.permission.RADIO_SCAN_WITHOUT_LOCATION";
299    field public static final String READ_ACTIVE_EMERGENCY_SESSION = "android.permission.READ_ACTIVE_EMERGENCY_SESSION";
300    field public static final String READ_APP_SPECIFIC_LOCALES = "android.permission.READ_APP_SPECIFIC_LOCALES";
301    field public static final String READ_CARRIER_APP_INFO = "android.permission.READ_CARRIER_APP_INFO";
302    field public static final String READ_CELL_BROADCASTS = "android.permission.READ_CELL_BROADCASTS";
303    field public static final String READ_CLIPBOARD_IN_BACKGROUND = "android.permission.READ_CLIPBOARD_IN_BACKGROUND";
304    field public static final String READ_CONTENT_RATING_SYSTEMS = "android.permission.READ_CONTENT_RATING_SYSTEMS";
305    field public static final String READ_DEVICE_CONFIG = "android.permission.READ_DEVICE_CONFIG";
306    field public static final String READ_DREAM_STATE = "android.permission.READ_DREAM_STATE";
307    field public static final String READ_GLOBAL_APP_SEARCH_DATA = "android.permission.READ_GLOBAL_APP_SEARCH_DATA";
308    field public static final String READ_INSTALLED_SESSION_PATHS = "android.permission.READ_INSTALLED_SESSION_PATHS";
309    field public static final String READ_INSTALL_SESSIONS = "android.permission.READ_INSTALL_SESSIONS";
310    field public static final String READ_INTRUSION_DETECTION_STATE = "android.permission.READ_INTRUSION_DETECTION_STATE";
311    field public static final String READ_NETWORK_USAGE_HISTORY = "android.permission.READ_NETWORK_USAGE_HISTORY";
312    field public static final String READ_OEM_UNLOCK_STATE = "android.permission.READ_OEM_UNLOCK_STATE";
313    field public static final String READ_PEOPLE_DATA = "android.permission.READ_PEOPLE_DATA";
314    field public static final String READ_PRINT_SERVICES = "android.permission.READ_PRINT_SERVICES";
315    field public static final String READ_PRINT_SERVICE_RECOMMENDATIONS = "android.permission.READ_PRINT_SERVICE_RECOMMENDATIONS";
316    field public static final String READ_PRIVILEGED_PHONE_STATE = "android.permission.READ_PRIVILEGED_PHONE_STATE";
317    field public static final String READ_PROJECTION_STATE = "android.permission.READ_PROJECTION_STATE";
318    field public static final String READ_RESTRICTED_STATS = "android.permission.READ_RESTRICTED_STATS";
319    field public static final String READ_RUNTIME_PROFILES = "android.permission.READ_RUNTIME_PROFILES";
320    field public static final String READ_SAFETY_CENTER_STATUS = "android.permission.READ_SAFETY_CENTER_STATUS";
321    field public static final String READ_SEARCH_INDEXABLES = "android.permission.READ_SEARCH_INDEXABLES";
322    field public static final String READ_SUBSCRIPTION_PLANS = "android.permission.READ_SUBSCRIPTION_PLANS";
323    field public static final String READ_SYSTEM_GRAMMATICAL_GENDER = "android.permission.READ_SYSTEM_GRAMMATICAL_GENDER";
324    field public static final String READ_SYSTEM_UPDATE_INFO = "android.permission.READ_SYSTEM_UPDATE_INFO";
325    field public static final String READ_WALLPAPER_INTERNAL = "android.permission.READ_WALLPAPER_INTERNAL";
326    field public static final String READ_WIFI_CREDENTIAL = "android.permission.READ_WIFI_CREDENTIAL";
327    field public static final String READ_WRITE_SYNC_DISABLED_MODE_CONFIG = "android.permission.READ_WRITE_SYNC_DISABLED_MODE_CONFIG";
328    field public static final String REAL_GET_TASKS = "android.permission.REAL_GET_TASKS";
329    field public static final String RECEIVE_BLUETOOTH_MAP = "android.permission.RECEIVE_BLUETOOTH_MAP";
330    field public static final String RECEIVE_DATA_ACTIVITY_CHANGE = "android.permission.RECEIVE_DATA_ACTIVITY_CHANGE";
331    field public static final String RECEIVE_DEVICE_CUSTOMIZATION_READY = "android.permission.RECEIVE_DEVICE_CUSTOMIZATION_READY";
332    field public static final String RECEIVE_EMERGENCY_BROADCAST = "android.permission.RECEIVE_EMERGENCY_BROADCAST";
333    field public static final String RECEIVE_SENSITIVE_NOTIFICATIONS = "android.permission.RECEIVE_SENSITIVE_NOTIFICATIONS";
334    field public static final String RECEIVE_WIFI_CREDENTIAL_CHANGE = "android.permission.RECEIVE_WIFI_CREDENTIAL_CHANGE";
335    field public static final String RECORD_BACKGROUND_AUDIO = "android.permission.RECORD_BACKGROUND_AUDIO";
336    field public static final String RECOVERY = "android.permission.RECOVERY";
337    field public static final String RECOVER_KEYSTORE = "android.permission.RECOVER_KEYSTORE";
338    field public static final String REGISTER_CALL_PROVIDER = "android.permission.REGISTER_CALL_PROVIDER";
339    field public static final String REGISTER_CONNECTION_MANAGER = "android.permission.REGISTER_CONNECTION_MANAGER";
340    field public static final String REGISTER_NSD_OFFLOAD_ENGINE = "android.permission.REGISTER_NSD_OFFLOAD_ENGINE";
341    field public static final String REGISTER_SIM_SUBSCRIPTION = "android.permission.REGISTER_SIM_SUBSCRIPTION";
342    field public static final String REGISTER_STATS_PULL_ATOM = "android.permission.REGISTER_STATS_PULL_ATOM";
343    field public static final String REMOTE_DISPLAY_PROVIDER = "android.permission.REMOTE_DISPLAY_PROVIDER";
344    field public static final String REMOVE_ACCOUNTS = "android.permission.REMOVE_ACCOUNTS";
345    field public static final String REMOVE_DRM_CERTIFICATES = "android.permission.REMOVE_DRM_CERTIFICATES";
346    field public static final String REMOVE_TASKS = "android.permission.REMOVE_TASKS";
347    field public static final String RENOUNCE_PERMISSIONS = "android.permission.RENOUNCE_PERMISSIONS";
348    field public static final String REPORT_USAGE_STATS = "android.permission.REPORT_USAGE_STATS";
349    field @Deprecated public static final String REQUEST_NETWORK_SCORES = "android.permission.REQUEST_NETWORK_SCORES";
350    field public static final String REQUEST_NOTIFICATION_ASSISTANT_SERVICE = "android.permission.REQUEST_NOTIFICATION_ASSISTANT_SERVICE";
351    field public static final String RESET_PASSWORD = "android.permission.RESET_PASSWORD";
352    field public static final String RESTART_WIFI_SUBSYSTEM = "android.permission.RESTART_WIFI_SUBSYSTEM";
353    field public static final String RESTORE_HEALTH_CONNECT_DATA_AND_SETTINGS = "android.permission.RESTORE_HEALTH_CONNECT_DATA_AND_SETTINGS";
354    field public static final String RESTORE_RUNTIME_PERMISSIONS = "android.permission.RESTORE_RUNTIME_PERMISSIONS";
355    field public static final String RESTRICTED_VR_ACCESS = "android.permission.RESTRICTED_VR_ACCESS";
356    field public static final String RETRIEVE_WINDOW_CONTENT = "android.permission.RETRIEVE_WINDOW_CONTENT";
357    field public static final String REVIEW_ACCESSIBILITY_SERVICES = "android.permission.REVIEW_ACCESSIBILITY_SERVICES";
358    field public static final String REVOKE_RUNTIME_PERMISSIONS = "android.permission.REVOKE_RUNTIME_PERMISSIONS";
359    field public static final String ROTATE_SURFACE_FLINGER = "android.permission.ROTATE_SURFACE_FLINGER";
360    field public static final String SATELLITE_COMMUNICATION = "android.permission.SATELLITE_COMMUNICATION";
361    field public static final String SCHEDULE_PRIORITIZED_ALARM = "android.permission.SCHEDULE_PRIORITIZED_ALARM";
362    field @Deprecated public static final String SCORE_NETWORKS = "android.permission.SCORE_NETWORKS";
363    field public static final String SECURE_ELEMENT_PRIVILEGED_OPERATION = "android.permission.SECURE_ELEMENT_PRIVILEGED_OPERATION";
364    field public static final String SEND_CATEGORY_CAR_NOTIFICATIONS = "android.permission.SEND_CATEGORY_CAR_NOTIFICATIONS";
365    field public static final String SEND_DEVICE_CUSTOMIZATION_READY = "android.permission.SEND_DEVICE_CUSTOMIZATION_READY";
366    field public static final String SEND_SAFETY_CENTER_UPDATE = "android.permission.SEND_SAFETY_CENTER_UPDATE";
367    field public static final String SEND_SHOW_SUSPENDED_APP_DETAILS = "android.permission.SEND_SHOW_SUSPENDED_APP_DETAILS";
368    field public static final String SEND_SMS_NO_CONFIRMATION = "android.permission.SEND_SMS_NO_CONFIRMATION";
369    field public static final String SERIAL_PORT = "android.permission.SERIAL_PORT";
370    field public static final String SETUP_FSVERITY = "android.permission.SETUP_FSVERITY";
371    field public static final String SET_ACTIVITY_WATCHER = "android.permission.SET_ACTIVITY_WATCHER";
372    field public static final String SET_CLIP_SOURCE = "android.permission.SET_CLIP_SOURCE";
373    field public static final String SET_DEFAULT_ACCOUNT_FOR_CONTACTS = "android.permission.SET_DEFAULT_ACCOUNT_FOR_CONTACTS";
374    field public static final String SET_HARMFUL_APP_WARNINGS = "android.permission.SET_HARMFUL_APP_WARNINGS";
375    field public static final String SET_LOW_POWER_STANDBY_PORTS = "android.permission.SET_LOW_POWER_STANDBY_PORTS";
376    field public static final String SET_MEDIA_KEY_LISTENER = "android.permission.SET_MEDIA_KEY_LISTENER";
377    field public static final String SET_ORIENTATION = "android.permission.SET_ORIENTATION";
378    field public static final String SET_POINTER_SPEED = "android.permission.SET_POINTER_SPEED";
379    field public static final String SET_SCREEN_COMPATIBILITY = "android.permission.SET_SCREEN_COMPATIBILITY";
380    field public static final String SET_SYSTEM_AUDIO_CAPTION = "android.permission.SET_SYSTEM_AUDIO_CAPTION";
381    field public static final String SET_UNRESTRICTED_KEEP_CLEAR_AREAS = "android.permission.SET_UNRESTRICTED_KEEP_CLEAR_AREAS";
382    field public static final String SET_VOLUME_KEY_LONG_PRESS_LISTENER = "android.permission.SET_VOLUME_KEY_LONG_PRESS_LISTENER";
383    field public static final String SET_WALLPAPER_COMPONENT = "android.permission.SET_WALLPAPER_COMPONENT";
384    field public static final String SET_WALLPAPER_DIM_AMOUNT = "android.permission.SET_WALLPAPER_DIM_AMOUNT";
385    field public static final String SHOW_CUSTOMIZED_RESOLVER = "android.permission.SHOW_CUSTOMIZED_RESOLVER";
386    field public static final String SHOW_KEYGUARD_MESSAGE = "android.permission.SHOW_KEYGUARD_MESSAGE";
387    field public static final String SHUTDOWN = "android.permission.SHUTDOWN";
388    field public static final String SIGNAL_REBOOT_READINESS = "android.permission.SIGNAL_REBOOT_READINESS";
389    field public static final String SINGLE_USER_TIS_ACCESS = "android.permission.SINGLE_USER_TIS_ACCESS";
390    field public static final String SOUND_TRIGGER_RUN_IN_BATTERY_SAVER = "android.permission.SOUND_TRIGGER_RUN_IN_BATTERY_SAVER";
391    field public static final String STAGE_HEALTH_CONNECT_REMOTE_DATA = "android.permission.STAGE_HEALTH_CONNECT_REMOTE_DATA";
392    field public static final String START_ACTIVITIES_FROM_BACKGROUND = "android.permission.START_ACTIVITIES_FROM_BACKGROUND";
393    field public static final String START_CROSS_PROFILE_ACTIVITIES = "android.permission.START_CROSS_PROFILE_ACTIVITIES";
394    field public static final String START_REVIEW_PERMISSION_DECISIONS = "android.permission.START_REVIEW_PERMISSION_DECISIONS";
395    field public static final String START_TASKS_FROM_RECENTS = "android.permission.START_TASKS_FROM_RECENTS";
396    field public static final String START_VIBRATION_SESSIONS = "android.permission.START_VIBRATION_SESSIONS";
397    field public static final String STATUS_BAR_SERVICE = "android.permission.STATUS_BAR_SERVICE";
398    field public static final String STOP_APP_SWITCHES = "android.permission.STOP_APP_SWITCHES";
399    field public static final String SUBSTITUTE_NOTIFICATION_APP_NAME = "android.permission.SUBSTITUTE_NOTIFICATION_APP_NAME";
400    field public static final String SUBSTITUTE_SHARE_TARGET_APP_NAME_AND_ICON = "android.permission.SUBSTITUTE_SHARE_TARGET_APP_NAME_AND_ICON";
401    field public static final String SUGGEST_EXTERNAL_TIME = "android.permission.SUGGEST_EXTERNAL_TIME";
402    field public static final String SUSPEND_APPS = "android.permission.SUSPEND_APPS";
403    field public static final String SYSTEM_APPLICATION_OVERLAY = "android.permission.SYSTEM_APPLICATION_OVERLAY";
404    field public static final String SYSTEM_CAMERA = "android.permission.SYSTEM_CAMERA";
405    field public static final String TETHER_PRIVILEGED = "android.permission.TETHER_PRIVILEGED";
406    field public static final String THREAD_NETWORK_PRIVILEGED = "android.permission.THREAD_NETWORK_PRIVILEGED";
407    field public static final String TIS_EXTENSION_INTERFACE = "android.permission.TIS_EXTENSION_INTERFACE";
408    field public static final String TOGGLE_AUTOMOTIVE_PROJECTION = "android.permission.TOGGLE_AUTOMOTIVE_PROJECTION";
409    field public static final String TRIGGER_LOST_MODE = "android.permission.TRIGGER_LOST_MODE";
410    field public static final String TV_INPUT_HARDWARE = "android.permission.TV_INPUT_HARDWARE";
411    field public static final String TV_VIRTUAL_REMOTE_CONTROLLER = "android.permission.TV_VIRTUAL_REMOTE_CONTROLLER";
412    field public static final String UNLIMITED_SHORTCUTS_API_CALLS = "android.permission.UNLIMITED_SHORTCUTS_API_CALLS";
413    field public static final String UPDATE_APP_OPS_STATS = "android.permission.UPDATE_APP_OPS_STATS";
414    field public static final String UPDATE_DEVICE_MANAGEMENT_RESOURCES = "android.permission.UPDATE_DEVICE_MANAGEMENT_RESOURCES";
415    field public static final String UPDATE_DOMAIN_VERIFICATION_USER_SELECTION = "android.permission.UPDATE_DOMAIN_VERIFICATION_USER_SELECTION";
416    field public static final String UPDATE_FONTS = "android.permission.UPDATE_FONTS";
417    field public static final String UPDATE_LOCK = "android.permission.UPDATE_LOCK";
418    field @Deprecated public static final String UPDATE_TIME_ZONE_RULES = "android.permission.UPDATE_TIME_ZONE_RULES";
419    field public static final String UPGRADE_RUNTIME_PERMISSIONS = "android.permission.UPGRADE_RUNTIME_PERMISSIONS";
420    field public static final String USER_ACTIVITY = "android.permission.USER_ACTIVITY";
421    field public static final String USE_COLORIZED_NOTIFICATIONS = "android.permission.USE_COLORIZED_NOTIFICATIONS";
422    field public static final String USE_ON_DEVICE_INTELLIGENCE = "android.permission.USE_ON_DEVICE_INTELLIGENCE";
423    field public static final String USE_RESERVED_DISK = "android.permission.USE_RESERVED_DISK";
424    field public static final String UWB_PRIVILEGED = "android.permission.UWB_PRIVILEGED";
425    field public static final String VIBRATE_VENDOR_EFFECTS = "android.permission.VIBRATE_VENDOR_EFFECTS";
426    field public static final String WHITELIST_AUTO_REVOKE_PERMISSIONS = "android.permission.WHITELIST_AUTO_REVOKE_PERMISSIONS";
427    field public static final String WHITELIST_RESTRICTED_PERMISSIONS = "android.permission.WHITELIST_RESTRICTED_PERMISSIONS";
428    field public static final String WIFI_ACCESS_COEX_UNSAFE_CHANNELS = "android.permission.WIFI_ACCESS_COEX_UNSAFE_CHANNELS";
429    field public static final String WIFI_SET_DEVICE_MOBILITY_STATE = "android.permission.WIFI_SET_DEVICE_MOBILITY_STATE";
430    field public static final String WIFI_UPDATE_COEX_UNSAFE_CHANNELS = "android.permission.WIFI_UPDATE_COEX_UNSAFE_CHANNELS";
431    field public static final String WIFI_UPDATE_USABILITY_STATS_SCORE = "android.permission.WIFI_UPDATE_USABILITY_STATS_SCORE";
432    field public static final String WRITE_ALLOWLISTED_DEVICE_CONFIG = "android.permission.WRITE_ALLOWLISTED_DEVICE_CONFIG";
433    field public static final String WRITE_DEVICE_CONFIG = "android.permission.WRITE_DEVICE_CONFIG";
434    field public static final String WRITE_DREAM_STATE = "android.permission.WRITE_DREAM_STATE";
435    field public static final String WRITE_EMBEDDED_SUBSCRIPTIONS = "android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS";
436    field @Deprecated public static final String WRITE_MEDIA_STORAGE = "android.permission.WRITE_MEDIA_STORAGE";
437    field public static final String WRITE_OBB = "android.permission.WRITE_OBB";
438    field public static final String WRITE_SECURITY_LOG = "android.permission.WRITE_SECURITY_LOG";
439    field public static final String WRITE_SMS = "android.permission.WRITE_SMS";
440    field public static final String WRITE_VERIFICATION_STATE_E2EE_CONTACT_KEYS = "android.permission.WRITE_VERIFICATION_STATE_E2EE_CONTACT_KEYS";
441  }
442
443  public static final class Manifest.permission_group {
444    field public static final String UNDEFINED = "android.permission-group.UNDEFINED";
445  }
446
447  public static final class R.array {
448    field public static final int config_keySystemUuidMapping = 17235973; // 0x1070005
449    field public static final int config_optionalIpSecAlgorithms = 17235974; // 0x1070006
450  }
451
452  public static final class R.attr {
453    field public static final int allowClearUserDataOnFailedRestore = 16844288; // 0x1010600
454    field public static final int backgroundPermission = 16844455; // 0x10106a7
455    field public static final int featureFlag = 16844428; // 0x101068c
456    field public static final int gameSessionService = 16844373; // 0x1010655
457    field public static final int hotwordDetectionService = 16844326; // 0x1010626
458    field public static final int isVirtualDeviceOnly = 16844425; // 0x1010689
459    field public static final int isVrOnly = 16844152; // 0x1010578
460    field public static final int minExtensionVersion = 16844305; // 0x1010611
461    field public static final int playHomeTransitionSound = 16844358; // 0x1010646
462    field public static final int requiredSystemPropertyName = 16844133; // 0x1010565
463    field public static final int requiredSystemPropertyValue = 16844134; // 0x1010566
464    field public static final int sdkVersion = 16844304; // 0x1010610
465    field public static final int supportsAmbientMode = 16844173; // 0x101058d
466    field public static final int userRestriction = 16844164; // 0x1010584
467    field public static final int visualQueryDetectionService = 16844410; // 0x101067a
468  }
469
470  public static final class R.bool {
471    field public static final int config_enableDefaultNotes = 17891338; // 0x111000a
472    field public static final int config_enableDefaultNotesForWorkProfile = 17891339; // 0x111000b
473    field public static final int config_enableQrCodeScannerOnLockScreen = 17891336; // 0x1110008
474    field public static final int config_safetyProtectionEnabled = 17891337; // 0x1110009
475    field public static final int config_sendPackageName = 17891328; // 0x1110000
476    field public static final int config_showDefaultAssistant = 17891329; // 0x1110001
477    field public static final int config_showDefaultEmergency = 17891330; // 0x1110002
478    field public static final int config_showDefaultHome = 17891331; // 0x1110003
479  }
480
481  public static final class R.color {
482    field public static final int system_notification_accent_color = 17170460; // 0x106001c
483  }
484
485  public static final class R.dimen {
486    field public static final int config_restrictedIconSize = 17104903; // 0x1050007
487    field public static final int config_viewConfigurationHandwritingGestureLineMargin = 17104906; // 0x105000a
488  }
489
490  public static final class R.drawable {
491    field public static final int ic_info = 17301684; // 0x10800b4
492    field public static final int ic_safety_protection = 17301685; // 0x10800b5
493  }
494
495  public static final class R.raw {
496    field public static final int loaderror = 17825792; // 0x1100000
497    field public static final int nodomain = 17825793; // 0x1100001
498  }
499
500  public static final class R.string {
501    field public static final int config_customMediaKeyDispatcher = 17039404; // 0x104002c
502    field public static final int config_customMediaSessionPolicyProvider = 17039405; // 0x104002d
503    field public static final int config_defaultAssistant = 17039393; // 0x1040021
504    field public static final int config_defaultAutomotiveNavigation = 17039424; // 0x1040040
505    field public static final int config_defaultBrowser = 17039394; // 0x1040022
506    field public static final int config_defaultCallRedirection = 17039397; // 0x1040025
507    field public static final int config_defaultCallScreening = 17039398; // 0x1040026
508    field public static final int config_defaultDialer = 17039395; // 0x1040023
509    field public static final int config_defaultNotes = 17039429; // 0x1040045
510    field public static final int config_defaultRetailDemo = 17039432; // 0x1040048
511    field public static final int config_defaultSms = 17039396; // 0x1040024
512    field public static final int config_defaultWallet = 17039433; // 0x1040049
513    field public static final int config_devicePolicyManagement = 17039421; // 0x104003d
514    field public static final int config_feedbackIntentExtraKey = 17039391; // 0x104001f
515    field public static final int config_feedbackIntentNameKey = 17039392; // 0x1040020
516    field public static final int config_helpIntentExtraKey = 17039389; // 0x104001d
517    field public static final int config_helpIntentNameKey = 17039390; // 0x104001e
518    field public static final int config_helpPackageNameKey = 17039387; // 0x104001b
519    field public static final int config_helpPackageNameValue = 17039388; // 0x104001c
520    field public static final int config_systemActivityRecognizer = 17039416; // 0x1040038
521    field public static final int config_systemAmbientAudioIntelligence = 17039411; // 0x1040033
522    field public static final int config_systemAppProtectionService = 17039422; // 0x104003e
523    field public static final int config_systemAudioIntelligence = 17039412; // 0x1040034
524    field public static final int config_systemAutomotiveCalendarSyncManager = 17039423; // 0x104003f
525    field public static final int config_systemAutomotiveCluster = 17039400; // 0x1040028
526    field public static final int config_systemAutomotiveProjection = 17039401; // 0x1040029
527    field public static final int config_systemCallStreaming = 17039431; // 0x1040047
528    field public static final int config_systemCompanionDeviceProvider = 17039417; // 0x1040039
529    field public static final int config_systemContacts = 17039403; // 0x104002b
530    field public static final int config_systemDependencyInstaller = 17039434; // 0x104004a
531    field public static final int config_systemFinancedDeviceController = 17039430; // 0x1040046
532    field public static final int config_systemGallery = 17039399; // 0x1040027
533    field public static final int config_systemNotificationIntelligence = 17039413; // 0x1040035
534    field public static final int config_systemSettingsIntelligence = 17039426; // 0x1040042
535    field public static final int config_systemShell = 17039402; // 0x104002a
536    field public static final int config_systemSpeechRecognizer = 17039406; // 0x104002e
537    field public static final int config_systemSupervision = 17039420; // 0x104003c
538    field public static final int config_systemTelevisionNotificationHandler = 17039409; // 0x1040031
539    field public static final int config_systemTextIntelligence = 17039414; // 0x1040036
540    field public static final int config_systemUi = 17039418; // 0x104003a
541    field public static final int config_systemUiIntelligence = 17039410; // 0x1040032
542    field public static final int config_systemVendorIntelligence = 17039435; // 0x104004b
543    field public static final int config_systemVisualIntelligence = 17039415; // 0x1040037
544    field public static final int config_systemWearHealthService = 17039428; // 0x1040044
545    field public static final int config_systemWellbeing = 17039408; // 0x1040030
546    field public static final int config_systemWifiCoexManager = 17039407; // 0x104002f
547    field public static final int safety_protection_display_text = 17039425; // 0x1040041
548  }
549
550  public static final class R.style {
551    field public static final int Theme_DeviceDefault_DocumentsUI = 16974562; // 0x10302e2
552    field public static final int Theme_Leanback_FormWizard = 16974544; // 0x10302d0
553  }
554
555}
556
557package android.accessibilityservice {
558
559  public class AccessibilityServiceInfo implements android.os.Parcelable {
560    method public void setAccessibilityTool(boolean);
561  }
562
563}
564
565package android.accounts {
566
567  public class AccountManager {
568    method @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.os.Handler, @Nullable android.accounts.AccountManagerCallback<java.lang.Boolean>);
569    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);
570  }
571
572}
573
574package android.adservices.adid {
575
576  public abstract class AdIdProviderService extends android.app.Service {
577    ctor public AdIdProviderService();
578    method @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent);
579    method @NonNull public abstract android.adservices.adid.AdId onGetAdId(int, @NonNull String) throws java.io.IOException;
580    field public static final String SERVICE_INTERFACE = "android.adservices.adid.AdIdProviderService";
581  }
582
583}
584
585package android.adservices.appsetid {
586
587  public abstract class AppSetIdProviderService extends android.app.Service {
588    ctor public AppSetIdProviderService();
589    method @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent);
590    method @NonNull public abstract android.adservices.appsetid.AppSetId onGetAppSetId(int, @NonNull String) throws java.io.IOException;
591    field public static final String SERVICE_INTERFACE = "android.adservices.appsetid.AppSetIdProviderService";
592  }
593
594}
595
596package android.adservices.cobalt {
597
598  public abstract class AdServicesCobaltUploadService extends android.app.Service {
599    ctor public AdServicesCobaltUploadService();
600    method @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent);
601    method public abstract void onUploadEncryptedCobaltEnvelope(@NonNull android.adservices.cobalt.EncryptedCobaltEnvelopeParams);
602    field public static final String SERVICE_INTERFACE = "android.adservices.cobalt.AdServicesCobaltUploadService";
603  }
604
605  public final class EncryptedCobaltEnvelopeParams implements android.os.Parcelable {
606    ctor public EncryptedCobaltEnvelopeParams(int, @NonNull int, @NonNull byte[]);
607    method public int describeContents();
608    method @NonNull public byte[] getCipherText();
609    method @NonNull public int getEnvironment();
610    method @NonNull public int getKeyIndex();
611    method public void writeToParcel(@NonNull android.os.Parcel, int);
612    field @NonNull public static final android.os.Parcelable.Creator<android.adservices.cobalt.EncryptedCobaltEnvelopeParams> CREATOR;
613    field public static final int ENVIRONMENT_DEV = 1; // 0x1
614    field public static final int ENVIRONMENT_PROD = 0; // 0x0
615  }
616
617}
618
619package android.adservices.common {
620
621  public class AdServicesCommonManager {
622    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>);
623    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>);
624    method @NonNull public static android.adservices.common.AdServicesCommonManager get(@NonNull android.content.Context);
625    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>);
626    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>);
627    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>);
628    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>);
629    method @RequiresPermission(anyOf={android.adservices.common.AdServicesPermissions.MODIFY_ADSERVICES_STATE, android.adservices.common.AdServicesPermissions.MODIFY_ADSERVICES_STATE_COMPAT}) public void setAdServicesEnabled(boolean, boolean);
630    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>);
631    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>);
632    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";
633    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";
634    field public static final int MODULE_ADID = 5; // 0x5
635    field public static final int MODULE_MEASUREMENT = 0; // 0x0
636    field public static final int MODULE_ON_DEVICE_PERSONALIZATION = 4; // 0x4
637    field public static final int MODULE_PROTECTED_APP_SIGNALS = 2; // 0x2
638    field public static final int MODULE_PROTECTED_AUDIENCE = 1; // 0x1
639    field public static final int MODULE_STATE_DISABLED = 2; // 0x2
640    field public static final int MODULE_STATE_ENABLED = 1; // 0x1
641    field public static final int MODULE_STATE_UNKNOWN = 0; // 0x0
642    field public static final int MODULE_TOPICS = 3; // 0x3
643    field public static final int NOTIFICATION_NONE = 0; // 0x0
644    field public static final int NOTIFICATION_ONGOING = 1; // 0x1
645    field public static final int NOTIFICATION_REGULAR = 2; // 0x2
646    field public static final int USER_CHOICE_OPTED_IN = 1; // 0x1
647    field public static final int USER_CHOICE_OPTED_OUT = 2; // 0x2
648    field public static final int USER_CHOICE_UNKNOWN = 0; // 0x0
649  }
650
651  public class AdServicesPermissions {
652    field public static final String ACCESS_ADSERVICES_STATE = "android.permission.ACCESS_ADSERVICES_STATE";
653    field public static final String ACCESS_ADSERVICES_STATE_COMPAT = "android.permission.ACCESS_ADSERVICES_STATE_COMPAT";
654    field public static final String ACCESS_PRIVILEGED_ADSERVICES_COBALT_UPLOAD = "android.permission.ACCESS_PRIVILEGED_AD_SERVICES_COBALT_UPLOAD";
655    field public static final String ACCESS_PRIVILEGED_AD_ID = "android.permission.ACCESS_PRIVILEGED_AD_ID";
656    field public static final String ACCESS_PRIVILEGED_APP_SET_ID = "android.permission.ACCESS_PRIVILEGED_APP_SET_ID";
657    field public static final String MODIFY_ADSERVICES_STATE = "android.permission.MODIFY_ADSERVICES_STATE";
658    field public static final String MODIFY_ADSERVICES_STATE_COMPAT = "android.permission.MODIFY_ADSERVICES_STATE_COMPAT";
659    field public static final String UPDATE_PRIVILEGED_AD_ID = "android.permission.UPDATE_PRIVILEGED_AD_ID";
660    field public static final String UPDATE_PRIVILEGED_AD_ID_COMPAT = "android.permission.UPDATE_PRIVILEGED_AD_ID_COMPAT";
661  }
662
663  public final class AdServicesStates implements android.os.Parcelable {
664    method public int describeContents();
665    method @NonNull public boolean isAdIdEnabled();
666    method @NonNull public boolean isAdultAccount();
667    method @NonNull public boolean isPrivacySandboxUiEnabled();
668    method @NonNull public boolean isPrivacySandboxUiRequest();
669    method @NonNull public boolean isU18Account();
670    method public void writeToParcel(@NonNull android.os.Parcel, int);
671    field @NonNull public static final android.os.Parcelable.Creator<android.adservices.common.AdServicesStates> CREATOR;
672  }
673
674  public static final class AdServicesStates.Builder {
675    ctor public AdServicesStates.Builder();
676    method @NonNull public android.adservices.common.AdServicesStates build();
677    method @NonNull public android.adservices.common.AdServicesStates.Builder setAdIdEnabled(boolean);
678    method @NonNull public android.adservices.common.AdServicesStates.Builder setAdultAccount(boolean);
679    method @NonNull public android.adservices.common.AdServicesStates.Builder setPrivacySandboxUiEnabled(boolean);
680    method @NonNull public android.adservices.common.AdServicesStates.Builder setPrivacySandboxUiRequest(boolean);
681    method @NonNull public android.adservices.common.AdServicesStates.Builder setU18Account(boolean);
682  }
683
684  public final class EnableAdServicesResponse implements android.os.Parcelable {
685    method public int describeContents();
686    method public boolean isApiEnabled();
687    method public boolean isSuccess();
688    method public void writeToParcel(@NonNull android.os.Parcel, int);
689    field @NonNull public static final android.os.Parcelable.Creator<android.adservices.common.EnableAdServicesResponse> CREATOR;
690  }
691
692  public final class UpdateAdIdRequest implements android.os.Parcelable {
693    method public int describeContents();
694    method @NonNull public String getAdId();
695    method public boolean isLimitAdTrackingEnabled();
696    method public void writeToParcel(@NonNull android.os.Parcel, int);
697    field @NonNull public static final android.os.Parcelable.Creator<android.adservices.common.UpdateAdIdRequest> CREATOR;
698  }
699
700  public static final class UpdateAdIdRequest.Builder {
701    ctor public UpdateAdIdRequest.Builder(@NonNull String);
702    method @NonNull public android.adservices.common.UpdateAdIdRequest build();
703    method @NonNull public android.adservices.common.UpdateAdIdRequest.Builder setLimitAdTrackingEnabled(boolean);
704  }
705
706  public final class UpdateAdServicesModuleStatesParams implements android.os.Parcelable {
707    method public int describeContents();
708    method public int getModuleState(int);
709    method public int getNotificationType();
710    method public void writeToParcel(@NonNull android.os.Parcel, int);
711    field @NonNull public static final android.os.Parcelable.Creator<android.adservices.common.UpdateAdServicesModuleStatesParams> CREATOR;
712  }
713
714  public static final class UpdateAdServicesModuleStatesParams.Builder {
715    ctor public UpdateAdServicesModuleStatesParams.Builder();
716    method @NonNull public android.adservices.common.UpdateAdServicesModuleStatesParams build();
717    method @NonNull public android.adservices.common.UpdateAdServicesModuleStatesParams.Builder setModuleState(int, int);
718    method @NonNull public android.adservices.common.UpdateAdServicesModuleStatesParams.Builder setNotificationType(int);
719  }
720
721  public final class UpdateAdServicesUserChoicesParams implements android.os.Parcelable {
722    method public int describeContents();
723    method public int getUserChoice(int);
724    method public void writeToParcel(@NonNull android.os.Parcel, int);
725    field @NonNull public static final android.os.Parcelable.Creator<android.adservices.common.UpdateAdServicesUserChoicesParams> CREATOR;
726  }
727
728  public static final class UpdateAdServicesUserChoicesParams.Builder {
729    ctor public UpdateAdServicesUserChoicesParams.Builder();
730    method @NonNull public android.adservices.common.UpdateAdServicesUserChoicesParams build();
731    method @NonNull public android.adservices.common.UpdateAdServicesUserChoicesParams.Builder setUserChoice(int, int);
732  }
733
734}
735
736package android.adservices.extdata {
737
738  public final class AdServicesExtDataParams implements android.os.Parcelable {
739    ctor public AdServicesExtDataParams(int, int, int, int, int, long);
740    method public int describeContents();
741    method public int getIsAdultAccount();
742    method public int getIsMeasurementConsented();
743    method public int getIsNotificationDisplayed();
744    method public int getIsU18Account();
745    method public int getManualInteractionWithConsentStatus();
746    method public long getMeasurementRollbackApexVersion();
747    method public void writeToParcel(@NonNull android.os.Parcel, int);
748    field @NonNull public static final android.os.Parcelable.Creator<android.adservices.extdata.AdServicesExtDataParams> CREATOR;
749  }
750
751  public abstract class AdServicesExtDataStorageService extends android.app.Service {
752    ctor public AdServicesExtDataStorageService();
753    method @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent);
754    method @NonNull public abstract android.adservices.extdata.AdServicesExtDataParams onGetAdServicesExtData();
755    method public abstract void onPutAdServicesExtData(@NonNull android.adservices.extdata.AdServicesExtDataParams, @NonNull int[]);
756    field public static final int FIELD_IS_ADULT_ACCOUNT = 3; // 0x3
757    field public static final int FIELD_IS_MEASUREMENT_CONSENTED = 1; // 0x1
758    field public static final int FIELD_IS_NOTIFICATION_DISPLAYED = 0; // 0x0
759    field public static final int FIELD_IS_U18_ACCOUNT = 2; // 0x2
760    field public static final int FIELD_MANUAL_INTERACTION_WITH_CONSENT_STATUS = 4; // 0x4
761    field public static final int FIELD_MEASUREMENT_ROLLBACK_APEX_VERSION = 5; // 0x5
762    field public static final String SERVICE_INTERFACE = "android.adservices.extdata.AdServicesExtDataStorageService";
763  }
764
765}
766
767package android.adservices.ondevicepersonalization {
768
769  public final class MeasurementWebTriggerEventParams {
770    method @NonNull public String getAppPackageName();
771    method @Nullable public String getCertDigest();
772    method @NonNull public android.net.Uri getDestinationUrl();
773    method @Nullable public byte[] getEventData();
774    method @NonNull public android.content.ComponentName getIsolatedService();
775  }
776
777  public static final class MeasurementWebTriggerEventParams.Builder {
778    ctor public MeasurementWebTriggerEventParams.Builder(@NonNull android.net.Uri, @NonNull String, @NonNull android.content.ComponentName);
779    method @NonNull public android.adservices.ondevicepersonalization.MeasurementWebTriggerEventParams build();
780    method @NonNull public android.adservices.ondevicepersonalization.MeasurementWebTriggerEventParams.Builder setAppPackageName(@NonNull String);
781    method @NonNull public android.adservices.ondevicepersonalization.MeasurementWebTriggerEventParams.Builder setCertDigest(@Nullable String);
782    method @NonNull public android.adservices.ondevicepersonalization.MeasurementWebTriggerEventParams.Builder setDestinationUrl(@NonNull android.net.Uri);
783    method @NonNull public android.adservices.ondevicepersonalization.MeasurementWebTriggerEventParams.Builder setEventData(@Nullable byte...);
784    method @NonNull public android.adservices.ondevicepersonalization.MeasurementWebTriggerEventParams.Builder setIsolatedService(@NonNull android.content.ComponentName);
785  }
786
787  public class OnDevicePersonalizationConfigManager {
788    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>);
789  }
790
791  public class OnDevicePersonalizationPermissions {
792    field public static final String MODIFY_ONDEVICEPERSONALIZATION_STATE = "android.permission.ondevicepersonalization.MODIFY_ONDEVICEPERSONALIZATION_STATE";
793    field public static final String NOTIFY_MEASUREMENT_EVENT = "android.permission.ondevicepersonalization.NOTIFY_MEASUREMENT_EVENT";
794  }
795
796  public class OnDevicePersonalizationSystemEventManager {
797    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>);
798  }
799
800}
801
802package android.app {
803
804  @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 {
805    method public void convertFromTranslucent();
806    method public boolean convertToTranslucent(android.app.Activity.TranslucentConversionListener, android.app.ActivityOptions);
807    method @Deprecated public boolean isBackgroundVisibleBehind();
808    method @Deprecated public void onBackgroundVisibleBehindChanged(boolean);
809    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);
810    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);
811    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);
812  }
813
814  public static interface Activity.TranslucentConversionListener {
815    method public void onTranslucentConversionComplete(boolean);
816  }
817
818  public class ActivityManager {
819    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public void addOnUidImportanceListener(android.app.ActivityManager.OnUidImportanceListener, int);
820    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public void addOnUidImportanceListener(@NonNull android.app.ActivityManager.OnUidImportanceListener, int, @NonNull int[]);
821    method @RequiresPermission(android.Manifest.permission.FORCE_STOP_PACKAGES) public void forceStopPackage(String);
822    method @RequiresPermission(android.Manifest.permission.GET_BINDING_UID_IMPORTANCE) public int getBindingUidImportance(int);
823    method @RequiresPermission(anyOf={"android.permission.INTERACT_ACROSS_USERS", "android.permission.INTERACT_ACROSS_USERS_FULL"}) public static int getCurrentUser();
824    method @NonNull @RequiresPermission(android.Manifest.permission.DUMP) public java.util.List<android.app.ApplicationStartInfo> getExternalHistoricalProcessStartReasons(@NonNull String, @IntRange(from=0) int);
825    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public int getPackageImportance(String);
826    method @NonNull public java.util.Collection<java.util.Locale> getSupportedLocales();
827    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public int getUidImportance(int);
828    method @RequiresPermission(android.Manifest.permission.FORCE_STOP_PACKAGES) public void killProcessesWhenImperceptible(@NonNull int[], @NonNull String);
829    method @RequiresPermission(android.Manifest.permission.KILL_UID) public void killUid(int, String);
830    method @RequiresPermission(android.Manifest.permission.LOG_FOREGROUND_RESOURCE_USE) public void noteForegroundResourceUseBegin(int, int, int) throws java.lang.SecurityException;
831    method @RequiresPermission(android.Manifest.permission.LOG_FOREGROUND_RESOURCE_USE) public void noteForegroundResourceUseEnd(int, int, int) throws java.lang.SecurityException;
832    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public void removeOnUidImportanceListener(android.app.ActivityManager.OnUidImportanceListener);
833    method public void setDeviceLocales(@NonNull android.os.LocaleList);
834    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public static void setPersistentVrThread(int);
835    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS_FULL}) public boolean startProfile(@NonNull android.os.UserHandle);
836    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS_FULL}) public boolean stopProfile(@NonNull android.os.UserHandle);
837    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean switchUser(@NonNull android.os.UserHandle);
838    field public static final int FOREGROUND_SERVICE_API_TYPE_AUDIO = 5; // 0x5
839    field public static final int FOREGROUND_SERVICE_API_TYPE_BLUETOOTH = 2; // 0x2
840    field public static final int FOREGROUND_SERVICE_API_TYPE_CAMERA = 1; // 0x1
841    field public static final int FOREGROUND_SERVICE_API_TYPE_CDM = 9; // 0x9
842    field public static final int FOREGROUND_SERVICE_API_TYPE_LOCATION = 3; // 0x3
843    field public static final int FOREGROUND_SERVICE_API_TYPE_MEDIA_PLAYBACK = 4; // 0x4
844    field public static final int FOREGROUND_SERVICE_API_TYPE_MICROPHONE = 6; // 0x6
845    field public static final int FOREGROUND_SERVICE_API_TYPE_PHONE_CALL = 7; // 0x7
846    field public static final int FOREGROUND_SERVICE_API_TYPE_USB = 8; // 0x8
847    field public static final int PROCESS_CAPABILITY_FOREGROUND_CAMERA = 2; // 0x2
848    field public static final int PROCESS_CAPABILITY_FOREGROUND_LOCATION = 1; // 0x1
849    field public static final int PROCESS_CAPABILITY_FOREGROUND_MICROPHONE = 4; // 0x4
850    field public static final int PROCESS_CAPABILITY_NONE = 0; // 0x0
851  }
852
853  public static interface ActivityManager.OnUidImportanceListener {
854    method public void onUidImportance(int, int);
855  }
856
857  public class ActivityOptions {
858    method public int getLaunchTaskId();
859    method @RequiresPermission(android.Manifest.permission.START_TASKS_FROM_RECENTS) public void setLaunchTaskId(int);
860  }
861
862  public class AlarmManager {
863    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);
864    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void set(int, long, long, long, @NonNull android.app.PendingIntent, @Nullable android.os.WorkSource);
865    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);
866    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);
867    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);
868    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);
869  }
870
871  public class AppOpsManager {
872    method @Nullable @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public android.app.RuntimeAppOpAccessMessage collectRuntimeAppOpAccessMessage();
873    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>);
874    method public static String[] getOpStrs();
875    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...);
876    method @NonNull @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public java.util.List<android.app.AppOpsManager.PackageOps> getPackagesForOps(@Nullable String[]);
877    method @NonNull @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public java.util.List<android.app.AppOpsManager.PackageOps> getPackagesForOps(@Nullable String[], @NonNull String);
878    method @NonNull @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public java.util.List<android.permission.PermissionGroupUsage> getPermissionGroupUsageForPrivacyIndicator(boolean);
879    method public static int opToDefaultMode(@NonNull String);
880    method @Nullable public static String opToPermission(@NonNull String);
881    method @RequiresPermission("android.permission.MANAGE_APP_OPS_MODES") public void setMode(@NonNull String, int, @Nullable String, int);
882    method @RequiresPermission("android.permission.MANAGE_APP_OPS_MODES") public void setUidMode(@NonNull String, int, int);
883    method @RequiresPermission(value="android.permission.WATCH_APPOPS", conditional=true) public void startWatchingNoted(@NonNull String[], @NonNull android.app.AppOpsManager.OnOpNotedListener);
884    method @RequiresPermission(value="android.permission.WATCH_APPOPS", conditional=true) public void startWatchingNoted(@NonNull String[], @NonNull java.util.concurrent.Executor, @NonNull android.app.AppOpsManager.OnOpNotedListener);
885    method public void stopWatchingNoted(@NonNull android.app.AppOpsManager.OnOpNotedListener);
886    field public static final int HISTORY_FLAGS_ALL = 3; // 0x3
887    field public static final int HISTORY_FLAG_AGGREGATE = 1; // 0x1
888    field public static final int HISTORY_FLAG_DISCRETE = 2; // 0x2
889    field public static final int HISTORY_FLAG_GET_ATTRIBUTION_CHAINS = 4; // 0x4
890    field public static final String OPSTR_ACCEPT_HANDOVER = "android:accept_handover";
891    field public static final String OPSTR_ACCESS_ACCESSIBILITY = "android:access_accessibility";
892    field public static final String OPSTR_ACCESS_NOTIFICATIONS = "android:access_notifications";
893    field public static final String OPSTR_ACCESS_RESTRICTED_SETTINGS = "android:access_restricted_settings";
894    field public static final String OPSTR_ACTIVATE_PLATFORM_VPN = "android:activate_platform_vpn";
895    field public static final String OPSTR_ACTIVATE_VPN = "android:activate_vpn";
896    field public static final String OPSTR_ASSIST_SCREENSHOT = "android:assist_screenshot";
897    field public static final String OPSTR_ASSIST_STRUCTURE = "android:assist_structure";
898    field public static final String OPSTR_AUDIO_ACCESSIBILITY_VOLUME = "android:audio_accessibility_volume";
899    field public static final String OPSTR_AUDIO_ALARM_VOLUME = "android:audio_alarm_volume";
900    field public static final String OPSTR_AUDIO_BLUETOOTH_VOLUME = "android:audio_bluetooth_volume";
901    field public static final String OPSTR_AUDIO_MASTER_VOLUME = "android:audio_master_volume";
902    field public static final String OPSTR_AUDIO_MEDIA_VOLUME = "android:audio_media_volume";
903    field public static final String OPSTR_AUDIO_NOTIFICATION_VOLUME = "android:audio_notification_volume";
904    field public static final String OPSTR_AUDIO_RING_VOLUME = "android:audio_ring_volume";
905    field public static final String OPSTR_AUDIO_VOICE_VOLUME = "android:audio_voice_volume";
906    field public static final String OPSTR_AUTO_REVOKE_MANAGED_BY_INSTALLER = "android:auto_revoke_managed_by_installer";
907    field public static final String OPSTR_AUTO_REVOKE_PERMISSIONS_IF_UNUSED = "android:auto_revoke_permissions_if_unused";
908    field public static final String OPSTR_BIND_ACCESSIBILITY_SERVICE = "android:bind_accessibility_service";
909    field public static final String OPSTR_CAPTURE_CONSENTLESS_BUGREPORT_ON_USERDEBUG_BUILD = "android:capture_consentless_bugreport_on_userdebug_build";
910    field public static final String OPSTR_CHANGE_WIFI_STATE = "android:change_wifi_state";
911    field public static final String OPSTR_CREATE_ACCESSIBILITY_OVERLAY = "android:create_accessibility_overlay";
912    field public static final String OPSTR_EMERGENCY_LOCATION = "android:emergency_location";
913    field public static final String OPSTR_ENABLE_MOBILE_DATA_BY_USER = "android:enable_mobile_data_by_user";
914    field public static final String OPSTR_ESTABLISH_VPN_MANAGER = "android:establish_vpn_manager";
915    field public static final String OPSTR_ESTABLISH_VPN_SERVICE = "android:establish_vpn_service";
916    field public static final String OPSTR_GET_ACCOUNTS = "android:get_accounts";
917    field public static final String OPSTR_GPS = "android:gps";
918    field public static final String OPSTR_INSTANT_APP_START_FOREGROUND = "android:instant_app_start_foreground";
919    field public static final String OPSTR_INTERACT_ACROSS_PROFILES = "android:interact_across_profiles";
920    field public static final String OPSTR_LEGACY_STORAGE = "android:legacy_storage";
921    field public static final String OPSTR_LOADER_USAGE_STATS = "android:loader_usage_stats";
922    field public static final String OPSTR_MANAGE_EXTERNAL_STORAGE = "android:manage_external_storage";
923    field public static final String OPSTR_MANAGE_IPSEC_TUNNELS = "android:manage_ipsec_tunnels";
924    field public static final String OPSTR_MANAGE_ONGOING_CALLS = "android:manage_ongoing_calls";
925    field public static final String OPSTR_MEDIA_ROUTING_CONTROL = "android:media_routing_control";
926    field public static final String OPSTR_MUTE_MICROPHONE = "android:mute_microphone";
927    field public static final String OPSTR_NEIGHBORING_CELLS = "android:neighboring_cells";
928    field public static final String OPSTR_PHONE_CALL_CAMERA = "android:phone_call_camera";
929    field public static final String OPSTR_PHONE_CALL_MICROPHONE = "android:phone_call_microphone";
930    field public static final String OPSTR_PLAY_AUDIO = "android:play_audio";
931    field public static final String OPSTR_POST_NOTIFICATION = "android:post_notification";
932    field public static final String OPSTR_PROJECT_MEDIA = "android:project_media";
933    field public static final String OPSTR_RANGING = "android:ranging";
934    field public static final String OPSTR_RAPID_CLEAR_NOTIFICATIONS_BY_LISTENER = "android:rapid_clear_notifications_by_listener";
935    field public static final String OPSTR_READ_CLIPBOARD = "android:read_clipboard";
936    field public static final String OPSTR_READ_HEART_RATE = "android:read_heart_rate";
937    field public static final String OPSTR_READ_ICC_SMS = "android:read_icc_sms";
938    field public static final String OPSTR_READ_MEDIA_AUDIO = "android:read_media_audio";
939    field public static final String OPSTR_READ_MEDIA_IMAGES = "android:read_media_images";
940    field public static final String OPSTR_READ_MEDIA_VIDEO = "android:read_media_video";
941    field public static final String OPSTR_READ_MEDIA_VISUAL_USER_SELECTED = "android:read_media_visual_user_selected";
942    field public static final String OPSTR_READ_OXYGEN_SATURATION = "android:read_oxygen_saturation";
943    field public static final String OPSTR_READ_SKIN_TEMPERATURE = "android:read_skin_temperature";
944    field public static final String OPSTR_READ_WRITE_HEALTH_DATA = "android:read_write_health_data";
945    field public static final String OPSTR_RECEIVE_AMBIENT_TRIGGER_AUDIO = "android:receive_ambient_trigger_audio";
946    field public static final String OPSTR_RECEIVE_EMERGENCY_BROADCAST = "android:receive_emergency_broadcast";
947    field public static final String OPSTR_RECEIVE_EXPLICIT_USER_INTERACTION_AUDIO = "android:receive_explicit_user_interaction_audio";
948    field public static final String OPSTR_REQUEST_DELETE_PACKAGES = "android:request_delete_packages";
949    field public static final String OPSTR_REQUEST_INSTALL_PACKAGES = "android:request_install_packages";
950    field public static final String OPSTR_RUN_ANY_IN_BACKGROUND = "android:run_any_in_background";
951    field public static final String OPSTR_RUN_IN_BACKGROUND = "android:run_in_background";
952    field public static final String OPSTR_START_FOREGROUND = "android:start_foreground";
953    field public static final String OPSTR_SYSTEM_EXEMPT_FROM_HIBERNATION = "android:system_exempt_from_hibernation";
954    field public static final String OPSTR_TAKE_AUDIO_FOCUS = "android:take_audio_focus";
955    field public static final String OPSTR_TAKE_MEDIA_BUTTONS = "android:take_media_buttons";
956    field public static final String OPSTR_TOAST_WINDOW = "android:toast_window";
957    field public static final String OPSTR_TURN_SCREEN_ON = "android:turn_screen_on";
958    field public static final String OPSTR_VIBRATE = "android:vibrate";
959    field public static final String OPSTR_WAKE_LOCK = "android:wake_lock";
960    field public static final String OPSTR_WIFI_SCAN = "android:wifi_scan";
961    field public static final String OPSTR_WRITE_CLIPBOARD = "android:write_clipboard";
962    field public static final String OPSTR_WRITE_ICC_SMS = "android:write_icc_sms";
963    field public static final String OPSTR_WRITE_MEDIA_AUDIO = "android:write_media_audio";
964    field public static final String OPSTR_WRITE_MEDIA_IMAGES = "android:write_media_images";
965    field public static final String OPSTR_WRITE_MEDIA_VIDEO = "android:write_media_video";
966    field public static final String OPSTR_WRITE_SMS = "android:write_sms";
967    field public static final String OPSTR_WRITE_WALLPAPER = "android:write_wallpaper";
968    field public static final int OP_FLAGS_ALL = 31; // 0x1f
969    field public static final int OP_FLAGS_ALL_TRUSTED = 13; // 0xd
970    field public static final int OP_FLAG_SELF = 1; // 0x1
971    field public static final int OP_FLAG_TRUSTED_PROXIED = 8; // 0x8
972    field public static final int OP_FLAG_TRUSTED_PROXY = 2; // 0x2
973    field public static final int OP_FLAG_UNTRUSTED_PROXIED = 16; // 0x10
974    field public static final int OP_FLAG_UNTRUSTED_PROXY = 4; // 0x4
975    field public static final int UID_STATE_BACKGROUND = 600; // 0x258
976    field public static final int UID_STATE_CACHED = 700; // 0x2bc
977    field public static final int UID_STATE_FOREGROUND = 500; // 0x1f4
978    field public static final int UID_STATE_FOREGROUND_SERVICE = 400; // 0x190
979    field @Deprecated public static final int UID_STATE_FOREGROUND_SERVICE_LOCATION = 300; // 0x12c
980    field public static final int UID_STATE_PERSISTENT = 100; // 0x64
981    field public static final int UID_STATE_TOP = 200; // 0xc8
982  }
983
984  public static final class AppOpsManager.AttributedHistoricalOps implements android.os.Parcelable {
985    method public int describeContents();
986    method @Nullable public android.app.AppOpsManager.HistoricalOp getOp(@NonNull String);
987    method @NonNull public android.app.AppOpsManager.HistoricalOp getOpAt(@IntRange(from=0) int);
988    method @IntRange(from=0) public int getOpCount();
989    method @Nullable public String getTag();
990    method public void writeToParcel(@NonNull android.os.Parcel, int);
991    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.AttributedHistoricalOps> CREATOR;
992  }
993
994  public static final class AppOpsManager.AttributedOpEntry implements android.os.Parcelable {
995    method public int describeContents();
996    method public long getLastAccessBackgroundTime(int);
997    method public long getLastAccessForegroundTime(int);
998    method public long getLastAccessTime(int);
999    method public long getLastAccessTime(int, int, int);
1000    method public long getLastBackgroundDuration(int);
1001    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastBackgroundProxyInfo(int);
1002    method public long getLastDuration(int);
1003    method public long getLastDuration(int, int, int);
1004    method public long getLastForegroundDuration(int);
1005    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastForegroundProxyInfo(int);
1006    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastProxyInfo(int);
1007    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastProxyInfo(int, int, int);
1008    method public long getLastRejectBackgroundTime(int);
1009    method public long getLastRejectForegroundTime(int);
1010    method public long getLastRejectTime(int);
1011    method public long getLastRejectTime(int, int, int);
1012    method public boolean isRunning();
1013    method public void writeToParcel(@NonNull android.os.Parcel, int);
1014    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.AttributedOpEntry> CREATOR;
1015  }
1016
1017  public static final class AppOpsManager.HistoricalOp implements android.os.Parcelable {
1018    method public int describeContents();
1019    method public long getAccessCount(int, int, int);
1020    method public long getAccessDuration(int, int, int);
1021    method public long getBackgroundAccessCount(int);
1022    method public long getBackgroundAccessDuration(int);
1023    method @NonNull public java.util.List<android.app.AppOpsManager.AttributedOpEntry> getBackgroundDiscreteAccesses(int);
1024    method public long getBackgroundRejectCount(int);
1025    method @NonNull public android.app.AppOpsManager.AttributedOpEntry getDiscreteAccessAt(@IntRange(from=0) int);
1026    method @IntRange(from=0) public int getDiscreteAccessCount();
1027    method @NonNull public java.util.List<android.app.AppOpsManager.AttributedOpEntry> getDiscreteAccesses(int, int, int);
1028    method public long getForegroundAccessCount(int);
1029    method public long getForegroundAccessDuration(int);
1030    method @NonNull public java.util.List<android.app.AppOpsManager.AttributedOpEntry> getForegroundDiscreteAccesses(int);
1031    method public long getForegroundRejectCount(int);
1032    method @NonNull public String getOpName();
1033    method public long getRejectCount(int, int, int);
1034    method public void writeToParcel(android.os.Parcel, int);
1035    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalOp> CREATOR;
1036  }
1037
1038  public static final class AppOpsManager.HistoricalOps implements android.os.Parcelable {
1039    method public int describeContents();
1040    method public long getBeginTimeMillis();
1041    method public long getEndTimeMillis();
1042    method @IntRange(from=0) public int getUidCount();
1043    method @Nullable public android.app.AppOpsManager.HistoricalUidOps getUidOps(int);
1044    method @NonNull public android.app.AppOpsManager.HistoricalUidOps getUidOpsAt(@IntRange(from=0) int);
1045    method public void writeToParcel(android.os.Parcel, int);
1046    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalOps> CREATOR;
1047  }
1048
1049  public static final class AppOpsManager.HistoricalOpsRequest {
1050  }
1051
1052  public static final class AppOpsManager.HistoricalOpsRequest.Builder {
1053    ctor public AppOpsManager.HistoricalOpsRequest.Builder(long, long);
1054    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest build();
1055    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setAttributionTag(@Nullable String);
1056    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setFlags(int);
1057    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setHistoryFlags(int);
1058    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setOpNames(@Nullable java.util.List<java.lang.String>);
1059    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setPackageName(@Nullable String);
1060    method @NonNull public android.app.AppOpsManager.HistoricalOpsRequest.Builder setUid(int);
1061  }
1062
1063  public static final class AppOpsManager.HistoricalPackageOps implements android.os.Parcelable {
1064    method public int describeContents();
1065    method @Nullable public android.app.AppOpsManager.AttributedHistoricalOps getAttributedOps(@Nullable String);
1066    method @NonNull public android.app.AppOpsManager.AttributedHistoricalOps getAttributedOpsAt(@IntRange(from=0) int);
1067    method @IntRange(from=0) public int getAttributedOpsCount();
1068    method @Nullable public android.app.AppOpsManager.HistoricalOp getOp(@NonNull String);
1069    method @NonNull public android.app.AppOpsManager.HistoricalOp getOpAt(@IntRange(from=0) int);
1070    method @IntRange(from=0) public int getOpCount();
1071    method @NonNull public String getPackageName();
1072    method public void writeToParcel(@NonNull android.os.Parcel, int);
1073    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalPackageOps> CREATOR;
1074  }
1075
1076  public static final class AppOpsManager.HistoricalUidOps implements android.os.Parcelable {
1077    method public int describeContents();
1078    method @IntRange(from=0) public int getPackageCount();
1079    method @Nullable public android.app.AppOpsManager.HistoricalPackageOps getPackageOps(@NonNull String);
1080    method @NonNull public android.app.AppOpsManager.HistoricalPackageOps getPackageOpsAt(@IntRange(from=0) int);
1081    method public int getUid();
1082    method public void writeToParcel(android.os.Parcel, int);
1083    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.HistoricalUidOps> CREATOR;
1084  }
1085
1086  public static interface AppOpsManager.OnOpNotedListener {
1087    method public void onOpNoted(@NonNull String, int, @NonNull String, @Nullable String, int, int);
1088    method public default void onOpNoted(@NonNull String, int, @NonNull String, @Nullable String, int, int, int);
1089  }
1090
1091  public static final class AppOpsManager.OpEntry implements android.os.Parcelable {
1092    method public int describeContents();
1093    method @NonNull public java.util.Map<java.lang.String,android.app.AppOpsManager.AttributedOpEntry> getAttributedOpEntries();
1094    method @Deprecated public long getDuration();
1095    method public long getLastAccessBackgroundTime(int);
1096    method public long getLastAccessForegroundTime(int);
1097    method public long getLastAccessTime(int);
1098    method public long getLastAccessTime(int, int, int);
1099    method public long getLastBackgroundDuration(int);
1100    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastBackgroundProxyInfo(int);
1101    method public long getLastDuration(int);
1102    method public long getLastDuration(int, int, int);
1103    method public long getLastForegroundDuration(int);
1104    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastForegroundProxyInfo(int);
1105    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastProxyInfo(int);
1106    method @Nullable public android.app.AppOpsManager.OpEventProxyInfo getLastProxyInfo(int, int, int);
1107    method public long getLastRejectBackgroundTime(int);
1108    method public long getLastRejectForegroundTime(int);
1109    method public long getLastRejectTime(int);
1110    method public long getLastRejectTime(int, int, int);
1111    method public int getMode();
1112    method @NonNull public String getOpStr();
1113    method @Deprecated @Nullable public String getProxyPackageName();
1114    method @Deprecated @Nullable public String getProxyPackageName(int, int);
1115    method @Deprecated public int getProxyUid();
1116    method @Deprecated public int getProxyUid(int, int);
1117    method public boolean isRunning();
1118    method public void writeToParcel(android.os.Parcel, int);
1119    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.OpEntry> CREATOR;
1120  }
1121
1122  public static final class AppOpsManager.OpEventProxyInfo implements android.os.Parcelable {
1123    method public int describeContents();
1124    method @Nullable public String getAttributionTag();
1125    method @Nullable public String getPackageName();
1126    method @IntRange(from=0) public int getUid();
1127    method public void writeToParcel(@NonNull android.os.Parcel, int);
1128    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.OpEventProxyInfo> CREATOR;
1129  }
1130
1131  public static final class AppOpsManager.PackageOps implements android.os.Parcelable {
1132    method public int describeContents();
1133    method @NonNull public java.util.List<android.app.AppOpsManager.OpEntry> getOps();
1134    method @NonNull public String getPackageName();
1135    method public int getUid();
1136    method public void writeToParcel(@NonNull android.os.Parcel, int);
1137    field @NonNull public static final android.os.Parcelable.Creator<android.app.AppOpsManager.PackageOps> CREATOR;
1138  }
1139
1140  public final class BackgroundInstallControlManager {
1141    method @NonNull @RequiresPermission(android.Manifest.permission.GET_BACKGROUND_INSTALLED_PACKAGES) public java.util.List<android.content.pm.PackageInfo> getBackgroundInstalledPackages(long);
1142  }
1143
1144  public class BroadcastOptions {
1145    method public void clearRequireCompatChange();
1146    method public int getPendingIntentBackgroundActivityStartMode();
1147    method @Deprecated public boolean isPendingIntentBackgroundActivityLaunchAllowed();
1148    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RESPONSE_STATS) public void recordResponseEventWhileInBackground(@IntRange(from=0) long);
1149    method @RequiresPermission(android.Manifest.permission.START_ACTIVITIES_FROM_BACKGROUND) public void setBackgroundActivityStartsAllowed(boolean);
1150    method public void setDontSendToRestrictedApps(boolean);
1151    method @Deprecated public void setPendingIntentBackgroundActivityLaunchAllowed(boolean);
1152    method @NonNull public android.app.BroadcastOptions setPendingIntentBackgroundActivityStartMode(int);
1153    method public void setRequireAllOfPermissions(@Nullable String[]);
1154    method public void setRequireCompatChange(long, boolean);
1155    method public void setRequireNoneOfPermissions(@Nullable String[]);
1156    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);
1157    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);
1158  }
1159
1160  public class DownloadManager {
1161    method @RequiresPermission(android.Manifest.permission.WRITE_MEDIA_STORAGE) public void onMediaStoreDownloadsDeleted(@NonNull android.util.LongSparseArray<java.lang.String>);
1162    field public static final String ACTION_DOWNLOAD_COMPLETED = "android.intent.action.DOWNLOAD_COMPLETED";
1163  }
1164
1165  public final class GameManager {
1166    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_GAME_MODE) public android.app.GameModeInfo getGameModeInfo(@NonNull String);
1167    method @RequiresPermission(android.Manifest.permission.MANAGE_GAME_MODE) public void setGameMode(@NonNull String, int);
1168    method @RequiresPermission(android.Manifest.permission.MANAGE_GAME_MODE) public void updateCustomGameModeConfiguration(@NonNull String, @NonNull android.app.GameModeConfiguration);
1169  }
1170
1171  public final class GameModeConfiguration implements android.os.Parcelable {
1172    method public int describeContents();
1173    method public int getFpsOverride();
1174    method public float getScalingFactor();
1175    method public void writeToParcel(@NonNull android.os.Parcel, int);
1176    field @NonNull public static final android.os.Parcelable.Creator<android.app.GameModeConfiguration> CREATOR;
1177    field public static final int FPS_OVERRIDE_NONE = 0; // 0x0
1178  }
1179
1180  public static final class GameModeConfiguration.Builder {
1181    ctor public GameModeConfiguration.Builder();
1182    ctor public GameModeConfiguration.Builder(@NonNull android.app.GameModeConfiguration);
1183    method @NonNull public android.app.GameModeConfiguration build();
1184    method @NonNull public android.app.GameModeConfiguration.Builder setFpsOverride(int);
1185    method @NonNull public android.app.GameModeConfiguration.Builder setScalingFactor(float);
1186  }
1187
1188  public final class GameModeInfo implements android.os.Parcelable {
1189    ctor @Deprecated public GameModeInfo(int, @NonNull int[]);
1190    method public int describeContents();
1191    method public int getActiveGameMode();
1192    method @NonNull public int[] getAvailableGameModes();
1193    method @Nullable public android.app.GameModeConfiguration getGameModeConfiguration(int);
1194    method @NonNull public int[] getOverriddenGameModes();
1195    method public boolean isDownscalingAllowed();
1196    method public boolean isFpsOverrideAllowed();
1197    method public void writeToParcel(@NonNull android.os.Parcel, int);
1198    field @NonNull public static final android.os.Parcelable.Creator<android.app.GameModeInfo> CREATOR;
1199  }
1200
1201  public static final class GameModeInfo.Builder {
1202    ctor public GameModeInfo.Builder();
1203    method @NonNull public android.app.GameModeInfo build();
1204    method @NonNull public android.app.GameModeInfo.Builder setActiveGameMode(@NonNull int);
1205    method @NonNull public android.app.GameModeInfo.Builder setAvailableGameModes(@NonNull int[]);
1206    method @NonNull public android.app.GameModeInfo.Builder setDownscalingAllowed(boolean);
1207    method @NonNull public android.app.GameModeInfo.Builder setFpsOverrideAllowed(boolean);
1208    method @NonNull public android.app.GameModeInfo.Builder setGameModeConfiguration(int, @NonNull android.app.GameModeConfiguration);
1209    method @NonNull public android.app.GameModeInfo.Builder setOverriddenGameModes(@NonNull int[]);
1210  }
1211
1212  public abstract class InstantAppResolverService extends android.app.Service {
1213    ctor public InstantAppResolverService();
1214    method public final void attachBaseContext(android.content.Context);
1215    method public final android.os.IBinder onBind(android.content.Intent);
1216    method @Deprecated public void onGetInstantAppIntentFilter(@NonNull android.content.Intent, @Nullable int[], @NonNull android.os.UserHandle, @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
1217    method @Deprecated public void onGetInstantAppIntentFilter(@NonNull android.content.Intent, @Nullable int[], @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
1218    method @MainThread public void onGetInstantAppIntentFilter(@NonNull android.content.pm.InstantAppRequestInfo, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
1219    method @Deprecated public void onGetInstantAppIntentFilter(@Nullable int[], @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
1220    method @Deprecated public void onGetInstantAppResolveInfo(@NonNull android.content.Intent, @Nullable int[], @NonNull android.os.UserHandle, @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
1221    method @Deprecated public void onGetInstantAppResolveInfo(@NonNull android.content.Intent, @Nullable int[], @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
1222    method @MainThread public void onGetInstantAppResolveInfo(@NonNull android.content.pm.InstantAppRequestInfo, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
1223    method @Deprecated public void onGetInstantAppResolveInfo(@Nullable int[], @NonNull String, @NonNull android.app.InstantAppResolverService.InstantAppResolutionCallback);
1224  }
1225
1226  public static final class InstantAppResolverService.InstantAppResolutionCallback {
1227    method public void onInstantAppResolveInfo(java.util.List<android.content.pm.InstantAppResolveInfo>);
1228  }
1229
1230  public class KeyguardManager {
1231    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);
1232    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);
1233    method public android.content.Intent createConfirmFactoryResetCredentialIntent(CharSequence, CharSequence, CharSequence);
1234    method @RequiresPermission("android.permission.SET_INITIAL_LOCK") public int getMinLockLength(boolean, int);
1235    method @RequiresPermission(android.Manifest.permission.CONTROL_KEYGUARD_SECURE_NOTIFICATIONS) public boolean getPrivateNotificationsAllowed();
1236    method @RequiresPermission("android.permission.SET_INITIAL_LOCK") public boolean isValidLockPasswordComplexity(int, @NonNull byte[], int);
1237    method @RequiresPermission(android.Manifest.permission.MANAGE_WEAK_ESCROW_TOKEN) public boolean isWeakEscrowTokenActive(long, @NonNull android.os.UserHandle);
1238    method @RequiresPermission(android.Manifest.permission.MANAGE_WEAK_ESCROW_TOKEN) public boolean isWeakEscrowTokenValid(long, @NonNull byte[], @NonNull android.os.UserHandle);
1239    method @RequiresPermission(android.Manifest.permission.MANAGE_WEAK_ESCROW_TOKEN) public boolean registerWeakEscrowTokenRemovedListener(@NonNull java.util.concurrent.Executor, @NonNull android.app.KeyguardManager.WeakEscrowTokenRemovedListener);
1240    method @RequiresPermission(android.Manifest.permission.MANAGE_WEAK_ESCROW_TOKEN) public boolean removeWeakEscrowToken(long, @NonNull android.os.UserHandle);
1241    method @RequiresPermission(android.Manifest.permission.SHOW_KEYGUARD_MESSAGE) public void requestDismissKeyguard(@NonNull android.app.Activity, @Nullable CharSequence, @Nullable android.app.KeyguardManager.KeyguardDismissCallback);
1242    method @RequiresPermission("android.permission.SET_INITIAL_LOCK") public boolean setLock(int, @NonNull byte[], int);
1243    method @RequiresPermission(android.Manifest.permission.CONTROL_KEYGUARD_SECURE_NOTIFICATIONS) public void setPrivateNotificationsAllowed(boolean);
1244    method @NonNull @RequiresPermission(android.Manifest.permission.CHECK_REMOTE_LOCKSCREEN) public android.app.RemoteLockscreenValidationSession startRemoteLockscreenValidation();
1245    method @RequiresPermission(android.Manifest.permission.MANAGE_WEAK_ESCROW_TOKEN) public boolean unregisterWeakEscrowTokenRemovedListener(@NonNull android.app.KeyguardManager.WeakEscrowTokenRemovedListener);
1246    method @NonNull @RequiresPermission(android.Manifest.permission.CHECK_REMOTE_LOCKSCREEN) public android.app.RemoteLockscreenValidationResult validateRemoteLockscreen(@NonNull byte[]);
1247    field public static final int PASSWORD = 0; // 0x0
1248    field public static final int PATTERN = 2; // 0x2
1249    field public static final int PIN = 1; // 0x1
1250  }
1251
1252  public static interface KeyguardManager.WeakEscrowTokenActivatedListener {
1253    method public void onWeakEscrowTokenActivated(long, @NonNull android.os.UserHandle);
1254  }
1255
1256  public static interface KeyguardManager.WeakEscrowTokenRemovedListener {
1257    method public void onWeakEscrowTokenRemoved(long, @NonNull android.os.UserHandle);
1258  }
1259
1260  public class LocaleManager {
1261    method @RequiresPermission(android.Manifest.permission.CHANGE_CONFIGURATION) public void setApplicationLocales(@NonNull String, @NonNull android.os.LocaleList);
1262  }
1263
1264  public class Notification implements android.os.Parcelable {
1265    field public static final String CATEGORY_CAR_EMERGENCY = "car_emergency";
1266    field public static final String CATEGORY_CAR_INFORMATION = "car_information";
1267    field public static final String CATEGORY_CAR_WARNING = "car_warning";
1268    field @RequiresPermission(android.Manifest.permission.NOTIFICATION_DURING_SETUP) public static final String EXTRA_ALLOW_DURING_SETUP = "android.allowDuringSetup";
1269    field @RequiresPermission(android.Manifest.permission.SUBSTITUTE_NOTIFICATION_APP_NAME) public static final String EXTRA_SUBSTITUTE_APP_NAME = "android.substName";
1270    field public static final int FLAG_AUTOGROUP_SUMMARY = 1024; // 0x400
1271  }
1272
1273  public static class Notification.Action implements android.os.Parcelable {
1274    field public static final int SEMANTIC_ACTION_CONVERSATION_IS_PHISHING = 12; // 0xc
1275    field public static final int SEMANTIC_ACTION_MARK_CONVERSATION_AS_PRIORITY = 11; // 0xb
1276  }
1277
1278  public static final class Notification.TvExtender implements android.app.Notification.Extender {
1279    method public boolean getSuppressShowOverApps();
1280    method public android.app.Notification.TvExtender setChannel(String);
1281  }
1282
1283  public final class NotificationChannel implements android.os.Parcelable {
1284    method public int getUserLockedFields();
1285    method public boolean isDeleted();
1286    method public void populateFromXml(org.xmlpull.v1.XmlPullParser);
1287    method public void setImportantConversation(boolean);
1288    method public org.json.JSONObject toJson() throws org.json.JSONException;
1289    method public void writeXml(org.xmlpull.v1.XmlSerializer) throws java.io.IOException;
1290    field public static final int USER_LOCKED_SOUND = 32; // 0x20
1291  }
1292
1293  public final class NotificationChannelGroup implements android.os.Parcelable {
1294    method public org.json.JSONObject toJson() throws org.json.JSONException;
1295  }
1296
1297  public class NotificationManager {
1298    method @NonNull public java.util.List<java.lang.String> getAllowedAssistantAdjustments();
1299    method @Nullable public android.content.ComponentName getAllowedNotificationAssistant();
1300    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_NOTIFICATION_LISTENERS) public java.util.List<android.content.ComponentName> getEnabledNotificationListeners();
1301    method public boolean isNotificationAssistantAccessGranted(@NonNull android.content.ComponentName);
1302    method @RequiresPermission(allOf={android.Manifest.permission.INTERACT_ACROSS_USERS, android.Manifest.permission.ACCESS_NOTIFICATIONS}) public void registerCallNotificationEventListener(@NonNull String, @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull android.app.NotificationManager.CallNotificationEventListener);
1303    method public void setNotificationAssistantAccessGranted(@Nullable android.content.ComponentName, boolean);
1304    method @RequiresPermission(android.Manifest.permission.MANAGE_NOTIFICATION_LISTENERS) public void setNotificationListenerAccessGranted(@NonNull android.content.ComponentName, boolean, boolean);
1305    method @RequiresPermission(allOf={android.Manifest.permission.INTERACT_ACROSS_USERS, android.Manifest.permission.ACCESS_NOTIFICATIONS}) public void unregisterCallNotificationEventListener(@NonNull android.app.NotificationManager.CallNotificationEventListener);
1306    field @RequiresPermission(android.Manifest.permission.STATUS_BAR_SERVICE) public static final String ACTION_CLOSE_NOTIFICATION_HANDLER_PANEL = "android.app.action.CLOSE_NOTIFICATION_HANDLER_PANEL";
1307    field @RequiresPermission(android.Manifest.permission.STATUS_BAR_SERVICE) public static final String ACTION_OPEN_NOTIFICATION_HANDLER_PANEL = "android.app.action.OPEN_NOTIFICATION_HANDLER_PANEL";
1308    field @RequiresPermission(android.Manifest.permission.STATUS_BAR_SERVICE) public static final String ACTION_TOGGLE_NOTIFICATION_HANDLER_PANEL = "android.app.action.TOGGLE_NOTIFICATION_HANDLER_PANEL";
1309  }
1310
1311  public static interface NotificationManager.CallNotificationEventListener {
1312    method public void onCallNotificationPosted(@NonNull String, @NonNull android.os.UserHandle);
1313    method public void onCallNotificationRemoved(@NonNull String, @NonNull android.os.UserHandle);
1314  }
1315
1316  public final class RemoteLockscreenValidationResult implements android.os.Parcelable {
1317    method public int describeContents();
1318    method public int getResultCode();
1319    method public long getTimeoutMillis();
1320    method public void writeToParcel(@NonNull android.os.Parcel, int);
1321    field @NonNull public static final android.os.Parcelable.Creator<android.app.RemoteLockscreenValidationResult> CREATOR;
1322    field public static final int RESULT_GUESS_INVALID = 2; // 0x2
1323    field public static final int RESULT_GUESS_VALID = 1; // 0x1
1324    field public static final int RESULT_LOCKOUT = 3; // 0x3
1325    field public static final int RESULT_NO_REMAINING_ATTEMPTS = 4; // 0x4
1326    field public static final int RESULT_SESSION_EXPIRED = 5; // 0x5
1327  }
1328
1329  public static final class RemoteLockscreenValidationResult.Builder {
1330    ctor public RemoteLockscreenValidationResult.Builder();
1331    method @NonNull public android.app.RemoteLockscreenValidationResult build();
1332    method @NonNull public android.app.RemoteLockscreenValidationResult.Builder setResultCode(int);
1333    method @NonNull public android.app.RemoteLockscreenValidationResult.Builder setTimeoutMillis(long);
1334  }
1335
1336  public final class RemoteLockscreenValidationSession implements android.os.Parcelable {
1337    method public int describeContents();
1338    method public int getLockType();
1339    method public int getRemainingAttempts();
1340    method @NonNull public byte[] getSourcePublicKey();
1341    method public void writeToParcel(@NonNull android.os.Parcel, int);
1342    field @NonNull public static final android.os.Parcelable.Creator<android.app.RemoteLockscreenValidationSession> CREATOR;
1343  }
1344
1345  public static final class RemoteLockscreenValidationSession.Builder {
1346    ctor public RemoteLockscreenValidationSession.Builder();
1347    method @NonNull public android.app.RemoteLockscreenValidationSession build();
1348    method @NonNull public android.app.RemoteLockscreenValidationSession.Builder setLockType(int);
1349    method @NonNull public android.app.RemoteLockscreenValidationSession.Builder setRemainingAttempts(int);
1350    method @NonNull public android.app.RemoteLockscreenValidationSession.Builder setSourcePublicKey(@NonNull byte[]);
1351  }
1352
1353  public final class RuntimeAppOpAccessMessage implements android.os.Parcelable {
1354    ctor public RuntimeAppOpAccessMessage(@IntRange(from=0L) int, @IntRange(from=0L) int, @NonNull String, @Nullable String, @NonNull String, int);
1355    method public int describeContents();
1356    method @Nullable public String getAttributionTag();
1357    method @NonNull public String getMessage();
1358    method @NonNull public String getOp();
1359    method @NonNull public String getPackageName();
1360    method public int getSamplingStrategy();
1361    method @IntRange(from=0L) public int getUid();
1362    method public void writeToParcel(@NonNull android.os.Parcel, int);
1363    field @NonNull public static final android.os.Parcelable.Creator<android.app.RuntimeAppOpAccessMessage> CREATOR;
1364  }
1365
1366  public class SearchManager implements android.content.DialogInterface.OnCancelListener android.content.DialogInterface.OnDismissListener {
1367    method public void launchAssist(@Nullable android.os.Bundle);
1368  }
1369
1370  public class StatsCursor extends android.database.AbstractCursor {
1371    method @NonNull public String[] getColumnNames();
1372    method public int getCount();
1373    method public double getDouble(int);
1374    method public float getFloat(int);
1375    method public int getInt(int);
1376    method public long getLong(int);
1377    method public short getShort(int);
1378    method @NonNull public String getString(int);
1379    method public boolean isNull(int);
1380  }
1381
1382  public final class StatsManager {
1383    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void addConfig(long, byte[]) throws android.app.StatsManager.StatsUnavailableException;
1384    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean addConfiguration(long, byte[]);
1385    method @RequiresPermission(android.Manifest.permission.REGISTER_STATS_PULL_ATOM) public void clearPullAtomCallback(int);
1386    method @Deprecated @Nullable @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public byte[] getData(long);
1387    method @Deprecated @Nullable @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public byte[] getMetadata();
1388    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public long[] getRegisteredExperimentIds() throws android.app.StatsManager.StatsUnavailableException;
1389    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public byte[] getReports(long) throws android.app.StatsManager.StatsUnavailableException;
1390    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public byte[] getStatsMetadata() throws android.app.StatsManager.StatsUnavailableException;
1391    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;
1392    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void removeConfig(long) throws android.app.StatsManager.StatsUnavailableException;
1393    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean removeConfiguration(long);
1394    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;
1395    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;
1396    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean setBroadcastSubscriber(long, long, android.app.PendingIntent);
1397    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean setDataFetchOperation(long, android.app.PendingIntent);
1398    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;
1399    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);
1400    method @NonNull @RequiresPermission(android.Manifest.permission.READ_RESTRICTED_STATS) public long[] setRestrictedMetricsChangedOperation(long, @NonNull String, @Nullable android.app.PendingIntent) throws android.app.StatsManager.StatsUnavailableException;
1401    field public static final String ACTION_STATSD_STARTED = "android.app.action.STATSD_STARTED";
1402    field public static final String EXTRA_STATS_ACTIVE_CONFIG_KEYS = "android.app.extra.STATS_ACTIVE_CONFIG_KEYS";
1403    field public static final String EXTRA_STATS_BROADCAST_SUBSCRIBER_COOKIES = "android.app.extra.STATS_BROADCAST_SUBSCRIBER_COOKIES";
1404    field public static final String EXTRA_STATS_CONFIG_KEY = "android.app.extra.STATS_CONFIG_KEY";
1405    field public static final String EXTRA_STATS_CONFIG_UID = "android.app.extra.STATS_CONFIG_UID";
1406    field public static final String EXTRA_STATS_DIMENSIONS_VALUE = "android.app.extra.STATS_DIMENSIONS_VALUE";
1407    field public static final String EXTRA_STATS_RESTRICTED_METRIC_IDS = "android.app.extra.STATS_RESTRICTED_METRIC_IDS";
1408    field public static final String EXTRA_STATS_SUBSCRIPTION_ID = "android.app.extra.STATS_SUBSCRIPTION_ID";
1409    field public static final String EXTRA_STATS_SUBSCRIPTION_RULE_ID = "android.app.extra.STATS_SUBSCRIPTION_RULE_ID";
1410    field public static final int PULL_SKIP = 1; // 0x1
1411    field public static final int PULL_SUCCESS = 0; // 0x0
1412  }
1413
1414  public static class StatsManager.PullAtomMetadata {
1415    method @Nullable public int[] getAdditiveFields();
1416    method public long getCoolDownMillis();
1417    method public long getTimeoutMillis();
1418  }
1419
1420  public static class StatsManager.PullAtomMetadata.Builder {
1421    ctor public StatsManager.PullAtomMetadata.Builder();
1422    method @NonNull public android.app.StatsManager.PullAtomMetadata build();
1423    method @NonNull public android.app.StatsManager.PullAtomMetadata.Builder setAdditiveFields(@NonNull int[]);
1424    method @NonNull public android.app.StatsManager.PullAtomMetadata.Builder setCoolDownMillis(long);
1425    method @NonNull public android.app.StatsManager.PullAtomMetadata.Builder setTimeoutMillis(long);
1426  }
1427
1428  public static interface StatsManager.StatsPullAtomCallback {
1429    method public int onPullAtom(int, @NonNull java.util.List<android.util.StatsEvent>);
1430  }
1431
1432  public static class StatsManager.StatsQueryException extends android.util.AndroidException {
1433    ctor public StatsManager.StatsQueryException(@NonNull String);
1434    ctor public StatsManager.StatsQueryException(@NonNull String, @NonNull Throwable);
1435  }
1436
1437  public static class StatsManager.StatsUnavailableException extends android.util.AndroidException {
1438    ctor public StatsManager.StatsUnavailableException(String);
1439    ctor public StatsManager.StatsUnavailableException(String, Throwable);
1440  }
1441
1442  public final class StatsQuery {
1443    method @IntRange(from=0) public int getMinSqlClientVersion();
1444    method @Nullable public byte[] getPolicyConfig();
1445    method @NonNull public String getRawSql();
1446    method public int getSqlDialect();
1447    field public static final int DIALECT_SQLITE = 1; // 0x1
1448    field public static final int DIALECT_UNKNOWN = 0; // 0x0
1449  }
1450
1451  public static final class StatsQuery.Builder {
1452    ctor public StatsQuery.Builder(@NonNull String);
1453    method @NonNull public android.app.StatsQuery build();
1454    method @NonNull public android.app.StatsQuery.Builder setMinSqlClientVersion(@IntRange(from=0) int);
1455    method @NonNull public android.app.StatsQuery.Builder setPolicyConfig(@NonNull byte[]);
1456    method @NonNull public android.app.StatsQuery.Builder setSqlDialect(int);
1457  }
1458
1459  public class StatusBarManager {
1460    method @NonNull @RequiresPermission(android.Manifest.permission.STATUS_BAR) public android.app.StatusBarManager.DisableInfo getDisableInfo();
1461    method @RequiresPermission(android.Manifest.permission.STATUS_BAR) public int getNavBarMode();
1462    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void registerNearbyMediaDevicesProvider(@NonNull android.media.NearbyMediaDevicesProvider);
1463    method @RequiresPermission(android.Manifest.permission.STATUS_BAR) public void setDisabledForSetup(boolean);
1464    method @RequiresPermission(android.Manifest.permission.STATUS_BAR) public void setNavBarMode(int);
1465    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void unregisterNearbyMediaDevicesProvider(@NonNull android.media.NearbyMediaDevicesProvider);
1466    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void updateMediaTapToTransferReceiverDisplay(int, @NonNull android.media.MediaRoute2Info, @Nullable android.graphics.drawable.Icon, @Nullable CharSequence);
1467    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void updateMediaTapToTransferSenderDisplay(int, @NonNull android.media.MediaRoute2Info, @Nullable java.util.concurrent.Executor, @Nullable Runnable);
1468    field public static final int MEDIA_TRANSFER_RECEIVER_STATE_CLOSE_TO_SENDER = 0; // 0x0
1469    field public static final int MEDIA_TRANSFER_RECEIVER_STATE_FAR_FROM_SENDER = 1; // 0x1
1470    field public static final int MEDIA_TRANSFER_RECEIVER_STATE_TRANSFER_TO_RECEIVER_FAILED = 3; // 0x3
1471    field public static final int MEDIA_TRANSFER_RECEIVER_STATE_TRANSFER_TO_RECEIVER_SUCCEEDED = 2; // 0x2
1472    field public static final int MEDIA_TRANSFER_SENDER_STATE_ALMOST_CLOSE_TO_END_CAST = 1; // 0x1
1473    field public static final int MEDIA_TRANSFER_SENDER_STATE_ALMOST_CLOSE_TO_START_CAST = 0; // 0x0
1474    field public static final int MEDIA_TRANSFER_SENDER_STATE_FAR_FROM_RECEIVER = 8; // 0x8
1475    field public static final int MEDIA_TRANSFER_SENDER_STATE_TRANSFER_TO_RECEIVER_FAILED = 6; // 0x6
1476    field public static final int MEDIA_TRANSFER_SENDER_STATE_TRANSFER_TO_RECEIVER_SUCCEEDED = 4; // 0x4
1477    field public static final int MEDIA_TRANSFER_SENDER_STATE_TRANSFER_TO_RECEIVER_TRIGGERED = 2; // 0x2
1478    field public static final int MEDIA_TRANSFER_SENDER_STATE_TRANSFER_TO_THIS_DEVICE_FAILED = 7; // 0x7
1479    field public static final int MEDIA_TRANSFER_SENDER_STATE_TRANSFER_TO_THIS_DEVICE_SUCCEEDED = 5; // 0x5
1480    field public static final int MEDIA_TRANSFER_SENDER_STATE_TRANSFER_TO_THIS_DEVICE_TRIGGERED = 3; // 0x3
1481    field public static final int NAV_BAR_MODE_DEFAULT = 0; // 0x0
1482    field public static final int NAV_BAR_MODE_KIDS = 1; // 0x1
1483  }
1484
1485  public static final class StatusBarManager.DisableInfo {
1486    method public boolean areAllComponentsEnabled();
1487    method public boolean isNavigateToHomeDisabled();
1488    method public boolean isNotificationPeekingDisabled();
1489    method public boolean isRecentsDisabled();
1490    method public boolean isSearchDisabled();
1491    method public boolean isStatusBarExpansionDisabled();
1492  }
1493
1494  public final class SystemServiceRegistry {
1495    method public static <TServiceClass> void registerContextAwareService(@NonNull String, @NonNull Class<TServiceClass>, @NonNull android.app.SystemServiceRegistry.ContextAwareServiceProducerWithBinder<TServiceClass>);
1496    method public static <TServiceClass> void registerContextAwareService(@NonNull String, @NonNull Class<TServiceClass>, @NonNull android.app.SystemServiceRegistry.ContextAwareServiceProducerWithoutBinder<TServiceClass>);
1497    method public static <TServiceClass> void registerStaticService(@NonNull String, @NonNull Class<TServiceClass>, @NonNull android.app.SystemServiceRegistry.StaticServiceProducerWithBinder<TServiceClass>);
1498    method public static <TServiceClass> void registerStaticService(@NonNull String, @NonNull Class<TServiceClass>, @NonNull android.app.SystemServiceRegistry.StaticServiceProducerWithoutBinder<TServiceClass>);
1499  }
1500
1501  public static interface SystemServiceRegistry.ContextAwareServiceProducerWithBinder<TServiceClass> {
1502    method @NonNull public TServiceClass createService(@NonNull android.content.Context, @NonNull android.os.IBinder);
1503  }
1504
1505  public static interface SystemServiceRegistry.ContextAwareServiceProducerWithoutBinder<TServiceClass> {
1506    method @NonNull public TServiceClass createService(@NonNull android.content.Context);
1507  }
1508
1509  public static interface SystemServiceRegistry.StaticServiceProducerWithBinder<TServiceClass> {
1510    method @NonNull public TServiceClass createService(@NonNull android.os.IBinder);
1511  }
1512
1513  public static interface SystemServiceRegistry.StaticServiceProducerWithoutBinder<TServiceClass> {
1514    method @NonNull public TServiceClass createService();
1515  }
1516
1517  public class UiModeManager {
1518    method @RequiresPermission(android.Manifest.permission.READ_PROJECTION_STATE) public void addOnProjectionStateChangedListener(int, @NonNull java.util.concurrent.Executor, @NonNull android.app.UiModeManager.OnProjectionStateChangedListener);
1519    method @RequiresPermission(android.Manifest.permission.ENTER_CAR_MODE_PRIORITIZED) public void enableCarMode(@IntRange(from=0) int, int);
1520    method @RequiresPermission(android.Manifest.permission.READ_PROJECTION_STATE) public int getActiveProjectionTypes();
1521    method @RequiresPermission(android.Manifest.permission.MODIFY_DAY_NIGHT_MODE) public int getNightModeCustomType();
1522    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PROJECTION_STATE) public java.util.Set<java.lang.String> getProjectingPackages(int);
1523    method @RequiresPermission(value=android.Manifest.permission.TOGGLE_AUTOMOTIVE_PROJECTION, conditional=true) public boolean releaseProjection(int);
1524    method @RequiresPermission(android.Manifest.permission.READ_PROJECTION_STATE) public void removeOnProjectionStateChangedListener(@NonNull android.app.UiModeManager.OnProjectionStateChangedListener);
1525    method @RequiresPermission(value=android.Manifest.permission.TOGGLE_AUTOMOTIVE_PROJECTION, conditional=true) public boolean requestProjection(int);
1526    method @RequiresPermission(android.Manifest.permission.MODIFY_DAY_NIGHT_MODE) public boolean setNightModeActivatedForCustomMode(int, boolean);
1527    method @RequiresPermission(android.Manifest.permission.MODIFY_DAY_NIGHT_MODE) public void setNightModeCustomType(int);
1528    field public static final String ACTION_ENTER_CAR_MODE_PRIORITIZED = "android.app.action.ENTER_CAR_MODE_PRIORITIZED";
1529    field public static final String ACTION_EXIT_CAR_MODE_PRIORITIZED = "android.app.action.EXIT_CAR_MODE_PRIORITIZED";
1530    field public static final int DEFAULT_PRIORITY = 0; // 0x0
1531    field public static final String EXTRA_CALLING_PACKAGE = "android.app.extra.CALLING_PACKAGE";
1532    field public static final String EXTRA_PRIORITY = "android.app.extra.PRIORITY";
1533    field public static final int MODE_NIGHT_CUSTOM_TYPE_BEDTIME = 1; // 0x1
1534    field public static final int MODE_NIGHT_CUSTOM_TYPE_SCHEDULE = 0; // 0x0
1535    field public static final int MODE_NIGHT_CUSTOM_TYPE_UNKNOWN = -1; // 0xffffffff
1536    field public static final int PROJECTION_TYPE_ALL = -1; // 0xffffffff
1537    field public static final int PROJECTION_TYPE_AUTOMOTIVE = 1; // 0x1
1538    field public static final int PROJECTION_TYPE_NONE = 0; // 0x0
1539  }
1540
1541  public static interface UiModeManager.OnProjectionStateChangedListener {
1542    method public void onProjectionStateChanged(int, @NonNull java.util.Set<java.lang.String>);
1543  }
1544
1545  public final class Vr2dDisplayProperties implements android.os.Parcelable {
1546    ctor public Vr2dDisplayProperties(int, int, int);
1547    method public int describeContents();
1548    method public void dump(@NonNull java.io.PrintWriter, @NonNull String);
1549    method public int getAddedFlags();
1550    method public int getDpi();
1551    method public int getHeight();
1552    method public int getRemovedFlags();
1553    method public int getWidth();
1554    method public void writeToParcel(android.os.Parcel, int);
1555    field @NonNull public static final android.os.Parcelable.Creator<android.app.Vr2dDisplayProperties> CREATOR;
1556    field public static final int FLAG_VIRTUAL_DISPLAY_ENABLED = 1; // 0x1
1557  }
1558
1559  public static final class Vr2dDisplayProperties.Builder {
1560    ctor public Vr2dDisplayProperties.Builder();
1561    method @NonNull public android.app.Vr2dDisplayProperties.Builder addFlags(int);
1562    method @NonNull public android.app.Vr2dDisplayProperties build();
1563    method @NonNull public android.app.Vr2dDisplayProperties.Builder removeFlags(int);
1564    method @NonNull public android.app.Vr2dDisplayProperties.Builder setDimensions(int, int, int);
1565    method @NonNull public android.app.Vr2dDisplayProperties.Builder setEnabled(boolean);
1566  }
1567
1568  public class VrManager {
1569    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public int getVr2dDisplayId();
1570    method @RequiresPermission(anyOf={android.Manifest.permission.RESTRICTED_VR_ACCESS, "android.permission.ACCESS_VR_STATE"}) public boolean isPersistentVrModeEnabled();
1571    method @RequiresPermission(anyOf={android.Manifest.permission.RESTRICTED_VR_ACCESS, "android.permission.ACCESS_VR_STATE"}) public boolean isVrModeEnabled();
1572    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);
1573    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public void setAndBindVrCompositor(android.content.ComponentName);
1574    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public void setPersistentVrModeEnabled(boolean);
1575    method @RequiresPermission("android.permission.ACCESS_VR_MANAGER") public void setStandbyEnabled(boolean);
1576    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public void setVr2dDisplayProperties(@NonNull android.app.Vr2dDisplayProperties);
1577    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public void setVrInputMethod(@Nullable android.content.ComponentName);
1578    method @RequiresPermission(anyOf={android.Manifest.permission.RESTRICTED_VR_ACCESS, "android.permission.ACCESS_VR_STATE"}) public void unregisterVrStateCallback(@NonNull android.app.VrStateCallback);
1579  }
1580
1581  public abstract class VrStateCallback {
1582    ctor public VrStateCallback();
1583    method public void onPersistentVrStateChanged(boolean);
1584    method public void onVrStateChanged(boolean);
1585  }
1586
1587  public final class WallpaperInfo implements android.os.Parcelable {
1588    method public boolean supportsAmbientMode();
1589  }
1590
1591  public class WallpaperManager {
1592    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public void clearWallpaper(int, int);
1593    method @FloatRange(from=0.0f, to=1.0f) @RequiresPermission(android.Manifest.permission.SET_WALLPAPER_DIM_AMOUNT) public float getWallpaperDimAmount();
1594    method @Nullable @RequiresPermission(android.Manifest.permission.READ_WALLPAPER_INTERNAL) public android.app.wallpaper.WallpaperInstance getWallpaperInstance(int);
1595    method public void setDisplayOffset(android.os.IBinder, int, int);
1596    method @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;
1597    method @RequiresPermission(android.Manifest.permission.SET_WALLPAPER) public int setStreamWithDescription(@NonNull java.io.InputStream, @NonNull android.app.wallpaper.WallpaperDescription, boolean, int) throws java.io.IOException;
1598    method @RequiresPermission(android.Manifest.permission.SET_WALLPAPER_COMPONENT) public boolean setWallpaperComponent(android.content.ComponentName);
1599    method @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);
1600    method @RequiresPermission(android.Manifest.permission.SET_WALLPAPER_COMPONENT) public boolean setWallpaperComponentWithFlags(@NonNull android.content.ComponentName, int);
1601    method @RequiresPermission(android.Manifest.permission.SET_WALLPAPER_DIM_AMOUNT) public void setWallpaperDimAmount(@FloatRange(from=0.0f, to=1.0f) float);
1602  }
1603
1604}
1605
1606package android.app.admin {
1607
1608  public final class AccountTypePolicyKey extends android.app.admin.PolicyKey {
1609    method public int describeContents();
1610    method @NonNull public String getAccountType();
1611    method public void writeToParcel(@NonNull android.os.Parcel, int);
1612    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.AccountTypePolicyKey> CREATOR;
1613  }
1614
1615  public abstract class Authority implements android.os.Parcelable {
1616    method public int describeContents();
1617  }
1618
1619  public final class DeviceAdminAuthority extends android.app.admin.Authority {
1620    ctor public DeviceAdminAuthority();
1621    method public void writeToParcel(@NonNull android.os.Parcel, int);
1622    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.DeviceAdminAuthority> CREATOR;
1623  }
1624
1625  public final class DevicePolicyDrawableResource implements android.os.Parcelable {
1626    ctor public DevicePolicyDrawableResource(@NonNull android.content.Context, @NonNull String, @NonNull String, @DrawableRes int);
1627    ctor public DevicePolicyDrawableResource(@NonNull android.content.Context, @NonNull String, @NonNull String, @NonNull String, @DrawableRes int);
1628    method public int describeContents();
1629    method @NonNull public String getDrawableId();
1630    method @NonNull public String getDrawableSource();
1631    method @NonNull public String getDrawableStyle();
1632    method @DrawableRes public int getResourceIdInCallingPackage();
1633    method public void writeToParcel(@NonNull android.os.Parcel, int);
1634    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.DevicePolicyDrawableResource> CREATOR;
1635  }
1636
1637  public final class DevicePolicyIdentifiers {
1638    field public static final String AUDIT_LOGGING_POLICY = "auditLogging";
1639  }
1640
1641  public class DevicePolicyKeyguardService extends android.app.Service {
1642    ctor public DevicePolicyKeyguardService();
1643    method @Nullable public void dismiss();
1644    method @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent);
1645    method @Nullable public android.view.SurfaceControlViewHost.SurfacePackage onCreateKeyguardSurface(@NonNull android.os.IBinder);
1646  }
1647
1648  public class DevicePolicyManager {
1649    method @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public int checkProvisioningPrecondition(@NonNull String, @NonNull String);
1650    method @RequiresPermission(android.Manifest.permission.MANAGE_DEVICE_POLICY_AUDIT_LOGGING) public void clearAuditLogEventCallback();
1651    method @Deprecated @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;
1652    method @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;
1653    method @Nullable public android.content.Intent createProvisioningIntentFromNfcIntent(@NonNull android.content.Intent);
1654    method @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;
1655    method @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public void finalizeWorkProfileProvisioning(@NonNull android.os.UserHandle, @Nullable android.accounts.Account);
1656    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;
1657    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public boolean getBluetoothContactSharingDisabled(@NonNull android.os.UserHandle);
1658    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public String getDeviceOwner();
1659    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS}) public android.content.ComponentName getDeviceOwnerComponentOnAnyUser();
1660    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS}) public String getDeviceOwnerNameOnAnyUser();
1661    method @Nullable public CharSequence getDeviceOwnerOrganizationName();
1662    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public android.os.UserHandle getDeviceOwnerUser();
1663    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public android.app.admin.DevicePolicyState getDevicePolicyState();
1664    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public String getFinancedDeviceKioskRoleHolder();
1665    method @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public int getMaxPolicyStorageLimit();
1666    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.QUERY_ADMIN_POLICY}) public java.util.List<java.lang.String> getPermittedAccessibilityServices(int);
1667    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.QUERY_ADMIN_POLICY}) public java.util.List<java.lang.String> getPermittedInputMethodsForCurrentUser();
1668    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public java.util.List<android.os.UserHandle> getPolicyManagedProfiles(@NonNull android.os.UserHandle);
1669    method @Nullable public android.content.ComponentName getProfileOwner() throws java.lang.IllegalArgumentException;
1670    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;
1671    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS}) public int getUserProvisioningState();
1672    method @RequiresPermission(android.Manifest.permission.MANAGE_DEVICE_POLICY_AUDIT_LOGGING) public boolean isAuditLogEnabled();
1673    method public boolean isDeviceManaged();
1674    method @RequiresPermission(android.Manifest.permission.QUERY_DEVICE_STOLEN_STATE) public boolean isDevicePotentiallyStolen();
1675    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isDeviceProvisioned();
1676    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isDeviceProvisioningConfigApplied();
1677    method @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public boolean isDpcDownloaded();
1678    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS}) public boolean isManagedKiosk();
1679    method public boolean isSecondaryLockscreenEnabled(@NonNull android.os.UserHandle);
1680    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS}) public boolean isUnattendedManagedKiosk();
1681    method @RequiresPermission("android.permission.NOTIFY_PENDING_SYSTEM_UPDATE") public void notifyPendingSystemUpdate(long);
1682    method @RequiresPermission("android.permission.NOTIFY_PENDING_SYSTEM_UPDATE") public void notifyPendingSystemUpdate(long, boolean);
1683    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public boolean packageHasActiveAdmins(String);
1684    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;
1685    method @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public boolean removeManagedProfile();
1686    method @RequiresPermission(android.Manifest.permission.TRIGGER_LOST_MODE) public void sendLostModeLocationUpdate(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
1687    method @Deprecated @RequiresPermission(android.Manifest.permission.MANAGE_DEVICE_ADMINS) public boolean setActiveProfileOwner(@NonNull android.content.ComponentName, String) throws java.lang.IllegalArgumentException;
1688    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;
1689    method @RequiresPermission(android.Manifest.permission.MANAGE_DEVICE_POLICY_AUDIT_LOGGING) public void setAuditLogEnabled(boolean);
1690    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>>);
1691    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void setDeviceProvisioningConfigApplied();
1692    method @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public void setDpcDownloaded(boolean);
1693    method @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public void setMaxPolicyStorageLimit(int);
1694    method @Deprecated @RequiresPermission(value=android.Manifest.permission.GRANT_PROFILE_OWNER_DEVICE_IDS_ACCESS, conditional=true) public void setProfileOwnerCanAccessDeviceIds(@NonNull android.content.ComponentName);
1695    method public void setSecondaryLockscreenEnabled(@NonNull android.content.ComponentName, boolean);
1696    method @RequiresPermission(android.Manifest.permission.MANAGE_PROFILE_AND_DEVICE_OWNERS) public void setUserProvisioningState(int, @NonNull android.os.UserHandle);
1697    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public boolean shouldAllowBypassingDevicePolicyManagementRoleQualification();
1698    field public static final String ACCOUNT_FEATURE_DEVICE_OR_PROFILE_OWNER_ALLOWED = "android.account.DEVICE_OR_PROFILE_OWNER_ALLOWED";
1699    field public static final String ACCOUNT_FEATURE_DEVICE_OR_PROFILE_OWNER_DISALLOWED = "android.account.DEVICE_OR_PROFILE_OWNER_DISALLOWED";
1700    field public static final String ACTION_BIND_SECONDARY_LOCKSCREEN_SERVICE = "android.app.action.BIND_SECONDARY_LOCKSCREEN_SERVICE";
1701    field @RequiresPermission(android.Manifest.permission.DISPATCH_PROVISIONING_MESSAGE) public static final String ACTION_ESTABLISH_NETWORK_CONNECTION = "android.app.action.ESTABLISH_NETWORK_CONNECTION";
1702    field public static final String ACTION_LOST_MODE_LOCATION_UPDATE = "android.app.action.LOST_MODE_LOCATION_UPDATE";
1703    field public static final String ACTION_PROVISION_FINALIZATION = "android.app.action.PROVISION_FINALIZATION";
1704    field public static final String ACTION_PROVISION_FINANCED_DEVICE = "android.app.action.PROVISION_FINANCED_DEVICE";
1705    field public static final String ACTION_PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE = "android.app.action.PROVISION_MANAGED_DEVICE_FROM_TRUSTED_SOURCE";
1706    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";
1707    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";
1708    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";
1709    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";
1710    field public static final String ACTION_SET_PROFILE_OWNER = "android.app.action.SET_PROFILE_OWNER";
1711    field @Deprecated public static final String ACTION_STATE_USER_SETUP_COMPLETE = "android.app.action.STATE_USER_SETUP_COMPLETE";
1712    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";
1713    field public static final int EXEMPT_FROM_ACTIVITY_BG_START_RESTRICTION = 2; // 0x2
1714    field public static final int EXEMPT_FROM_DISMISSIBLE_NOTIFICATIONS = 1; // 0x1
1715    field public static final int EXEMPT_FROM_HIBERNATION = 3; // 0x3
1716    field public static final int EXEMPT_FROM_POWER_RESTRICTIONS = 4; // 0x4
1717    field public static final int EXEMPT_FROM_SUSPENSION = 0; // 0x0
1718    field public static final String EXTRA_FORCE_UPDATE_ROLE_HOLDER = "android.app.extra.FORCE_UPDATE_ROLE_HOLDER";
1719    field public static final String EXTRA_LOST_MODE_LOCATION = "android.app.extra.LOST_MODE_LOCATION";
1720    field public static final String EXTRA_PROFILE_OWNER_NAME = "android.app.extra.PROFILE_OWNER_NAME";
1721    field @Deprecated public static final String EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_ICON_URI = "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_ICON_URI";
1722    field @Deprecated public static final String EXTRA_PROVISIONING_DEVICE_ADMIN_PACKAGE_LABEL = "android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_LABEL";
1723    field public static final String EXTRA_PROVISIONING_ORGANIZATION_NAME = "android.app.extra.PROVISIONING_ORGANIZATION_NAME";
1724    field public static final String EXTRA_PROVISIONING_RETURN_BEFORE_POLICY_COMPLIANCE = "android.app.extra.PROVISIONING_RETURN_BEFORE_POLICY_COMPLIANCE";
1725    field public static final String EXTRA_PROVISIONING_ROLE_HOLDER_CUSTOM_USER_CONSENT_INTENT = "android.app.extra.PROVISIONING_ROLE_HOLDER_CUSTOM_USER_CONSENT_INTENT";
1726    field public static final String EXTRA_PROVISIONING_ROLE_HOLDER_EXTRAS_BUNDLE = "android.app.extra.PROVISIONING_ROLE_HOLDER_EXTRAS_BUNDLE";
1727    field public static final String EXTRA_PROVISIONING_ROLE_HOLDER_PACKAGE_DOWNLOAD_COOKIE_HEADER = "android.app.extra.PROVISIONING_ROLE_HOLDER_PACKAGE_DOWNLOAD_COOKIE_HEADER";
1728    field public static final String EXTRA_PROVISIONING_ROLE_HOLDER_PACKAGE_DOWNLOAD_LOCATION = "android.app.extra.PROVISIONING_ROLE_HOLDER_PACKAGE_DOWNLOAD_LOCATION";
1729    field public static final String EXTRA_PROVISIONING_ROLE_HOLDER_SIGNATURE_CHECKSUM = "android.app.extra.PROVISIONING_ROLE_HOLDER_SIGNATURE_CHECKSUM";
1730    field public static final String EXTRA_PROVISIONING_SKIP_OWNERSHIP_DISCLAIMER = "android.app.extra.PROVISIONING_SKIP_OWNERSHIP_DISCLAIMER";
1731    field public static final String EXTRA_PROVISIONING_SUPPORTED_MODES = "android.app.extra.PROVISIONING_SUPPORTED_MODES";
1732    field public static final String EXTRA_PROVISIONING_SUPPORT_URL = "android.app.extra.PROVISIONING_SUPPORT_URL";
1733    field public static final String EXTRA_PROVISIONING_TRIGGER = "android.app.extra.PROVISIONING_TRIGGER";
1734    field public static final String EXTRA_RESTRICTION = "android.app.extra.RESTRICTION";
1735    field public static final String EXTRA_ROLE_HOLDER_PROVISIONING_INITIATOR_PACKAGE = "android.app.extra.ROLE_HOLDER_PROVISIONING_INITIATOR_PACKAGE";
1736    field public static final String EXTRA_ROLE_HOLDER_STATE = "android.app.extra.ROLE_HOLDER_STATE";
1737    field public static final String EXTRA_ROLE_HOLDER_UPDATE_RESULT_CODE = "android.app.extra.ROLE_HOLDER_UPDATE_RESULT_CODE";
1738    field public static final int FLAG_SUPPORTED_MODES_DEVICE_OWNER = 4; // 0x4
1739    field public static final int FLAG_SUPPORTED_MODES_ORGANIZATION_OWNED = 1; // 0x1
1740    field public static final int FLAG_SUPPORTED_MODES_PERSONALLY_OWNED = 2; // 0x2
1741    field public static final int PROVISIONING_TRIGGER_CLOUD_ENROLLMENT = 1; // 0x1
1742    field public static final int PROVISIONING_TRIGGER_MANAGED_ACCOUNT = 4; // 0x4
1743    field public static final int PROVISIONING_TRIGGER_NFC = 5; // 0x5
1744    field @Deprecated public static final int PROVISIONING_TRIGGER_PERSISTENT_DEVICE_OWNER = 3; // 0x3
1745    field public static final int PROVISIONING_TRIGGER_QR_CODE = 2; // 0x2
1746    field public static final int PROVISIONING_TRIGGER_UNSPECIFIED = 0; // 0x0
1747    field public static final String REQUIRED_APP_MANAGED_DEVICE = "android.app.REQUIRED_APP_MANAGED_DEVICE";
1748    field public static final String REQUIRED_APP_MANAGED_PROFILE = "android.app.REQUIRED_APP_MANAGED_PROFILE";
1749    field public static final String REQUIRED_APP_MANAGED_USER = "android.app.REQUIRED_APP_MANAGED_USER";
1750    field public static final int RESULT_DEVICE_OWNER_SET = 123; // 0x7b
1751    field public static final int RESULT_UPDATE_DEVICE_POLICY_MANAGEMENT_ROLE_HOLDER_PROVISIONING_DISABLED = 3; // 0x3
1752    field public static final int RESULT_UPDATE_DEVICE_POLICY_MANAGEMENT_ROLE_HOLDER_RECOVERABLE_ERROR = 1; // 0x1
1753    field public static final int RESULT_UPDATE_DEVICE_POLICY_MANAGEMENT_ROLE_HOLDER_UNRECOVERABLE_ERROR = 2; // 0x2
1754    field public static final int RESULT_UPDATE_ROLE_HOLDER = 2; // 0x2
1755    field public static final int RESULT_WORK_PROFILE_CREATED = 122; // 0x7a
1756    field public static final int STATE_USER_PROFILE_COMPLETE = 4; // 0x4
1757    field public static final int STATE_USER_PROFILE_FINALIZED = 5; // 0x5
1758    field public static final int STATE_USER_SETUP_COMPLETE = 2; // 0x2
1759    field public static final int STATE_USER_SETUP_FINALIZED = 3; // 0x3
1760    field public static final int STATE_USER_SETUP_INCOMPLETE = 1; // 0x1
1761    field public static final int STATE_USER_UNMANAGED = 0; // 0x0
1762    field public static final int STATUS_ACCOUNTS_NOT_EMPTY = 6; // 0x6
1763    field public static final int STATUS_CANNOT_ADD_MANAGED_PROFILE = 11; // 0xb
1764    field public static final int STATUS_DEVICE_ADMIN_NOT_SUPPORTED = 13; // 0xd
1765    field public static final int STATUS_HAS_DEVICE_OWNER = 1; // 0x1
1766    field public static final int STATUS_HAS_PAIRED = 8; // 0x8
1767    field public static final int STATUS_HEADLESS_ONLY_SYSTEM_USER = 17; // 0x11
1768    field public static final int STATUS_HEADLESS_SYSTEM_USER_MODE_NOT_SUPPORTED = 16; // 0x10
1769    field public static final int STATUS_MANAGED_USERS_NOT_SUPPORTED = 9; // 0x9
1770    field public static final int STATUS_NONSYSTEM_USER_EXISTS = 5; // 0x5
1771    field public static final int STATUS_NOT_SYSTEM_USER = 7; // 0x7
1772    field public static final int STATUS_OK = 0; // 0x0
1773    field public static final int STATUS_PROVISIONING_NOT_ALLOWED_FOR_NON_DEVELOPER_USERS = 15; // 0xf
1774    field public static final int STATUS_SYSTEM_USER = 10; // 0xa
1775    field public static final int STATUS_UNKNOWN_ERROR = -1; // 0xffffffff
1776    field public static final int STATUS_USER_HAS_PROFILE_OWNER = 2; // 0x2
1777    field public static final int STATUS_USER_NOT_RUNNING = 3; // 0x3
1778    field public static final int STATUS_USER_SETUP_COMPLETED = 4; // 0x4
1779  }
1780
1781  public static final class DevicePolicyResources.Strings {
1782  }
1783
1784  public static final class DevicePolicyResources.Strings.DefaultAppSettings {
1785    field public static final String HOME_MISSING_WORK_PROFILE_SUPPORT_MESSAGE = "DefaultAppSettings.HOME_MISSING_WORK_PROFILE_SUPPORT_MESSAGE";
1786    field public static final String WORK_PROFILE_DEFAULT_APPS_TITLE = "DefaultAppSettings.WORK_PROFILE_DEFAULT_APPS_TITLE";
1787  }
1788
1789  public static final class DevicePolicyResources.Strings.PermissionSettings {
1790    field public static final String BACKGROUND_ACCESS_DISABLED_BY_ADMIN_MESSAGE = "PermissionSettings.BACKGROUND_ACCESS_DISABLED_BY_ADMIN_MESSAGE";
1791    field public static final String BACKGROUND_ACCESS_ENABLED_BY_ADMIN_MESSAGE = "PermissionSettings.BACKGROUND_ACCESS_ENABLED_BY_ADMIN_MESSAGE";
1792    field public static final String FOREGROUND_ACCESS_ENABLED_BY_ADMIN_MESSAGE = "PermissionSettings.FOREGROUND_ACCESS_ENABLED_BY_ADMIN_MESSAGE";
1793    field public static final String LOCATION_AUTO_GRANTED_MESSAGE = "PermissionSettings.LOCATION_AUTO_GRANTED_MESSAGE";
1794  }
1795
1796  public class DevicePolicyResourcesManager {
1797    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_MANAGEMENT_RESOURCES) public void resetDrawables(@NonNull java.util.Set<java.lang.String>);
1798    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_MANAGEMENT_RESOURCES) public void resetStrings(@NonNull java.util.Set<java.lang.String>);
1799    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_MANAGEMENT_RESOURCES) public void setDrawables(@NonNull java.util.Set<android.app.admin.DevicePolicyDrawableResource>);
1800    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_MANAGEMENT_RESOURCES) public void setStrings(@NonNull java.util.Set<android.app.admin.DevicePolicyStringResource>);
1801  }
1802
1803  public final class DevicePolicyState implements android.os.Parcelable {
1804    method public int describeContents();
1805    method @NonNull public java.util.Map<android.os.UserHandle,java.util.Map<android.app.admin.PolicyKey,android.app.admin.PolicyState<?>>> getPoliciesForAllUsers();
1806    method @NonNull public java.util.Map<android.app.admin.PolicyKey,android.app.admin.PolicyState<?>> getPoliciesForUser(@NonNull android.os.UserHandle);
1807    method public void writeToParcel(@NonNull android.os.Parcel, int);
1808    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.DevicePolicyState> CREATOR;
1809  }
1810
1811  public final class DevicePolicyStringResource implements android.os.Parcelable {
1812    ctor public DevicePolicyStringResource(@NonNull android.content.Context, @NonNull String, @StringRes int);
1813    method public int describeContents();
1814    method public int getResourceIdInCallingPackage();
1815    method @NonNull public String getStringId();
1816    method public void writeToParcel(@NonNull android.os.Parcel, int);
1817    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.DevicePolicyStringResource> CREATOR;
1818  }
1819
1820  public final class DpcAuthority extends android.app.admin.Authority {
1821    ctor public DpcAuthority();
1822    method public void writeToParcel(@NonNull android.os.Parcel, int);
1823    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.DpcAuthority> CREATOR;
1824  }
1825
1826  public final class EnforcingAdmin implements android.os.Parcelable {
1827    ctor public EnforcingAdmin(@NonNull String, @NonNull android.app.admin.Authority, @NonNull android.os.UserHandle);
1828    method public int describeContents();
1829    method @NonNull public android.app.admin.Authority getAuthority();
1830    method @NonNull public String getPackageName();
1831    method @NonNull public android.os.UserHandle getUserHandle();
1832    method public void writeToParcel(@NonNull android.os.Parcel, int);
1833    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.EnforcingAdmin> CREATOR;
1834  }
1835
1836  public final class FullyManagedDeviceProvisioningParams implements android.os.Parcelable {
1837    method public boolean canDeviceOwnerGrantSensorsPermissions();
1838    method public int describeContents();
1839    method @NonNull public android.os.PersistableBundle getAdminExtras();
1840    method @NonNull public android.content.ComponentName getDeviceAdminComponentName();
1841    method public long getLocalTime();
1842    method @Nullable public java.util.Locale getLocale();
1843    method @NonNull public String getOwnerName();
1844    method @Nullable public String getTimeZone();
1845    method public boolean isDemoDevice();
1846    method public boolean isLeaveAllSystemAppsEnabled();
1847    method public void writeToParcel(@NonNull android.os.Parcel, @Nullable int);
1848    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.FullyManagedDeviceProvisioningParams> CREATOR;
1849  }
1850
1851  public static final class FullyManagedDeviceProvisioningParams.Builder {
1852    ctor public FullyManagedDeviceProvisioningParams.Builder(@NonNull android.content.ComponentName, @NonNull String);
1853    method @NonNull public android.app.admin.FullyManagedDeviceProvisioningParams build();
1854    method @NonNull public android.app.admin.FullyManagedDeviceProvisioningParams.Builder setAdminExtras(@NonNull android.os.PersistableBundle);
1855    method @NonNull public android.app.admin.FullyManagedDeviceProvisioningParams.Builder setCanDeviceOwnerGrantSensorsPermissions(boolean);
1856    method @NonNull public android.app.admin.FullyManagedDeviceProvisioningParams.Builder setDemoDevice(boolean);
1857    method @NonNull public android.app.admin.FullyManagedDeviceProvisioningParams.Builder setLeaveAllSystemAppsEnabled(boolean);
1858    method @NonNull public android.app.admin.FullyManagedDeviceProvisioningParams.Builder setLocalTime(long);
1859    method @NonNull public android.app.admin.FullyManagedDeviceProvisioningParams.Builder setLocale(@Nullable java.util.Locale);
1860    method @NonNull public android.app.admin.FullyManagedDeviceProvisioningParams.Builder setTimeZone(@Nullable String);
1861  }
1862
1863  public final class IntentFilterPolicyKey extends android.app.admin.PolicyKey {
1864    method public int describeContents();
1865    method @NonNull public android.content.IntentFilter getIntentFilter();
1866    method public void writeToParcel(@NonNull android.os.Parcel, int);
1867    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.IntentFilterPolicyKey> CREATOR;
1868  }
1869
1870  public final class LockTaskPolicy implements android.os.Parcelable {
1871    method public int describeContents();
1872    method public int getFlags();
1873    method @NonNull public java.util.Set<java.lang.String> getPackages();
1874    method public void writeToParcel(@NonNull android.os.Parcel, int);
1875    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.LockTaskPolicy> CREATOR;
1876  }
1877
1878  public final class ManagedProfileProvisioningParams implements android.os.Parcelable {
1879    method public int describeContents();
1880    method @Nullable public android.accounts.Account getAccountToMigrate();
1881    method @NonNull public android.os.PersistableBundle getAdminExtras();
1882    method @NonNull public String getOwnerName();
1883    method @NonNull public android.content.ComponentName getProfileAdminComponentName();
1884    method @Nullable public String getProfileName();
1885    method public boolean isKeepingAccountOnMigration();
1886    method public boolean isLeaveAllSystemAppsEnabled();
1887    method public boolean isOrganizationOwnedProvisioning();
1888    method public void writeToParcel(@NonNull android.os.Parcel, @Nullable int);
1889    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.ManagedProfileProvisioningParams> CREATOR;
1890  }
1891
1892  public static final class ManagedProfileProvisioningParams.Builder {
1893    ctor public ManagedProfileProvisioningParams.Builder(@NonNull android.content.ComponentName, @NonNull String);
1894    method @NonNull public android.app.admin.ManagedProfileProvisioningParams build();
1895    method @NonNull public android.app.admin.ManagedProfileProvisioningParams.Builder setAccountToMigrate(@Nullable android.accounts.Account);
1896    method @NonNull public android.app.admin.ManagedProfileProvisioningParams.Builder setAdminExtras(@NonNull android.os.PersistableBundle);
1897    method @NonNull public android.app.admin.ManagedProfileProvisioningParams.Builder setKeepingAccountOnMigration(boolean);
1898    method @NonNull public android.app.admin.ManagedProfileProvisioningParams.Builder setLeaveAllSystemAppsEnabled(boolean);
1899    method @NonNull public android.app.admin.ManagedProfileProvisioningParams.Builder setOrganizationOwnedProvisioning(boolean);
1900    method @NonNull public android.app.admin.ManagedProfileProvisioningParams.Builder setProfileName(@Nullable String);
1901  }
1902
1903  public final class NoArgsPolicyKey extends android.app.admin.PolicyKey {
1904    method public int describeContents();
1905    method public void writeToParcel(@NonNull android.os.Parcel, int);
1906    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.NoArgsPolicyKey> CREATOR;
1907  }
1908
1909  public final class PackagePermissionPolicyKey extends android.app.admin.PolicyKey {
1910    method public int describeContents();
1911    method @NonNull public String getPackageName();
1912    method @NonNull public String getPermissionName();
1913    method public void writeToParcel(@NonNull android.os.Parcel, int);
1914    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.PackagePermissionPolicyKey> CREATOR;
1915  }
1916
1917  public final class PackagePolicyKey extends android.app.admin.PolicyKey {
1918    method public int describeContents();
1919    method @NonNull public String getPackageName();
1920    method public void writeToParcel(@NonNull android.os.Parcel, int);
1921    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.PackagePolicyKey> CREATOR;
1922  }
1923
1924  public abstract class PolicyKey implements android.os.Parcelable {
1925    method @NonNull public String getIdentifier();
1926  }
1927
1928  public final class PolicyState<V> implements android.os.Parcelable {
1929    method public int describeContents();
1930    method @Nullable public V getCurrentResolvedPolicy();
1931    method @NonNull public java.util.LinkedHashMap<android.app.admin.EnforcingAdmin,V> getPoliciesSetByAdmins();
1932    method public void writeToParcel(@NonNull android.os.Parcel, int);
1933    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.PolicyState<?>> CREATOR;
1934  }
1935
1936  public class ProvisioningException extends android.util.AndroidException {
1937    ctor public ProvisioningException(@NonNull Exception, int);
1938    ctor public ProvisioningException(@NonNull Exception, int, @Nullable String);
1939    method public int getProvisioningError();
1940    field public static final int ERROR_ADMIN_PACKAGE_INSTALLATION_FAILED = 3; // 0x3
1941    field public static final int ERROR_PRE_CONDITION_FAILED = 1; // 0x1
1942    field public static final int ERROR_PROFILE_CREATION_FAILED = 2; // 0x2
1943    field public static final int ERROR_REMOVE_NON_REQUIRED_APPS_FAILED = 6; // 0x6
1944    field public static final int ERROR_SETTING_PROFILE_OWNER_FAILED = 4; // 0x4
1945    field public static final int ERROR_SET_DEVICE_OWNER_FAILED = 7; // 0x7
1946    field public static final int ERROR_STARTING_PROFILE_FAILED = 5; // 0x5
1947    field public static final int ERROR_UNKNOWN = 0; // 0x0
1948  }
1949
1950  public final class RoleAuthority extends android.app.admin.Authority {
1951    ctor public RoleAuthority(@NonNull java.util.Set<java.lang.String>);
1952    method @NonNull public java.util.Set<java.lang.String> getRoles();
1953    method public void writeToParcel(@NonNull android.os.Parcel, int);
1954    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.RoleAuthority> CREATOR;
1955  }
1956
1957  public class SecurityLog {
1958    method @RequiresPermission(android.Manifest.permission.WRITE_SECURITY_LOG) public static int writeEvent(int, @NonNull java.lang.Object...);
1959  }
1960
1961  public final class SystemUpdatePolicy implements android.os.Parcelable {
1962    method public android.app.admin.SystemUpdatePolicy.InstallationOption getInstallationOptionAt(long);
1963    field public static final int TYPE_PAUSE = 4; // 0x4
1964  }
1965
1966  public static class SystemUpdatePolicy.InstallationOption {
1967    method public long getEffectiveTime();
1968    method public int getType();
1969  }
1970
1971  public final class UnknownAuthority extends android.app.admin.Authority {
1972    ctor public UnknownAuthority();
1973    method public void writeToParcel(@NonNull android.os.Parcel, int);
1974    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.UnknownAuthority> CREATOR;
1975  }
1976
1977  public final class UserRestrictionPolicyKey extends android.app.admin.PolicyKey {
1978    method public int describeContents();
1979    method @NonNull public String getRestriction();
1980    method public void writeToParcel(@NonNull android.os.Parcel, int);
1981    field @NonNull public static final android.os.Parcelable.Creator<android.app.admin.UserRestrictionPolicyKey> CREATOR;
1982  }
1983
1984}
1985
1986package android.app.ambientcontext {
1987
1988  public final class AmbientContextEvent implements android.os.Parcelable {
1989    method public int describeContents();
1990    method public int getConfidenceLevel();
1991    method public int getDensityLevel();
1992    method @NonNull public java.time.Instant getEndTime();
1993    method public int getEventType();
1994    method @NonNull public java.time.Instant getStartTime();
1995    method @NonNull public android.os.PersistableBundle getVendorData();
1996    method public void writeToParcel(@NonNull android.os.Parcel, int);
1997    field @NonNull public static final android.os.Parcelable.Creator<android.app.ambientcontext.AmbientContextEvent> CREATOR;
1998    field public static final int EVENT_BACK_DOUBLE_TAP = 3; // 0x3
1999    field public static final int EVENT_COUGH = 1; // 0x1
2000    field public static final int EVENT_SNORE = 2; // 0x2
2001    field public static final int EVENT_UNKNOWN = 0; // 0x0
2002    field public static final int EVENT_VENDOR_WEARABLE_START = 100000; // 0x186a0
2003    field public static final String KEY_VENDOR_WEARABLE_EVENT_NAME = "wearable_event_name";
2004    field public static final int LEVEL_HIGH = 5; // 0x5
2005    field public static final int LEVEL_LOW = 1; // 0x1
2006    field public static final int LEVEL_MEDIUM = 3; // 0x3
2007    field public static final int LEVEL_MEDIUM_HIGH = 4; // 0x4
2008    field public static final int LEVEL_MEDIUM_LOW = 2; // 0x2
2009    field public static final int LEVEL_UNKNOWN = 0; // 0x0
2010  }
2011
2012  public static final class AmbientContextEvent.Builder {
2013    ctor public AmbientContextEvent.Builder();
2014    method @NonNull public android.app.ambientcontext.AmbientContextEvent build();
2015    method @NonNull public android.app.ambientcontext.AmbientContextEvent.Builder setConfidenceLevel(int);
2016    method @NonNull public android.app.ambientcontext.AmbientContextEvent.Builder setDensityLevel(int);
2017    method @NonNull public android.app.ambientcontext.AmbientContextEvent.Builder setEndTime(@NonNull java.time.Instant);
2018    method @NonNull public android.app.ambientcontext.AmbientContextEvent.Builder setEventType(int);
2019    method @NonNull public android.app.ambientcontext.AmbientContextEvent.Builder setStartTime(@NonNull java.time.Instant);
2020    method @NonNull public android.app.ambientcontext.AmbientContextEvent.Builder setVendorData(@NonNull android.os.PersistableBundle);
2021  }
2022
2023  public final class AmbientContextEventRequest implements android.os.Parcelable {
2024    method public int describeContents();
2025    method @NonNull public java.util.Set<java.lang.Integer> getEventTypes();
2026    method @NonNull public android.os.PersistableBundle getOptions();
2027    method public void writeToParcel(@NonNull android.os.Parcel, int);
2028    field @NonNull public static final android.os.Parcelable.Creator<android.app.ambientcontext.AmbientContextEventRequest> CREATOR;
2029  }
2030
2031  public static final class AmbientContextEventRequest.Builder {
2032    ctor public AmbientContextEventRequest.Builder();
2033    method @NonNull public android.app.ambientcontext.AmbientContextEventRequest.Builder addEventType(int);
2034    method @NonNull public android.app.ambientcontext.AmbientContextEventRequest build();
2035    method @NonNull public android.app.ambientcontext.AmbientContextEventRequest.Builder setOptions(@NonNull android.os.PersistableBundle);
2036  }
2037
2038  public final class AmbientContextManager {
2039    method @NonNull public static java.util.List<android.app.ambientcontext.AmbientContextEvent> getEventsFromIntent(@NonNull android.content.Intent);
2040    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>);
2041    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>);
2042    method @RequiresPermission(android.Manifest.permission.ACCESS_AMBIENT_CONTEXT_EVENT) public void startConsentActivity(@NonNull java.util.Set<java.lang.Integer>);
2043    method @RequiresPermission(android.Manifest.permission.ACCESS_AMBIENT_CONTEXT_EVENT) public void unregisterObserver();
2044    field public static final String EXTRA_AMBIENT_CONTEXT_EVENTS = "android.app.ambientcontext.extra.AMBIENT_CONTEXT_EVENTS";
2045    field public static final int STATUS_ACCESS_DENIED = 5; // 0x5
2046    field public static final int STATUS_MICROPHONE_DISABLED = 4; // 0x4
2047    field public static final int STATUS_NOT_SUPPORTED = 2; // 0x2
2048    field public static final int STATUS_SERVICE_UNAVAILABLE = 3; // 0x3
2049    field public static final int STATUS_SUCCESS = 1; // 0x1
2050    field public static final int STATUS_UNKNOWN = 0; // 0x0
2051  }
2052
2053}
2054
2055package android.app.appsearch {
2056
2057  public class AppSearchManagerFrameworkInitializer {
2058    method public static void initialize();
2059  }
2060
2061}
2062
2063package android.app.assist {
2064
2065  public final class ActivityId implements android.os.Parcelable {
2066    method public int describeContents();
2067    method public void writeToParcel(@NonNull android.os.Parcel, int);
2068    field @NonNull public static final android.os.Parcelable.Creator<android.app.assist.ActivityId> CREATOR;
2069  }
2070
2071  public static class AssistStructure.ViewNode {
2072    ctor public AssistStructure.ViewNode();
2073  }
2074
2075}
2076
2077package android.app.backup {
2078
2079  public class BackupDataInput {
2080    ctor public BackupDataInput(java.io.FileDescriptor);
2081  }
2082
2083  public class BackupDataOutput {
2084    ctor public BackupDataOutput(java.io.FileDescriptor);
2085    ctor public BackupDataOutput(java.io.FileDescriptor, long);
2086  }
2087
2088  public class BackupManager {
2089    method @RequiresPermission(android.Manifest.permission.BACKUP) public void backupNow();
2090    method @RequiresPermission(android.Manifest.permission.BACKUP) public android.app.backup.RestoreSession beginRestoreSession();
2091    method @RequiresPermission(android.Manifest.permission.BACKUP) public void cancelBackups();
2092    method @RequiresPermission(android.Manifest.permission.BACKUP) public void excludeKeysFromRestore(@NonNull String, @NonNull java.util.List<java.lang.String>);
2093    method @RequiresPermission(android.Manifest.permission.BACKUP) public long getAvailableRestoreToken(String);
2094    method @NonNull public android.app.backup.BackupRestoreEventLogger getBackupRestoreEventLogger(@NonNull android.app.backup.BackupAgent);
2095    method @RequiresPermission(android.Manifest.permission.BACKUP) public android.content.Intent getConfigurationIntent(String);
2096    method @RequiresPermission(android.Manifest.permission.BACKUP) public String getCurrentTransport();
2097    method @Nullable @RequiresPermission(android.Manifest.permission.BACKUP) public android.content.ComponentName getCurrentTransportComponent();
2098    method @RequiresPermission(android.Manifest.permission.BACKUP) public android.content.Intent getDataManagementIntent(String);
2099    method @Nullable @RequiresPermission(android.Manifest.permission.BACKUP) public CharSequence getDataManagementIntentLabel(@NonNull String);
2100    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.BACKUP) public String getDataManagementLabel(@NonNull String);
2101    method @NonNull public android.app.backup.BackupRestoreEventLogger getDelayedRestoreLogger();
2102    method @RequiresPermission(android.Manifest.permission.BACKUP) public String getDestinationString(String);
2103    method @RequiresPermission(android.Manifest.permission.BACKUP) public boolean isAppEligibleForBackup(String);
2104    method @RequiresPermission(android.Manifest.permission.BACKUP) public boolean isBackupEnabled();
2105    method @RequiresPermission(android.Manifest.permission.BACKUP) public boolean isBackupServiceActive(android.os.UserHandle);
2106    method @RequiresPermission(android.Manifest.permission.BACKUP) public String[] listAllTransports();
2107    method public void reportDelayedRestoreResult(@NonNull android.app.backup.BackupRestoreEventLogger);
2108    method @RequiresPermission(android.Manifest.permission.BACKUP) public int requestBackup(String[], android.app.backup.BackupObserver);
2109    method @RequiresPermission(android.Manifest.permission.BACKUP) public int requestBackup(String[], android.app.backup.BackupObserver, android.app.backup.BackupManagerMonitor, int);
2110    method @Deprecated public int requestRestore(android.app.backup.RestoreObserver, android.app.backup.BackupManagerMonitor);
2111    method @RequiresPermission(android.Manifest.permission.BACKUP) public void selectBackupTransport(android.content.ComponentName, android.app.backup.SelectBackupTransportCallback);
2112    method @Deprecated @RequiresPermission(android.Manifest.permission.BACKUP) public String selectBackupTransport(String);
2113    method @RequiresPermission(android.Manifest.permission.BACKUP) public void setAncestralSerialNumber(long);
2114    method @RequiresPermission(android.Manifest.permission.BACKUP) public void setAutoRestore(boolean);
2115    method @RequiresPermission(android.Manifest.permission.BACKUP) public void setBackupEnabled(boolean);
2116    method @RequiresPermission(allOf={android.Manifest.permission.BACKUP, android.Manifest.permission.INTERACT_ACROSS_USERS_FULL}, conditional=true) public void setFrameworkSchedulingEnabled(boolean);
2117    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);
2118    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);
2119    field public static final int ERROR_AGENT_FAILURE = -1003; // 0xfffffc15
2120    field public static final int ERROR_BACKUP_CANCELLED = -2003; // 0xfffff82d
2121    field public static final int ERROR_BACKUP_NOT_ALLOWED = -2001; // 0xfffff82f
2122    field public static final int ERROR_PACKAGE_NOT_FOUND = -2002; // 0xfffff82e
2123    field public static final int ERROR_TRANSPORT_ABORTED = -1000; // 0xfffffc18
2124    field public static final int ERROR_TRANSPORT_INVALID = -2; // 0xfffffffe
2125    field public static final int ERROR_TRANSPORT_PACKAGE_REJECTED = -1002; // 0xfffffc16
2126    field public static final int ERROR_TRANSPORT_QUOTA_EXCEEDED = -1005; // 0xfffffc13
2127    field public static final int ERROR_TRANSPORT_UNAVAILABLE = -1; // 0xffffffff
2128    field public static final int FLAG_NON_INCREMENTAL_BACKUP = 1; // 0x1
2129    field public static final String PACKAGE_MANAGER_SENTINEL = "@pm@";
2130    field public static final int SUCCESS = 0; // 0x0
2131  }
2132
2133  public class BackupManagerMonitor {
2134    ctor public BackupManagerMonitor();
2135    method public void onEvent(android.os.Bundle);
2136    field public static final String EXTRA_LOG_AGENT_LOGGING_RESULTS = "android.app.backup.extra.LOG_AGENT_LOGGING_RESULTS";
2137    field public static final String EXTRA_LOG_CANCEL_ALL = "android.app.backup.extra.LOG_CANCEL_ALL";
2138    field public static final String EXTRA_LOG_EVENT_CATEGORY = "android.app.backup.extra.LOG_EVENT_CATEGORY";
2139    field public static final String EXTRA_LOG_EVENT_ID = "android.app.backup.extra.LOG_EVENT_ID";
2140    field public static final String EXTRA_LOG_EVENT_PACKAGE_LONG_VERSION = "android.app.backup.extra.LOG_EVENT_PACKAGE_FULL_VERSION";
2141    field public static final String EXTRA_LOG_EVENT_PACKAGE_NAME = "android.app.backup.extra.LOG_EVENT_PACKAGE_NAME";
2142    field @Deprecated public static final String EXTRA_LOG_EVENT_PACKAGE_VERSION = "android.app.backup.extra.LOG_EVENT_PACKAGE_VERSION";
2143    field public static final String EXTRA_LOG_EXCEPTION_FULL_BACKUP = "android.app.backup.extra.LOG_EXCEPTION_FULL_BACKUP";
2144    field public static final String EXTRA_LOG_ILLEGAL_KEY = "android.app.backup.extra.LOG_ILLEGAL_KEY";
2145    field public static final String EXTRA_LOG_MANIFEST_PACKAGE_NAME = "android.app.backup.extra.LOG_MANIFEST_PACKAGE_NAME";
2146    field public static final String EXTRA_LOG_OLD_VERSION = "android.app.backup.extra.LOG_OLD_VERSION";
2147    field public static final String EXTRA_LOG_POLICY_ALLOW_APKS = "android.app.backup.extra.LOG_POLICY_ALLOW_APKS";
2148    field public static final String EXTRA_LOG_PREFLIGHT_ERROR = "android.app.backup.extra.LOG_PREFLIGHT_ERROR";
2149    field public static final String EXTRA_LOG_RESTORE_ANYWAY = "android.app.backup.extra.LOG_RESTORE_ANYWAY";
2150    field public static final String EXTRA_LOG_RESTORE_VERSION = "android.app.backup.extra.LOG_RESTORE_VERSION";
2151    field public static final String EXTRA_LOG_WIDGET_PACKAGE_NAME = "android.app.backup.extra.LOG_WIDGET_PACKAGE_NAME";
2152    field public static final int LOG_EVENT_CATEGORY_AGENT = 2; // 0x2
2153    field public static final int LOG_EVENT_CATEGORY_BACKUP_MANAGER_POLICY = 3; // 0x3
2154    field public static final int LOG_EVENT_CATEGORY_TRANSPORT = 1; // 0x1
2155    field public static final int LOG_EVENT_ID_AGENT_LOGGING_RESULTS = 52; // 0x34
2156    field public static final int LOG_EVENT_ID_APK_NOT_INSTALLED = 40; // 0x28
2157    field public static final int LOG_EVENT_ID_APP_HAS_NO_AGENT = 28; // 0x1c
2158    field public static final int LOG_EVENT_ID_BACKUP_DISABLED = 13; // 0xd
2159    field public static final int LOG_EVENT_ID_CANNOT_RESTORE_WITHOUT_APK = 41; // 0x29
2160    field public static final int LOG_EVENT_ID_CANT_FIND_AGENT = 30; // 0x1e
2161    field public static final int LOG_EVENT_ID_CORRUPT_MANIFEST = 46; // 0x2e
2162    field public static final int LOG_EVENT_ID_DEVICE_NOT_PROVISIONED = 14; // 0xe
2163    field public static final int LOG_EVENT_ID_ERROR_PREFLIGHT = 16; // 0x10
2164    field public static final int LOG_EVENT_ID_EXCEPTION_FULL_BACKUP = 19; // 0x13
2165    field public static final int LOG_EVENT_ID_EXPECTED_DIFFERENT_PACKAGE = 43; // 0x2b
2166    field public static final int LOG_EVENT_ID_FULL_BACKUP_CANCEL = 4; // 0x4
2167    field public static final int LOG_EVENT_ID_FULL_RESTORE_ALLOW_BACKUP_FALSE = 39; // 0x27
2168    field public static final int LOG_EVENT_ID_FULL_RESTORE_SIGNATURE_MISMATCH = 37; // 0x25
2169    field public static final int LOG_EVENT_ID_FULL_RESTORE_TIMEOUT = 45; // 0x2d
2170    field public static final int LOG_EVENT_ID_ILLEGAL_KEY = 5; // 0x5
2171    field public static final int LOG_EVENT_ID_KEY_VALUE_BACKUP_CANCEL = 21; // 0x15
2172    field public static final int LOG_EVENT_ID_KEY_VALUE_RESTORE_TIMEOUT = 31; // 0x1f
2173    field public static final int LOG_EVENT_ID_LOST_TRANSPORT = 25; // 0x19
2174    field public static final int LOG_EVENT_ID_MISSING_SIGNATURE = 42; // 0x2a
2175    field public static final int LOG_EVENT_ID_NO_DATA_TO_SEND = 7; // 0x7
2176    field public static final int LOG_EVENT_ID_NO_PACKAGES = 49; // 0x31
2177    field public static final int LOG_EVENT_ID_NO_PM_METADATA_RECEIVED = 23; // 0x17
2178    field public static final int LOG_EVENT_ID_NO_RESTORE_METADATA_AVAILABLE = 22; // 0x16
2179    field public static final int LOG_EVENT_ID_PACKAGE_INELIGIBLE = 9; // 0x9
2180    field public static final int LOG_EVENT_ID_PACKAGE_KEY_VALUE_PARTICIPANT = 10; // 0xa
2181    field public static final int LOG_EVENT_ID_PACKAGE_NOT_FOUND = 12; // 0xc
2182    field public static final int LOG_EVENT_ID_PACKAGE_NOT_PRESENT = 26; // 0x1a
2183    field public static final int LOG_EVENT_ID_PACKAGE_STOPPED = 11; // 0xb
2184    field public static final int LOG_EVENT_ID_PACKAGE_TRANSPORT_NOT_PRESENT = 15; // 0xf
2185    field public static final int LOG_EVENT_ID_PM_AGENT_HAS_NO_METADATA = 24; // 0x18
2186    field public static final int LOG_EVENT_ID_QUOTA_HIT_PREFLIGHT = 18; // 0x12
2187    field public static final int LOG_EVENT_ID_RESTORE_ANY_VERSION = 34; // 0x22
2188    field public static final int LOG_EVENT_ID_RESTORE_VERSION_HIGHER = 27; // 0x1b
2189    field public static final int LOG_EVENT_ID_SIGNATURE_MISMATCH = 29; // 0x1d
2190    field public static final int LOG_EVENT_ID_SYSTEM_APP_NO_AGENT = 38; // 0x26
2191    field public static final int LOG_EVENT_ID_TRANSPORT_IS_NULL = 50; // 0x32
2192    field public static final int LOG_EVENT_ID_TRANSPORT_NON_INCREMENTAL_BACKUP_REQUIRED = 51; // 0x33
2193    field public static final int LOG_EVENT_ID_UNKNOWN_VERSION = 44; // 0x2c
2194    field public static final int LOG_EVENT_ID_VERSIONS_MATCH = 35; // 0x23
2195    field public static final int LOG_EVENT_ID_VERSION_OF_BACKUP_OLDER = 36; // 0x24
2196    field public static final int LOG_EVENT_ID_WIDGET_METADATA_MISMATCH = 47; // 0x2f
2197    field public static final int LOG_EVENT_ID_WIDGET_UNKNOWN_VERSION = 48; // 0x30
2198  }
2199
2200  public abstract class BackupObserver {
2201    ctor public BackupObserver();
2202    method public void backupFinished(int);
2203    method public void onResult(String, int);
2204    method public void onUpdate(String, android.app.backup.BackupProgress);
2205  }
2206
2207  public class BackupProgress implements android.os.Parcelable {
2208    ctor public BackupProgress(long, long);
2209    method public int describeContents();
2210    method public void writeToParcel(android.os.Parcel, int);
2211    field @NonNull public static final android.os.Parcelable.Creator<android.app.backup.BackupProgress> CREATOR;
2212    field public final long bytesExpected;
2213    field public final long bytesTransferred;
2214  }
2215
2216  public final class BackupRestoreEventLogger {
2217    method public void logBackupMetadata(@NonNull String, @NonNull String);
2218    method public void logItemsBackedUp(@NonNull String, int);
2219    method public void logItemsBackupFailed(@NonNull String, int, @Nullable String);
2220    method public void logItemsRestoreFailed(@NonNull String, int, @Nullable String);
2221    method public void logItemsRestored(@NonNull String, int);
2222    method public void logRestoreMetadata(@NonNull String, @NonNull String);
2223  }
2224
2225  public static final class BackupRestoreEventLogger.DataTypeResult implements android.os.Parcelable {
2226    ctor public BackupRestoreEventLogger.DataTypeResult(@NonNull String);
2227    method public int describeContents();
2228    method @NonNull public String getDataType();
2229    method @NonNull public java.util.Map<java.lang.String,java.lang.Integer> getErrors();
2230    method public int getFailCount();
2231    method @Nullable public byte[] getMetadataHash();
2232    method public int getSuccessCount();
2233    method public void writeToParcel(@NonNull android.os.Parcel, int);
2234    field @NonNull public static final android.os.Parcelable.Creator<android.app.backup.BackupRestoreEventLogger.DataTypeResult> CREATOR;
2235  }
2236
2237  public class BackupTransport {
2238    ctor public BackupTransport();
2239    method public int abortFullRestore();
2240    method public void cancelFullBackup();
2241    method public int checkFullBackupSize(long);
2242    method public int clearBackupData(android.content.pm.PackageInfo);
2243    method public android.content.Intent configurationIntent();
2244    method public String currentDestinationString();
2245    method public android.content.Intent dataManagementIntent();
2246    method @Nullable public CharSequence dataManagementIntentLabel();
2247    method @Deprecated @Nullable public String dataManagementLabel();
2248    method public int finishBackup();
2249    method public void finishRestore();
2250    method public android.app.backup.RestoreSet[] getAvailableRestoreSets();
2251    method @Nullable public android.app.backup.BackupManagerMonitor getBackupManagerMonitor();
2252    method public long getBackupQuota(String, boolean);
2253    method public android.os.IBinder getBinder();
2254    method public long getCurrentRestoreSet();
2255    method public int getNextFullRestoreDataChunk(android.os.ParcelFileDescriptor);
2256    method @NonNull public java.util.List<java.lang.String> getPackagesThatShouldNotUseRestrictedMode(@NonNull java.util.List<java.lang.String>, int);
2257    method public int getRestoreData(android.os.ParcelFileDescriptor);
2258    method public int getTransportFlags();
2259    method public int initializeDevice();
2260    method public boolean isAppEligibleForBackup(android.content.pm.PackageInfo, boolean);
2261    method public String name();
2262    method public android.app.backup.RestoreDescription nextRestorePackage();
2263    method public int performBackup(android.content.pm.PackageInfo, android.os.ParcelFileDescriptor);
2264    method public int performBackup(android.content.pm.PackageInfo, android.os.ParcelFileDescriptor, int);
2265    method public int performFullBackup(android.content.pm.PackageInfo, android.os.ParcelFileDescriptor);
2266    method public int performFullBackup(android.content.pm.PackageInfo, android.os.ParcelFileDescriptor, int);
2267    method public long requestBackupTime();
2268    method public long requestFullBackupTime();
2269    method public int sendBackupData(int);
2270    method public int startRestore(long, android.content.pm.PackageInfo[]);
2271    method public String transportDirName();
2272    field public static final int AGENT_ERROR = -1003; // 0xfffffc15
2273    field public static final int AGENT_UNKNOWN = -1004; // 0xfffffc14
2274    field public static final String EXTRA_TRANSPORT_REGISTRATION = "android.app.backup.extra.TRANSPORT_REGISTRATION";
2275    field public static final int FLAG_DATA_NOT_CHANGED = 8; // 0x8
2276    field public static final int FLAG_INCREMENTAL = 2; // 0x2
2277    field public static final int FLAG_NON_INCREMENTAL = 4; // 0x4
2278    field public static final int FLAG_USER_INITIATED = 1; // 0x1
2279    field public static final int NO_MORE_DATA = -1; // 0xffffffff
2280    field public static final int TRANSPORT_ERROR = -1000; // 0xfffffc18
2281    field public static final int TRANSPORT_NON_INCREMENTAL_BACKUP_REQUIRED = -1006; // 0xfffffc12
2282    field public static final int TRANSPORT_NOT_INITIALIZED = -1001; // 0xfffffc17
2283    field public static final int TRANSPORT_OK = 0; // 0x0
2284    field public static final int TRANSPORT_PACKAGE_REJECTED = -1002; // 0xfffffc16
2285    field public static final int TRANSPORT_QUOTA_EXCEEDED = -1005; // 0xfffffc13
2286  }
2287
2288  public class RestoreDescription implements android.os.Parcelable {
2289    ctor public RestoreDescription(String, int);
2290    method public int describeContents();
2291    method public int getDataType();
2292    method public String getPackageName();
2293    method public void writeToParcel(android.os.Parcel, int);
2294    field @NonNull public static final android.os.Parcelable.Creator<android.app.backup.RestoreDescription> CREATOR;
2295    field public static final android.app.backup.RestoreDescription NO_MORE_PACKAGES;
2296    field public static final int TYPE_FULL_STREAM = 2; // 0x2
2297    field public static final int TYPE_KEY_VALUE = 1; // 0x1
2298  }
2299
2300  public abstract class RestoreObserver {
2301    method public void restoreSetsAvailable(android.app.backup.RestoreSet[]);
2302  }
2303
2304  public class RestoreSession {
2305    method public void endRestoreSession();
2306    method public int getAvailableRestoreSets(android.app.backup.RestoreObserver);
2307    method public int getAvailableRestoreSets(android.app.backup.RestoreObserver, android.app.backup.BackupManagerMonitor);
2308    method public int restoreAll(long, android.app.backup.RestoreObserver);
2309    method public int restoreAll(long, android.app.backup.RestoreObserver, android.app.backup.BackupManagerMonitor);
2310    method public int restorePackage(String, android.app.backup.RestoreObserver);
2311    method public int restorePackage(String, android.app.backup.RestoreObserver, android.app.backup.BackupManagerMonitor);
2312    method public int restorePackages(long, @Nullable android.app.backup.RestoreObserver, @NonNull java.util.Set<java.lang.String>);
2313    method public int restorePackages(long, @Nullable android.app.backup.RestoreObserver, @NonNull java.util.Set<java.lang.String>, @Nullable android.app.backup.BackupManagerMonitor);
2314  }
2315
2316  public class RestoreSet implements android.os.Parcelable {
2317    ctor public RestoreSet();
2318    ctor public RestoreSet(@Nullable String, @Nullable String, long);
2319    ctor public RestoreSet(@Nullable String, @Nullable String, long, int);
2320    method public int describeContents();
2321    method public void writeToParcel(android.os.Parcel, int);
2322    field @NonNull public static final android.os.Parcelable.Creator<android.app.backup.RestoreSet> CREATOR;
2323    field public final int backupTransportFlags;
2324    field @Nullable public String device;
2325    field @Nullable public String name;
2326    field public long token;
2327  }
2328
2329  public abstract class SelectBackupTransportCallback {
2330    ctor public SelectBackupTransportCallback();
2331    method public void onFailure(int);
2332    method public void onSuccess(String);
2333  }
2334
2335}
2336
2337package android.app.cloudsearch {
2338
2339  public class CloudSearchManager {
2340    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);
2341  }
2342
2343  public static interface CloudSearchManager.CallBack {
2344    method public void onSearchFailed(@NonNull android.app.cloudsearch.SearchRequest, @NonNull android.app.cloudsearch.SearchResponse);
2345    method public void onSearchSucceeded(@NonNull android.app.cloudsearch.SearchRequest, @NonNull android.app.cloudsearch.SearchResponse);
2346  }
2347
2348  public final class SearchRequest implements android.os.Parcelable {
2349    method public int describeContents();
2350    method @NonNull public String getCallerPackageName();
2351    method public float getMaxLatencyMillis();
2352    method @NonNull public String getQuery();
2353    method @NonNull public String getRequestId();
2354    method public int getResultNumber();
2355    method public int getResultOffset();
2356    method @NonNull public android.os.Bundle getSearchConstraints();
2357    method public void writeToParcel(@NonNull android.os.Parcel, int);
2358    field public static final String CONSTRAINT_IS_PRESUBMIT_SUGGESTION = "android.app.cloudsearch.IS_PRESUBMIT_SUGGESTION";
2359    field public static final String CONSTRAINT_SEARCH_PROVIDER_FILTER = "android.app.cloudsearch.SEARCH_PROVIDER_FILTER";
2360    field @NonNull public static final android.os.Parcelable.Creator<android.app.cloudsearch.SearchRequest> CREATOR;
2361  }
2362
2363  public static final class SearchRequest.Builder {
2364    ctor public SearchRequest.Builder(@NonNull String);
2365    method @NonNull public android.app.cloudsearch.SearchRequest build();
2366    method @NonNull public android.app.cloudsearch.SearchRequest.Builder setMaxLatencyMillis(float);
2367    method @NonNull public android.app.cloudsearch.SearchRequest.Builder setQuery(@NonNull String);
2368    method @NonNull public android.app.cloudsearch.SearchRequest.Builder setResultNumber(int);
2369    method @NonNull public android.app.cloudsearch.SearchRequest.Builder setResultOffset(int);
2370    method @NonNull public android.app.cloudsearch.SearchRequest.Builder setSearchConstraints(@Nullable android.os.Bundle);
2371  }
2372
2373  public final class SearchResponse implements android.os.Parcelable {
2374    method public int describeContents();
2375    method @NonNull public java.util.List<android.app.cloudsearch.SearchResult> getSearchResults();
2376    method @NonNull public String getSource();
2377    method public int getStatusCode();
2378    method public void writeToParcel(@NonNull android.os.Parcel, int);
2379    field @NonNull public static final android.os.Parcelable.Creator<android.app.cloudsearch.SearchResponse> CREATOR;
2380    field public static final int SEARCH_STATUS_NO_INTERNET = 2; // 0x2
2381    field public static final int SEARCH_STATUS_OK = 0; // 0x0
2382    field public static final int SEARCH_STATUS_TIME_OUT = 1; // 0x1
2383    field public static final int SEARCH_STATUS_UNKNOWN = -1; // 0xffffffff
2384  }
2385
2386  public static final class SearchResponse.Builder {
2387    ctor public SearchResponse.Builder(int);
2388    method @NonNull public android.app.cloudsearch.SearchResponse build();
2389    method @NonNull public android.app.cloudsearch.SearchResponse.Builder setSearchResults(@NonNull java.util.List<android.app.cloudsearch.SearchResult>);
2390    method @NonNull public android.app.cloudsearch.SearchResponse.Builder setStatusCode(int);
2391  }
2392
2393  public final class SearchResult implements android.os.Parcelable {
2394    method public int describeContents();
2395    method @NonNull public android.os.Bundle getExtraInfos();
2396    method public float getScore();
2397    method @NonNull public String getSnippet();
2398    method @NonNull public String getTitle();
2399    method public void writeToParcel(@NonNull android.os.Parcel, int);
2400    field @NonNull public static final android.os.Parcelable.Creator<android.app.cloudsearch.SearchResult> CREATOR;
2401    field public static final String EXTRAINFO_ACTION_APP_CARD = "android.app.cloudsearch.ACTION_APP_CARD";
2402    field public static final String EXTRAINFO_ACTION_BUTTON_IMAGE_PREREGISTERING = "android.app.cloudsearch.ACTION_BUTTON_IMAGE";
2403    field public static final String EXTRAINFO_ACTION_BUTTON_TEXT_PREREGISTERING = "android.app.cloudsearch.ACTION_BUTTON_TEXT";
2404    field public static final String EXTRAINFO_ACTION_INSTALL_BUTTON = "android.app.cloudsearch.ACTION_INSTALL_BUTTON";
2405    field public static final String EXTRAINFO_APP_BADGES = "android.app.cloudsearch.APP_BADGES";
2406    field public static final String EXTRAINFO_APP_CONTAINS_ADS_DISCLAIMER = "android.app.cloudsearch.APP_CONTAINS_ADS_DISCLAIMER";
2407    field public static final String EXTRAINFO_APP_CONTAINS_IAP_DISCLAIMER = "android.app.cloudsearch.APP_CONTAINS_IAP_DISCLAIMER";
2408    field public static final String EXTRAINFO_APP_DEVELOPER_NAME = "android.app.cloudsearch.APP_DEVELOPER_NAME";
2409    field public static final String EXTRAINFO_APP_DOMAIN_URL = "android.app.cloudsearch.APP_DOMAIN_URL";
2410    field public static final String EXTRAINFO_APP_IARC = "android.app.cloudsearch.APP_IARC";
2411    field public static final String EXTRAINFO_APP_ICON = "android.app.cloudsearch.APP_ICON";
2412    field public static final String EXTRAINFO_APP_INSTALL_COUNT = "android.app.cloudsearch.APP_INSTALL_COUNT";
2413    field public static final String EXTRAINFO_APP_PACKAGE_NAME = "android.app.cloudsearch.APP_PACKAGE_NAME";
2414    field public static final String EXTRAINFO_APP_REVIEW_COUNT = "android.app.cloudsearch.APP_REVIEW_COUNT";
2415    field public static final String EXTRAINFO_APP_SIZE_BYTES = "android.app.cloudsearch.APP_SIZE_BYTES";
2416    field public static final String EXTRAINFO_APP_STAR_RATING = "android.app.cloudsearch.APP_STAR_RATING";
2417    field public static final String EXTRAINFO_LONG_DESCRIPTION = "android.app.cloudsearch.LONG_DESCRIPTION";
2418    field public static final String EXTRAINFO_SCREENSHOTS = "android.app.cloudsearch.SCREENSHOTS";
2419    field public static final String EXTRAINFO_SHORT_DESCRIPTION = "android.app.cloudsearch.SHORT_DESCRIPTION";
2420    field public static final String EXTRAINFO_WEB_ICON = "android.app.cloudsearch.WEB_ICON";
2421    field public static final String EXTRAINFO_WEB_URL = "android.app.cloudsearch.WEB_URL";
2422  }
2423
2424  public static final class SearchResult.Builder {
2425    ctor public SearchResult.Builder(@NonNull String, @NonNull android.os.Bundle);
2426    method @NonNull public android.app.cloudsearch.SearchResult build();
2427    method @NonNull public android.app.cloudsearch.SearchResult.Builder setExtraInfos(@NonNull android.os.Bundle);
2428    method @NonNull public android.app.cloudsearch.SearchResult.Builder setScore(float);
2429    method @NonNull public android.app.cloudsearch.SearchResult.Builder setSnippet(@NonNull String);
2430    method @NonNull public android.app.cloudsearch.SearchResult.Builder setTitle(@NonNull String);
2431  }
2432
2433}
2434
2435package android.app.compat {
2436
2437  public final class CompatChanges {
2438    method public static boolean isChangeEnabled(long);
2439    method @RequiresPermission(allOf={"android.permission.READ_COMPAT_CHANGE_CONFIG", "android.permission.LOG_COMPAT_CHANGE"}) public static boolean isChangeEnabled(long, int);
2440    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);
2441    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>>);
2442    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>);
2443    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>>);
2444    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>);
2445  }
2446
2447  public final class PackageOverride {
2448    method public long getMaxVersionCode();
2449    method public long getMinVersionCode();
2450    method public boolean isEnabled();
2451  }
2452
2453  public static final class PackageOverride.Builder {
2454    ctor public PackageOverride.Builder();
2455    method @NonNull public android.app.compat.PackageOverride build();
2456    method @NonNull public android.app.compat.PackageOverride.Builder setEnabled(boolean);
2457    method @NonNull public android.app.compat.PackageOverride.Builder setMaxVersionCode(long);
2458    method @NonNull public android.app.compat.PackageOverride.Builder setMinVersionCode(long);
2459  }
2460
2461}
2462
2463package android.app.contentsuggestions {
2464
2465  public final class ClassificationsRequest implements android.os.Parcelable {
2466    method public int describeContents();
2467    method @NonNull public android.os.Bundle getExtras();
2468    method @NonNull public java.util.List<android.app.contentsuggestions.ContentSelection> getSelections();
2469    method public void writeToParcel(android.os.Parcel, int);
2470    field @NonNull public static final android.os.Parcelable.Creator<android.app.contentsuggestions.ClassificationsRequest> CREATOR;
2471  }
2472
2473  public static final class ClassificationsRequest.Builder {
2474    ctor public ClassificationsRequest.Builder(@NonNull java.util.List<android.app.contentsuggestions.ContentSelection>);
2475    method @NonNull public android.app.contentsuggestions.ClassificationsRequest build();
2476    method @NonNull public android.app.contentsuggestions.ClassificationsRequest.Builder setExtras(@NonNull android.os.Bundle);
2477  }
2478
2479  public final class ContentClassification implements android.os.Parcelable {
2480    ctor public ContentClassification(@NonNull String, @NonNull android.os.Bundle);
2481    method public int describeContents();
2482    method @NonNull public android.os.Bundle getExtras();
2483    method @NonNull public String getId();
2484    method public void writeToParcel(android.os.Parcel, int);
2485    field @NonNull public static final android.os.Parcelable.Creator<android.app.contentsuggestions.ContentClassification> CREATOR;
2486  }
2487
2488  public final class ContentSelection implements android.os.Parcelable {
2489    ctor public ContentSelection(@NonNull String, @NonNull android.os.Bundle);
2490    method public int describeContents();
2491    method @NonNull public android.os.Bundle getExtras();
2492    method @NonNull public String getId();
2493    method public void writeToParcel(android.os.Parcel, int);
2494    field @NonNull public static final android.os.Parcelable.Creator<android.app.contentsuggestions.ContentSelection> CREATOR;
2495  }
2496
2497  public final class ContentSuggestionsManager {
2498    method public void classifyContentSelections(@NonNull android.app.contentsuggestions.ClassificationsRequest, @NonNull java.util.concurrent.Executor, @NonNull android.app.contentsuggestions.ContentSuggestionsManager.ClassificationsCallback);
2499    method public boolean isEnabled();
2500    method public void notifyInteraction(@NonNull String, @NonNull android.os.Bundle);
2501    method public void provideContextImage(@NonNull android.graphics.Bitmap, @NonNull android.os.Bundle);
2502    method public void provideContextImage(int, @NonNull android.os.Bundle);
2503    method public void suggestContentSelections(@NonNull android.app.contentsuggestions.SelectionsRequest, @NonNull java.util.concurrent.Executor, @NonNull android.app.contentsuggestions.ContentSuggestionsManager.SelectionsCallback);
2504  }
2505
2506  public static interface ContentSuggestionsManager.ClassificationsCallback {
2507    method public void onContentClassificationsAvailable(int, @NonNull java.util.List<android.app.contentsuggestions.ContentClassification>);
2508  }
2509
2510  public static interface ContentSuggestionsManager.SelectionsCallback {
2511    method public void onContentSelectionsAvailable(int, @NonNull java.util.List<android.app.contentsuggestions.ContentSelection>);
2512  }
2513
2514  public final class SelectionsRequest implements android.os.Parcelable {
2515    method public int describeContents();
2516    method @NonNull public android.os.Bundle getExtras();
2517    method @Nullable public android.graphics.Point getInterestPoint();
2518    method public int getTaskId();
2519    method public void writeToParcel(android.os.Parcel, int);
2520    field @NonNull public static final android.os.Parcelable.Creator<android.app.contentsuggestions.SelectionsRequest> CREATOR;
2521  }
2522
2523  public static final class SelectionsRequest.Builder {
2524    ctor public SelectionsRequest.Builder(int);
2525    method @NonNull public android.app.contentsuggestions.SelectionsRequest build();
2526    method @NonNull public android.app.contentsuggestions.SelectionsRequest.Builder setExtras(@NonNull android.os.Bundle);
2527    method @NonNull public android.app.contentsuggestions.SelectionsRequest.Builder setInterestPoint(@NonNull android.graphics.Point);
2528  }
2529
2530}
2531
2532package android.app.contextualsearch {
2533
2534  public final class CallbackToken implements android.os.Parcelable {
2535    ctor public CallbackToken();
2536    method public int describeContents();
2537    method public void getContextualSearchState(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.app.contextualsearch.ContextualSearchState,java.lang.Throwable>);
2538    method public void writeToParcel(@NonNull android.os.Parcel, int);
2539    field @NonNull public static final android.os.Parcelable.Creator<android.app.contextualsearch.CallbackToken> CREATOR;
2540  }
2541
2542  public final class ContextualSearchManager {
2543    method @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXTUAL_SEARCH) public void startContextualSearch(int);
2544    field public static final String ACTION_LAUNCH_CONTEXTUAL_SEARCH = "android.app.contextualsearch.action.LAUNCH_CONTEXTUAL_SEARCH";
2545    field public static final int ENTRYPOINT_LONG_PRESS_HOME = 2; // 0x2
2546    field public static final int ENTRYPOINT_LONG_PRESS_META = 10; // 0xa
2547    field public static final int ENTRYPOINT_LONG_PRESS_NAV_HANDLE = 1; // 0x1
2548    field public static final int ENTRYPOINT_LONG_PRESS_OVERVIEW = 3; // 0x3
2549    field public static final int ENTRYPOINT_OVERVIEW_ACTION = 4; // 0x4
2550    field public static final int ENTRYPOINT_OVERVIEW_MENU = 5; // 0x5
2551    field public static final int ENTRYPOINT_SYSTEM_ACTION = 9; // 0x9
2552    field public static final String EXTRA_ENTRYPOINT = "android.app.contextualsearch.extra.ENTRYPOINT";
2553    field public static final String EXTRA_FLAG_SECURE_FOUND = "android.app.contextualsearch.extra.FLAG_SECURE_FOUND";
2554    field public static final String EXTRA_IS_MANAGED_PROFILE_VISIBLE = "android.app.contextualsearch.extra.IS_MANAGED_PROFILE_VISIBLE";
2555    field public static final String EXTRA_SCREENSHOT = "android.app.contextualsearch.extra.SCREENSHOT";
2556    field public static final String EXTRA_TOKEN = "android.app.contextualsearch.extra.TOKEN";
2557    field public static final String EXTRA_VISIBLE_PACKAGE_NAMES = "android.app.contextualsearch.extra.VISIBLE_PACKAGE_NAMES";
2558  }
2559
2560  public final class ContextualSearchState implements android.os.Parcelable {
2561    ctor public ContextualSearchState(@Nullable android.app.assist.AssistStructure, @Nullable android.app.assist.AssistContent, @NonNull android.os.Bundle);
2562    method public int describeContents();
2563    method @Nullable public android.app.assist.AssistContent getContent();
2564    method @NonNull public android.os.Bundle getExtras();
2565    method @Nullable public android.app.assist.AssistStructure getStructure();
2566    method public void writeToParcel(@NonNull android.os.Parcel, int);
2567    field @NonNull public static final android.os.Parcelable.Creator<android.app.contextualsearch.ContextualSearchState> CREATOR;
2568  }
2569
2570}
2571
2572package android.app.ecm {
2573
2574  public final class EnhancedConfirmationManager {
2575    method @RequiresPermission(android.Manifest.permission.MANAGE_ENHANCED_CONFIRMATION_STATES) public void clearRestriction(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
2576    method @NonNull public android.content.Intent createRestrictedSettingDialogIntent(@NonNull String, @NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
2577    method @RequiresPermission(android.Manifest.permission.MANAGE_ENHANCED_CONFIRMATION_STATES) public boolean isClearRestrictionAllowed(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
2578    method @RequiresPermission(android.Manifest.permission.MANAGE_ENHANCED_CONFIRMATION_STATES) public boolean isRestricted(@NonNull String, @NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
2579    method @RequiresPermission(android.Manifest.permission.MANAGE_ENHANCED_CONFIRMATION_STATES) public void setClearRestrictionAllowed(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
2580    field public static final String ACTION_SHOW_ECM_RESTRICTED_SETTING_DIALOG = "android.app.ecm.action.SHOW_ECM_RESTRICTED_SETTING_DIALOG";
2581  }
2582
2583}
2584
2585package android.app.job {
2586
2587  public abstract class JobScheduler {
2588    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public abstract int scheduleAsPackage(@NonNull android.app.job.JobInfo, @NonNull String, int, String);
2589  }
2590
2591  public class JobSchedulerFrameworkInitializer {
2592    method public static void registerServiceWrappers();
2593  }
2594
2595}
2596
2597package android.app.ondeviceintelligence {
2598
2599  public interface DownloadCallback {
2600    method public void onDownloadCompleted(@NonNull android.os.PersistableBundle);
2601    method public void onDownloadFailed(int, @Nullable String, @NonNull android.os.PersistableBundle);
2602    method public default void onDownloadProgress(long);
2603    method public default void onDownloadStarted(long);
2604    field public static final int DOWNLOAD_FAILURE_STATUS_DOWNLOADING = 3; // 0x3
2605    field public static final int DOWNLOAD_FAILURE_STATUS_NETWORK_FAILURE = 2; // 0x2
2606    field public static final int DOWNLOAD_FAILURE_STATUS_NOT_ENOUGH_DISK_SPACE = 1; // 0x1
2607    field public static final int DOWNLOAD_FAILURE_STATUS_UNAVAILABLE = 4; // 0x4
2608    field public static final int DOWNLOAD_FAILURE_STATUS_UNKNOWN = 0; // 0x0
2609  }
2610
2611  public final class Feature implements android.os.Parcelable {
2612    method public int describeContents();
2613    method @NonNull public android.os.PersistableBundle getFeatureParams();
2614    method public int getId();
2615    method @Nullable public String getModelName();
2616    method @Nullable public String getName();
2617    method public int getType();
2618    method public int getVariant();
2619    method public void writeToParcel(@NonNull android.os.Parcel, int);
2620    field @NonNull public static final android.os.Parcelable.Creator<android.app.ondeviceintelligence.Feature> CREATOR;
2621  }
2622
2623  public static final class Feature.Builder {
2624    ctor public Feature.Builder(int);
2625    method @NonNull public android.app.ondeviceintelligence.Feature build();
2626    method @NonNull public android.app.ondeviceintelligence.Feature.Builder setFeatureParams(@NonNull android.os.PersistableBundle);
2627    method @NonNull public android.app.ondeviceintelligence.Feature.Builder setModelName(@NonNull String);
2628    method @NonNull public android.app.ondeviceintelligence.Feature.Builder setName(@NonNull String);
2629    method @NonNull public android.app.ondeviceintelligence.Feature.Builder setType(int);
2630    method @NonNull public android.app.ondeviceintelligence.Feature.Builder setVariant(int);
2631  }
2632
2633  public final class FeatureDetails implements android.os.Parcelable {
2634    ctor public FeatureDetails(int);
2635    ctor public FeatureDetails(int, @NonNull android.os.PersistableBundle);
2636    method public int describeContents();
2637    method @NonNull public android.os.PersistableBundle getFeatureDetailParams();
2638    method public int getFeatureStatus();
2639    method public void writeToParcel(@NonNull android.os.Parcel, int);
2640    field @NonNull public static final android.os.Parcelable.Creator<android.app.ondeviceintelligence.FeatureDetails> CREATOR;
2641    field public static final int FEATURE_STATUS_AVAILABLE = 3; // 0x3
2642    field public static final int FEATURE_STATUS_DOWNLOADABLE = 1; // 0x1
2643    field public static final int FEATURE_STATUS_DOWNLOADING = 2; // 0x2
2644    field public static final int FEATURE_STATUS_SERVICE_UNAVAILABLE = 4; // 0x4
2645    field public static final int FEATURE_STATUS_UNAVAILABLE = 0; // 0x0
2646  }
2647
2648  public class OnDeviceIntelligenceException extends java.lang.Exception {
2649    ctor public OnDeviceIntelligenceException(int);
2650    ctor public OnDeviceIntelligenceException(int, @NonNull android.os.PersistableBundle);
2651    ctor public OnDeviceIntelligenceException(int, @NonNull String);
2652    ctor public OnDeviceIntelligenceException(int, @NonNull String, @NonNull android.os.PersistableBundle);
2653    method public int getErrorCode();
2654    method @NonNull public android.os.PersistableBundle getErrorParams();
2655    field public static final int ON_DEVICE_INTELLIGENCE_SERVICE_UNAVAILABLE = 100; // 0x64
2656    field public static final int PROCESSING_ERROR_BAD_DATA = 2; // 0x2
2657    field public static final int PROCESSING_ERROR_BAD_REQUEST = 3; // 0x3
2658    field public static final int PROCESSING_ERROR_BUSY = 9; // 0x9
2659    field public static final int PROCESSING_ERROR_CANCELLED = 7; // 0x7
2660    field public static final int PROCESSING_ERROR_COMPUTE_ERROR = 5; // 0x5
2661    field public static final int PROCESSING_ERROR_INTERNAL = 14; // 0xe
2662    field public static final int PROCESSING_ERROR_IPC_ERROR = 6; // 0x6
2663    field public static final int PROCESSING_ERROR_NOT_AVAILABLE = 8; // 0x8
2664    field public static final int PROCESSING_ERROR_REQUEST_NOT_SAFE = 4; // 0x4
2665    field public static final int PROCESSING_ERROR_REQUEST_TOO_LARGE = 12; // 0xc
2666    field public static final int PROCESSING_ERROR_RESPONSE_NOT_SAFE = 11; // 0xb
2667    field public static final int PROCESSING_ERROR_SAFETY_ERROR = 10; // 0xa
2668    field public static final int PROCESSING_ERROR_SERVICE_UNAVAILABLE = 15; // 0xf
2669    field public static final int PROCESSING_ERROR_SUSPENDED = 13; // 0xd
2670    field public static final int PROCESSING_ERROR_UNKNOWN = 1; // 0x1
2671    field public static final int PROCESSING_UPDATE_STATUS_CONNECTION_FAILED = 200; // 0xc8
2672  }
2673
2674  public final class OnDeviceIntelligenceManager {
2675    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>);
2676    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>);
2677    method @Nullable @RequiresPermission(android.Manifest.permission.USE_ON_DEVICE_INTELLIGENCE) public String getRemoteServicePackageName();
2678    method @RequiresPermission(android.Manifest.permission.USE_ON_DEVICE_INTELLIGENCE) public void getVersion(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.LongConsumer);
2679    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>);
2680    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);
2681    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);
2682    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);
2683    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>);
2684    field public static final int REQUEST_TYPE_EMBEDDINGS = 2; // 0x2
2685    field public static final int REQUEST_TYPE_INFERENCE = 0; // 0x0
2686    field public static final int REQUEST_TYPE_PREPARE = 1; // 0x1
2687  }
2688
2689  public interface ProcessingCallback {
2690    method public default void onDataAugmentRequest(@NonNull android.os.Bundle, @NonNull java.util.function.Consumer<android.os.Bundle>);
2691    method public void onError(@NonNull android.app.ondeviceintelligence.OnDeviceIntelligenceException);
2692    method public void onResult(@NonNull android.os.Bundle);
2693  }
2694
2695  public final class ProcessingSignal {
2696    ctor public ProcessingSignal();
2697    method public void sendSignal(@NonNull android.os.PersistableBundle);
2698    method public void setOnProcessingSignalCallback(@NonNull java.util.concurrent.Executor, @Nullable android.app.ondeviceintelligence.ProcessingSignal.OnProcessingSignalCallback);
2699  }
2700
2701  public static interface ProcessingSignal.OnProcessingSignalCallback {
2702    method public void onSignalReceived(@NonNull android.os.PersistableBundle);
2703  }
2704
2705  public interface StreamingProcessingCallback extends android.app.ondeviceintelligence.ProcessingCallback {
2706    method public void onPartialResult(@NonNull android.os.Bundle);
2707  }
2708
2709  public final class TokenInfo implements android.os.Parcelable {
2710    ctor public TokenInfo(long);
2711    ctor public TokenInfo(long, @NonNull android.os.PersistableBundle);
2712    method public int describeContents();
2713    method public long getCount();
2714    method @NonNull public android.os.PersistableBundle getInfoParams();
2715    method public void writeToParcel(@NonNull android.os.Parcel, int);
2716    field @NonNull public static final android.os.Parcelable.Creator<android.app.ondeviceintelligence.TokenInfo> CREATOR;
2717  }
2718
2719}
2720
2721package android.app.people {
2722
2723  public final class PeopleManager {
2724    method @RequiresPermission(android.Manifest.permission.READ_PEOPLE_DATA) public boolean isConversation(@NonNull String, @NonNull String);
2725  }
2726
2727}
2728
2729package android.app.prediction {
2730
2731  public final class AppPredictionContext implements android.os.Parcelable {
2732    method public int describeContents();
2733    method @Nullable public android.os.Bundle getExtras();
2734    method @NonNull public String getPackageName();
2735    method @IntRange(from=0) public int getPredictedTargetCount();
2736    method @NonNull public String getUiSurface();
2737    method public void writeToParcel(@NonNull android.os.Parcel, int);
2738    field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppPredictionContext> CREATOR;
2739  }
2740
2741  public static final class AppPredictionContext.Builder {
2742    ctor public AppPredictionContext.Builder(@NonNull android.content.Context);
2743    method @NonNull public android.app.prediction.AppPredictionContext build();
2744    method @NonNull public android.app.prediction.AppPredictionContext.Builder setExtras(@Nullable android.os.Bundle);
2745    method @NonNull public android.app.prediction.AppPredictionContext.Builder setPredictedTargetCount(@IntRange(from=0) int);
2746    method @NonNull public android.app.prediction.AppPredictionContext.Builder setUiSurface(@NonNull String);
2747  }
2748
2749  public final class AppPredictionManager {
2750    method @NonNull public android.app.prediction.AppPredictor createAppPredictionSession(@NonNull android.app.prediction.AppPredictionContext);
2751  }
2752
2753  public final class AppPredictionSessionId implements android.os.Parcelable {
2754    method public int describeContents();
2755    method public void writeToParcel(android.os.Parcel, int);
2756    field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppPredictionSessionId> CREATOR;
2757  }
2758
2759  public final class AppPredictor {
2760    method public void destroy();
2761    method public void notifyAppTargetEvent(@NonNull android.app.prediction.AppTargetEvent);
2762    method public void notifyLaunchLocationShown(@NonNull String, @NonNull java.util.List<android.app.prediction.AppTargetId>);
2763    method public void registerPredictionUpdates(@NonNull java.util.concurrent.Executor, @NonNull android.app.prediction.AppPredictor.Callback);
2764    method public void requestPredictionUpdate();
2765    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>>);
2766    method public void unregisterPredictionUpdates(@NonNull android.app.prediction.AppPredictor.Callback);
2767  }
2768
2769  public static interface AppPredictor.Callback {
2770    method public void onTargetsAvailable(@NonNull java.util.List<android.app.prediction.AppTarget>);
2771  }
2772
2773  public final class AppTarget implements android.os.Parcelable {
2774    method public int describeContents();
2775    method @Nullable public String getClassName();
2776    method @NonNull public android.app.prediction.AppTargetId getId();
2777    method @NonNull public String getPackageName();
2778    method @IntRange(from=0) public int getRank();
2779    method @Nullable public android.content.pm.ShortcutInfo getShortcutInfo();
2780    method @NonNull public android.os.UserHandle getUser();
2781    method public void writeToParcel(android.os.Parcel, int);
2782    field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppTarget> CREATOR;
2783  }
2784
2785  public static final class AppTarget.Builder {
2786    ctor public AppTarget.Builder(@NonNull android.app.prediction.AppTargetId, @NonNull android.content.pm.ShortcutInfo);
2787    ctor public AppTarget.Builder(@NonNull android.app.prediction.AppTargetId, @NonNull String, @NonNull android.os.UserHandle);
2788    method @NonNull public android.app.prediction.AppTarget build();
2789    method @NonNull public android.app.prediction.AppTarget.Builder setClassName(@NonNull String);
2790    method @NonNull public android.app.prediction.AppTarget.Builder setRank(@IntRange(from=0) int);
2791  }
2792
2793  public final class AppTargetEvent implements android.os.Parcelable {
2794    method public int describeContents();
2795    method public int getAction();
2796    method @Nullable public String getLaunchLocation();
2797    method @Nullable public android.app.prediction.AppTarget getTarget();
2798    method public void writeToParcel(android.os.Parcel, int);
2799    field public static final int ACTION_DISMISS = 2; // 0x2
2800    field public static final int ACTION_LAUNCH = 1; // 0x1
2801    field public static final int ACTION_PIN = 3; // 0x3
2802    field public static final int ACTION_UNDISMISS = 5; // 0x5
2803    field public static final int ACTION_UNPIN = 4; // 0x4
2804    field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppTargetEvent> CREATOR;
2805  }
2806
2807  public static final class AppTargetEvent.Builder {
2808    ctor public AppTargetEvent.Builder(@Nullable android.app.prediction.AppTarget, int);
2809    method @NonNull public android.app.prediction.AppTargetEvent build();
2810    method @NonNull public android.app.prediction.AppTargetEvent.Builder setLaunchLocation(@Nullable String);
2811  }
2812
2813  public final class AppTargetId implements android.os.Parcelable {
2814    ctor public AppTargetId(@NonNull String);
2815    method public int describeContents();
2816    method public void writeToParcel(android.os.Parcel, int);
2817    field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppTargetId> CREATOR;
2818  }
2819
2820}
2821
2822package android.app.role {
2823
2824  public interface OnRoleHoldersChangedListener {
2825    method public void onRoleHoldersChanged(@NonNull String, @NonNull android.os.UserHandle);
2826  }
2827
2828  @Deprecated public abstract class RoleControllerService extends android.app.Service {
2829    ctor @Deprecated public RoleControllerService();
2830    method @Deprecated @WorkerThread public abstract boolean onAddRoleHolder(@NonNull String, @NonNull String, int);
2831    method @Deprecated @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent);
2832    method @Deprecated @WorkerThread public abstract boolean onClearRoleHolders(@NonNull String, int);
2833    method @Deprecated @NonNull public java.util.List<java.lang.String> onGetLegacyFallbackDisabledRoles();
2834    method @Deprecated @WorkerThread public abstract boolean onGrantDefaultRoles();
2835    method @Deprecated public abstract boolean onIsApplicationQualifiedForRole(@NonNull String, @NonNull String);
2836    method @Deprecated public boolean onIsApplicationVisibleForRole(@NonNull String, @NonNull String);
2837    method @Deprecated public abstract boolean onIsRoleVisible(@NonNull String);
2838    method @Deprecated @WorkerThread public abstract boolean onRemoveRoleHolder(@NonNull String, @NonNull String, int);
2839    field @Deprecated public static final String SERVICE_INTERFACE = "android.app.role.RoleControllerService";
2840  }
2841
2842  public final class RoleManager {
2843    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);
2844    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>);
2845    method @Deprecated @RequiresPermission("com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER") public boolean addRoleHolderFromController(@NonNull String, @NonNull String);
2846    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>);
2847    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.INTERACT_ACROSS_USERS_FULL, android.Manifest.permission.MANAGE_ROLE_HOLDERS, android.Manifest.permission.MANAGE_DEFAULT_APPLICATIONS}, conditional=true) public android.os.UserHandle getActiveUserForRole(@NonNull String);
2848    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_DEFAULT_APPLICATIONS) public String getDefaultApplication(@NonNull String);
2849    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public java.util.List<java.lang.String> getDefaultHoldersForTest(@NonNull String);
2850    method @Deprecated @NonNull @RequiresPermission("com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER") public java.util.List<java.lang.String> getHeldRolesFromController(@NonNull String);
2851    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public java.util.List<java.lang.String> getRoleHolders(@NonNull String);
2852    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public java.util.List<java.lang.String> getRoleHoldersAsUser(@NonNull String, @NonNull android.os.UserHandle);
2853    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>);
2854    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public boolean isBypassingRoleQualification();
2855    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public boolean isRoleFallbackEnabled(@NonNull String);
2856    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>);
2857    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public boolean isRoleVisibleForTest(@NonNull String);
2858    method @RequiresPermission(android.Manifest.permission.OBSERVE_ROLE_HOLDERS) public void removeOnRoleHoldersChangedListenerAsUser(@NonNull android.app.role.OnRoleHoldersChangedListener, @NonNull android.os.UserHandle);
2859    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>);
2860    method @Deprecated @RequiresPermission("com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER") public boolean removeRoleHolderFromController(@NonNull String, @NonNull String);
2861    method @RequiresPermission(allOf={android.Manifest.permission.INTERACT_ACROSS_USERS_FULL, android.Manifest.permission.MANAGE_ROLE_HOLDERS, android.Manifest.permission.MANAGE_DEFAULT_APPLICATIONS}, conditional=true) public void setActiveUserForRole(@NonNull String, @NonNull android.os.UserHandle, int);
2862    method @RequiresPermission(android.Manifest.permission.BYPASS_ROLE_QUALIFICATION) public void setBypassingRoleQualification(boolean);
2863    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>);
2864    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public void setDefaultHoldersForTest(@NonNull String, @NonNull java.util.List<java.lang.String>);
2865    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public void setRoleFallbackEnabled(@NonNull String, boolean);
2866    method @Deprecated @RequiresPermission("com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER") public void setRoleNamesFromController(@NonNull java.util.List<java.lang.String>);
2867    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public void setRoleVisibleForTest(@NonNull String, boolean);
2868    field public static final int MANAGE_HOLDERS_FLAG_DONT_KILL_APP = 1; // 0x1
2869    field public static final String ROLE_DEVICE_POLICY_MANAGEMENT = "android.app.role.DEVICE_POLICY_MANAGEMENT";
2870    field public static final String ROLE_FINANCED_DEVICE_KIOSK = "android.app.role.FINANCED_DEVICE_KIOSK";
2871    field public static final String ROLE_RESERVED_FOR_TESTING_PROFILE_GROUP_EXCLUSIVITY = "android.app.role.RESERVED_FOR_TESTING_PROFILE_GROUP_EXCLUSIVITY";
2872    field public static final String ROLE_SYSTEM_ACTIVITY_RECOGNIZER = "android.app.role.SYSTEM_ACTIVITY_RECOGNIZER";
2873    field public static final String ROLE_SYSTEM_CALL_STREAMING = "android.app.role.SYSTEM_CALL_STREAMING";
2874    field public static final String ROLE_SYSTEM_SUPERVISION = "android.app.role.SYSTEM_SUPERVISION";
2875    field public static final String ROLE_SYSTEM_WELLBEING = "android.app.role.SYSTEM_WELLBEING";
2876  }
2877
2878}
2879
2880package android.app.search {
2881
2882  public final class Query implements android.os.Parcelable {
2883    ctor public Query(@NonNull String, long);
2884    ctor public Query(@NonNull String, long, @NonNull android.os.Bundle);
2885    method public int describeContents();
2886    method @NonNull public android.os.Bundle getExtras();
2887    method @NonNull public String getInput();
2888    method public long getTimestampMillis();
2889    method public void writeToParcel(@NonNull android.os.Parcel, int);
2890    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.Query> CREATOR;
2891    field public static final String EXTRA_IME_HEIGHT = "android.app.search.extra.IME_HEIGHT";
2892  }
2893
2894  public final class SearchAction implements android.os.Parcelable {
2895    method public int describeContents();
2896    method @Nullable public CharSequence getContentDescription();
2897    method @Nullable public android.os.Bundle getExtras();
2898    method @Nullable public android.graphics.drawable.Icon getIcon();
2899    method @NonNull public String getId();
2900    method @Nullable public android.content.Intent getIntent();
2901    method @Nullable public android.app.PendingIntent getPendingIntent();
2902    method @Nullable public CharSequence getSubtitle();
2903    method @NonNull public CharSequence getTitle();
2904    method @Nullable public android.os.UserHandle getUserHandle();
2905    method public void writeToParcel(@NonNull android.os.Parcel, int);
2906    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.SearchAction> CREATOR;
2907  }
2908
2909  public static final class SearchAction.Builder {
2910    ctor public SearchAction.Builder(@NonNull String, @NonNull String);
2911    method @NonNull public android.app.search.SearchAction build();
2912    method @NonNull public android.app.search.SearchAction.Builder setContentDescription(@Nullable CharSequence);
2913    method @NonNull public android.app.search.SearchAction.Builder setExtras(@Nullable android.os.Bundle);
2914    method @NonNull public android.app.search.SearchAction.Builder setIcon(@Nullable android.graphics.drawable.Icon);
2915    method @NonNull public android.app.search.SearchAction.Builder setIntent(@Nullable android.content.Intent);
2916    method @NonNull public android.app.search.SearchAction.Builder setPendingIntent(@Nullable android.app.PendingIntent);
2917    method @NonNull public android.app.search.SearchAction.Builder setSubtitle(@Nullable CharSequence);
2918    method @NonNull public android.app.search.SearchAction.Builder setUserHandle(@Nullable android.os.UserHandle);
2919  }
2920
2921  public final class SearchContext implements android.os.Parcelable {
2922    ctor public SearchContext(int, int);
2923    ctor public SearchContext(int, int, @NonNull android.os.Bundle);
2924    method public int describeContents();
2925    method @NonNull public android.os.Bundle getExtras();
2926    method @Nullable public String getPackageName();
2927    method @NonNull public int getResultTypes();
2928    method @NonNull public int getTimeoutMillis();
2929    method public void writeToParcel(@NonNull android.os.Parcel, int);
2930    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.SearchContext> CREATOR;
2931  }
2932
2933  public final class SearchSession implements java.lang.AutoCloseable {
2934    method public void close();
2935    method protected void finalize();
2936    method public void notifyEvent(@NonNull android.app.search.Query, @NonNull android.app.search.SearchTargetEvent);
2937    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>>);
2938    method public void registerEmptyQueryResultUpdateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.app.search.SearchSession.Callback);
2939    method public void unregisterEmptyQueryResultUpdateCallback(@NonNull android.app.search.SearchSession.Callback);
2940  }
2941
2942  public static interface SearchSession.Callback {
2943    method public void onTargetsAvailable(@NonNull java.util.List<android.app.search.SearchTarget>);
2944  }
2945
2946  public final class SearchSessionId implements android.os.Parcelable {
2947    method public int describeContents();
2948    method public void writeToParcel(@NonNull android.os.Parcel, int);
2949    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.SearchSessionId> CREATOR;
2950  }
2951
2952  public final class SearchTarget implements android.os.Parcelable {
2953    method public int describeContents();
2954    method @Nullable public android.appwidget.AppWidgetProviderInfo getAppWidgetProviderInfo();
2955    method @NonNull public android.os.Bundle getExtras();
2956    method @NonNull public String getId();
2957    method @NonNull public String getLayoutType();
2958    method @NonNull public String getPackageName();
2959    method @NonNull public String getParentId();
2960    method public int getResultType();
2961    method public float getScore();
2962    method @Nullable public android.app.search.SearchAction getSearchAction();
2963    method @Nullable public android.content.pm.ShortcutInfo getShortcutInfo();
2964    method @Nullable public android.net.Uri getSliceUri();
2965    method @NonNull public android.os.UserHandle getUserHandle();
2966    method public boolean isHidden();
2967    method public void writeToParcel(@NonNull android.os.Parcel, int);
2968    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.SearchTarget> CREATOR;
2969    field public static final String LAYOUT_TYPE_ICON = "icon";
2970    field public static final String LAYOUT_TYPE_ICON_ROW = "icon_row";
2971    field public static final String LAYOUT_TYPE_SHORT_ICON_ROW = "short_icon_row";
2972    field public static final int RESULT_TYPE_APPLICATION = 1; // 0x1
2973    field public static final int RESULT_TYPE_SHORTCUT = 2; // 0x2
2974    field public static final int RESULT_TYPE_SLICE = 4; // 0x4
2975    field public static final int RESULT_TYPE_WIDGETS = 8; // 0x8
2976  }
2977
2978  public static final class SearchTarget.Builder {
2979    ctor public SearchTarget.Builder(int, @NonNull String, @NonNull String);
2980    method @NonNull public android.app.search.SearchTarget build();
2981    method @NonNull public android.app.search.SearchTarget.Builder setAppWidgetProviderInfo(@NonNull android.appwidget.AppWidgetProviderInfo);
2982    method @NonNull public android.app.search.SearchTarget.Builder setExtras(@NonNull android.os.Bundle);
2983    method @NonNull public android.app.search.SearchTarget.Builder setHidden(boolean);
2984    method @NonNull public android.app.search.SearchTarget.Builder setPackageName(@NonNull String);
2985    method @NonNull public android.app.search.SearchTarget.Builder setParentId(@NonNull String);
2986    method @NonNull public android.app.search.SearchTarget.Builder setScore(@FloatRange(from=0.0f, to=1.0f) float);
2987    method @NonNull public android.app.search.SearchTarget.Builder setSearchAction(@Nullable android.app.search.SearchAction);
2988    method @NonNull public android.app.search.SearchTarget.Builder setShortcutInfo(@NonNull android.content.pm.ShortcutInfo);
2989    method @NonNull public android.app.search.SearchTarget.Builder setSliceUri(@NonNull android.net.Uri);
2990    method @NonNull public android.app.search.SearchTarget.Builder setUserHandle(@NonNull android.os.UserHandle);
2991  }
2992
2993  public final class SearchTargetEvent implements android.os.Parcelable {
2994    method public int describeContents();
2995    method public int getAction();
2996    method public int getFlags();
2997    method @Nullable public String getLaunchLocation();
2998    method @NonNull public String getTargetId();
2999    method @NonNull public java.util.List<java.lang.String> getTargetIds();
3000    method public void writeToParcel(@NonNull android.os.Parcel, int);
3001    field public static final int ACTION_DELETE = 9; // 0x9
3002    field public static final int ACTION_DISMISS = 10; // 0xa
3003    field public static final int ACTION_DRAGNDROP = 7; // 0x7
3004    field public static final int ACTION_LAUNCH_KEYBOARD_FOCUS = 6; // 0x6
3005    field public static final int ACTION_LAUNCH_TOUCH = 5; // 0x5
3006    field public static final int ACTION_LONGPRESS = 4; // 0x4
3007    field public static final int ACTION_SURFACE_INVISIBLE = 8; // 0x8
3008    field public static final int ACTION_SURFACE_VISIBLE = 1; // 0x1
3009    field public static final int ACTION_TAP = 3; // 0x3
3010    field @NonNull public static final android.os.Parcelable.Creator<android.app.search.SearchTargetEvent> CREATOR;
3011    field public static final int FLAG_IME_SHOWN = 1; // 0x1
3012  }
3013
3014  public static final class SearchTargetEvent.Builder {
3015    ctor public SearchTargetEvent.Builder(@NonNull String, int);
3016    ctor public SearchTargetEvent.Builder(@NonNull java.util.List<java.lang.String>, int);
3017    method @NonNull public android.app.search.SearchTargetEvent build();
3018    method @NonNull public android.app.search.SearchTargetEvent.Builder setFlags(int);
3019    method @NonNull public android.app.search.SearchTargetEvent.Builder setLaunchLocation(@Nullable String);
3020  }
3021
3022  public final class SearchUiManager {
3023    method @NonNull public android.app.search.SearchSession createSearchSession(@NonNull android.app.search.SearchContext);
3024  }
3025
3026}
3027
3028package android.app.smartspace {
3029
3030  public final class SmartspaceAction implements android.os.Parcelable {
3031    method public int describeContents();
3032    method @Nullable public CharSequence getContentDescription();
3033    method @Nullable public android.os.Bundle getExtras();
3034    method @Nullable public android.graphics.drawable.Icon getIcon();
3035    method @NonNull public String getId();
3036    method @Nullable public android.content.Intent getIntent();
3037    method @Nullable public android.app.PendingIntent getPendingIntent();
3038    method @Nullable public CharSequence getSubtitle();
3039    method @NonNull public CharSequence getTitle();
3040    method @Nullable public android.os.UserHandle getUserHandle();
3041    method public void writeToParcel(@NonNull android.os.Parcel, int);
3042    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.SmartspaceAction> CREATOR;
3043  }
3044
3045  public static final class SmartspaceAction.Builder {
3046    ctor public SmartspaceAction.Builder(@NonNull String, @NonNull String);
3047    method @NonNull public android.app.smartspace.SmartspaceAction build();
3048    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setContentDescription(@Nullable CharSequence);
3049    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setExtras(@Nullable android.os.Bundle);
3050    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setIcon(@Nullable android.graphics.drawable.Icon);
3051    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setIntent(@Nullable android.content.Intent);
3052    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setPendingIntent(@Nullable android.app.PendingIntent);
3053    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setSubtitle(@Nullable CharSequence);
3054    method @NonNull public android.app.smartspace.SmartspaceAction.Builder setUserHandle(@Nullable android.os.UserHandle);
3055  }
3056
3057  public final class SmartspaceConfig implements android.os.Parcelable {
3058    method public int describeContents();
3059    method @Nullable public android.os.Bundle getExtras();
3060    method @NonNull public String getPackageName();
3061    method @NonNull public int getSmartspaceTargetCount();
3062    method @NonNull public String getUiSurface();
3063    method public void writeToParcel(@NonNull android.os.Parcel, int);
3064    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.SmartspaceConfig> CREATOR;
3065  }
3066
3067  public static final class SmartspaceConfig.Builder {
3068    ctor public SmartspaceConfig.Builder(@NonNull android.content.Context, @NonNull String);
3069    method @NonNull public android.app.smartspace.SmartspaceConfig build();
3070    method @NonNull public android.app.smartspace.SmartspaceConfig.Builder setExtras(@NonNull android.os.Bundle);
3071    method @NonNull public android.app.smartspace.SmartspaceConfig.Builder setSmartspaceTargetCount(@IntRange(from=0, to=50) int);
3072  }
3073
3074  public final class SmartspaceManager {
3075    method @NonNull public android.app.smartspace.SmartspaceSession createSmartspaceSession(@NonNull android.app.smartspace.SmartspaceConfig);
3076  }
3077
3078  public final class SmartspaceSession implements java.lang.AutoCloseable {
3079    method public void addOnTargetsAvailableListener(@NonNull java.util.concurrent.Executor, @NonNull android.app.smartspace.SmartspaceSession.OnTargetsAvailableListener);
3080    method public void close();
3081    method protected void finalize();
3082    method public void notifySmartspaceEvent(@NonNull android.app.smartspace.SmartspaceTargetEvent);
3083    method public void removeOnTargetsAvailableListener(@NonNull android.app.smartspace.SmartspaceSession.OnTargetsAvailableListener);
3084    method public void requestSmartspaceUpdate();
3085  }
3086
3087  public static interface SmartspaceSession.OnTargetsAvailableListener {
3088    method public void onTargetsAvailable(@NonNull java.util.List<android.app.smartspace.SmartspaceTarget>);
3089  }
3090
3091  public final class SmartspaceSessionId implements android.os.Parcelable {
3092    method public int describeContents();
3093    method @Nullable public String getId();
3094    method @NonNull public android.os.UserHandle getUserHandle();
3095    method public void writeToParcel(@NonNull android.os.Parcel, int);
3096    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.SmartspaceSessionId> CREATOR;
3097  }
3098
3099  public final class SmartspaceTarget implements android.os.Parcelable {
3100    method public int describeContents();
3101    method @NonNull public java.util.List<android.app.smartspace.SmartspaceAction> getActionChips();
3102    method @Nullable public String getAssociatedSmartspaceTargetId();
3103    method @Nullable public android.app.smartspace.SmartspaceAction getBaseAction();
3104    method @NonNull public android.content.ComponentName getComponentName();
3105    method public long getCreationTimeMillis();
3106    method public long getExpiryTimeMillis();
3107    method public int getFeatureType();
3108    method @Nullable public android.app.smartspace.SmartspaceAction getHeaderAction();
3109    method @NonNull public java.util.List<android.app.smartspace.SmartspaceAction> getIconGrid();
3110    method @Nullable public android.widget.RemoteViews getRemoteViews();
3111    method public float getScore();
3112    method @Nullable public android.net.Uri getSliceUri();
3113    method @NonNull public String getSmartspaceTargetId();
3114    method @Nullable public String getSourceNotificationKey();
3115    method @Nullable public android.app.smartspace.uitemplatedata.BaseTemplateData getTemplateData();
3116    method @NonNull public android.os.UserHandle getUserHandle();
3117    method @Nullable public android.appwidget.AppWidgetProviderInfo getWidget();
3118    method public boolean isSensitive();
3119    method public boolean shouldShowExpanded();
3120    method public void writeToParcel(@NonNull android.os.Parcel, int);
3121    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.SmartspaceTarget> CREATOR;
3122    field public static final int FEATURE_ALARM = 7; // 0x7
3123    field public static final int FEATURE_BEDTIME_ROUTINE = 16; // 0x10
3124    field public static final int FEATURE_BLAZE_BUILD_PROGRESS = 40; // 0x28
3125    field public static final int FEATURE_CALENDAR = 2; // 0x2
3126    field public static final int FEATURE_COMMUTE_TIME = 3; // 0x3
3127    field public static final int FEATURE_CONSENT = 11; // 0xb
3128    field public static final int FEATURE_CROSS_DEVICE_TIMER = 32; // 0x20
3129    field public static final int FEATURE_DOORBELL = 30; // 0x1e
3130    field public static final int FEATURE_DRIVING_MODE = 26; // 0x1a
3131    field public static final int FEATURE_EARTHQUAKE_ALERT = 38; // 0x26
3132    field public static final int FEATURE_EARTHQUAKE_OCCURRED = 41; // 0x29
3133    field public static final int FEATURE_ETA_MONITORING = 18; // 0x12
3134    field public static final int FEATURE_FITNESS_TRACKING = 17; // 0x11
3135    field public static final int FEATURE_FLASHLIGHT = 28; // 0x1c
3136    field public static final int FEATURE_FLIGHT = 4; // 0x4
3137    field public static final int FEATURE_GAS_STATION_PAYMENT = 24; // 0x18
3138    field public static final int FEATURE_HOLIDAY_ALARM = 34; // 0x22
3139    field public static final int FEATURE_LOYALTY_CARD = 14; // 0xe
3140    field public static final int FEATURE_MEDIA = 15; // 0xf
3141    field public static final int FEATURE_MEDIA_HEADS_UP = 36; // 0x24
3142    field public static final int FEATURE_MEDIA_RESUME = 31; // 0x1f
3143    field public static final int FEATURE_MISSED_CALL = 19; // 0x13
3144    field public static final int FEATURE_ONBOARDING = 8; // 0x8
3145    field public static final int FEATURE_PACKAGE_TRACKING = 20; // 0x14
3146    field public static final int FEATURE_PAIRED_DEVICE_STATE = 25; // 0x19
3147    field public static final int FEATURE_REMINDER = 6; // 0x6
3148    field public static final int FEATURE_SAFETY_CHECK = 35; // 0x23
3149    field public static final int FEATURE_SEVERE_WEATHER_ALERT = 33; // 0x21
3150    field public static final int FEATURE_SHOPPING_LIST = 13; // 0xd
3151    field public static final int FEATURE_SLEEP_SUMMARY = 27; // 0x1b
3152    field public static final int FEATURE_SPORTS = 9; // 0x9
3153    field public static final int FEATURE_STEP_COUNTING = 37; // 0x25
3154    field public static final int FEATURE_STEP_DATE = 39; // 0x27
3155    field public static final int FEATURE_STOCK_PRICE_CHANGE = 12; // 0xc
3156    field public static final int FEATURE_STOPWATCH = 22; // 0x16
3157    field public static final int FEATURE_TIMER = 21; // 0x15
3158    field public static final int FEATURE_TIME_TO_LEAVE = 29; // 0x1d
3159    field public static final int FEATURE_TIPS = 5; // 0x5
3160    field public static final int FEATURE_UNDEFINED = 0; // 0x0
3161    field public static final int FEATURE_UPCOMING_ALARM = 23; // 0x17
3162    field public static final int FEATURE_WEATHER = 1; // 0x1
3163    field public static final int FEATURE_WEATHER_ALERT = 10; // 0xa
3164    field public static final int UI_TEMPLATE_CAROUSEL = 4; // 0x4
3165    field public static final int UI_TEMPLATE_COMBINED_CARDS = 6; // 0x6
3166    field public static final int UI_TEMPLATE_DEFAULT = 1; // 0x1
3167    field public static final int UI_TEMPLATE_HEAD_TO_HEAD = 5; // 0x5
3168    field public static final int UI_TEMPLATE_SUB_CARD = 7; // 0x7
3169    field public static final int UI_TEMPLATE_SUB_IMAGE = 2; // 0x2
3170    field public static final int UI_TEMPLATE_SUB_LIST = 3; // 0x3
3171    field public static final int UI_TEMPLATE_UNDEFINED = 0; // 0x0
3172  }
3173
3174  public static final class SmartspaceTarget.Builder {
3175    ctor public SmartspaceTarget.Builder(@NonNull String, @NonNull android.content.ComponentName, @NonNull android.os.UserHandle);
3176    method @NonNull public android.app.smartspace.SmartspaceTarget build();
3177    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setActionChips(@NonNull java.util.List<android.app.smartspace.SmartspaceAction>);
3178    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setAssociatedSmartspaceTargetId(@NonNull String);
3179    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setBaseAction(@NonNull android.app.smartspace.SmartspaceAction);
3180    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setCreationTimeMillis(long);
3181    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setExpiryTimeMillis(long);
3182    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setFeatureType(int);
3183    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setHeaderAction(@NonNull android.app.smartspace.SmartspaceAction);
3184    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setIconGrid(@NonNull java.util.List<android.app.smartspace.SmartspaceAction>);
3185    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setRemoteViews(@NonNull android.widget.RemoteViews);
3186    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setScore(float);
3187    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setSensitive(boolean);
3188    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setShouldShowExpanded(boolean);
3189    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setSliceUri(@NonNull android.net.Uri);
3190    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setSourceNotificationKey(@NonNull String);
3191    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setTemplateData(@Nullable android.app.smartspace.uitemplatedata.BaseTemplateData);
3192    method @NonNull public android.app.smartspace.SmartspaceTarget.Builder setWidget(@NonNull android.appwidget.AppWidgetProviderInfo);
3193  }
3194
3195  public final class SmartspaceTargetEvent implements android.os.Parcelable {
3196    method public int describeContents();
3197    method @NonNull public int getEventType();
3198    method @Nullable public String getSmartspaceActionId();
3199    method @Nullable public android.app.smartspace.SmartspaceTarget getSmartspaceTarget();
3200    method public void writeToParcel(@NonNull android.os.Parcel, int);
3201    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.SmartspaceTargetEvent> CREATOR;
3202    field public static final int EVENT_TARGET_BLOCK = 5; // 0x5
3203    field public static final int EVENT_TARGET_DISMISS = 4; // 0x4
3204    field public static final int EVENT_TARGET_HIDDEN = 3; // 0x3
3205    field public static final int EVENT_TARGET_INTERACTION = 1; // 0x1
3206    field public static final int EVENT_TARGET_SHOWN = 2; // 0x2
3207    field public static final int EVENT_UI_SURFACE_HIDDEN = 7; // 0x7
3208    field public static final int EVENT_UI_SURFACE_SHOWN = 6; // 0x6
3209  }
3210
3211  public static final class SmartspaceTargetEvent.Builder {
3212    ctor public SmartspaceTargetEvent.Builder(int);
3213    method @NonNull public android.app.smartspace.SmartspaceTargetEvent build();
3214    method @NonNull public android.app.smartspace.SmartspaceTargetEvent.Builder setSmartspaceActionId(@NonNull String);
3215    method @NonNull public android.app.smartspace.SmartspaceTargetEvent.Builder setSmartspaceTarget(@NonNull android.app.smartspace.SmartspaceTarget);
3216  }
3217
3218}
3219
3220package android.app.smartspace.uitemplatedata {
3221
3222  public class BaseTemplateData implements android.os.Parcelable {
3223    method public int describeContents();
3224    method public int getLayoutWeight();
3225    method @Nullable public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo getPrimaryItem();
3226    method @Nullable public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo getSubtitleItem();
3227    method @Nullable public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo getSubtitleSupplementalItem();
3228    method @Nullable public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo getSupplementalAlarmItem();
3229    method @Nullable public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo getSupplementalLineItem();
3230    method public int getTemplateType();
3231    method public void writeToParcel(@NonNull android.os.Parcel, int);
3232    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.BaseTemplateData> CREATOR;
3233  }
3234
3235  public static class BaseTemplateData.Builder {
3236    ctor public BaseTemplateData.Builder(int);
3237    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData build();
3238    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.Builder setLayoutWeight(int);
3239    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.Builder setPrimaryItem(@NonNull android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo);
3240    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.Builder setSubtitleItem(@NonNull android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo);
3241    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.Builder setSubtitleSupplementalItem(@NonNull android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo);
3242    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.Builder setSupplementalAlarmItem(@NonNull android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo);
3243    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.Builder setSupplementalLineItem(@NonNull android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo);
3244  }
3245
3246  public static final class BaseTemplateData.SubItemInfo implements android.os.Parcelable {
3247    method public int describeContents();
3248    method @Nullable public android.app.smartspace.uitemplatedata.Icon getIcon();
3249    method @Nullable public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemLoggingInfo getLoggingInfo();
3250    method @Nullable public android.app.smartspace.uitemplatedata.TapAction getTapAction();
3251    method @Nullable public android.app.smartspace.uitemplatedata.Text getText();
3252    method public void writeToParcel(@NonNull android.os.Parcel, int);
3253    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo> CREATOR;
3254  }
3255
3256  public static final class BaseTemplateData.SubItemInfo.Builder {
3257    ctor public BaseTemplateData.SubItemInfo.Builder();
3258    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo build();
3259    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo.Builder setIcon(@NonNull android.app.smartspace.uitemplatedata.Icon);
3260    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo.Builder setLoggingInfo(@NonNull android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemLoggingInfo);
3261    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo.Builder setTapAction(@NonNull android.app.smartspace.uitemplatedata.TapAction);
3262    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemInfo.Builder setText(@NonNull android.app.smartspace.uitemplatedata.Text);
3263  }
3264
3265  public static final class BaseTemplateData.SubItemLoggingInfo implements android.os.Parcelable {
3266    method public int describeContents();
3267    method public int getFeatureType();
3268    method public int getInstanceId();
3269    method @Nullable public CharSequence getPackageName();
3270    method public void writeToParcel(@NonNull android.os.Parcel, int);
3271    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemLoggingInfo> CREATOR;
3272  }
3273
3274  public static final class BaseTemplateData.SubItemLoggingInfo.Builder {
3275    ctor public BaseTemplateData.SubItemLoggingInfo.Builder(int, int);
3276    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemLoggingInfo build();
3277    method @NonNull public android.app.smartspace.uitemplatedata.BaseTemplateData.SubItemLoggingInfo.Builder setPackageName(@NonNull CharSequence);
3278  }
3279
3280  public final class CarouselTemplateData extends android.app.smartspace.uitemplatedata.BaseTemplateData {
3281    method @Nullable public android.app.smartspace.uitemplatedata.TapAction getCarouselAction();
3282    method @NonNull public java.util.List<android.app.smartspace.uitemplatedata.CarouselTemplateData.CarouselItem> getCarouselItems();
3283    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.CarouselTemplateData> CREATOR;
3284  }
3285
3286  public static final class CarouselTemplateData.Builder extends android.app.smartspace.uitemplatedata.BaseTemplateData.Builder {
3287    ctor public CarouselTemplateData.Builder(@NonNull java.util.List<android.app.smartspace.uitemplatedata.CarouselTemplateData.CarouselItem>);
3288    method @NonNull public android.app.smartspace.uitemplatedata.CarouselTemplateData build();
3289    method @NonNull public android.app.smartspace.uitemplatedata.CarouselTemplateData.Builder setCarouselAction(@NonNull android.app.smartspace.uitemplatedata.TapAction);
3290  }
3291
3292  public static final class CarouselTemplateData.CarouselItem implements android.os.Parcelable {
3293    method public int describeContents();
3294    method @Nullable public android.app.smartspace.uitemplatedata.Icon getImage();
3295    method @Nullable public android.app.smartspace.uitemplatedata.Text getLowerText();
3296    method @Nullable public android.app.smartspace.uitemplatedata.TapAction getTapAction();
3297    method @Nullable public android.app.smartspace.uitemplatedata.Text getUpperText();
3298    method public void writeToParcel(@NonNull android.os.Parcel, int);
3299    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.CarouselTemplateData.CarouselItem> CREATOR;
3300  }
3301
3302  public static final class CarouselTemplateData.CarouselItem.Builder {
3303    ctor public CarouselTemplateData.CarouselItem.Builder();
3304    method @NonNull public android.app.smartspace.uitemplatedata.CarouselTemplateData.CarouselItem build();
3305    method @NonNull public android.app.smartspace.uitemplatedata.CarouselTemplateData.CarouselItem.Builder setImage(@Nullable android.app.smartspace.uitemplatedata.Icon);
3306    method @NonNull public android.app.smartspace.uitemplatedata.CarouselTemplateData.CarouselItem.Builder setLowerText(@Nullable android.app.smartspace.uitemplatedata.Text);
3307    method @NonNull public android.app.smartspace.uitemplatedata.CarouselTemplateData.CarouselItem.Builder setTapAction(@Nullable android.app.smartspace.uitemplatedata.TapAction);
3308    method @NonNull public android.app.smartspace.uitemplatedata.CarouselTemplateData.CarouselItem.Builder setUpperText(@Nullable android.app.smartspace.uitemplatedata.Text);
3309  }
3310
3311  public final class CombinedCardsTemplateData extends android.app.smartspace.uitemplatedata.BaseTemplateData {
3312    method @NonNull public java.util.List<android.app.smartspace.uitemplatedata.BaseTemplateData> getCombinedCardDataList();
3313    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.CombinedCardsTemplateData> CREATOR;
3314  }
3315
3316  public static final class CombinedCardsTemplateData.Builder extends android.app.smartspace.uitemplatedata.BaseTemplateData.Builder {
3317    ctor public CombinedCardsTemplateData.Builder(@NonNull java.util.List<android.app.smartspace.uitemplatedata.BaseTemplateData>);
3318    method @NonNull public android.app.smartspace.uitemplatedata.CombinedCardsTemplateData build();
3319  }
3320
3321  public final class HeadToHeadTemplateData extends android.app.smartspace.uitemplatedata.BaseTemplateData {
3322    method @Nullable public android.app.smartspace.uitemplatedata.TapAction getHeadToHeadAction();
3323    method @Nullable public android.app.smartspace.uitemplatedata.Icon getHeadToHeadFirstCompetitorIcon();
3324    method @Nullable public android.app.smartspace.uitemplatedata.Text getHeadToHeadFirstCompetitorText();
3325    method @Nullable public android.app.smartspace.uitemplatedata.Icon getHeadToHeadSecondCompetitorIcon();
3326    method @Nullable public android.app.smartspace.uitemplatedata.Text getHeadToHeadSecondCompetitorText();
3327    method @Nullable public android.app.smartspace.uitemplatedata.Text getHeadToHeadTitle();
3328    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.HeadToHeadTemplateData> CREATOR;
3329  }
3330
3331  public static final class HeadToHeadTemplateData.Builder extends android.app.smartspace.uitemplatedata.BaseTemplateData.Builder {
3332    ctor public HeadToHeadTemplateData.Builder();
3333    method @NonNull public android.app.smartspace.uitemplatedata.HeadToHeadTemplateData build();
3334    method @NonNull public android.app.smartspace.uitemplatedata.HeadToHeadTemplateData.Builder setHeadToHeadAction(@Nullable android.app.smartspace.uitemplatedata.TapAction);
3335    method @NonNull public android.app.smartspace.uitemplatedata.HeadToHeadTemplateData.Builder setHeadToHeadFirstCompetitorIcon(@Nullable android.app.smartspace.uitemplatedata.Icon);
3336    method @NonNull public android.app.smartspace.uitemplatedata.HeadToHeadTemplateData.Builder setHeadToHeadFirstCompetitorText(@Nullable android.app.smartspace.uitemplatedata.Text);
3337    method @NonNull public android.app.smartspace.uitemplatedata.HeadToHeadTemplateData.Builder setHeadToHeadSecondCompetitorIcon(@Nullable android.app.smartspace.uitemplatedata.Icon);
3338    method @NonNull public android.app.smartspace.uitemplatedata.HeadToHeadTemplateData.Builder setHeadToHeadSecondCompetitorText(@Nullable android.app.smartspace.uitemplatedata.Text);
3339    method @NonNull public android.app.smartspace.uitemplatedata.HeadToHeadTemplateData.Builder setHeadToHeadTitle(@Nullable android.app.smartspace.uitemplatedata.Text);
3340  }
3341
3342  public final class Icon implements android.os.Parcelable {
3343    method public int describeContents();
3344    method @Nullable public CharSequence getContentDescription();
3345    method @NonNull public android.graphics.drawable.Icon getIcon();
3346    method public boolean shouldTint();
3347    method public void writeToParcel(@NonNull android.os.Parcel, int);
3348    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.Icon> CREATOR;
3349  }
3350
3351  public static final class Icon.Builder {
3352    ctor public Icon.Builder(@NonNull android.graphics.drawable.Icon);
3353    method @NonNull public android.app.smartspace.uitemplatedata.Icon build();
3354    method @NonNull public android.app.smartspace.uitemplatedata.Icon.Builder setContentDescription(@NonNull CharSequence);
3355    method @NonNull public android.app.smartspace.uitemplatedata.Icon.Builder setShouldTint(boolean);
3356  }
3357
3358  public final class SubCardTemplateData extends android.app.smartspace.uitemplatedata.BaseTemplateData {
3359    method @Nullable public android.app.smartspace.uitemplatedata.TapAction getSubCardAction();
3360    method @NonNull public android.app.smartspace.uitemplatedata.Icon getSubCardIcon();
3361    method @Nullable public android.app.smartspace.uitemplatedata.Text getSubCardText();
3362    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.SubCardTemplateData> CREATOR;
3363  }
3364
3365  public static final class SubCardTemplateData.Builder extends android.app.smartspace.uitemplatedata.BaseTemplateData.Builder {
3366    ctor public SubCardTemplateData.Builder(@NonNull android.app.smartspace.uitemplatedata.Icon);
3367    method @NonNull public android.app.smartspace.uitemplatedata.SubCardTemplateData build();
3368    method @NonNull public android.app.smartspace.uitemplatedata.SubCardTemplateData.Builder setSubCardAction(@NonNull android.app.smartspace.uitemplatedata.TapAction);
3369    method @NonNull public android.app.smartspace.uitemplatedata.SubCardTemplateData.Builder setSubCardText(@NonNull android.app.smartspace.uitemplatedata.Text);
3370  }
3371
3372  public final class SubImageTemplateData extends android.app.smartspace.uitemplatedata.BaseTemplateData {
3373    method @Nullable public android.app.smartspace.uitemplatedata.TapAction getSubImageAction();
3374    method @NonNull public java.util.List<android.app.smartspace.uitemplatedata.Text> getSubImageTexts();
3375    method @NonNull public java.util.List<android.app.smartspace.uitemplatedata.Icon> getSubImages();
3376    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.SubImageTemplateData> CREATOR;
3377  }
3378
3379  public static final class SubImageTemplateData.Builder extends android.app.smartspace.uitemplatedata.BaseTemplateData.Builder {
3380    ctor public SubImageTemplateData.Builder(@NonNull java.util.List<android.app.smartspace.uitemplatedata.Text>, @NonNull java.util.List<android.app.smartspace.uitemplatedata.Icon>);
3381    method @NonNull public android.app.smartspace.uitemplatedata.SubImageTemplateData build();
3382    method @NonNull public android.app.smartspace.uitemplatedata.SubImageTemplateData.Builder setSubImageAction(@NonNull android.app.smartspace.uitemplatedata.TapAction);
3383  }
3384
3385  public final class SubListTemplateData extends android.app.smartspace.uitemplatedata.BaseTemplateData {
3386    method @Nullable public android.app.smartspace.uitemplatedata.TapAction getSubListAction();
3387    method @Nullable public android.app.smartspace.uitemplatedata.Icon getSubListIcon();
3388    method @NonNull public java.util.List<android.app.smartspace.uitemplatedata.Text> getSubListTexts();
3389    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.SubListTemplateData> CREATOR;
3390  }
3391
3392  public static final class SubListTemplateData.Builder extends android.app.smartspace.uitemplatedata.BaseTemplateData.Builder {
3393    ctor public SubListTemplateData.Builder(@NonNull java.util.List<android.app.smartspace.uitemplatedata.Text>);
3394    method @NonNull public android.app.smartspace.uitemplatedata.SubListTemplateData build();
3395    method @NonNull public android.app.smartspace.uitemplatedata.SubListTemplateData.Builder setSubListAction(@NonNull android.app.smartspace.uitemplatedata.TapAction);
3396    method @NonNull public android.app.smartspace.uitemplatedata.SubListTemplateData.Builder setSubListIcon(@NonNull android.app.smartspace.uitemplatedata.Icon);
3397  }
3398
3399  public final class TapAction implements android.os.Parcelable {
3400    method public int describeContents();
3401    method @Nullable public android.os.Bundle getExtras();
3402    method @Nullable public CharSequence getId();
3403    method @Nullable public android.content.Intent getIntent();
3404    method @Nullable public android.app.PendingIntent getPendingIntent();
3405    method @Nullable public android.os.UserHandle getUserHandle();
3406    method public boolean shouldShowOnLockscreen();
3407    method public void writeToParcel(@NonNull android.os.Parcel, int);
3408    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.TapAction> CREATOR;
3409  }
3410
3411  public static final class TapAction.Builder {
3412    ctor public TapAction.Builder(@NonNull CharSequence);
3413    method @NonNull public android.app.smartspace.uitemplatedata.TapAction build();
3414    method @NonNull public android.app.smartspace.uitemplatedata.TapAction.Builder setExtras(@NonNull android.os.Bundle);
3415    method @NonNull public android.app.smartspace.uitemplatedata.TapAction.Builder setIntent(@NonNull android.content.Intent);
3416    method @NonNull public android.app.smartspace.uitemplatedata.TapAction.Builder setPendingIntent(@NonNull android.app.PendingIntent);
3417    method @NonNull public android.app.smartspace.uitemplatedata.TapAction.Builder setShouldShowOnLockscreen(@NonNull boolean);
3418    method @NonNull public android.app.smartspace.uitemplatedata.TapAction.Builder setUserHandle(@Nullable android.os.UserHandle);
3419  }
3420
3421  public final class Text implements android.os.Parcelable {
3422    method public int describeContents();
3423    method public int getMaxLines();
3424    method @NonNull public CharSequence getText();
3425    method @NonNull public android.text.TextUtils.TruncateAt getTruncateAtType();
3426    method public void writeToParcel(@NonNull android.os.Parcel, int);
3427    field @NonNull public static final android.os.Parcelable.Creator<android.app.smartspace.uitemplatedata.Text> CREATOR;
3428  }
3429
3430  public static final class Text.Builder {
3431    ctor public Text.Builder(@NonNull CharSequence);
3432    method @NonNull public android.app.smartspace.uitemplatedata.Text build();
3433    method @NonNull public android.app.smartspace.uitemplatedata.Text.Builder setMaxLines(int);
3434    method @NonNull public android.app.smartspace.uitemplatedata.Text.Builder setTruncateAtType(@NonNull android.text.TextUtils.TruncateAt);
3435  }
3436
3437}
3438
3439package android.app.time {
3440
3441  public final class Capabilities {
3442    field public static final int CAPABILITY_NOT_ALLOWED = 20; // 0x14
3443    field public static final int CAPABILITY_NOT_APPLICABLE = 30; // 0x1e
3444    field public static final int CAPABILITY_NOT_SUPPORTED = 10; // 0xa
3445    field public static final int CAPABILITY_POSSESSED = 40; // 0x28
3446  }
3447
3448  public final class ExternalTimeSuggestion implements android.os.Parcelable {
3449    ctor public ExternalTimeSuggestion(long, long);
3450    method public void addDebugInfo(@NonNull java.lang.String...);
3451    method public int describeContents();
3452    method @NonNull public java.util.List<java.lang.String> getDebugInfo();
3453    method public void writeToParcel(@NonNull android.os.Parcel, int);
3454    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.ExternalTimeSuggestion> CREATOR;
3455  }
3456
3457  public final class TimeCapabilities implements android.os.Parcelable {
3458    method public int describeContents();
3459    method public int getConfigureAutoDetectionEnabledCapability();
3460    method public int getSetManualTimeCapability();
3461    method public void writeToParcel(@NonNull android.os.Parcel, int);
3462    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.TimeCapabilities> CREATOR;
3463  }
3464
3465  public final class TimeCapabilitiesAndConfig implements android.os.Parcelable {
3466    method public int describeContents();
3467    method @NonNull public android.app.time.TimeCapabilities getCapabilities();
3468    method @NonNull public android.app.time.TimeConfiguration getConfiguration();
3469    method public void writeToParcel(@NonNull android.os.Parcel, int);
3470    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.TimeCapabilitiesAndConfig> CREATOR;
3471  }
3472
3473  public final class TimeConfiguration implements android.os.Parcelable {
3474    method public int describeContents();
3475    method public boolean isAutoDetectionEnabled();
3476    method public void writeToParcel(@NonNull android.os.Parcel, int);
3477    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.TimeConfiguration> CREATOR;
3478  }
3479
3480  public static final class TimeConfiguration.Builder {
3481    ctor public TimeConfiguration.Builder();
3482    ctor public TimeConfiguration.Builder(@NonNull android.app.time.TimeConfiguration);
3483    method @NonNull public android.app.time.TimeConfiguration build();
3484    method @NonNull public android.app.time.TimeConfiguration.Builder setAutoDetectionEnabled(boolean);
3485  }
3486
3487  public final class TimeManager {
3488    method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public void addTimeZoneDetectorListener(@NonNull java.util.concurrent.Executor, @NonNull android.app.time.TimeManager.TimeZoneDetectorListener);
3489    method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public boolean confirmTime(@NonNull android.app.time.UnixEpochTime);
3490    method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public boolean confirmTimeZone(@NonNull String);
3491    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public android.app.time.TimeCapabilitiesAndConfig getTimeCapabilitiesAndConfig();
3492    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public android.app.time.TimeState getTimeState();
3493    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public android.app.time.TimeZoneCapabilitiesAndConfig getTimeZoneCapabilitiesAndConfig();
3494    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public android.app.time.TimeZoneState getTimeZoneState();
3495    method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public void removeTimeZoneDetectorListener(@NonNull android.app.time.TimeManager.TimeZoneDetectorListener);
3496    method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public boolean setManualTime(@NonNull android.app.time.UnixEpochTime);
3497    method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public boolean setManualTimeZone(@NonNull String);
3498    method @RequiresPermission(android.Manifest.permission.SUGGEST_EXTERNAL_TIME) public void suggestExternalTime(@NonNull android.app.time.ExternalTimeSuggestion);
3499    method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public boolean updateTimeConfiguration(@NonNull android.app.time.TimeConfiguration);
3500    method @RequiresPermission(android.Manifest.permission.MANAGE_TIME_AND_ZONE_DETECTION) public boolean updateTimeZoneConfiguration(@NonNull android.app.time.TimeZoneConfiguration);
3501  }
3502
3503  @java.lang.FunctionalInterface public static interface TimeManager.TimeZoneDetectorListener {
3504    method public void onChange();
3505  }
3506
3507  public final class TimeState implements android.os.Parcelable {
3508    method public int describeContents();
3509    method @NonNull public android.app.time.UnixEpochTime getUnixEpochTime();
3510    method public boolean getUserShouldConfirmTime();
3511    method public void writeToParcel(@NonNull android.os.Parcel, int);
3512    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.TimeState> CREATOR;
3513  }
3514
3515  public final class TimeZoneCapabilities implements android.os.Parcelable {
3516    method public int describeContents();
3517    method public int getConfigureAutoDetectionEnabledCapability();
3518    method public int getConfigureGeoDetectionEnabledCapability();
3519    method public int getSetManualTimeZoneCapability();
3520    method public void writeToParcel(@NonNull android.os.Parcel, int);
3521    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.TimeZoneCapabilities> CREATOR;
3522  }
3523
3524  public final class TimeZoneCapabilitiesAndConfig implements android.os.Parcelable {
3525    method public int describeContents();
3526    method @NonNull public android.app.time.TimeZoneCapabilities getCapabilities();
3527    method @NonNull public android.app.time.TimeZoneConfiguration getConfiguration();
3528    method public void writeToParcel(@NonNull android.os.Parcel, int);
3529    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.TimeZoneCapabilitiesAndConfig> CREATOR;
3530  }
3531
3532  public final class TimeZoneConfiguration implements android.os.Parcelable {
3533    method public int describeContents();
3534    method public boolean isAutoDetectionEnabled();
3535    method public boolean isGeoDetectionEnabled();
3536    method public void writeToParcel(@NonNull android.os.Parcel, int);
3537    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.TimeZoneConfiguration> CREATOR;
3538  }
3539
3540  public static final class TimeZoneConfiguration.Builder {
3541    ctor public TimeZoneConfiguration.Builder();
3542    ctor public TimeZoneConfiguration.Builder(@NonNull android.app.time.TimeZoneConfiguration);
3543    method @NonNull public android.app.time.TimeZoneConfiguration build();
3544    method @NonNull public android.app.time.TimeZoneConfiguration.Builder setAutoDetectionEnabled(boolean);
3545    method @NonNull public android.app.time.TimeZoneConfiguration.Builder setGeoDetectionEnabled(boolean);
3546  }
3547
3548  public final class TimeZoneState implements android.os.Parcelable {
3549    method public int describeContents();
3550    method @NonNull public String getId();
3551    method public boolean getUserShouldConfirmId();
3552    method public void writeToParcel(@NonNull android.os.Parcel, int);
3553    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.TimeZoneState> CREATOR;
3554  }
3555
3556  public final class UnixEpochTime implements android.os.Parcelable {
3557    ctor public UnixEpochTime(long, long);
3558    method @NonNull public android.app.time.UnixEpochTime at(long);
3559    method public int describeContents();
3560    method public long getElapsedRealtimeMillis();
3561    method public long getUnixEpochTimeMillis();
3562    method public void writeToParcel(@NonNull android.os.Parcel, int);
3563    field @NonNull public static final android.os.Parcelable.Creator<android.app.time.UnixEpochTime> CREATOR;
3564  }
3565
3566}
3567
3568package android.app.usage {
3569
3570  public final class BroadcastResponseStats implements android.os.Parcelable {
3571    ctor public BroadcastResponseStats(@NonNull String, @IntRange(from=1) long);
3572    method public int describeContents();
3573    method @IntRange(from=0) public int getBroadcastsDispatchedCount();
3574    method @IntRange(from=1) public long getId();
3575    method @IntRange(from=0) public int getNotificationsCancelledCount();
3576    method @IntRange(from=0) public int getNotificationsPostedCount();
3577    method @IntRange(from=0) public int getNotificationsUpdatedCount();
3578    method @NonNull public String getPackageName();
3579    method public void writeToParcel(@NonNull android.os.Parcel, int);
3580    field @NonNull public static final android.os.Parcelable.Creator<android.app.usage.BroadcastResponseStats> CREATOR;
3581  }
3582
3583  public final class CacheQuotaHint implements android.os.Parcelable {
3584    ctor public CacheQuotaHint(@NonNull android.app.usage.CacheQuotaHint.Builder);
3585    method public int describeContents();
3586    method public long getQuota();
3587    method public int getUid();
3588    method @Nullable public android.app.usage.UsageStats getUsageStats();
3589    method @Nullable public String getVolumeUuid();
3590    method public void writeToParcel(@NonNull android.os.Parcel, int);
3591    field @NonNull public static final android.os.Parcelable.Creator<android.app.usage.CacheQuotaHint> CREATOR;
3592    field public static final long QUOTA_NOT_SET = -1L; // 0xffffffffffffffffL
3593  }
3594
3595  public static final class CacheQuotaHint.Builder {
3596    ctor public CacheQuotaHint.Builder();
3597    ctor public CacheQuotaHint.Builder(@NonNull android.app.usage.CacheQuotaHint);
3598    method @NonNull public android.app.usage.CacheQuotaHint build();
3599    method @NonNull public android.app.usage.CacheQuotaHint.Builder setQuota(long);
3600    method @NonNull public android.app.usage.CacheQuotaHint.Builder setUid(int);
3601    method @NonNull public android.app.usage.CacheQuotaHint.Builder setUsageStats(@Nullable android.app.usage.UsageStats);
3602    method @NonNull public android.app.usage.CacheQuotaHint.Builder setVolumeUuid(@Nullable String);
3603  }
3604
3605  public abstract class CacheQuotaService extends android.app.Service {
3606    ctor public CacheQuotaService();
3607    method public android.os.IBinder onBind(android.content.Intent);
3608    method public abstract java.util.List<android.app.usage.CacheQuotaHint> onComputeCacheQuotaHints(java.util.List<android.app.usage.CacheQuotaHint>);
3609    field public static final String SERVICE_INTERFACE = "android.app.usage.CacheQuotaService";
3610  }
3611
3612  public class NetworkStatsManager {
3613    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);
3614    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);
3615  }
3616
3617  public static final class UsageEvents.Event {
3618    method public int getInstanceId();
3619    method @Nullable public String getNotificationChannelId();
3620    method @Nullable public String getTaskRootClassName();
3621    method @Nullable public String getTaskRootPackageName();
3622    method public boolean isInstantApp();
3623    field public static final int NOTIFICATION_INTERRUPTION = 12; // 0xc
3624    field public static final int NOTIFICATION_SEEN = 10; // 0xa
3625    field public static final int SLICE_PINNED = 14; // 0xe
3626    field public static final int SLICE_PINNED_PRIV = 13; // 0xd
3627    field public static final int SYSTEM_INTERACTION = 6; // 0x6
3628  }
3629
3630  public final class UsageStats implements android.os.Parcelable {
3631    method public int getAppLaunchCount();
3632    method public long getLastTimeAnyComponentUsed();
3633  }
3634
3635  public final class UsageStatsManager {
3636    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RESPONSE_STATS) public void clearBroadcastResponseStats(@Nullable String, @IntRange(from=0) long);
3637    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public int getAppStandbyBucket(String);
3638    method @RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS) public java.util.Map<java.lang.String,java.lang.Integer> getAppStandbyBuckets();
3639    method @RequiresPermission(allOf={android.Manifest.permission.INTERACT_ACROSS_USERS, android.Manifest.permission.PACKAGE_USAGE_STATS}) public long getLastTimeAnyComponentUsed(@NonNull String);
3640    method public int getUsageSource();
3641    method @RequiresPermission(android.Manifest.permission.BIND_CARRIER_SERVICES) public void onCarrierPrivilegedAppsChanged();
3642    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);
3643    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);
3644    method @RequiresPermission(android.Manifest.permission.OBSERVE_APP_USAGE) public void registerAppUsageObserver(int, @NonNull String[], long, @NonNull java.util.concurrent.TimeUnit, @NonNull android.app.PendingIntent);
3645    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);
3646    method public void reportUsageStart(@NonNull android.app.Activity, @NonNull String);
3647    method public void reportUsageStart(@NonNull android.app.Activity, @NonNull String, long);
3648    method public void reportUsageStop(@NonNull android.app.Activity, @NonNull String);
3649    method @RequiresPermission(android.Manifest.permission.CHANGE_APP_IDLE_STATE) public void setAppStandbyBucket(String, int);
3650    method @RequiresPermission(android.Manifest.permission.CHANGE_APP_IDLE_STATE) public void setAppStandbyBuckets(java.util.Map<java.lang.String,java.lang.Integer>);
3651    method @RequiresPermission(android.Manifest.permission.CHANGE_APP_LAUNCH_TIME_ESTIMATE) public void setEstimatedLaunchTimeMillis(@NonNull String, long);
3652    method @RequiresPermission(android.Manifest.permission.CHANGE_APP_LAUNCH_TIME_ESTIMATE) public void setEstimatedLaunchTimesMillis(@NonNull java.util.Map<java.lang.String,java.lang.Long>);
3653    method @RequiresPermission(allOf={android.Manifest.permission.SUSPEND_APPS, android.Manifest.permission.OBSERVE_APP_USAGE}) public void unregisterAppUsageLimitObserver(int);
3654    method @RequiresPermission(android.Manifest.permission.OBSERVE_APP_USAGE) public void unregisterAppUsageObserver(int);
3655    method @RequiresPermission(android.Manifest.permission.OBSERVE_APP_USAGE) public void unregisterUsageSessionObserver(int);
3656    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public void whitelistAppTemporarily(String, long, android.os.UserHandle);
3657    field public static final String EXTRA_OBSERVER_ID = "android.app.usage.extra.OBSERVER_ID";
3658    field public static final String EXTRA_TIME_LIMIT = "android.app.usage.extra.TIME_LIMIT";
3659    field public static final String EXTRA_TIME_USED = "android.app.usage.extra.TIME_USED";
3660    field public static final int STANDBY_BUCKET_EXEMPTED = 5; // 0x5
3661    field public static final int STANDBY_BUCKET_NEVER = 50; // 0x32
3662    field public static final int USAGE_SOURCE_CURRENT_ACTIVITY = 2; // 0x2
3663    field public static final int USAGE_SOURCE_TASK_ROOT_ACTIVITY = 1; // 0x1
3664  }
3665
3666}
3667
3668package android.app.wallpaper {
3669
3670  public final class WallpaperDescription implements android.os.Parcelable {
3671    method @NonNull public android.util.SparseArray<android.graphics.Rect> getCropHints();
3672  }
3673
3674  public static final class WallpaperDescription.Builder {
3675    method @NonNull public android.app.wallpaper.WallpaperDescription.Builder setCropHints(@NonNull android.util.SparseArray<android.graphics.Rect>);
3676    method @NonNull public android.app.wallpaper.WallpaperDescription.Builder setCropHints(@NonNull java.util.Map<android.graphics.Point,android.graphics.Rect>);
3677  }
3678
3679}
3680
3681package android.app.wallpapereffectsgeneration {
3682
3683  public final class CameraAttributes implements android.os.Parcelable {
3684    method public int describeContents();
3685    method @NonNull public float[] getAnchorPointInOutputUvSpace();
3686    method @NonNull public float[] getAnchorPointInWorldSpace();
3687    method @FloatRange(from=-90.0F, to=90.0f) public float getCameraOrbitPitchDegrees();
3688    method @FloatRange(from=-180.0F, to=180.0f) public float getCameraOrbitYawDegrees();
3689    method public float getDollyDistanceInWorldSpace();
3690    method @FloatRange(from=0.0f) public float getFrustumFarInWorldSpace();
3691    method @FloatRange(from=0.0f) public float getFrustumNearInWorldSpace();
3692    method @FloatRange(from=0.0f, to=180.0f, fromInclusive=false) public float getVerticalFovDegrees();
3693    method public void writeToParcel(@NonNull android.os.Parcel, int);
3694    field @NonNull public static final android.os.Parcelable.Creator<android.app.wallpapereffectsgeneration.CameraAttributes> CREATOR;
3695  }
3696
3697  public static final class CameraAttributes.Builder {
3698    ctor public CameraAttributes.Builder(@NonNull @Size(3) float[], @NonNull @Size(2) float[]);
3699    method @NonNull public android.app.wallpapereffectsgeneration.CameraAttributes build();
3700    method @NonNull public android.app.wallpapereffectsgeneration.CameraAttributes.Builder setCameraOrbitPitchDegrees(@FloatRange(from=-90.0F, to=90.0f) float);
3701    method @NonNull public android.app.wallpapereffectsgeneration.CameraAttributes.Builder setCameraOrbitYawDegrees(@FloatRange(from=-180.0F, to=180.0f) float);
3702    method @NonNull public android.app.wallpapereffectsgeneration.CameraAttributes.Builder setDollyDistanceInWorldSpace(float);
3703    method @NonNull public android.app.wallpapereffectsgeneration.CameraAttributes.Builder setFrustumFarInWorldSpace(@FloatRange(from=0.0f) float);
3704    method @NonNull public android.app.wallpapereffectsgeneration.CameraAttributes.Builder setFrustumNearInWorldSpace(@FloatRange(from=0.0f) float);
3705    method @NonNull public android.app.wallpapereffectsgeneration.CameraAttributes.Builder setVerticalFovDegrees(@FloatRange(from=0.0f, to=180.0f, fromInclusive=false) float);
3706  }
3707
3708  public final class CinematicEffectRequest implements android.os.Parcelable {
3709    ctor public CinematicEffectRequest(@NonNull String, @NonNull android.graphics.Bitmap);
3710    method public int describeContents();
3711    method @NonNull public android.graphics.Bitmap getBitmap();
3712    method @NonNull public String getTaskId();
3713    method public void writeToParcel(@NonNull android.os.Parcel, int);
3714    field @NonNull public static final android.os.Parcelable.Creator<android.app.wallpapereffectsgeneration.CinematicEffectRequest> CREATOR;
3715  }
3716
3717  public final class CinematicEffectResponse implements android.os.Parcelable {
3718    method public int describeContents();
3719    method @Nullable public android.app.wallpapereffectsgeneration.CameraAttributes getEndKeyFrame();
3720    method public int getImageContentType();
3721    method @Nullable public android.app.wallpapereffectsgeneration.CameraAttributes getStartKeyFrame();
3722    method public int getStatusCode();
3723    method @NonNull public String getTaskId();
3724    method @NonNull public java.util.List<android.app.wallpapereffectsgeneration.TexturedMesh> getTexturedMeshes();
3725    method public void writeToParcel(@NonNull android.os.Parcel, int);
3726    field public static final int CINEMATIC_EFFECT_STATUS_ANIMATION_FAILURE = 10; // 0xa
3727    field public static final int CINEMATIC_EFFECT_STATUS_CONTENT_TARGET_ERROR = 8; // 0x8
3728    field public static final int CINEMATIC_EFFECT_STATUS_CONTENT_TOO_FLAT = 9; // 0x9
3729    field public static final int CINEMATIC_EFFECT_STATUS_CONTENT_UNSUPPORTED = 7; // 0x7
3730    field public static final int CINEMATIC_EFFECT_STATUS_ERROR = 0; // 0x0
3731    field public static final int CINEMATIC_EFFECT_STATUS_FEATURE_DISABLED = 5; // 0x5
3732    field public static final int CINEMATIC_EFFECT_STATUS_IMAGE_FORMAT_NOT_SUITABLE = 6; // 0x6
3733    field public static final int CINEMATIC_EFFECT_STATUS_NOT_READY = 2; // 0x2
3734    field public static final int CINEMATIC_EFFECT_STATUS_OK = 1; // 0x1
3735    field public static final int CINEMATIC_EFFECT_STATUS_PENDING = 3; // 0x3
3736    field public static final int CINEMATIC_EFFECT_STATUS_TOO_MANY_REQUESTS = 4; // 0x4
3737    field @NonNull public static final android.os.Parcelable.Creator<android.app.wallpapereffectsgeneration.CinematicEffectResponse> CREATOR;
3738    field public static final int IMAGE_CONTENT_TYPE_LANDSCAPE = 2; // 0x2
3739    field public static final int IMAGE_CONTENT_TYPE_OTHER = 3; // 0x3
3740    field public static final int IMAGE_CONTENT_TYPE_PEOPLE_PORTRAIT = 1; // 0x1
3741    field public static final int IMAGE_CONTENT_TYPE_UNKNOWN = 0; // 0x0
3742  }
3743
3744  public static final class CinematicEffectResponse.Builder {
3745    ctor public CinematicEffectResponse.Builder(int, @NonNull String);
3746    method @NonNull public android.app.wallpapereffectsgeneration.CinematicEffectResponse build();
3747    method @NonNull public android.app.wallpapereffectsgeneration.CinematicEffectResponse.Builder setEndKeyFrame(@Nullable android.app.wallpapereffectsgeneration.CameraAttributes);
3748    method @NonNull public android.app.wallpapereffectsgeneration.CinematicEffectResponse.Builder setImageContentType(int);
3749    method @NonNull public android.app.wallpapereffectsgeneration.CinematicEffectResponse.Builder setStartKeyFrame(@Nullable android.app.wallpapereffectsgeneration.CameraAttributes);
3750    method @NonNull public android.app.wallpapereffectsgeneration.CinematicEffectResponse.Builder setTexturedMeshes(@NonNull java.util.List<android.app.wallpapereffectsgeneration.TexturedMesh>);
3751  }
3752
3753  public final class TexturedMesh implements android.os.Parcelable {
3754    method public int describeContents();
3755    method @NonNull public android.graphics.Bitmap getBitmap();
3756    method @NonNull public int[] getIndices();
3757    method @NonNull public int getIndicesLayoutType();
3758    method @NonNull public float[] getVertices();
3759    method @NonNull public int getVerticesLayoutType();
3760    method public void writeToParcel(@NonNull android.os.Parcel, int);
3761    field @NonNull public static final android.os.Parcelable.Creator<android.app.wallpapereffectsgeneration.TexturedMesh> CREATOR;
3762    field public static final int INDICES_LAYOUT_TRIANGLES = 1; // 0x1
3763    field public static final int INDICES_LAYOUT_UNDEFINED = 0; // 0x0
3764    field public static final int VERTICES_LAYOUT_POSITION3_UV2 = 1; // 0x1
3765    field public static final int VERTICES_LAYOUT_UNDEFINED = 0; // 0x0
3766  }
3767
3768  public static final class TexturedMesh.Builder {
3769    ctor public TexturedMesh.Builder(@NonNull android.graphics.Bitmap);
3770    method @NonNull public android.app.wallpapereffectsgeneration.TexturedMesh build();
3771    method @NonNull public android.app.wallpapereffectsgeneration.TexturedMesh.Builder setIndices(@NonNull int[]);
3772    method @NonNull public android.app.wallpapereffectsgeneration.TexturedMesh.Builder setIndicesLayoutType(int);
3773    method @NonNull public android.app.wallpapereffectsgeneration.TexturedMesh.Builder setVertices(@NonNull float[]);
3774    method @NonNull public android.app.wallpapereffectsgeneration.TexturedMesh.Builder setVerticesLayoutType(int);
3775  }
3776
3777  public final class WallpaperEffectsGenerationManager {
3778    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);
3779  }
3780
3781  public static interface WallpaperEffectsGenerationManager.CinematicEffectListener {
3782    method public void onCinematicEffectGenerated(@NonNull android.app.wallpapereffectsgeneration.CinematicEffectResponse);
3783  }
3784
3785}
3786
3787package android.app.wearable {
3788
3789  public interface WearableConnection {
3790    method @NonNull public android.os.ParcelFileDescriptor getConnection();
3791    method @NonNull public android.os.PersistableBundle getMetadata();
3792    method public void onConnectionAccepted();
3793    method public void onError(int);
3794  }
3795
3796  public final class WearableSensingDataRequest implements android.os.Parcelable {
3797    method public int describeContents();
3798    method public int getDataSize();
3799    method public int getDataType();
3800    method public static int getMaxRequestSize();
3801    method public static int getRateLimit();
3802    method @NonNull public static java.time.Duration getRateLimitWindowSize();
3803    method @NonNull public android.os.PersistableBundle getRequestDetails();
3804    method public void writeToParcel(@NonNull android.os.Parcel, int);
3805    field @NonNull public static final android.os.Parcelable.Creator<android.app.wearable.WearableSensingDataRequest> CREATOR;
3806  }
3807
3808  public static final class WearableSensingDataRequest.Builder {
3809    ctor public WearableSensingDataRequest.Builder(int);
3810    method @NonNull public android.app.wearable.WearableSensingDataRequest build();
3811    method @NonNull public android.app.wearable.WearableSensingDataRequest.Builder setRequestDetails(@NonNull android.os.PersistableBundle);
3812  }
3813
3814  public class WearableSensingManager {
3815    method @RequiresPermission(android.Manifest.permission.MANAGE_WEARABLE_SENSING_SERVICE) public int getAvailableConnectionCount();
3816    method @Nullable public static android.app.wearable.WearableSensingDataRequest getDataRequestFromIntent(@NonNull android.content.Intent);
3817    method @RequiresPermission(android.Manifest.permission.MANAGE_WEARABLE_SENSING_SERVICE) public void provideConnection(@NonNull android.app.wearable.WearableConnection, @NonNull java.util.concurrent.Executor);
3818    method @Deprecated @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>);
3819    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>);
3820    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>);
3821    method @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>);
3822    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>);
3823    method @RequiresPermission(android.Manifest.permission.MANAGE_WEARABLE_SENSING_SERVICE) public void removeAllConnections();
3824    method @RequiresPermission(android.Manifest.permission.MANAGE_WEARABLE_SENSING_SERVICE) public void removeConnection(@NonNull android.app.wearable.WearableConnection);
3825    method @RequiresPermission(android.Manifest.permission.MANAGE_WEARABLE_SENSING_SERVICE) public void startHotwordRecognition(@Nullable android.content.ComponentName, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
3826    method @RequiresPermission(android.Manifest.permission.MANAGE_WEARABLE_SENSING_SERVICE) public void stopHotwordRecognition(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
3827    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>);
3828    field public static final int STATUS_ACCESS_DENIED = 5; // 0x5
3829    field public static final int STATUS_CHANNEL_ERROR = 7; // 0x7
3830    field public static final int STATUS_MAX_CONCURRENT_CONNECTIONS_EXCEEDED = 9; // 0x9
3831    field public static final int STATUS_SERVICE_UNAVAILABLE = 3; // 0x3
3832    field public static final int STATUS_SUCCESS = 1; // 0x1
3833    field public static final int STATUS_UNKNOWN = 0; // 0x0
3834    field @Deprecated public static final int STATUS_UNSUPPORTED = 2; // 0x2
3835    field public static final int STATUS_UNSUPPORTED_DATA_TYPE = 8; // 0x8
3836    field public static final int STATUS_UNSUPPORTED_OPERATION = 6; // 0x6
3837    field public static final int STATUS_WEARABLE_UNAVAILABLE = 4; // 0x4
3838  }
3839
3840}
3841
3842package android.apphibernation {
3843
3844  public class AppHibernationManager {
3845    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public java.util.List<java.lang.String> getHibernatingPackagesForUser();
3846    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public java.util.Map<java.lang.String,android.apphibernation.HibernationStats> getHibernationStatsForUser();
3847    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>);
3848    method @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public boolean isHibernatingForUser(@NonNull String);
3849    method @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public boolean isHibernatingGlobally(@NonNull String);
3850    method @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public boolean isOatArtifactDeletionEnabled();
3851    method @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public void setHibernatingForUser(@NonNull String, boolean);
3852    method @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public void setHibernatingGlobally(@NonNull String, boolean);
3853  }
3854
3855  public final class HibernationStats implements android.os.Parcelable {
3856    method public int describeContents();
3857    method public long getDiskBytesSaved();
3858    method public void writeToParcel(@NonNull android.os.Parcel, int);
3859    field @NonNull public static final android.os.Parcelable.Creator<android.apphibernation.HibernationStats> CREATOR;
3860  }
3861
3862}
3863
3864package android.bluetooth {
3865
3866  public class AudioInputControl {
3867    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getAudioInputStatus();
3868    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getAudioInputType();
3869    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public String getDescription();
3870    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getGainMode();
3871    method @IntRange(from=0xffffff80, to=127) @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getGainSetting();
3872    method @IntRange(from=0xffffff80, to=127) @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getGainSettingMax();
3873    method @IntRange(from=0xffffff80, to=127) @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getGainSettingMin();
3874    method @IntRange(from=0, to=255) @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getGainSettingUnit();
3875    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getMute();
3876    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isDescriptionWritable();
3877    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void registerCallback(@NonNull java.util.concurrent.Executor, @NonNull android.bluetooth.AudioInputControl.AudioInputCallback);
3878    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setDescription(@NonNull String);
3879    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setGainMode(int);
3880    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setGainSetting(@IntRange(from=0xffffff80, to=127) int);
3881    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setMute(int);
3882    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void unregisterCallback(@NonNull android.bluetooth.AudioInputControl.AudioInputCallback);
3883    field public static final int AUDIO_INPUT_STATUS_ACTIVE = 1; // 0x1
3884    field public static final int AUDIO_INPUT_STATUS_INACTIVE = 0; // 0x0
3885    field public static final int AUDIO_INPUT_STATUS_UNKNOWN = -1; // 0xffffffff
3886    field public static final int AUDIO_INPUT_TYPE_AMBIENT = 7; // 0x7
3887    field public static final int AUDIO_INPUT_TYPE_ANALOG = 3; // 0x3
3888    field public static final int AUDIO_INPUT_TYPE_BLUETOOTH = 1; // 0x1
3889    field public static final int AUDIO_INPUT_TYPE_DIGITAL = 4; // 0x4
3890    field public static final int AUDIO_INPUT_TYPE_MICROPHONE = 2; // 0x2
3891    field public static final int AUDIO_INPUT_TYPE_RADIO = 5; // 0x5
3892    field public static final int AUDIO_INPUT_TYPE_STREAMING = 6; // 0x6
3893    field public static final int AUDIO_INPUT_TYPE_UNSPECIFIED = 0; // 0x0
3894    field public static final int GAIN_MODE_AUTOMATIC = 3; // 0x3
3895    field public static final int GAIN_MODE_AUTOMATIC_ONLY = 1; // 0x1
3896    field public static final int GAIN_MODE_MANUAL = 2; // 0x2
3897    field public static final int GAIN_MODE_MANUAL_ONLY = 0; // 0x0
3898    field public static final int MUTE_DISABLED = 2; // 0x2
3899    field public static final int MUTE_MUTED = 1; // 0x1
3900    field public static final int MUTE_NOT_MUTED = 0; // 0x0
3901  }
3902
3903  public static interface AudioInputControl.AudioInputCallback {
3904    method public default void onAudioInputStatusChanged(int);
3905    method public default void onDescriptionChanged(@NonNull String);
3906    method public default void onGainModeChanged(int);
3907    method public default void onGainSettingChanged(int);
3908    method public default void onMuteChanged(int);
3909    method public default void onSetGainModeFailed();
3910    method public default void onSetGainSettingFailed();
3911    method public default void onSetMuteFailed();
3912  }
3913
3914  public final class BluetoothA2dp implements android.bluetooth.BluetoothProfile {
3915    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void disableOptionalCodecs(@NonNull android.bluetooth.BluetoothDevice);
3916    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void enableOptionalCodecs(@NonNull android.bluetooth.BluetoothDevice);
3917    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BufferConstraints getBufferConstraints();
3918    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}, conditional=true) public android.bluetooth.BluetoothCodecStatus getCodecStatus(@NonNull android.bluetooth.BluetoothDevice);
3919    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
3920    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getDynamicBufferSupport();
3921    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int isOptionalCodecsEnabled(@NonNull android.bluetooth.BluetoothDevice);
3922    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int isOptionalCodecsSupported(@NonNull android.bluetooth.BluetoothDevice);
3923    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void setAvrcpAbsoluteVolume(int);
3924    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setBufferLengthMillis(int, int);
3925    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);
3926    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
3927    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void setOptionalCodecsEnabled(@NonNull android.bluetooth.BluetoothDevice, int);
3928    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_ACTIVE_DEVICE_CHANGED = "android.bluetooth.a2dp.profile.action.ACTIVE_DEVICE_CHANGED";
3929    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CODEC_CONFIG_CHANGED = "android.bluetooth.a2dp.profile.action.CODEC_CONFIG_CHANGED";
3930    field public static final int DYNAMIC_BUFFER_SUPPORT_A2DP_OFFLOAD = 1; // 0x1
3931    field public static final int DYNAMIC_BUFFER_SUPPORT_A2DP_SOFTWARE_ENCODING = 2; // 0x2
3932    field public static final int DYNAMIC_BUFFER_SUPPORT_NONE = 0; // 0x0
3933    field public static final int OPTIONAL_CODECS_NOT_SUPPORTED = 0; // 0x0
3934    field public static final int OPTIONAL_CODECS_PREF_DISABLED = 0; // 0x0
3935    field public static final int OPTIONAL_CODECS_PREF_ENABLED = 1; // 0x1
3936    field public static final int OPTIONAL_CODECS_PREF_UNKNOWN = -1; // 0xffffffff
3937    field public static final int OPTIONAL_CODECS_SUPPORTED = 1; // 0x1
3938    field public static final int OPTIONAL_CODECS_SUPPORT_UNKNOWN = -1; // 0xffffffff
3939  }
3940
3941  public final class BluetoothA2dpSink implements android.bluetooth.BluetoothProfile {
3942    method public void finalize();
3943    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
3944    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
3945    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(android.bluetooth.BluetoothDevice);
3946    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]);
3947    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isAudioPlaying(@NonNull android.bluetooth.BluetoothDevice);
3948    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
3949    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.a2dp-sink.profile.action.CONNECTION_STATE_CHANGED";
3950  }
3951
3952  public final class BluetoothActivityEnergyInfo implements android.os.Parcelable {
3953    method public int describeContents();
3954    method public int getBluetoothStackState();
3955    method public long getControllerEnergyUsed();
3956    method public long getControllerIdleTimeMillis();
3957    method public long getControllerRxTimeMillis();
3958    method public long getControllerTxTimeMillis();
3959    method public long getTimestampMillis();
3960    method @NonNull public java.util.List<android.bluetooth.UidTraffic> getUidTraffic();
3961    method public boolean isValid();
3962    method public void writeToParcel(android.os.Parcel, int);
3963    field public static final int BT_STACK_STATE_INVALID = 0; // 0x0
3964    field public static final int BT_STACK_STATE_STATE_ACTIVE = 1; // 0x1
3965    field public static final int BT_STACK_STATE_STATE_IDLE = 3; // 0x3
3966    field public static final int BT_STACK_STATE_STATE_SCANNING = 2; // 0x2
3967    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothActivityEnergyInfo> CREATOR;
3968  }
3969
3970  public final class BluetoothAdapter {
3971    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);
3972    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean clearBluetooth();
3973    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}, conditional=true) public boolean disable(boolean);
3974    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean disableBLE();
3975    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean enableBLE();
3976    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean enableNoAutoConnect();
3977    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);
3978    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getActiveDevices(int);
3979    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public int getBluetoothHciSnoopLoggingMode();
3980    method public int getConnectionState();
3981    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public long getDiscoveryEndMillis();
3982    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.le.DistanceMeasurementManager getDistanceMeasurementManager();
3983    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getMostRecentlyConnectedDevices();
3984    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getOffloadedTransportDiscoveryDataScanSupported();
3985    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.os.Bundle getPreferredAudioProfiles(@NonNull android.bluetooth.BluetoothDevice);
3986    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<java.lang.Integer> getSupportedProfiles();
3987    method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.os.ParcelUuid> getUuidsList();
3988    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean isAutoOnEnabled();
3989    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean isAutoOnSupported();
3990    method public boolean isBleScanAlwaysAvailable();
3991    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int isDistanceMeasurementSupported();
3992    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean isLeCocSocketOffloadSupported();
3993    method public boolean isLeEnabled();
3994    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public boolean isRfcommSocketOffloadSupported();
3995    method @NonNull public static String nameForState(int);
3996    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int notifyActiveDeviceChangeApplied(@NonNull android.bluetooth.BluetoothDevice);
3997    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);
3998    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public void registerBluetoothHciVendorSpecificCallback(@NonNull java.util.Set<java.lang.Integer>, @NonNull java.util.concurrent.Executor, @NonNull android.bluetooth.BluetoothAdapter.BluetoothHciVendorSpecificCallback);
3999    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);
4000    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);
4001    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED, android.Manifest.permission.MODIFY_PHONE_STATE}) public boolean removeActiveDevice(int);
4002    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);
4003    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);
4004    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BluetoothSocket retrieveConnectedRfcommSocket(@NonNull java.util.UUID);
4005    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public void sendBluetoothHciVendorSpecificCommand(@IntRange(from=0, to=1023) int, @NonNull byte[]);
4006    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);
4007    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public void setAutoOnEnabled(boolean);
4008    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public int setBluetoothHciSnoopLoggingMode(int);
4009    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int setDiscoverableTimeout(@NonNull java.time.Duration);
4010    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int setPreferredAudioProfiles(@NonNull android.bluetooth.BluetoothDevice, @NonNull android.os.Bundle);
4011    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int setScanMode(int);
4012    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);
4013    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int stopRfcommServer(@NonNull java.util.UUID);
4014    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean unregisterBluetoothConnectionCallback(@NonNull android.bluetooth.BluetoothAdapter.BluetoothConnectionCallback);
4015    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public void unregisterBluetoothHciVendorSpecificCallback(@NonNull android.bluetooth.BluetoothAdapter.BluetoothHciVendorSpecificCallback);
4016    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int unregisterBluetoothQualityReportReadyCallback(@NonNull android.bluetooth.BluetoothAdapter.BluetoothQualityReportReadyCallback);
4017    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int unregisterPreferredAudioProfilesChangedCallback(@NonNull android.bluetooth.BluetoothAdapter.PreferredAudioProfilesChangedCallback);
4018    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public static final String ACTION_AUTO_ON_STATE_CHANGED = "android.bluetooth.action.AUTO_ON_STATE_CHANGED";
4019    field public static final String ACTION_BLE_STATE_CHANGED = "android.bluetooth.adapter.action.BLE_STATE_CHANGED";
4020    field public static final String ACTION_REQUEST_BLE_SCAN_ALWAYS_AVAILABLE = "android.bluetooth.adapter.action.REQUEST_BLE_SCAN_ALWAYS_AVAILABLE";
4021    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_REQUEST_DISABLE = "android.bluetooth.adapter.action.REQUEST_DISABLE";
4022    field public static final int ACTIVE_DEVICE_ALL = 2; // 0x2
4023    field public static final int ACTIVE_DEVICE_AUDIO = 0; // 0x0
4024    field public static final int ACTIVE_DEVICE_PHONE_CALL = 1; // 0x1
4025    field public static final String AUDIO_MODE_DUPLEX = "audio_mode_duplex";
4026    field public static final String AUDIO_MODE_OUTPUT_ONLY = "audio_mode_output_only";
4027    field public static final int AUTO_ON_STATE_DISABLED = 1; // 0x1
4028    field public static final int AUTO_ON_STATE_ENABLED = 2; // 0x2
4029    field public static final int BT_SNOOP_LOG_MODE_DISABLED = 0; // 0x0
4030    field public static final int BT_SNOOP_LOG_MODE_FILTERED = 1; // 0x1
4031    field public static final int BT_SNOOP_LOG_MODE_FULL = 2; // 0x2
4032    field public static final String EXTRA_AUTO_ON_STATE = "android.bluetooth.extra.AUTO_ON_STATE";
4033    field public static final String EXTRA_RFCOMM_LISTENER_ID = "android.bluetooth.adapter.extra.RFCOMM_LISTENER_ID";
4034    field public static final int STATE_BLE_ON = 15; // 0xf
4035  }
4036
4037  public abstract static class BluetoothAdapter.BluetoothConnectionCallback {
4038    ctor public BluetoothAdapter.BluetoothConnectionCallback();
4039    method @NonNull public static String disconnectReasonToString(int);
4040    method public void onDeviceConnected(@NonNull android.bluetooth.BluetoothDevice);
4041    method public void onDeviceDisconnected(@NonNull android.bluetooth.BluetoothDevice, int);
4042  }
4043
4044  public static interface BluetoothAdapter.BluetoothHciVendorSpecificCallback {
4045    method public void onCommandComplete(@IntRange(from=0, to=1023) int, @NonNull byte[]);
4046    method public void onCommandStatus(@IntRange(from=0, to=1023) int, @IntRange(from=0, to=255) int);
4047    method public void onEvent(@IntRange(from=0, to=254) int, @NonNull byte[]);
4048  }
4049
4050  public static interface BluetoothAdapter.BluetoothQualityReportReadyCallback {
4051    method public void onBluetoothQualityReportReady(@NonNull android.bluetooth.BluetoothDevice, @NonNull android.bluetooth.BluetoothQualityReport, int);
4052  }
4053
4054  public static interface BluetoothAdapter.OnBluetoothActivityEnergyInfoCallback {
4055    method public void onBluetoothActivityEnergyInfoAvailable(@NonNull android.bluetooth.BluetoothActivityEnergyInfo);
4056    method public void onBluetoothActivityEnergyInfoError(int);
4057  }
4058
4059  public static interface BluetoothAdapter.OnMetadataChangedListener {
4060    method public void onMetadataChanged(@NonNull android.bluetooth.BluetoothDevice, int, @Nullable byte[]);
4061  }
4062
4063  public static interface BluetoothAdapter.OobDataCallback {
4064    method public void onError(int);
4065    method public void onOobData(int, @NonNull android.bluetooth.OobData);
4066  }
4067
4068  public static interface BluetoothAdapter.PreferredAudioProfilesChangedCallback {
4069    method public void onPreferredAudioProfilesChanged(@NonNull android.bluetooth.BluetoothDevice, @NonNull android.os.Bundle, int);
4070  }
4071
4072  public static class BluetoothAssignedNumbers.OrganizationId {
4073    field public static final int BLUETOOTH_SIG = 1; // 0x1
4074    field public static final int WIFI_ALLIANCE_NEIGHBOR_AWARENESS_NETWORKING = 2; // 0x2
4075    field public static final int WIFI_ALLIANCE_SERVICE_ADVERTISEMENT = 3; // 0x3
4076  }
4077
4078  public final class BluetoothClass implements android.os.Parcelable {
4079    field public static final int PROFILE_A2DP_SINK = 6; // 0x6
4080    field public static final int PROFILE_NAP = 5; // 0x5
4081    field public static final int PROFILE_OPP = 2; // 0x2
4082    field public static final int PROFILE_PANU = 4; // 0x4
4083  }
4084
4085  public final class BluetoothCodecType implements android.os.Parcelable {
4086    ctor public BluetoothCodecType(int, long, @NonNull String);
4087    method @Nullable public static android.bluetooth.BluetoothCodecType createFromType(int);
4088  }
4089
4090  public final class BluetoothCsipSetCoordinator implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
4091    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);
4092    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@Nullable android.bluetooth.BluetoothDevice);
4093    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);
4094    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);
4095    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@Nullable android.bluetooth.BluetoothDevice, int);
4096    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean unlockGroup(@NonNull java.util.UUID);
4097    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public static final String ACTION_CSIS_DEVICE_AVAILABLE = "android.bluetooth.action.CSIS_DEVICE_AVAILABLE";
4098    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public static final String ACTION_CSIS_SET_MEMBER_AVAILABLE = "android.bluetooth.action.CSIS_SET_MEMBER_AVAILABLE";
4099    field public static final String EXTRA_CSIS_GROUP_ID = "android.bluetooth.extra.CSIS_GROUP_ID";
4100    field public static final int GROUP_ID_INVALID = -1; // 0xffffffff
4101  }
4102
4103  public static interface BluetoothCsipSetCoordinator.ClientLockCallback {
4104    method public void onGroupLockSet(int, int, boolean);
4105  }
4106
4107  public final class BluetoothDevice implements android.os.Parcelable {
4108    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean canBondWithoutDialog();
4109    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean cancelBondProcess();
4110    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED, android.Manifest.permission.MODIFY_PHONE_STATE}) public int connect();
4111    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean createBond(int);
4112    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean createBondOutOfBand(int, @Nullable android.bluetooth.OobData, @Nullable android.bluetooth.OobData);
4113    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int disconnect();
4114    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}, conditional=true) public boolean fetchUuidsWithSdp(int);
4115    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getActiveAudioDevicePolicy();
4116    method @NonNull public String getAnonymizedAddress();
4117    method @IntRange(from=0xffffff9c, to=100) @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getBatteryLevel();
4118    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionHandle(int);
4119    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public String getIdentityAddress();
4120    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getMessageAccessPermission();
4121    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public byte[] getMetadata(int);
4122    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public String getPackageNameOfBondingApplication();
4123    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getPhonebookAccessPermission();
4124    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BluetoothSinkAudioPolicy getRequestedAudioPolicyAsSink();
4125    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getSimAccessPermission();
4126    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isBondingInitiatedLocally();
4127    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isConnected();
4128    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isEncrypted();
4129    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isInSilenceMode();
4130    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isMicrophonePreferredForCalls();
4131    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int isRequestAudioPolicyAsSinkSupported();
4132    method public void prepareToEnterProcess(@NonNull android.content.AttributionSource);
4133    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean removeBond();
4134    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int requestAudioPolicyAsSink(@NonNull android.bluetooth.BluetoothSinkAudioPolicy);
4135    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int setActiveAudioDevicePolicy(int);
4136    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setLowLatencyAudioAllowed(boolean);
4137    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setMessageAccessPermission(int);
4138    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setMetadata(int, @NonNull byte[]);
4139    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int setMicrophonePreferredForCalls(boolean);
4140    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setPhonebookAccessPermission(int);
4141    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean setPin(@NonNull String);
4142    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setSilenceMode(boolean);
4143    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setSimAccessPermission(int);
4144    field public static final int ACCESS_ALLOWED = 1; // 0x1
4145    field public static final int ACCESS_REJECTED = 2; // 0x2
4146    field public static final int ACCESS_UNKNOWN = 0; // 0x0
4147    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_BATTERY_LEVEL_CHANGED = "android.bluetooth.device.action.BATTERY_LEVEL_CHANGED";
4148    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_ACCESS_CANCEL = "android.bluetooth.device.action.CONNECTION_ACCESS_CANCEL";
4149    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_ACCESS_REPLY = "android.bluetooth.device.action.CONNECTION_ACCESS_REPLY";
4150    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_ACCESS_REQUEST = "android.bluetooth.device.action.CONNECTION_ACCESS_REQUEST";
4151    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_PAIRING_CANCEL = "android.bluetooth.device.action.PAIRING_CANCEL";
4152    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_SILENCE_MODE_CHANGED = "android.bluetooth.device.action.SILENCE_MODE_CHANGED";
4153    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";
4154    field public static final int ACTIVE_AUDIO_DEVICE_POLICY_ALL_PROFILES_ACTIVE_UPON_CONNECTION = 1; // 0x1
4155    field public static final int ACTIVE_AUDIO_DEVICE_POLICY_ALL_PROFILES_INACTIVE_UPON_CONNECTION = 2; // 0x2
4156    field public static final int ACTIVE_AUDIO_DEVICE_POLICY_DEFAULT = 0; // 0x0
4157    field public static final int BATTERY_LEVEL_BLUETOOTH_OFF = -100; // 0xffffff9c
4158    field public static final int BATTERY_LEVEL_UNKNOWN = -1; // 0xffffffff
4159    field public static final int CONNECTION_ACCESS_NO = 2; // 0x2
4160    field public static final int CONNECTION_ACCESS_YES = 1; // 0x1
4161    field public static final String DEVICE_TYPE_CARKIT = "Carkit";
4162    field public static final String DEVICE_TYPE_DEFAULT = "Default";
4163    field public static final String DEVICE_TYPE_HEADSET = "Headset";
4164    field public static final String DEVICE_TYPE_HEARING_AID = "HearingAid";
4165    field public static final String DEVICE_TYPE_SPEAKER = "Speaker";
4166    field public static final String DEVICE_TYPE_STYLUS = "Stylus";
4167    field public static final String DEVICE_TYPE_UNTETHERED_HEADSET = "Untethered Headset";
4168    field public static final String DEVICE_TYPE_WATCH = "Watch";
4169    field public static final String EXTRA_ACCESS_REQUEST_TYPE = "android.bluetooth.device.extra.ACCESS_REQUEST_TYPE";
4170    field public static final String EXTRA_ALWAYS_ALLOWED = "android.bluetooth.device.extra.ALWAYS_ALLOWED";
4171    field public static final String EXTRA_BATTERY_LEVEL = "android.bluetooth.device.extra.BATTERY_LEVEL";
4172    field public static final String EXTRA_CONNECTION_ACCESS_RESULT = "android.bluetooth.device.extra.CONNECTION_ACCESS_RESULT";
4173    field public static final String EXTRA_LOW_LATENCY_BUFFER_SIZE = "android.bluetooth.device.extra.LOW_LATENCY_BUFFER_SIZE";
4174    field public static final String EXTRA_PAIRING_INITIATOR = "android.bluetooth.device.extra.PAIRING_INITIATOR";
4175    field public static final int EXTRA_PAIRING_INITIATOR_BACKGROUND = 2; // 0x2
4176    field public static final int EXTRA_PAIRING_INITIATOR_FOREGROUND = 1; // 0x1
4177    field public static final String EXTRA_UNBOND_REASON = "android.bluetooth.device.extra.REASON";
4178    field public static final int METADATA_COMPANION_APP = 4; // 0x4
4179    field public static final int METADATA_DEVICE_TYPE = 17; // 0x11
4180    field public static final int METADATA_ENHANCED_SETTINGS_UI_URI = 16; // 0x10
4181    field public static final int METADATA_EXCLUSIVE_MANAGER = 29; // 0x1d
4182    field public static final int METADATA_HARDWARE_VERSION = 3; // 0x3
4183    field public static final int METADATA_IS_UNTETHERED_HEADSET = 6; // 0x6
4184    field public static final int METADATA_LE_AUDIO = 26; // 0x1a
4185    field public static final int METADATA_MAIN_BATTERY = 18; // 0x12
4186    field public static final int METADATA_MAIN_CHARGING = 19; // 0x13
4187    field public static final int METADATA_MAIN_ICON = 5; // 0x5
4188    field public static final int METADATA_MAIN_LOW_BATTERY_THRESHOLD = 20; // 0x14
4189    field public static final int METADATA_MANUFACTURER_NAME = 0; // 0x0
4190    field public static final int METADATA_MAX_LENGTH = 2048; // 0x800
4191    field public static final int METADATA_MODEL_NAME = 1; // 0x1
4192    field public static final int METADATA_SOFTWARE_VERSION = 2; // 0x2
4193    field public static final int METADATA_UNTETHERED_CASE_BATTERY = 12; // 0xc
4194    field public static final int METADATA_UNTETHERED_CASE_CHARGING = 15; // 0xf
4195    field public static final int METADATA_UNTETHERED_CASE_ICON = 9; // 0x9
4196    field public static final int METADATA_UNTETHERED_CASE_LOW_BATTERY_THRESHOLD = 23; // 0x17
4197    field public static final int METADATA_UNTETHERED_LEFT_BATTERY = 10; // 0xa
4198    field public static final int METADATA_UNTETHERED_LEFT_CHARGING = 13; // 0xd
4199    field public static final int METADATA_UNTETHERED_LEFT_ICON = 7; // 0x7
4200    field public static final int METADATA_UNTETHERED_LEFT_LOW_BATTERY_THRESHOLD = 21; // 0x15
4201    field public static final int METADATA_UNTETHERED_RIGHT_BATTERY = 11; // 0xb
4202    field public static final int METADATA_UNTETHERED_RIGHT_CHARGING = 14; // 0xe
4203    field public static final int METADATA_UNTETHERED_RIGHT_ICON = 8; // 0x8
4204    field public static final int METADATA_UNTETHERED_RIGHT_LOW_BATTERY_THRESHOLD = 22; // 0x16
4205    field public static final int PAIRING_VARIANT_CONSENT = 3; // 0x3
4206    field public static final int PAIRING_VARIANT_DISPLAY_PASSKEY = 4; // 0x4
4207    field public static final int PAIRING_VARIANT_DISPLAY_PIN = 5; // 0x5
4208    field public static final int PAIRING_VARIANT_OOB_CONSENT = 6; // 0x6
4209    field public static final int PAIRING_VARIANT_PASSKEY = 1; // 0x1
4210    field public static final int PAIRING_VARIANT_PIN_16_DIGITS = 7; // 0x7
4211    field public static final int REQUEST_TYPE_MESSAGE_ACCESS = 3; // 0x3
4212    field public static final int REQUEST_TYPE_PHONEBOOK_ACCESS = 2; // 0x2
4213    field public static final int REQUEST_TYPE_PROFILE_CONNECTION = 1; // 0x1
4214    field public static final int REQUEST_TYPE_SIM_ACCESS = 4; // 0x4
4215    field public static final int UNBOND_REASON_AUTH_CANCELED = 3; // 0x3
4216    field public static final int UNBOND_REASON_AUTH_FAILED = 1; // 0x1
4217    field public static final int UNBOND_REASON_AUTH_REJECTED = 2; // 0x2
4218    field public static final int UNBOND_REASON_AUTH_TIMEOUT = 6; // 0x6
4219    field public static final int UNBOND_REASON_DISCOVERY_IN_PROGRESS = 5; // 0x5
4220    field public static final int UNBOND_REASON_REMOTE_AUTH_CANCELED = 8; // 0x8
4221    field public static final int UNBOND_REASON_REMOTE_DEVICE_DOWN = 4; // 0x4
4222    field public static final int UNBOND_REASON_REMOVED = 9; // 0x9
4223    field public static final int UNBOND_REASON_REPEATED_ATTEMPTS = 7; // 0x7
4224  }
4225
4226  public interface BluetoothDevicePicker {
4227    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_DEVICE_SELECTED = "android.bluetooth.devicepicker.action.DEVICE_SELECTED";
4228    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_LAUNCH = "android.bluetooth.devicepicker.action.LAUNCH";
4229    field public static final String EXTRA_FILTER_TYPE = "android.bluetooth.devicepicker.extra.FILTER_TYPE";
4230    field public static final String EXTRA_LAUNCH_CLASS = "android.bluetooth.devicepicker.extra.DEVICE_PICKER_LAUNCH_CLASS";
4231    field public static final String EXTRA_LAUNCH_PACKAGE = "android.bluetooth.devicepicker.extra.LAUNCH_PACKAGE";
4232    field public static final String EXTRA_NEED_AUTH = "android.bluetooth.devicepicker.extra.NEED_AUTH";
4233    field public static final int FILTER_TYPE_ALL = 0; // 0x0
4234    field public static final int FILTER_TYPE_AUDIO = 1; // 0x1
4235    field public static final int FILTER_TYPE_NAP = 4; // 0x4
4236    field public static final int FILTER_TYPE_PANU = 3; // 0x3
4237    field public static final int FILTER_TYPE_TRANSFER = 2; // 0x2
4238  }
4239
4240  public final class BluetoothHapClient implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
4241    method public void close();
4242    method protected void finalize();
4243    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getActivePresetIndex(@NonNull android.bluetooth.BluetoothDevice);
4244    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BluetoothHapPresetInfo getActivePresetInfo(@NonNull android.bluetooth.BluetoothDevice);
4245    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);
4246    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
4247    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@Nullable android.bluetooth.BluetoothDevice);
4248    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
4249    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(@NonNull int[]);
4250    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getHapGroup(@NonNull android.bluetooth.BluetoothDevice);
4251    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getHearingAidType(@NonNull android.bluetooth.BluetoothDevice);
4252    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BluetoothHapPresetInfo getPresetInfo(@NonNull android.bluetooth.BluetoothDevice, int);
4253    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);
4254    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void selectPreset(@NonNull android.bluetooth.BluetoothDevice, int);
4255    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void selectPresetForGroup(int, int);
4256    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
4257    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void setPresetName(@NonNull android.bluetooth.BluetoothDevice, int, @NonNull String);
4258    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void setPresetNameForGroup(int, int, @NonNull String);
4259    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean supportsDynamicPresets(@NonNull android.bluetooth.BluetoothDevice);
4260    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean supportsIndependentPresets(@NonNull android.bluetooth.BluetoothDevice);
4261    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean supportsSynchronizedPresets(@NonNull android.bluetooth.BluetoothDevice);
4262    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean supportsWritablePresets(@NonNull android.bluetooth.BluetoothDevice);
4263    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void switchToNextPreset(@NonNull android.bluetooth.BluetoothDevice);
4264    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void switchToNextPresetForGroup(int);
4265    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void switchToPreviousPreset(@NonNull android.bluetooth.BluetoothDevice);
4266    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void switchToPreviousPresetForGroup(int);
4267    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void unregisterCallback(@NonNull android.bluetooth.BluetoothHapClient.Callback);
4268    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";
4269    field public static final int PRESET_INDEX_UNAVAILABLE = 0; // 0x0
4270    field public static final int TYPE_BANDED = 2; // 0x2
4271    field public static final int TYPE_BINAURAL = 0; // 0x0
4272    field public static final int TYPE_MONAURAL = 1; // 0x1
4273    field public static final int TYPE_RFU = 3; // 0x3
4274  }
4275
4276  public static interface BluetoothHapClient.Callback {
4277    method public void onPresetInfoChanged(@NonNull android.bluetooth.BluetoothDevice, @NonNull java.util.List<android.bluetooth.BluetoothHapPresetInfo>, int);
4278    method public void onPresetSelected(@NonNull android.bluetooth.BluetoothDevice, int, int);
4279    method public void onPresetSelectionFailed(@NonNull android.bluetooth.BluetoothDevice, int);
4280    method public void onPresetSelectionForGroupFailed(int, int);
4281    method public void onSetPresetNameFailed(@NonNull android.bluetooth.BluetoothDevice, int);
4282    method public void onSetPresetNameForGroupFailed(int, int);
4283  }
4284
4285  public final class BluetoothHapPresetInfo implements android.os.Parcelable {
4286    method public int describeContents();
4287    method public int getIndex();
4288    method @NonNull public String getName();
4289    method public boolean isAvailable();
4290    method public boolean isWritable();
4291    method public void writeToParcel(@NonNull android.os.Parcel, int);
4292    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothHapPresetInfo> CREATOR;
4293  }
4294
4295  public final class BluetoothHeadset implements android.bluetooth.BluetoothProfile {
4296    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.MODIFY_PHONE_STATE}) public boolean connect(android.bluetooth.BluetoothDevice);
4297    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int connectAudio();
4298    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean disconnect(android.bluetooth.BluetoothDevice);
4299    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int disconnectAudio();
4300    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getAudioRouteAllowed();
4301    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getAudioState(@NonNull android.bluetooth.BluetoothDevice);
4302    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
4303    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isInbandRingingEnabled();
4304    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int setAudioRouteAllowed(boolean);
4305    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);
4306    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.MODIFY_PHONE_STATE, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean startScoUsingVirtualVoiceCall();
4307    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.MODIFY_PHONE_STATE, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean stopScoUsingVirtualVoiceCall();
4308    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_ACTIVE_DEVICE_CHANGED = "android.bluetooth.headset.profile.action.ACTIVE_DEVICE_CHANGED";
4309  }
4310
4311  public final class BluetoothHeadsetClient implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
4312    method public void close();
4313    method protected void finalize();
4314    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
4315    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
4316    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
4317    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(@NonNull int[]);
4318    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BluetoothHeadsetClient.NetworkServiceState getNetworkServiceState(@NonNull android.bluetooth.BluetoothDevice);
4319    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
4320    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";
4321    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";
4322    field public static final String EXTRA_NETWORK_SERVICE_STATE = "android.bluetooth.headsetclient.extra.EXTRA_NETWORK_SERVICE_STATE";
4323  }
4324
4325  public static final class BluetoothHeadsetClient.NetworkServiceState implements android.os.Parcelable {
4326    method public int describeContents();
4327    method @NonNull public android.bluetooth.BluetoothDevice getDevice();
4328    method @Nullable public String getNetworkOperatorName();
4329    method @IntRange(from=0, to=5) public int getSignalStrength();
4330    method public boolean isRoaming();
4331    method public boolean isServiceAvailable();
4332    method public void writeToParcel(@NonNull android.os.Parcel, int);
4333    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothHeadsetClient.NetworkServiceState> CREATOR;
4334  }
4335
4336  public final class BluetoothHearingAid implements android.bluetooth.BluetoothProfile {
4337    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BluetoothHearingAid.AdvertisementServiceData getAdvertisementServiceData(@NonNull android.bluetooth.BluetoothDevice);
4338    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
4339    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getDeviceMode(@NonNull android.bluetooth.BluetoothDevice);
4340    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getDeviceSide(@NonNull android.bluetooth.BluetoothDevice);
4341    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public long getHiSyncId(@NonNull android.bluetooth.BluetoothDevice);
4342    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
4343    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void setVolume(int);
4344    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_ACTIVE_DEVICE_CHANGED = "android.bluetooth.hearingaid.profile.action.ACTIVE_DEVICE_CHANGED";
4345    field public static final long HI_SYNC_ID_INVALID = 0L; // 0x0L
4346    field public static final int MODE_BINAURAL = 1; // 0x1
4347    field public static final int MODE_MONAURAL = 0; // 0x0
4348    field public static final int MODE_UNKNOWN = -1; // 0xffffffff
4349    field public static final int SIDE_LEFT = 0; // 0x0
4350    field public static final int SIDE_RIGHT = 1; // 0x1
4351    field public static final int SIDE_UNKNOWN = -1; // 0xffffffff
4352  }
4353
4354  public static final class BluetoothHearingAid.AdvertisementServiceData implements android.os.Parcelable {
4355    method public int describeContents();
4356    method public int getDeviceMode();
4357    method public int getDeviceSide();
4358    method public int getTruncatedHiSyncId();
4359    method public boolean isCsipSupported();
4360    method public boolean isInPairWith(@Nullable android.bluetooth.BluetoothHearingAid.AdvertisementServiceData);
4361    method public void writeToParcel(@NonNull android.os.Parcel, int);
4362    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothHearingAid.AdvertisementServiceData> CREATOR;
4363  }
4364
4365  public final class BluetoothHidDevice implements android.bluetooth.BluetoothProfile {
4366    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
4367  }
4368
4369  public final class BluetoothHidHost implements android.bluetooth.BluetoothProfile {
4370    method @NonNull @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
4371    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
4372    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
4373    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]);
4374    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getPreferredTransport(@NonNull android.bluetooth.BluetoothDevice);
4375    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
4376    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setPreferredTransport(@NonNull android.bluetooth.BluetoothDevice, int);
4377    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.input.profile.action.CONNECTION_STATE_CHANGED";
4378  }
4379
4380  public final class BluetoothLeAudio implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
4381    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getAudioLocation(@NonNull android.bluetooth.BluetoothDevice);
4382    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getBroadcastToUnicastFallbackGroup();
4383    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BluetoothLeAudioCodecStatus getCodecStatus(int);
4384    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@Nullable android.bluetooth.BluetoothDevice);
4385    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isInbandRingtoneEnabled(int);
4386    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);
4387    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void setBroadcastToUnicastFallbackGroup(int);
4388    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);
4389    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
4390    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void setVolume(@IntRange(from=0, to=255) int);
4391    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void unregisterCallback(@NonNull android.bluetooth.BluetoothLeAudio.Callback);
4392    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";
4393    field public static final int AUDIO_LOCATION_BACK_CENTER = 256; // 0x100
4394    field public static final int AUDIO_LOCATION_BACK_LEFT = 16; // 0x10
4395    field public static final int AUDIO_LOCATION_BACK_RIGHT = 32; // 0x20
4396    field public static final int AUDIO_LOCATION_BOTTOM_FRONT_CENTER = 2097152; // 0x200000
4397    field public static final int AUDIO_LOCATION_BOTTOM_FRONT_LEFT = 4194304; // 0x400000
4398    field public static final int AUDIO_LOCATION_BOTTOM_FRONT_RIGHT = 8388608; // 0x800000
4399    field public static final int AUDIO_LOCATION_FRONT_CENTER = 4; // 0x4
4400    field public static final int AUDIO_LOCATION_FRONT_LEFT = 1; // 0x1
4401    field public static final int AUDIO_LOCATION_FRONT_LEFT_OF_CENTER = 64; // 0x40
4402    field public static final int AUDIO_LOCATION_FRONT_LEFT_WIDE = 16777216; // 0x1000000
4403    field public static final int AUDIO_LOCATION_FRONT_RIGHT = 2; // 0x2
4404    field public static final int AUDIO_LOCATION_FRONT_RIGHT_OF_CENTER = 128; // 0x80
4405    field public static final int AUDIO_LOCATION_FRONT_RIGHT_WIDE = 33554432; // 0x2000000
4406    field @Deprecated public static final int AUDIO_LOCATION_INVALID = 0; // 0x0
4407    field public static final int AUDIO_LOCATION_LEFT_SURROUND = 67108864; // 0x4000000
4408    field public static final int AUDIO_LOCATION_LOW_FREQ_EFFECTS_ONE = 8; // 0x8
4409    field public static final int AUDIO_LOCATION_LOW_FREQ_EFFECTS_TWO = 512; // 0x200
4410    field public static final int AUDIO_LOCATION_MONO = 0; // 0x0
4411    field public static final int AUDIO_LOCATION_RIGHT_SURROUND = 134217728; // 0x8000000
4412    field public static final int AUDIO_LOCATION_SIDE_LEFT = 1024; // 0x400
4413    field public static final int AUDIO_LOCATION_SIDE_RIGHT = 2048; // 0x800
4414    field public static final int AUDIO_LOCATION_TOP_BACK_CENTER = 1048576; // 0x100000
4415    field public static final int AUDIO_LOCATION_TOP_BACK_LEFT = 65536; // 0x10000
4416    field public static final int AUDIO_LOCATION_TOP_BACK_RIGHT = 131072; // 0x20000
4417    field public static final int AUDIO_LOCATION_TOP_CENTER = 32768; // 0x8000
4418    field public static final int AUDIO_LOCATION_TOP_FRONT_CENTER = 16384; // 0x4000
4419    field public static final int AUDIO_LOCATION_TOP_FRONT_LEFT = 4096; // 0x1000
4420    field public static final int AUDIO_LOCATION_TOP_FRONT_RIGHT = 8192; // 0x2000
4421    field public static final int AUDIO_LOCATION_TOP_SIDE_LEFT = 262144; // 0x40000
4422    field public static final int AUDIO_LOCATION_TOP_SIDE_RIGHT = 524288; // 0x80000
4423    field public static final int AUDIO_LOCATION_UNKNOWN = -2147483648; // 0x80000000
4424    field public static final String EXTRA_LE_AUDIO_GROUP_ID = "android.bluetooth.extra.LE_AUDIO_GROUP_ID";
4425    field public static final int GROUP_STREAM_STATUS_IDLE = 0; // 0x0
4426    field public static final int GROUP_STREAM_STATUS_STREAMING = 1; // 0x1
4427  }
4428
4429  public static interface BluetoothLeAudio.Callback {
4430    method public default void onBroadcastToUnicastFallbackGroupChanged(int);
4431    method public void onCodecConfigChanged(int, @NonNull android.bluetooth.BluetoothLeAudioCodecStatus);
4432    method public void onGroupNodeAdded(@NonNull android.bluetooth.BluetoothDevice, int);
4433    method public void onGroupNodeRemoved(@NonNull android.bluetooth.BluetoothDevice, int);
4434    method public void onGroupStatusChanged(int, int);
4435    method public default void onGroupStreamStatusChanged(int, int);
4436  }
4437
4438  public final class BluetoothLeAudioCodecConfigMetadata implements android.os.Parcelable {
4439    method public int describeContents();
4440    method @NonNull public static android.bluetooth.BluetoothLeAudioCodecConfigMetadata fromRawBytes(@NonNull byte[]);
4441    method public long getAudioLocation();
4442    method public int getFrameDuration();
4443    method public int getOctetsPerFrame();
4444    method @NonNull public byte[] getRawMetadata();
4445    method public int getSampleRate();
4446    method public void writeToParcel(android.os.Parcel, int);
4447    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothLeAudioCodecConfigMetadata> CREATOR;
4448  }
4449
4450  public static final class BluetoothLeAudioCodecConfigMetadata.Builder {
4451    ctor public BluetoothLeAudioCodecConfigMetadata.Builder();
4452    ctor public BluetoothLeAudioCodecConfigMetadata.Builder(@NonNull android.bluetooth.BluetoothLeAudioCodecConfigMetadata);
4453    method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfigMetadata build();
4454    method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfigMetadata.Builder setAudioLocation(long);
4455    method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfigMetadata.Builder setFrameDuration(int);
4456    method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfigMetadata.Builder setOctetsPerFrame(int);
4457    method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfigMetadata.Builder setSampleRate(int);
4458  }
4459
4460  public final class BluetoothLeAudioContentMetadata implements android.os.Parcelable {
4461    method public int describeContents();
4462    method @NonNull public static android.bluetooth.BluetoothLeAudioContentMetadata fromRawBytes(@NonNull byte[]);
4463    method @Nullable public String getLanguage();
4464    method @Nullable public String getProgramInfo();
4465    method @NonNull public byte[] getRawMetadata();
4466    method public void writeToParcel(android.os.Parcel, int);
4467    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothLeAudioContentMetadata> CREATOR;
4468  }
4469
4470  public static final class BluetoothLeAudioContentMetadata.Builder {
4471    ctor public BluetoothLeAudioContentMetadata.Builder();
4472    ctor public BluetoothLeAudioContentMetadata.Builder(@NonNull android.bluetooth.BluetoothLeAudioContentMetadata);
4473    method @NonNull public android.bluetooth.BluetoothLeAudioContentMetadata build();
4474    method @NonNull public android.bluetooth.BluetoothLeAudioContentMetadata.Builder setLanguage(@Nullable String);
4475    method @NonNull public android.bluetooth.BluetoothLeAudioContentMetadata.Builder setProgramInfo(@Nullable String);
4476  }
4477
4478  public final class BluetoothLeBroadcast implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
4479    method public void close();
4480    method protected void finalize();
4481    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothLeBroadcastMetadata> getAllBroadcastMetadata();
4482    method @NonNull public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
4483    method public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
4484    method @NonNull public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(@NonNull int[]);
4485    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public int getMaximumNumberOfBroadcasts();
4486    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public int getMaximumStreamsPerBroadcast();
4487    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public int getMaximumSubgroupsPerBroadcast();
4488    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isPlaying(int);
4489    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);
4490    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void startBroadcast(@NonNull android.bluetooth.BluetoothLeAudioContentMetadata, @Nullable byte[]);
4491    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void startBroadcast(@NonNull android.bluetooth.BluetoothLeBroadcastSettings);
4492    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void stopBroadcast(int);
4493    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void unregisterCallback(@NonNull android.bluetooth.BluetoothLeBroadcast.Callback);
4494    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void updateBroadcast(int, @NonNull android.bluetooth.BluetoothLeAudioContentMetadata);
4495    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void updateBroadcast(int, @NonNull android.bluetooth.BluetoothLeBroadcastSettings);
4496  }
4497
4498  public static interface BluetoothLeBroadcast.Callback {
4499    method public void onBroadcastMetadataChanged(int, @NonNull android.bluetooth.BluetoothLeBroadcastMetadata);
4500    method public void onBroadcastStartFailed(int);
4501    method public void onBroadcastStarted(int, int);
4502    method public void onBroadcastStopFailed(int);
4503    method public void onBroadcastStopped(int, int);
4504    method public void onBroadcastUpdateFailed(int, int);
4505    method public void onBroadcastUpdated(int, int);
4506    method public void onPlaybackStarted(int, int);
4507    method public void onPlaybackStopped(int, int);
4508  }
4509
4510  public final class BluetoothLeBroadcastAssistant implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
4511    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);
4512    method public void close();
4513    method protected void finalize();
4514    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);
4515    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
4516    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
4517    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
4518    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(@NonNull int[]);
4519    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getMaximumSourceCapacity(@NonNull android.bluetooth.BluetoothDevice);
4520    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public android.bluetooth.BluetoothLeBroadcastMetadata getSourceMetadata(@NonNull android.bluetooth.BluetoothDevice, @IntRange(from=0, to=255) int);
4521    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isSearchInProgress();
4522    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);
4523    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);
4524    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void removeSource(@NonNull android.bluetooth.BluetoothDevice, int);
4525    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
4526    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void startSearchingForSources(@NonNull java.util.List<android.bluetooth.le.ScanFilter>);
4527    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void stopSearchingForSources();
4528    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void unregisterCallback(@NonNull android.bluetooth.BluetoothLeBroadcastAssistant.Callback);
4529    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";
4530  }
4531
4532  public static interface BluetoothLeBroadcastAssistant.Callback {
4533    method public void onReceiveStateChanged(@NonNull android.bluetooth.BluetoothDevice, int, @NonNull android.bluetooth.BluetoothLeBroadcastReceiveState);
4534    method public void onSearchStartFailed(int);
4535    method public void onSearchStarted(int);
4536    method public void onSearchStopFailed(int);
4537    method public void onSearchStopped(int);
4538    method public void onSourceAddFailed(@NonNull android.bluetooth.BluetoothDevice, @NonNull android.bluetooth.BluetoothLeBroadcastMetadata, int);
4539    method public void onSourceAdded(@NonNull android.bluetooth.BluetoothDevice, int, int);
4540    method public void onSourceFound(@NonNull android.bluetooth.BluetoothLeBroadcastMetadata);
4541    method public default void onSourceLost(int);
4542    method public void onSourceModified(@NonNull android.bluetooth.BluetoothDevice, int, int);
4543    method public void onSourceModifyFailed(@NonNull android.bluetooth.BluetoothDevice, int, int);
4544    method public void onSourceRemoveFailed(@NonNull android.bluetooth.BluetoothDevice, int, int);
4545    method public void onSourceRemoved(@NonNull android.bluetooth.BluetoothDevice, int, int);
4546  }
4547
4548  public final class BluetoothLeBroadcastChannel implements android.os.Parcelable {
4549    method public int describeContents();
4550    method public int getChannelIndex();
4551    method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfigMetadata getCodecMetadata();
4552    method public boolean isSelected();
4553    method public void writeToParcel(android.os.Parcel, int);
4554    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothLeBroadcastChannel> CREATOR;
4555  }
4556
4557  public static final class BluetoothLeBroadcastChannel.Builder {
4558    ctor public BluetoothLeBroadcastChannel.Builder();
4559    ctor public BluetoothLeBroadcastChannel.Builder(@NonNull android.bluetooth.BluetoothLeBroadcastChannel);
4560    method @NonNull public android.bluetooth.BluetoothLeBroadcastChannel build();
4561    method @NonNull public android.bluetooth.BluetoothLeBroadcastChannel.Builder setChannelIndex(int);
4562    method @NonNull public android.bluetooth.BluetoothLeBroadcastChannel.Builder setCodecMetadata(@NonNull android.bluetooth.BluetoothLeAudioCodecConfigMetadata);
4563    method @NonNull public android.bluetooth.BluetoothLeBroadcastChannel.Builder setSelected(boolean);
4564  }
4565
4566  public final class BluetoothLeBroadcastMetadata implements android.os.Parcelable {
4567    method public int describeContents();
4568    method public int getAudioConfigQuality();
4569    method @Nullable public byte[] getBroadcastCode();
4570    method public int getBroadcastId();
4571    method @Nullable public String getBroadcastName();
4572    method public int getPaSyncInterval();
4573    method @IntRange(from=0, to=16777215) public int getPresentationDelayMicros();
4574    method @Nullable public android.bluetooth.BluetoothLeAudioContentMetadata getPublicBroadcastMetadata();
4575    method @IntRange(from=0xffffff81, to=127) public int getRssi();
4576    method public int getSourceAddressType();
4577    method public int getSourceAdvertisingSid();
4578    method @NonNull public android.bluetooth.BluetoothDevice getSourceDevice();
4579    method @NonNull public java.util.List<android.bluetooth.BluetoothLeBroadcastSubgroup> getSubgroups();
4580    method public boolean isEncrypted();
4581    method public boolean isPublicBroadcast();
4582    method public void writeToParcel(android.os.Parcel, int);
4583    field public static final int AUDIO_CONFIG_QUALITY_HIGH = 2; // 0x2
4584    field public static final int AUDIO_CONFIG_QUALITY_NONE = 0; // 0x0
4585    field public static final int AUDIO_CONFIG_QUALITY_STANDARD = 1; // 0x1
4586    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothLeBroadcastMetadata> CREATOR;
4587    field public static final int PA_SYNC_INTERVAL_UNKNOWN = 65535; // 0xffff
4588    field public static final int RSSI_UNKNOWN = 127; // 0x7f
4589  }
4590
4591  public static final class BluetoothLeBroadcastMetadata.Builder {
4592    ctor public BluetoothLeBroadcastMetadata.Builder();
4593    ctor public BluetoothLeBroadcastMetadata.Builder(@NonNull android.bluetooth.BluetoothLeBroadcastMetadata);
4594    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder addSubgroup(@NonNull android.bluetooth.BluetoothLeBroadcastSubgroup);
4595    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata build();
4596    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder clearSubgroup();
4597    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setAudioConfigQuality(int);
4598    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setBroadcastCode(@Nullable byte[]);
4599    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setBroadcastId(int);
4600    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setBroadcastName(@Nullable String);
4601    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setEncrypted(boolean);
4602    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setPaSyncInterval(int);
4603    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setPresentationDelayMicros(@IntRange(from=0, to=16777215) int);
4604    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setPublicBroadcast(boolean);
4605    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setPublicBroadcastMetadata(@Nullable android.bluetooth.BluetoothLeAudioContentMetadata);
4606    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setRssi(@IntRange(from=0xffffff81, to=127) int);
4607    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setSourceAdvertisingSid(int);
4608    method @NonNull public android.bluetooth.BluetoothLeBroadcastMetadata.Builder setSourceDevice(@NonNull android.bluetooth.BluetoothDevice, int);
4609  }
4610
4611  public final class BluetoothLeBroadcastReceiveState implements android.os.Parcelable {
4612    method public int describeContents();
4613    method @Nullable public byte[] getBadCode();
4614    method public int getBigEncryptionState();
4615    method @NonNull public java.util.List<java.lang.Long> getBisSyncState();
4616    method public int getBroadcastId();
4617    method public int getNumSubgroups();
4618    method public int getPaSyncState();
4619    method public int getSourceAddressType();
4620    method public int getSourceAdvertisingSid();
4621    method @NonNull public android.bluetooth.BluetoothDevice getSourceDevice();
4622    method @IntRange(from=0, to=255) public int getSourceId();
4623    method @NonNull public java.util.List<android.bluetooth.BluetoothLeAudioContentMetadata> getSubgroupMetadata();
4624    method public void writeToParcel(android.os.Parcel, int);
4625    field public static final int BIG_ENCRYPTION_STATE_BAD_CODE = 3; // 0x3
4626    field public static final int BIG_ENCRYPTION_STATE_CODE_REQUIRED = 1; // 0x1
4627    field public static final int BIG_ENCRYPTION_STATE_DECRYPTING = 2; // 0x2
4628    field public static final int BIG_ENCRYPTION_STATE_NOT_ENCRYPTED = 0; // 0x0
4629    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothLeBroadcastReceiveState> CREATOR;
4630    field public static final int PA_SYNC_STATE_FAILED_TO_SYNCHRONIZE = 3; // 0x3
4631    field public static final int PA_SYNC_STATE_IDLE = 0; // 0x0
4632    field public static final int PA_SYNC_STATE_NO_PAST = 4; // 0x4
4633    field public static final int PA_SYNC_STATE_SYNCHRONIZED = 2; // 0x2
4634    field public static final int PA_SYNC_STATE_SYNCINFO_REQUEST = 1; // 0x1
4635  }
4636
4637  public final class BluetoothLeBroadcastSettings implements android.os.Parcelable {
4638    method public int describeContents();
4639    method @Nullable public byte[] getBroadcastCode();
4640    method @Nullable public String getBroadcastName();
4641    method @Nullable public android.bluetooth.BluetoothLeAudioContentMetadata getPublicBroadcastMetadata();
4642    method @NonNull public java.util.List<android.bluetooth.BluetoothLeBroadcastSubgroupSettings> getSubgroupSettings();
4643    method public boolean isPublicBroadcast();
4644    method public void writeToParcel(android.os.Parcel, int);
4645    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothLeBroadcastSettings> CREATOR;
4646  }
4647
4648  public static final class BluetoothLeBroadcastSettings.Builder {
4649    ctor public BluetoothLeBroadcastSettings.Builder();
4650    ctor public BluetoothLeBroadcastSettings.Builder(@NonNull android.bluetooth.BluetoothLeBroadcastSettings);
4651    method @NonNull public android.bluetooth.BluetoothLeBroadcastSettings.Builder addSubgroupSettings(@NonNull android.bluetooth.BluetoothLeBroadcastSubgroupSettings);
4652    method @NonNull public android.bluetooth.BluetoothLeBroadcastSettings build();
4653    method @NonNull public android.bluetooth.BluetoothLeBroadcastSettings.Builder clearSubgroupSettings();
4654    method @NonNull public android.bluetooth.BluetoothLeBroadcastSettings.Builder setBroadcastCode(@Nullable byte[]);
4655    method @NonNull public android.bluetooth.BluetoothLeBroadcastSettings.Builder setBroadcastName(@Nullable String);
4656    method @NonNull public android.bluetooth.BluetoothLeBroadcastSettings.Builder setPublicBroadcast(boolean);
4657    method @NonNull public android.bluetooth.BluetoothLeBroadcastSettings.Builder setPublicBroadcastMetadata(@Nullable android.bluetooth.BluetoothLeAudioContentMetadata);
4658  }
4659
4660  public final class BluetoothLeBroadcastSubgroup implements android.os.Parcelable {
4661    method public int describeContents();
4662    method @NonNull public java.util.List<android.bluetooth.BluetoothLeBroadcastChannel> getChannels();
4663    method public long getCodecId();
4664    method @NonNull public android.bluetooth.BluetoothLeAudioCodecConfigMetadata getCodecSpecificConfig();
4665    method @NonNull public android.bluetooth.BluetoothLeAudioContentMetadata getContentMetadata();
4666    method public boolean hasChannelPreference();
4667    method public void writeToParcel(android.os.Parcel, int);
4668    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothLeBroadcastSubgroup> CREATOR;
4669  }
4670
4671  public static final class BluetoothLeBroadcastSubgroup.Builder {
4672    ctor public BluetoothLeBroadcastSubgroup.Builder();
4673    ctor public BluetoothLeBroadcastSubgroup.Builder(@NonNull android.bluetooth.BluetoothLeBroadcastSubgroup);
4674    method @NonNull public android.bluetooth.BluetoothLeBroadcastSubgroup.Builder addChannel(@NonNull android.bluetooth.BluetoothLeBroadcastChannel);
4675    method @NonNull public android.bluetooth.BluetoothLeBroadcastSubgroup build();
4676    method @NonNull public android.bluetooth.BluetoothLeBroadcastSubgroup.Builder clearChannel();
4677    method @NonNull public android.bluetooth.BluetoothLeBroadcastSubgroup.Builder setCodecId(long);
4678    method @NonNull public android.bluetooth.BluetoothLeBroadcastSubgroup.Builder setCodecSpecificConfig(@NonNull android.bluetooth.BluetoothLeAudioCodecConfigMetadata);
4679    method @NonNull public android.bluetooth.BluetoothLeBroadcastSubgroup.Builder setContentMetadata(@NonNull android.bluetooth.BluetoothLeAudioContentMetadata);
4680  }
4681
4682  public final class BluetoothLeBroadcastSubgroupSettings implements android.os.Parcelable {
4683    method public int describeContents();
4684    method @NonNull public android.bluetooth.BluetoothLeAudioContentMetadata getContentMetadata();
4685    method public int getPreferredQuality();
4686    method public void writeToParcel(android.os.Parcel, int);
4687    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothLeBroadcastSubgroupSettings> CREATOR;
4688    field public static final int QUALITY_HIGH = 1; // 0x1
4689    field public static final int QUALITY_STANDARD = 0; // 0x0
4690  }
4691
4692  public static final class BluetoothLeBroadcastSubgroupSettings.Builder {
4693    ctor public BluetoothLeBroadcastSubgroupSettings.Builder();
4694    ctor public BluetoothLeBroadcastSubgroupSettings.Builder(@NonNull android.bluetooth.BluetoothLeBroadcastSubgroupSettings);
4695    method @NonNull public android.bluetooth.BluetoothLeBroadcastSubgroupSettings build();
4696    method @NonNull public android.bluetooth.BluetoothLeBroadcastSubgroupSettings.Builder setContentMetadata(@NonNull android.bluetooth.BluetoothLeAudioContentMetadata);
4697    method @NonNull public android.bluetooth.BluetoothLeBroadcastSubgroupSettings.Builder setPreferredQuality(int);
4698  }
4699
4700  public final class BluetoothMap implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
4701    method public void close();
4702    method protected void finalize();
4703    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
4704    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
4705    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(android.bluetooth.BluetoothDevice);
4706    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]);
4707    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
4708    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.map.profile.action.CONNECTION_STATE_CHANGED";
4709  }
4710
4711  public final class BluetoothMapClient implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
4712    method public void close();
4713    method protected void finalize();
4714    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
4715    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
4716    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
4717    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(@NonNull int[]);
4718    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);
4719    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
4720    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";
4721  }
4722
4723  public final class BluetoothPan implements android.bluetooth.BluetoothProfile {
4724    method protected void finalize();
4725    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
4726    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
4727    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]);
4728    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public boolean isTetheringOn();
4729    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED, android.Manifest.permission.TETHER_PRIVILEGED}) public void setBluetoothTethering(boolean);
4730    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
4731    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.pan.profile.action.CONNECTION_STATE_CHANGED";
4732    field public static final String ACTION_TETHERING_STATE_CHANGED = "android.bluetooth.action.TETHERING_STATE_CHANGED";
4733    field public static final String EXTRA_LOCAL_ROLE = "android.bluetooth.pan.extra.LOCAL_ROLE";
4734    field public static final String EXTRA_TETHERING_STATE = "android.bluetooth.extra.TETHERING_STATE";
4735    field public static final int LOCAL_NAP_ROLE = 1; // 0x1
4736    field public static final int LOCAL_PANU_ROLE = 2; // 0x2
4737    field public static final int PAN_ROLE_NONE = 0; // 0x0
4738    field public static final int REMOTE_NAP_ROLE = 1; // 0x1
4739    field public static final int REMOTE_PANU_ROLE = 2; // 0x2
4740    field public static final int TETHERING_STATE_OFF = 1; // 0x1
4741    field public static final int TETHERING_STATE_ON = 2; // 0x2
4742  }
4743
4744  public class BluetoothPbap implements android.bluetooth.BluetoothProfile {
4745    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
4746    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
4747    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]);
4748    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
4749    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.pbap.profile.action.CONNECTION_STATE_CHANGED";
4750  }
4751
4752  public final class BluetoothPbapClient implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
4753    method public void close();
4754    method protected void finalize();
4755    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
4756    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
4757    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
4758    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(@NonNull int[]);
4759    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
4760    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";
4761  }
4762
4763  public interface BluetoothProfile {
4764    method @NonNull public static String getConnectionStateName(int);
4765    method @NonNull public static String getProfileName(int);
4766    field public static final int A2DP_SINK = 11; // 0xb
4767    field public static final int AVRCP_CONTROLLER = 12; // 0xc
4768    field public static final int CONNECTION_POLICY_ALLOWED = 100; // 0x64
4769    field public static final int CONNECTION_POLICY_FORBIDDEN = 0; // 0x0
4770    field public static final int CONNECTION_POLICY_UNKNOWN = -1; // 0xffffffff
4771    field public static final int HEADSET_CLIENT = 16; // 0x10
4772    field public static final int HID_HOST = 4; // 0x4
4773    field public static final int LE_AUDIO_BROADCAST = 26; // 0x1a
4774    field public static final int LE_AUDIO_BROADCAST_ASSISTANT = 29; // 0x1d
4775    field public static final int MAP = 9; // 0x9
4776    field public static final int MAP_CLIENT = 18; // 0x12
4777    field public static final int OPP = 20; // 0x14
4778    field public static final int PAN = 5; // 0x5
4779    field public static final int PBAP = 6; // 0x6
4780    field public static final int PBAP_CLIENT = 17; // 0x11
4781    field @Deprecated public static final int PRIORITY_OFF = 0; // 0x0
4782    field @Deprecated public static final int PRIORITY_ON = 100; // 0x64
4783    field public static final int VOLUME_CONTROL = 23; // 0x17
4784  }
4785
4786  public final class BluetoothQualityReport implements android.os.Parcelable {
4787    method public int describeContents();
4788    method @Nullable public android.bluetooth.BluetoothClass getBluetoothClass();
4789    method @Nullable public android.bluetooth.BluetoothQualityReport.BqrCommon getBqrCommon();
4790    method @Nullable public android.os.Parcelable getBqrEvent();
4791    method public int getLmpSubVersion();
4792    method public int getLmpVersion();
4793    method public int getManufacturerId();
4794    method public int getQualityReportId();
4795    method @Nullable public String getRemoteAddress();
4796    method @Nullable public String getRemoteName();
4797    method @NonNull public static String qualityReportIdToString(int);
4798    method public void writeToParcel(@NonNull android.os.Parcel, int);
4799    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothQualityReport> CREATOR;
4800    field public static final int QUALITY_REPORT_ID_A2DP_CHOPPY = 3; // 0x3
4801    field public static final int QUALITY_REPORT_ID_APPROACH_LSTO = 2; // 0x2
4802    field public static final int QUALITY_REPORT_ID_CONN_FAIL = 8; // 0x8
4803    field public static final int QUALITY_REPORT_ID_ENERGY_MONITOR = 6; // 0x6
4804    field public static final int QUALITY_REPORT_ID_MONITOR = 1; // 0x1
4805    field public static final int QUALITY_REPORT_ID_RF_STATS = 9; // 0x9
4806    field public static final int QUALITY_REPORT_ID_SCO_CHOPPY = 4; // 0x4
4807  }
4808
4809  public static final class BluetoothQualityReport.BqrCommon implements android.os.Parcelable {
4810    method @NonNull public static String connectionRoleToString(int);
4811    method public int describeContents();
4812    method public int getAfhSelectUnidealChannelCount();
4813    method public int getCalFailedItemCount();
4814    method public int getCoexInfoMask();
4815    method public int getConnectionHandle();
4816    method public int getConnectionRole();
4817    method public long getCrcErrorPackets();
4818    method public long getFlowOffCount();
4819    method public long getLastFlowOnTimestamp();
4820    method public long getLastTxAckTimestamp();
4821    method public int getLsto();
4822    method public long getNakCount();
4823    method public long getNoRxCount();
4824    method public long getOverflowCount();
4825    method public int getPacketType();
4826    method public long getPiconetClock();
4827    method public long getRetransmissionCount();
4828    method public int getRssi();
4829    method public long getRxDupPackets();
4830    method public long getRxUnRecvPackets();
4831    method public int getSnr();
4832    method public long getTxFlushPackets();
4833    method public long getTxLastSubeventPackets();
4834    method public int getTxPowerLevel();
4835    method public long getTxTotalPackets();
4836    method public long getTxUnackPackets();
4837    method public long getUnderflowCount();
4838    method public int getUnusedAfhChannelCount();
4839    method @Nullable public static String packetTypeToString(int);
4840    method public void writeToParcel(@NonNull android.os.Parcel, int);
4841    field public static final int CONNECTION_ROLE_CENTRAL = 0; // 0x0
4842    field public static final int CONNECTION_ROLE_PERIPHERAL = 1; // 0x1
4843    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothQualityReport.BqrCommon> CREATOR;
4844  }
4845
4846  public static final class BluetoothQualityReport.BqrConnectFail implements android.os.Parcelable {
4847    method @NonNull public static String connectFailIdToString(int);
4848    method public int describeContents();
4849    method public int getFailReason();
4850    method public void writeToParcel(@NonNull android.os.Parcel, int);
4851    field public static final int CONNECT_FAIL_ID_ACL_ALREADY_EXIST = 11; // 0xb
4852    field public static final int CONNECT_FAIL_ID_CONNECTION_TIMEOUT = 8; // 0x8
4853    field public static final int CONNECT_FAIL_ID_CONTROLLER_BUSY = 58; // 0x3a
4854    field public static final int CONNECT_FAIL_ID_NO_ERROR = 0; // 0x0
4855    field public static final int CONNECT_FAIL_ID_PAGE_TIMEOUT = 4; // 0x4
4856    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothQualityReport.BqrConnectFail> CREATOR;
4857  }
4858
4859  public static final class BluetoothQualityReport.BqrEnergyMonitor implements android.os.Parcelable {
4860    method public int describeContents();
4861    method public long getActiveStateEnterCount();
4862    method public long getActiveStateTotalTimeMillis();
4863    method public int getAverageCurrentConsumptionMicroamps();
4864    method public int getBredrAverageTxPowerLeveldBm();
4865    method public long getBredrRxStateEnterCount();
4866    method public long getBredrRxTotalTimeMillis();
4867    method public long getBredrTxStateEnterCount();
4868    method public long getBredrTxTotalTimeMillis();
4869    method public long getIdleStateEnterCount();
4870    method public long getIdleStateTotalTimeMillis();
4871    method public int getLeAverageTxPowerLeveldBm();
4872    method public long getLeRxStateEnterCount();
4873    method public long getLeRxTotalTimeMillis();
4874    method public long getLeTsTotalTimeMillis();
4875    method public long getLeTxStateEnterCount();
4876    method public long getPowerDataTotalTimeMillis();
4877    method public long getRxDualChainActiveDurationMillis();
4878    method public long getRxSingleChainActiveDurationMillis();
4879    method public long getTxExternalPaDualChainActiveDurationMillis();
4880    method public long getTxExternalPaSingleChainActiveDurationMillis();
4881    method public long getTxInternalPaDualChainActiveDurationMillis();
4882    method public long getTxInternalPaSingleChainActiveDurationMillis();
4883    method public void writeToParcel(@NonNull android.os.Parcel, int);
4884    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothQualityReport.BqrEnergyMonitor> CREATOR;
4885  }
4886
4887  public static final class BluetoothQualityReport.BqrRfStats implements android.os.Parcelable {
4888    method public int describeContents();
4889    method public int getExtensionInfo();
4890    method public long getPacketsWithRssi50To55dBm();
4891    method public long getPacketsWithRssi55To60dBm();
4892    method public long getPacketsWithRssi60To65dBm();
4893    method public long getPacketsWithRssi65To70dBm();
4894    method public long getPacketsWithRssi70To75dBm();
4895    method public long getPacketsWithRssi75To80dBm();
4896    method public long getPacketsWithRssi80To85dBm();
4897    method public long getPacketsWithRssi85To90dBm();
4898    method public long getPacketsWithRssiAboveMinus50dBm();
4899    method public long getPacketsWithRssiBelowMinus90dBm();
4900    method public long getPacketsWithRssiDelta2To5dBm();
4901    method public long getPacketsWithRssiDelta5To8dBm();
4902    method public long getPacketsWithRssiDelta8To11dBm();
4903    method public long getPacketsWithRssiDeltaAbove11dBm();
4904    method public long getPacketsWithRssiDeltaBelow2dBm();
4905    method public long getPerformanceDurationMillis();
4906    method public long getTxPowerExternalPaBeamformingCount();
4907    method public long getTxPowerExternalPaDiversityCount();
4908    method public long getTxPowerInternalPaBeamformingCount();
4909    method public long getTxPowerInternalPaDiversityCount();
4910    method public void writeToParcel(@NonNull android.os.Parcel, int);
4911    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothQualityReport.BqrRfStats> CREATOR;
4912  }
4913
4914  public static final class BluetoothQualityReport.BqrVsA2dpChoppy implements android.os.Parcelable {
4915    method public int describeContents();
4916    method public int getAclTxQueueLength();
4917    method public long getArrivalTime();
4918    method public int getGlitchCount();
4919    method public int getLinkQuality();
4920    method public int getRxCxmDenials();
4921    method public long getScheduleTime();
4922    method public int getTxCxmDenials();
4923    method @Nullable public static String linkQualityToString(int);
4924    method public void writeToParcel(@NonNull android.os.Parcel, int);
4925    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothQualityReport.BqrVsA2dpChoppy> CREATOR;
4926  }
4927
4928  public static final class BluetoothQualityReport.BqrVsLsto implements android.os.Parcelable {
4929    method @Nullable public static String connStateToString(int);
4930    method public int describeContents();
4931    method public long getBasebandStats();
4932    method public int getConnState();
4933    method public int getCxmDenials();
4934    method public long getLastTxAckTimestamp();
4935    method public long getNativeClock();
4936    method public int getRfLoss();
4937    method public long getSlotsUsed();
4938    method public int getTxSkipped();
4939    method public void writeToParcel(@NonNull android.os.Parcel, int);
4940    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothQualityReport.BqrVsLsto> CREATOR;
4941  }
4942
4943  public static final class BluetoothQualityReport.BqrVsScoChoppy implements android.os.Parcelable {
4944    method @Nullable public static String airFormatToString(int);
4945    method public int describeContents();
4946    method public int getAirFormat();
4947    method public int getGlitchCount();
4948    method public int getGoodRxFrameCount();
4949    method public int getInstanceCount();
4950    method public int getIntervalEsco();
4951    method public int getLateDispatch();
4952    method public int getLpaIntrMiss();
4953    method public int getMicIntrMiss();
4954    method public int getMissedInstanceCount();
4955    method public int getPlcDiscardCount();
4956    method public int getPlcFillCount();
4957    method public int getRxCxmDenials();
4958    method public int getRxRetransmitSlotCount();
4959    method public int getSprIntrMiss();
4960    method public int getTxAbortCount();
4961    method public int getTxCxmDenials();
4962    method public int getTxRetransmitSlotCount();
4963    method public int getWindowEsco();
4964    method public void writeToParcel(@NonNull android.os.Parcel, int);
4965    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothQualityReport.BqrVsScoChoppy> CREATOR;
4966  }
4967
4968  public static final class BluetoothQualityReport.Builder {
4969    ctor public BluetoothQualityReport.Builder(@NonNull byte[]);
4970    method @NonNull public android.bluetooth.BluetoothQualityReport build();
4971    method @NonNull public android.bluetooth.BluetoothQualityReport.Builder setBluetoothClass(@Nullable android.bluetooth.BluetoothClass);
4972    method @NonNull public android.bluetooth.BluetoothQualityReport.Builder setLmpSubVersion(int);
4973    method @NonNull public android.bluetooth.BluetoothQualityReport.Builder setLmpVersion(int);
4974    method @NonNull public android.bluetooth.BluetoothQualityReport.Builder setManufacturerId(int);
4975    method @NonNull public android.bluetooth.BluetoothQualityReport.Builder setRemoteAddress(@Nullable String);
4976    method @NonNull public android.bluetooth.BluetoothQualityReport.Builder setRemoteName(@Nullable String);
4977  }
4978
4979  public final class BluetoothSap implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
4980    method public void close();
4981    method protected void finalize();
4982    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) 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(android.Manifest.permission.BLUETOOTH_CONNECT) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]);
4986    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
4987    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.sap.profile.action.CONNECTION_STATE_CHANGED";
4988  }
4989
4990  public final class BluetoothSinkAudioPolicy implements android.os.Parcelable {
4991    method public int describeContents();
4992    method public int getActiveDevicePolicyAfterConnection();
4993    method public int getCallEstablishPolicy();
4994    method public int getInBandRingtonePolicy();
4995    method public void writeToParcel(@NonNull android.os.Parcel, int);
4996    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BluetoothSinkAudioPolicy> CREATOR;
4997    field public static final int POLICY_ALLOWED = 1; // 0x1
4998    field public static final int POLICY_NOT_ALLOWED = 2; // 0x2
4999    field public static final int POLICY_UNCONFIGURED = 0; // 0x0
5000  }
5001
5002  public static final class BluetoothSinkAudioPolicy.Builder {
5003    ctor public BluetoothSinkAudioPolicy.Builder();
5004    ctor public BluetoothSinkAudioPolicy.Builder(@NonNull android.bluetooth.BluetoothSinkAudioPolicy);
5005    method @NonNull public android.bluetooth.BluetoothSinkAudioPolicy build();
5006    method @NonNull public android.bluetooth.BluetoothSinkAudioPolicy.Builder setActiveDevicePolicyAfterConnection(int);
5007    method @NonNull public android.bluetooth.BluetoothSinkAudioPolicy.Builder setCallEstablishPolicy(int);
5008    method @NonNull public android.bluetooth.BluetoothSinkAudioPolicy.Builder setInBandRingtonePolicy(int);
5009  }
5010
5011  public final class BluetoothSocket implements java.io.Closeable {
5012    method public long getSocketId() throws java.io.IOException;
5013  }
5014
5015  public final class BluetoothSocketSettings {
5016    method public int getDataPath();
5017    method public long getEndpointId();
5018    method public long getHubId();
5019    method public int getRequestedMaximumPacketSize();
5020    method @NonNull public String getSocketName();
5021    field public static final int DATA_PATH_HARDWARE_OFFLOAD = 1; // 0x1
5022    field public static final int DATA_PATH_NO_OFFLOAD = 0; // 0x0
5023  }
5024
5025  public static final class BluetoothSocketSettings.Builder {
5026    method @NonNull public android.bluetooth.BluetoothSocketSettings.Builder setDataPath(int);
5027    method @NonNull public android.bluetooth.BluetoothSocketSettings.Builder setEndpointId(long);
5028    method @NonNull public android.bluetooth.BluetoothSocketSettings.Builder setHubId(long);
5029    method @NonNull public android.bluetooth.BluetoothSocketSettings.Builder setRequestedMaximumPacketSize(int);
5030    method @NonNull public android.bluetooth.BluetoothSocketSettings.Builder setSocketName(@NonNull String);
5031  }
5032
5033  public final class BluetoothStatusCodes {
5034    field public static final int ALLOWED = 400; // 0x190
5035    field public static final int ERROR_ALREADY_IN_TARGET_STATE = 26; // 0x1a
5036    field public static final int ERROR_ANOTHER_ACTIVE_OOB_REQUEST = 1000; // 0x3e8
5037    field public static final int ERROR_ANOTHER_ACTIVE_REQUEST = 29; // 0x1d
5038    field public static final int ERROR_AUDIO_DEVICE_ALREADY_CONNECTED = 1116; // 0x45c
5039    field public static final int ERROR_AUDIO_DEVICE_ALREADY_DISCONNECTED = 1117; // 0x45d
5040    field public static final int ERROR_AUDIO_ROUTE_BLOCKED = 1118; // 0x45e
5041    field public static final int ERROR_BAD_PARAMETERS = 21; // 0x15
5042    field public static final int ERROR_CALLBACK_NOT_REGISTERED = 28; // 0x1c
5043    field public static final int ERROR_CALL_ACTIVE = 1119; // 0x45f
5044    field public static final int ERROR_CSIP_GROUP_LOCKED_BY_OTHER = 1208; // 0x4b8
5045    field public static final int ERROR_CSIP_INVALID_GROUP_ID = 1207; // 0x4b7
5046    field public static final int ERROR_CSIP_LOCKED_GROUP_MEMBER_LOST = 1209; // 0x4b9
5047    field public static final int ERROR_DISTANCE_MEASUREMENT_INTERNAL = 1301; // 0x515
5048    field public static final int ERROR_HAP_INVALID_PRESET_INDEX = 1211; // 0x4bb
5049    field public static final int ERROR_HAP_PRESET_NAME_TOO_LONG = 1210; // 0x4ba
5050    field public static final int ERROR_HARDWARE_GENERIC = 20; // 0x14
5051    field public static final int ERROR_LE_BROADCAST_ASSISTANT_DUPLICATE_ADDITION = 1203; // 0x4b3
5052    field public static final int ERROR_LE_BROADCAST_ASSISTANT_INVALID_SOURCE_ID = 1202; // 0x4b2
5053    field public static final int ERROR_LE_BROADCAST_INVALID_BROADCAST_ID = 1200; // 0x4b0
5054    field public static final int ERROR_LE_BROADCAST_INVALID_CODE = 1201; // 0x4b1
5055    field public static final int ERROR_LE_CONTENT_METADATA_INVALID_LANGUAGE = 1205; // 0x4b5
5056    field public static final int ERROR_LE_CONTENT_METADATA_INVALID_OTHER = 1206; // 0x4b6
5057    field public static final int ERROR_LE_CONTENT_METADATA_INVALID_PROGRAM_INFO = 1204; // 0x4b4
5058    field public static final int ERROR_LOCAL_NOT_ENOUGH_RESOURCES = 22; // 0x16
5059    field public static final int ERROR_NOT_ACTIVE_DEVICE = 12; // 0xc
5060    field public static final int ERROR_NOT_DUAL_MODE_AUDIO_DEVICE = 3000; // 0xbb8
5061    field public static final int ERROR_NO_ACTIVE_DEVICES = 13; // 0xd
5062    field public static final int ERROR_NO_LE_CONNECTION = 1300; // 0x514
5063    field public static final int ERROR_PROFILE_NOT_CONNECTED = 14; // 0xe
5064    field public static final int ERROR_REMOTE_LINK_ERROR = 25; // 0x19
5065    field public static final int ERROR_REMOTE_NOT_ENOUGH_RESOURCES = 23; // 0x17
5066    field public static final int ERROR_REMOTE_OPERATION_NOT_SUPPORTED = 27; // 0x1b
5067    field public static final int ERROR_REMOTE_OPERATION_REJECTED = 24; // 0x18
5068    field public static final int ERROR_TIMEOUT = 15; // 0xf
5069    field public static final int NOT_ALLOWED = 401; // 0x191
5070    field public static final int REASON_LOCAL_APP_REQUEST = 16; // 0x10
5071    field public static final int REASON_LOCAL_STACK_REQUEST = 17; // 0x11
5072    field public static final int REASON_REMOTE_REQUEST = 18; // 0x12
5073    field public static final int REASON_SYSTEM_POLICY = 19; // 0x13
5074    field public static final int RFCOMM_LISTENER_FAILED_TO_CLOSE_SERVER_SOCKET = 2004; // 0x7d4
5075    field public static final int RFCOMM_LISTENER_FAILED_TO_CREATE_SERVER_SOCKET = 2003; // 0x7d3
5076    field public static final int RFCOMM_LISTENER_NO_SOCKET_AVAILABLE = 2005; // 0x7d5
5077    field public static final int RFCOMM_LISTENER_OPERATION_FAILED_DIFFERENT_APP = 2002; // 0x7d2
5078    field public static final int RFCOMM_LISTENER_OPERATION_FAILED_NO_MATCHING_SERVICE_RECORD = 2001; // 0x7d1
5079    field public static final int RFCOMM_LISTENER_START_FAILED_UUID_IN_USE = 2000; // 0x7d0
5080  }
5081
5082  public final class BluetoothUuid {
5083    method public static boolean containsAnyUuid(@Nullable android.os.ParcelUuid[], @Nullable android.os.ParcelUuid[]);
5084    method @NonNull public static android.os.ParcelUuid parseUuidFrom(@Nullable byte[]);
5085    field @NonNull public static final android.os.ParcelUuid A2DP_SINK;
5086    field @NonNull public static final android.os.ParcelUuid A2DP_SOURCE;
5087    field @NonNull public static final android.os.ParcelUuid ADV_AUDIO_DIST;
5088    field @NonNull public static final android.os.ParcelUuid AVRCP;
5089    field @NonNull public static final android.os.ParcelUuid AVRCP_CONTROLLER;
5090    field @NonNull public static final android.os.ParcelUuid AVRCP_TARGET;
5091    field @NonNull public static final android.os.ParcelUuid BASE_UUID;
5092    field @NonNull public static final android.os.ParcelUuid BASS;
5093    field @NonNull public static final android.os.ParcelUuid BNEP;
5094    field @NonNull public static final android.os.ParcelUuid CAP;
5095    field @NonNull public static final android.os.ParcelUuid COORDINATED_SET;
5096    field @NonNull public static final android.os.ParcelUuid DIP;
5097    field @NonNull public static final android.os.ParcelUuid GENERIC_MEDIA_CONTROL;
5098    field @NonNull public static final android.os.ParcelUuid HAS;
5099    field @NonNull public static final android.os.ParcelUuid HEARING_AID;
5100    field @NonNull public static final android.os.ParcelUuid HFP;
5101    field @NonNull public static final android.os.ParcelUuid HFP_AG;
5102    field @NonNull public static final android.os.ParcelUuid HID;
5103    field @NonNull public static final android.os.ParcelUuid HOGP;
5104    field @NonNull public static final android.os.ParcelUuid HSP;
5105    field @NonNull public static final android.os.ParcelUuid HSP_AG;
5106    field @NonNull public static final android.os.ParcelUuid LE_AUDIO;
5107    field @NonNull public static final android.os.ParcelUuid MAP;
5108    field @NonNull public static final android.os.ParcelUuid MAS;
5109    field @NonNull public static final android.os.ParcelUuid MEDIA_CONTROL;
5110    field @NonNull public static final android.os.ParcelUuid MFI_HAS;
5111    field @NonNull public static final android.os.ParcelUuid MNS;
5112    field @NonNull public static final android.os.ParcelUuid NAP;
5113    field @NonNull public static final android.os.ParcelUuid OBEX_OBJECT_PUSH;
5114    field @NonNull public static final android.os.ParcelUuid PANU;
5115    field @NonNull public static final android.os.ParcelUuid PBAP_PCE;
5116    field @NonNull public static final android.os.ParcelUuid PBAP_PSE;
5117    field @NonNull public static final android.os.ParcelUuid SAP;
5118    field public static final int UUID_BYTES_128_BIT = 16; // 0x10
5119    field public static final int UUID_BYTES_16_BIT = 2; // 0x2
5120    field public static final int UUID_BYTES_32_BIT = 4; // 0x4
5121    field @NonNull public static final android.os.ParcelUuid VOLUME_CONTROL;
5122  }
5123
5124  public final class BluetoothVolumeControl implements java.lang.AutoCloseable android.bluetooth.BluetoothProfile {
5125    method public void close();
5126    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) protected void finalize();
5127    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.AudioInputControl> getAudioInputControlServices(@NonNull android.bluetooth.BluetoothDevice);
5128    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
5129    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice);
5130    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public int getConnectionState(android.bluetooth.BluetoothDevice);
5131    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]);
5132    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getNumberOfVolumeOffsetInstances(@NonNull android.bluetooth.BluetoothDevice);
5133    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean isVolumeOffsetAvailable(@NonNull android.bluetooth.BluetoothDevice);
5134    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);
5135    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public boolean setConnectionPolicy(@NonNull android.bluetooth.BluetoothDevice, int);
5136    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);
5137    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);
5138    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);
5139    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void unregisterCallback(@NonNull android.bluetooth.BluetoothVolumeControl.Callback);
5140    field @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.volume-control.profile.action.CONNECTION_STATE_CHANGED";
5141  }
5142
5143  public static interface BluetoothVolumeControl.Callback {
5144    method public default void onDeviceVolumeChanged(@NonNull android.bluetooth.BluetoothDevice, @IntRange(from=0, to=255) int);
5145    method public default void onVolumeOffsetAudioDescriptionChanged(@NonNull android.bluetooth.BluetoothDevice, @IntRange(from=1, to=255) int, @NonNull String);
5146    method public default void onVolumeOffsetAudioLocationChanged(@NonNull android.bluetooth.BluetoothDevice, @IntRange(from=1, to=255) int, @IntRange(from=0xffffff01, to=255) int);
5147    method @Deprecated public default void onVolumeOffsetChanged(@NonNull android.bluetooth.BluetoothDevice, @IntRange(from=0xffffff01, to=255) int);
5148    method public default void onVolumeOffsetChanged(@NonNull android.bluetooth.BluetoothDevice, @IntRange(from=1, to=255) int, @IntRange(from=0xffffff01, to=255) int);
5149  }
5150
5151  public final class BufferConstraint implements android.os.Parcelable {
5152    ctor public BufferConstraint(int, int, int);
5153    method public int describeContents();
5154    method public int getDefaultMillis();
5155    method public int getMaxMillis();
5156    method public int getMinMillis();
5157    method public void writeToParcel(@NonNull android.os.Parcel, int);
5158    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BufferConstraint> CREATOR;
5159  }
5160
5161  public final class BufferConstraints implements android.os.Parcelable {
5162    ctor public BufferConstraints(@NonNull java.util.List<android.bluetooth.BufferConstraint>);
5163    method public int describeContents();
5164    method @Nullable public android.bluetooth.BufferConstraint forCodec(int);
5165    method public void writeToParcel(@NonNull android.os.Parcel, int);
5166    field public static final int BUFFER_CODEC_MAX_NUM = 32; // 0x20
5167    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.BufferConstraints> CREATOR;
5168  }
5169
5170  public final class OobData implements android.os.Parcelable {
5171    method public int describeContents();
5172    method @NonNull public byte[] getClassOfDevice();
5173    method @NonNull public byte[] getClassicLength();
5174    method @NonNull public byte[] getConfirmationHash();
5175    method @NonNull public byte[] getDeviceAddressWithType();
5176    method @Nullable public byte[] getDeviceName();
5177    method @Nullable public byte[] getLeAppearance();
5178    method public int getLeDeviceRole();
5179    method public int getLeFlags();
5180    method @Nullable public byte[] getLeTemporaryKey();
5181    method @NonNull public byte[] getRandomizerHash();
5182    method public void writeToParcel(@NonNull android.os.Parcel, int);
5183    field public static final int CLASS_OF_DEVICE_OCTETS = 3; // 0x3
5184    field public static final int CONFIRMATION_OCTETS = 16; // 0x10
5185    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.OobData> CREATOR;
5186    field public static final int DEVICE_ADDRESS_OCTETS = 7; // 0x7
5187    field public static final int LE_APPEARANCE_OCTETS = 2; // 0x2
5188    field public static final int LE_DEVICE_FLAG_OCTETS = 1; // 0x1
5189    field public static final int LE_DEVICE_ROLE_BOTH_PREFER_CENTRAL = 3; // 0x3
5190    field public static final int LE_DEVICE_ROLE_BOTH_PREFER_PERIPHERAL = 2; // 0x2
5191    field public static final int LE_DEVICE_ROLE_CENTRAL_ONLY = 1; // 0x1
5192    field public static final int LE_DEVICE_ROLE_OCTETS = 1; // 0x1
5193    field public static final int LE_DEVICE_ROLE_PERIPHERAL_ONLY = 0; // 0x0
5194    field public static final int LE_FLAG_BREDR_NOT_SUPPORTED = 2; // 0x2
5195    field public static final int LE_FLAG_GENERAL_DISCOVERY_MODE = 1; // 0x1
5196    field public static final int LE_FLAG_LIMITED_DISCOVERY_MODE = 0; // 0x0
5197    field public static final int LE_FLAG_SIMULTANEOUS_CONTROLLER = 3; // 0x3
5198    field public static final int LE_FLAG_SIMULTANEOUS_HOST = 4; // 0x4
5199    field public static final int LE_TK_OCTETS = 16; // 0x10
5200    field public static final int OOB_LENGTH_OCTETS = 2; // 0x2
5201    field public static final int RANDOMIZER_OCTETS = 16; // 0x10
5202  }
5203
5204  public static final class OobData.ClassicBuilder {
5205    ctor public OobData.ClassicBuilder(@NonNull byte[], @NonNull byte[], @NonNull byte[]);
5206    method @NonNull public android.bluetooth.OobData build();
5207    method @NonNull public android.bluetooth.OobData.ClassicBuilder setClassOfDevice(@NonNull byte[]);
5208    method @NonNull public android.bluetooth.OobData.ClassicBuilder setDeviceName(@NonNull byte[]);
5209    method @NonNull public android.bluetooth.OobData.ClassicBuilder setRandomizerHash(@NonNull byte[]);
5210  }
5211
5212  public static final class OobData.LeBuilder {
5213    ctor public OobData.LeBuilder(@NonNull byte[], @NonNull byte[], int);
5214    method @NonNull public android.bluetooth.OobData build();
5215    method @NonNull public android.bluetooth.OobData.LeBuilder setDeviceName(@NonNull byte[]);
5216    method @NonNull public android.bluetooth.OobData.LeBuilder setLeFlags(int);
5217    method @NonNull public android.bluetooth.OobData.LeBuilder setLeTemporaryKey(@NonNull byte[]);
5218    method @NonNull public android.bluetooth.OobData.LeBuilder setRandomizerHash(@NonNull byte[]);
5219  }
5220
5221  public final class UidTraffic implements java.lang.Cloneable android.os.Parcelable {
5222    method public android.bluetooth.UidTraffic clone();
5223    method public int describeContents();
5224    method public long getRxBytes();
5225    method public long getTxBytes();
5226    method public int getUid();
5227    method public void writeToParcel(android.os.Parcel, int);
5228    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.UidTraffic> CREATOR;
5229  }
5230
5231}
5232
5233package android.bluetooth.le {
5234
5235  public final class AdvertiseSettings implements android.os.Parcelable {
5236    method public int getOwnAddressType();
5237  }
5238
5239  public static final class AdvertiseSettings.Builder {
5240    method @NonNull public android.bluetooth.le.AdvertiseSettings.Builder setOwnAddressType(int);
5241  }
5242
5243  public final class AdvertisingSet {
5244    method public int getAdvertiserId();
5245  }
5246
5247  public final class AdvertisingSetParameters implements android.os.Parcelable {
5248    method public int getOwnAddressType();
5249    method @Nullable public String getPeerAddress();
5250    method public int getPeerAddressType();
5251    method public boolean isDirected();
5252    method public boolean isHighDutyCycle();
5253    field public static final int ADDRESS_TYPE_DEFAULT = -1; // 0xffffffff
5254    field public static final int ADDRESS_TYPE_PUBLIC = 0; // 0x0
5255    field public static final int ADDRESS_TYPE_RANDOM = 1; // 0x1
5256    field public static final int ADDRESS_TYPE_RANDOM_NON_RESOLVABLE = 2; // 0x2
5257  }
5258
5259  public static final class AdvertisingSetParameters.Builder {
5260    method @NonNull public android.bluetooth.le.AdvertisingSetParameters.Builder setDirected(boolean);
5261    method @NonNull public android.bluetooth.le.AdvertisingSetParameters.Builder setHighDutyCycle(boolean);
5262    method @NonNull public android.bluetooth.le.AdvertisingSetParameters.Builder setOwnAddressType(int);
5263    method @NonNull public android.bluetooth.le.AdvertisingSetParameters.Builder setPeerAddress(@NonNull String);
5264    method @NonNull public android.bluetooth.le.AdvertisingSetParameters.Builder setPeerAddressType(int);
5265  }
5266
5267  public final class BluetoothLeAdvertiser {
5268    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);
5269  }
5270
5271  public final class BluetoothLeScanner {
5272    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.UPDATE_DEVICE_STATS}) public void startScanFromSource(android.os.WorkSource, android.bluetooth.le.ScanCallback);
5273    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);
5274  }
5275
5276  public final class ChannelSoundingParams implements android.os.Parcelable {
5277    method public int describeContents();
5278    method public int getCsSecurityLevel();
5279    method public int getLocationType();
5280    method public int getSightType();
5281    method public void writeToParcel(@NonNull android.os.Parcel, int);
5282    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.ChannelSoundingParams> CREATOR;
5283    field public static final int CS_SECURITY_LEVEL_FOUR = 4; // 0x4
5284    field public static final int CS_SECURITY_LEVEL_ONE = 1; // 0x1
5285    field public static final int CS_SECURITY_LEVEL_THREE = 3; // 0x3
5286    field public static final int CS_SECURITY_LEVEL_TWO = 2; // 0x2
5287    field public static final int CS_SECURITY_LEVEL_UNKNOWN = 0; // 0x0
5288    field public static final int LOCATION_TYPE_INDOOR = 1; // 0x1
5289    field public static final int LOCATION_TYPE_OUTDOOR = 2; // 0x2
5290    field public static final int LOCATION_TYPE_UNKNOWN = 0; // 0x0
5291    field public static final int SIGHT_TYPE_LINE_OF_SIGHT = 1; // 0x1
5292    field public static final int SIGHT_TYPE_NON_LINE_OF_SIGHT = 2; // 0x2
5293    field public static final int SIGHT_TYPE_UNKNOWN = 0; // 0x0
5294  }
5295
5296  public static final class ChannelSoundingParams.Builder {
5297    ctor public ChannelSoundingParams.Builder();
5298    method @NonNull public android.bluetooth.le.ChannelSoundingParams build();
5299    method @NonNull public android.bluetooth.le.ChannelSoundingParams.Builder setCsSecurityLevel(int);
5300    method @NonNull public android.bluetooth.le.ChannelSoundingParams.Builder setLocationType(int);
5301    method @NonNull public android.bluetooth.le.ChannelSoundingParams.Builder setSightType(int);
5302  }
5303
5304  public final class DistanceMeasurementManager {
5305    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getChannelSoundingMaxSupportedSecurityLevel(@NonNull android.bluetooth.BluetoothDevice);
5306    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.Set<java.lang.Integer> getChannelSoundingSupportedSecurityLevels();
5307    method @Deprecated @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int getLocalChannelSoundingMaxSupportedSecurityLevel();
5308    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public java.util.List<android.bluetooth.le.DistanceMeasurementMethod> getSupportedMethods();
5309    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);
5310  }
5311
5312  public final class DistanceMeasurementMethod implements android.os.Parcelable {
5313    method public int describeContents();
5314    method @Deprecated public double getId();
5315    method public int getMethodId();
5316    method public boolean isAltitudeAngleSupported();
5317    method public boolean isAzimuthAngleSupported();
5318    method public void writeToParcel(android.os.Parcel, int);
5319    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.DistanceMeasurementMethod> CREATOR;
5320    field public static final int DISTANCE_MEASUREMENT_METHOD_AUTO = 0; // 0x0
5321    field public static final int DISTANCE_MEASUREMENT_METHOD_CHANNEL_SOUNDING = 2; // 0x2
5322    field public static final int DISTANCE_MEASUREMENT_METHOD_RSSI = 1; // 0x1
5323  }
5324
5325  public static final class DistanceMeasurementMethod.Builder {
5326    ctor public DistanceMeasurementMethod.Builder(int);
5327    method @NonNull public android.bluetooth.le.DistanceMeasurementMethod build();
5328    method @NonNull public android.bluetooth.le.DistanceMeasurementMethod.Builder setAltitudeAngleSupported(boolean);
5329    method @NonNull public android.bluetooth.le.DistanceMeasurementMethod.Builder setAzimuthAngleSupported(boolean);
5330  }
5331
5332  public final class DistanceMeasurementParams implements android.os.Parcelable {
5333    method public int describeContents();
5334    method @Nullable public android.bluetooth.le.ChannelSoundingParams getChannelSoundingParams();
5335    method public static int getDefaultDurationSeconds();
5336    method @NonNull public android.bluetooth.BluetoothDevice getDevice();
5337    method @IntRange(from=0) public int getDurationSeconds();
5338    method public int getFrequency();
5339    method public static int getMaxDurationSeconds();
5340    method public int getMethodId();
5341    method public void writeToParcel(android.os.Parcel, int);
5342    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.DistanceMeasurementParams> CREATOR;
5343    field public static final int REPORT_FREQUENCY_HIGH = 2; // 0x2
5344    field public static final int REPORT_FREQUENCY_LOW = 0; // 0x0
5345    field public static final int REPORT_FREQUENCY_MEDIUM = 1; // 0x1
5346  }
5347
5348  public static final class DistanceMeasurementParams.Builder {
5349    ctor public DistanceMeasurementParams.Builder(@NonNull android.bluetooth.BluetoothDevice);
5350    method @NonNull public android.bluetooth.le.DistanceMeasurementParams build();
5351    method @NonNull public android.bluetooth.le.DistanceMeasurementParams.Builder setChannelSoundingParams(@NonNull android.bluetooth.le.ChannelSoundingParams);
5352    method @NonNull public android.bluetooth.le.DistanceMeasurementParams.Builder setDurationSeconds(@IntRange(from=0) int);
5353    method @NonNull public android.bluetooth.le.DistanceMeasurementParams.Builder setFrequency(int);
5354    method @NonNull public android.bluetooth.le.DistanceMeasurementParams.Builder setMethodId(int);
5355  }
5356
5357  public final class DistanceMeasurementResult implements android.os.Parcelable {
5358    method public int describeContents();
5359    method @FloatRange(from=-90.0, to=90.0) public double getAltitudeAngle();
5360    method @FloatRange(from=0.0, to=360.0) public double getAzimuthAngle();
5361    method @FloatRange(from=0.0, to=1.0) public double getConfidenceLevel();
5362    method public double getDelaySpreadMeters();
5363    method public int getDetectedAttackLevel();
5364    method public double getErrorAltitudeAngle();
5365    method public double getErrorAzimuthAngle();
5366    method @FloatRange(from=0.0) public double getErrorMeters();
5367    method public long getMeasurementTimestampNanos();
5368    method public double getResultMeters();
5369    method public double getVelocityMetersPerSecond();
5370    method public void writeToParcel(android.os.Parcel, int);
5371    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.DistanceMeasurementResult> CREATOR;
5372    field public static final int NADM_ATTACK_IS_EXTREMELY_LIKELY = 6; // 0x6
5373    field public static final int NADM_ATTACK_IS_EXTREMELY_UNLIKELY = 0; // 0x0
5374    field public static final int NADM_ATTACK_IS_LIKELY = 4; // 0x4
5375    field public static final int NADM_ATTACK_IS_POSSIBLE = 3; // 0x3
5376    field public static final int NADM_ATTACK_IS_UNLIKELY = 2; // 0x2
5377    field public static final int NADM_ATTACK_IS_VERY_LIKELY = 5; // 0x5
5378    field public static final int NADM_ATTACK_IS_VERY_UNLIKELY = 1; // 0x1
5379    field public static final int NADM_UNKNOWN = 255; // 0xff
5380  }
5381
5382  public static final class DistanceMeasurementResult.Builder {
5383    ctor public DistanceMeasurementResult.Builder(@FloatRange(from=0.0) double, @FloatRange(from=0.0) double);
5384    method @NonNull public android.bluetooth.le.DistanceMeasurementResult build();
5385    method @NonNull public android.bluetooth.le.DistanceMeasurementResult.Builder setAltitudeAngle(@FloatRange(from=-90.0, to=90.0) double);
5386    method @NonNull public android.bluetooth.le.DistanceMeasurementResult.Builder setAzimuthAngle(@FloatRange(from=0.0, to=360.0) double);
5387    method @NonNull public android.bluetooth.le.DistanceMeasurementResult.Builder setConfidenceLevel(@FloatRange(from=0.0, to=1.0) double);
5388    method @NonNull public android.bluetooth.le.DistanceMeasurementResult.Builder setDelaySpreadMeters(double);
5389    method @NonNull public android.bluetooth.le.DistanceMeasurementResult.Builder setDetectedAttackLevel(int);
5390    method @NonNull public android.bluetooth.le.DistanceMeasurementResult.Builder setErrorAltitudeAngle(@FloatRange(from=0.0, to=180.0) double);
5391    method @NonNull public android.bluetooth.le.DistanceMeasurementResult.Builder setErrorAzimuthAngle(@FloatRange(from=0.0, to=360.0) double);
5392    method @NonNull public android.bluetooth.le.DistanceMeasurementResult.Builder setMeasurementTimestampNanos(long);
5393    method @NonNull public android.bluetooth.le.DistanceMeasurementResult.Builder setVelocityMetersPerSecond(double);
5394  }
5395
5396  public final class DistanceMeasurementSession {
5397    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_CONNECT, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public int stopSession();
5398  }
5399
5400  public static interface DistanceMeasurementSession.Callback {
5401    method public void onResult(@NonNull android.bluetooth.BluetoothDevice, @NonNull android.bluetooth.le.DistanceMeasurementResult);
5402    method public void onStartFail(int);
5403    method public void onStarted(@NonNull android.bluetooth.le.DistanceMeasurementSession);
5404    method public void onStopped(@NonNull android.bluetooth.le.DistanceMeasurementSession, int);
5405  }
5406
5407  @Deprecated public final class ResultStorageDescriptor implements android.os.Parcelable {
5408    ctor @Deprecated public ResultStorageDescriptor(int, int, int);
5409    method @Deprecated public int describeContents();
5410    method @Deprecated public int getLength();
5411    method @Deprecated public int getOffset();
5412    method @Deprecated public int getType();
5413    method @Deprecated public void writeToParcel(android.os.Parcel, int);
5414    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.ResultStorageDescriptor> CREATOR;
5415  }
5416
5417  public final class ScanFilter implements android.os.Parcelable {
5418    method public int getAddressType();
5419    method @Nullable public byte[] getIrk();
5420    method @Nullable public android.bluetooth.le.TransportBlockFilter getTransportBlockFilter();
5421  }
5422
5423  public static final class ScanFilter.Builder {
5424    method @NonNull public android.bluetooth.le.ScanFilter.Builder setDeviceAddress(@NonNull String, int);
5425    method @NonNull public android.bluetooth.le.ScanFilter.Builder setDeviceAddress(@NonNull String, int, @NonNull byte[]);
5426    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);
5427    field public static final int LEN_IRK_OCTETS = 16; // 0x10
5428  }
5429
5430  public final class ScanRecord {
5431    method @Nullable public android.bluetooth.le.TransportDiscoveryData getTransportDiscoveryData();
5432  }
5433
5434  public final class ScanSettings implements android.os.Parcelable {
5435    field public static final int SCAN_MODE_AMBIENT_DISCOVERY = 3; // 0x3
5436    field public static final int SCAN_RESULT_TYPE_ABBREVIATED = 1; // 0x1
5437    field public static final int SCAN_RESULT_TYPE_FULL = 0; // 0x0
5438  }
5439
5440  public static final class ScanSettings.Builder {
5441    method public android.bluetooth.le.ScanSettings.Builder setScanResultType(int);
5442  }
5443
5444  public final class TransportBlockFilter implements android.os.Parcelable {
5445    method public int describeContents();
5446    method public int getOrgId();
5447    method public int getTdsFlags();
5448    method public int getTdsFlagsMask();
5449    method @Nullable public byte[] getTransportData();
5450    method @Nullable public byte[] getTransportDataMask();
5451    method @Nullable public byte[] getWifiNanHash();
5452    method public void writeToParcel(@NonNull android.os.Parcel, int);
5453    field @NonNull public static final android.os.Parcelable.Creator<android.bluetooth.le.TransportBlockFilter> CREATOR;
5454    field public static final int WIFI_NAN_HASH_LENGTH_BYTES = 8; // 0x8
5455  }
5456
5457  public static final class TransportBlockFilter.Builder {
5458    ctor public TransportBlockFilter.Builder(int);
5459    method @NonNull public android.bluetooth.le.TransportBlockFilter build();
5460    method @NonNull public android.bluetooth.le.TransportBlockFilter.Builder setTdsFlags(int, int);
5461    method @NonNull public android.bluetooth.le.TransportBlockFilter.Builder setTransportData(@NonNull byte[], @NonNull byte[]);
5462    method @NonNull public android.bluetooth.le.TransportBlockFilter.Builder setWifiNanHash(@NonNull byte[]);
5463  }
5464
5465  @Deprecated public final class TruncatedFilter {
5466    ctor @Deprecated public TruncatedFilter(android.bluetooth.le.ScanFilter, java.util.List<android.bluetooth.le.ResultStorageDescriptor>);
5467    method @Deprecated public android.bluetooth.le.ScanFilter getFilter();
5468    method @Deprecated public java.util.List<android.bluetooth.le.ResultStorageDescriptor> getStorageDescriptors();
5469  }
5470
5471}
5472
5473package android.companion {
5474
5475  public final class AssociationInfo implements android.os.Parcelable {
5476    method @NonNull public String getPackageName();
5477  }
5478
5479  public final class CompanionDeviceManager {
5480    method @RequiresPermission("android.permission.MANAGE_COMPANION_DEVICES") public void addOnAssociationsChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.companion.CompanionDeviceManager.OnAssociationsChangedListener);
5481    method @RequiresPermission(android.Manifest.permission.ASSOCIATE_COMPANION_DEVICES) public void associate(@NonNull String, @NonNull android.net.MacAddress, @NonNull byte[]);
5482    method @RequiresPermission("android.permission.MANAGE_COMPANION_DEVICES") public boolean canPairWithoutPrompt(@NonNull String, @NonNull String, @NonNull android.os.UserHandle);
5483    method @NonNull @RequiresPermission("android.permission.MANAGE_COMPANION_DEVICES") public java.util.List<android.companion.AssociationInfo> getAllAssociations();
5484    method @RequiresPermission("android.permission.MANAGE_COMPANION_DEVICES") public boolean isDeviceAssociatedForWifiConnection(@NonNull String, @NonNull android.net.MacAddress, @NonNull android.os.UserHandle);
5485    method @RequiresPermission(android.Manifest.permission.REQUEST_COMPANION_SELF_MANAGED) public void notifyDeviceAppeared(int);
5486    method @RequiresPermission(android.Manifest.permission.REQUEST_COMPANION_SELF_MANAGED) public void notifyDeviceDisappeared(int);
5487    method @RequiresPermission("android.permission.MANAGE_COMPANION_DEVICES") public void removeOnAssociationsChangedListener(@NonNull android.companion.CompanionDeviceManager.OnAssociationsChangedListener);
5488  }
5489
5490  public static interface CompanionDeviceManager.OnAssociationsChangedListener {
5491    method public void onAssociationsChanged(@NonNull java.util.List<android.companion.AssociationInfo>);
5492  }
5493
5494}
5495
5496package android.companion.virtual {
5497
5498  public final class ActivityPolicyExemption implements android.os.Parcelable {
5499    method public int describeContents();
5500    method @Nullable public android.content.ComponentName getComponentName();
5501    method public int getDisplayId();
5502    method @Nullable public String getPackageName();
5503    method public void writeToParcel(@NonNull android.os.Parcel, int);
5504    field @NonNull public static final android.os.Parcelable.Creator<android.companion.virtual.ActivityPolicyExemption> CREATOR;
5505  }
5506
5507  public static final class ActivityPolicyExemption.Builder {
5508    ctor public ActivityPolicyExemption.Builder();
5509    method @NonNull public android.companion.virtual.ActivityPolicyExemption build();
5510    method @NonNull public android.companion.virtual.ActivityPolicyExemption.Builder setComponentName(@NonNull android.content.ComponentName);
5511    method @NonNull public android.companion.virtual.ActivityPolicyExemption.Builder setDisplayId(int);
5512    method @NonNull public android.companion.virtual.ActivityPolicyExemption.Builder setPackageName(@NonNull String);
5513  }
5514
5515  public final class VirtualDevice implements android.os.Parcelable {
5516    method public boolean hasCustomAudioInputSupport();
5517    method public boolean hasCustomCameraSupport();
5518  }
5519
5520  public final class VirtualDeviceManager {
5521    method @NonNull @RequiresPermission(android.Manifest.permission.CREATE_VIRTUAL_DEVICE) public android.companion.virtual.VirtualDeviceManager.VirtualDevice createVirtualDevice(int, @NonNull android.companion.virtual.VirtualDeviceParams);
5522    method @NonNull public java.util.Set<java.lang.String> getAllPersistentDeviceIds();
5523    method @Nullable public CharSequence getDisplayNameForPersistentDeviceId(@NonNull String);
5524    field public static final int LAUNCH_FAILURE_NO_ACTIVITY = 2; // 0x2
5525    field public static final int LAUNCH_FAILURE_PENDING_INTENT_CANCELED = 1; // 0x1
5526    field public static final int LAUNCH_SUCCESS = 0; // 0x0
5527    field public static final String PERSISTENT_DEVICE_ID_DEFAULT = "default:0";
5528  }
5529
5530  public static interface VirtualDeviceManager.ActivityListener {
5531    method public default void onActivityLaunchBlocked(int, @NonNull android.content.ComponentName, @NonNull android.os.UserHandle, @Nullable android.content.IntentSender);
5532    method public void onDisplayEmpty(int);
5533    method public default void onSecureWindowHidden(int);
5534    method public default void onSecureWindowShown(int, @NonNull android.content.ComponentName, @NonNull android.os.UserHandle);
5535    method @Deprecated public void onTopActivityChanged(int, @NonNull android.content.ComponentName);
5536    method public default void onTopActivityChanged(int, @NonNull android.content.ComponentName, int);
5537  }
5538
5539  public static interface VirtualDeviceManager.IntentInterceptorCallback {
5540    method public void onIntentIntercepted(@NonNull android.content.Intent);
5541  }
5542
5543  public static interface VirtualDeviceManager.SoundEffectListener {
5544    method public void onPlaySoundEffect(int);
5545  }
5546
5547  public static class VirtualDeviceManager.VirtualDevice implements java.lang.AutoCloseable {
5548    method public void addActivityListener(@NonNull java.util.concurrent.Executor, @NonNull android.companion.virtual.VirtualDeviceManager.ActivityListener);
5549    method public void addActivityPolicyExemption(@NonNull android.companion.virtual.ActivityPolicyExemption);
5550    method public void addActivityPolicyExemption(@NonNull android.content.ComponentName);
5551    method public void addSoundEffectListener(@NonNull java.util.concurrent.Executor, @NonNull android.companion.virtual.VirtualDeviceManager.SoundEffectListener);
5552    method public void close();
5553    method @NonNull public android.content.Context createContext();
5554    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);
5555    method @NonNull public android.companion.virtual.camera.VirtualCamera createVirtualCamera(@NonNull android.companion.virtual.camera.VirtualCameraConfig);
5556    method @Nullable public android.hardware.display.VirtualDisplay createVirtualDisplay(@NonNull android.hardware.display.VirtualDisplayConfig, @Nullable java.util.concurrent.Executor, @Nullable android.hardware.display.VirtualDisplay.Callback);
5557    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);
5558    method @NonNull public android.hardware.input.VirtualDpad createVirtualDpad(@NonNull android.hardware.input.VirtualDpadConfig);
5559    method @Deprecated @NonNull public android.hardware.input.VirtualKeyboard createVirtualKeyboard(@NonNull android.hardware.display.VirtualDisplay, @NonNull String, int, int);
5560    method @NonNull public android.hardware.input.VirtualKeyboard createVirtualKeyboard(@NonNull android.hardware.input.VirtualKeyboardConfig);
5561    method @Deprecated @NonNull public android.hardware.input.VirtualMouse createVirtualMouse(@NonNull android.hardware.display.VirtualDisplay, @NonNull String, int, int);
5562    method @NonNull public android.hardware.input.VirtualMouse createVirtualMouse(@NonNull android.hardware.input.VirtualMouseConfig);
5563    method @NonNull public android.hardware.input.VirtualNavigationTouchpad createVirtualNavigationTouchpad(@NonNull android.hardware.input.VirtualNavigationTouchpadConfig);
5564    method @NonNull public android.hardware.input.VirtualRotaryEncoder createVirtualRotaryEncoder(@NonNull android.hardware.input.VirtualRotaryEncoderConfig);
5565    method @NonNull public android.hardware.input.VirtualStylus createVirtualStylus(@NonNull android.hardware.input.VirtualStylusConfig);
5566    method @Deprecated @NonNull public android.hardware.input.VirtualTouchscreen createVirtualTouchscreen(@NonNull android.hardware.display.VirtualDisplay, @NonNull String, int, int);
5567    method @NonNull public android.hardware.input.VirtualTouchscreen createVirtualTouchscreen(@NonNull android.hardware.input.VirtualTouchscreenConfig);
5568    method public int getDeviceId();
5569    method @Nullable public String getPersistentDeviceId();
5570    method @NonNull public java.util.List<android.companion.virtual.sensor.VirtualSensor> getVirtualSensorList();
5571    method public void goToSleep();
5572    method public void launchPendingIntent(int, @NonNull android.app.PendingIntent, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.IntConsumer);
5573    method public void registerIntentInterceptor(@NonNull android.content.IntentFilter, @NonNull java.util.concurrent.Executor, @NonNull android.companion.virtual.VirtualDeviceManager.IntentInterceptorCallback);
5574    method public void removeActivityListener(@NonNull android.companion.virtual.VirtualDeviceManager.ActivityListener);
5575    method public void removeActivityPolicyExemption(@NonNull android.companion.virtual.ActivityPolicyExemption);
5576    method public void removeActivityPolicyExemption(@NonNull android.content.ComponentName);
5577    method public void removeSoundEffectListener(@NonNull android.companion.virtual.VirtualDeviceManager.SoundEffectListener);
5578    method public void setDevicePolicy(int, int);
5579    method public void setDevicePolicy(int, int, int);
5580    method public void setDisplayImePolicy(int, int);
5581    method public void setShowPointerIcon(boolean);
5582    method public void unregisterIntentInterceptor(@NonNull android.companion.virtual.VirtualDeviceManager.IntentInterceptorCallback);
5583    method public void wakeUp();
5584  }
5585
5586  public final class VirtualDeviceParams implements android.os.Parcelable {
5587    method public int describeContents();
5588    method @Deprecated @NonNull public java.util.Set<android.content.ComponentName> getAllowedActivities();
5589    method @Deprecated @NonNull public java.util.Set<android.content.ComponentName> getAllowedCrossTaskNavigations();
5590    method public int getAudioPlaybackSessionId();
5591    method public int getAudioRecordingSessionId();
5592    method @Deprecated @NonNull public java.util.Set<android.content.ComponentName> getBlockedActivities();
5593    method @Deprecated @NonNull public java.util.Set<android.content.ComponentName> getBlockedCrossTaskNavigations();
5594    method @Deprecated public int getDefaultActivityPolicy();
5595    method @Deprecated public int getDefaultNavigationPolicy();
5596    method public int getDevicePolicy(int);
5597    method @NonNull public java.time.Duration getDimDuration();
5598    method @Nullable public android.content.ComponentName getHomeComponent();
5599    method @Nullable public android.content.ComponentName getInputMethodComponent();
5600    method public int getLockState();
5601    method @Nullable public String getName();
5602    method @NonNull public java.time.Duration getScreenOffTimeout();
5603    method @NonNull public java.util.Set<android.os.UserHandle> getUsersWithMatchingAccounts();
5604    method @NonNull public java.util.List<android.companion.virtual.sensor.VirtualSensorConfig> getVirtualSensorConfigs();
5605    method public void writeToParcel(@NonNull android.os.Parcel, int);
5606    field @Deprecated public static final int ACTIVITY_POLICY_DEFAULT_ALLOWED = 0; // 0x0
5607    field @Deprecated public static final int ACTIVITY_POLICY_DEFAULT_BLOCKED = 1; // 0x1
5608    field @NonNull public static final android.os.Parcelable.Creator<android.companion.virtual.VirtualDeviceParams> CREATOR;
5609    field public static final int DEVICE_POLICY_CUSTOM = 1; // 0x1
5610    field public static final int DEVICE_POLICY_DEFAULT = 0; // 0x0
5611    field public static final int LOCK_STATE_ALWAYS_UNLOCKED = 1; // 0x1
5612    field public static final int LOCK_STATE_DEFAULT = 0; // 0x0
5613    field @Deprecated public static final int NAVIGATION_POLICY_DEFAULT_ALLOWED = 0; // 0x0
5614    field @Deprecated public static final int NAVIGATION_POLICY_DEFAULT_BLOCKED = 1; // 0x1
5615    field public static final int POLICY_TYPE_ACTIVITY = 3; // 0x3
5616    field public static final int POLICY_TYPE_AUDIO = 1; // 0x1
5617    field public static final int POLICY_TYPE_BLOCKED_ACTIVITY = 6; // 0x6
5618    field public static final int POLICY_TYPE_CAMERA = 5; // 0x5
5619    field public static final int POLICY_TYPE_CLIPBOARD = 4; // 0x4
5620    field public static final int POLICY_TYPE_DEFAULT_DEVICE_CAMERA_ACCESS = 7; // 0x7
5621    field public static final int POLICY_TYPE_RECENTS = 2; // 0x2
5622    field public static final int POLICY_TYPE_SENSORS = 0; // 0x0
5623  }
5624
5625  public static final class VirtualDeviceParams.Builder {
5626    ctor public VirtualDeviceParams.Builder();
5627    method @NonNull public android.companion.virtual.VirtualDeviceParams.Builder addVirtualSensorConfig(@NonNull android.companion.virtual.sensor.VirtualSensorConfig);
5628    method @NonNull public android.companion.virtual.VirtualDeviceParams build();
5629    method @Deprecated @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setAllowedActivities(@NonNull java.util.Set<android.content.ComponentName>);
5630    method @Deprecated @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setAllowedCrossTaskNavigations(@NonNull java.util.Set<android.content.ComponentName>);
5631    method @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setAudioPlaybackSessionId(int);
5632    method @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setAudioRecordingSessionId(int);
5633    method @Deprecated @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setBlockedActivities(@NonNull java.util.Set<android.content.ComponentName>);
5634    method @Deprecated @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setBlockedCrossTaskNavigations(@NonNull java.util.Set<android.content.ComponentName>);
5635    method @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setDevicePolicy(int, int);
5636    method @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setDimDuration(@NonNull java.time.Duration);
5637    method @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setHomeComponent(@Nullable android.content.ComponentName);
5638    method @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setInputMethodComponent(@Nullable android.content.ComponentName);
5639    method @NonNull @RequiresPermission(value=android.Manifest.permission.ADD_ALWAYS_UNLOCKED_DISPLAY, conditional=true) public android.companion.virtual.VirtualDeviceParams.Builder setLockState(int);
5640    method @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setName(@NonNull String);
5641    method @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setScreenOffTimeout(@NonNull java.time.Duration);
5642    method @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setUsersWithMatchingAccounts(@NonNull java.util.Set<android.os.UserHandle>);
5643    method @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setVirtualSensorCallback(@NonNull java.util.concurrent.Executor, @NonNull android.companion.virtual.sensor.VirtualSensorCallback);
5644    method @NonNull public android.companion.virtual.VirtualDeviceParams.Builder setVirtualSensorDirectChannelCallback(@NonNull java.util.concurrent.Executor, @NonNull android.companion.virtual.sensor.VirtualSensorDirectChannelCallback);
5645  }
5646
5647}
5648
5649package android.companion.virtual.audio {
5650
5651  public final class AudioCapture {
5652    method @NonNull public android.media.AudioFormat getFormat();
5653    method public int getRecordingState();
5654    method public int read(@NonNull byte[], int, int);
5655    method public int read(@NonNull byte[], int, int, int);
5656    method public int read(@NonNull float[], int, int, int);
5657    method public int read(@NonNull java.nio.ByteBuffer, int);
5658    method public int read(@NonNull java.nio.ByteBuffer, int, int);
5659    method public int read(@NonNull short[], int, int);
5660    method public int read(@NonNull short[], int, int, int);
5661    method public void startRecording();
5662    method public void stop();
5663  }
5664
5665  public final class AudioInjection {
5666    method @NonNull public android.media.AudioFormat getFormat();
5667    method public int getPlayState();
5668    method public void play();
5669    method public void stop();
5670    method public int write(@NonNull byte[], int, int);
5671    method public int write(@NonNull byte[], int, int, int);
5672    method public int write(@NonNull float[], int, int, int);
5673    method public int write(@NonNull java.nio.ByteBuffer, int, int);
5674    method public int write(@NonNull java.nio.ByteBuffer, int, int, long);
5675    method public int write(@NonNull short[], int, int);
5676    method public int write(@NonNull short[], int, int, int);
5677  }
5678
5679  public final class VirtualAudioDevice implements java.io.Closeable {
5680    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void close();
5681    method @Nullable public android.companion.virtual.audio.AudioCapture getAudioCapture();
5682    method @Nullable public android.companion.virtual.audio.AudioInjection getAudioInjection();
5683    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public android.companion.virtual.audio.AudioCapture startAudioCapture(@NonNull android.media.AudioFormat);
5684    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public android.companion.virtual.audio.AudioInjection startAudioInjection(@NonNull android.media.AudioFormat);
5685  }
5686
5687  public static interface VirtualAudioDevice.AudioConfigurationChangeCallback {
5688    method public void onPlaybackConfigChanged(@NonNull java.util.List<android.media.AudioPlaybackConfiguration>);
5689    method public void onRecordingConfigChanged(@NonNull java.util.List<android.media.AudioRecordingConfiguration>);
5690  }
5691
5692}
5693
5694package android.companion.virtual.camera {
5695
5696  public final class VirtualCamera implements java.io.Closeable {
5697    method public void close();
5698    method @NonNull public android.companion.virtual.camera.VirtualCameraConfig getConfig();
5699  }
5700
5701  public interface VirtualCameraCallback {
5702    method public default void onProcessCaptureRequest(int, long);
5703    method public void onStreamClosed(int);
5704    method public void onStreamConfigured(int, @NonNull android.view.Surface, @IntRange(from=1) int, @IntRange(from=1) int, int);
5705  }
5706
5707  public final class VirtualCameraConfig implements android.os.Parcelable {
5708    method public int describeContents();
5709    method public int getLensFacing();
5710    method @NonNull public String getName();
5711    method public int getSensorOrientation();
5712    method @NonNull public java.util.Set<android.companion.virtual.camera.VirtualCameraStreamConfig> getStreamConfigs();
5713    method public void writeToParcel(@NonNull android.os.Parcel, int);
5714    field @NonNull public static final android.os.Parcelable.Creator<android.companion.virtual.camera.VirtualCameraConfig> CREATOR;
5715    field public static final int SENSOR_ORIENTATION_0 = 0; // 0x0
5716    field public static final int SENSOR_ORIENTATION_180 = 180; // 0xb4
5717    field public static final int SENSOR_ORIENTATION_270 = 270; // 0x10e
5718    field public static final int SENSOR_ORIENTATION_90 = 90; // 0x5a
5719  }
5720
5721  public static final class VirtualCameraConfig.Builder {
5722    ctor public VirtualCameraConfig.Builder(@NonNull String);
5723    method @NonNull public android.companion.virtual.camera.VirtualCameraConfig.Builder addStreamConfig(@IntRange(from=1) int, @IntRange(from=1) int, int, @IntRange(from=1) int);
5724    method @NonNull public android.companion.virtual.camera.VirtualCameraConfig build();
5725    method @NonNull public android.companion.virtual.camera.VirtualCameraConfig.Builder setLensFacing(int);
5726    method @NonNull public android.companion.virtual.camera.VirtualCameraConfig.Builder setSensorOrientation(int);
5727    method @NonNull public android.companion.virtual.camera.VirtualCameraConfig.Builder setVirtualCameraCallback(@NonNull java.util.concurrent.Executor, @NonNull android.companion.virtual.camera.VirtualCameraCallback);
5728  }
5729
5730  public final class VirtualCameraStreamConfig implements android.os.Parcelable {
5731    method public int describeContents();
5732    method public int getFormat();
5733    method @IntRange(from=1) public int getHeight();
5734    method @IntRange(from=1) public int getMaximumFramesPerSecond();
5735    method @IntRange(from=1) public int getWidth();
5736    method public void writeToParcel(@NonNull android.os.Parcel, int);
5737    field @NonNull public static final android.os.Parcelable.Creator<android.companion.virtual.camera.VirtualCameraStreamConfig> CREATOR;
5738  }
5739
5740}
5741
5742package android.companion.virtual.sensor {
5743
5744  public final class VirtualSensor implements android.os.Parcelable {
5745    method public int describeContents();
5746    method public int getDeviceId();
5747    method @NonNull public String getName();
5748    method public int getType();
5749    method public void sendEvent(@NonNull android.companion.virtual.sensor.VirtualSensorEvent);
5750    method public void writeToParcel(@NonNull android.os.Parcel, int);
5751    field @NonNull public static final android.os.Parcelable.Creator<android.companion.virtual.sensor.VirtualSensor> CREATOR;
5752  }
5753
5754  public interface VirtualSensorCallback {
5755    method public void onConfigurationChanged(@NonNull android.companion.virtual.sensor.VirtualSensor, boolean, @NonNull java.time.Duration, @NonNull java.time.Duration);
5756  }
5757
5758  public final class VirtualSensorConfig implements android.os.Parcelable {
5759    method public int describeContents();
5760    method public int getDirectChannelTypesSupported();
5761    method public int getHighestDirectReportRateLevel();
5762    method public int getMaxDelay();
5763    method public float getMaximumRange();
5764    method public int getMinDelay();
5765    method @NonNull public String getName();
5766    method public float getPower();
5767    method public int getReportingMode();
5768    method public float getResolution();
5769    method public int getType();
5770    method @Nullable public String getVendor();
5771    method public boolean isWakeUpSensor();
5772    method public void writeToParcel(@NonNull android.os.Parcel, int);
5773    field @NonNull public static final android.os.Parcelable.Creator<android.companion.virtual.sensor.VirtualSensorConfig> CREATOR;
5774  }
5775
5776  public static final class VirtualSensorConfig.Builder {
5777    ctor public VirtualSensorConfig.Builder(@IntRange(from=1) int, @NonNull String);
5778    method @NonNull public android.companion.virtual.sensor.VirtualSensorConfig build();
5779    method @NonNull public android.companion.virtual.sensor.VirtualSensorConfig.Builder setDirectChannelTypesSupported(int);
5780    method @NonNull public android.companion.virtual.sensor.VirtualSensorConfig.Builder setHighestDirectReportRateLevel(int);
5781    method @NonNull public android.companion.virtual.sensor.VirtualSensorConfig.Builder setMaxDelay(int);
5782    method @NonNull public android.companion.virtual.sensor.VirtualSensorConfig.Builder setMaximumRange(float);
5783    method @NonNull public android.companion.virtual.sensor.VirtualSensorConfig.Builder setMinDelay(int);
5784    method @NonNull public android.companion.virtual.sensor.VirtualSensorConfig.Builder setPower(float);
5785    method @NonNull public android.companion.virtual.sensor.VirtualSensorConfig.Builder setReportingMode(int);
5786    method @NonNull public android.companion.virtual.sensor.VirtualSensorConfig.Builder setResolution(float);
5787    method @NonNull public android.companion.virtual.sensor.VirtualSensorConfig.Builder setVendor(@Nullable String);
5788    method @NonNull public android.companion.virtual.sensor.VirtualSensorConfig.Builder setWakeUpSensor(boolean);
5789  }
5790
5791  public interface VirtualSensorDirectChannelCallback {
5792    method public void onDirectChannelConfigured(@IntRange(from=1) int, @NonNull android.companion.virtual.sensor.VirtualSensor, int, @IntRange(from=1) int);
5793    method public void onDirectChannelCreated(@IntRange(from=1) int, @NonNull android.os.SharedMemory);
5794    method public void onDirectChannelDestroyed(@IntRange(from=1) int);
5795  }
5796
5797  public final class VirtualSensorDirectChannelWriter implements java.lang.AutoCloseable {
5798    ctor public VirtualSensorDirectChannelWriter();
5799    method public void addChannel(@IntRange(from=1) int, @NonNull android.os.SharedMemory) throws android.system.ErrnoException;
5800    method public void close();
5801    method public boolean configureChannel(@IntRange(from=1) int, @NonNull android.companion.virtual.sensor.VirtualSensor, int, @IntRange(from=1) int);
5802    method public void removeChannel(@IntRange(from=1) int);
5803    method public boolean writeSensorEvent(@NonNull android.companion.virtual.sensor.VirtualSensor, @NonNull android.companion.virtual.sensor.VirtualSensorEvent);
5804  }
5805
5806  public final class VirtualSensorEvent implements android.os.Parcelable {
5807    method public int describeContents();
5808    method public long getTimestampNanos();
5809    method @NonNull public float[] getValues();
5810    method public void writeToParcel(@NonNull android.os.Parcel, int);
5811    field @NonNull public static final android.os.Parcelable.Creator<android.companion.virtual.sensor.VirtualSensorEvent> CREATOR;
5812  }
5813
5814  public static final class VirtualSensorEvent.Builder {
5815    ctor public VirtualSensorEvent.Builder(@NonNull float[]);
5816    method @NonNull public android.companion.virtual.sensor.VirtualSensorEvent build();
5817    method @NonNull public android.companion.virtual.sensor.VirtualSensorEvent.Builder setTimestampNanos(long);
5818  }
5819
5820}
5821
5822package android.content {
5823
5824  public class ApexEnvironment {
5825    method @NonNull public static android.content.ApexEnvironment getApexEnvironment(@NonNull String);
5826    method @NonNull public java.io.File getCredentialProtectedDataDirForUser(@NonNull android.os.UserHandle);
5827    method @NonNull public java.io.File getDeviceProtectedDataDir();
5828    method @NonNull public java.io.File getDeviceProtectedDataDirForUser(@NonNull android.os.UserHandle);
5829  }
5830
5831  public final class AttributionSource implements android.os.Parcelable {
5832    method @NonNull @RequiresPermission(android.Manifest.permission.RENOUNCE_PERMISSIONS) public java.util.Set<java.lang.String> getRenouncedPermissions();
5833  }
5834
5835  public static final class AttributionSource.Builder {
5836    method @NonNull @RequiresPermission(android.Manifest.permission.RENOUNCE_PERMISSIONS) public android.content.AttributionSource.Builder setRenouncedPermissions(@Nullable java.util.Set<java.lang.String>);
5837  }
5838
5839  public abstract class BroadcastReceiver {
5840    method @NonNull public final android.os.UserHandle getSendingUser();
5841  }
5842
5843  public class ClipboardManager extends android.text.ClipboardManager {
5844    method @RequiresPermission(android.Manifest.permission.MANAGE_CLIPBOARD_ACCESS_NOTIFICATION) public boolean areClipboardAccessNotificationsEnabled();
5845    method @RequiresPermission(android.Manifest.permission.MANAGE_CLIPBOARD_ACCESS_NOTIFICATION) public void setClipboardAccessNotificationsEnabled(boolean);
5846    method @RequiresPermission(android.Manifest.permission.SET_CLIP_SOURCE) public void setPrimaryClipAsPackage(@NonNull android.content.ClipData, @NonNull String);
5847  }
5848
5849  public abstract class ContentProvider implements android.content.ComponentCallbacks2 {
5850    method public int checkUriPermission(@NonNull android.net.Uri, int, int);
5851  }
5852
5853  public class ContentProviderClient implements java.lang.AutoCloseable {
5854    method @RequiresPermission(android.Manifest.permission.REMOVE_TASKS) public void setDetectNotResponding(long);
5855  }
5856
5857  public abstract class ContentResolver {
5858    method public int checkUriPermission(@NonNull android.net.Uri, int, int);
5859    method @NonNull public static android.net.Uri decodeFromFile(@NonNull java.io.File);
5860    method @NonNull public static java.io.File encodeToFile(@NonNull android.net.Uri);
5861    method @Nullable @RequiresPermission("android.permission.CACHE_CONTENT") public android.os.Bundle getCache(@NonNull android.net.Uri);
5862    method @RequiresPermission("android.permission.CACHE_CONTENT") public void putCache(@NonNull android.net.Uri, @Nullable android.os.Bundle);
5863  }
5864
5865  public abstract class Context {
5866    method @NonNull public android.content.Context createContextAsUser(@NonNull android.os.UserHandle, int);
5867    method public abstract android.content.Context createCredentialProtectedStorageContext();
5868    method @NonNull public android.content.Context createPackageContextAsUser(@NonNull String, int, @NonNull android.os.UserHandle) throws android.content.pm.PackageManager.NameNotFoundException;
5869    method @Nullable public abstract java.io.File getPreloadsFileCache();
5870    method public abstract boolean isCredentialProtectedStorage();
5871    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);
5872    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);
5873    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);
5874    method public void sendBroadcastMultiplePermissions(@NonNull android.content.Intent, @NonNull String[], @Nullable android.app.BroadcastOptions);
5875    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public void startActivityAsUser(@NonNull @RequiresPermission android.content.Intent, @Nullable android.os.Bundle, @NonNull android.os.UserHandle);
5876    method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public void startActivityAsUser(@NonNull @RequiresPermission android.content.Intent, @NonNull android.os.UserHandle);
5877    field public static final String AMBIENT_CONTEXT_SERVICE = "ambient_context";
5878    field public static final String APP_HIBERNATION_SERVICE = "app_hibernation";
5879    field public static final String APP_INTEGRITY_SERVICE = "app_integrity";
5880    field public static final String APP_PREDICTION_SERVICE = "app_prediction";
5881    field public static final String AUDIO_DEVICE_VOLUME_SERVICE = "audio_device_volume";
5882    field public static final String BACKUP_SERVICE = "backup";
5883    field public static final String BATTERY_STATS_SERVICE = "batterystats";
5884    field public static final int BIND_ALLOW_BACKGROUND_ACTIVITY_STARTS = 1048576; // 0x100000
5885    field @Deprecated public static final int BIND_ALLOW_FOREGROUND_SERVICE_STARTS_FROM_BACKGROUND = 262144; // 0x40000
5886    field public static final String CLOUDSEARCH_SERVICE = "cloudsearch";
5887    field public static final String CONTENT_SUGGESTIONS_SERVICE = "content_suggestions";
5888    field public static final String CONTEXTHUB_SERVICE = "contexthub";
5889    field public static final String CONTEXTUAL_SEARCH_SERVICE = "contextual_search";
5890    field public static final String ECM_ENHANCED_CONFIRMATION_SERVICE = "ecm_enhanced_confirmation";
5891    field public static final String ETHERNET_SERVICE = "ethernet";
5892    field public static final String EUICC_CARD_SERVICE = "euicc_card";
5893    field public static final String FONT_SERVICE = "font";
5894    field public static final String HDMI_CONTROL_SERVICE = "hdmi_control";
5895    field public static final String MEDIA_TRANSCODING_SERVICE = "media_transcoding";
5896    field public static final String MUSIC_RECOGNITION_SERVICE = "music_recognition";
5897    field public static final String NEARBY_SERVICE = "nearby";
5898    field public static final String NETD_SERVICE = "netd";
5899    field @Deprecated public static final String NETWORK_SCORE_SERVICE = "network_score";
5900    field public static final String OEM_LOCK_SERVICE = "oem_lock";
5901    field public static final String ON_DEVICE_INTELLIGENCE_SERVICE = "on_device_intelligence";
5902    field public static final String PERMISSION_CONTROLLER_SERVICE = "permission_controller";
5903    field public static final String PERMISSION_SERVICE = "permission";
5904    field public static final String RANGING_SERVICE = "ranging";
5905    field public static final String REBOOT_READINESS_SERVICE = "reboot_readiness";
5906    field public static final String ROLLBACK_SERVICE = "rollback";
5907    field public static final String SAFETY_CENTER_SERVICE = "safety_center";
5908    field public static final String SEARCH_UI_SERVICE = "search_ui";
5909    field public static final String SECURE_ELEMENT_SERVICE = "secure_element";
5910    field public static final String SHARED_CONNECTIVITY_SERVICE = "shared_connectivity";
5911    field public static final String SMARTSPACE_SERVICE = "smartspace";
5912    field public static final String STATS_MANAGER = "stats";
5913    field public static final String SYSTEM_CONFIG_SERVICE = "system_config";
5914    field public static final String SYSTEM_UPDATE_SERVICE = "system_update";
5915    field public static final String THREAD_NETWORK_SERVICE = "thread_network";
5916    field public static final String TIME_MANAGER_SERVICE = "time_manager";
5917    field public static final String TRANSLATION_MANAGER_SERVICE = "translation";
5918    field public static final String UI_TRANSLATION_SERVICE = "ui_translation";
5919    field public static final String UWB_SERVICE = "uwb";
5920    field public static final String VIRTUALIZATION_SERVICE = "virtualization";
5921    field public static final String VR_SERVICE = "vrmanager";
5922    field public static final String WALLPAPER_EFFECTS_GENERATION_SERVICE = "wallpaper_effects_generation";
5923    field public static final String WEARABLE_SENSING_SERVICE = "wearable_sensing";
5924    field public static final String WIFI_NL80211_SERVICE = "wifinl80211";
5925    field @Deprecated public static final String WIFI_RTT_SERVICE = "rttmanager";
5926    field public static final String WIFI_SCANNING_SERVICE = "wifiscanner";
5927    field public static final String WIFI_USD_SERVICE = "wifi_usd";
5928  }
5929
5930  public final class ContextParams {
5931    method @NonNull @RequiresPermission(android.Manifest.permission.RENOUNCE_PERMISSIONS) public java.util.Set<java.lang.String> getRenouncedPermissions();
5932  }
5933
5934  public static final class ContextParams.Builder {
5935    method @NonNull @RequiresPermission(android.Manifest.permission.RENOUNCE_PERMISSIONS) public android.content.ContextParams.Builder setRenouncedPermissions(@Nullable java.util.Set<java.lang.String>);
5936  }
5937
5938  public class ContextWrapper extends android.content.Context {
5939    method public android.content.Context createCredentialProtectedStorageContext();
5940    method @Nullable public java.io.File getPreloadsFileCache();
5941    method public boolean isCredentialProtectedStorage();
5942    method public void sendBroadcastAsUser(android.content.Intent, android.os.UserHandle, @Nullable String, @Nullable android.os.Bundle);
5943  }
5944
5945  public class Intent implements java.lang.Cloneable android.os.Parcelable {
5946    field public static final String ACTION_ACTIVITY_RECOGNIZER = "android.intent.action.ACTIVITY_RECOGNIZER";
5947    field public static final String ACTION_BATTERY_LEVEL_CHANGED = "android.intent.action.BATTERY_LEVEL_CHANGED";
5948    field public static final String ACTION_CALL_EMERGENCY = "android.intent.action.CALL_EMERGENCY";
5949    field public static final String ACTION_CALL_PRIVILEGED = "android.intent.action.CALL_PRIVILEGED";
5950    field public static final String ACTION_DEVICE_CUSTOMIZATION_READY = "android.intent.action.DEVICE_CUSTOMIZATION_READY";
5951    field public static final String ACTION_DIAL_EMERGENCY = "android.intent.action.DIAL_EMERGENCY";
5952    field public static final String ACTION_DOMAINS_NEED_VERIFICATION = "android.intent.action.DOMAINS_NEED_VERIFICATION";
5953    field public static final String ACTION_FACTORY_RESET = "android.intent.action.FACTORY_RESET";
5954    field public static final String ACTION_GLOBAL_BUTTON = "android.intent.action.GLOBAL_BUTTON";
5955    field public static final String ACTION_INCIDENT_REPORT_READY = "android.intent.action.INCIDENT_REPORT_READY";
5956    field public static final String ACTION_INSTALL_INSTANT_APP_PACKAGE = "android.intent.action.INSTALL_INSTANT_APP_PACKAGE";
5957    field public static final String ACTION_INSTANT_APP_RESOLVER_SETTINGS = "android.intent.action.INSTANT_APP_RESOLVER_SETTINGS";
5958    field @Deprecated public static final String ACTION_INTENT_FILTER_NEEDS_VERIFICATION = "android.intent.action.INTENT_FILTER_NEEDS_VERIFICATION";
5959    field public static final String ACTION_LOAD_DATA = "android.intent.action.LOAD_DATA";
5960    field public static final String ACTION_MAIN_USER_LOCKSCREEN_KNOWLEDGE_FACTOR_CHANGED = "android.intent.action.MAIN_USER_LOCKSCREEN_KNOWLEDGE_FACTOR_CHANGED";
5961    field @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public static final String ACTION_MANAGE_APP_PERMISSION = "android.intent.action.MANAGE_APP_PERMISSION";
5962    field @Deprecated public static final String ACTION_MANAGE_APP_PERMISSIONS = "android.intent.action.MANAGE_APP_PERMISSIONS";
5963    field @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public static final String ACTION_MANAGE_DEFAULT_APP = "android.intent.action.MANAGE_DEFAULT_APP";
5964    field public static final String ACTION_MANAGE_PERMISSIONS = "android.intent.action.MANAGE_PERMISSIONS";
5965    field public static final String ACTION_MANAGE_PERMISSION_APPS = "android.intent.action.MANAGE_PERMISSION_APPS";
5966    field @RequiresPermission(android.Manifest.permission.START_VIEW_PERMISSION_USAGE) public static final String ACTION_MANAGE_PERMISSION_USAGE = "android.intent.action.MANAGE_PERMISSION_USAGE";
5967    field @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public static final String ACTION_MANAGE_SPECIAL_APP_ACCESSES = "android.intent.action.MANAGE_SPECIAL_APP_ACCESSES";
5968    field @RequiresPermission(android.Manifest.permission.MASTER_CLEAR) public static final String ACTION_MASTER_CLEAR_NOTIFICATION = "android.intent.action.MASTER_CLEAR_NOTIFICATION";
5969    field public static final String ACTION_PACKAGE_NEEDS_INTEGRITY_VERIFICATION = "android.intent.action.PACKAGE_NEEDS_INTEGRITY_VERIFICATION";
5970    field public static final String ACTION_PACKAGE_UNSUSPENDED_MANUALLY = "android.intent.action.PACKAGE_UNSUSPENDED_MANUALLY";
5971    field public static final String ACTION_PENDING_INCIDENT_REPORTS_CHANGED = "android.intent.action.PENDING_INCIDENT_REPORTS_CHANGED";
5972    field public static final String ACTION_PRE_BOOT_COMPLETED = "android.intent.action.PRE_BOOT_COMPLETED";
5973    field public static final String ACTION_QUERY_PACKAGE_RESTART = "android.intent.action.QUERY_PACKAGE_RESTART";
5974    field public static final String ACTION_RESOLVE_INSTANT_APP_PACKAGE = "android.intent.action.RESOLVE_INSTANT_APP_PACKAGE";
5975    field @RequiresPermission(android.Manifest.permission.REVIEW_ACCESSIBILITY_SERVICES) public static final String ACTION_REVIEW_ACCESSIBILITY_SERVICES = "android.intent.action.REVIEW_ACCESSIBILITY_SERVICES";
5976    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";
5977    field @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public static final String ACTION_REVIEW_ONGOING_PERMISSION_USAGE = "android.intent.action.REVIEW_ONGOING_PERMISSION_USAGE";
5978    field public static final String ACTION_REVIEW_PERMISSIONS = "android.intent.action.REVIEW_PERMISSIONS";
5979    field @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public static final String ACTION_REVIEW_PERMISSION_HISTORY = "android.intent.action.REVIEW_PERMISSION_HISTORY";
5980    field @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public static final String ACTION_REVIEW_PERMISSION_USAGE = "android.intent.action.REVIEW_PERMISSION_USAGE";
5981    field public static final String ACTION_ROLLBACK_COMMITTED = "android.intent.action.ROLLBACK_COMMITTED";
5982    field public static final String ACTION_SHOW_SUSPENDED_APP_DETAILS = "android.intent.action.SHOW_SUSPENDED_APP_DETAILS";
5983    field @Deprecated public static final String ACTION_SIM_STATE_CHANGED = "android.intent.action.SIM_STATE_CHANGED";
5984    field public static final String ACTION_SPLIT_CONFIGURATION_CHANGED = "android.intent.action.SPLIT_CONFIGURATION_CHANGED";
5985    field public static final String ACTION_UPGRADE_SETUP = "android.intent.action.UPGRADE_SETUP";
5986    field public static final String ACTION_USER_ADDED = "android.intent.action.USER_ADDED";
5987    field public static final String ACTION_USER_REMOVED = "android.intent.action.USER_REMOVED";
5988    field public static final String ACTION_USER_SWITCHED = "android.intent.action.USER_SWITCHED";
5989    field @RequiresPermission(android.Manifest.permission.START_VIEW_APP_FEATURES) public static final String ACTION_VIEW_APP_FEATURES = "android.intent.action.VIEW_APP_FEATURES";
5990    field @RequiresPermission(android.Manifest.permission.MANAGE_SENSOR_PRIVACY) public static final String ACTION_VIEW_SAFETY_CENTER_QS = "android.intent.action.VIEW_SAFETY_CENTER_QS";
5991    field public static final String ACTION_VOICE_ASSIST = "android.intent.action.VOICE_ASSIST";
5992    field public static final String CATEGORY_LEANBACK_SETTINGS = "android.intent.category.LEANBACK_SETTINGS";
5993    field public static final String EXTRA_CALLING_PACKAGE = "android.intent.extra.CALLING_PACKAGE";
5994    field public static final String EXTRA_FORCE_FACTORY_RESET = "android.intent.extra.FORCE_FACTORY_RESET";
5995    field public static final String EXTRA_INSTALL_RESULT = "android.intent.extra.INSTALL_RESULT";
5996    field public static final String EXTRA_INSTANT_APP_ACTION = "android.intent.extra.INSTANT_APP_ACTION";
5997    field public static final String EXTRA_INSTANT_APP_BUNDLES = "android.intent.extra.INSTANT_APP_BUNDLES";
5998    field public static final String EXTRA_INSTANT_APP_EXTRAS = "android.intent.extra.INSTANT_APP_EXTRAS";
5999    field public static final String EXTRA_INSTANT_APP_FAILURE = "android.intent.extra.INSTANT_APP_FAILURE";
6000    field public static final String EXTRA_INSTANT_APP_HOSTNAME = "android.intent.extra.INSTANT_APP_HOSTNAME";
6001    field public static final String EXTRA_INSTANT_APP_SUCCESS = "android.intent.extra.INSTANT_APP_SUCCESS";
6002    field public static final String EXTRA_INSTANT_APP_TOKEN = "android.intent.extra.INSTANT_APP_TOKEN";
6003    field public static final String EXTRA_LONG_VERSION_CODE = "android.intent.extra.LONG_VERSION_CODE";
6004    field public static final String EXTRA_ORIGINATING_UID = "android.intent.extra.ORIGINATING_UID";
6005    field public static final String EXTRA_PERMISSION_NAME = "android.intent.extra.PERMISSION_NAME";
6006    field public static final String EXTRA_REASON = "android.intent.extra.REASON";
6007    field public static final String EXTRA_REMOTE_CALLBACK = "android.intent.extra.REMOTE_CALLBACK";
6008    field public static final String EXTRA_RESULT_NEEDED = "android.intent.extra.RESULT_NEEDED";
6009    field public static final String EXTRA_ROLE_NAME = "android.intent.extra.ROLE_NAME";
6010    field public static final String EXTRA_SHOWING_ATTRIBUTION = "android.intent.extra.SHOWING_ATTRIBUTION";
6011    field public static final String EXTRA_UNINSTALL_ALL_USERS = "android.intent.extra.UNINSTALL_ALL_USERS";
6012    field public static final String EXTRA_UNKNOWN_INSTANT_APP = "android.intent.extra.UNKNOWN_INSTANT_APP";
6013    field public static final String EXTRA_USER_HANDLE = "android.intent.extra.user_handle";
6014    field public static final String EXTRA_VERIFICATION_BUNDLE = "android.intent.extra.VERIFICATION_BUNDLE";
6015    field public static final int FLAG_RECEIVER_INCLUDE_BACKGROUND = 16777216; // 0x1000000
6016    field public static final int FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT = 67108864; // 0x4000000
6017    field public static final String METADATA_SETUP_VERSION = "android.SETUP_VERSION";
6018  }
6019
6020  public class IntentFilter implements android.os.Parcelable {
6021    method public final int getOrder();
6022    method public final void setOrder(int);
6023  }
6024
6025}
6026
6027package android.content.integrity {
6028
6029  public class AppIntegrityManager {
6030    method @NonNull public String getCurrentRuleSetProvider();
6031    method @NonNull public String getCurrentRuleSetVersion();
6032    method public void updateRuleSet(@NonNull android.content.integrity.RuleSet, @NonNull android.content.IntentSender);
6033    field public static final String EXTRA_STATUS = "android.content.integrity.extra.STATUS";
6034    field public static final int STATUS_FAILURE = 1; // 0x1
6035    field public static final int STATUS_SUCCESS = 0; // 0x0
6036  }
6037
6038  public abstract class IntegrityFormula {
6039    method @NonNull public static android.content.integrity.IntegrityFormula all(@NonNull android.content.integrity.IntegrityFormula...);
6040    method @NonNull public static android.content.integrity.IntegrityFormula any(@NonNull android.content.integrity.IntegrityFormula...);
6041    method @NonNull public static android.content.integrity.IntegrityFormula not(@NonNull android.content.integrity.IntegrityFormula);
6042  }
6043
6044  public static final class IntegrityFormula.Application {
6045    method @NonNull public static android.content.integrity.IntegrityFormula certificateLineageContains(@NonNull String);
6046    method @NonNull public static android.content.integrity.IntegrityFormula certificatesContain(@NonNull String);
6047    method @NonNull public static android.content.integrity.IntegrityFormula isPreInstalled();
6048    method @NonNull public static android.content.integrity.IntegrityFormula packageNameEquals(@NonNull String);
6049    method @NonNull public static android.content.integrity.IntegrityFormula versionCodeEquals(@NonNull long);
6050    method @NonNull public static android.content.integrity.IntegrityFormula versionCodeGreaterThan(@NonNull long);
6051    method @NonNull public static android.content.integrity.IntegrityFormula versionCodeGreaterThanOrEqualTo(@NonNull long);
6052  }
6053
6054  public static final class IntegrityFormula.Installer {
6055    method @NonNull public static android.content.integrity.IntegrityFormula certificatesContain(@NonNull String);
6056    method @NonNull public static android.content.integrity.IntegrityFormula notAllowedByManifest();
6057    method @NonNull public static android.content.integrity.IntegrityFormula packageNameEquals(@NonNull String);
6058  }
6059
6060  public static final class IntegrityFormula.SourceStamp {
6061    method @NonNull public static android.content.integrity.IntegrityFormula notTrusted();
6062    method @NonNull public static android.content.integrity.IntegrityFormula stampCertificateHashEquals(@NonNull String);
6063  }
6064
6065  public final class Rule implements android.os.Parcelable {
6066    ctor public Rule(@NonNull android.content.integrity.IntegrityFormula, int);
6067    method public int describeContents();
6068    method public int getEffect();
6069    method @NonNull public android.content.integrity.IntegrityFormula getFormula();
6070    method public void writeToParcel(@NonNull android.os.Parcel, int);
6071    field @NonNull public static final android.os.Parcelable.Creator<android.content.integrity.Rule> CREATOR;
6072    field public static final int DENY = 0; // 0x0
6073    field public static final int FORCE_ALLOW = 1; // 0x1
6074  }
6075
6076  public class RuleSet {
6077    method @NonNull public java.util.List<android.content.integrity.Rule> getRules();
6078    method @NonNull public String getVersion();
6079  }
6080
6081  public static class RuleSet.Builder {
6082    ctor public RuleSet.Builder();
6083    method @NonNull public android.content.integrity.RuleSet.Builder addRules(@NonNull java.util.List<android.content.integrity.Rule>);
6084    method @NonNull public android.content.integrity.RuleSet build();
6085    method @NonNull public android.content.integrity.RuleSet.Builder setVersion(@NonNull String);
6086  }
6087
6088}
6089
6090package android.content.om {
6091
6092  public final class OverlayInfo implements android.os.Parcelable {
6093    method @Nullable public String getCategory();
6094    method @NonNull public String getPackageName();
6095    method public int getUserId();
6096    method public boolean isEnabled();
6097  }
6098
6099  public class OverlayManager {
6100    method @Nullable public android.content.om.OverlayInfo getOverlayInfo(@NonNull String, @NonNull android.os.UserHandle);
6101    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);
6102    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;
6103    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;
6104  }
6105
6106}
6107
6108package android.content.pm {
6109
6110  public class ApplicationInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
6111    method @RequiresPermission(android.Manifest.permission.DELETE_PACKAGES) public boolean hasFragileUserData();
6112    method public boolean isEncryptionAware();
6113    method public boolean isInstantApp();
6114    method public boolean isOem();
6115    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public boolean isPrivilegedApp();
6116    method public boolean isProduct();
6117    method public boolean isVendor();
6118    field public String credentialProtectedDataDir;
6119    field public int targetSandboxVersion;
6120  }
6121
6122  public class CrossProfileApps {
6123    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);
6124    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);
6125  }
6126
6127  public class DataLoaderParams {
6128    method @NonNull public static final android.content.pm.DataLoaderParams forIncremental(@NonNull android.content.ComponentName, @NonNull String);
6129    method @NonNull public static final android.content.pm.DataLoaderParams forStreaming(@NonNull android.content.ComponentName, @NonNull String);
6130    method @NonNull public final String getArguments();
6131    method @NonNull public final android.content.ComponentName getComponentName();
6132    method @NonNull public final int getType();
6133  }
6134
6135  public final class InstallationFile {
6136    method public long getLengthBytes();
6137    method public int getLocation();
6138    method @Nullable public byte[] getMetadata();
6139    method @NonNull public String getName();
6140    method @Nullable public byte[] getSignature();
6141  }
6142
6143  public final class InstantAppInfo implements android.os.Parcelable {
6144    ctor public InstantAppInfo(android.content.pm.ApplicationInfo, String[], String[]);
6145    ctor public InstantAppInfo(String, CharSequence, String[], String[]);
6146    method public int describeContents();
6147    method @Nullable public android.content.pm.ApplicationInfo getApplicationInfo();
6148    method @Nullable public String[] getGrantedPermissions();
6149    method @NonNull public String getPackageName();
6150    method @Nullable public String[] getRequestedPermissions();
6151    method @NonNull public android.graphics.drawable.Drawable loadIcon(@NonNull android.content.pm.PackageManager);
6152    method @NonNull public CharSequence loadLabel(@NonNull android.content.pm.PackageManager);
6153    method public void writeToParcel(android.os.Parcel, int);
6154    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppInfo> CREATOR;
6155  }
6156
6157  public final class InstantAppIntentFilter implements android.os.Parcelable {
6158    ctor public InstantAppIntentFilter(@Nullable String, @NonNull java.util.List<android.content.IntentFilter>);
6159    method public int describeContents();
6160    method public java.util.List<android.content.IntentFilter> getFilters();
6161    method public String getSplitName();
6162    method public void writeToParcel(android.os.Parcel, int);
6163    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppIntentFilter> CREATOR;
6164  }
6165
6166  public final class InstantAppRequestInfo implements android.os.Parcelable {
6167    ctor public InstantAppRequestInfo(@NonNull android.content.Intent, @Nullable int[], @NonNull android.os.UserHandle, boolean, @NonNull String);
6168    method public int describeContents();
6169    method @Nullable public int[] getHostDigestPrefix();
6170    method @NonNull public android.content.Intent getIntent();
6171    method @NonNull public String getToken();
6172    method @NonNull public android.os.UserHandle getUserHandle();
6173    method public boolean isRequesterInstantApp();
6174    method public void writeToParcel(@NonNull android.os.Parcel, int);
6175    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppRequestInfo> CREATOR;
6176  }
6177
6178  public final class InstantAppResolveInfo implements android.os.Parcelable {
6179    ctor public InstantAppResolveInfo(@NonNull android.content.pm.InstantAppResolveInfo.InstantAppDigest, @Nullable String, @Nullable java.util.List<android.content.pm.InstantAppIntentFilter>, int);
6180    ctor public InstantAppResolveInfo(@NonNull android.content.pm.InstantAppResolveInfo.InstantAppDigest, @Nullable String, @Nullable java.util.List<android.content.pm.InstantAppIntentFilter>, long, @Nullable android.os.Bundle);
6181    ctor public InstantAppResolveInfo(@Nullable android.os.Bundle);
6182    ctor public InstantAppResolveInfo(@NonNull String, @Nullable String, @Nullable java.util.List<android.content.pm.InstantAppIntentFilter>);
6183    method public int describeContents();
6184    method public byte[] getDigestBytes();
6185    method public int getDigestPrefix();
6186    method @Nullable public android.os.Bundle getExtras();
6187    method public java.util.List<android.content.pm.InstantAppIntentFilter> getIntentFilters();
6188    method public long getLongVersionCode();
6189    method public String getPackageName();
6190    method @Deprecated public int getVersionCode();
6191    method public boolean shouldLetInstallerDecide();
6192    method public void writeToParcel(android.os.Parcel, int);
6193    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppResolveInfo> CREATOR;
6194  }
6195
6196  public static final class InstantAppResolveInfo.InstantAppDigest implements android.os.Parcelable {
6197    ctor public InstantAppResolveInfo.InstantAppDigest(@NonNull String);
6198    method public int describeContents();
6199    method public byte[][] getDigestBytes();
6200    method public int[] getDigestPrefix();
6201    method public void writeToParcel(android.os.Parcel, int);
6202    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.InstantAppResolveInfo.InstantAppDigest> CREATOR;
6203    field public static final android.content.pm.InstantAppResolveInfo.InstantAppDigest UNDEFINED;
6204  }
6205
6206  public final class IntentFilterVerificationInfo implements android.os.Parcelable {
6207    method public int describeContents();
6208    method public java.util.Set<java.lang.String> getDomains();
6209    method public String getPackageName();
6210    method public int getStatus();
6211    method public void writeToParcel(android.os.Parcel, int);
6212    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.IntentFilterVerificationInfo> CREATOR;
6213  }
6214
6215  public class LauncherApps {
6216    method @Nullable public android.content.pm.LauncherApps.AppUsageLimit getAppUsageLimit(@NonNull String, @NonNull android.os.UserHandle);
6217  }
6218
6219  public static final class LauncherApps.AppUsageLimit implements android.os.Parcelable {
6220    method public int describeContents();
6221    method public long getTotalUsageLimit();
6222    method public long getUsageRemaining();
6223    method public void writeToParcel(android.os.Parcel, int);
6224    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.LauncherApps.AppUsageLimit> CREATOR;
6225  }
6226
6227  public static class LauncherApps.ShortcutQuery {
6228    field public static final int FLAG_GET_PERSISTED_DATA = 4096; // 0x1000
6229    field @RequiresPermission(android.Manifest.permission.ACCESS_SHORTCUTS) public static final int FLAG_GET_PERSONS_DATA = 2048; // 0x800
6230  }
6231
6232  public class PackageInstaller {
6233    method @NonNull public android.content.pm.PackageInstaller.InstallInfo readInstallInfo(@NonNull android.os.ParcelFileDescriptor, @Nullable String, int) throws android.content.pm.PackageInstaller.PackageParsingException;
6234    method @NonNull public android.content.pm.PackageInstaller.InstallInfo readInstallInfo(@NonNull java.io.File, int) throws android.content.pm.PackageInstaller.PackageParsingException;
6235    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void setPermissionsResult(int, boolean);
6236    field public static final String ACTION_CONFIRM_INSTALL = "android.content.pm.action.CONFIRM_INSTALL";
6237    field public static final String ACTION_CONFIRM_PRE_APPROVAL = "android.content.pm.action.CONFIRM_PRE_APPROVAL";
6238    field public static final String ACTION_INSTALL_DEPENDENCY = "android.content.pm.action.INSTALL_DEPENDENCY";
6239    field public static final int DATA_LOADER_TYPE_INCREMENTAL = 2; // 0x2
6240    field public static final int DATA_LOADER_TYPE_NONE = 0; // 0x0
6241    field public static final int DATA_LOADER_TYPE_STREAMING = 1; // 0x1
6242    field public static final String EXTRA_CALLBACK = "android.content.pm.extra.CALLBACK";
6243    field public static final String EXTRA_DATA_LOADER_TYPE = "android.content.pm.extra.DATA_LOADER_TYPE";
6244    field public static final String EXTRA_DELETE_FLAGS = "android.content.pm.extra.DELETE_FLAGS";
6245    field public static final String EXTRA_LEGACY_STATUS = "android.content.pm.extra.LEGACY_STATUS";
6246    field @Deprecated public static final String EXTRA_RESOLVED_BASE_PATH = "android.content.pm.extra.RESOLVED_BASE_PATH";
6247    field public static final int LOCATION_DATA_APP = 0; // 0x0
6248    field public static final int LOCATION_MEDIA_DATA = 2; // 0x2
6249    field public static final int LOCATION_MEDIA_OBB = 1; // 0x1
6250    field public static final int REASON_CONFIRM_PACKAGE_CHANGE = 0; // 0x0
6251    field public static final int REASON_OWNERSHIP_CHANGED = 1; // 0x1
6252    field public static final int REASON_REMIND_OWNERSHIP = 2; // 0x2
6253  }
6254
6255  public static class PackageInstaller.InstallInfo {
6256    method public long calculateInstalledSize(@NonNull android.content.pm.PackageInstaller.SessionParams) throws java.io.IOException;
6257    method public long calculateInstalledSize(@NonNull android.content.pm.PackageInstaller.SessionParams, @NonNull android.os.ParcelFileDescriptor) throws java.io.IOException;
6258    method public int getInstallLocation();
6259    method @NonNull public String getPackageName();
6260  }
6261
6262  public static class PackageInstaller.PackageParsingException extends java.lang.Exception {
6263    method public int getErrorCode();
6264  }
6265
6266  public static class PackageInstaller.Session implements java.io.Closeable {
6267    method @RequiresPermission("com.android.permission.USE_INSTALLER_V2") public void addFile(int, @NonNull String, long, @NonNull byte[], @Nullable byte[]);
6268    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void commitTransferred(@NonNull android.content.IntentSender);
6269    method @Nullable @RequiresPermission("com.android.permission.USE_INSTALLER_V2") public android.content.pm.DataLoaderParams getDataLoaderParams();
6270    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_INSTANT_APPS) public java.util.Set<java.lang.String> getPreVerifiedDomains();
6271    method @RequiresPermission("com.android.permission.USE_INSTALLER_V2") public void removeFile(int, @NonNull String);
6272    method @RequiresPermission(android.Manifest.permission.ACCESS_INSTANT_APPS) public void setPreVerifiedDomains(@NonNull java.util.Set<java.lang.String>);
6273  }
6274
6275  public static class PackageInstaller.SessionInfo implements android.os.Parcelable {
6276    method public boolean getAllocateAggressive();
6277    method @Deprecated public boolean getAllowDowngrade();
6278    method public int getAutoRevokePermissionsMode();
6279    method public boolean getEnableRollback();
6280    method @Nullable public String[] getGrantedRuntimePermissions();
6281    method public boolean getInstallAsFullApp(boolean);
6282    method public boolean getInstallAsInstantApp(boolean);
6283    method public boolean getInstallAsVirtualPreload();
6284    method public int getPendingUserActionReason();
6285    method public boolean getRequestDowngrade();
6286    method @Nullable @RequiresPermission(android.Manifest.permission.READ_INSTALLED_SESSION_PATHS) public String getResolvedBaseApkPath();
6287    method public int getRollbackDataPolicy();
6288    method @NonNull public java.util.Set<java.lang.String> getWhitelistedRestrictedPermissions();
6289  }
6290
6291  public static class PackageInstaller.SessionParams implements android.os.Parcelable {
6292    method @RequiresPermission(android.Manifest.permission.ALLOCATE_AGGRESSIVE) public void setAllocateAggressive(boolean);
6293    method @Deprecated public void setAllowDowngrade(boolean);
6294    method @RequiresPermission(allOf={android.Manifest.permission.INSTALL_PACKAGES, "com.android.permission.USE_INSTALLER_V2"}) public void setDataLoaderParams(@NonNull android.content.pm.DataLoaderParams);
6295    method public void setEnableRollback(boolean);
6296    method public void setEnableRollback(boolean, int);
6297    method @Deprecated @RequiresPermission(android.Manifest.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS) public void setGrantedRuntimePermissions(String[]);
6298    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void setInstallAsApex();
6299    method public void setInstallAsInstantApp(boolean);
6300    method public void setInstallAsVirtualPreload();
6301    method public void setRequestDowngrade(boolean);
6302    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLLBACKS) public void setRollbackImpactLevel(int);
6303    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLLBACKS) public void setRollbackLifetimeMillis(long);
6304    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void setStaged();
6305  }
6306
6307  public class PackageItemInfo {
6308    method public static void forceSafeLabels();
6309    method @Deprecated @NonNull public CharSequence loadSafeLabel(@NonNull android.content.pm.PackageManager);
6310    method @NonNull public CharSequence loadSafeLabel(@NonNull android.content.pm.PackageManager, @FloatRange(from=0) float, int);
6311  }
6312
6313  public abstract class PackageManager {
6314    method @RequiresPermission("android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS") public abstract void addOnPermissionsChangeListener(@NonNull android.content.pm.PackageManager.OnPermissionsChangedListener);
6315    method public abstract boolean arePermissionsIndividuallyControlled();
6316    method @NonNull public boolean canUserUninstall(@NonNull String, @NonNull android.os.UserHandle);
6317    method @NonNull public abstract java.util.List<android.content.IntentFilter> getAllIntentFilters(@NonNull String);
6318    method @NonNull @RequiresPermission(android.Manifest.permission.GET_APP_METADATA) public android.os.PersistableBundle getAppMetadata(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
6319    method @RequiresPermission(android.Manifest.permission.GET_APP_METADATA) public int getAppMetadataSource(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
6320    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;
6321    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;
6322    method @NonNull public android.content.pm.dex.ArtManager getArtManager();
6323    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);
6324    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_SHARED_LIBRARIES) public java.util.List<android.content.pm.SharedLibraryInfo> getDeclaredSharedLibraries(@NonNull String, int);
6325    method @Nullable @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public abstract String getDefaultBrowserPackageNameAsUser(int);
6326    method @Nullable @RequiresPermission(android.Manifest.permission.SET_HARMFUL_APP_WARNINGS) public CharSequence getHarmfulAppWarning(@NonNull String);
6327    method @Nullable public String getIncidentReportApproverPackageName();
6328    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);
6329    method @NonNull @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public abstract java.util.List<android.content.pm.PackageInfo> getInstalledPackagesAsUser(int, int);
6330    method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_INSTANT_APPS) public abstract android.graphics.drawable.Drawable getInstantAppIcon(String);
6331    method @Nullable public abstract android.content.ComponentName getInstantAppInstallerComponent();
6332    method @Nullable public abstract android.content.ComponentName getInstantAppResolverSettingsComponent();
6333    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_INSTANT_APPS) public abstract java.util.List<android.content.pm.InstantAppInfo> getInstantApps();
6334    method @Deprecated @NonNull public abstract java.util.List<android.content.pm.IntentFilterVerificationInfo> getIntentFilterVerifications(@NonNull String);
6335    method @Deprecated @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public abstract int getIntentVerificationStatusAsUser(@NonNull String, int);
6336    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;
6337    method @NonNull public String getPermissionControllerPackageName();
6338    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);
6339    method @NonNull @RequiresPermission(android.Manifest.permission.SUSPEND_APPS) public String[] getUnsuspendablePackages(@NonNull String[]);
6340    method @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public abstract void grantRuntimePermission(@NonNull String, @NonNull String, @NonNull android.os.UserHandle);
6341    method @Deprecated public abstract int installExistingPackage(@NonNull String) throws android.content.pm.PackageManager.NameNotFoundException;
6342    method @Deprecated public abstract int installExistingPackage(@NonNull String, int) throws android.content.pm.PackageManager.NameNotFoundException;
6343    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);
6344    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);
6345    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);
6346    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);
6347    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);
6348    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);
6349    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);
6350    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);
6351    method public abstract void registerDexModule(@NonNull String, @Nullable android.content.pm.PackageManager.DexModuleRegisterCallback);
6352    method @RequiresPermission("android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS") public abstract void removeOnPermissionsChangeListener(@NonNull android.content.pm.PackageManager.OnPermissionsChangedListener);
6353    method public void replacePreferredActivity(@NonNull android.content.IntentFilter, int, @NonNull java.util.List<android.content.ComponentName>, @NonNull android.content.ComponentName);
6354    method @RequiresPermission(android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS) public abstract void revokeRuntimePermission(@NonNull String, @NonNull String, @NonNull android.os.UserHandle);
6355    method @RequiresPermission(android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS) public void revokeRuntimePermission(@NonNull String, @NonNull String, @NonNull android.os.UserHandle, @NonNull String);
6356    method public void sendDeviceCustomizationReadyBroadcast();
6357    method @RequiresPermission(allOf={android.Manifest.permission.SET_PREFERRED_APPLICATIONS, android.Manifest.permission.INTERACT_ACROSS_USERS_FULL}) public abstract boolean setDefaultBrowserPackageNameAsUser(@Nullable String, int);
6358    method @NonNull @RequiresPermission(android.Manifest.permission.SUSPEND_APPS) public String[] setDistractingPackageRestrictions(@NonNull String[], int);
6359    method @RequiresPermission(android.Manifest.permission.SET_HARMFUL_APP_WARNINGS) public void setHarmfulAppWarning(@NonNull String, @Nullable CharSequence);
6360    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);
6361    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);
6362    method @RequiresPermission(value=android.Manifest.permission.CHANGE_COMPONENT_ENABLED_STATE, conditional=true) public void setSyntheticAppDetailsActivityEnabled(@NonNull String, boolean);
6363    method public void setSystemAppState(@NonNull String, int);
6364    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public abstract void setUpdateAvailable(@NonNull String, boolean);
6365    method @NonNull public boolean shouldShowNewAppInstalledNotification();
6366    method @Deprecated @RequiresPermission(android.Manifest.permission.SET_PREFERRED_APPLICATIONS) public abstract boolean updateIntentVerificationStatusAsUser(@NonNull String, int, int);
6367    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);
6368    method @Deprecated @RequiresPermission(android.Manifest.permission.INTENT_FILTER_VERIFICATION_AGENT) public abstract void verifyIntentFilter(int, int, @NonNull java.util.List<java.lang.String>);
6369    field public static final String ACTION_REQUEST_PERMISSIONS = "android.content.pm.action.REQUEST_PERMISSIONS";
6370    field public static final String ACTION_REQUEST_PERMISSIONS_FOR_OTHER = "android.content.pm.action.REQUEST_PERMISSIONS_FOR_OTHER";
6371    field public static final int APP_METADATA_SOURCE_APK = 1; // 0x1
6372    field public static final int APP_METADATA_SOURCE_INSTALLER = 2; // 0x2
6373    field public static final int APP_METADATA_SOURCE_SYSTEM_IMAGE = 3; // 0x3
6374    field public static final int APP_METADATA_SOURCE_UNKNOWN = 0; // 0x0
6375    field public static final int DELETE_ALL_USERS = 2; // 0x2
6376    field public static final int DELETE_FAILED_ABORTED = -5; // 0xfffffffb
6377    field public static final int DELETE_FAILED_DEVICE_POLICY_MANAGER = -2; // 0xfffffffe
6378    field public static final int DELETE_FAILED_INTERNAL_ERROR = -1; // 0xffffffff
6379    field public static final int DELETE_FAILED_OWNER_BLOCKED = -4; // 0xfffffffc
6380    field public static final int DELETE_KEEP_DATA = 1; // 0x1
6381    field public static final int DELETE_SUCCEEDED = 1; // 0x1
6382    field public static final String EXTRA_REQUEST_PERMISSIONS_DEVICE_ID = "android.content.pm.extra.REQUEST_PERMISSIONS_DEVICE_ID";
6383    field public static final String EXTRA_REQUEST_PERMISSIONS_LEGACY_ACCESS_PERMISSION_NAMES = "android.content.pm.extra.REQUEST_PERMISSIONS_LEGACY_ACCESS_PERMISSION_NAMES";
6384    field public static final String EXTRA_REQUEST_PERMISSIONS_NAMES = "android.content.pm.extra.REQUEST_PERMISSIONS_NAMES";
6385    field public static final String EXTRA_REQUEST_PERMISSIONS_RESULTS = "android.content.pm.extra.REQUEST_PERMISSIONS_RESULTS";
6386    field public static final String FEATURE_BROADCAST_RADIO = "android.hardware.broadcastradio";
6387    field public static final String FEATURE_CONTEXT_HUB = "android.hardware.context_hub";
6388    field public static final String FEATURE_EROFS = "android.software.erofs";
6389    field public static final String FEATURE_EROFS_LEGACY = "android.software.erofs_legacy";
6390    field public static final String FEATURE_GAME_SERVICE = "android.software.game_service";
6391    field public static final String FEATURE_INCREMENTAL_DELIVERY = "android.software.incremental_delivery";
6392    field public static final String FEATURE_REBOOT_ESCROW = "android.hardware.reboot_escrow";
6393    field public static final String FEATURE_TELEPHONY_CARRIERLOCK = "android.hardware.telephony.carrierlock";
6394    field public static final String FEATURE_TELEPHONY_IMS_SINGLE_REGISTRATION = "android.hardware.telephony.ims.singlereg";
6395    field public static final String FEATURE_VIRTUALIZATION_FRAMEWORK = "android.software.virtualization_framework";
6396    field public static final int FLAGS_PERMISSION_RESERVED_PERMISSION_CONTROLLER = -268435456; // 0xf0000000
6397    field public static final int FLAG_PERMISSION_APPLY_RESTRICTION = 16384; // 0x4000
6398    field public static final int FLAG_PERMISSION_AUTO_REVOKED = 131072; // 0x20000
6399    field public static final int FLAG_PERMISSION_GRANTED_BY_DEFAULT = 32; // 0x20
6400    field public static final int FLAG_PERMISSION_GRANTED_BY_ROLE = 32768; // 0x8000
6401    field public static final int FLAG_PERMISSION_ONE_TIME = 65536; // 0x10000
6402    field public static final int FLAG_PERMISSION_POLICY_FIXED = 4; // 0x4
6403    field public static final int FLAG_PERMISSION_RESTRICTION_INSTALLER_EXEMPT = 2048; // 0x800
6404    field public static final int FLAG_PERMISSION_RESTRICTION_SYSTEM_EXEMPT = 4096; // 0x1000
6405    field public static final int FLAG_PERMISSION_RESTRICTION_UPGRADE_EXEMPT = 8192; // 0x2000
6406    field public static final int FLAG_PERMISSION_REVIEW_REQUIRED = 64; // 0x40
6407    field public static final int FLAG_PERMISSION_REVOKED_COMPAT = 8; // 0x8
6408    field @Deprecated public static final int FLAG_PERMISSION_REVOKE_ON_UPGRADE = 8; // 0x8
6409    field public static final int FLAG_PERMISSION_REVOKE_WHEN_REQUESTED = 128; // 0x80
6410    field public static final int FLAG_PERMISSION_SELECTED_LOCATION_ACCURACY = 524288; // 0x80000
6411    field public static final int FLAG_PERMISSION_SYSTEM_FIXED = 16; // 0x10
6412    field public static final int FLAG_PERMISSION_USER_FIXED = 2; // 0x2
6413    field public static final int FLAG_PERMISSION_USER_SENSITIVE_WHEN_DENIED = 512; // 0x200
6414    field public static final int FLAG_PERMISSION_USER_SENSITIVE_WHEN_GRANTED = 256; // 0x100
6415    field public static final int FLAG_PERMISSION_USER_SET = 1; // 0x1
6416    field public static final int INSTALL_FAILED_ALREADY_EXISTS = -1; // 0xffffffff
6417    field public static final int INSTALL_FAILED_CONFLICTING_PROVIDER = -13; // 0xfffffff3
6418    field public static final int INSTALL_FAILED_CONTAINER_ERROR = -18; // 0xffffffee
6419    field public static final int INSTALL_FAILED_CPU_ABI_INCOMPATIBLE = -16; // 0xfffffff0
6420    field public static final int INSTALL_FAILED_DEXOPT = -11; // 0xfffffff5
6421    field public static final int INSTALL_FAILED_DUPLICATE_PACKAGE = -5; // 0xfffffffb
6422    field public static final int INSTALL_FAILED_INSUFFICIENT_STORAGE = -4; // 0xfffffffc
6423    field public static final int INSTALL_FAILED_INTERNAL_ERROR = -110; // 0xffffff92
6424    field public static final int INSTALL_FAILED_INVALID_APK = -2; // 0xfffffffe
6425    field public static final int INSTALL_FAILED_INVALID_INSTALL_LOCATION = -19; // 0xffffffed
6426    field public static final int INSTALL_FAILED_INVALID_URI = -3; // 0xfffffffd
6427    field public static final int INSTALL_FAILED_MEDIA_UNAVAILABLE = -20; // 0xffffffec
6428    field public static final int INSTALL_FAILED_MISSING_FEATURE = -17; // 0xffffffef
6429    field public static final int INSTALL_FAILED_MISSING_SHARED_LIBRARY = -9; // 0xfffffff7
6430    field public static final int INSTALL_FAILED_NEWER_SDK = -14; // 0xfffffff2
6431    field public static final int INSTALL_FAILED_NO_SHARED_USER = -6; // 0xfffffffa
6432    field public static final int INSTALL_FAILED_OLDER_SDK = -12; // 0xfffffff4
6433    field public static final int INSTALL_FAILED_PACKAGE_CHANGED = -23; // 0xffffffe9
6434    field public static final int INSTALL_FAILED_PERMISSION_MODEL_DOWNGRADE = -26; // 0xffffffe6
6435    field public static final int INSTALL_FAILED_REPLACE_COULDNT_DELETE = -10; // 0xfffffff6
6436    field public static final int INSTALL_FAILED_SANDBOX_VERSION_DOWNGRADE = -27; // 0xffffffe5
6437    field public static final int INSTALL_FAILED_SHARED_USER_INCOMPATIBLE = -8; // 0xfffffff8
6438    field public static final int INSTALL_FAILED_TEST_ONLY = -15; // 0xfffffff1
6439    field public static final int INSTALL_FAILED_UPDATE_INCOMPATIBLE = -7; // 0xfffffff9
6440    field public static final int INSTALL_FAILED_VERIFICATION_FAILURE = -22; // 0xffffffea
6441    field public static final int INSTALL_FAILED_VERIFICATION_TIMEOUT = -21; // 0xffffffeb
6442    field public static final int INSTALL_PARSE_FAILED_BAD_MANIFEST = -101; // 0xffffff9b
6443    field public static final int INSTALL_PARSE_FAILED_BAD_PACKAGE_NAME = -106; // 0xffffff96
6444    field public static final int INSTALL_PARSE_FAILED_BAD_SHARED_USER_ID = -107; // 0xffffff95
6445    field public static final int INSTALL_PARSE_FAILED_CERTIFICATE_ENCODING = -105; // 0xffffff97
6446    field public static final int INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES = -104; // 0xffffff98
6447    field public static final int INSTALL_PARSE_FAILED_MANIFEST_EMPTY = -109; // 0xffffff93
6448    field public static final int INSTALL_PARSE_FAILED_MANIFEST_MALFORMED = -108; // 0xffffff94
6449    field public static final int INSTALL_PARSE_FAILED_NOT_APK = -100; // 0xffffff9c
6450    field public static final int INSTALL_PARSE_FAILED_NO_CERTIFICATES = -103; // 0xffffff99
6451    field public static final int INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION = -102; // 0xffffff9a
6452    field public static final int INSTALL_SUCCEEDED = 1; // 0x1
6453    field @Deprecated public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ALWAYS = 2; // 0x2
6454    field @Deprecated public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ALWAYS_ASK = 4; // 0x4
6455    field @Deprecated public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_ASK = 1; // 0x1
6456    field @Deprecated public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_NEVER = 3; // 0x3
6457    field @Deprecated public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_UNDEFINED = 0; // 0x0
6458    field @Deprecated public static final int INTENT_FILTER_VERIFICATION_FAILURE = -1; // 0xffffffff
6459    field @Deprecated public static final int INTENT_FILTER_VERIFICATION_SUCCESS = 1; // 0x1
6460    field @Deprecated public static final int MASK_PERMISSION_FLAGS = 255; // 0xff
6461    field public static final int MATCH_ANY_USER = 4194304; // 0x400000
6462    field @Deprecated public static final int MATCH_CLONE_PROFILE = 536870912; // 0x20000000
6463    field public static final long MATCH_CLONE_PROFILE_LONG = 17179869184L; // 0x400000000L
6464    field public static final int MATCH_FACTORY_ONLY = 2097152; // 0x200000
6465    field public static final int MATCH_HIDDEN_UNTIL_INSTALLED_COMPONENTS = 536870912; // 0x20000000
6466    field public static final int MATCH_INSTANT = 8388608; // 0x800000
6467    field public static final int MODULE_APEX_NAME = 1; // 0x1
6468    field public static final int RESTRICTION_HIDE_FROM_SUGGESTIONS = 1; // 0x1
6469    field public static final int RESTRICTION_HIDE_NOTIFICATIONS = 2; // 0x2
6470    field public static final int RESTRICTION_NONE = 0; // 0x0
6471    field public static final int ROLLBACK_DATA_POLICY_RESTORE = 0; // 0x0
6472    field public static final int ROLLBACK_DATA_POLICY_RETAIN = 2; // 0x2
6473    field public static final int ROLLBACK_DATA_POLICY_WIPE = 1; // 0x1
6474    field public static final int ROLLBACK_USER_IMPACT_HIGH = 1; // 0x1
6475    field public static final int ROLLBACK_USER_IMPACT_LOW = 0; // 0x0
6476    field public static final int ROLLBACK_USER_IMPACT_ONLY_MANUAL = 2; // 0x2
6477    field public static final int SYSTEM_APP_STATE_HIDDEN_UNTIL_INSTALLED_HIDDEN = 0; // 0x0
6478    field public static final int SYSTEM_APP_STATE_HIDDEN_UNTIL_INSTALLED_VISIBLE = 1; // 0x1
6479    field public static final int SYSTEM_APP_STATE_INSTALLED = 2; // 0x2
6480    field public static final int SYSTEM_APP_STATE_UNINSTALLED = 3; // 0x3
6481  }
6482
6483  public abstract static class PackageManager.DexModuleRegisterCallback {
6484    ctor public PackageManager.DexModuleRegisterCallback();
6485    method public abstract void onDexModuleRegistered(String, boolean, String);
6486  }
6487
6488  public static interface PackageManager.OnPermissionsChangedListener {
6489    method public void onPermissionsChanged(int);
6490    method public default void onPermissionsChanged(int, @NonNull String);
6491  }
6492
6493  public static final class PackageManager.UninstallCompleteCallback implements android.os.Parcelable {
6494    method public int describeContents();
6495    method public void onUninstallComplete(@NonNull String, int, @Nullable String);
6496    method public void writeToParcel(@NonNull android.os.Parcel, int);
6497    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.PackageManager.UninstallCompleteCallback> CREATOR;
6498  }
6499
6500  public class PermissionGroupInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
6501    field @StringRes public final int backgroundRequestDetailResourceId;
6502    field @StringRes public final int backgroundRequestResourceId;
6503    field @StringRes public final int requestDetailResourceId;
6504    field @StringRes public int requestRes;
6505  }
6506
6507  public class PermissionInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
6508    field public static final int FLAG_REMOVED = 2; // 0x2
6509    field public static final int PROTECTION_FLAG_APP_PREDICTOR = 2097152; // 0x200000
6510    field public static final int PROTECTION_FLAG_COMPANION = 8388608; // 0x800000
6511    field public static final int PROTECTION_FLAG_CONFIGURATOR = 524288; // 0x80000
6512    field @Deprecated public static final int PROTECTION_FLAG_DOCUMENTER = 262144; // 0x40000
6513    field public static final int PROTECTION_FLAG_INCIDENT_REPORT_APPROVER = 1048576; // 0x100000
6514    field public static final int PROTECTION_FLAG_KNOWN_SIGNER = 134217728; // 0x8000000
6515    field public static final int PROTECTION_FLAG_MODULE = 4194304; // 0x400000
6516    field public static final int PROTECTION_FLAG_OEM = 16384; // 0x4000
6517    field public static final int PROTECTION_FLAG_RECENTS = 33554432; // 0x2000000
6518    field @Deprecated public static final int PROTECTION_FLAG_RETAIL_DEMO = 16777216; // 0x1000000
6519    field public static final int PROTECTION_FLAG_ROLE = 67108864; // 0x4000000
6520    field public static final int PROTECTION_FLAG_SYSTEM_TEXT_CLASSIFIER = 65536; // 0x10000
6521    field public static final int PROTECTION_FLAG_VENDOR_PRIVILEGED = 32768; // 0x8000
6522    field @Deprecated public static final int PROTECTION_FLAG_WELLBEING = 131072; // 0x20000
6523    field @Nullable public final String backgroundPermission;
6524    field @NonNull public java.util.Set<java.lang.String> knownCerts;
6525    field @StringRes public int requestRes;
6526  }
6527
6528  public class ResolveInfo implements android.os.Parcelable {
6529    field public boolean handleAllWebDataURI;
6530  }
6531
6532  public final class ShortcutInfo implements android.os.Parcelable {
6533    method @Nullable public android.app.Person[] getPersons();
6534  }
6535
6536  public class ShortcutManager {
6537    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_APP_PREDICTIONS) @WorkerThread public java.util.List<android.content.pm.ShortcutManager.ShareShortcutInfo> getShareTargets(@NonNull android.content.IntentFilter);
6538    method public boolean hasShareTargets(@NonNull String);
6539  }
6540
6541  public static final class ShortcutManager.ShareShortcutInfo implements android.os.Parcelable {
6542    method public int describeContents();
6543    method @NonNull public android.content.pm.ShortcutInfo getShortcutInfo();
6544    method @NonNull public android.content.ComponentName getTargetComponent();
6545    method public void writeToParcel(@NonNull android.os.Parcel, int);
6546    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.ShortcutManager.ShareShortcutInfo> CREATOR;
6547  }
6548
6549  public final class SuspendDialogInfo implements android.os.Parcelable {
6550    method public int describeContents();
6551    method public void writeToParcel(android.os.Parcel, int);
6552    field public static final int BUTTON_ACTION_MORE_DETAILS = 0; // 0x0
6553    field public static final int BUTTON_ACTION_UNSUSPEND = 1; // 0x1
6554    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.SuspendDialogInfo> CREATOR;
6555  }
6556
6557  public static final class SuspendDialogInfo.Builder {
6558    ctor public SuspendDialogInfo.Builder();
6559    method @NonNull public android.content.pm.SuspendDialogInfo build();
6560    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setIcon(@DrawableRes int);
6561    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setMessage(@StringRes int);
6562    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setMessage(@NonNull String);
6563    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setNeutralButtonAction(int);
6564    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setNeutralButtonText(@StringRes int);
6565    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setNeutralButtonText(@NonNull String);
6566    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setTitle(@StringRes int);
6567    method @NonNull public android.content.pm.SuspendDialogInfo.Builder setTitle(@NonNull String);
6568  }
6569
6570  public final class UserProperties implements android.os.Parcelable {
6571    method public int describeContents();
6572    method public int getCrossProfileContentSharingStrategy();
6573    method public int getShowInQuietMode();
6574    method public int getShowInSharingSurfaces();
6575    method public boolean isCredentialShareableWithParent();
6576    method public boolean isMediaSharedWithParent();
6577    method public void writeToParcel(@NonNull android.os.Parcel, int);
6578    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.UserProperties> CREATOR;
6579    field public static final int CROSS_PROFILE_CONTENT_SHARING_DELEGATE_FROM_PARENT = 1; // 0x1
6580    field public static final int CROSS_PROFILE_CONTENT_SHARING_NO_DELEGATION = 0; // 0x0
6581    field public static final int CROSS_PROFILE_CONTENT_SHARING_UNKNOWN = -1; // 0xffffffff
6582    field public static final int SHOW_IN_QUIET_MODE_DEFAULT = 2; // 0x2
6583    field public static final int SHOW_IN_QUIET_MODE_HIDDEN = 1; // 0x1
6584    field public static final int SHOW_IN_QUIET_MODE_PAUSED = 0; // 0x0
6585    field public static final int SHOW_IN_QUIET_MODE_UNKNOWN = -1; // 0xffffffff
6586    field public static final int SHOW_IN_SHARING_SURFACES_NO = 2; // 0x2
6587    field public static final int SHOW_IN_SHARING_SURFACES_SEPARATE = 1; // 0x1
6588    field public static final int SHOW_IN_SHARING_SURFACES_UNKNOWN = -1; // 0xffffffff
6589    field public static final int SHOW_IN_SHARING_SURFACES_WITH_PARENT = 0; // 0x0
6590  }
6591
6592}
6593
6594package android.content.pm.dependencyinstaller {
6595
6596  public final class DependencyInstallerCallback implements android.os.Parcelable {
6597    method public int describeContents();
6598    method public void onAllDependenciesResolved(@NonNull int[]);
6599    method public void onFailureToResolveAllDependencies();
6600    method public void writeToParcel(@NonNull android.os.Parcel, int);
6601    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.dependencyinstaller.DependencyInstallerCallback> CREATOR;
6602  }
6603
6604  public abstract class DependencyInstallerService extends android.app.Service {
6605    ctor public DependencyInstallerService();
6606    method @NonNull public final android.os.IBinder onBind(@Nullable android.content.Intent);
6607    method public abstract void onDependenciesRequired(@NonNull java.util.List<android.content.pm.SharedLibraryInfo>, @NonNull android.content.pm.dependencyinstaller.DependencyInstallerCallback);
6608  }
6609
6610}
6611
6612package android.content.pm.dex {
6613
6614  public class ArtManager {
6615    method @RequiresPermission(allOf={android.Manifest.permission.READ_RUNTIME_PROFILES, android.Manifest.permission.PACKAGE_USAGE_STATS}) public boolean isRuntimeProfilingEnabled(int);
6616    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);
6617    field public static final int PROFILE_APPS = 0; // 0x0
6618    field public static final int PROFILE_BOOT_IMAGE = 1; // 0x1
6619    field public static final int SNAPSHOT_FAILED_CODE_PATH_NOT_FOUND = 1; // 0x1
6620    field public static final int SNAPSHOT_FAILED_INTERNAL_ERROR = 2; // 0x2
6621    field public static final int SNAPSHOT_FAILED_PACKAGE_NOT_FOUND = 0; // 0x0
6622  }
6623
6624  public abstract static class ArtManager.SnapshotRuntimeProfileCallback {
6625    ctor public ArtManager.SnapshotRuntimeProfileCallback();
6626    method public abstract void onError(int);
6627    method public abstract void onSuccess(android.os.ParcelFileDescriptor);
6628  }
6629
6630}
6631
6632package android.content.pm.permission {
6633
6634  @Deprecated public final class RuntimePermissionPresentationInfo implements android.os.Parcelable {
6635    ctor @Deprecated public RuntimePermissionPresentationInfo(CharSequence, boolean, boolean);
6636    method @Deprecated public int describeContents();
6637    method @Deprecated @NonNull public CharSequence getLabel();
6638    method @Deprecated public boolean isGranted();
6639    method @Deprecated public boolean isStandard();
6640    method @Deprecated public void writeToParcel(android.os.Parcel, int);
6641    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.content.pm.permission.RuntimePermissionPresentationInfo> CREATOR;
6642  }
6643
6644}
6645
6646package android.content.pm.verify.domain {
6647
6648  public final class DomainOwner implements android.os.Parcelable {
6649    ctor public DomainOwner(@NonNull String, boolean);
6650    method public int describeContents();
6651    method @NonNull public String getPackageName();
6652    method public boolean isOverrideable();
6653    method public void writeToParcel(@NonNull android.os.Parcel, int);
6654    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.verify.domain.DomainOwner> CREATOR;
6655  }
6656
6657  public final class DomainVerificationInfo implements android.os.Parcelable {
6658    method public int describeContents();
6659    method @NonNull public java.util.Map<java.lang.String,java.lang.Integer> getHostToStateMap();
6660    method @NonNull public java.util.UUID getIdentifier();
6661    method @NonNull public String getPackageName();
6662    method public void writeToParcel(@NonNull android.os.Parcel, int);
6663    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.verify.domain.DomainVerificationInfo> CREATOR;
6664    field public static final int STATE_FIRST_VERIFIER_DEFINED = 1024; // 0x400
6665    field public static final int STATE_MODIFIABLE_UNVERIFIED = 3; // 0x3
6666    field public static final int STATE_MODIFIABLE_VERIFIED = 4; // 0x4
6667    field public static final int STATE_NO_RESPONSE = 0; // 0x0
6668    field public static final int STATE_SUCCESS = 1; // 0x1
6669    field public static final int STATE_UNMODIFIABLE = 2; // 0x2
6670  }
6671
6672  public final class DomainVerificationManager {
6673    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;
6674    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DOMAIN_VERIFICATION_USER_SELECTION) public java.util.SortedSet<android.content.pm.verify.domain.DomainOwner> getOwnersForDomain(@NonNull String);
6675    method @NonNull public java.util.Map<java.lang.String,java.util.List<android.content.UriRelativeFilterGroup>> getUriRelativeFilterGroups(@NonNull String, @NonNull java.util.List<java.lang.String>);
6676    method @NonNull @RequiresPermission(android.Manifest.permission.DOMAIN_VERIFICATION_AGENT) public java.util.List<java.lang.String> queryValidVerificationPackageNames();
6677    method @RequiresPermission(android.Manifest.permission.UPDATE_DOMAIN_VERIFICATION_USER_SELECTION) public void setDomainVerificationLinkHandlingAllowed(@NonNull String, boolean) throws android.content.pm.PackageManager.NameNotFoundException;
6678    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;
6679    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;
6680    method @RequiresPermission(android.Manifest.permission.DOMAIN_VERIFICATION_AGENT) public void setUriRelativeFilterGroups(@NonNull String, @NonNull java.util.Map<java.lang.String,java.util.List<android.content.UriRelativeFilterGroup>>);
6681    field public static final int ERROR_DOMAIN_SET_ID_INVALID = 1; // 0x1
6682    field public static final int ERROR_UNABLE_TO_APPROVE = 3; // 0x3
6683    field public static final int ERROR_UNKNOWN_DOMAIN = 2; // 0x2
6684    field public static final String EXTRA_VERIFICATION_REQUEST = "android.content.pm.verify.domain.extra.VERIFICATION_REQUEST";
6685    field public static final int STATUS_OK = 0; // 0x0
6686  }
6687
6688  public final class DomainVerificationRequest implements android.os.Parcelable {
6689    method public int describeContents();
6690    method @NonNull public java.util.Set<java.lang.String> getPackageNames();
6691    method public void writeToParcel(@NonNull android.os.Parcel, int);
6692    field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.verify.domain.DomainVerificationRequest> CREATOR;
6693  }
6694
6695  public final class DomainVerificationUserState implements android.os.Parcelable {
6696    method @NonNull public java.util.UUID getIdentifier();
6697  }
6698
6699}
6700
6701package android.content.rollback {
6702
6703  public final class PackageRollbackInfo implements android.os.Parcelable {
6704    method public int describeContents();
6705    method @NonNull public String getPackageName();
6706    method @NonNull public android.content.pm.VersionedPackage getVersionRolledBackFrom();
6707    method @NonNull public android.content.pm.VersionedPackage getVersionRolledBackTo();
6708    method public boolean isApex();
6709    method public boolean isApkInApex();
6710    method public void writeToParcel(android.os.Parcel, int);
6711    field @NonNull public static final android.os.Parcelable.Creator<android.content.rollback.PackageRollbackInfo> CREATOR;
6712  }
6713
6714  public final class RollbackInfo implements android.os.Parcelable {
6715    method public int describeContents();
6716    method @NonNull public java.util.List<android.content.pm.VersionedPackage> getCausePackages();
6717    method public int getCommittedSessionId();
6718    method @NonNull public java.util.List<android.content.rollback.PackageRollbackInfo> getPackages();
6719    method public int getRollbackId();
6720    method public int getRollbackImpactLevel();
6721    method public boolean isStaged();
6722    method public void writeToParcel(android.os.Parcel, int);
6723    field @NonNull public static final android.os.Parcelable.Creator<android.content.rollback.RollbackInfo> CREATOR;
6724  }
6725
6726  public final class RollbackManager {
6727    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);
6728    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_ROLLBACKS, "android.permission.TEST_MANAGE_ROLLBACKS"}) public java.util.List<android.content.rollback.RollbackInfo> getAvailableRollbacks();
6729    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_ROLLBACKS, "android.permission.TEST_MANAGE_ROLLBACKS"}) public java.util.List<android.content.rollback.RollbackInfo> getRecentlyCommittedRollbacks();
6730    field public static final String EXTRA_STATUS = "android.content.rollback.extra.STATUS";
6731    field public static final String EXTRA_STATUS_MESSAGE = "android.content.rollback.extra.STATUS_MESSAGE";
6732    field public static final int STATUS_FAILURE = 1; // 0x1
6733    field public static final int STATUS_FAILURE_INSTALL = 3; // 0x3
6734    field public static final int STATUS_FAILURE_ROLLBACK_UNAVAILABLE = 2; // 0x2
6735    field public static final int STATUS_SUCCESS = 0; // 0x0
6736  }
6737
6738}
6739
6740package android.credentials.selection {
6741
6742  public final class AuthenticationEntry implements android.os.Parcelable {
6743    ctor public AuthenticationEntry(@NonNull String, @NonNull String, @NonNull android.app.slice.Slice, int, @NonNull android.content.Intent);
6744    method public int describeContents();
6745    method @Nullable public android.content.Intent getFrameworkExtrasIntent();
6746    method @NonNull public String getKey();
6747    method @NonNull public android.app.slice.Slice getSlice();
6748    method @NonNull public int getStatus();
6749    method @NonNull public String getSubkey();
6750    method public void writeToParcel(@NonNull android.os.Parcel, int);
6751    field @NonNull public static final android.os.Parcelable.Creator<android.credentials.selection.AuthenticationEntry> CREATOR;
6752    field public static final int STATUS_LOCKED = 0; // 0x0
6753    field public static final int STATUS_UNLOCKED_BUT_EMPTY_LESS_RECENT = 1; // 0x1
6754    field public static final int STATUS_UNLOCKED_BUT_EMPTY_MOST_RECENT = 2; // 0x2
6755  }
6756
6757  public final class CancelSelectionRequest implements android.os.Parcelable {
6758    ctor public CancelSelectionRequest(@NonNull android.credentials.selection.RequestToken, boolean, @NonNull String);
6759    method public int describeContents();
6760    method @NonNull public String getPackageName();
6761    method @NonNull public android.credentials.selection.RequestToken getRequestToken();
6762    method public boolean shouldShowCancellationExplanation();
6763    method public void writeToParcel(@NonNull android.os.Parcel, int);
6764    field @NonNull public static final android.os.Parcelable.Creator<android.credentials.selection.CancelSelectionRequest> CREATOR;
6765  }
6766
6767  public final class CreateCredentialProviderInfo {
6768    method @NonNull public String getProviderName();
6769    method @Nullable public android.credentials.selection.Entry getRemoteEntry();
6770    method @NonNull public java.util.List<android.credentials.selection.Entry> getSaveEntries();
6771  }
6772
6773  public static final class CreateCredentialProviderInfo.Builder {
6774    ctor public CreateCredentialProviderInfo.Builder(@NonNull String);
6775    method @NonNull public android.credentials.selection.CreateCredentialProviderInfo build();
6776    method @NonNull public android.credentials.selection.CreateCredentialProviderInfo.Builder setRemoteEntry(@Nullable android.credentials.selection.Entry);
6777    method @NonNull public android.credentials.selection.CreateCredentialProviderInfo.Builder setSaveEntries(@NonNull java.util.List<android.credentials.selection.Entry>);
6778  }
6779
6780  public final class DisabledProviderInfo {
6781    ctor public DisabledProviderInfo(@NonNull String);
6782    method @NonNull public String getProviderName();
6783  }
6784
6785  public final class Entry implements android.os.Parcelable {
6786    ctor public Entry(@NonNull String, @NonNull String, @NonNull android.app.slice.Slice, @NonNull android.content.Intent);
6787    method public int describeContents();
6788    method @Nullable public android.content.Intent getFrameworkExtrasIntent();
6789    method @NonNull public String getKey();
6790    method @NonNull public android.app.slice.Slice getSlice();
6791    method @NonNull public String getSubkey();
6792    method public void writeToParcel(@NonNull android.os.Parcel, int);
6793    field @NonNull public static final android.os.Parcelable.Creator<android.credentials.selection.Entry> CREATOR;
6794  }
6795
6796  public final class FailureResult {
6797    ctor public FailureResult(int, @Nullable String);
6798    method public int getErrorCode();
6799    method @Nullable public String getErrorMessage();
6800    method public static void sendFailureResult(@NonNull android.os.ResultReceiver, @NonNull android.credentials.selection.FailureResult);
6801    field public static final int ERROR_CODE_CANCELED_AND_LAUNCHED_SETTINGS = 2; // 0x2
6802    field public static final int ERROR_CODE_DIALOG_CANCELED_BY_USER = 1; // 0x1
6803    field public static final int ERROR_CODE_UI_FAILURE = 0; // 0x0
6804  }
6805
6806  public final class GetCredentialProviderInfo {
6807    method @NonNull public java.util.List<android.credentials.selection.Entry> getActionChips();
6808    method @NonNull public java.util.List<android.credentials.selection.AuthenticationEntry> getAuthenticationEntries();
6809    method @NonNull public java.util.List<android.credentials.selection.Entry> getCredentialEntries();
6810    method @NonNull public String getProviderName();
6811    method @Nullable public android.credentials.selection.Entry getRemoteEntry();
6812  }
6813
6814  public static final class GetCredentialProviderInfo.Builder {
6815    ctor public GetCredentialProviderInfo.Builder(@NonNull String);
6816    method @NonNull public android.credentials.selection.GetCredentialProviderInfo build();
6817    method @NonNull public android.credentials.selection.GetCredentialProviderInfo.Builder setActionChips(@NonNull java.util.List<android.credentials.selection.Entry>);
6818    method @NonNull public android.credentials.selection.GetCredentialProviderInfo.Builder setAuthenticationEntries(@NonNull java.util.List<android.credentials.selection.AuthenticationEntry>);
6819    method @NonNull public android.credentials.selection.GetCredentialProviderInfo.Builder setCredentialEntries(@NonNull java.util.List<android.credentials.selection.Entry>);
6820    method @NonNull public android.credentials.selection.GetCredentialProviderInfo.Builder setRemoteEntry(@Nullable android.credentials.selection.Entry);
6821  }
6822
6823  public final class IntentHelper {
6824    method @Nullable public static android.credentials.selection.CancelSelectionRequest extractCancelUiRequest(@NonNull android.content.Intent);
6825    method @NonNull public static java.util.List<android.credentials.selection.CreateCredentialProviderInfo> extractCreateCredentialProviderInfoList(@NonNull android.content.Intent);
6826    method @NonNull public static java.util.List<android.credentials.selection.DisabledProviderInfo> extractDisabledProviderInfoList(@NonNull android.content.Intent);
6827    method @NonNull public static java.util.List<android.credentials.selection.GetCredentialProviderInfo> extractGetCredentialProviderInfoList(@NonNull android.content.Intent);
6828    method @Nullable public static android.credentials.selection.RequestInfo extractRequestInfo(@NonNull android.content.Intent);
6829    method @Nullable public static android.os.ResultReceiver extractResultReceiver(@NonNull android.content.Intent);
6830  }
6831
6832  public final class ProviderPendingIntentResponse implements android.os.Parcelable {
6833    ctor public ProviderPendingIntentResponse(int, @Nullable android.content.Intent);
6834    method public int describeContents();
6835    method public int getResultCode();
6836    method @Nullable public android.content.Intent getResultData();
6837    method public void writeToParcel(@NonNull android.os.Parcel, int);
6838    field @NonNull public static final android.os.Parcelable.Creator<android.credentials.selection.ProviderPendingIntentResponse> CREATOR;
6839  }
6840
6841  public final class RequestInfo implements android.os.Parcelable {
6842    method public int describeContents();
6843    method @Nullable public android.credentials.CreateCredentialRequest getCreateCredentialRequest();
6844    method @NonNull public java.util.List<java.lang.String> getDefaultProviderIds();
6845    method @Nullable public android.credentials.GetCredentialRequest getGetCredentialRequest();
6846    method @NonNull public String getPackageName();
6847    method @NonNull public java.util.List<java.lang.String> getRegistryProviderIds();
6848    method @NonNull public android.credentials.selection.RequestToken getRequestToken();
6849    method @NonNull public String getType();
6850    method public boolean hasPermissionToOverrideDefault();
6851    method public boolean isShowAllOptionsRequested();
6852    method public void writeToParcel(@NonNull android.os.Parcel, int);
6853    field @NonNull public static final android.os.Parcelable.Creator<android.credentials.selection.RequestInfo> CREATOR;
6854    field @NonNull public static final String TYPE_CREATE = "android.credentials.selection.TYPE_CREATE";
6855    field @NonNull public static final String TYPE_GET = "android.credentials.selection.TYPE_GET";
6856    field @NonNull public static final String TYPE_UNDEFINED = "android.credentials.selection.TYPE_UNDEFINED";
6857  }
6858
6859  public final class RequestToken {
6860  }
6861
6862  public final class UserSelectionResult {
6863    ctor public UserSelectionResult(@NonNull String, @NonNull String, @NonNull String, @Nullable android.credentials.selection.ProviderPendingIntentResponse);
6864    method @NonNull public String getEntryKey();
6865    method @NonNull public String getEntrySubkey();
6866    method @Nullable public android.credentials.selection.ProviderPendingIntentResponse getPendingIntentProviderResponse();
6867    method @NonNull public String getProviderId();
6868    method public static void sendUserSelectionResult(@NonNull android.os.ResultReceiver, @NonNull android.credentials.selection.UserSelectionResult);
6869  }
6870
6871}
6872
6873package android.database {
6874
6875  public abstract class ContentObserver {
6876    method public void onChange(boolean, @NonNull java.util.Collection<android.net.Uri>, int, @NonNull android.os.UserHandle);
6877  }
6878
6879}
6880
6881package android.debug {
6882
6883  public class AdbManager {
6884    method @RequiresPermission(android.Manifest.permission.MANAGE_DEBUGGING) public boolean isAdbWifiQrSupported();
6885    method @RequiresPermission(android.Manifest.permission.MANAGE_DEBUGGING) public boolean isAdbWifiSupported();
6886  }
6887
6888}
6889
6890package android.graphics.fonts {
6891
6892  public final class FontFamilyUpdateRequest {
6893    method @NonNull public java.util.List<android.graphics.fonts.FontFamilyUpdateRequest.FontFamily> getFontFamilies();
6894    method @NonNull public java.util.List<android.graphics.fonts.FontFileUpdateRequest> getFontFileUpdateRequests();
6895  }
6896
6897  public static final class FontFamilyUpdateRequest.Builder {
6898    ctor public FontFamilyUpdateRequest.Builder();
6899    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.Builder addFontFamily(@NonNull android.graphics.fonts.FontFamilyUpdateRequest.FontFamily);
6900    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.Builder addFontFileUpdateRequest(@NonNull android.graphics.fonts.FontFileUpdateRequest);
6901    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest build();
6902  }
6903
6904  public static final class FontFamilyUpdateRequest.Font {
6905    method @NonNull public java.util.List<android.graphics.fonts.FontVariationAxis> getAxes();
6906    method @IntRange(from=0) public int getIndex();
6907    method @NonNull public String getPostScriptName();
6908    method @NonNull public android.graphics.fonts.FontStyle getStyle();
6909  }
6910
6911  public static final class FontFamilyUpdateRequest.Font.Builder {
6912    ctor public FontFamilyUpdateRequest.Font.Builder(@NonNull String, @NonNull android.graphics.fonts.FontStyle);
6913    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.Font build();
6914    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.Font.Builder setAxes(@NonNull java.util.List<android.graphics.fonts.FontVariationAxis>);
6915    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.Font.Builder setIndex(@IntRange(from=0) int);
6916  }
6917
6918  public static final class FontFamilyUpdateRequest.FontFamily {
6919    method @NonNull public java.util.List<android.graphics.fonts.FontFamilyUpdateRequest.Font> getFonts();
6920    method @NonNull public String getName();
6921  }
6922
6923  public static final class FontFamilyUpdateRequest.FontFamily.Builder {
6924    ctor public FontFamilyUpdateRequest.FontFamily.Builder(@NonNull String, @NonNull java.util.List<android.graphics.fonts.FontFamilyUpdateRequest.Font>);
6925    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.FontFamily.Builder addFont(@NonNull android.graphics.fonts.FontFamilyUpdateRequest.Font);
6926    method @NonNull public android.graphics.fonts.FontFamilyUpdateRequest.FontFamily build();
6927  }
6928
6929  public final class FontFileUpdateRequest {
6930    ctor public FontFileUpdateRequest(@NonNull android.os.ParcelFileDescriptor, @NonNull byte[]);
6931    method @NonNull public android.os.ParcelFileDescriptor getParcelFileDescriptor();
6932    method @NonNull public byte[] getSignature();
6933  }
6934
6935  public class FontManager {
6936    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_FONTS) public android.text.FontConfig getFontConfig();
6937    method @RequiresPermission(android.Manifest.permission.UPDATE_FONTS) public int updateFontFamily(@NonNull android.graphics.fonts.FontFamilyUpdateRequest, @IntRange(from=0) int);
6938    field public static final int RESULT_ERROR_DOWNGRADING = -5; // 0xfffffffb
6939    field public static final int RESULT_ERROR_FAILED_TO_WRITE_FONT_FILE = -1; // 0xffffffff
6940    field public static final int RESULT_ERROR_FAILED_UPDATE_CONFIG = -6; // 0xfffffffa
6941    field public static final int RESULT_ERROR_FONT_NOT_FOUND = -9; // 0xfffffff7
6942    field public static final int RESULT_ERROR_FONT_UPDATER_DISABLED = -7; // 0xfffffff9
6943    field public static final int RESULT_ERROR_INVALID_FONT_FILE = -3; // 0xfffffffd
6944    field public static final int RESULT_ERROR_INVALID_FONT_NAME = -4; // 0xfffffffc
6945    field public static final int RESULT_ERROR_VERIFICATION_FAILURE = -2; // 0xfffffffe
6946    field public static final int RESULT_ERROR_VERSION_MISMATCH = -8; // 0xfffffff8
6947    field public static final int RESULT_SUCCESS = 0; // 0x0
6948  }
6949
6950}
6951
6952package android.hardware {
6953
6954  public final class Sensor {
6955    method public java.util.UUID getUuid();
6956    method public boolean isDataInjectionSupported();
6957    field public static final String STRING_TYPE_DYNAMIC_SENSOR_META = "android.sensor.dynamic_sensor_meta";
6958    field public static final String STRING_TYPE_WRIST_TILT_GESTURE = "android.sensor.wrist_tilt_gesture";
6959    field public static final int TYPE_DYNAMIC_SENSOR_META = 32; // 0x20
6960    field public static final int TYPE_WRIST_TILT_GESTURE = 26; // 0x1a
6961  }
6962
6963  public abstract class SensorManager {
6964    method public boolean initDataInjection(boolean);
6965    method public boolean injectSensorData(android.hardware.Sensor, float[], int, long);
6966  }
6967
6968  public final class SensorPrivacyManager {
6969    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public void addSensorPrivacyListener(@NonNull android.hardware.SensorPrivacyManager.OnSensorPrivacyChangedListener);
6970    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public void addSensorPrivacyListener(int, @NonNull android.hardware.SensorPrivacyManager.OnSensorPrivacyChangedListener);
6971    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public void addSensorPrivacyListener(int, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.SensorPrivacyManager.OnSensorPrivacyChangedListener);
6972    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public void addSensorPrivacyListener(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.SensorPrivacyManager.OnSensorPrivacyChangedListener);
6973    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public boolean areAnySensorPrivacyTogglesEnabled(int);
6974    method @NonNull @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public java.util.List<java.lang.String> getCameraPrivacyAllowlist();
6975    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public int getSensorPrivacyState(int, int);
6976    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public boolean isCameraPrivacyEnabled(@NonNull String);
6977    method @Deprecated @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public boolean isSensorPrivacyEnabled(int);
6978    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public boolean isSensorPrivacyEnabled(int, int);
6979    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public void removeSensorPrivacyListener(@NonNull android.hardware.SensorPrivacyManager.OnSensorPrivacyChangedListener);
6980    method @RequiresPermission(android.Manifest.permission.OBSERVE_SENSOR_PRIVACY) public void removeSensorPrivacyListener(int, @NonNull android.hardware.SensorPrivacyManager.OnSensorPrivacyChangedListener);
6981    method @RequiresPermission(android.Manifest.permission.MANAGE_SENSOR_PRIVACY) public void setSensorPrivacy(int, boolean);
6982    method @RequiresPermission(android.Manifest.permission.MANAGE_SENSOR_PRIVACY) public void setSensorPrivacyState(int, int);
6983  }
6984
6985  public static interface SensorPrivacyManager.OnSensorPrivacyChangedListener {
6986    method public default void onSensorPrivacyChanged(@NonNull android.hardware.SensorPrivacyManager.OnSensorPrivacyChangedListener.SensorPrivacyChangedParams);
6987    method @Deprecated public void onSensorPrivacyChanged(int, boolean);
6988  }
6989
6990  public static class SensorPrivacyManager.OnSensorPrivacyChangedListener.SensorPrivacyChangedParams {
6991    method public int getSensor();
6992    method public int getState();
6993    method public int getToggleType();
6994    method public boolean isEnabled();
6995  }
6996
6997  public static class SensorPrivacyManager.StateTypes {
6998    field public static final int DISABLED = 2; // 0x2
6999    field public static final int ENABLED = 1; // 0x1
7000    field public static final int ENABLED_EXCEPT_ALLOWLISTED_APPS = 3; // 0x3
7001  }
7002
7003}
7004
7005package android.hardware.biometrics {
7006
7007  public static interface BiometricManager.Authenticators {
7008    field @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static final int BIOMETRIC_CONVENIENCE = 4095; // 0xfff
7009    field @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static final int EMPTY_SET = 0; // 0x0
7010  }
7011
7012}
7013
7014package android.hardware.camera2 {
7015
7016  public final class CameraCharacteristics extends android.hardware.camera2.CameraMetadata<android.hardware.camera2.CameraCharacteristics.Key<?>> {
7017    field @NonNull public static final android.hardware.camera2.CameraCharacteristics.Key<android.hardware.camera2.params.SharedSessionConfiguration> SHARED_SESSION_CONFIGURATION;
7018  }
7019
7020  public abstract class CameraDevice implements java.lang.AutoCloseable {
7021    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;
7022    field public static final int SESSION_OPERATION_MODE_CONSTRAINED_HIGH_SPEED = 1; // 0x1
7023    field public static final int SESSION_OPERATION_MODE_NORMAL = 0; // 0x0
7024    field public static final int SESSION_OPERATION_MODE_SHARED = 2; // 0x2
7025    field public static final int SESSION_OPERATION_MODE_VENDOR_START = 32768; // 0x8000
7026  }
7027
7028  public abstract static class CameraDevice.StateCallback {
7029    method public void onClientSharedAccessPriorityChanged(@NonNull android.hardware.camera2.CameraDevice, boolean);
7030    method public void onOpenedInSharedMode(@NonNull android.hardware.camera2.CameraDevice, boolean);
7031  }
7032
7033  public final class CameraManager {
7034    method public boolean isCameraDeviceSharingSupported(@NonNull String) throws android.hardware.camera2.CameraAccessException;
7035    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;
7036    method @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;
7037  }
7038
7039  public abstract static class CameraManager.AvailabilityCallback {
7040    method @RequiresPermission(android.Manifest.permission.CAMERA_OPEN_CLOSE_LISTENER) public void onCameraClosed(@NonNull String);
7041    method @RequiresPermission(android.Manifest.permission.CAMERA_OPEN_CLOSE_LISTENER) public void onCameraOpened(@NonNull String, @NonNull String);
7042  }
7043
7044  public abstract class CameraSharedCaptureSession extends android.hardware.camera2.CameraCaptureSession {
7045    ctor public CameraSharedCaptureSession();
7046    method 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;
7047    method public abstract void stopStreaming() throws android.hardware.camera2.CameraAccessException;
7048  }
7049
7050}
7051
7052package android.hardware.camera2.extension {
7053
7054  public abstract class AdvancedExtender {
7055    ctor public AdvancedExtender(@NonNull android.hardware.camera2.CameraManager);
7056    method @NonNull public abstract java.util.List<android.hardware.camera2.CaptureRequest.Key> getAvailableCaptureRequestKeys(@NonNull String);
7057    method @NonNull public abstract java.util.List<android.hardware.camera2.CaptureResult.Key> getAvailableCaptureResultKeys(@NonNull String);
7058    method @NonNull public abstract java.util.List<android.util.Pair<android.hardware.camera2.CameraCharacteristics.Key,java.lang.Object>> getAvailableCharacteristicsKeyValues();
7059    method public long getMetadataVendorId(@NonNull String);
7060    method @NonNull public abstract android.hardware.camera2.extension.SessionProcessor getSessionProcessor();
7061    method @NonNull public abstract java.util.Map<java.lang.Integer,java.util.List<android.util.Size>> getSupportedCaptureOutputResolutions(@NonNull String);
7062    method @NonNull public abstract java.util.Map<java.lang.Integer,java.util.List<android.util.Size>> getSupportedPreviewOutputResolutions(@NonNull String);
7063    method public abstract void initialize(@NonNull String, @NonNull android.hardware.camera2.extension.CharacteristicsMap);
7064    method public abstract boolean isExtensionAvailable(@NonNull String, @NonNull android.hardware.camera2.extension.CharacteristicsMap);
7065  }
7066
7067  public abstract class CameraExtensionService extends android.app.Service {
7068    ctor protected CameraExtensionService();
7069    method @NonNull public final android.os.IBinder onBind(@Nullable android.content.Intent);
7070    method @NonNull public abstract android.hardware.camera2.extension.AdvancedExtender onInitializeAdvancedExtension(int);
7071    method public abstract boolean onRegisterClient(@NonNull android.os.IBinder);
7072    method public abstract void onUnregisterClient(@NonNull android.os.IBinder);
7073  }
7074
7075  public final class CameraOutputSurface {
7076    ctor public CameraOutputSurface(@NonNull android.view.Surface, @NonNull android.util.Size);
7077    method public int getColorSpace();
7078    method public long getDynamicRangeProfile();
7079    method public int getImageFormat();
7080    method @NonNull public android.util.Size getSize();
7081    method @NonNull public android.view.Surface getSurface();
7082    method public void setDynamicRangeProfile(long);
7083  }
7084
7085  public class CharacteristicsMap {
7086    method @Nullable public android.hardware.camera2.CameraCharacteristics get(@NonNull String);
7087    method @NonNull public java.util.Set<java.lang.String> getCameraIds();
7088  }
7089
7090  public class ExtensionConfiguration {
7091    ctor public ExtensionConfiguration(int, int, @NonNull java.util.List<android.hardware.camera2.extension.ExtensionOutputConfiguration>, @Nullable android.hardware.camera2.CaptureRequest);
7092    method public void setColorSpace(int);
7093  }
7094
7095  public class ExtensionOutputConfiguration {
7096    ctor public ExtensionOutputConfiguration(@NonNull java.util.List<android.hardware.camera2.extension.CameraOutputSurface>, int, @Nullable String, int);
7097  }
7098
7099  public final class RequestProcessor {
7100    method public void abortCaptures();
7101    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;
7102    method public void stopRepeating();
7103    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;
7104    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;
7105  }
7106
7107  public static final class RequestProcessor.Request {
7108    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);
7109    method @NonNull public java.util.List<android.util.Pair<android.hardware.camera2.CaptureRequest.Key,java.lang.Object>> getParameters();
7110  }
7111
7112  public static interface RequestProcessor.RequestCallback {
7113    method public void onCaptureBufferLost(@NonNull android.hardware.camera2.extension.RequestProcessor.Request, long, int);
7114    method public void onCaptureCompleted(@NonNull android.hardware.camera2.extension.RequestProcessor.Request, @Nullable android.hardware.camera2.TotalCaptureResult);
7115    method public void onCaptureFailed(@NonNull android.hardware.camera2.extension.RequestProcessor.Request, @NonNull android.hardware.camera2.CaptureFailure);
7116    method public void onCaptureProgressed(@NonNull android.hardware.camera2.extension.RequestProcessor.Request, @NonNull android.hardware.camera2.CaptureResult);
7117    method public void onCaptureSequenceAborted(int);
7118    method public void onCaptureSequenceCompleted(int, long);
7119    method public void onCaptureStarted(@NonNull android.hardware.camera2.extension.RequestProcessor.Request, long, long);
7120  }
7121
7122  public abstract class SessionProcessor {
7123    ctor public SessionProcessor();
7124    method public abstract void deInitSession(@NonNull android.os.IBinder);
7125    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);
7126    method public abstract void onCaptureSessionEnd();
7127    method public abstract void onCaptureSessionStart(@NonNull android.hardware.camera2.extension.RequestProcessor, @NonNull String);
7128    method public abstract void setParameters(@NonNull android.hardware.camera2.CaptureRequest);
7129    method public abstract int startMultiFrameCapture(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.camera2.extension.SessionProcessor.CaptureCallback);
7130    method public abstract int startRepeating(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.camera2.extension.SessionProcessor.CaptureCallback);
7131    method public abstract int startTrigger(@NonNull android.hardware.camera2.CaptureRequest, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.camera2.extension.SessionProcessor.CaptureCallback);
7132    method public abstract void stopRepeating();
7133  }
7134
7135  public static interface SessionProcessor.CaptureCallback {
7136    method public void onCaptureCompleted(long, int, @NonNull java.util.Map<android.hardware.camera2.CaptureResult.Key,java.lang.Object>);
7137    method public void onCaptureFailed(int, int);
7138    method public void onCaptureProcessStarted(int);
7139    method public void onCaptureSequenceAborted(int);
7140    method public void onCaptureSequenceCompleted(int);
7141    method public void onCaptureStarted(int, long);
7142  }
7143
7144}
7145
7146package android.hardware.camera2.params {
7147
7148  public final class OutputConfiguration implements android.os.Parcelable {
7149    ctor public OutputConfiguration(@NonNull android.view.Surface, int);
7150    ctor public OutputConfiguration(int, @NonNull android.view.Surface, int);
7151    method public int getRotation();
7152    field public static final int ROTATION_0 = 0; // 0x0
7153    field public static final int ROTATION_180 = 2; // 0x2
7154    field public static final int ROTATION_270 = 3; // 0x3
7155    field public static final int ROTATION_90 = 1; // 0x1
7156  }
7157
7158  public final class SessionConfiguration implements android.os.Parcelable {
7159    field public static final int SESSION_SHARED = 2; // 0x2
7160  }
7161
7162  public final class SharedSessionConfiguration {
7163    method @Nullable public android.graphics.ColorSpace getColorSpace();
7164    method @NonNull public java.util.List<android.hardware.camera2.params.SharedSessionConfiguration.SharedOutputConfiguration> getOutputStreamsInformation();
7165  }
7166
7167  public static final class SharedSessionConfiguration.SharedOutputConfiguration {
7168    method public int getDataspace();
7169    method public int getFormat();
7170    method public int getMirrorMode();
7171    method @Nullable public String getPhysicalCameraId();
7172    method @NonNull public android.util.Size getSize();
7173    method public long getStreamUseCase();
7174    method public int getSurfaceType();
7175    method public int getTimestampBase();
7176    method public long getUsage();
7177    method public boolean isReadoutTimestampEnabled();
7178  }
7179
7180}
7181
7182package android.hardware.contexthub {
7183
7184  public class HubDiscoveryInfo {
7185    method @NonNull public android.hardware.contexthub.HubEndpointInfo getHubEndpointInfo();
7186    method @Nullable public android.hardware.contexthub.HubServiceInfo getHubServiceInfo();
7187  }
7188
7189  public class HubEndpoint {
7190    method @Nullable public android.hardware.contexthub.HubEndpointLifecycleCallback getLifecycleCallback();
7191    method @Nullable public android.hardware.contexthub.HubEndpointMessageCallback getMessageCallback();
7192    method @NonNull public java.util.Collection<android.hardware.contexthub.HubServiceInfo> getServiceInfoCollection();
7193    method @Nullable public String getTag();
7194    method public int getVersion();
7195    field public static final int REASON_CLOSE_ENDPOINT_SESSION_REQUESTED = 4; // 0x4
7196    field public static final int REASON_ENDPOINT_INVALID = 5; // 0x5
7197    field public static final int REASON_ENDPOINT_STOPPED = 6; // 0x6
7198    field public static final int REASON_FAILURE = 0; // 0x0
7199    field public static final int REASON_OPEN_ENDPOINT_SESSION_REQUEST_REJECTED = 3; // 0x3
7200    field public static final int REASON_PERMISSION_DENIED = 9; // 0x9
7201  }
7202
7203  public static final class HubEndpoint.Builder {
7204    ctor public HubEndpoint.Builder(@NonNull android.content.Context);
7205    method @NonNull public android.hardware.contexthub.HubEndpoint build();
7206    method @NonNull public android.hardware.contexthub.HubEndpoint.Builder setLifecycleCallback(@NonNull android.hardware.contexthub.HubEndpointLifecycleCallback);
7207    method @NonNull public android.hardware.contexthub.HubEndpoint.Builder setLifecycleCallback(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.contexthub.HubEndpointLifecycleCallback);
7208    method @NonNull public android.hardware.contexthub.HubEndpoint.Builder setMessageCallback(@NonNull android.hardware.contexthub.HubEndpointMessageCallback);
7209    method @NonNull public android.hardware.contexthub.HubEndpoint.Builder setMessageCallback(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.contexthub.HubEndpointMessageCallback);
7210    method @NonNull public android.hardware.contexthub.HubEndpoint.Builder setServiceInfoCollection(@NonNull java.util.Collection<android.hardware.contexthub.HubServiceInfo>);
7211    method @NonNull public android.hardware.contexthub.HubEndpoint.Builder setTag(@NonNull String);
7212  }
7213
7214  public interface HubEndpointDiscoveryCallback {
7215    method public void onEndpointsStarted(@NonNull java.util.List<android.hardware.contexthub.HubDiscoveryInfo>);
7216    method public void onEndpointsStopped(@NonNull java.util.List<android.hardware.contexthub.HubDiscoveryInfo>, int);
7217  }
7218
7219  public final class HubEndpointInfo implements android.os.Parcelable {
7220    method public int describeContents();
7221    method @NonNull public android.hardware.contexthub.HubEndpointInfo.HubEndpointIdentifier getIdentifier();
7222    method @NonNull public String getName();
7223    method @NonNull public java.util.Collection<java.lang.String> getRequiredPermissions();
7224    method @NonNull public java.util.Collection<android.hardware.contexthub.HubServiceInfo> getServiceInfoCollection();
7225    method @Nullable public String getTag();
7226    method public int getType();
7227    method public int getVersion();
7228    method public void writeToParcel(@NonNull android.os.Parcel, int);
7229    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.contexthub.HubEndpointInfo> CREATOR;
7230    field public static final int TYPE_APP = 2; // 0x2
7231    field public static final int TYPE_FRAMEWORK = 1; // 0x1
7232    field public static final int TYPE_HUB_ENDPOINT = 5; // 0x5
7233    field public static final int TYPE_NANOAPP = 4; // 0x4
7234    field public static final int TYPE_NATIVE = 3; // 0x3
7235  }
7236
7237  public static class HubEndpointInfo.HubEndpointIdentifier {
7238    method public long getEndpoint();
7239    method public long getHub();
7240  }
7241
7242  public interface HubEndpointLifecycleCallback {
7243    method public void onSessionClosed(@NonNull android.hardware.contexthub.HubEndpointSession, int);
7244    method @NonNull public android.hardware.contexthub.HubEndpointSessionResult onSessionOpenRequest(@NonNull android.hardware.contexthub.HubEndpointInfo, @Nullable String);
7245    method public void onSessionOpened(@NonNull android.hardware.contexthub.HubEndpointSession);
7246  }
7247
7248  public interface HubEndpointMessageCallback {
7249    method public void onMessageReceived(@NonNull android.hardware.contexthub.HubEndpointSession, @NonNull android.hardware.contexthub.HubMessage);
7250  }
7251
7252  public class HubEndpointSession implements java.lang.AutoCloseable {
7253    method @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public void close();
7254    method @Nullable public String getServiceDescriptor();
7255    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public android.hardware.location.ContextHubTransaction<java.lang.Void> sendMessage(@NonNull android.hardware.contexthub.HubMessage);
7256  }
7257
7258  public class HubEndpointSessionResult {
7259    method @NonNull public static android.hardware.contexthub.HubEndpointSessionResult accept();
7260    method @Nullable public String getReason();
7261    method public boolean isAccepted();
7262    method @NonNull public static android.hardware.contexthub.HubEndpointSessionResult reject(@NonNull String);
7263  }
7264
7265  public final class HubMessage implements android.os.Parcelable {
7266    method public int describeContents();
7267    method @NonNull public byte[] getMessageBody();
7268    method public int getMessageType();
7269    method public boolean isResponseRequired();
7270    method public void writeToParcel(@NonNull android.os.Parcel, int);
7271    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.contexthub.HubMessage> CREATOR;
7272  }
7273
7274  public static final class HubMessage.Builder {
7275    ctor public HubMessage.Builder(int, @NonNull byte[]);
7276    method @NonNull public android.hardware.contexthub.HubMessage build();
7277    method @NonNull public android.hardware.contexthub.HubMessage.Builder setResponseRequired(boolean);
7278  }
7279
7280  public final class HubServiceInfo implements android.os.Parcelable {
7281    ctor public HubServiceInfo(@NonNull String, int, int, int);
7282    method public int describeContents();
7283    method public int getFormat();
7284    method public int getMajorVersion();
7285    method public int getMinorVersion();
7286    method @NonNull public String getServiceDescriptor();
7287    method public void writeToParcel(@NonNull android.os.Parcel, int);
7288    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.contexthub.HubServiceInfo> CREATOR;
7289    field public static final int FORMAT_AIDL = 1; // 0x1
7290    field public static final int FORMAT_CUSTOM = 0; // 0x0
7291    field public static final int FORMAT_PW_RPC_PROTOBUF = 2; // 0x2
7292  }
7293
7294  public static final class HubServiceInfo.Builder {
7295    ctor public HubServiceInfo.Builder(@NonNull String, int, int, int);
7296    method @NonNull public android.hardware.contexthub.HubServiceInfo build();
7297  }
7298
7299}
7300
7301package android.hardware.devicestate {
7302
7303  public final class DeviceState {
7304    method @IntRange(from=0x0) public int getIdentifier();
7305    method @NonNull public String getName();
7306    method public boolean hasProperties(@NonNull int...);
7307    method public boolean hasProperty(int);
7308    field public static final int PROPERTY_EMULATED_ONLY = 10; // 0xa
7309    field public static final int PROPERTY_EXTENDED_DEVICE_STATE_EXTERNAL_DISPLAY = 15; // 0xf
7310    field public static final int PROPERTY_FEATURE_DUAL_DISPLAY_INTERNAL_DEFAULT = 17; // 0x11
7311    field public static final int PROPERTY_FEATURE_REAR_DISPLAY = 16; // 0x10
7312    field public static final int PROPERTY_FOLDABLE_DISPLAY_CONFIGURATION_INNER_PRIMARY = 12; // 0xc
7313    field public static final int PROPERTY_FOLDABLE_DISPLAY_CONFIGURATION_OUTER_PRIMARY = 11; // 0xb
7314    field public static final int PROPERTY_FOLDABLE_HARDWARE_CONFIGURATION_FOLD_IN_CLOSED = 1; // 0x1
7315    field public static final int PROPERTY_FOLDABLE_HARDWARE_CONFIGURATION_FOLD_IN_HALF_OPEN = 2; // 0x2
7316    field public static final int PROPERTY_FOLDABLE_HARDWARE_CONFIGURATION_FOLD_IN_OPEN = 3; // 0x3
7317    field public static final int PROPERTY_POWER_CONFIGURATION_TRIGGER_SLEEP = 13; // 0xd
7318    field public static final int PROPERTY_POWER_CONFIGURATION_TRIGGER_WAKE = 14; // 0xe
7319  }
7320
7321  public final class DeviceStateManager {
7322    method @NonNull public java.util.List<android.hardware.devicestate.DeviceState> getSupportedDeviceStates();
7323    method public void registerCallback(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.devicestate.DeviceStateManager.DeviceStateCallback);
7324    method public void unregisterCallback(@NonNull android.hardware.devicestate.DeviceStateManager.DeviceStateCallback);
7325  }
7326
7327  public static interface DeviceStateManager.DeviceStateCallback {
7328    method public void onDeviceStateChanged(@NonNull android.hardware.devicestate.DeviceState);
7329    method public default void onSupportedStatesChanged(@NonNull java.util.List<android.hardware.devicestate.DeviceState>);
7330  }
7331
7332}
7333
7334package android.hardware.display {
7335
7336  public final class AmbientBrightnessDayStats implements android.os.Parcelable {
7337    method public int describeContents();
7338    method public float[] getBucketBoundaries();
7339    method public java.time.LocalDate getLocalDate();
7340    method public float[] getStats();
7341    method public void writeToParcel(android.os.Parcel, int);
7342    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.display.AmbientBrightnessDayStats> CREATOR;
7343  }
7344
7345  public final class BrightnessChangeEvent implements android.os.Parcelable {
7346    method public int describeContents();
7347    method public void writeToParcel(android.os.Parcel, int);
7348    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.display.BrightnessChangeEvent> CREATOR;
7349    field public final float batteryLevel;
7350    field public final float brightness;
7351    field public final long colorSampleDuration;
7352    field public final int colorTemperature;
7353    field @Nullable public final long[] colorValueBuckets;
7354    field public final boolean isDefaultBrightnessConfig;
7355    field public final boolean isUserSetBrightness;
7356    field public final float lastBrightness;
7357    field public final long[] luxTimestamps;
7358    field public final float[] luxValues;
7359    field public final boolean nightMode;
7360    field public final String packageName;
7361    field public final float powerBrightnessFactor;
7362    field public final boolean reduceBrightColors;
7363    field public final float reduceBrightColorsOffset;
7364    field public final int reduceBrightColorsStrength;
7365    field public final long timeStamp;
7366    field @NonNull public final String uniqueDisplayId;
7367  }
7368
7369  public final class BrightnessConfiguration implements android.os.Parcelable {
7370    method public int describeContents();
7371    method @Nullable public android.hardware.display.BrightnessCorrection getCorrectionByCategory(int);
7372    method @Nullable public android.hardware.display.BrightnessCorrection getCorrectionByPackageName(@NonNull String);
7373    method public android.util.Pair<float[],float[]> getCurve();
7374    method public float getShortTermModelLowerLuxMultiplier();
7375    method public long getShortTermModelTimeoutMillis();
7376    method public float getShortTermModelUpperLuxMultiplier();
7377    method public boolean shouldCollectColorSamples();
7378    method public void writeToParcel(android.os.Parcel, int);
7379    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.display.BrightnessConfiguration> CREATOR;
7380    field public static final long SHORT_TERM_TIMEOUT_UNSET = -1L; // 0xffffffffffffffffL
7381  }
7382
7383  public static class BrightnessConfiguration.Builder {
7384    ctor public BrightnessConfiguration.Builder(float[], float[]);
7385    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder addCorrectionByCategory(int, @NonNull android.hardware.display.BrightnessCorrection);
7386    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder addCorrectionByPackageName(@NonNull String, @NonNull android.hardware.display.BrightnessCorrection);
7387    method @NonNull public android.hardware.display.BrightnessConfiguration build();
7388    method public int getMaxCorrectionsByCategory();
7389    method public int getMaxCorrectionsByPackageName();
7390    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setDescription(@Nullable String);
7391    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setShortTermModelLowerLuxMultiplier(@FloatRange(from=0.0f) float);
7392    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setShortTermModelTimeoutMillis(long);
7393    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setShortTermModelUpperLuxMultiplier(@FloatRange(from=0.0f) float);
7394    method @NonNull public android.hardware.display.BrightnessConfiguration.Builder setShouldCollectColorSamples(boolean);
7395  }
7396
7397  public final class BrightnessCorrection implements android.os.Parcelable {
7398    method @FloatRange(from=0.0) public float apply(@FloatRange(from=0.0) float);
7399    method @NonNull public static android.hardware.display.BrightnessCorrection createScaleAndTranslateLog(float, float);
7400    method public int describeContents();
7401    method public void writeToParcel(android.os.Parcel, int);
7402    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.display.BrightnessCorrection> CREATOR;
7403  }
7404
7405  public final class ColorDisplayManager {
7406    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public int getNightDisplayAutoMode();
7407    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public int getTransformCapabilities();
7408    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public boolean setAppSaturationLevel(@NonNull String, @IntRange(from=0, to=100) int);
7409    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public boolean setNightDisplayAutoMode(int);
7410    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public boolean setNightDisplayCustomEndTime(@NonNull java.time.LocalTime);
7411    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public boolean setNightDisplayCustomStartTime(@NonNull java.time.LocalTime);
7412    method @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_COLOR_TRANSFORMS) public boolean setSaturationLevel(@IntRange(from=0, to=100) int);
7413    field public static final int AUTO_MODE_CUSTOM_TIME = 1; // 0x1
7414    field public static final int AUTO_MODE_DISABLED = 0; // 0x0
7415    field public static final int AUTO_MODE_TWILIGHT = 2; // 0x2
7416    field public static final int CAPABILITY_HARDWARE_ACCELERATION_GLOBAL = 2; // 0x2
7417    field public static final int CAPABILITY_HARDWARE_ACCELERATION_PER_APP = 4; // 0x4
7418    field public static final int CAPABILITY_NONE = 0; // 0x0
7419    field public static final int CAPABILITY_PROTECTED_CONTENT = 1; // 0x1
7420  }
7421
7422  public final class DisplayManager {
7423    method @Nullable @RequiresPermission("android.permission.CAPTURE_VIDEO_OUTPUT") public static android.hardware.display.VirtualDisplay createVirtualDisplay(@NonNull String, int, int, int, @Nullable android.view.Surface);
7424    method @RequiresPermission(android.Manifest.permission.ACCESS_AMBIENT_LIGHT_STATS) public java.util.List<android.hardware.display.AmbientBrightnessDayStats> getAmbientBrightnessStats();
7425    method @RequiresPermission(android.Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS) public android.hardware.display.BrightnessConfiguration getBrightnessConfiguration();
7426    method @Nullable @RequiresPermission(android.Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS) public android.hardware.display.BrightnessConfiguration getBrightnessConfigurationForDisplay(@NonNull String);
7427    method @RequiresPermission(android.Manifest.permission.BRIGHTNESS_SLIDER_USAGE) public java.util.List<android.hardware.display.BrightnessChangeEvent> getBrightnessEvents();
7428    method @Nullable @RequiresPermission(android.Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS) public android.hardware.display.BrightnessConfiguration getDefaultBrightnessConfiguration();
7429    method public android.util.Pair<float[],float[]> getMinimumBrightnessCurve();
7430    method public android.graphics.Point getStableDisplaySize();
7431    method @RequiresPermission(android.Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS) public void setBrightnessConfiguration(android.hardware.display.BrightnessConfiguration);
7432    method @RequiresPermission(android.Manifest.permission.CONFIGURE_DISPLAY_BRIGHTNESS) public void setBrightnessConfigurationForDisplay(@NonNull android.hardware.display.BrightnessConfiguration, @NonNull String);
7433    method @Deprecated @RequiresPermission(android.Manifest.permission.CONTROL_DISPLAY_SATURATION) public void setSaturationLevel(float);
7434    field public static final int VIRTUAL_DISPLAY_FLAG_ROTATES_WITH_CONTENT = 128; // 0x80
7435    field public static final int VIRTUAL_DISPLAY_FLAG_STEAL_TOP_FOCUS_DISABLED = 65536; // 0x10000
7436    field public static final int VIRTUAL_DISPLAY_FLAG_TRUSTED = 1024; // 0x400
7437  }
7438
7439  public final class VirtualDisplayConfig implements android.os.Parcelable {
7440    method @Nullable public android.view.DisplayCutout getDisplayCutout();
7441    method public boolean isHomeSupported();
7442    method public boolean isIgnoreActivitySizeRestrictions();
7443  }
7444
7445  public static final class VirtualDisplayConfig.Builder {
7446    method @NonNull public android.hardware.display.VirtualDisplayConfig.Builder setDisplayCutout(@Nullable android.view.DisplayCutout);
7447    method @NonNull public android.hardware.display.VirtualDisplayConfig.Builder setHomeSupported(boolean);
7448    method @NonNull public android.hardware.display.VirtualDisplayConfig.Builder setIgnoreActivitySizeRestrictions(boolean);
7449  }
7450
7451}
7452
7453package android.hardware.hdmi {
7454
7455  public abstract class HdmiClient {
7456    method public android.hardware.hdmi.HdmiDeviceInfo getActiveSource();
7457    method public void selectDevice(int, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.hdmi.HdmiClient.OnDeviceSelectedListener);
7458    method public void sendKeyEvent(int, boolean);
7459    method public void sendVendorCommand(int, byte[], boolean);
7460    method public void setVendorCommandListener(@NonNull android.hardware.hdmi.HdmiControlManager.VendorCommandListener);
7461    method public void setVendorCommandListener(@NonNull android.hardware.hdmi.HdmiControlManager.VendorCommandListener, int);
7462  }
7463
7464  public static interface HdmiClient.OnDeviceSelectedListener {
7465    method public void onDeviceSelected(int, int);
7466  }
7467
7468  public final class HdmiControlManager {
7469    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void addHdmiCecEnabledChangeListener(@NonNull android.hardware.hdmi.HdmiControlManager.CecSettingChangeListener);
7470    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void addHdmiCecEnabledChangeListener(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.hdmi.HdmiControlManager.CecSettingChangeListener);
7471    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void addHotplugEventListener(android.hardware.hdmi.HdmiControlManager.HotplugEventListener);
7472    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void addHotplugEventListener(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.hdmi.HdmiControlManager.HotplugEventListener);
7473    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public java.util.List<java.lang.Integer> getAllowedCecSettingIntValues(@NonNull String);
7474    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public java.util.List<java.lang.String> getAllowedCecSettingStringValues(@NonNull String);
7475    method @Nullable public android.hardware.hdmi.HdmiClient getClient(int);
7476    method @NonNull public java.util.List<android.hardware.hdmi.HdmiDeviceInfo> getConnectedDevices();
7477    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getEarcEnabled();
7478    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getHdmiCecEnabled();
7479    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getHdmiCecVersion();
7480    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getHdmiCecVolumeControlEnabled();
7481    method public int getPhysicalAddress();
7482    method @Nullable public android.hardware.hdmi.HdmiPlaybackClient getPlaybackClient();
7483    method @NonNull public java.util.List<android.hardware.hdmi.HdmiPortInfo> getPortInfo();
7484    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public String getPowerControlMode();
7485    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public String getPowerStateChangeOnActiveSourceLost();
7486    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getRoutingControl();
7487    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getSadPresenceInQuery(@NonNull String);
7488    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getSoundbarMode();
7489    method @Nullable public android.hardware.hdmi.HdmiSwitchClient getSwitchClient();
7490    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getSystemAudioControl();
7491    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getSystemAudioModeMuting();
7492    method @Nullable public android.hardware.hdmi.HdmiTvClient getTvClient();
7493    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getTvSendStandbyOnSleep();
7494    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public int getTvWakeOnOneTouchPlay();
7495    method @NonNull @RequiresPermission(android.Manifest.permission.HDMI_CEC) public java.util.List<java.lang.String> getUserCecSettings();
7496    method public boolean isDeviceConnected(@NonNull android.hardware.hdmi.HdmiDeviceInfo);
7497    method public void powerOffDevice(@NonNull android.hardware.hdmi.HdmiDeviceInfo);
7498    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void removeHdmiCecEnabledChangeListener(@NonNull android.hardware.hdmi.HdmiControlManager.CecSettingChangeListener);
7499    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void removeHotplugEventListener(android.hardware.hdmi.HdmiControlManager.HotplugEventListener);
7500    method public void setActiveSource(@NonNull android.hardware.hdmi.HdmiDeviceInfo);
7501    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setEarcEnabled(@NonNull int);
7502    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setHdmiCecEnabled(@NonNull int);
7503    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setHdmiCecVersion(@NonNull int);
7504    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setHdmiCecVolumeControlEnabled(int);
7505    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setPowerControlMode(@NonNull String);
7506    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setPowerStateChangeOnActiveSourceLost(@NonNull String);
7507    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setRoutingControl(@NonNull int);
7508    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setSadPresenceInQuery(@NonNull String, int);
7509    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setSadsPresenceInQuery(@NonNull java.util.List<java.lang.String>, int);
7510    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setSoundbarMode(int);
7511    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setStandbyMode(boolean);
7512    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setSystemAudioControl(@NonNull int);
7513    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setSystemAudioModeMuting(@NonNull int);
7514    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setTvSendStandbyOnSleep(@NonNull int);
7515    method @RequiresPermission(android.Manifest.permission.HDMI_CEC) public void setTvWakeOnOneTouchPlay(@NonNull int);
7516    field public static final String ACTION_OSD_MESSAGE = "android.hardware.hdmi.action.OSD_MESSAGE";
7517    field public static final int AVR_VOLUME_MUTED = 101; // 0x65
7518    field public static final String CEC_SETTING_NAME_HDMI_CEC_ENABLED = "hdmi_cec_enabled";
7519    field public static final String CEC_SETTING_NAME_HDMI_CEC_VERSION = "hdmi_cec_version";
7520    field public static final String CEC_SETTING_NAME_POWER_CONTROL_MODE = "power_control_mode";
7521    field public static final String CEC_SETTING_NAME_POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST = "power_state_change_on_active_source_lost";
7522    field public static final String CEC_SETTING_NAME_QUERY_SAD_AAC = "query_sad_aac";
7523    field public static final String CEC_SETTING_NAME_QUERY_SAD_ATRAC = "query_sad_atrac";
7524    field public static final String CEC_SETTING_NAME_QUERY_SAD_DD = "query_sad_dd";
7525    field public static final String CEC_SETTING_NAME_QUERY_SAD_DDP = "query_sad_ddp";
7526    field public static final String CEC_SETTING_NAME_QUERY_SAD_DST = "query_sad_dst";
7527    field public static final String CEC_SETTING_NAME_QUERY_SAD_DTS = "query_sad_dts";
7528    field public static final String CEC_SETTING_NAME_QUERY_SAD_DTSHD = "query_sad_dtshd";
7529    field public static final String CEC_SETTING_NAME_QUERY_SAD_LPCM = "query_sad_lpcm";
7530    field public static final String CEC_SETTING_NAME_QUERY_SAD_MAX = "query_sad_max";
7531    field public static final String CEC_SETTING_NAME_QUERY_SAD_MP3 = "query_sad_mp3";
7532    field public static final String CEC_SETTING_NAME_QUERY_SAD_MPEG1 = "query_sad_mpeg1";
7533    field public static final String CEC_SETTING_NAME_QUERY_SAD_MPEG2 = "query_sad_mpeg2";
7534    field public static final String CEC_SETTING_NAME_QUERY_SAD_ONEBITAUDIO = "query_sad_onebitaudio";
7535    field public static final String CEC_SETTING_NAME_QUERY_SAD_TRUEHD = "query_sad_truehd";
7536    field public static final String CEC_SETTING_NAME_QUERY_SAD_WMAPRO = "query_sad_wmapro";
7537    field public static final String CEC_SETTING_NAME_ROUTING_CONTROL = "routing_control";
7538    field public static final String CEC_SETTING_NAME_SOUNDBAR_MODE = "soundbar_mode";
7539    field public static final String CEC_SETTING_NAME_SYSTEM_AUDIO_CONTROL = "system_audio_control";
7540    field public static final String CEC_SETTING_NAME_SYSTEM_AUDIO_MODE_MUTING = "system_audio_mode_muting";
7541    field public static final String CEC_SETTING_NAME_TV_SEND_STANDBY_ON_SLEEP = "tv_send_standby_on_sleep";
7542    field public static final String CEC_SETTING_NAME_TV_WAKE_ON_ONE_TOUCH_PLAY = "tv_wake_on_one_touch_play";
7543    field public static final String CEC_SETTING_NAME_VOLUME_CONTROL_MODE = "volume_control_enabled";
7544    field public static final int CLEAR_TIMER_STATUS_CEC_DISABLE = 162; // 0xa2
7545    field public static final int CLEAR_TIMER_STATUS_CHECK_RECORDER_CONNECTION = 160; // 0xa0
7546    field public static final int CLEAR_TIMER_STATUS_FAIL_TO_CLEAR_SELECTED_SOURCE = 161; // 0xa1
7547    field public static final int CLEAR_TIMER_STATUS_TIMER_CLEARED = 128; // 0x80
7548    field public static final int CLEAR_TIMER_STATUS_TIMER_NOT_CLEARED_NO_INFO_AVAILABLE = 2; // 0x2
7549    field public static final int CLEAR_TIMER_STATUS_TIMER_NOT_CLEARED_NO_MATCHING = 1; // 0x1
7550    field public static final int CLEAR_TIMER_STATUS_TIMER_NOT_CLEARED_RECORDING = 0; // 0x0
7551    field public static final int CONTROL_STATE_CHANGED_REASON_SETTING = 1; // 0x1
7552    field public static final int CONTROL_STATE_CHANGED_REASON_STANDBY = 3; // 0x3
7553    field public static final int CONTROL_STATE_CHANGED_REASON_START = 0; // 0x0
7554    field public static final int CONTROL_STATE_CHANGED_REASON_WAKEUP = 2; // 0x2
7555    field public static final int DEVICE_EVENT_ADD_DEVICE = 1; // 0x1
7556    field public static final int DEVICE_EVENT_REMOVE_DEVICE = 2; // 0x2
7557    field public static final int DEVICE_EVENT_UPDATE_DEVICE = 3; // 0x3
7558    field public static final int EARC_FEATURE_DISABLED = 0; // 0x0
7559    field public static final int EARC_FEATURE_ENABLED = 1; // 0x1
7560    field public static final String EXTRA_MESSAGE_EXTRA_PARAM1 = "android.hardware.hdmi.extra.MESSAGE_EXTRA_PARAM1";
7561    field public static final String EXTRA_MESSAGE_ID = "android.hardware.hdmi.extra.MESSAGE_ID";
7562    field public static final int HDMI_CEC_CONTROL_DISABLED = 0; // 0x0
7563    field public static final int HDMI_CEC_CONTROL_ENABLED = 1; // 0x1
7564    field public static final int HDMI_CEC_VERSION_1_4_B = 5; // 0x5
7565    field public static final int HDMI_CEC_VERSION_2_0 = 6; // 0x6
7566    field public static final int ONE_TOUCH_RECORD_ALREADY_RECORDING = 18; // 0x12
7567    field public static final int ONE_TOUCH_RECORD_CEC_DISABLED = 51; // 0x33
7568    field public static final int ONE_TOUCH_RECORD_CHECK_RECORDER_CONNECTION = 49; // 0x31
7569    field public static final int ONE_TOUCH_RECORD_DISALLOW_TO_COPY = 13; // 0xd
7570    field public static final int ONE_TOUCH_RECORD_DISALLOW_TO_FUTHER_COPIES = 14; // 0xe
7571    field public static final int ONE_TOUCH_RECORD_FAIL_TO_RECORD_DISPLAYED_SCREEN = 50; // 0x32
7572    field public static final int ONE_TOUCH_RECORD_INVALID_EXTERNAL_PHYSICAL_ADDRESS = 10; // 0xa
7573    field public static final int ONE_TOUCH_RECORD_INVALID_EXTERNAL_PLUG_NUMBER = 9; // 0x9
7574    field public static final int ONE_TOUCH_RECORD_MEDIA_PROBLEM = 21; // 0x15
7575    field public static final int ONE_TOUCH_RECORD_MEDIA_PROTECTED = 19; // 0x13
7576    field public static final int ONE_TOUCH_RECORD_NOT_ENOUGH_SPACE = 22; // 0x16
7577    field public static final int ONE_TOUCH_RECORD_NO_MEDIA = 16; // 0x10
7578    field public static final int ONE_TOUCH_RECORD_NO_OR_INSUFFICIENT_CA_ENTITLEMENTS = 12; // 0xc
7579    field public static final int ONE_TOUCH_RECORD_NO_SOURCE_SIGNAL = 20; // 0x14
7580    field public static final int ONE_TOUCH_RECORD_OTHER_REASON = 31; // 0x1f
7581    field public static final int ONE_TOUCH_RECORD_PARENT_LOCK_ON = 23; // 0x17
7582    field public static final int ONE_TOUCH_RECORD_PLAYING = 17; // 0x11
7583    field public static final int ONE_TOUCH_RECORD_PREVIOUS_RECORDING_IN_PROGRESS = 48; // 0x30
7584    field public static final int ONE_TOUCH_RECORD_RECORDING_ALREADY_TERMINATED = 27; // 0x1b
7585    field public static final int ONE_TOUCH_RECORD_RECORDING_ANALOGUE_SERVICE = 3; // 0x3
7586    field public static final int ONE_TOUCH_RECORD_RECORDING_CURRENTLY_SELECTED_SOURCE = 1; // 0x1
7587    field public static final int ONE_TOUCH_RECORD_RECORDING_DIGITAL_SERVICE = 2; // 0x2
7588    field public static final int ONE_TOUCH_RECORD_RECORDING_EXTERNAL_INPUT = 4; // 0x4
7589    field public static final int ONE_TOUCH_RECORD_RECORDING_TERMINATED_NORMALLY = 26; // 0x1a
7590    field public static final int ONE_TOUCH_RECORD_UNABLE_ANALOGUE_SERVICE = 6; // 0x6
7591    field public static final int ONE_TOUCH_RECORD_UNABLE_DIGITAL_SERVICE = 5; // 0x5
7592    field public static final int ONE_TOUCH_RECORD_UNABLE_SELECTED_SERVICE = 7; // 0x7
7593    field public static final int ONE_TOUCH_RECORD_UNSUPPORTED_CA = 11; // 0xb
7594    field public static final int OSD_MESSAGE_ARC_CONNECTED_INVALID_PORT = 1; // 0x1
7595    field public static final int OSD_MESSAGE_AVR_VOLUME_CHANGED = 2; // 0x2
7596    field public static final String POWER_CONTROL_MODE_BROADCAST = "broadcast";
7597    field public static final String POWER_CONTROL_MODE_NONE = "none";
7598    field public static final String POWER_CONTROL_MODE_TV = "to_tv";
7599    field public static final String POWER_CONTROL_MODE_TV_AND_AUDIO_SYSTEM = "to_tv_and_audio_system";
7600    field public static final String POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST_NONE = "none";
7601    field public static final String POWER_STATE_CHANGE_ON_ACTIVE_SOURCE_LOST_STANDBY_NOW = "standby_now";
7602    field public static final int POWER_STATUS_ON = 0; // 0x0
7603    field public static final int POWER_STATUS_STANDBY = 1; // 0x1
7604    field public static final int POWER_STATUS_TRANSIENT_TO_ON = 2; // 0x2
7605    field public static final int POWER_STATUS_TRANSIENT_TO_STANDBY = 3; // 0x3
7606    field public static final int POWER_STATUS_UNKNOWN = -1; // 0xffffffff
7607    field public static final int QUERY_SAD_DISABLED = 0; // 0x0
7608    field public static final int QUERY_SAD_ENABLED = 1; // 0x1
7609    field @Deprecated public static final int RESULT_ALREADY_IN_PROGRESS = 4; // 0x4
7610    field public static final int RESULT_COMMUNICATION_FAILED = 7; // 0x7
7611    field public static final int RESULT_EXCEPTION = 5; // 0x5
7612    field public static final int RESULT_INCORRECT_MODE = 6; // 0x6
7613    field public static final int RESULT_SOURCE_NOT_AVAILABLE = 2; // 0x2
7614    field public static final int RESULT_SUCCESS = 0; // 0x0
7615    field public static final int RESULT_TARGET_NOT_AVAILABLE = 3; // 0x3
7616    field public static final int RESULT_TIMEOUT = 1; // 0x1
7617    field public static final int ROUTING_CONTROL_DISABLED = 0; // 0x0
7618    field public static final int ROUTING_CONTROL_ENABLED = 1; // 0x1
7619    field public static final String SETTING_NAME_EARC_ENABLED = "earc_enabled";
7620    field public static final int SOUNDBAR_MODE_DISABLED = 0; // 0x0
7621    field public static final int SOUNDBAR_MODE_ENABLED = 1; // 0x1
7622    field public static final int SYSTEM_AUDIO_CONTROL_DISABLED = 0; // 0x0
7623    field public static final int SYSTEM_AUDIO_CONTROL_ENABLED = 1; // 0x1
7624    field public static final int SYSTEM_AUDIO_MODE_MUTING_DISABLED = 0; // 0x0
7625    field public static final int SYSTEM_AUDIO_MODE_MUTING_ENABLED = 1; // 0x1
7626    field public static final int TIMER_RECORDING_RESULT_EXTRA_CEC_DISABLED = 3; // 0x3
7627    field public static final int TIMER_RECORDING_RESULT_EXTRA_CHECK_RECORDER_CONNECTION = 1; // 0x1
7628    field public static final int TIMER_RECORDING_RESULT_EXTRA_FAIL_TO_RECORD_SELECTED_SOURCE = 2; // 0x2
7629    field public static final int TIMER_RECORDING_RESULT_EXTRA_NO_ERROR = 0; // 0x0
7630    field public static final int TIMER_RECORDING_TYPE_ANALOGUE = 2; // 0x2
7631    field public static final int TIMER_RECORDING_TYPE_DIGITAL = 1; // 0x1
7632    field public static final int TIMER_RECORDING_TYPE_EXTERNAL = 3; // 0x3
7633    field public static final int TIMER_STATUS_MEDIA_INFO_NOT_PRESENT = 2; // 0x2
7634    field public static final int TIMER_STATUS_MEDIA_INFO_PRESENT_NOT_PROTECTED = 0; // 0x0
7635    field public static final int TIMER_STATUS_MEDIA_INFO_PRESENT_PROTECTED = 1; // 0x1
7636    field public static final int TIMER_STATUS_NOT_PROGRAMMED_CA_NOT_SUPPORTED = 6; // 0x6
7637    field public static final int TIMER_STATUS_NOT_PROGRAMMED_CLOCK_FAILURE = 10; // 0xa
7638    field public static final int TIMER_STATUS_NOT_PROGRAMMED_DATE_OUT_OF_RANGE = 2; // 0x2
7639    field public static final int TIMER_STATUS_NOT_PROGRAMMED_DUPLICATED = 14; // 0xe
7640    field public static final int TIMER_STATUS_NOT_PROGRAMMED_INVALID_EXTERNAL_PHYSICAL_NUMBER = 5; // 0x5
7641    field public static final int TIMER_STATUS_NOT_PROGRAMMED_INVALID_EXTERNAL_PLUG_NUMBER = 4; // 0x4
7642    field public static final int TIMER_STATUS_NOT_PROGRAMMED_INVALID_SEQUENCE = 3; // 0x3
7643    field public static final int TIMER_STATUS_NOT_PROGRAMMED_NO_CA_ENTITLEMENTS = 7; // 0x7
7644    field public static final int TIMER_STATUS_NOT_PROGRAMMED_NO_FREE_TIME = 1; // 0x1
7645    field public static final int TIMER_STATUS_NOT_PROGRAMMED_PARENTAL_LOCK_ON = 9; // 0x9
7646    field public static final int TIMER_STATUS_NOT_PROGRAMMED_UNSUPPORTED_RESOLUTION = 8; // 0x8
7647    field public static final int TIMER_STATUS_PROGRAMMED_INFO_ENOUGH_SPACE = 8; // 0x8
7648    field public static final int TIMER_STATUS_PROGRAMMED_INFO_MIGHT_NOT_ENOUGH_SPACE = 11; // 0xb
7649    field public static final int TIMER_STATUS_PROGRAMMED_INFO_NOT_ENOUGH_SPACE = 9; // 0x9
7650    field public static final int TIMER_STATUS_PROGRAMMED_INFO_NO_MEDIA_INFO = 10; // 0xa
7651    field public static final int TV_SEND_STANDBY_ON_SLEEP_DISABLED = 0; // 0x0
7652    field public static final int TV_SEND_STANDBY_ON_SLEEP_ENABLED = 1; // 0x1
7653    field public static final int TV_WAKE_ON_ONE_TOUCH_PLAY_DISABLED = 0; // 0x0
7654    field public static final int TV_WAKE_ON_ONE_TOUCH_PLAY_ENABLED = 1; // 0x1
7655    field public static final int VOLUME_CONTROL_DISABLED = 0; // 0x0
7656    field public static final int VOLUME_CONTROL_ENABLED = 1; // 0x1
7657  }
7658
7659  public static interface HdmiControlManager.CecSettingChangeListener {
7660    method public void onChange(@NonNull String);
7661  }
7662
7663  public static interface HdmiControlManager.HotplugEventListener {
7664    method public void onReceived(android.hardware.hdmi.HdmiHotplugEvent);
7665  }
7666
7667  public static interface HdmiControlManager.VendorCommandListener {
7668    method public void onControlStateChanged(boolean, int);
7669    method public void onReceived(int, int, byte[], boolean);
7670  }
7671
7672  public class HdmiDeviceInfo implements android.os.Parcelable {
7673    ctor @Deprecated public HdmiDeviceInfo();
7674    method public int describeContents();
7675    method public int getAdopterId();
7676    method public int getDeviceId();
7677    method public int getDevicePowerStatus();
7678    method public int getDeviceType();
7679    method public String getDisplayName();
7680    method public int getId();
7681    method public int getLogicalAddress();
7682    method public int getPhysicalAddress();
7683    method public int getPortId();
7684    method public int getVendorId();
7685    method public static int idForCecDevice(int);
7686    method public static int idForHardware(int);
7687    method public static int idForMhlDevice(int);
7688    method public boolean isCecDevice();
7689    method public boolean isInactivated();
7690    method public boolean isMhlDevice();
7691    method public boolean isSourceType();
7692    method public void writeToParcel(android.os.Parcel, int);
7693    field public static final int ADDR_INTERNAL = 0; // 0x0
7694    field public static final int ADDR_INVALID = -1; // 0xffffffff
7695    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.hdmi.HdmiDeviceInfo> CREATOR;
7696    field public static final int DEVICE_AUDIO_SYSTEM = 5; // 0x5
7697    field public static final int DEVICE_INACTIVE = -1; // 0xffffffff
7698    field public static final int DEVICE_PLAYBACK = 4; // 0x4
7699    field public static final int DEVICE_RECORDER = 1; // 0x1
7700    field public static final int DEVICE_RESERVED = 2; // 0x2
7701    field public static final int DEVICE_TUNER = 3; // 0x3
7702    field public static final int DEVICE_TV = 0; // 0x0
7703    field public static final int ID_INVALID = 65535; // 0xffff
7704    field public static final android.hardware.hdmi.HdmiDeviceInfo INACTIVE_DEVICE;
7705    field public static final int PATH_INTERNAL = 0; // 0x0
7706    field public static final int PATH_INVALID = 65535; // 0xffff
7707    field public static final int PORT_INVALID = -1; // 0xffffffff
7708    field public static final int VENDOR_ID_UNKNOWN = 16777215; // 0xffffff
7709  }
7710
7711  public final class HdmiHotplugEvent implements android.os.Parcelable {
7712    method public int describeContents();
7713    method public int getPort();
7714    method public boolean isConnected();
7715    method public void writeToParcel(android.os.Parcel, int);
7716    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.hdmi.HdmiHotplugEvent> CREATOR;
7717  }
7718
7719  public final class HdmiPlaybackClient extends android.hardware.hdmi.HdmiClient {
7720    method public int getDeviceType();
7721    method public void oneTouchPlay(android.hardware.hdmi.HdmiPlaybackClient.OneTouchPlayCallback);
7722    method public void queryDisplayStatus(android.hardware.hdmi.HdmiPlaybackClient.DisplayStatusCallback);
7723    method public void sendStandby();
7724  }
7725
7726  public static interface HdmiPlaybackClient.DisplayStatusCallback {
7727    method public void onComplete(int);
7728  }
7729
7730  public static interface HdmiPlaybackClient.OneTouchPlayCallback {
7731    method public void onComplete(int);
7732  }
7733
7734  public final class HdmiPortInfo implements android.os.Parcelable {
7735    ctor @Deprecated public HdmiPortInfo(int, int, int, boolean, boolean, boolean);
7736    method public int describeContents();
7737    method public int getAddress();
7738    method public int getId();
7739    method public int getType();
7740    method public boolean isArcSupported();
7741    method public boolean isCecSupported();
7742    method public boolean isEarcSupported();
7743    method public boolean isMhlSupported();
7744    method public void writeToParcel(android.os.Parcel, int);
7745    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.hdmi.HdmiPortInfo> CREATOR;
7746    field public static final int PORT_INPUT = 0; // 0x0
7747    field public static final int PORT_OUTPUT = 1; // 0x1
7748  }
7749
7750  public static final class HdmiPortInfo.Builder {
7751    ctor public HdmiPortInfo.Builder(int, int, int);
7752    method @NonNull public android.hardware.hdmi.HdmiPortInfo build();
7753    method @NonNull public android.hardware.hdmi.HdmiPortInfo.Builder setArcSupported(boolean);
7754    method @NonNull public android.hardware.hdmi.HdmiPortInfo.Builder setCecSupported(boolean);
7755    method @NonNull public android.hardware.hdmi.HdmiPortInfo.Builder setEarcSupported(boolean);
7756    method @NonNull public android.hardware.hdmi.HdmiPortInfo.Builder setMhlSupported(boolean);
7757  }
7758
7759  public abstract class HdmiRecordListener {
7760    ctor public HdmiRecordListener();
7761    method public void onClearTimerRecordingResult(int, int);
7762    method public void onOneTouchRecordResult(int, int);
7763    method public abstract android.hardware.hdmi.HdmiRecordSources.RecordSource onOneTouchRecordSourceRequested(int);
7764    method public void onTimerRecordingResult(int, android.hardware.hdmi.HdmiRecordListener.TimerStatusData);
7765  }
7766
7767  public static class HdmiRecordListener.TimerStatusData {
7768    method public int getDurationHour();
7769    method public int getDurationMinute();
7770    method public int getExtraError();
7771    method public int getMediaInfo();
7772    method public int getNotProgammedError();
7773    method public int getProgrammedInfo();
7774    method public boolean isOverlapped();
7775    method public boolean isProgrammed();
7776  }
7777
7778  public final class HdmiRecordSources {
7779    method public static boolean checkRecordSource(byte[]);
7780    method public static android.hardware.hdmi.HdmiRecordSources.OwnSource ofOwnSource();
7781  }
7782
7783  public static final class HdmiRecordSources.AnalogueServiceSource extends android.hardware.hdmi.HdmiRecordSources.RecordSource {
7784  }
7785
7786  public static final class HdmiRecordSources.DigitalServiceSource extends android.hardware.hdmi.HdmiRecordSources.RecordSource {
7787  }
7788
7789  public static final class HdmiRecordSources.ExternalPhysicalAddress extends android.hardware.hdmi.HdmiRecordSources.RecordSource {
7790  }
7791
7792  public static final class HdmiRecordSources.ExternalPlugData extends android.hardware.hdmi.HdmiRecordSources.RecordSource {
7793  }
7794
7795  public static final class HdmiRecordSources.OwnSource extends android.hardware.hdmi.HdmiRecordSources.RecordSource {
7796  }
7797
7798  public abstract static class HdmiRecordSources.RecordSource {
7799  }
7800
7801  public class HdmiSwitchClient extends android.hardware.hdmi.HdmiClient {
7802    method public int getDeviceType();
7803    method @Deprecated @NonNull public java.util.List<android.hardware.hdmi.HdmiPortInfo> getPortInfo();
7804    method public void selectPort(int, @NonNull android.hardware.hdmi.HdmiSwitchClient.OnSelectListener);
7805    method public void selectPort(int, @NonNull java.util.concurrent.Executor, @NonNull android.hardware.hdmi.HdmiSwitchClient.OnSelectListener);
7806  }
7807
7808  public static interface HdmiSwitchClient.OnSelectListener {
7809    method public void onSelect(int);
7810  }
7811
7812  public class HdmiTimerRecordSources {
7813    method public static boolean checkTimerRecordSource(int, byte[]);
7814    method public static android.hardware.hdmi.HdmiTimerRecordSources.Duration durationOf(int, int);
7815    method public static android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource ofAnalogueSource(android.hardware.hdmi.HdmiTimerRecordSources.TimerInfo, android.hardware.hdmi.HdmiRecordSources.AnalogueServiceSource);
7816    method public static android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource ofDigitalSource(android.hardware.hdmi.HdmiTimerRecordSources.TimerInfo, android.hardware.hdmi.HdmiRecordSources.DigitalServiceSource);
7817    method public static android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource ofExternalPhysicalAddress(android.hardware.hdmi.HdmiTimerRecordSources.TimerInfo, android.hardware.hdmi.HdmiRecordSources.ExternalPhysicalAddress);
7818    method public static android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource ofExternalPlug(android.hardware.hdmi.HdmiTimerRecordSources.TimerInfo, android.hardware.hdmi.HdmiRecordSources.ExternalPlugData);
7819    method public static android.hardware.hdmi.HdmiTimerRecordSources.Time timeOf(int, int);
7820    method public static android.hardware.hdmi.HdmiTimerRecordSources.TimerInfo timerInfoOf(int, int, android.hardware.hdmi.HdmiTimerRecordSources.Time, android.hardware.hdmi.HdmiTimerRecordSources.Duration, int);
7821    field public static final int RECORDING_SEQUENCE_REPEAT_FRIDAY = 32; // 0x20
7822    field public static final int RECORDING_SEQUENCE_REPEAT_MONDAY = 2; // 0x2
7823    field public static final int RECORDING_SEQUENCE_REPEAT_ONCE_ONLY = 0; // 0x0
7824    field public static final int RECORDING_SEQUENCE_REPEAT_SATUREDAY = 64; // 0x40
7825    field public static final int RECORDING_SEQUENCE_REPEAT_SUNDAY = 1; // 0x1
7826    field public static final int RECORDING_SEQUENCE_REPEAT_THURSDAY = 16; // 0x10
7827    field public static final int RECORDING_SEQUENCE_REPEAT_TUESDAY = 4; // 0x4
7828    field public static final int RECORDING_SEQUENCE_REPEAT_WEDNESDAY = 8; // 0x8
7829  }
7830
7831  public static final class HdmiTimerRecordSources.Duration {
7832  }
7833
7834  public static final class HdmiTimerRecordSources.Time {
7835  }
7836
7837  public static final class HdmiTimerRecordSources.TimerInfo {
7838  }
7839
7840  public static final class HdmiTimerRecordSources.TimerRecordSource {
7841  }
7842
7843  public final class HdmiTvClient extends android.hardware.hdmi.HdmiClient {
7844    method public void clearTimerRecording(int, int, android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource);
7845    method @Deprecated public void deviceSelect(int, @NonNull android.hardware.hdmi.HdmiTvClient.SelectCallback);
7846    method @Deprecated public java.util.List<android.hardware.hdmi.HdmiDeviceInfo> getDeviceList();
7847    method public int getDeviceType();
7848    method public void portSelect(int, @NonNull android.hardware.hdmi.HdmiTvClient.SelectCallback);
7849    method public void sendMhlVendorCommand(int, int, int, byte[]);
7850    method public void sendStandby(int);
7851    method public void setHdmiMhlVendorCommandListener(android.hardware.hdmi.HdmiTvClient.HdmiMhlVendorCommandListener);
7852    method public void setInputChangeListener(android.hardware.hdmi.HdmiTvClient.InputChangeListener);
7853    method public void setRecordListener(@NonNull android.hardware.hdmi.HdmiRecordListener);
7854    method public void setSystemAudioMode(boolean, android.hardware.hdmi.HdmiTvClient.SelectCallback);
7855    method public void setSystemAudioMute(boolean);
7856    method public void setSystemAudioVolume(int, int, int);
7857    method public void startOneTouchRecord(int, @NonNull android.hardware.hdmi.HdmiRecordSources.RecordSource);
7858    method public void startTimerRecording(int, int, android.hardware.hdmi.HdmiTimerRecordSources.TimerRecordSource);
7859    method public void stopOneTouchRecord(int);
7860    field public static final int VENDOR_DATA_SIZE = 16; // 0x10
7861  }
7862
7863  public static interface HdmiTvClient.HdmiMhlVendorCommandListener {
7864    method public void onReceived(int, int, int, byte[]);
7865  }
7866
7867  public static interface HdmiTvClient.InputChangeListener {
7868    method public void onChanged(android.hardware.hdmi.HdmiDeviceInfo);
7869  }
7870
7871  public static interface HdmiTvClient.SelectCallback {
7872    method public void onComplete(int);
7873  }
7874
7875}
7876
7877package android.hardware.input {
7878
7879  public class VirtualDpad implements java.io.Closeable {
7880    method public void close();
7881    method public void sendKeyEvent(@NonNull android.hardware.input.VirtualKeyEvent);
7882  }
7883
7884  public final class VirtualDpadConfig extends android.hardware.input.VirtualInputDeviceConfig implements android.os.Parcelable {
7885    method public int describeContents();
7886    method public void writeToParcel(@NonNull android.os.Parcel, int);
7887    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualDpadConfig> CREATOR;
7888  }
7889
7890  public static final class VirtualDpadConfig.Builder extends android.hardware.input.VirtualInputDeviceConfig.Builder<android.hardware.input.VirtualDpadConfig.Builder> {
7891    ctor public VirtualDpadConfig.Builder();
7892    method @NonNull public android.hardware.input.VirtualDpadConfig build();
7893  }
7894
7895  public abstract class VirtualInputDeviceConfig {
7896    ctor protected VirtualInputDeviceConfig(@NonNull android.hardware.input.VirtualInputDeviceConfig.Builder<? extends android.hardware.input.VirtualInputDeviceConfig.Builder<?>>);
7897    ctor protected VirtualInputDeviceConfig(@NonNull android.os.Parcel);
7898    method public int getAssociatedDisplayId();
7899    method @NonNull public String getInputDeviceName();
7900    method public int getProductId();
7901    method public int getVendorId();
7902  }
7903
7904  public abstract static class VirtualInputDeviceConfig.Builder<T extends android.hardware.input.VirtualInputDeviceConfig.Builder<T>> {
7905    ctor public VirtualInputDeviceConfig.Builder();
7906    method @NonNull public T setAssociatedDisplayId(int);
7907    method @NonNull public T setInputDeviceName(@NonNull String);
7908    method @NonNull public T setProductId(int);
7909    method @NonNull public T setVendorId(int);
7910  }
7911
7912  public final class VirtualKeyEvent implements android.os.Parcelable {
7913    method public int describeContents();
7914    method public int getAction();
7915    method public long getEventTimeNanos();
7916    method public int getKeyCode();
7917    method public void writeToParcel(@NonNull android.os.Parcel, int);
7918    field public static final int ACTION_DOWN = 0; // 0x0
7919    field public static final int ACTION_UP = 1; // 0x1
7920    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualKeyEvent> CREATOR;
7921  }
7922
7923  public static final class VirtualKeyEvent.Builder {
7924    ctor public VirtualKeyEvent.Builder();
7925    method @NonNull public android.hardware.input.VirtualKeyEvent build();
7926    method @NonNull public android.hardware.input.VirtualKeyEvent.Builder setAction(int);
7927    method @NonNull public android.hardware.input.VirtualKeyEvent.Builder setEventTimeNanos(long);
7928    method @NonNull public android.hardware.input.VirtualKeyEvent.Builder setKeyCode(int);
7929  }
7930
7931  public class VirtualKeyboard implements java.io.Closeable {
7932    method public void close();
7933    method public void sendKeyEvent(@NonNull android.hardware.input.VirtualKeyEvent);
7934  }
7935
7936  public final class VirtualKeyboardConfig extends android.hardware.input.VirtualInputDeviceConfig implements android.os.Parcelable {
7937    method public int describeContents();
7938    method @NonNull public String getLanguageTag();
7939    method @NonNull public String getLayoutType();
7940    method public void writeToParcel(@NonNull android.os.Parcel, int);
7941    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualKeyboardConfig> CREATOR;
7942    field public static final String DEFAULT_LANGUAGE_TAG = "en-Latn-US";
7943    field public static final String DEFAULT_LAYOUT_TYPE = "qwerty";
7944  }
7945
7946  public static final class VirtualKeyboardConfig.Builder extends android.hardware.input.VirtualInputDeviceConfig.Builder<android.hardware.input.VirtualKeyboardConfig.Builder> {
7947    ctor public VirtualKeyboardConfig.Builder();
7948    method @NonNull public android.hardware.input.VirtualKeyboardConfig build();
7949    method @NonNull public android.hardware.input.VirtualKeyboardConfig.Builder setLanguageTag(@NonNull String);
7950    method @NonNull public android.hardware.input.VirtualKeyboardConfig.Builder setLayoutType(@NonNull String);
7951  }
7952
7953  public class VirtualMouse implements java.io.Closeable {
7954    method public void close();
7955    method @NonNull public android.graphics.PointF getCursorPosition();
7956    method public void sendButtonEvent(@NonNull android.hardware.input.VirtualMouseButtonEvent);
7957    method public void sendRelativeEvent(@NonNull android.hardware.input.VirtualMouseRelativeEvent);
7958    method public void sendScrollEvent(@NonNull android.hardware.input.VirtualMouseScrollEvent);
7959  }
7960
7961  public final class VirtualMouseButtonEvent implements android.os.Parcelable {
7962    method public int describeContents();
7963    method public int getAction();
7964    method public int getButtonCode();
7965    method public long getEventTimeNanos();
7966    method public void writeToParcel(@NonNull android.os.Parcel, int);
7967    field public static final int ACTION_BUTTON_PRESS = 11; // 0xb
7968    field public static final int ACTION_BUTTON_RELEASE = 12; // 0xc
7969    field public static final int BUTTON_BACK = 8; // 0x8
7970    field public static final int BUTTON_FORWARD = 16; // 0x10
7971    field public static final int BUTTON_PRIMARY = 1; // 0x1
7972    field public static final int BUTTON_SECONDARY = 2; // 0x2
7973    field public static final int BUTTON_TERTIARY = 4; // 0x4
7974    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualMouseButtonEvent> CREATOR;
7975  }
7976
7977  public static final class VirtualMouseButtonEvent.Builder {
7978    ctor public VirtualMouseButtonEvent.Builder();
7979    method @NonNull public android.hardware.input.VirtualMouseButtonEvent build();
7980    method @NonNull public android.hardware.input.VirtualMouseButtonEvent.Builder setAction(int);
7981    method @NonNull public android.hardware.input.VirtualMouseButtonEvent.Builder setButtonCode(int);
7982    method @NonNull public android.hardware.input.VirtualMouseButtonEvent.Builder setEventTimeNanos(long);
7983  }
7984
7985  public final class VirtualMouseConfig extends android.hardware.input.VirtualInputDeviceConfig implements android.os.Parcelable {
7986    method public int describeContents();
7987    method public void writeToParcel(@NonNull android.os.Parcel, int);
7988    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualMouseConfig> CREATOR;
7989  }
7990
7991  public static final class VirtualMouseConfig.Builder extends android.hardware.input.VirtualInputDeviceConfig.Builder<android.hardware.input.VirtualMouseConfig.Builder> {
7992    ctor public VirtualMouseConfig.Builder();
7993    method @NonNull public android.hardware.input.VirtualMouseConfig build();
7994  }
7995
7996  public final class VirtualMouseRelativeEvent implements android.os.Parcelable {
7997    method public int describeContents();
7998    method public long getEventTimeNanos();
7999    method public float getRelativeX();
8000    method public float getRelativeY();
8001    method public void writeToParcel(@NonNull android.os.Parcel, int);
8002    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualMouseRelativeEvent> CREATOR;
8003  }
8004
8005  public static final class VirtualMouseRelativeEvent.Builder {
8006    ctor public VirtualMouseRelativeEvent.Builder();
8007    method @NonNull public android.hardware.input.VirtualMouseRelativeEvent build();
8008    method @NonNull public android.hardware.input.VirtualMouseRelativeEvent.Builder setEventTimeNanos(long);
8009    method @NonNull public android.hardware.input.VirtualMouseRelativeEvent.Builder setRelativeX(float);
8010    method @NonNull public android.hardware.input.VirtualMouseRelativeEvent.Builder setRelativeY(float);
8011  }
8012
8013  public final class VirtualMouseScrollEvent implements android.os.Parcelable {
8014    method public int describeContents();
8015    method public long getEventTimeNanos();
8016    method public float getXAxisMovement();
8017    method public float getYAxisMovement();
8018    method public void writeToParcel(@NonNull android.os.Parcel, int);
8019    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualMouseScrollEvent> CREATOR;
8020  }
8021
8022  public static final class VirtualMouseScrollEvent.Builder {
8023    ctor public VirtualMouseScrollEvent.Builder();
8024    method @NonNull public android.hardware.input.VirtualMouseScrollEvent build();
8025    method @NonNull public android.hardware.input.VirtualMouseScrollEvent.Builder setEventTimeNanos(long);
8026    method @NonNull public android.hardware.input.VirtualMouseScrollEvent.Builder setXAxisMovement(@FloatRange(from=-1.0F, to=1.0f) float);
8027    method @NonNull public android.hardware.input.VirtualMouseScrollEvent.Builder setYAxisMovement(@FloatRange(from=-1.0F, to=1.0f) float);
8028  }
8029
8030  public class VirtualNavigationTouchpad implements java.io.Closeable {
8031    method public void close();
8032    method public void sendTouchEvent(@NonNull android.hardware.input.VirtualTouchEvent);
8033  }
8034
8035  public final class VirtualNavigationTouchpadConfig extends android.hardware.input.VirtualInputDeviceConfig implements android.os.Parcelable {
8036    method public int describeContents();
8037    method @IntRange(from=1) public int getHeight();
8038    method @IntRange(from=1) public int getWidth();
8039    method public void writeToParcel(@NonNull android.os.Parcel, int);
8040    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualNavigationTouchpadConfig> CREATOR;
8041  }
8042
8043  public static final class VirtualNavigationTouchpadConfig.Builder extends android.hardware.input.VirtualInputDeviceConfig.Builder<android.hardware.input.VirtualNavigationTouchpadConfig.Builder> {
8044    ctor public VirtualNavigationTouchpadConfig.Builder(@IntRange(from=1) int, @IntRange(from=1) int);
8045    method @NonNull public android.hardware.input.VirtualNavigationTouchpadConfig build();
8046  }
8047
8048  public class VirtualRotaryEncoder implements java.io.Closeable {
8049    method public void close();
8050    method public void sendScrollEvent(@NonNull android.hardware.input.VirtualRotaryEncoderScrollEvent);
8051  }
8052
8053  public final class VirtualRotaryEncoderConfig extends android.hardware.input.VirtualInputDeviceConfig implements android.os.Parcelable {
8054    method public int describeContents();
8055    method public void writeToParcel(@NonNull android.os.Parcel, int);
8056    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualRotaryEncoderConfig> CREATOR;
8057  }
8058
8059  public static final class VirtualRotaryEncoderConfig.Builder extends android.hardware.input.VirtualInputDeviceConfig.Builder<android.hardware.input.VirtualRotaryEncoderConfig.Builder> {
8060    ctor public VirtualRotaryEncoderConfig.Builder();
8061    method @NonNull public android.hardware.input.VirtualRotaryEncoderConfig build();
8062  }
8063
8064  public final class VirtualRotaryEncoderScrollEvent implements android.os.Parcelable {
8065    method public int describeContents();
8066    method public long getEventTimeNanos();
8067    method @FloatRange(from=-1.0F, to=1.0f) public float getScrollAmount();
8068    method public void writeToParcel(@NonNull android.os.Parcel, int);
8069    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualRotaryEncoderScrollEvent> CREATOR;
8070  }
8071
8072  public static final class VirtualRotaryEncoderScrollEvent.Builder {
8073    ctor public VirtualRotaryEncoderScrollEvent.Builder();
8074    method @NonNull public android.hardware.input.VirtualRotaryEncoderScrollEvent build();
8075    method @NonNull public android.hardware.input.VirtualRotaryEncoderScrollEvent.Builder setEventTimeNanos(long);
8076    method @NonNull public android.hardware.input.VirtualRotaryEncoderScrollEvent.Builder setScrollAmount(@FloatRange(from=-1.0F, to=1.0f) float);
8077  }
8078
8079  public class VirtualStylus implements java.io.Closeable {
8080    method public void close();
8081    method public void sendButtonEvent(@NonNull android.hardware.input.VirtualStylusButtonEvent);
8082    method public void sendMotionEvent(@NonNull android.hardware.input.VirtualStylusMotionEvent);
8083  }
8084
8085  public final class VirtualStylusButtonEvent implements android.os.Parcelable {
8086    method public int describeContents();
8087    method public int getAction();
8088    method public int getButtonCode();
8089    method public long getEventTimeNanos();
8090    method public void writeToParcel(@NonNull android.os.Parcel, int);
8091    field public static final int ACTION_BUTTON_PRESS = 11; // 0xb
8092    field public static final int ACTION_BUTTON_RELEASE = 12; // 0xc
8093    field public static final int BUTTON_PRIMARY = 32; // 0x20
8094    field public static final int BUTTON_SECONDARY = 64; // 0x40
8095    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualStylusButtonEvent> CREATOR;
8096  }
8097
8098  public static final class VirtualStylusButtonEvent.Builder {
8099    ctor public VirtualStylusButtonEvent.Builder();
8100    method @NonNull public android.hardware.input.VirtualStylusButtonEvent build();
8101    method @NonNull public android.hardware.input.VirtualStylusButtonEvent.Builder setAction(int);
8102    method @NonNull public android.hardware.input.VirtualStylusButtonEvent.Builder setButtonCode(int);
8103    method @NonNull public android.hardware.input.VirtualStylusButtonEvent.Builder setEventTimeNanos(long);
8104  }
8105
8106  public final class VirtualStylusConfig extends android.hardware.input.VirtualInputDeviceConfig implements android.os.Parcelable {
8107    method public int describeContents();
8108    method public int getHeight();
8109    method public int getWidth();
8110    method public void writeToParcel(@NonNull android.os.Parcel, int);
8111    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualStylusConfig> CREATOR;
8112  }
8113
8114  public static final class VirtualStylusConfig.Builder extends android.hardware.input.VirtualInputDeviceConfig.Builder<android.hardware.input.VirtualStylusConfig.Builder> {
8115    ctor public VirtualStylusConfig.Builder(@IntRange(from=1) int, @IntRange(from=1) int);
8116    method @NonNull public android.hardware.input.VirtualStylusConfig build();
8117  }
8118
8119  public final class VirtualStylusMotionEvent implements android.os.Parcelable {
8120    method public int describeContents();
8121    method public int getAction();
8122    method public long getEventTimeNanos();
8123    method public int getPressure();
8124    method public int getTiltX();
8125    method public int getTiltY();
8126    method public int getToolType();
8127    method public int getX();
8128    method public int getY();
8129    method public void writeToParcel(@NonNull android.os.Parcel, int);
8130    field public static final int ACTION_DOWN = 0; // 0x0
8131    field public static final int ACTION_MOVE = 2; // 0x2
8132    field public static final int ACTION_UP = 1; // 0x1
8133    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualStylusMotionEvent> CREATOR;
8134    field public static final int TOOL_TYPE_ERASER = 4; // 0x4
8135    field public static final int TOOL_TYPE_STYLUS = 2; // 0x2
8136  }
8137
8138  public static final class VirtualStylusMotionEvent.Builder {
8139    ctor public VirtualStylusMotionEvent.Builder();
8140    method @NonNull public android.hardware.input.VirtualStylusMotionEvent build();
8141    method @NonNull public android.hardware.input.VirtualStylusMotionEvent.Builder setAction(int);
8142    method @NonNull public android.hardware.input.VirtualStylusMotionEvent.Builder setEventTimeNanos(long);
8143    method @NonNull public android.hardware.input.VirtualStylusMotionEvent.Builder setPressure(@IntRange(from=0x0, to=0xff) int);
8144    method @NonNull public android.hardware.input.VirtualStylusMotionEvent.Builder setTiltX(@IntRange(from=0xffffffa6, to=0x5a) int);
8145    method @NonNull public android.hardware.input.VirtualStylusMotionEvent.Builder setTiltY(@IntRange(from=0xffffffa6, to=0x5a) int);
8146    method @NonNull public android.hardware.input.VirtualStylusMotionEvent.Builder setToolType(int);
8147    method @NonNull public android.hardware.input.VirtualStylusMotionEvent.Builder setX(int);
8148    method @NonNull public android.hardware.input.VirtualStylusMotionEvent.Builder setY(int);
8149  }
8150
8151  public final class VirtualTouchEvent implements android.os.Parcelable {
8152    method public int describeContents();
8153    method public int getAction();
8154    method public long getEventTimeNanos();
8155    method public float getMajorAxisSize();
8156    method public int getPointerId();
8157    method public float getPressure();
8158    method public int getToolType();
8159    method public float getX();
8160    method public float getY();
8161    method public void writeToParcel(@NonNull android.os.Parcel, int);
8162    field public static final int ACTION_CANCEL = 3; // 0x3
8163    field public static final int ACTION_DOWN = 0; // 0x0
8164    field public static final int ACTION_MOVE = 2; // 0x2
8165    field public static final int ACTION_UP = 1; // 0x1
8166    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualTouchEvent> CREATOR;
8167    field public static final int TOOL_TYPE_FINGER = 1; // 0x1
8168    field public static final int TOOL_TYPE_PALM = 5; // 0x5
8169  }
8170
8171  public static final class VirtualTouchEvent.Builder {
8172    ctor public VirtualTouchEvent.Builder();
8173    method @NonNull public android.hardware.input.VirtualTouchEvent build();
8174    method @NonNull public android.hardware.input.VirtualTouchEvent.Builder setAction(int);
8175    method @NonNull public android.hardware.input.VirtualTouchEvent.Builder setEventTimeNanos(long);
8176    method @NonNull public android.hardware.input.VirtualTouchEvent.Builder setMajorAxisSize(@FloatRange(from=0.0f) float);
8177    method @NonNull public android.hardware.input.VirtualTouchEvent.Builder setPointerId(@IntRange(from=0, to=0x10 - 1) int);
8178    method @NonNull public android.hardware.input.VirtualTouchEvent.Builder setPressure(@FloatRange(from=0.0f) float);
8179    method @NonNull public android.hardware.input.VirtualTouchEvent.Builder setToolType(int);
8180    method @NonNull public android.hardware.input.VirtualTouchEvent.Builder setX(float);
8181    method @NonNull public android.hardware.input.VirtualTouchEvent.Builder setY(float);
8182  }
8183
8184  public class VirtualTouchscreen implements java.io.Closeable {
8185    method public void close();
8186    method public void sendTouchEvent(@NonNull android.hardware.input.VirtualTouchEvent);
8187  }
8188
8189  public final class VirtualTouchscreenConfig extends android.hardware.input.VirtualInputDeviceConfig implements android.os.Parcelable {
8190    method public int describeContents();
8191    method public int getHeight();
8192    method public int getWidth();
8193    method public void writeToParcel(@NonNull android.os.Parcel, int);
8194    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.input.VirtualTouchscreenConfig> CREATOR;
8195  }
8196
8197  public static final class VirtualTouchscreenConfig.Builder extends android.hardware.input.VirtualInputDeviceConfig.Builder<android.hardware.input.VirtualTouchscreenConfig.Builder> {
8198    ctor public VirtualTouchscreenConfig.Builder(@IntRange(from=1) int, @IntRange(from=1) int);
8199    method @NonNull public android.hardware.input.VirtualTouchscreenConfig build();
8200  }
8201
8202}
8203
8204package android.hardware.lights {
8205
8206  public final class LightState implements android.os.Parcelable {
8207    ctor @Deprecated public LightState(@ColorInt int);
8208  }
8209
8210  public abstract class LightsManager {
8211    field @Deprecated public static final int LIGHT_TYPE_MICROPHONE = 8; // 0x8
8212  }
8213
8214  public static final class LightsRequest.Builder {
8215    method @Deprecated @NonNull public android.hardware.lights.LightsRequest.Builder setLight(@NonNull android.hardware.lights.Light, @NonNull android.hardware.lights.LightState);
8216  }
8217
8218}
8219
8220package android.hardware.location {
8221
8222  public class ContextHubClient implements java.io.Closeable {
8223    method public void close();
8224    method @NonNull public android.hardware.location.ContextHubInfo getAttachedHub();
8225    method @IntRange(from=0, to=65535) public int getId();
8226    method @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public int sendMessageToNanoApp(@NonNull android.hardware.location.NanoAppMessage);
8227    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public android.hardware.location.ContextHubTransaction<java.lang.Void> sendReliableMessageToNanoApp(@NonNull android.hardware.location.NanoAppMessage);
8228  }
8229
8230  public class ContextHubClientCallback {
8231    ctor public ContextHubClientCallback();
8232    method public void onClientAuthorizationChanged(@NonNull android.hardware.location.ContextHubClient, long, int);
8233    method public void onHubReset(android.hardware.location.ContextHubClient);
8234    method public void onMessageFromNanoApp(android.hardware.location.ContextHubClient, android.hardware.location.NanoAppMessage);
8235    method public void onNanoAppAborted(android.hardware.location.ContextHubClient, long, int);
8236    method public void onNanoAppDisabled(android.hardware.location.ContextHubClient, long);
8237    method public void onNanoAppEnabled(android.hardware.location.ContextHubClient, long);
8238    method public void onNanoAppLoaded(android.hardware.location.ContextHubClient, long);
8239    method public void onNanoAppUnloaded(android.hardware.location.ContextHubClient, long);
8240  }
8241
8242  public class ContextHubInfo implements android.os.Parcelable {
8243    ctor public ContextHubInfo();
8244    method public int describeContents();
8245    method public byte getChreApiMajorVersion();
8246    method public byte getChreApiMinorVersion();
8247    method public short getChrePatchVersion();
8248    method public long getChrePlatformId();
8249    method public int getId();
8250    method public int getMaxPacketLengthBytes();
8251    method public android.hardware.location.MemoryRegion[] getMemoryRegions();
8252    method public String getName();
8253    method public float getPeakMips();
8254    method public float getPeakPowerDrawMw();
8255    method public int getPlatformVersion();
8256    method public float getSleepPowerDrawMw();
8257    method public int getStaticSwVersion();
8258    method public float getStoppedPowerDrawMw();
8259    method public int[] getSupportedSensors();
8260    method public String getToolchain();
8261    method public int getToolchainVersion();
8262    method public String getVendor();
8263    method public boolean supportsReliableMessages();
8264    method public void writeToParcel(android.os.Parcel, int);
8265    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.ContextHubInfo> CREATOR;
8266  }
8267
8268  public class ContextHubIntentEvent {
8269    method @NonNull public static android.hardware.location.ContextHubIntentEvent fromIntent(@NonNull android.content.Intent);
8270    method public int getClientAuthorizationState();
8271    method @NonNull public android.hardware.location.ContextHubInfo getContextHubInfo();
8272    method public int getEventType();
8273    method public int getNanoAppAbortCode();
8274    method public long getNanoAppId();
8275    method @NonNull public android.hardware.location.NanoAppMessage getNanoAppMessage();
8276  }
8277
8278  public final class ContextHubManager {
8279    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);
8280    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);
8281    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);
8282    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);
8283    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);
8284    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public android.hardware.location.ContextHubTransaction<java.lang.Void> disableNanoApp(@NonNull android.hardware.location.ContextHubInfo, long);
8285    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public android.hardware.location.ContextHubTransaction<java.lang.Void> enableNanoApp(@NonNull android.hardware.location.ContextHubInfo, long);
8286    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public java.util.List<android.hardware.contexthub.HubDiscoveryInfo> findEndpoints(@NonNull String);
8287    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public java.util.List<android.hardware.contexthub.HubDiscoveryInfo> findEndpoints(long);
8288    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public int[] findNanoAppOnHub(int, @NonNull android.hardware.location.NanoAppFilter);
8289    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public int[] getContextHubHandles();
8290    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public android.hardware.location.ContextHubInfo getContextHubInfo(int);
8291    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public java.util.List<android.hardware.location.ContextHubInfo> getContextHubs();
8292    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public android.hardware.location.NanoAppInstanceInfo getNanoAppInstanceInfo(int);
8293    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);
8294    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public int loadNanoApp(int, @NonNull android.hardware.location.NanoApp);
8295    method @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public void openSession(@NonNull android.hardware.contexthub.HubEndpoint, @NonNull android.hardware.contexthub.HubEndpointInfo);
8296    method @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public void openSession(@NonNull android.hardware.contexthub.HubEndpoint, @NonNull android.hardware.contexthub.HubEndpointInfo, @NonNull String);
8297    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);
8298    method @Deprecated public int registerCallback(@NonNull android.hardware.location.ContextHubManager.Callback);
8299    method @Deprecated public int registerCallback(android.hardware.location.ContextHubManager.Callback, android.os.Handler);
8300    method @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public void registerEndpoint(@NonNull android.hardware.contexthub.HubEndpoint);
8301    method @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public void registerEndpointDiscoveryCallback(@NonNull android.hardware.contexthub.HubEndpointDiscoveryCallback, @NonNull String);
8302    method @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public void registerEndpointDiscoveryCallback(@NonNull android.hardware.contexthub.HubEndpointDiscoveryCallback, long);
8303    method @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public void registerEndpointDiscoveryCallback(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.contexthub.HubEndpointDiscoveryCallback, @NonNull String);
8304    method @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public void registerEndpointDiscoveryCallback(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.contexthub.HubEndpointDiscoveryCallback, long);
8305    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public int sendMessage(int, int, @NonNull android.hardware.location.ContextHubMessage);
8306    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public android.hardware.location.ContextHubTransaction<java.lang.Void> unloadNanoApp(@NonNull android.hardware.location.ContextHubInfo, long);
8307    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public int unloadNanoApp(int);
8308    method @Deprecated public int unregisterCallback(@NonNull android.hardware.location.ContextHubManager.Callback);
8309    method @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public void unregisterEndpoint(@NonNull android.hardware.contexthub.HubEndpoint);
8310    method @RequiresPermission(android.Manifest.permission.ACCESS_CONTEXT_HUB) public void unregisterEndpointDiscoveryCallback(@NonNull android.hardware.contexthub.HubEndpointDiscoveryCallback);
8311    field public static final int AUTHORIZATION_DENIED = 0; // 0x0
8312    field public static final int AUTHORIZATION_DENIED_GRACE_PERIOD = 1; // 0x1
8313    field public static final int AUTHORIZATION_GRANTED = 2; // 0x2
8314    field public static final int EVENT_CLIENT_AUTHORIZATION = 7; // 0x7
8315    field public static final int EVENT_HUB_RESET = 6; // 0x6
8316    field public static final int EVENT_NANOAPP_ABORTED = 4; // 0x4
8317    field public static final int EVENT_NANOAPP_DISABLED = 3; // 0x3
8318    field public static final int EVENT_NANOAPP_ENABLED = 2; // 0x2
8319    field public static final int EVENT_NANOAPP_LOADED = 0; // 0x0
8320    field public static final int EVENT_NANOAPP_MESSAGE = 5; // 0x5
8321    field public static final int EVENT_NANOAPP_UNLOADED = 1; // 0x1
8322    field public static final String EXTRA_CLIENT_AUTHORIZATION_STATE = "android.hardware.location.extra.CLIENT_AUTHORIZATION_STATE";
8323    field public static final String EXTRA_CONTEXT_HUB_INFO = "android.hardware.location.extra.CONTEXT_HUB_INFO";
8324    field public static final String EXTRA_EVENT_TYPE = "android.hardware.location.extra.EVENT_TYPE";
8325    field public static final String EXTRA_MESSAGE = "android.hardware.location.extra.MESSAGE";
8326    field public static final String EXTRA_NANOAPP_ABORT_CODE = "android.hardware.location.extra.NANOAPP_ABORT_CODE";
8327    field public static final String EXTRA_NANOAPP_ID = "android.hardware.location.extra.NANOAPP_ID";
8328  }
8329
8330  @Deprecated public abstract static class ContextHubManager.Callback {
8331    ctor @Deprecated protected ContextHubManager.Callback();
8332    method @Deprecated public abstract void onMessageReceipt(int, int, @NonNull android.hardware.location.ContextHubMessage);
8333  }
8334
8335  @Deprecated public class ContextHubMessage implements android.os.Parcelable {
8336    ctor @Deprecated public ContextHubMessage(int, int, byte[]);
8337    method @Deprecated public int describeContents();
8338    method @Deprecated public byte[] getData();
8339    method @Deprecated public int getMsgType();
8340    method @Deprecated public int getVersion();
8341    method @Deprecated public void setMsgData(byte[]);
8342    method @Deprecated public void setMsgType(int);
8343    method @Deprecated public void setVersion(int);
8344    method @Deprecated public void writeToParcel(android.os.Parcel, int);
8345    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.ContextHubMessage> CREATOR;
8346  }
8347
8348  public class ContextHubTransaction<T> {
8349    method public int getType();
8350    method public void setOnCompleteListener(@NonNull android.hardware.location.ContextHubTransaction.OnCompleteListener<T>);
8351    method public void setOnCompleteListener(@NonNull android.hardware.location.ContextHubTransaction.OnCompleteListener<T>, @NonNull java.util.concurrent.Executor);
8352    method public static String typeToString(int, boolean);
8353    method public android.hardware.location.ContextHubTransaction.Response<T> waitForResponse(long, java.util.concurrent.TimeUnit) throws java.lang.InterruptedException, java.util.concurrent.TimeoutException;
8354    field public static final int RESULT_FAILED_AT_HUB = 5; // 0x5
8355    field public static final int RESULT_FAILED_BAD_PARAMS = 2; // 0x2
8356    field public static final int RESULT_FAILED_BUSY = 4; // 0x4
8357    field public static final int RESULT_FAILED_HAL_UNAVAILABLE = 8; // 0x8
8358    field public static final int RESULT_FAILED_NOT_SUPPORTED = 9; // 0x9
8359    field public static final int RESULT_FAILED_SERVICE_INTERNAL_FAILURE = 7; // 0x7
8360    field public static final int RESULT_FAILED_TIMEOUT = 6; // 0x6
8361    field public static final int RESULT_FAILED_UNINITIALIZED = 3; // 0x3
8362    field public static final int RESULT_FAILED_UNKNOWN = 1; // 0x1
8363    field public static final int RESULT_SUCCESS = 0; // 0x0
8364    field public static final int TYPE_DISABLE_NANOAPP = 3; // 0x3
8365    field public static final int TYPE_ENABLE_NANOAPP = 2; // 0x2
8366    field public static final int TYPE_HUB_MESSAGE_DEFAULT = 6; // 0x6
8367    field public static final int TYPE_HUB_MESSAGE_REQUIRES_RESPONSE = 7; // 0x7
8368    field public static final int TYPE_LOAD_NANOAPP = 0; // 0x0
8369    field public static final int TYPE_QUERY_NANOAPPS = 4; // 0x4
8370    field public static final int TYPE_RELIABLE_MESSAGE = 5; // 0x5
8371    field public static final int TYPE_UNLOAD_NANOAPP = 1; // 0x1
8372  }
8373
8374  @java.lang.FunctionalInterface public static interface ContextHubTransaction.OnCompleteListener<L> {
8375    method public void onComplete(android.hardware.location.ContextHubTransaction<L>, android.hardware.location.ContextHubTransaction.Response<L>);
8376  }
8377
8378  public static class ContextHubTransaction.Response<R> {
8379    method public R getContents();
8380    method public int getResult();
8381  }
8382
8383  public final class GeofenceHardware {
8384    method public boolean addGeofence(int, int, android.hardware.location.GeofenceHardwareRequest, android.hardware.location.GeofenceHardwareCallback);
8385    method public int[] getMonitoringTypes();
8386    method public int getStatusOfMonitoringType(int);
8387    method public boolean pauseGeofence(int, int);
8388    method public boolean registerForMonitorStateChangeCallback(int, android.hardware.location.GeofenceHardwareMonitorCallback);
8389    method public boolean removeGeofence(int, int);
8390    method public boolean resumeGeofence(int, int, int);
8391    method public boolean unregisterForMonitorStateChangeCallback(int, android.hardware.location.GeofenceHardwareMonitorCallback);
8392    field public static final int GEOFENCE_ENTERED = 1; // 0x1
8393    field public static final int GEOFENCE_ERROR_ID_EXISTS = 2; // 0x2
8394    field public static final int GEOFENCE_ERROR_ID_UNKNOWN = 3; // 0x3
8395    field public static final int GEOFENCE_ERROR_INSUFFICIENT_MEMORY = 6; // 0x6
8396    field public static final int GEOFENCE_ERROR_INVALID_TRANSITION = 4; // 0x4
8397    field public static final int GEOFENCE_ERROR_TOO_MANY_GEOFENCES = 1; // 0x1
8398    field public static final int GEOFENCE_EXITED = 2; // 0x2
8399    field public static final int GEOFENCE_FAILURE = 5; // 0x5
8400    field public static final int GEOFENCE_SUCCESS = 0; // 0x0
8401    field public static final int GEOFENCE_UNCERTAIN = 4; // 0x4
8402    field public static final int MONITORING_TYPE_FUSED_HARDWARE = 1; // 0x1
8403    field public static final int MONITORING_TYPE_GPS_HARDWARE = 0; // 0x0
8404    field public static final int MONITOR_CURRENTLY_AVAILABLE = 0; // 0x0
8405    field public static final int MONITOR_CURRENTLY_UNAVAILABLE = 1; // 0x1
8406    field public static final int MONITOR_UNSUPPORTED = 2; // 0x2
8407    field public static final int SOURCE_TECHNOLOGY_BLUETOOTH = 16; // 0x10
8408    field public static final int SOURCE_TECHNOLOGY_CELL = 8; // 0x8
8409    field public static final int SOURCE_TECHNOLOGY_GNSS = 1; // 0x1
8410    field public static final int SOURCE_TECHNOLOGY_SENSORS = 4; // 0x4
8411    field public static final int SOURCE_TECHNOLOGY_WIFI = 2; // 0x2
8412  }
8413
8414  public abstract class GeofenceHardwareCallback {
8415    ctor public GeofenceHardwareCallback();
8416    method public void onGeofenceAdd(int, int);
8417    method public void onGeofencePause(int, int);
8418    method public void onGeofenceRemove(int, int);
8419    method public void onGeofenceResume(int, int);
8420    method public void onGeofenceTransition(int, int, android.location.Location, long, int);
8421  }
8422
8423  public abstract class GeofenceHardwareMonitorCallback {
8424    ctor public GeofenceHardwareMonitorCallback();
8425    method public void onMonitoringSystemChange(android.hardware.location.GeofenceHardwareMonitorEvent);
8426    method @Deprecated public void onMonitoringSystemChange(int, boolean, android.location.Location);
8427  }
8428
8429  public class GeofenceHardwareMonitorEvent implements android.os.Parcelable {
8430    ctor public GeofenceHardwareMonitorEvent(int, int, int, android.location.Location);
8431    method public int describeContents();
8432    method public android.location.Location getLocation();
8433    method public int getMonitoringStatus();
8434    method public int getMonitoringType();
8435    method public int getSourceTechnologies();
8436    method public void writeToParcel(android.os.Parcel, int);
8437    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.GeofenceHardwareMonitorEvent> CREATOR;
8438  }
8439
8440  public final class GeofenceHardwareRequest {
8441    ctor public GeofenceHardwareRequest();
8442    method public static android.hardware.location.GeofenceHardwareRequest createCircularGeofence(double, double, double);
8443    method public int getLastTransition();
8444    method public double getLatitude();
8445    method public double getLongitude();
8446    method public int getMonitorTransitions();
8447    method public int getNotificationResponsiveness();
8448    method public double getRadius();
8449    method public int getSourceTechnologies();
8450    method public int getUnknownTimer();
8451    method public void setLastTransition(int);
8452    method public void setMonitorTransitions(int);
8453    method public void setNotificationResponsiveness(int);
8454    method public void setSourceTechnologies(int);
8455    method public void setUnknownTimer(int);
8456  }
8457
8458  public class MemoryRegion implements android.os.Parcelable {
8459    ctor public MemoryRegion(android.os.Parcel);
8460    method public int describeContents();
8461    method public int getCapacityBytes();
8462    method public int getFreeCapacityBytes();
8463    method public boolean isExecutable();
8464    method public boolean isReadable();
8465    method public boolean isWritable();
8466    method public void writeToParcel(android.os.Parcel, int);
8467    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.MemoryRegion> CREATOR;
8468  }
8469
8470  @Deprecated public class NanoApp implements android.os.Parcelable {
8471    ctor @Deprecated public NanoApp();
8472    ctor @Deprecated public NanoApp(int, byte[]);
8473    ctor @Deprecated public NanoApp(long, byte[]);
8474    method @Deprecated public int describeContents();
8475    method @Deprecated public byte[] getAppBinary();
8476    method @Deprecated public long getAppId();
8477    method @Deprecated public int getAppVersion();
8478    method @Deprecated public String getName();
8479    method @Deprecated public int getNeededExecMemBytes();
8480    method @Deprecated public int getNeededReadMemBytes();
8481    method @Deprecated public int[] getNeededSensors();
8482    method @Deprecated public int getNeededWriteMemBytes();
8483    method @Deprecated public int[] getOutputEvents();
8484    method @Deprecated public String getPublisher();
8485    method @Deprecated public void setAppBinary(byte[]);
8486    method @Deprecated public void setAppId(long);
8487    method @Deprecated public void setAppVersion(int);
8488    method @Deprecated public void setName(String);
8489    method @Deprecated public void setNeededExecMemBytes(int);
8490    method @Deprecated public void setNeededReadMemBytes(int);
8491    method @Deprecated public void setNeededSensors(int[]);
8492    method @Deprecated public void setNeededWriteMemBytes(int);
8493    method @Deprecated public void setOutputEvents(int[]);
8494    method @Deprecated public void setPublisher(String);
8495    method @Deprecated public void writeToParcel(android.os.Parcel, int);
8496    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoApp> CREATOR;
8497  }
8498
8499  public final class NanoAppBinary implements android.os.Parcelable {
8500    ctor public NanoAppBinary(byte[]);
8501    method public int describeContents();
8502    method public byte[] getBinary();
8503    method public byte[] getBinaryNoHeader();
8504    method public int getFlags();
8505    method public int getHeaderVersion();
8506    method public long getHwHubType();
8507    method public long getNanoAppId();
8508    method public int getNanoAppVersion();
8509    method public byte getTargetChreApiMajorVersion();
8510    method public byte getTargetChreApiMinorVersion();
8511    method public boolean hasValidHeader();
8512    method public boolean isEncrypted();
8513    method public boolean isSigned();
8514    method public void writeToParcel(android.os.Parcel, int);
8515    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppBinary> CREATOR;
8516  }
8517
8518  @Deprecated public class NanoAppFilter implements android.os.Parcelable {
8519    ctor @Deprecated public NanoAppFilter(long, int, int, long);
8520    method @Deprecated public int describeContents();
8521    method @Deprecated public boolean testMatch(android.hardware.location.NanoAppInstanceInfo);
8522    method @Deprecated public void writeToParcel(android.os.Parcel, int);
8523    field @Deprecated public static final int APP_ANY = -1; // 0xffffffff
8524    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppFilter> CREATOR;
8525    field @Deprecated public static final int FLAGS_VERSION_ANY = -1; // 0xffffffff
8526    field @Deprecated public static final int FLAGS_VERSION_GREAT_THAN = 2; // 0x2
8527    field @Deprecated public static final int FLAGS_VERSION_LESS_THAN = 4; // 0x4
8528    field @Deprecated public static final int FLAGS_VERSION_STRICTLY_EQUAL = 8; // 0x8
8529    field @Deprecated public static final int HUB_ANY = -1; // 0xffffffff
8530    field @Deprecated public static final int VENDOR_ANY = -1; // 0xffffffff
8531  }
8532
8533  @Deprecated public class NanoAppInstanceInfo implements android.os.Parcelable {
8534    ctor @Deprecated public NanoAppInstanceInfo();
8535    method @Deprecated public int describeContents();
8536    method @Deprecated public long getAppId();
8537    method @Deprecated public int getAppVersion();
8538    method @Deprecated public int getContexthubId();
8539    method @Deprecated public int getHandle();
8540    method @Deprecated public String getName();
8541    method @Deprecated public int getNeededExecMemBytes();
8542    method @Deprecated public int getNeededReadMemBytes();
8543    method @Deprecated @NonNull public int[] getNeededSensors();
8544    method @Deprecated public int getNeededWriteMemBytes();
8545    method @Deprecated @NonNull public int[] getOutputEvents();
8546    method @Deprecated public String getPublisher();
8547    method @Deprecated public void writeToParcel(android.os.Parcel, int);
8548    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppInstanceInfo> CREATOR;
8549  }
8550
8551  public final class NanoAppMessage implements android.os.Parcelable {
8552    method public static android.hardware.location.NanoAppMessage createMessageFromNanoApp(long, int, byte[], boolean);
8553    method @NonNull public static android.hardware.location.NanoAppMessage createMessageFromNanoApp(long, int, @NonNull byte[], boolean, boolean, int);
8554    method public static android.hardware.location.NanoAppMessage createMessageToNanoApp(long, int, byte[]);
8555    method public int describeContents();
8556    method public byte[] getMessageBody();
8557    method public int getMessageSequenceNumber();
8558    method public int getMessageType();
8559    method public long getNanoAppId();
8560    method public boolean isBroadcastMessage();
8561    method public boolean isReliable();
8562    method public void writeToParcel(android.os.Parcel, int);
8563    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppMessage> CREATOR;
8564  }
8565
8566  public final class NanoAppRpcService implements android.os.Parcelable {
8567    ctor public NanoAppRpcService(long, int);
8568    method public int describeContents();
8569    method public long getId();
8570    method public int getVersion();
8571    method public void writeToParcel(@NonNull android.os.Parcel, int);
8572    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppRpcService> CREATOR;
8573  }
8574
8575  public final class NanoAppState implements android.os.Parcelable {
8576    ctor public NanoAppState(long, int, boolean);
8577    ctor public NanoAppState(long, int, boolean, @NonNull java.util.List<java.lang.String>);
8578    ctor public NanoAppState(long, int, boolean, @NonNull java.util.List<java.lang.String>, @NonNull java.util.List<android.hardware.location.NanoAppRpcService>);
8579    method public int describeContents();
8580    method public long getNanoAppId();
8581    method @NonNull public java.util.List<java.lang.String> getNanoAppPermissions();
8582    method public long getNanoAppVersion();
8583    method @NonNull public java.util.List<android.hardware.location.NanoAppRpcService> getRpcServices();
8584    method public boolean isEnabled();
8585    method public void writeToParcel(android.os.Parcel, int);
8586    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.location.NanoAppState> CREATOR;
8587  }
8588
8589}
8590
8591package android.hardware.radio {
8592
8593  public final class Announcement implements android.os.Parcelable {
8594    method public int describeContents();
8595    method @NonNull public android.hardware.radio.ProgramSelector getSelector();
8596    method public int getType();
8597    method @NonNull public java.util.Map<java.lang.String,java.lang.String> getVendorInfo();
8598    method public void writeToParcel(android.os.Parcel, int);
8599    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.Announcement> CREATOR;
8600    field public static final int TYPE_EMERGENCY = 1; // 0x1
8601    field public static final int TYPE_EVENT = 6; // 0x6
8602    field public static final int TYPE_MISC = 8; // 0x8
8603    field public static final int TYPE_NEWS = 5; // 0x5
8604    field public static final int TYPE_SPORT = 7; // 0x7
8605    field public static final int TYPE_TRAFFIC = 3; // 0x3
8606    field public static final int TYPE_WARNING = 2; // 0x2
8607    field public static final int TYPE_WEATHER = 4; // 0x4
8608  }
8609
8610  public static interface Announcement.OnListUpdatedListener {
8611    method public void onListUpdated(java.util.Collection<android.hardware.radio.Announcement>);
8612  }
8613
8614  public final class ProgramList implements java.lang.AutoCloseable {
8615    method public void addOnCompleteListener(@NonNull android.hardware.radio.ProgramList.OnCompleteListener);
8616    method public void addOnCompleteListener(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.radio.ProgramList.OnCompleteListener);
8617    method public void close();
8618    method @Deprecated @Nullable public android.hardware.radio.RadioManager.ProgramInfo get(@NonNull android.hardware.radio.ProgramSelector.Identifier);
8619    method @NonNull public java.util.List<android.hardware.radio.RadioManager.ProgramInfo> getProgramInfos(@NonNull android.hardware.radio.ProgramSelector.Identifier);
8620    method public void registerListCallback(@NonNull android.hardware.radio.ProgramList.ListCallback);
8621    method public void registerListCallback(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.radio.ProgramList.ListCallback);
8622    method public void removeOnCompleteListener(@NonNull android.hardware.radio.ProgramList.OnCompleteListener);
8623    method @NonNull public java.util.List<android.hardware.radio.RadioManager.ProgramInfo> toList();
8624    method public void unregisterListCallback(@NonNull android.hardware.radio.ProgramList.ListCallback);
8625  }
8626
8627  public static final class ProgramList.Filter implements android.os.Parcelable {
8628    ctor public ProgramList.Filter(@NonNull java.util.Set<java.lang.Integer>, @NonNull java.util.Set<android.hardware.radio.ProgramSelector.Identifier>, boolean, boolean);
8629    method public boolean areCategoriesIncluded();
8630    method public boolean areModificationsExcluded();
8631    method public int describeContents();
8632    method @NonNull public java.util.Set<java.lang.Integer> getIdentifierTypes();
8633    method @NonNull public java.util.Set<android.hardware.radio.ProgramSelector.Identifier> getIdentifiers();
8634    method public void writeToParcel(android.os.Parcel, int);
8635    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.ProgramList.Filter> CREATOR;
8636  }
8637
8638  public abstract static class ProgramList.ListCallback {
8639    ctor public ProgramList.ListCallback();
8640    method public void onItemChanged(@NonNull android.hardware.radio.ProgramSelector.Identifier);
8641    method public void onItemRemoved(@NonNull android.hardware.radio.ProgramSelector.Identifier);
8642  }
8643
8644  public static interface ProgramList.OnCompleteListener {
8645    method public void onComplete();
8646  }
8647
8648  public final class ProgramSelector implements android.os.Parcelable {
8649    ctor public ProgramSelector(int, @NonNull android.hardware.radio.ProgramSelector.Identifier, @Nullable android.hardware.radio.ProgramSelector.Identifier[], @Nullable long[]);
8650    method @NonNull public static android.hardware.radio.ProgramSelector createAmFmSelector(int, int);
8651    method @NonNull public static android.hardware.radio.ProgramSelector createAmFmSelector(int, int, int);
8652    method public int describeContents();
8653    method @NonNull public android.hardware.radio.ProgramSelector.Identifier[] getAllIds(int);
8654    method public long getFirstId(int);
8655    method @NonNull public android.hardware.radio.ProgramSelector.Identifier getPrimaryId();
8656    method @Deprecated public int getProgramType();
8657    method @NonNull public android.hardware.radio.ProgramSelector.Identifier[] getSecondaryIds();
8658    method @Deprecated @NonNull public long[] getVendorIds();
8659    method @NonNull public android.hardware.radio.ProgramSelector withSecondaryPreferred(@NonNull android.hardware.radio.ProgramSelector.Identifier);
8660    method public void writeToParcel(android.os.Parcel, int);
8661    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.ProgramSelector> CREATOR;
8662    field public static final int IDENTIFIER_TYPE_AMFM_FREQUENCY = 1; // 0x1
8663    field public static final int IDENTIFIER_TYPE_DAB_DMB_SID_EXT = 14; // 0xe
8664    field public static final int IDENTIFIER_TYPE_DAB_ENSEMBLE = 6; // 0x6
8665    field public static final int IDENTIFIER_TYPE_DAB_FREQUENCY = 8; // 0x8
8666    field public static final int IDENTIFIER_TYPE_DAB_SCID = 7; // 0x7
8667    field @Deprecated public static final int IDENTIFIER_TYPE_DAB_SIDECC = 5; // 0x5
8668    field @Deprecated public static final int IDENTIFIER_TYPE_DAB_SID_EXT = 5; // 0x5
8669    field public static final int IDENTIFIER_TYPE_DRMO_FREQUENCY = 10; // 0xa
8670    field @Deprecated public static final int IDENTIFIER_TYPE_DRMO_MODULATION = 11; // 0xb
8671    field public static final int IDENTIFIER_TYPE_DRMO_SERVICE_ID = 9; // 0x9
8672    field public static final int IDENTIFIER_TYPE_HD_STATION_ID_EXT = 3; // 0x3
8673    field public static final int IDENTIFIER_TYPE_HD_STATION_LOCATION = 15; // 0xf
8674    field public static final int IDENTIFIER_TYPE_HD_STATION_NAME = 10004; // 0x2714
8675    field @Deprecated public static final int IDENTIFIER_TYPE_HD_SUBCHANNEL = 4; // 0x4
8676    field public static final int IDENTIFIER_TYPE_INVALID = 0; // 0x0
8677    field public static final int IDENTIFIER_TYPE_RDS_PI = 2; // 0x2
8678    field @Deprecated public static final int IDENTIFIER_TYPE_SXM_CHANNEL = 13; // 0xd
8679    field @Deprecated public static final int IDENTIFIER_TYPE_SXM_SERVICE_ID = 12; // 0xc
8680    field public static final int IDENTIFIER_TYPE_VENDOR_END = 1999; // 0x7cf
8681    field @Deprecated public static final int IDENTIFIER_TYPE_VENDOR_PRIMARY_END = 1999; // 0x7cf
8682    field @Deprecated public static final int IDENTIFIER_TYPE_VENDOR_PRIMARY_START = 1000; // 0x3e8
8683    field public static final int IDENTIFIER_TYPE_VENDOR_START = 1000; // 0x3e8
8684    field @Deprecated public static final int PROGRAM_TYPE_AM = 1; // 0x1
8685    field @Deprecated public static final int PROGRAM_TYPE_AM_HD = 3; // 0x3
8686    field @Deprecated public static final int PROGRAM_TYPE_DAB = 5; // 0x5
8687    field @Deprecated public static final int PROGRAM_TYPE_DRMO = 6; // 0x6
8688    field @Deprecated public static final int PROGRAM_TYPE_FM = 2; // 0x2
8689    field @Deprecated public static final int PROGRAM_TYPE_FM_HD = 4; // 0x4
8690    field @Deprecated public static final int PROGRAM_TYPE_INVALID = 0; // 0x0
8691    field @Deprecated public static final int PROGRAM_TYPE_SXM = 7; // 0x7
8692    field @Deprecated public static final int PROGRAM_TYPE_VENDOR_END = 1999; // 0x7cf
8693    field @Deprecated public static final int PROGRAM_TYPE_VENDOR_START = 1000; // 0x3e8
8694    field public static final int SUB_CHANNEL_HD_1 = 1; // 0x1
8695    field public static final int SUB_CHANNEL_HD_2 = 2; // 0x2
8696    field public static final int SUB_CHANNEL_HD_3 = 4; // 0x4
8697    field public static final int SUB_CHANNEL_HD_4 = 8; // 0x8
8698    field public static final int SUB_CHANNEL_HD_5 = 16; // 0x10
8699    field public static final int SUB_CHANNEL_HD_6 = 32; // 0x20
8700    field public static final int SUB_CHANNEL_HD_7 = 64; // 0x40
8701    field public static final int SUB_CHANNEL_HD_8 = 128; // 0x80
8702  }
8703
8704  public static final class ProgramSelector.Identifier implements android.os.Parcelable {
8705    ctor public ProgramSelector.Identifier(int, long);
8706    method public int describeContents();
8707    method public int getType();
8708    method public long getValue();
8709    method public boolean isCategoryType();
8710    method public void writeToParcel(android.os.Parcel, int);
8711    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.ProgramSelector.Identifier> CREATOR;
8712  }
8713
8714  public final class RadioAlert implements android.os.Parcelable {
8715    method public int describeContents();
8716    method @NonNull public java.util.List<android.hardware.radio.RadioAlert.AlertInfo> getInfoList();
8717    method public int getMessageType();
8718    method public int getStatus();
8719    method public void writeToParcel(@NonNull android.os.Parcel, int);
8720    field public static final int CATEGORY_CBRNE = 10; // 0xa
8721    field public static final int CATEGORY_ENV = 7; // 0x7
8722    field public static final int CATEGORY_FIRE = 5; // 0x5
8723    field public static final int CATEGORY_GEO = 0; // 0x0
8724    field public static final int CATEGORY_HEALTH = 6; // 0x6
8725    field public static final int CATEGORY_INFRA = 9; // 0x9
8726    field public static final int CATEGORY_MET = 1; // 0x1
8727    field public static final int CATEGORY_OTHER = 11; // 0xb
8728    field public static final int CATEGORY_RESCUE = 4; // 0x4
8729    field public static final int CATEGORY_SAFETY = 2; // 0x2
8730    field public static final int CATEGORY_SECURITY = 3; // 0x3
8731    field public static final int CATEGORY_TRANSPORT = 8; // 0x8
8732    field public static final int CERTAINTY_LIKELY = 1; // 0x1
8733    field public static final int CERTAINTY_OBSERVED = 0; // 0x0
8734    field public static final int CERTAINTY_POSSIBLE = 2; // 0x2
8735    field public static final int CERTAINTY_UNKNOWN = 4; // 0x4
8736    field public static final int CERTAINTY_UNLIKELY = 3; // 0x3
8737    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioAlert> CREATOR;
8738    field public static final int MESSAGE_TYPE_ALERT = 0; // 0x0
8739    field public static final int MESSAGE_TYPE_CANCEL = 2; // 0x2
8740    field public static final int MESSAGE_TYPE_UPDATE = 1; // 0x1
8741    field public static final int SEVERITY_EXTREME = 0; // 0x0
8742    field public static final int SEVERITY_MINOR = 3; // 0x3
8743    field public static final int SEVERITY_MODERATE = 2; // 0x2
8744    field public static final int SEVERITY_SEVERE = 1; // 0x1
8745    field public static final int SEVERITY_UNKNOWN = 4; // 0x4
8746    field public static final int STATUS_ACTUAL = 0; // 0x0
8747    field public static final int STATUS_EXERCISE = 1; // 0x1
8748    field public static final int STATUS_TEST = 2; // 0x2
8749    field public static final int URGENCY_EXPECTED = 1; // 0x1
8750    field public static final int URGENCY_FUTURE = 2; // 0x2
8751    field public static final int URGENCY_IMMEDIATE = 0; // 0x0
8752    field public static final int URGENCY_PAST = 3; // 0x3
8753    field public static final int URGENCY_UNKNOWN = 4; // 0x4
8754  }
8755
8756  public static final class RadioAlert.AlertArea implements android.os.Parcelable {
8757    method public int describeContents();
8758    method @NonNull public java.util.List<android.hardware.radio.RadioAlert.Geocode> getGeocodes();
8759    method @NonNull public java.util.List<android.hardware.radio.RadioAlert.Polygon> getPolygons();
8760    method public void writeToParcel(@NonNull android.os.Parcel, int);
8761    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioAlert.AlertArea> CREATOR;
8762  }
8763
8764  public static final class RadioAlert.AlertInfo implements android.os.Parcelable {
8765    method public int describeContents();
8766    method @NonNull public java.util.List<android.hardware.radio.RadioAlert.AlertArea> getAreas();
8767    method @NonNull public int[] getCategories();
8768    method public int getCertainty();
8769    method @NonNull public String getDescription();
8770    method @Nullable public String getLanguage();
8771    method public int getSeverity();
8772    method public int getUrgency();
8773    method public void writeToParcel(@NonNull android.os.Parcel, int);
8774    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioAlert.AlertInfo> CREATOR;
8775  }
8776
8777  public static final class RadioAlert.Coordinate implements android.os.Parcelable {
8778    method public int describeContents();
8779    method @FloatRange(from=-90.0, to=90.0) public double getLatitude();
8780    method @FloatRange(from=-180.0, to=180.0) public double getLongitude();
8781    method public void writeToParcel(@NonNull android.os.Parcel, int);
8782    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioAlert.Coordinate> CREATOR;
8783  }
8784
8785  public static final class RadioAlert.Geocode implements android.os.Parcelable {
8786    method public int describeContents();
8787    method @NonNull public String getValue();
8788    method @NonNull public String getValueName();
8789    method public void writeToParcel(@NonNull android.os.Parcel, int);
8790    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioAlert.Geocode> CREATOR;
8791  }
8792
8793  public static final class RadioAlert.Polygon implements android.os.Parcelable {
8794    method public int describeContents();
8795    method @NonNull public java.util.List<android.hardware.radio.RadioAlert.Coordinate> getCoordinates();
8796    method public void writeToParcel(@NonNull android.os.Parcel, int);
8797    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioAlert.Polygon> CREATOR;
8798  }
8799
8800  public class RadioManager {
8801    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);
8802    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public void addAnnouncementListener(@NonNull java.util.Set<java.lang.Integer>, @NonNull android.hardware.radio.Announcement.OnListUpdatedListener);
8803    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public int listModules(java.util.List<android.hardware.radio.RadioManager.ModuleProperties>);
8804    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);
8805    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public void removeAnnouncementListener(@NonNull android.hardware.radio.Announcement.OnListUpdatedListener);
8806    field public static final int BAND_AM = 0; // 0x0
8807    field public static final int BAND_AM_HD = 3; // 0x3
8808    field public static final int BAND_FM = 1; // 0x1
8809    field public static final int BAND_FM_HD = 2; // 0x2
8810    field public static final int BAND_INVALID = -1; // 0xffffffff
8811    field public static final int CLASS_AM_FM = 0; // 0x0
8812    field public static final int CLASS_DT = 2; // 0x2
8813    field public static final int CLASS_SAT = 1; // 0x1
8814    field public static final int CONFIG_DAB_DAB_LINKING = 6; // 0x6
8815    field public static final int CONFIG_DAB_DAB_SOFT_LINKING = 8; // 0x8
8816    field public static final int CONFIG_DAB_FM_LINKING = 7; // 0x7
8817    field public static final int CONFIG_DAB_FM_SOFT_LINKING = 9; // 0x9
8818    field @Deprecated public static final int CONFIG_FORCE_ANALOG = 2; // 0x2
8819    field public static final int CONFIG_FORCE_ANALOG_AM = 11; // 0xb
8820    field public static final int CONFIG_FORCE_ANALOG_FM = 10; // 0xa
8821    field public static final int CONFIG_FORCE_DIGITAL = 3; // 0x3
8822    field public static final int CONFIG_FORCE_MONO = 1; // 0x1
8823    field public static final int CONFIG_RDS_AF = 4; // 0x4
8824    field public static final int CONFIG_RDS_REG = 5; // 0x5
8825    field public static final int REGION_ITU_1 = 0; // 0x0
8826    field public static final int REGION_ITU_2 = 1; // 0x1
8827    field public static final int REGION_JAPAN = 3; // 0x3
8828    field public static final int REGION_KOREA = 4; // 0x4
8829    field public static final int REGION_OIRT = 2; // 0x2
8830    field public static final int STATUS_BAD_VALUE = -22; // 0xffffffea
8831    field public static final int STATUS_DEAD_OBJECT = -32; // 0xffffffe0
8832    field public static final int STATUS_ERROR = -2147483648; // 0x80000000
8833    field public static final int STATUS_INVALID_OPERATION = -38; // 0xffffffda
8834    field public static final int STATUS_NO_INIT = -19; // 0xffffffed
8835    field public static final int STATUS_OK = 0; // 0x0
8836    field public static final int STATUS_PERMISSION_DENIED = -1; // 0xffffffff
8837    field public static final int STATUS_TIMED_OUT = -110; // 0xffffff92
8838  }
8839
8840  public static class RadioManager.AmBandConfig extends android.hardware.radio.RadioManager.BandConfig {
8841    method public boolean getStereo();
8842    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.AmBandConfig> CREATOR;
8843  }
8844
8845  public static class RadioManager.AmBandConfig.Builder {
8846    ctor public RadioManager.AmBandConfig.Builder(android.hardware.radio.RadioManager.AmBandConfig);
8847    ctor public RadioManager.AmBandConfig.Builder(android.hardware.radio.RadioManager.AmBandDescriptor);
8848    method public android.hardware.radio.RadioManager.AmBandConfig build();
8849    method public android.hardware.radio.RadioManager.AmBandConfig.Builder setStereo(boolean);
8850  }
8851
8852  public static class RadioManager.AmBandDescriptor extends android.hardware.radio.RadioManager.BandDescriptor {
8853    method public boolean isStereoSupported();
8854    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.AmBandDescriptor> CREATOR;
8855  }
8856
8857  public static class RadioManager.BandConfig implements android.os.Parcelable {
8858    method public int describeContents();
8859    method public int getLowerLimit();
8860    method public int getRegion();
8861    method public int getSpacing();
8862    method public int getType();
8863    method public int getUpperLimit();
8864    method public void writeToParcel(android.os.Parcel, int);
8865    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.BandConfig> CREATOR;
8866  }
8867
8868  public static class RadioManager.BandDescriptor implements android.os.Parcelable {
8869    method public int describeContents();
8870    method public int getLowerLimit();
8871    method public int getRegion();
8872    method public int getSpacing();
8873    method public int getType();
8874    method public int getUpperLimit();
8875    method public boolean isAmBand();
8876    method public boolean isFmBand();
8877    method public void writeToParcel(android.os.Parcel, int);
8878    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.BandDescriptor> CREATOR;
8879  }
8880
8881  public static class RadioManager.FmBandConfig extends android.hardware.radio.RadioManager.BandConfig {
8882    method public boolean getAf();
8883    method public boolean getEa();
8884    method public boolean getRds();
8885    method public boolean getStereo();
8886    method public boolean getTa();
8887    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.FmBandConfig> CREATOR;
8888  }
8889
8890  public static class RadioManager.FmBandConfig.Builder {
8891    ctor public RadioManager.FmBandConfig.Builder(android.hardware.radio.RadioManager.FmBandConfig);
8892    ctor public RadioManager.FmBandConfig.Builder(android.hardware.radio.RadioManager.FmBandDescriptor);
8893    method public android.hardware.radio.RadioManager.FmBandConfig build();
8894    method public android.hardware.radio.RadioManager.FmBandConfig.Builder setAf(boolean);
8895    method public android.hardware.radio.RadioManager.FmBandConfig.Builder setEa(boolean);
8896    method public android.hardware.radio.RadioManager.FmBandConfig.Builder setRds(boolean);
8897    method public android.hardware.radio.RadioManager.FmBandConfig.Builder setStereo(boolean);
8898    method public android.hardware.radio.RadioManager.FmBandConfig.Builder setTa(boolean);
8899  }
8900
8901  public static class RadioManager.FmBandDescriptor extends android.hardware.radio.RadioManager.BandDescriptor {
8902    method public boolean isAfSupported();
8903    method public boolean isEaSupported();
8904    method public boolean isRdsSupported();
8905    method public boolean isStereoSupported();
8906    method public boolean isTaSupported();
8907    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.FmBandDescriptor> CREATOR;
8908  }
8909
8910  public static class RadioManager.ModuleProperties implements android.os.Parcelable {
8911    method public int describeContents();
8912    method public android.hardware.radio.RadioManager.BandDescriptor[] getBands();
8913    method public int getClassId();
8914    method @Nullable public java.util.Map<java.lang.String,java.lang.Integer> getDabFrequencyTable();
8915    method public int getId();
8916    method public String getImplementor();
8917    method public int getNumAudioSources();
8918    method public int getNumTuners();
8919    method public String getProduct();
8920    method public String getSerial();
8921    method @NonNull public String getServiceName();
8922    method @NonNull public java.util.Map<java.lang.String,java.lang.String> getVendorInfo();
8923    method public String getVersion();
8924    method public boolean isBackgroundScanningSupported();
8925    method public boolean isCaptureSupported();
8926    method public boolean isInitializationRequired();
8927    method public boolean isProgramIdentifierSupported(int);
8928    method public boolean isProgramTypeSupported(int);
8929    method public void writeToParcel(android.os.Parcel, int);
8930    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.ModuleProperties> CREATOR;
8931  }
8932
8933  public static class RadioManager.ProgramInfo implements android.os.Parcelable {
8934    method public int describeContents();
8935    method @Nullable public android.hardware.radio.RadioAlert getAlert();
8936    method @Deprecated public int getChannel();
8937    method @Nullable public android.hardware.radio.ProgramSelector.Identifier getLogicallyTunedTo();
8938    method public android.hardware.radio.RadioMetadata getMetadata();
8939    method @Nullable public android.hardware.radio.ProgramSelector.Identifier getPhysicallyTunedTo();
8940    method @Nullable public java.util.Collection<android.hardware.radio.ProgramSelector.Identifier> getRelatedContent();
8941    method @NonNull public android.hardware.radio.ProgramSelector getSelector();
8942    method public int getSignalStrength();
8943    method @Deprecated public int getSubChannel();
8944    method @NonNull public java.util.Map<java.lang.String,java.lang.String> getVendorInfo();
8945    method @Deprecated public boolean isDigital();
8946    method public boolean isHdAudioAvailable();
8947    method public boolean isHdSisAvailable();
8948    method public boolean isLive();
8949    method public boolean isMuted();
8950    method public boolean isSignalAcquired();
8951    method public boolean isStereo();
8952    method public boolean isTrafficAnnouncementActive();
8953    method public boolean isTrafficProgram();
8954    method public boolean isTuned();
8955    method public void writeToParcel(android.os.Parcel, int);
8956    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioManager.ProgramInfo> CREATOR;
8957  }
8958
8959  public final class RadioMetadata implements android.os.Parcelable {
8960    method public boolean containsKey(String);
8961    method public int describeContents();
8962    method @Deprecated public android.graphics.Bitmap getBitmap(String);
8963    method public int getBitmapId(@NonNull String);
8964    method public android.hardware.radio.RadioMetadata.Clock getClock(String);
8965    method public int getInt(String);
8966    method public String getString(String);
8967    method @NonNull public String[] getStringArray(@NonNull String);
8968    method public java.util.Set<java.lang.String> keySet();
8969    method public int size();
8970    method public void writeToParcel(android.os.Parcel, int);
8971    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioMetadata> CREATOR;
8972    field public static final String METADATA_KEY_ALBUM = "android.hardware.radio.metadata.ALBUM";
8973    field public static final String METADATA_KEY_ART = "android.hardware.radio.metadata.ART";
8974    field public static final String METADATA_KEY_ARTIST = "android.hardware.radio.metadata.ARTIST";
8975    field public static final String METADATA_KEY_CLOCK = "android.hardware.radio.metadata.CLOCK";
8976    field public static final String METADATA_KEY_COMMENT_ACTUAL_TEXT = "android.hardware.radio.metadata.COMMENT_ACTUAL_TEXT";
8977    field public static final String METADATA_KEY_COMMENT_SHORT_DESCRIPTION = "android.hardware.radio.metadata.COMMENT_SHORT_DESCRIPTION";
8978    field public static final String METADATA_KEY_COMMERCIAL = "android.hardware.radio.metadata.COMMERCIAL";
8979    field public static final String METADATA_KEY_DAB_COMPONENT_NAME = "android.hardware.radio.metadata.DAB_COMPONENT_NAME";
8980    field public static final String METADATA_KEY_DAB_COMPONENT_NAME_SHORT = "android.hardware.radio.metadata.DAB_COMPONENT_NAME_SHORT";
8981    field public static final String METADATA_KEY_DAB_ENSEMBLE_NAME = "android.hardware.radio.metadata.DAB_ENSEMBLE_NAME";
8982    field public static final String METADATA_KEY_DAB_ENSEMBLE_NAME_SHORT = "android.hardware.radio.metadata.DAB_ENSEMBLE_NAME_SHORT";
8983    field public static final String METADATA_KEY_DAB_SERVICE_NAME = "android.hardware.radio.metadata.DAB_SERVICE_NAME";
8984    field public static final String METADATA_KEY_DAB_SERVICE_NAME_SHORT = "android.hardware.radio.metadata.DAB_SERVICE_NAME_SHORT";
8985    field public static final String METADATA_KEY_GENRE = "android.hardware.radio.metadata.GENRE";
8986    field public static final String METADATA_KEY_HD_STATION_NAME_LONG = "android.hardware.radio.metadata.HD_STATION_NAME_LONG";
8987    field public static final String METADATA_KEY_HD_STATION_NAME_SHORT = "android.hardware.radio.metadata.HD_STATION_NAME_SHORT";
8988    field public static final String METADATA_KEY_HD_SUBCHANNELS_AVAILABLE = "android.hardware.radio.metadata.HD_SUBCHANNELS_AVAILABLE";
8989    field public static final String METADATA_KEY_ICON = "android.hardware.radio.metadata.ICON";
8990    field public static final String METADATA_KEY_PROGRAM_NAME = "android.hardware.radio.metadata.PROGRAM_NAME";
8991    field public static final String METADATA_KEY_RBDS_PTY = "android.hardware.radio.metadata.RBDS_PTY";
8992    field public static final String METADATA_KEY_RDS_PI = "android.hardware.radio.metadata.RDS_PI";
8993    field public static final String METADATA_KEY_RDS_PS = "android.hardware.radio.metadata.RDS_PS";
8994    field public static final String METADATA_KEY_RDS_PTY = "android.hardware.radio.metadata.RDS_PTY";
8995    field public static final String METADATA_KEY_RDS_RT = "android.hardware.radio.metadata.RDS_RT";
8996    field public static final String METADATA_KEY_TITLE = "android.hardware.radio.metadata.TITLE";
8997    field public static final String METADATA_KEY_UFIDS = "android.hardware.radio.metadata.UFIDS";
8998  }
8999
9000  public static final class RadioMetadata.Builder {
9001    ctor public RadioMetadata.Builder();
9002    ctor public RadioMetadata.Builder(android.hardware.radio.RadioMetadata);
9003    method public android.hardware.radio.RadioMetadata build();
9004    method public android.hardware.radio.RadioMetadata.Builder putBitmap(String, android.graphics.Bitmap);
9005    method public android.hardware.radio.RadioMetadata.Builder putClock(String, long, int);
9006    method public android.hardware.radio.RadioMetadata.Builder putInt(String, int);
9007    method public android.hardware.radio.RadioMetadata.Builder putString(String, String);
9008    method @NonNull public android.hardware.radio.RadioMetadata.Builder putStringArray(@NonNull String, @NonNull String[]);
9009  }
9010
9011  public static final class RadioMetadata.Clock implements android.os.Parcelable {
9012    ctor public RadioMetadata.Clock(long, int);
9013    method public int describeContents();
9014    method public int getTimezoneOffsetMinutes();
9015    method public long getUtcEpochSeconds();
9016    method public void writeToParcel(android.os.Parcel, int);
9017    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.radio.RadioMetadata.Clock> CREATOR;
9018  }
9019
9020  public abstract class RadioTuner {
9021    ctor public RadioTuner();
9022    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract int cancel();
9023    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract void cancelAnnouncement();
9024    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract void close();
9025    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract int getConfiguration(android.hardware.radio.RadioManager.BandConfig[]);
9026    method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public android.hardware.radio.ProgramList getDynamicProgramList(@Nullable android.hardware.radio.ProgramList.Filter);
9027    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public android.graphics.Bitmap getMetadataImage(int);
9028    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract boolean getMute();
9029    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>);
9030    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract int getProgramInformation(android.hardware.radio.RadioManager.ProgramInfo[]);
9031    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>);
9032    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract boolean hasControl();
9033    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract boolean isAnalogForced();
9034    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract boolean isAntennaConnected();
9035    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public boolean isConfigFlagSet(int);
9036    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public boolean isConfigFlagSupported(int);
9037    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract int scan(int, boolean);
9038    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public int seek(int, boolean);
9039    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract void setAnalogForced(boolean);
9040    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public void setConfigFlag(int, boolean);
9041    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract int setConfiguration(android.hardware.radio.RadioManager.BandConfig);
9042    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract int setMute(boolean);
9043    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>);
9044    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract boolean startBackgroundScan();
9045    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract int step(int, boolean);
9046    method @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract void tune(@NonNull android.hardware.radio.ProgramSelector);
9047    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_BROADCAST_RADIO) public abstract int tune(int, int);
9048    field public static final int DIRECTION_DOWN = 1; // 0x1
9049    field public static final int DIRECTION_UP = 0; // 0x0
9050    field @Deprecated public static final int ERROR_BACKGROUND_SCAN_FAILED = 6; // 0x6
9051    field @Deprecated public static final int ERROR_BACKGROUND_SCAN_UNAVAILABLE = 5; // 0x5
9052    field @Deprecated public static final int ERROR_CANCELLED = 2; // 0x2
9053    field @Deprecated public static final int ERROR_CONFIG = 4; // 0x4
9054    field @Deprecated public static final int ERROR_HARDWARE_FAILURE = 0; // 0x0
9055    field @Deprecated public static final int ERROR_SCAN_TIMEOUT = 3; // 0x3
9056    field @Deprecated public static final int ERROR_SERVER_DIED = 1; // 0x1
9057    field public static final int TUNER_RESULT_CANCELED = 6; // 0x6
9058    field public static final int TUNER_RESULT_INTERNAL_ERROR = 1; // 0x1
9059    field public static final int TUNER_RESULT_INVALID_ARGUMENTS = 2; // 0x2
9060    field public static final int TUNER_RESULT_INVALID_STATE = 3; // 0x3
9061    field public static final int TUNER_RESULT_NOT_SUPPORTED = 4; // 0x4
9062    field public static final int TUNER_RESULT_OK = 0; // 0x0
9063    field public static final int TUNER_RESULT_TIMEOUT = 5; // 0x5
9064    field public static final int TUNER_RESULT_UNKNOWN_ERROR = 7; // 0x7
9065  }
9066
9067  public abstract static class RadioTuner.Callback {
9068    ctor public RadioTuner.Callback();
9069    method public void onAntennaState(boolean);
9070    method public void onBackgroundScanAvailabilityChange(boolean);
9071    method public void onBackgroundScanComplete();
9072    method public void onConfigFlagUpdated(int, boolean);
9073    method @Deprecated public void onConfigurationChanged(android.hardware.radio.RadioManager.BandConfig);
9074    method public void onControlChanged(boolean);
9075    method public void onEmergencyAnnouncement(boolean);
9076    method @Deprecated public void onError(int);
9077    method @Deprecated public void onMetadataChanged(android.hardware.radio.RadioMetadata);
9078    method public void onParametersUpdated(@NonNull java.util.Map<java.lang.String,java.lang.String>);
9079    method public void onProgramInfoChanged(android.hardware.radio.RadioManager.ProgramInfo);
9080    method public void onProgramListChanged();
9081    method public void onTrafficAnnouncement(boolean);
9082    method public void onTuneFailed(int, @Nullable android.hardware.radio.ProgramSelector);
9083  }
9084
9085}
9086
9087package android.hardware.soundtrigger {
9088
9089  public class SoundTrigger {
9090    field public static final int RECOGNITION_MODE_GENERIC = 8; // 0x8
9091    field public static final int RECOGNITION_MODE_USER_AUTHENTICATION = 4; // 0x4
9092    field public static final int RECOGNITION_MODE_USER_IDENTIFICATION = 2; // 0x2
9093    field public static final int RECOGNITION_MODE_VOICE_TRIGGER = 1; // 0x1
9094    field public static final int STATUS_OK = 0; // 0x0
9095  }
9096
9097  public static final class SoundTrigger.Keyphrase implements android.os.Parcelable {
9098    ctor public SoundTrigger.Keyphrase(int, int, @NonNull java.util.Locale, @NonNull String, @Nullable int[]);
9099    method public int describeContents();
9100    method public int getId();
9101    method @NonNull public java.util.Locale getLocale();
9102    method public int getRecognitionModes();
9103    method @NonNull public String getText();
9104    method @NonNull public int[] getUsers();
9105    method @NonNull public static android.hardware.soundtrigger.SoundTrigger.Keyphrase readFromParcel(@NonNull android.os.Parcel);
9106    method public void writeToParcel(@NonNull android.os.Parcel, int);
9107    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.Keyphrase> CREATOR;
9108  }
9109
9110  public static final class SoundTrigger.KeyphraseRecognitionExtra implements android.os.Parcelable {
9111    method public int describeContents();
9112    method @IntRange(from=0, to=100) public int getCoarseConfidenceLevel();
9113    method public int getKeyphraseId();
9114    method public int getRecognitionModes();
9115    method public void writeToParcel(@NonNull android.os.Parcel, int);
9116    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.KeyphraseRecognitionExtra> CREATOR;
9117  }
9118
9119  public static final class SoundTrigger.KeyphraseSoundModel extends android.hardware.soundtrigger.SoundTrigger.SoundModel implements android.os.Parcelable {
9120    ctor public SoundTrigger.KeyphraseSoundModel(@NonNull java.util.UUID, @NonNull java.util.UUID, @Nullable byte[], @Nullable android.hardware.soundtrigger.SoundTrigger.Keyphrase[]);
9121    ctor public SoundTrigger.KeyphraseSoundModel(@NonNull java.util.UUID, @NonNull java.util.UUID, @Nullable byte[], @Nullable android.hardware.soundtrigger.SoundTrigger.Keyphrase[], int);
9122    method public int describeContents();
9123    method @NonNull public android.hardware.soundtrigger.SoundTrigger.Keyphrase[] getKeyphrases();
9124    method @NonNull public static android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel readFromParcel(@NonNull android.os.Parcel);
9125    method public void writeToParcel(@NonNull android.os.Parcel, int);
9126    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel> CREATOR;
9127  }
9128
9129  public static final class SoundTrigger.ModelParamRange implements android.os.Parcelable {
9130    method public int describeContents();
9131    method public int getEnd();
9132    method public int getStart();
9133    method public void writeToParcel(@NonNull android.os.Parcel, int);
9134    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.ModelParamRange> CREATOR;
9135  }
9136
9137  public static final class SoundTrigger.ModuleProperties implements android.os.Parcelable {
9138    method public int describeContents();
9139    method public int getAudioCapabilities();
9140    method @NonNull public String getDescription();
9141    method public int getId();
9142    method @NonNull public String getImplementor();
9143    method public int getMaxBufferMillis();
9144    method public int getMaxKeyphrases();
9145    method public int getMaxSoundModels();
9146    method public int getMaxUsers();
9147    method public int getPowerConsumptionMw();
9148    method public int getRecognitionModes();
9149    method @NonNull public String getSupportedModelArch();
9150    method @NonNull public java.util.UUID getUuid();
9151    method public int getVersion();
9152    method public boolean isCaptureTransitionSupported();
9153    method public boolean isConcurrentCaptureSupported();
9154    method public boolean isTriggerReturnedInEvent();
9155    method public void writeToParcel(android.os.Parcel, int);
9156    field public static final int AUDIO_CAPABILITY_ECHO_CANCELLATION = 1; // 0x1
9157    field public static final int AUDIO_CAPABILITY_NOISE_SUPPRESSION = 2; // 0x2
9158    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.soundtrigger.SoundTrigger.ModuleProperties> CREATOR;
9159  }
9160
9161  public static class SoundTrigger.RecognitionEvent {
9162    method @Nullable public android.media.AudioFormat getCaptureFormat();
9163    method public int getCaptureSession();
9164    method public byte[] getData();
9165    method public long getHalEventReceivedMillis();
9166    method public boolean isCaptureAvailable();
9167  }
9168
9169  public static class SoundTrigger.SoundModel {
9170    method @NonNull public byte[] getData();
9171    method public int getType();
9172    method @NonNull public java.util.UUID getUuid();
9173    method @NonNull public java.util.UUID getVendorUuid();
9174    method public int getVersion();
9175    field public static final int TYPE_GENERIC_SOUND = 1; // 0x1
9176    field public static final int TYPE_KEYPHRASE = 0; // 0x0
9177  }
9178
9179}
9180
9181package android.hardware.usb {
9182
9183  public final class DisplayPortAltModeInfo implements android.os.Parcelable {
9184    method public int describeContents();
9185    method public int getCableStatus();
9186    method public int getLinkTrainingStatus();
9187    method public int getNumberOfLanes();
9188    method public int getPartnerSinkStatus();
9189    method public boolean isHotPlugDetectActive();
9190    method public void writeToParcel(@NonNull android.os.Parcel, int);
9191    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.usb.DisplayPortAltModeInfo> CREATOR;
9192    field public static final int DISPLAYPORT_ALT_MODE_STATUS_CAPABLE_DISABLED = 2; // 0x2
9193    field public static final int DISPLAYPORT_ALT_MODE_STATUS_ENABLED = 3; // 0x3
9194    field public static final int DISPLAYPORT_ALT_MODE_STATUS_NOT_CAPABLE = 1; // 0x1
9195    field public static final int DISPLAYPORT_ALT_MODE_STATUS_UNKNOWN = 0; // 0x0
9196    field public static final int LINK_TRAINING_STATUS_FAILURE = 2; // 0x2
9197    field public static final int LINK_TRAINING_STATUS_SUCCESS = 1; // 0x1
9198    field public static final int LINK_TRAINING_STATUS_UNKNOWN = 0; // 0x0
9199  }
9200
9201  public class UsbDeviceConnection {
9202    method public boolean resetDevice();
9203  }
9204
9205  public class UsbManager {
9206    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public long getCurrentFunctions();
9207    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_USB) public java.util.List<android.hardware.usb.UsbPort> getPorts();
9208    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public int getUsbBandwidthMbps();
9209    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void grantPermission(android.hardware.usb.UsbDevice, String);
9210    method public static boolean isUvcSupportEnabled();
9211    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void registerDisplayPortAltModeInfoListener(@NonNull java.util.concurrent.Executor, @NonNull android.hardware.usb.UsbManager.DisplayPortAltModeInfoListener);
9212    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void resetUsbGadget();
9213    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void setCurrentFunctions(long);
9214    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void unregisterDisplayPortAltModeInfoListener(@NonNull android.hardware.usb.UsbManager.DisplayPortAltModeInfoListener);
9215    field @RequiresPermission(android.Manifest.permission.MANAGE_USB) public static final String ACTION_USB_ACCESSORY_HANDSHAKE = "android.hardware.usb.action.USB_ACCESSORY_HANDSHAKE";
9216    field @RequiresPermission(android.Manifest.permission.MANAGE_USB) public static final String ACTION_USB_PORT_CHANGED = "android.hardware.usb.action.USB_PORT_CHANGED";
9217    field @RequiresPermission(android.Manifest.permission.MANAGE_USB) public static final String ACTION_USB_PORT_COMPLIANCE_CHANGED = "android.hardware.usb.action.USB_PORT_COMPLIANCE_CHANGED";
9218    field public static final String ACTION_USB_STATE = "android.hardware.usb.action.USB_STATE";
9219    field public static final String EXTRA_ACCESSORY_HANDSHAKE_END = "android.hardware.usb.extra.ACCESSORY_HANDSHAKE_END";
9220    field public static final String EXTRA_ACCESSORY_START = "android.hardware.usb.extra.ACCESSORY_START";
9221    field public static final String EXTRA_ACCESSORY_STRING_COUNT = "android.hardware.usb.extra.ACCESSORY_STRING_COUNT";
9222    field public static final String EXTRA_ACCESSORY_UEVENT_TIME = "android.hardware.usb.extra.ACCESSORY_UEVENT_TIME";
9223    field public static final long FUNCTION_ACCESSORY = 2L; // 0x2L
9224    field public static final long FUNCTION_ADB = 1L; // 0x1L
9225    field public static final long FUNCTION_AUDIO_SOURCE = 64L; // 0x40L
9226    field public static final long FUNCTION_MIDI = 8L; // 0x8L
9227    field public static final long FUNCTION_MTP = 4L; // 0x4L
9228    field public static final long FUNCTION_NCM = 1024L; // 0x400L
9229    field public static final long FUNCTION_NONE = 0L; // 0x0L
9230    field public static final long FUNCTION_PTP = 16L; // 0x10L
9231    field public static final long FUNCTION_RNDIS = 32L; // 0x20L
9232    field public static final long FUNCTION_UVC = 128L; // 0x80L
9233    field public static final String USB_CONFIGURED = "configured";
9234    field public static final String USB_CONNECTED = "connected";
9235    field public static final int USB_DATA_TRANSFER_RATE_10G = 10240; // 0x2800
9236    field public static final int USB_DATA_TRANSFER_RATE_20G = 20480; // 0x5000
9237    field public static final int USB_DATA_TRANSFER_RATE_40G = 40960; // 0xa000
9238    field public static final int USB_DATA_TRANSFER_RATE_5G = 5120; // 0x1400
9239    field public static final int USB_DATA_TRANSFER_RATE_FULL_SPEED = 12; // 0xc
9240    field public static final int USB_DATA_TRANSFER_RATE_HIGH_SPEED = 480; // 0x1e0
9241    field public static final int USB_DATA_TRANSFER_RATE_LOW_SPEED = 2; // 0x2
9242    field public static final int USB_DATA_TRANSFER_RATE_UNKNOWN = -1; // 0xffffffff
9243    field public static final String USB_FUNCTION_NCM = "ncm";
9244    field public static final String USB_FUNCTION_RNDIS = "rndis";
9245  }
9246
9247  public static interface UsbManager.DisplayPortAltModeInfoListener {
9248    method public void onDisplayPortAltModeInfoChanged(@NonNull String, @NonNull android.hardware.usb.DisplayPortAltModeInfo);
9249  }
9250
9251  public final class UsbPort {
9252    method @CheckResult @RequiresPermission(android.Manifest.permission.MANAGE_USB) public int enableLimitPowerTransfer(boolean);
9253    method @CheckResult @RequiresPermission(android.Manifest.permission.MANAGE_USB) public int enableUsbData(boolean);
9254    method @CheckResult @RequiresPermission(android.Manifest.permission.MANAGE_USB) public int enableUsbDataWhileDocked();
9255    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USB) public android.hardware.usb.UsbPortStatus getStatus();
9256    method public boolean isAltModeSupported(int);
9257    method @CheckResult @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void resetUsbPort(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
9258    method @RequiresPermission(android.Manifest.permission.MANAGE_USB) public void setRoles(int, int);
9259    method @CheckResult @RequiresPermission(android.Manifest.permission.MANAGE_USB) public boolean supportsComplianceWarnings();
9260    field public static final int ENABLE_LIMIT_POWER_TRANSFER_ERROR_INTERNAL = 1; // 0x1
9261    field public static final int ENABLE_LIMIT_POWER_TRANSFER_ERROR_NOT_SUPPORTED = 2; // 0x2
9262    field public static final int ENABLE_LIMIT_POWER_TRANSFER_ERROR_OTHER = 4; // 0x4
9263    field public static final int ENABLE_LIMIT_POWER_TRANSFER_ERROR_PORT_MISMATCH = 3; // 0x3
9264    field public static final int ENABLE_LIMIT_POWER_TRANSFER_SUCCESS = 0; // 0x0
9265    field public static final int ENABLE_USB_DATA_ERROR_INTERNAL = 1; // 0x1
9266    field public static final int ENABLE_USB_DATA_ERROR_NOT_SUPPORTED = 2; // 0x2
9267    field public static final int ENABLE_USB_DATA_ERROR_OTHER = 4; // 0x4
9268    field public static final int ENABLE_USB_DATA_ERROR_PORT_MISMATCH = 3; // 0x3
9269    field public static final int ENABLE_USB_DATA_SUCCESS = 0; // 0x0
9270    field public static final int ENABLE_USB_DATA_WHILE_DOCKED_ERROR_DATA_ENABLED = 4; // 0x4
9271    field public static final int ENABLE_USB_DATA_WHILE_DOCKED_ERROR_INTERNAL = 1; // 0x1
9272    field public static final int ENABLE_USB_DATA_WHILE_DOCKED_ERROR_NOT_SUPPORTED = 2; // 0x2
9273    field public static final int ENABLE_USB_DATA_WHILE_DOCKED_ERROR_OTHER = 5; // 0x5
9274    field public static final int ENABLE_USB_DATA_WHILE_DOCKED_ERROR_PORT_MISMATCH = 3; // 0x3
9275    field public static final int ENABLE_USB_DATA_WHILE_DOCKED_SUCCESS = 0; // 0x0
9276    field public static final int FLAG_ALT_MODE_TYPE_DISPLAYPORT = 1; // 0x1
9277    field public static final int RESET_USB_PORT_ERROR_INTERNAL = 1; // 0x1
9278    field public static final int RESET_USB_PORT_ERROR_NOT_SUPPORTED = 2; // 0x2
9279    field public static final int RESET_USB_PORT_ERROR_OTHER = 4; // 0x4
9280    field public static final int RESET_USB_PORT_ERROR_PORT_MISMATCH = 3; // 0x3
9281    field public static final int RESET_USB_PORT_SUCCESS = 0; // 0x0
9282  }
9283
9284  public final class UsbPortStatus implements android.os.Parcelable {
9285    method public int describeContents();
9286    method @NonNull @CheckResult public int[] getComplianceWarnings();
9287    method public int getCurrentDataRole();
9288    method public int getCurrentMode();
9289    method public int getCurrentPowerRole();
9290    method @Nullable public android.hardware.usb.DisplayPortAltModeInfo getDisplayPortAltModeInfo();
9291    method public int getPlugState();
9292    method public int getPowerBrickConnectionStatus();
9293    method public int getSupportedRoleCombinations();
9294    method public int getUsbDataStatus();
9295    method public boolean isConnected();
9296    method public boolean isPdCompliant();
9297    method public boolean isPowerTransferLimited();
9298    method public boolean isRoleCombinationSupported(int, int);
9299    method public void writeToParcel(android.os.Parcel, int);
9300    field public static final int COMPLIANCE_WARNING_BC_1_2 = 3; // 0x3
9301    field public static final int COMPLIANCE_WARNING_DEBUG_ACCESSORY = 2; // 0x2
9302    field public static final int COMPLIANCE_WARNING_ENUMERATION_FAIL = 7; // 0x7
9303    field public static final int COMPLIANCE_WARNING_FLAKY_CONNECTION = 8; // 0x8
9304    field public static final int COMPLIANCE_WARNING_INPUT_POWER_LIMITED = 5; // 0x5
9305    field public static final int COMPLIANCE_WARNING_MISSING_DATA_LINES = 6; // 0x6
9306    field public static final int COMPLIANCE_WARNING_MISSING_RP = 4; // 0x4
9307    field public static final int COMPLIANCE_WARNING_OTHER = 1; // 0x1
9308    field public static final int COMPLIANCE_WARNING_UNRELIABLE_IO = 9; // 0x9
9309    field @NonNull public static final android.os.Parcelable.Creator<android.hardware.usb.UsbPortStatus> CREATOR;
9310    field public static final int DATA_ROLE_DEVICE = 2; // 0x2
9311    field public static final int DATA_ROLE_HOST = 1; // 0x1
9312    field public static final int DATA_ROLE_NONE = 0; // 0x0
9313    field public static final int DATA_STATUS_DISABLED_CONTAMINANT = 4; // 0x4
9314    field public static final int DATA_STATUS_DISABLED_DEBUG = 32; // 0x20
9315    field public static final int DATA_STATUS_DISABLED_DOCK = 8; // 0x8
9316    field public static final int DATA_STATUS_DISABLED_DOCK_DEVICE_MODE = 128; // 0x80
9317    field public static final int DATA_STATUS_DISABLED_DOCK_HOST_MODE = 64; // 0x40
9318    field public static final int DATA_STATUS_DISABLED_FORCE = 16; // 0x10
9319    field public static final int DATA_STATUS_DISABLED_OVERHEAT = 2; // 0x2
9320    field public static final int DATA_STATUS_ENABLED = 1; // 0x1
9321    field public static final int DATA_STATUS_UNKNOWN = 0; // 0x0
9322    field public static final int MODE_AUDIO_ACCESSORY = 4; // 0x4
9323    field public static final int MODE_DEBUG_ACCESSORY = 8; // 0x8
9324    field public static final int MODE_DFP = 2; // 0x2
9325    field public static final int MODE_NONE = 0; // 0x0
9326    field public static final int MODE_UFP = 1; // 0x1
9327    field public static final int PLUG_STATE_PLUGGED_ORIENTATION_FLIPPED = 4; // 0x4
9328    field public static final int PLUG_STATE_PLUGGED_ORIENTATION_NORMAL = 3; // 0x3
9329    field public static final int PLUG_STATE_PLUGGED_ORIENTATION_UNKNOWN = 2; // 0x2
9330    field public static final int PLUG_STATE_UNKNOWN = 0; // 0x0
9331    field public static final int PLUG_STATE_UNPLUGGED = 1; // 0x1
9332    field public static final int POWER_BRICK_STATUS_CONNECTED = 1; // 0x1
9333    field public static final int POWER_BRICK_STATUS_DISCONNECTED = 2; // 0x2
9334    field public static final int POWER_BRICK_STATUS_UNKNOWN = 0; // 0x0
9335    field public static final int POWER_ROLE_NONE = 0; // 0x0
9336    field public static final int POWER_ROLE_SINK = 2; // 0x2
9337    field public static final int POWER_ROLE_SOURCE = 1; // 0x1
9338  }
9339
9340}
9341
9342package android.health.connect {
9343
9344  public class ApplicationInfoResponse {
9345    method @NonNull public java.util.List<android.health.connect.datatypes.AppInfo> getApplicationInfoList();
9346  }
9347
9348  public final class DeleteUsingFiltersRequest {
9349    method @NonNull public java.util.Set<android.health.connect.datatypes.DataOrigin> getDataOrigins();
9350    method @NonNull public java.util.Set<java.lang.Class<? extends android.health.connect.datatypes.Record>> getRecordTypes();
9351    method @Nullable public android.health.connect.TimeRangeFilter getTimeRangeFilter();
9352  }
9353
9354  public static final class DeleteUsingFiltersRequest.Builder {
9355    ctor public DeleteUsingFiltersRequest.Builder();
9356    method @NonNull public android.health.connect.DeleteUsingFiltersRequest.Builder addDataOrigin(@NonNull android.health.connect.datatypes.DataOrigin);
9357    method @NonNull public android.health.connect.DeleteUsingFiltersRequest.Builder addRecordType(@NonNull Class<? extends android.health.connect.datatypes.Record>);
9358    method @NonNull public android.health.connect.DeleteUsingFiltersRequest build();
9359    method @NonNull public android.health.connect.DeleteUsingFiltersRequest.Builder clearDataOrigins();
9360    method @NonNull public android.health.connect.DeleteUsingFiltersRequest.Builder clearRecordTypes();
9361    method @NonNull public android.health.connect.DeleteUsingFiltersRequest.Builder setTimeRangeFilter(@Nullable android.health.connect.TimeRangeFilter);
9362  }
9363
9364  public final class FetchDataOriginsPriorityOrderResponse {
9365    method @NonNull public java.util.List<android.health.connect.datatypes.DataOrigin> getDataOriginsPriorityOrder();
9366  }
9367
9368  public final class HealthConnectDataState implements android.os.Parcelable {
9369    method public int describeContents();
9370    method public int getDataMigrationState();
9371    method public int getDataRestoreError();
9372    method public int getDataRestoreState();
9373    method public void writeToParcel(@NonNull android.os.Parcel, int);
9374    field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.HealthConnectDataState> CREATOR;
9375    field public static final int MIGRATION_STATE_ALLOWED = 4; // 0x4
9376    field public static final int MIGRATION_STATE_APP_UPGRADE_REQUIRED = 1; // 0x1
9377    field public static final int MIGRATION_STATE_COMPLETE = 5; // 0x5
9378    field public static final int MIGRATION_STATE_IDLE = 0; // 0x0
9379    field public static final int MIGRATION_STATE_IN_PROGRESS = 3; // 0x3
9380    field public static final int MIGRATION_STATE_MODULE_UPGRADE_REQUIRED = 2; // 0x2
9381    field public static final int RESTORE_ERROR_FETCHING_DATA = 2; // 0x2
9382    field public static final int RESTORE_ERROR_NONE = 0; // 0x0
9383    field public static final int RESTORE_ERROR_UNKNOWN = 1; // 0x1
9384    field public static final int RESTORE_ERROR_VERSION_DIFF = 3; // 0x3
9385    field public static final int RESTORE_STATE_IDLE = 0; // 0x0
9386    field public static final int RESTORE_STATE_IN_PROGRESS = 2; // 0x2
9387    field public static final int RESTORE_STATE_PENDING = 1; // 0x1
9388  }
9389
9390  public class HealthConnectManager {
9391    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>);
9392    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>);
9393    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>);
9394    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>);
9395    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>);
9396    method @NonNull public static java.util.Set<java.lang.String> getHealthPermissions(@NonNull android.content.Context);
9397    method @IntRange(from=0, to=7300) @RequiresPermission(android.health.connect.HealthPermissions.MANAGE_HEALTH_DATA_PERMISSION) public int getRecordRetentionPeriodInDays();
9398    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>);
9399    method public static boolean isHealthPermission(@NonNull android.content.Context, @NonNull String);
9400    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>);
9401    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>);
9402    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>);
9403    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>);
9404    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>);
9405    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;
9406    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>);
9407    method @RequiresPermission(android.Manifest.permission.STAGE_HEALTH_CONNECT_REMOTE_DATA) public void updateDataDownloadState(int);
9408    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>);
9409    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>);
9410    field public static final String ACTION_HEALTH_CONNECT_MIGRATION_READY = "android.health.connect.action.HEALTH_CONNECT_MIGRATION_READY";
9411    field public static final String ACTION_HEALTH_HOME_SETTINGS = "android.health.connect.action.HEALTH_HOME_SETTINGS";
9412    field public static final String ACTION_MANAGE_HEALTH_DATA = "android.health.connect.action.MANAGE_HEALTH_DATA";
9413    field public static final String ACTION_REQUEST_HEALTH_PERMISSIONS = "android.health.connect.action.REQUEST_HEALTH_PERMISSIONS";
9414    field public static final String ACTION_SHOW_MIGRATION_INFO = "android.health.connect.action.SHOW_MIGRATION_INFO";
9415    field public static final int DATA_DOWNLOAD_COMPLETE = 4; // 0x4
9416    field public static final int DATA_DOWNLOAD_FAILED = 3; // 0x3
9417    field public static final int DATA_DOWNLOAD_RETRY = 2; // 0x2
9418    field public static final int DATA_DOWNLOAD_STARTED = 1; // 0x1
9419    field public static final int DATA_DOWNLOAD_STATE_UNKNOWN = 0; // 0x0
9420  }
9421
9422  public class HealthDataCategory {
9423    field public static final int ACTIVITY = 1; // 0x1
9424    field public static final int BODY_MEASUREMENTS = 2; // 0x2
9425    field public static final int CYCLE_TRACKING = 3; // 0x3
9426    field public static final int NUTRITION = 4; // 0x4
9427    field public static final int SLEEP = 5; // 0x5
9428    field public static final int UNKNOWN = 0; // 0x0
9429    field public static final int VITALS = 6; // 0x6
9430    field public static final int WELLNESS = 7; // 0x7
9431  }
9432
9433  public class HealthPermissionCategory {
9434    field public static final int ACTIVE_CALORIES_BURNED = 1; // 0x1
9435    field public static final int ACTIVITY_INTENSITY = 42; // 0x2a
9436    field public static final int BASAL_BODY_TEMPERATURE = 33; // 0x21
9437    field public static final int BASAL_METABOLIC_RATE = 9; // 0x9
9438    field public static final int BLOOD_GLUCOSE = 26; // 0x1a
9439    field public static final int BLOOD_PRESSURE = 27; // 0x1b
9440    field public static final int BODY_FAT = 10; // 0xa
9441    field public static final int BODY_TEMPERATURE = 28; // 0x1c
9442    field public static final int BODY_WATER_MASS = 11; // 0xb
9443    field public static final int BONE_MASS = 12; // 0xc
9444    field public static final int CERVICAL_MUCUS = 18; // 0x12
9445    field public static final int DISTANCE = 2; // 0x2
9446    field public static final int ELEVATION_GAINED = 3; // 0x3
9447    field public static final int EXERCISE = 4; // 0x4
9448    field public static final int FLOORS_CLIMBED = 5; // 0x5
9449    field public static final int HEART_RATE = 29; // 0x1d
9450    field public static final int HEART_RATE_VARIABILITY = 30; // 0x1e
9451    field public static final int HEIGHT = 13; // 0xd
9452    field public static final int HYDRATION = 23; // 0x17
9453    field public static final int INTERMENSTRUAL_BLEEDING = 38; // 0x26
9454    field public static final int LEAN_BODY_MASS = 15; // 0xf
9455    field public static final int MENSTRUATION = 20; // 0x14
9456    field public static final int MINDFULNESS = 41; // 0x29
9457    field public static final int NUTRITION = 24; // 0x18
9458    field public static final int OVULATION_TEST = 21; // 0x15
9459    field public static final int OXYGEN_SATURATION = 31; // 0x1f
9460    field public static final int PLANNED_EXERCISE = 40; // 0x28
9461    field public static final int POWER = 36; // 0x24
9462    field public static final int RESPIRATORY_RATE = 32; // 0x20
9463    field public static final int RESTING_HEART_RATE = 34; // 0x22
9464    field public static final int SEXUAL_ACTIVITY = 22; // 0x16
9465    field public static final int SKIN_TEMPERATURE = 39; // 0x27
9466    field public static final int SLEEP = 25; // 0x19
9467    field public static final int SPEED = 37; // 0x25
9468    field public static final int STEPS = 6; // 0x6
9469    field public static final int TOTAL_CALORIES_BURNED = 35; // 0x23
9470    field public static final int UNKNOWN = 0; // 0x0
9471    field public static final int VO2_MAX = 7; // 0x7
9472    field public static final int WEIGHT = 17; // 0x11
9473    field public static final int WHEELCHAIR_PUSHES = 8; // 0x8
9474  }
9475
9476  public final class HealthPermissions {
9477    field public static final String HEALTH_PERMISSION_GROUP = "android.permission-group.HEALTH";
9478    field public static final String MANAGE_HEALTH_DATA_PERMISSION = "android.permission.MANAGE_HEALTH_DATA";
9479    field public static final String MANAGE_HEALTH_PERMISSIONS = "android.permission.MANAGE_HEALTH_PERMISSIONS";
9480  }
9481
9482  public final class MedicalResourceTypeInfo implements android.os.Parcelable {
9483    ctor public MedicalResourceTypeInfo(int, @NonNull java.util.Set<android.health.connect.datatypes.MedicalDataSource>);
9484    method public int describeContents();
9485    method @NonNull public java.util.Set<android.health.connect.datatypes.MedicalDataSource> getContributingDataSources();
9486    method public int getMedicalResourceType();
9487    method public void writeToParcel(@NonNull android.os.Parcel, int);
9488    field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.MedicalResourceTypeInfo> CREATOR;
9489  }
9490
9491  public class RecordTypeInfoResponse {
9492    method @NonNull public java.util.List<android.health.connect.datatypes.DataOrigin> getContributingPackages();
9493    method public int getDataCategory();
9494    method public int getPermissionCategory();
9495  }
9496
9497  public final class UpdateDataOriginPriorityOrderRequest {
9498    ctor public UpdateDataOriginPriorityOrderRequest(@NonNull java.util.List<android.health.connect.datatypes.DataOrigin>, int);
9499    method public int getDataCategory();
9500    method @NonNull public java.util.List<android.health.connect.datatypes.DataOrigin> getDataOriginInOrder();
9501  }
9502
9503}
9504
9505package android.health.connect.accesslog {
9506
9507  public final class AccessLog implements android.os.Parcelable {
9508    method public int describeContents();
9509    method @NonNull public java.time.Instant getAccessTime();
9510    method @NonNull public java.util.Set<java.lang.Integer> getMedicalResourceTypes();
9511    method public int getOperationType();
9512    method @NonNull public String getPackageName();
9513    method @NonNull public java.util.List<java.lang.Class<? extends android.health.connect.datatypes.Record>> getRecordTypes();
9514    method public boolean isMedicalDataSourceAccessed();
9515    method public void writeToParcel(@NonNull android.os.Parcel, int);
9516    field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.accesslog.AccessLog> CREATOR;
9517  }
9518
9519  public static final class AccessLog.OperationType {
9520    field public static final int OPERATION_TYPE_DELETE = 1; // 0x1
9521    field public static final int OPERATION_TYPE_READ = 2; // 0x2
9522    field public static final int OPERATION_TYPE_UPSERT = 0; // 0x0
9523  }
9524
9525}
9526
9527package android.health.connect.datatypes {
9528
9529  public abstract class Record {
9530    method public int getRecordType();
9531  }
9532
9533  public final class RecordTypeIdentifier {
9534    field public static final int RECORD_TYPE_ACTIVE_CALORIES_BURNED = 2; // 0x2
9535    field public static final int RECORD_TYPE_ACTIVITY_INTENSITY = 42; // 0x2a
9536    field public static final int RECORD_TYPE_BASAL_BODY_TEMPERATURE = 20; // 0x14
9537    field public static final int RECORD_TYPE_BASAL_METABOLIC_RATE = 16; // 0x10
9538    field public static final int RECORD_TYPE_BLOOD_GLUCOSE = 25; // 0x19
9539    field public static final int RECORD_TYPE_BLOOD_PRESSURE = 23; // 0x17
9540    field public static final int RECORD_TYPE_BODY_FAT = 17; // 0x11
9541    field public static final int RECORD_TYPE_BODY_TEMPERATURE = 29; // 0x1d
9542    field public static final int RECORD_TYPE_BODY_WATER_MASS = 34; // 0x22
9543    field public static final int RECORD_TYPE_BONE_MASS = 32; // 0x20
9544    field public static final int RECORD_TYPE_CERVICAL_MUCUS = 19; // 0x13
9545    field public static final int RECORD_TYPE_CYCLING_PEDALING_CADENCE = 12; // 0xc
9546    field public static final int RECORD_TYPE_DISTANCE = 7; // 0x7
9547    field public static final int RECORD_TYPE_ELEVATION_GAINED = 4; // 0x4
9548    field public static final int RECORD_TYPE_EXERCISE_SESSION = 37; // 0x25
9549    field public static final int RECORD_TYPE_FLOORS_CLIMBED = 5; // 0x5
9550    field public static final int RECORD_TYPE_HEART_RATE = 11; // 0xb
9551    field public static final int RECORD_TYPE_HEART_RATE_VARIABILITY_RMSSD = 35; // 0x23
9552    field public static final int RECORD_TYPE_HEIGHT = 24; // 0x18
9553    field public static final int RECORD_TYPE_HYDRATION = 3; // 0x3
9554    field public static final int RECORD_TYPE_INTERMENSTRUAL_BLEEDING = 36; // 0x24
9555    field public static final int RECORD_TYPE_LEAN_BODY_MASS = 27; // 0x1b
9556    field public static final int RECORD_TYPE_MENSTRUATION_FLOW = 21; // 0x15
9557    field public static final int RECORD_TYPE_MENSTRUATION_PERIOD = 10; // 0xa
9558    field public static final int RECORD_TYPE_MINDFULNESS_SESSION = 41; // 0x29
9559    field public static final int RECORD_TYPE_NUTRITION = 8; // 0x8
9560    field public static final int RECORD_TYPE_OVULATION_TEST = 30; // 0x1e
9561    field public static final int RECORD_TYPE_OXYGEN_SATURATION = 22; // 0x16
9562    field public static final int RECORD_TYPE_PLANNED_EXERCISE_SESSION = 40; // 0x28
9563    field public static final int RECORD_TYPE_POWER = 13; // 0xd
9564    field public static final int RECORD_TYPE_RESPIRATORY_RATE = 31; // 0x1f
9565    field public static final int RECORD_TYPE_RESTING_HEART_RATE = 33; // 0x21
9566    field public static final int RECORD_TYPE_SEXUAL_ACTIVITY = 28; // 0x1c
9567    field public static final int RECORD_TYPE_SKIN_TEMPERATURE = 39; // 0x27
9568    field public static final int RECORD_TYPE_SLEEP_SESSION = 38; // 0x26
9569    field public static final int RECORD_TYPE_SPEED = 14; // 0xe
9570    field public static final int RECORD_TYPE_STEPS = 1; // 0x1
9571    field public static final int RECORD_TYPE_STEPS_CADENCE = 15; // 0xf
9572    field public static final int RECORD_TYPE_TOTAL_CALORIES_BURNED = 9; // 0x9
9573    field public static final int RECORD_TYPE_UNKNOWN = 0; // 0x0
9574    field public static final int RECORD_TYPE_VO2_MAX = 18; // 0x12
9575    field public static final int RECORD_TYPE_WEIGHT = 26; // 0x1a
9576    field public static final int RECORD_TYPE_WHEELCHAIR_PUSHES = 6; // 0x6
9577  }
9578
9579}
9580
9581package android.health.connect.migration {
9582
9583  public final class AppInfoMigrationPayload extends android.health.connect.migration.MigrationPayload implements android.os.Parcelable {
9584    method @Nullable public byte[] getAppIcon();
9585    method @NonNull public String getAppName();
9586    method @NonNull public String getPackageName();
9587    method public void writeToParcel(@NonNull android.os.Parcel, int);
9588    field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.migration.AppInfoMigrationPayload> CREATOR;
9589  }
9590
9591  public static final class AppInfoMigrationPayload.Builder {
9592    ctor public AppInfoMigrationPayload.Builder(@NonNull String, @NonNull String);
9593    method @NonNull public android.health.connect.migration.AppInfoMigrationPayload build();
9594    method @NonNull public android.health.connect.migration.AppInfoMigrationPayload.Builder setAppIcon(@Nullable byte[]);
9595    method @NonNull public android.health.connect.migration.AppInfoMigrationPayload.Builder setAppName(@NonNull String);
9596    method @NonNull public android.health.connect.migration.AppInfoMigrationPayload.Builder setPackageName(@NonNull String);
9597  }
9598
9599  public final class MetadataMigrationPayload extends android.health.connect.migration.MigrationPayload implements android.os.Parcelable {
9600    method public int getRecordRetentionPeriodDays();
9601    method public void writeToParcel(@NonNull android.os.Parcel, int);
9602    field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.migration.MetadataMigrationPayload> CREATOR;
9603  }
9604
9605  public static final class MetadataMigrationPayload.Builder {
9606    ctor public MetadataMigrationPayload.Builder();
9607    method @NonNull public android.health.connect.migration.MetadataMigrationPayload build();
9608    method @NonNull public android.health.connect.migration.MetadataMigrationPayload.Builder setRecordRetentionPeriodDays(@IntRange(from=0x0, to=0x1c84) int);
9609  }
9610
9611  public final class MigrationEntity implements android.os.Parcelable {
9612    ctor public MigrationEntity(@NonNull String, @NonNull android.health.connect.migration.MigrationPayload);
9613    method public int describeContents();
9614    method @NonNull public String getEntityId();
9615    method @NonNull public android.health.connect.migration.MigrationPayload getPayload();
9616    method public void writeToParcel(@NonNull android.os.Parcel, int);
9617    field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.migration.MigrationEntity> CREATOR;
9618  }
9619
9620  public final class MigrationException extends java.lang.RuntimeException implements android.os.Parcelable {
9621    ctor public MigrationException(@Nullable String, int, @Nullable String);
9622    method public int describeContents();
9623    method public int getErrorCode();
9624    method @Nullable public String getFailedEntityId();
9625    method public void writeToParcel(@NonNull android.os.Parcel, int);
9626    field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.migration.MigrationException> CREATOR;
9627    field public static final int ERROR_INTERNAL = 1; // 0x1
9628    field public static final int ERROR_MIGRATE_ENTITY = 2; // 0x2
9629    field public static final int ERROR_MIGRATION_UNAVAILABLE = 3; // 0x3
9630  }
9631
9632  public abstract class MigrationPayload implements android.os.Parcelable {
9633    method public int describeContents();
9634    field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.migration.MigrationPayload> CREATOR;
9635  }
9636
9637  public final class PermissionMigrationPayload extends android.health.connect.migration.MigrationPayload implements android.os.Parcelable {
9638    method @NonNull public java.time.Instant getFirstGrantTime();
9639    method @NonNull public String getHoldingPackageName();
9640    method @NonNull public java.util.List<java.lang.String> getPermissions();
9641    method public void writeToParcel(@NonNull android.os.Parcel, int);
9642    field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.migration.PermissionMigrationPayload> CREATOR;
9643  }
9644
9645  public static final class PermissionMigrationPayload.Builder {
9646    ctor public PermissionMigrationPayload.Builder(@NonNull String, @NonNull java.time.Instant);
9647    method @NonNull public android.health.connect.migration.PermissionMigrationPayload.Builder addPermission(@NonNull String);
9648    method @NonNull public android.health.connect.migration.PermissionMigrationPayload build();
9649    method @NonNull public android.health.connect.migration.PermissionMigrationPayload.Builder setFirstGrantTime(@NonNull java.time.Instant);
9650    method @NonNull public android.health.connect.migration.PermissionMigrationPayload.Builder setHoldingPackageName(@NonNull String);
9651  }
9652
9653  public final class PriorityMigrationPayload extends android.health.connect.migration.MigrationPayload implements android.os.Parcelable {
9654    method public int getDataCategory();
9655    method @NonNull public java.util.List<android.health.connect.datatypes.DataOrigin> getDataOrigins();
9656    method public void writeToParcel(@NonNull android.os.Parcel, int);
9657    field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.migration.PriorityMigrationPayload> CREATOR;
9658  }
9659
9660  public static final class PriorityMigrationPayload.Builder {
9661    ctor public PriorityMigrationPayload.Builder();
9662    method @NonNull public android.health.connect.migration.PriorityMigrationPayload.Builder addDataOrigin(@NonNull android.health.connect.datatypes.DataOrigin);
9663    method @NonNull public android.health.connect.migration.PriorityMigrationPayload build();
9664    method @NonNull public android.health.connect.migration.PriorityMigrationPayload.Builder setDataCategory(int);
9665  }
9666
9667  public final class RecordMigrationPayload extends android.health.connect.migration.MigrationPayload implements android.os.Parcelable {
9668    method @NonNull public String getOriginAppName();
9669    method @NonNull public String getOriginPackageName();
9670    method @NonNull public android.health.connect.datatypes.Record getRecord();
9671    method public void writeToParcel(@NonNull android.os.Parcel, int);
9672    field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.migration.RecordMigrationPayload> CREATOR;
9673  }
9674
9675  public static final class RecordMigrationPayload.Builder {
9676    ctor public RecordMigrationPayload.Builder(@NonNull String, @NonNull String, @NonNull android.health.connect.datatypes.Record);
9677    method @NonNull public android.health.connect.migration.RecordMigrationPayload build();
9678    method @NonNull public android.health.connect.migration.RecordMigrationPayload.Builder setOriginAppName(@NonNull String);
9679    method @NonNull public android.health.connect.migration.RecordMigrationPayload.Builder setOriginPackageName(@NonNull String);
9680    method @NonNull public android.health.connect.migration.RecordMigrationPayload.Builder setRecord(@NonNull android.health.connect.datatypes.Record);
9681  }
9682
9683}
9684
9685package android.health.connect.restore {
9686
9687  public final class StageRemoteDataException extends java.lang.RuntimeException implements android.os.Parcelable {
9688    method public int describeContents();
9689    method @NonNull public java.util.Map<java.lang.String,android.health.connect.HealthConnectException> getExceptionsByFileNames();
9690    method public void writeToParcel(@NonNull android.os.Parcel, int);
9691    field @NonNull public static final android.os.Parcelable.Creator<android.health.connect.restore.StageRemoteDataException> CREATOR;
9692  }
9693
9694}
9695
9696package android.location {
9697
9698  public abstract class BatchedLocationCallback {
9699    ctor public BatchedLocationCallback();
9700    method public void onLocationBatch(java.util.List<android.location.Location>);
9701  }
9702
9703  public final class CorrelationVector implements android.os.Parcelable {
9704    method public int describeContents();
9705    method @FloatRange(from=0.0f) public double getFrequencyOffsetMetersPerSecond();
9706    method @NonNull public int[] getMagnitude();
9707    method @FloatRange(from=0.0f) public double getSamplingStartMeters();
9708    method @FloatRange(from=0.0f, fromInclusive=false) public double getSamplingWidthMeters();
9709    method public void writeToParcel(@NonNull android.os.Parcel, int);
9710    field @NonNull public static final android.os.Parcelable.Creator<android.location.CorrelationVector> CREATOR;
9711  }
9712
9713  public static final class CorrelationVector.Builder {
9714    ctor public CorrelationVector.Builder();
9715    method @NonNull public android.location.CorrelationVector build();
9716    method @NonNull public android.location.CorrelationVector.Builder setFrequencyOffsetMetersPerSecond(@FloatRange(from=0.0f) double);
9717    method @NonNull public android.location.CorrelationVector.Builder setMagnitude(@NonNull int[]);
9718    method @NonNull public android.location.CorrelationVector.Builder setSamplingStartMeters(@FloatRange(from=0.0f) double);
9719    method @NonNull public android.location.CorrelationVector.Builder setSamplingWidthMeters(@FloatRange(from=0.0f, fromInclusive=false) double);
9720  }
9721
9722  public final class Country implements android.os.Parcelable {
9723    ctor public Country(@NonNull String, int);
9724    method public int describeContents();
9725    method @NonNull public String getCountryCode();
9726    method public int getSource();
9727    method public void writeToParcel(@NonNull android.os.Parcel, int);
9728    field public static final int COUNTRY_SOURCE_LOCALE = 3; // 0x3
9729    field public static final int COUNTRY_SOURCE_LOCATION = 1; // 0x1
9730    field public static final int COUNTRY_SOURCE_NETWORK = 0; // 0x0
9731    field public static final int COUNTRY_SOURCE_SIM = 2; // 0x2
9732    field @NonNull public static final android.os.Parcelable.Creator<android.location.Country> CREATOR;
9733  }
9734
9735  public class CountryDetector {
9736    method public void registerCountryDetectorCallback(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.location.Country>);
9737    method public void unregisterCountryDetectorCallback(@NonNull java.util.function.Consumer<android.location.Country>);
9738  }
9739
9740  public final class GnssCapabilities implements android.os.Parcelable {
9741    method @Deprecated public boolean hasMeasurementCorrectionsReflectingPane();
9742    method @Deprecated public boolean hasNavMessages();
9743    method @Deprecated public boolean hasSatelliteBlacklist();
9744  }
9745
9746  public final class GnssExcessPathInfo implements android.os.Parcelable {
9747    method public int describeContents();
9748    method @FloatRange(from=0.0f) public float getAttenuationDb();
9749    method @FloatRange(from=0.0f) public float getExcessPathLengthMeters();
9750    method @FloatRange(from=0.0f) public float getExcessPathLengthUncertaintyMeters();
9751    method @NonNull public android.location.GnssReflectingPlane getReflectingPlane();
9752    method public boolean hasAttenuation();
9753    method public boolean hasExcessPathLength();
9754    method public boolean hasExcessPathLengthUncertainty();
9755    method public boolean hasReflectingPlane();
9756    method public void writeToParcel(@NonNull android.os.Parcel, int);
9757    field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssExcessPathInfo> CREATOR;
9758  }
9759
9760  public static final class GnssExcessPathInfo.Builder {
9761    ctor public GnssExcessPathInfo.Builder();
9762    method @NonNull public android.location.GnssExcessPathInfo build();
9763    method @NonNull public android.location.GnssExcessPathInfo.Builder clearAttenuationDb();
9764    method @NonNull public android.location.GnssExcessPathInfo.Builder clearExcessPathLengthMeters();
9765    method @NonNull public android.location.GnssExcessPathInfo.Builder clearExcessPathLengthUncertaintyMeters();
9766    method @NonNull public android.location.GnssExcessPathInfo.Builder setAttenuationDb(@FloatRange(from=0.0f) float);
9767    method @NonNull public android.location.GnssExcessPathInfo.Builder setExcessPathLengthMeters(@FloatRange(from=0.0f) float);
9768    method @NonNull public android.location.GnssExcessPathInfo.Builder setExcessPathLengthUncertaintyMeters(@FloatRange(from=0.0f) float);
9769    method @NonNull public android.location.GnssExcessPathInfo.Builder setReflectingPlane(@Nullable android.location.GnssReflectingPlane);
9770  }
9771
9772  public final class GnssMeasurement implements android.os.Parcelable {
9773    method @Nullable public java.util.Collection<android.location.CorrelationVector> getCorrelationVectors();
9774    method @Nullable public android.location.SatellitePvt getSatellitePvt();
9775    method public boolean hasCorrelationVectors();
9776    method public boolean hasSatellitePvt();
9777  }
9778
9779  public final class GnssMeasurementCorrections implements android.os.Parcelable {
9780    method public int describeContents();
9781    method @FloatRange(from=-1000.0F, to=10000.0f) public double getAltitudeMeters();
9782    method @FloatRange(from=0.0f, to=360.0f) public float getEnvironmentBearingDegrees();
9783    method @FloatRange(from=0.0f, to=180.0f) public float getEnvironmentBearingUncertaintyDegrees();
9784    method @FloatRange(from=0.0f) public double getHorizontalPositionUncertaintyMeters();
9785    method @FloatRange(from=-90.0F, to=90.0f) public double getLatitudeDegrees();
9786    method @FloatRange(from=-180.0F, to=180.0f) public double getLongitudeDegrees();
9787    method @NonNull public java.util.List<android.location.GnssSingleSatCorrection> getSingleSatelliteCorrectionList();
9788    method @IntRange(from=0) public long getToaGpsNanosecondsOfWeek();
9789    method @FloatRange(from=0.0f) public double getVerticalPositionUncertaintyMeters();
9790    method public boolean hasEnvironmentBearing();
9791    method public void writeToParcel(@NonNull android.os.Parcel, int);
9792    field public static final android.os.Parcelable.Creator<android.location.GnssMeasurementCorrections> CREATOR;
9793  }
9794
9795  public static final class GnssMeasurementCorrections.Builder {
9796    ctor public GnssMeasurementCorrections.Builder();
9797    method @NonNull public android.location.GnssMeasurementCorrections build();
9798    method @NonNull public android.location.GnssMeasurementCorrections.Builder setAltitudeMeters(@FloatRange(from=-1000.0F, to=10000.0f) double);
9799    method @NonNull public android.location.GnssMeasurementCorrections.Builder setEnvironmentBearingDegrees(@FloatRange(from=0.0f, to=360.0f) float);
9800    method @NonNull public android.location.GnssMeasurementCorrections.Builder setEnvironmentBearingUncertaintyDegrees(@FloatRange(from=0.0f, to=180.0f) float);
9801    method @NonNull public android.location.GnssMeasurementCorrections.Builder setHorizontalPositionUncertaintyMeters(@FloatRange(from=0.0f) double);
9802    method @NonNull public android.location.GnssMeasurementCorrections.Builder setLatitudeDegrees(@FloatRange(from=-90.0F, to=90.0f) double);
9803    method @NonNull public android.location.GnssMeasurementCorrections.Builder setLongitudeDegrees(@FloatRange(from=-180.0F, to=180.0f) double);
9804    method @NonNull public android.location.GnssMeasurementCorrections.Builder setSingleSatelliteCorrectionList(@NonNull java.util.List<android.location.GnssSingleSatCorrection>);
9805    method @NonNull public android.location.GnssMeasurementCorrections.Builder setToaGpsNanosecondsOfWeek(@IntRange(from=0) long);
9806    method @NonNull public android.location.GnssMeasurementCorrections.Builder setVerticalPositionUncertaintyMeters(@FloatRange(from=0.0f) double);
9807  }
9808
9809  public final class GnssMeasurementRequest implements android.os.Parcelable {
9810    method @NonNull public android.os.WorkSource getWorkSource();
9811    method public boolean isCorrelationVectorOutputsEnabled();
9812  }
9813
9814  public static final class GnssMeasurementRequest.Builder {
9815    method @NonNull public android.location.GnssMeasurementRequest.Builder setCorrelationVectorOutputsEnabled(boolean);
9816    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public android.location.GnssMeasurementRequest.Builder setWorkSource(@Nullable android.os.WorkSource);
9817  }
9818
9819  public final class GnssReflectingPlane implements android.os.Parcelable {
9820    method public int describeContents();
9821    method @FloatRange(from=-1000.0F, to=10000.0f) public double getAltitudeMeters();
9822    method @FloatRange(from=0.0f, to=360.0f) public double getAzimuthDegrees();
9823    method @FloatRange(from=-90.0F, to=90.0f) public double getLatitudeDegrees();
9824    method @FloatRange(from=-180.0F, to=180.0f) public double getLongitudeDegrees();
9825    method public void writeToParcel(@NonNull android.os.Parcel, int);
9826    field public static final android.os.Parcelable.Creator<android.location.GnssReflectingPlane> CREATOR;
9827  }
9828
9829  public static final class GnssReflectingPlane.Builder {
9830    ctor public GnssReflectingPlane.Builder();
9831    method @NonNull public android.location.GnssReflectingPlane build();
9832    method @NonNull public android.location.GnssReflectingPlane.Builder setAltitudeMeters(@FloatRange(from=-1000.0F, to=10000.0f) double);
9833    method @NonNull public android.location.GnssReflectingPlane.Builder setAzimuthDegrees(@FloatRange(from=0.0f, to=360.0f) double);
9834    method @NonNull public android.location.GnssReflectingPlane.Builder setLatitudeDegrees(@FloatRange(from=-90.0F, to=90.0f) double);
9835    method @NonNull public android.location.GnssReflectingPlane.Builder setLongitudeDegrees(@FloatRange(from=-180.0F, to=180.0f) double);
9836  }
9837
9838  public final class GnssRequest implements android.os.Parcelable {
9839    method public int describeContents();
9840    method public boolean isFullTracking();
9841    method public void writeToParcel(@NonNull android.os.Parcel, int);
9842    field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssRequest> CREATOR;
9843  }
9844
9845  public static final class GnssRequest.Builder {
9846    ctor public GnssRequest.Builder();
9847    ctor public GnssRequest.Builder(@NonNull android.location.GnssRequest);
9848    method @NonNull public android.location.GnssRequest build();
9849    method @NonNull public android.location.GnssRequest.Builder setFullTracking(boolean);
9850  }
9851
9852  public final class GnssSingleSatCorrection implements android.os.Parcelable {
9853    method public int describeContents();
9854    method @FloatRange(from=0.0f, fromInclusive=false) public float getCarrierFrequencyHz();
9855    method @FloatRange(from=0.0f) public float getCombinedAttenuationDb();
9856    method public int getConstellationType();
9857    method @FloatRange(from=0.0f) public float getExcessPathLengthMeters();
9858    method @FloatRange(from=0.0f) public float getExcessPathLengthUncertaintyMeters();
9859    method @NonNull public java.util.List<android.location.GnssExcessPathInfo> getGnssExcessPathInfoList();
9860    method @FloatRange(from=0.0f, to=1.0f) public float getProbabilityLineOfSight();
9861    method @Deprecated @Nullable public android.location.GnssReflectingPlane getReflectingPlane();
9862    method @IntRange(from=0) public int getSatelliteId();
9863    method public boolean hasCombinedAttenuation();
9864    method public boolean hasExcessPathLength();
9865    method public boolean hasExcessPathLengthUncertainty();
9866    method @Deprecated public boolean hasReflectingPlane();
9867    method public boolean hasValidSatelliteLineOfSight();
9868    method public void writeToParcel(@NonNull android.os.Parcel, int);
9869    field public static final android.os.Parcelable.Creator<android.location.GnssSingleSatCorrection> CREATOR;
9870  }
9871
9872  public static final class GnssSingleSatCorrection.Builder {
9873    ctor public GnssSingleSatCorrection.Builder();
9874    method @NonNull public android.location.GnssSingleSatCorrection build();
9875    method @NonNull public android.location.GnssSingleSatCorrection.Builder clearCombinedAttenuationDb();
9876    method @NonNull public android.location.GnssSingleSatCorrection.Builder clearExcessPathLengthMeters();
9877    method @NonNull public android.location.GnssSingleSatCorrection.Builder clearExcessPathLengthUncertaintyMeters();
9878    method @NonNull public android.location.GnssSingleSatCorrection.Builder clearProbabilityLineOfSight();
9879    method @NonNull public android.location.GnssSingleSatCorrection.Builder setCarrierFrequencyHz(@FloatRange(from=0.0f, fromInclusive=false) float);
9880    method @NonNull public android.location.GnssSingleSatCorrection.Builder setCombinedAttenuationDb(@FloatRange(from=0.0f) float);
9881    method @NonNull public android.location.GnssSingleSatCorrection.Builder setConstellationType(int);
9882    method @NonNull public android.location.GnssSingleSatCorrection.Builder setExcessPathLengthMeters(@FloatRange(from=0.0f) float);
9883    method @NonNull public android.location.GnssSingleSatCorrection.Builder setExcessPathLengthUncertaintyMeters(@FloatRange(from=0.0f) float);
9884    method @NonNull public android.location.GnssSingleSatCorrection.Builder setGnssExcessPathInfoList(@NonNull java.util.List<android.location.GnssExcessPathInfo>);
9885    method @NonNull public android.location.GnssSingleSatCorrection.Builder setProbabilityLineOfSight(@FloatRange(from=0.0f, to=1.0f) float);
9886    method @Deprecated @NonNull public android.location.GnssSingleSatCorrection.Builder setReflectingPlane(@Nullable android.location.GnssReflectingPlane);
9887    method @NonNull public android.location.GnssSingleSatCorrection.Builder setSatelliteId(@IntRange(from=0) int);
9888  }
9889
9890  @Deprecated public class GpsClock implements android.os.Parcelable {
9891    method @Deprecated public int describeContents();
9892    method @Deprecated public double getBiasInNs();
9893    method @Deprecated public double getBiasUncertaintyInNs();
9894    method @Deprecated public double getDriftInNsPerSec();
9895    method @Deprecated public double getDriftUncertaintyInNsPerSec();
9896    method @Deprecated public long getFullBiasInNs();
9897    method @Deprecated public short getLeapSecond();
9898    method @Deprecated public long getTimeInNs();
9899    method @Deprecated public double getTimeUncertaintyInNs();
9900    method @Deprecated public byte getType();
9901    method @Deprecated public boolean hasBiasInNs();
9902    method @Deprecated public boolean hasBiasUncertaintyInNs();
9903    method @Deprecated public boolean hasDriftInNsPerSec();
9904    method @Deprecated public boolean hasDriftUncertaintyInNsPerSec();
9905    method @Deprecated public boolean hasFullBiasInNs();
9906    method @Deprecated public boolean hasLeapSecond();
9907    method @Deprecated public boolean hasTimeUncertaintyInNs();
9908    method @Deprecated public void reset();
9909    method @Deprecated public void resetBiasInNs();
9910    method @Deprecated public void resetBiasUncertaintyInNs();
9911    method @Deprecated public void resetDriftInNsPerSec();
9912    method @Deprecated public void resetDriftUncertaintyInNsPerSec();
9913    method @Deprecated public void resetFullBiasInNs();
9914    method @Deprecated public void resetLeapSecond();
9915    method @Deprecated public void resetTimeUncertaintyInNs();
9916    method @Deprecated public void set(android.location.GpsClock);
9917    method @Deprecated public void setBiasInNs(double);
9918    method @Deprecated public void setBiasUncertaintyInNs(double);
9919    method @Deprecated public void setDriftInNsPerSec(double);
9920    method @Deprecated public void setDriftUncertaintyInNsPerSec(double);
9921    method @Deprecated public void setFullBiasInNs(long);
9922    method @Deprecated public void setLeapSecond(short);
9923    method @Deprecated public void setTimeInNs(long);
9924    method @Deprecated public void setTimeUncertaintyInNs(double);
9925    method @Deprecated public void setType(byte);
9926    method @Deprecated public void writeToParcel(android.os.Parcel, int);
9927    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsClock> CREATOR;
9928    field @Deprecated public static final byte TYPE_GPS_TIME = 2; // 0x2
9929    field @Deprecated public static final byte TYPE_LOCAL_HW_TIME = 1; // 0x1
9930    field @Deprecated public static final byte TYPE_UNKNOWN = 0; // 0x0
9931  }
9932
9933  @Deprecated public class GpsMeasurement implements android.os.Parcelable {
9934    method @Deprecated public int describeContents();
9935    method @Deprecated public double getAccumulatedDeltaRangeInMeters();
9936    method @Deprecated public short getAccumulatedDeltaRangeState();
9937    method @Deprecated public double getAccumulatedDeltaRangeUncertaintyInMeters();
9938    method @Deprecated public double getAzimuthInDeg();
9939    method @Deprecated public double getAzimuthUncertaintyInDeg();
9940    method @Deprecated public int getBitNumber();
9941    method @Deprecated public long getCarrierCycles();
9942    method @Deprecated public float getCarrierFrequencyInHz();
9943    method @Deprecated public double getCarrierPhase();
9944    method @Deprecated public double getCarrierPhaseUncertainty();
9945    method @Deprecated public double getCn0InDbHz();
9946    method @Deprecated public double getCodePhaseInChips();
9947    method @Deprecated public double getCodePhaseUncertaintyInChips();
9948    method @Deprecated public double getDopplerShiftInHz();
9949    method @Deprecated public double getDopplerShiftUncertaintyInHz();
9950    method @Deprecated public double getElevationInDeg();
9951    method @Deprecated public double getElevationUncertaintyInDeg();
9952    method @Deprecated public byte getLossOfLock();
9953    method @Deprecated public byte getMultipathIndicator();
9954    method @Deprecated public byte getPrn();
9955    method @Deprecated public double getPseudorangeInMeters();
9956    method @Deprecated public double getPseudorangeRateInMetersPerSec();
9957    method @Deprecated public double getPseudorangeRateUncertaintyInMetersPerSec();
9958    method @Deprecated public double getPseudorangeUncertaintyInMeters();
9959    method @Deprecated public long getReceivedGpsTowInNs();
9960    method @Deprecated public long getReceivedGpsTowUncertaintyInNs();
9961    method @Deprecated public double getSnrInDb();
9962    method @Deprecated public short getState();
9963    method @Deprecated public short getTimeFromLastBitInMs();
9964    method @Deprecated public double getTimeOffsetInNs();
9965    method @Deprecated public boolean hasAzimuthInDeg();
9966    method @Deprecated public boolean hasAzimuthUncertaintyInDeg();
9967    method @Deprecated public boolean hasBitNumber();
9968    method @Deprecated public boolean hasCarrierCycles();
9969    method @Deprecated public boolean hasCarrierFrequencyInHz();
9970    method @Deprecated public boolean hasCarrierPhase();
9971    method @Deprecated public boolean hasCarrierPhaseUncertainty();
9972    method @Deprecated public boolean hasCodePhaseInChips();
9973    method @Deprecated public boolean hasCodePhaseUncertaintyInChips();
9974    method @Deprecated public boolean hasDopplerShiftInHz();
9975    method @Deprecated public boolean hasDopplerShiftUncertaintyInHz();
9976    method @Deprecated public boolean hasElevationInDeg();
9977    method @Deprecated public boolean hasElevationUncertaintyInDeg();
9978    method @Deprecated public boolean hasPseudorangeInMeters();
9979    method @Deprecated public boolean hasPseudorangeUncertaintyInMeters();
9980    method @Deprecated public boolean hasSnrInDb();
9981    method @Deprecated public boolean hasTimeFromLastBitInMs();
9982    method @Deprecated public boolean isPseudorangeRateCorrected();
9983    method @Deprecated public boolean isUsedInFix();
9984    method @Deprecated public void reset();
9985    method @Deprecated public void resetAzimuthInDeg();
9986    method @Deprecated public void resetAzimuthUncertaintyInDeg();
9987    method @Deprecated public void resetBitNumber();
9988    method @Deprecated public void resetCarrierCycles();
9989    method @Deprecated public void resetCarrierFrequencyInHz();
9990    method @Deprecated public void resetCarrierPhase();
9991    method @Deprecated public void resetCarrierPhaseUncertainty();
9992    method @Deprecated public void resetCodePhaseInChips();
9993    method @Deprecated public void resetCodePhaseUncertaintyInChips();
9994    method @Deprecated public void resetDopplerShiftInHz();
9995    method @Deprecated public void resetDopplerShiftUncertaintyInHz();
9996    method @Deprecated public void resetElevationInDeg();
9997    method @Deprecated public void resetElevationUncertaintyInDeg();
9998    method @Deprecated public void resetPseudorangeInMeters();
9999    method @Deprecated public void resetPseudorangeUncertaintyInMeters();
10000    method @Deprecated public void resetSnrInDb();
10001    method @Deprecated public void resetTimeFromLastBitInMs();
10002    method @Deprecated public void set(android.location.GpsMeasurement);
10003    method @Deprecated public void setAccumulatedDeltaRangeInMeters(double);
10004    method @Deprecated public void setAccumulatedDeltaRangeState(short);
10005    method @Deprecated public void setAccumulatedDeltaRangeUncertaintyInMeters(double);
10006    method @Deprecated public void setAzimuthInDeg(double);
10007    method @Deprecated public void setAzimuthUncertaintyInDeg(double);
10008    method @Deprecated public void setBitNumber(int);
10009    method @Deprecated public void setCarrierCycles(long);
10010    method @Deprecated public void setCarrierFrequencyInHz(float);
10011    method @Deprecated public void setCarrierPhase(double);
10012    method @Deprecated public void setCarrierPhaseUncertainty(double);
10013    method @Deprecated public void setCn0InDbHz(double);
10014    method @Deprecated public void setCodePhaseInChips(double);
10015    method @Deprecated public void setCodePhaseUncertaintyInChips(double);
10016    method @Deprecated public void setDopplerShiftInHz(double);
10017    method @Deprecated public void setDopplerShiftUncertaintyInHz(double);
10018    method @Deprecated public void setElevationInDeg(double);
10019    method @Deprecated public void setElevationUncertaintyInDeg(double);
10020    method @Deprecated public void setLossOfLock(byte);
10021    method @Deprecated public void setMultipathIndicator(byte);
10022    method @Deprecated public void setPrn(byte);
10023    method @Deprecated public void setPseudorangeInMeters(double);
10024    method @Deprecated public void setPseudorangeRateInMetersPerSec(double);
10025    method @Deprecated public void setPseudorangeRateUncertaintyInMetersPerSec(double);
10026    method @Deprecated public void setPseudorangeUncertaintyInMeters(double);
10027    method @Deprecated public void setReceivedGpsTowInNs(long);
10028    method @Deprecated public void setReceivedGpsTowUncertaintyInNs(long);
10029    method @Deprecated public void setSnrInDb(double);
10030    method @Deprecated public void setState(short);
10031    method @Deprecated public void setTimeFromLastBitInMs(short);
10032    method @Deprecated public void setTimeOffsetInNs(double);
10033    method @Deprecated public void setUsedInFix(boolean);
10034    method @Deprecated public void writeToParcel(android.os.Parcel, int);
10035    field @Deprecated public static final short ADR_STATE_CYCLE_SLIP = 4; // 0x4
10036    field @Deprecated public static final short ADR_STATE_RESET = 2; // 0x2
10037    field @Deprecated public static final short ADR_STATE_UNKNOWN = 0; // 0x0
10038    field @Deprecated public static final short ADR_STATE_VALID = 1; // 0x1
10039    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsMeasurement> CREATOR;
10040    field @Deprecated public static final byte LOSS_OF_LOCK_CYCLE_SLIP = 2; // 0x2
10041    field @Deprecated public static final byte LOSS_OF_LOCK_OK = 1; // 0x1
10042    field @Deprecated public static final byte LOSS_OF_LOCK_UNKNOWN = 0; // 0x0
10043    field @Deprecated public static final byte MULTIPATH_INDICATOR_DETECTED = 1; // 0x1
10044    field @Deprecated public static final byte MULTIPATH_INDICATOR_NOT_USED = 2; // 0x2
10045    field @Deprecated public static final byte MULTIPATH_INDICATOR_UNKNOWN = 0; // 0x0
10046    field @Deprecated public static final short STATE_BIT_SYNC = 2; // 0x2
10047    field @Deprecated public static final short STATE_CODE_LOCK = 1; // 0x1
10048    field @Deprecated public static final short STATE_MSEC_AMBIGUOUS = 16; // 0x10
10049    field @Deprecated public static final short STATE_SUBFRAME_SYNC = 4; // 0x4
10050    field @Deprecated public static final short STATE_TOW_DECODED = 8; // 0x8
10051    field @Deprecated public static final short STATE_UNKNOWN = 0; // 0x0
10052  }
10053
10054  @Deprecated public class GpsMeasurementsEvent implements android.os.Parcelable {
10055    ctor @Deprecated public GpsMeasurementsEvent(android.location.GpsClock, android.location.GpsMeasurement[]);
10056    method @Deprecated public int describeContents();
10057    method @Deprecated @NonNull public android.location.GpsClock getClock();
10058    method @Deprecated @NonNull public java.util.Collection<android.location.GpsMeasurement> getMeasurements();
10059    method @Deprecated public void writeToParcel(android.os.Parcel, int);
10060    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsMeasurementsEvent> CREATOR;
10061    field @Deprecated public static final int STATUS_GPS_LOCATION_DISABLED = 2; // 0x2
10062    field @Deprecated public static final int STATUS_NOT_SUPPORTED = 0; // 0x0
10063    field @Deprecated public static final int STATUS_READY = 1; // 0x1
10064  }
10065
10066  @Deprecated public static interface GpsMeasurementsEvent.Listener {
10067    method @Deprecated public void onGpsMeasurementsReceived(android.location.GpsMeasurementsEvent);
10068    method @Deprecated public void onStatusChanged(int);
10069  }
10070
10071  @Deprecated public class GpsNavigationMessage implements android.os.Parcelable {
10072    method @Deprecated public int describeContents();
10073    method @Deprecated @NonNull public byte[] getData();
10074    method @Deprecated public short getMessageId();
10075    method @Deprecated public byte getPrn();
10076    method @Deprecated public short getStatus();
10077    method @Deprecated public short getSubmessageId();
10078    method @Deprecated public byte getType();
10079    method @Deprecated public void reset();
10080    method @Deprecated public void set(android.location.GpsNavigationMessage);
10081    method @Deprecated public void setData(byte[]);
10082    method @Deprecated public void setMessageId(short);
10083    method @Deprecated public void setPrn(byte);
10084    method @Deprecated public void setStatus(short);
10085    method @Deprecated public void setSubmessageId(short);
10086    method @Deprecated public void setType(byte);
10087    method @Deprecated public void writeToParcel(android.os.Parcel, int);
10088    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsNavigationMessage> CREATOR;
10089    field @Deprecated public static final short STATUS_PARITY_PASSED = 1; // 0x1
10090    field @Deprecated public static final short STATUS_PARITY_REBUILT = 2; // 0x2
10091    field @Deprecated public static final short STATUS_UNKNOWN = 0; // 0x0
10092    field @Deprecated public static final byte TYPE_CNAV2 = 4; // 0x4
10093    field @Deprecated public static final byte TYPE_L1CA = 1; // 0x1
10094    field @Deprecated public static final byte TYPE_L2CNAV = 2; // 0x2
10095    field @Deprecated public static final byte TYPE_L5CNAV = 3; // 0x3
10096    field @Deprecated public static final byte TYPE_UNKNOWN = 0; // 0x0
10097  }
10098
10099  @Deprecated public class GpsNavigationMessageEvent implements android.os.Parcelable {
10100    ctor @Deprecated public GpsNavigationMessageEvent(android.location.GpsNavigationMessage);
10101    method @Deprecated public int describeContents();
10102    method @Deprecated @NonNull public android.location.GpsNavigationMessage getNavigationMessage();
10103    method @Deprecated public void writeToParcel(android.os.Parcel, int);
10104    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.location.GpsNavigationMessageEvent> CREATOR;
10105    field @Deprecated public static int STATUS_GPS_LOCATION_DISABLED;
10106    field @Deprecated public static int STATUS_NOT_SUPPORTED;
10107    field @Deprecated public static int STATUS_READY;
10108  }
10109
10110  @Deprecated public static interface GpsNavigationMessageEvent.Listener {
10111    method @Deprecated public void onGpsNavigationMessageReceived(android.location.GpsNavigationMessageEvent);
10112    method @Deprecated public void onStatusChanged(int);
10113  }
10114
10115  public final class LastLocationRequest implements android.os.Parcelable {
10116    method public int describeContents();
10117    method public boolean isAdasGnssBypass();
10118    method public boolean isHiddenFromAppOps();
10119    method public boolean isLocationSettingsIgnored();
10120    method public void writeToParcel(@NonNull android.os.Parcel, int);
10121    field @NonNull public static final android.os.Parcelable.Creator<android.location.LastLocationRequest> CREATOR;
10122  }
10123
10124  public static final class LastLocationRequest.Builder {
10125    ctor public LastLocationRequest.Builder();
10126    ctor public LastLocationRequest.Builder(@NonNull android.location.LastLocationRequest);
10127    method @NonNull public android.location.LastLocationRequest build();
10128    method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_BYPASS) public android.location.LastLocationRequest.Builder setAdasGnssBypass(boolean);
10129    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_APP_OPS_STATS) public android.location.LastLocationRequest.Builder setHiddenFromAppOps(boolean);
10130    method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_BYPASS) public android.location.LastLocationRequest.Builder setLocationSettingsIgnored(boolean);
10131  }
10132
10133  public class Location implements android.os.Parcelable {
10134    method public void makeComplete();
10135    method @Deprecated public void setIsFromMockProvider(boolean);
10136    field @Deprecated public static final String EXTRA_NO_GPS_LOCATION = "noGPSLocation";
10137  }
10138
10139  public class LocationManager {
10140    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);
10141    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void flushGnssBatch();
10142    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>);
10143    method @Nullable public String getExtraLocationControllerPackage();
10144    method @Deprecated public int getGnssBatchSize();
10145    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);
10146    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public void injectGnssMeasurementCorrections(@NonNull android.location.GnssMeasurementCorrections);
10147    method public boolean isAdasGnssLocationEnabled();
10148    method public boolean isExtraLocationControllerPackageEnabled();
10149    method public boolean isLocationEnabledForUser(@NonNull android.os.UserHandle);
10150    method public boolean isProviderEnabledForUser(@NonNull String, @NonNull android.os.UserHandle);
10151    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public boolean isProviderPackage(@NonNull String);
10152    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public boolean isProviderPackage(@Nullable String, @NonNull String, @Nullable String);
10153    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);
10154    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);
10155    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void removeProviderRequestChangedListener(@NonNull android.location.provider.ProviderRequest.ChangedListener);
10156    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);
10157    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);
10158    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);
10159    method @RequiresPermission(android.Manifest.permission.LOCATION_BYPASS) public void setAdasGnssLocationEnabled(boolean);
10160    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void setExtraLocationControllerPackage(@Nullable String);
10161    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void setExtraLocationControllerPackageEnabled(boolean);
10162    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void setLocationEnabledForUser(boolean, @NonNull android.os.UserHandle);
10163    method @Deprecated @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean setProviderEnabledForUser(@NonNull String, boolean, @NonNull android.os.UserHandle);
10164    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public boolean unregisterGnssBatchedLocationCallback(@NonNull android.location.BatchedLocationCallback);
10165    field public static final String ACTION_ADAS_GNSS_ENABLED_CHANGED = "android.location.action.ADAS_GNSS_ENABLED_CHANGED";
10166    field public static final String EXTRA_ADAS_GNSS_ENABLED = "android.location.extra.ADAS_GNSS_ENABLED";
10167    field @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public static final String GPS_HARDWARE_PROVIDER = "gps_hardware";
10168  }
10169
10170  public final class LocationRequest implements android.os.Parcelable {
10171    method @Deprecated @NonNull public static android.location.LocationRequest create();
10172    method @Deprecated @NonNull public static android.location.LocationRequest createFromDeprecatedCriteria(@NonNull android.location.Criteria, long, float, boolean);
10173    method @Deprecated @NonNull public static android.location.LocationRequest createFromDeprecatedProvider(@NonNull String, long, float, boolean);
10174    method @Deprecated public long getExpireAt();
10175    method @Deprecated public long getExpireIn();
10176    method @Deprecated public long getFastestInterval();
10177    method @Deprecated public boolean getHideFromAppOps();
10178    method @Deprecated public long getInterval();
10179    method @Deprecated public int getNumUpdates();
10180    method @Deprecated @NonNull public String getProvider();
10181    method @Deprecated public float getSmallestDisplacement();
10182    method @NonNull public android.os.WorkSource getWorkSource();
10183    method public boolean isAdasGnssBypass();
10184    method public boolean isHiddenFromAppOps();
10185    method public boolean isLocationSettingsIgnored();
10186    method public boolean isLowPower();
10187    method @Deprecated public boolean isLowPowerMode();
10188    method @Deprecated @NonNull public android.location.LocationRequest setExpireAt(long);
10189    method @Deprecated @NonNull public android.location.LocationRequest setExpireIn(long);
10190    method @Deprecated @NonNull public android.location.LocationRequest setFastestInterval(long);
10191    method @Deprecated public void setHideFromAppOps(boolean);
10192    method @Deprecated @NonNull public android.location.LocationRequest setInterval(long);
10193    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_BYPASS) public android.location.LocationRequest setLocationSettingsIgnored(boolean);
10194    method @Deprecated @NonNull public android.location.LocationRequest setLowPowerMode(boolean);
10195    method @Deprecated @NonNull public android.location.LocationRequest setNumUpdates(int);
10196    method @Deprecated @NonNull public android.location.LocationRequest setProvider(@NonNull String);
10197    method @Deprecated @NonNull public android.location.LocationRequest setQuality(int);
10198    method @Deprecated @NonNull public android.location.LocationRequest setSmallestDisplacement(float);
10199    method @Deprecated public void setWorkSource(@Nullable android.os.WorkSource);
10200    field @Deprecated public static final int ACCURACY_BLOCK = 102; // 0x66
10201    field @Deprecated public static final int ACCURACY_CITY = 104; // 0x68
10202    field @Deprecated public static final int ACCURACY_FINE = 100; // 0x64
10203    field @Deprecated public static final int POWER_HIGH = 203; // 0xcb
10204    field @Deprecated public static final int POWER_LOW = 201; // 0xc9
10205    field @Deprecated public static final int POWER_NONE = 200; // 0xc8
10206  }
10207
10208  public static final class LocationRequest.Builder {
10209    method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_BYPASS) public android.location.LocationRequest.Builder setAdasGnssBypass(boolean);
10210    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_APP_OPS_STATS) public android.location.LocationRequest.Builder setHiddenFromAppOps(boolean);
10211    method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_BYPASS) public android.location.LocationRequest.Builder setLocationSettingsIgnored(boolean);
10212    method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public android.location.LocationRequest.Builder setLowPower(boolean);
10213    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public android.location.LocationRequest.Builder setWorkSource(@Nullable android.os.WorkSource);
10214  }
10215
10216  public final class SatellitePvt implements android.os.Parcelable {
10217    method public int describeContents();
10218    method @Nullable public android.location.SatellitePvt.ClockInfo getClockInfo();
10219    method public int getEphemerisSource();
10220    method @FloatRange public double getIonoDelayMeters();
10221    method @IntRange(from=0, to=1023) public int getIssueOfDataClock();
10222    method @IntRange(from=0, to=1023) public int getIssueOfDataEphemeris();
10223    method @Nullable public android.location.SatellitePvt.PositionEcef getPositionEcef();
10224    method @IntRange(from=0) public long getTimeOfClockSeconds();
10225    method @IntRange(from=0) public long getTimeOfEphemerisSeconds();
10226    method @FloatRange public double getTropoDelayMeters();
10227    method @Nullable public android.location.SatellitePvt.VelocityEcef getVelocityEcef();
10228    method public boolean hasIono();
10229    method public boolean hasIssueOfDataClock();
10230    method public boolean hasIssueOfDataEphemeris();
10231    method public boolean hasPositionVelocityClockInfo();
10232    method public boolean hasTimeOfClockSeconds();
10233    method public boolean hasTimeOfEphemerisSeconds();
10234    method public boolean hasTropo();
10235    method public void writeToParcel(@NonNull android.os.Parcel, int);
10236    field @NonNull public static final android.os.Parcelable.Creator<android.location.SatellitePvt> CREATOR;
10237    field public static final int EPHEMERIS_SOURCE_DEMODULATED = 0; // 0x0
10238    field public static final int EPHEMERIS_SOURCE_OTHER = 3; // 0x3
10239    field public static final int EPHEMERIS_SOURCE_SERVER_LONG_TERM = 2; // 0x2
10240    field public static final int EPHEMERIS_SOURCE_SERVER_NORMAL = 1; // 0x1
10241  }
10242
10243  public static final class SatellitePvt.Builder {
10244    ctor public SatellitePvt.Builder();
10245    method @NonNull public android.location.SatellitePvt build();
10246    method @NonNull public android.location.SatellitePvt.Builder setClockInfo(@NonNull android.location.SatellitePvt.ClockInfo);
10247    method @NonNull public android.location.SatellitePvt.Builder setEphemerisSource(int);
10248    method @NonNull public android.location.SatellitePvt.Builder setIonoDelayMeters(@FloatRange(from=0.0f, to=100.0f) double);
10249    method @NonNull public android.location.SatellitePvt.Builder setIssueOfDataClock(@IntRange(from=0, to=1023) int);
10250    method @NonNull public android.location.SatellitePvt.Builder setIssueOfDataEphemeris(@IntRange(from=0, to=1023) int);
10251    method @NonNull public android.location.SatellitePvt.Builder setPositionEcef(@NonNull android.location.SatellitePvt.PositionEcef);
10252    method @NonNull public android.location.SatellitePvt.Builder setTimeOfClockSeconds(@IntRange(from=0) long);
10253    method @NonNull public android.location.SatellitePvt.Builder setTimeOfEphemerisSeconds(@IntRange(from=0) long);
10254    method @NonNull public android.location.SatellitePvt.Builder setTropoDelayMeters(@FloatRange(from=0.0f, to=100.0f) double);
10255    method @NonNull public android.location.SatellitePvt.Builder setVelocityEcef(@NonNull android.location.SatellitePvt.VelocityEcef);
10256  }
10257
10258  public static final class SatellitePvt.ClockInfo implements android.os.Parcelable {
10259    ctor public SatellitePvt.ClockInfo(double, double, double);
10260    method public int describeContents();
10261    method @FloatRange public double getClockDriftMetersPerSecond();
10262    method @FloatRange public double getHardwareCodeBiasMeters();
10263    method @FloatRange public double getTimeCorrectionMeters();
10264    method public void writeToParcel(@NonNull android.os.Parcel, int);
10265    field @NonNull public static final android.os.Parcelable.Creator<android.location.SatellitePvt.ClockInfo> CREATOR;
10266  }
10267
10268  public static final class SatellitePvt.PositionEcef implements android.os.Parcelable {
10269    ctor public SatellitePvt.PositionEcef(double, double, double, double);
10270    method public int describeContents();
10271    method @FloatRange(from=0.0f, fromInclusive=false) public double getUreMeters();
10272    method @FloatRange public double getXMeters();
10273    method @FloatRange public double getYMeters();
10274    method @FloatRange public double getZMeters();
10275    method public void writeToParcel(@NonNull android.os.Parcel, int);
10276    field @NonNull public static final android.os.Parcelable.Creator<android.location.SatellitePvt.PositionEcef> CREATOR;
10277  }
10278
10279  public static final class SatellitePvt.VelocityEcef implements android.os.Parcelable {
10280    ctor public SatellitePvt.VelocityEcef(double, double, double, double);
10281    method public int describeContents();
10282    method @FloatRange(from=0.0f, fromInclusive=false) public double getUreRateMetersPerSecond();
10283    method @FloatRange public double getXMetersPerSecond();
10284    method @FloatRange public double getYMetersPerSecond();
10285    method @FloatRange public double getZMetersPerSecond();
10286    method public void writeToParcel(@NonNull android.os.Parcel, int);
10287    field @NonNull public static final android.os.Parcelable.Creator<android.location.SatellitePvt.VelocityEcef> CREATOR;
10288  }
10289
10290}
10291
10292package android.location.provider {
10293
10294  public final class ForwardGeocodeRequest implements android.os.Parcelable {
10295    method public int describeContents();
10296    method @Nullable public String getCallingAttributionTag();
10297    method @NonNull public String getCallingPackage();
10298    method public int getCallingUid();
10299    method @NonNull public java.util.Locale getLocale();
10300    method @NonNull public String getLocationName();
10301    method @FloatRange(from=-90.0, to=90.0) public double getLowerLeftLatitude();
10302    method @FloatRange(from=-180.0, to=180.0) public double getLowerLeftLongitude();
10303    method @IntRange(from=1) public int getMaxResults();
10304    method @FloatRange(from=-90.0, to=90.0) public double getUpperRightLatitude();
10305    method @FloatRange(from=-180.0, to=180.0) public double getUpperRightLongitude();
10306    method public void writeToParcel(@NonNull android.os.Parcel, int);
10307    field @NonNull public static final android.os.Parcelable.Creator<android.location.provider.ForwardGeocodeRequest> CREATOR;
10308  }
10309
10310  public static final class ForwardGeocodeRequest.Builder {
10311    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);
10312    method @NonNull public android.location.provider.ForwardGeocodeRequest build();
10313    method @NonNull public android.location.provider.ForwardGeocodeRequest.Builder setCallingAttributionTag(@NonNull String);
10314  }
10315
10316  public abstract class GeocodeProviderBase {
10317    ctor public GeocodeProviderBase(@NonNull android.content.Context, @NonNull String);
10318    method @NonNull public final android.os.IBinder getBinder();
10319    method public abstract void onForwardGeocode(@NonNull android.location.provider.ForwardGeocodeRequest, @NonNull android.os.OutcomeReceiver<java.util.List<android.location.Address>,java.lang.Throwable>);
10320    method public abstract void onReverseGeocode(@NonNull android.location.provider.ReverseGeocodeRequest, @NonNull android.os.OutcomeReceiver<java.util.List<android.location.Address>,java.lang.Throwable>);
10321    field public static final String ACTION_GEOCODE_PROVIDER = "com.android.location.service.GeocodeProvider";
10322  }
10323
10324  public abstract class LocationProviderBase {
10325    ctor public LocationProviderBase(@NonNull android.content.Context, @NonNull String, @NonNull android.location.provider.ProviderProperties);
10326    method @Nullable public final android.os.IBinder getBinder();
10327    method @NonNull public android.location.provider.ProviderProperties getProperties();
10328    method public boolean isAllowed();
10329    method public abstract void onFlush(@NonNull android.location.provider.LocationProviderBase.OnFlushCompleteCallback);
10330    method public abstract void onSendExtraCommand(@NonNull String, @Nullable android.os.Bundle);
10331    method public abstract void onSetRequest(@NonNull android.location.provider.ProviderRequest);
10332    method public void reportLocation(@NonNull android.location.Location);
10333    method public void reportLocations(@NonNull java.util.List<android.location.Location>);
10334    method public void setAllowed(boolean);
10335    method public void setProperties(@NonNull android.location.provider.ProviderProperties);
10336    field public static final String ACTION_FUSED_PROVIDER = "com.android.location.service.FusedLocationProvider";
10337    field public static final String ACTION_GNSS_PROVIDER = "android.location.provider.action.GNSS_PROVIDER";
10338    field public static final String ACTION_NETWORK_PROVIDER = "com.android.location.service.v3.NetworkLocationProvider";
10339  }
10340
10341  public static interface LocationProviderBase.OnFlushCompleteCallback {
10342    method public void onFlushComplete();
10343  }
10344
10345  public abstract class PopulationDensityProviderBase {
10346    ctor public PopulationDensityProviderBase(@NonNull android.content.Context, @NonNull String);
10347    method @Nullable public final android.os.IBinder getBinder();
10348    method public abstract void onGetCoarsenedS2Cells(double, double, @IntRange(from=0) int, @NonNull android.os.OutcomeReceiver<long[],java.lang.Throwable>);
10349    method public abstract void onGetDefaultCoarseningLevel(@NonNull android.os.OutcomeReceiver<java.lang.Integer,java.lang.Throwable>);
10350    field public static final String ACTION_POPULATION_DENSITY_PROVIDER = "com.android.location.service.PopulationDensityProvider";
10351  }
10352
10353  public final class ProviderRequest implements android.os.Parcelable {
10354    method public int describeContents();
10355    method @IntRange(from=0) public long getIntervalMillis();
10356    method @IntRange(from=0) public long getMaxUpdateDelayMillis();
10357    method public int getQuality();
10358    method @NonNull public android.os.WorkSource getWorkSource();
10359    method public boolean isActive();
10360    method public boolean isLocationSettingsIgnored();
10361    method public boolean isLowPower();
10362    method public void writeToParcel(@NonNull android.os.Parcel, int);
10363    field @NonNull public static final android.os.Parcelable.Creator<android.location.provider.ProviderRequest> CREATOR;
10364    field @NonNull public static final android.location.provider.ProviderRequest EMPTY_REQUEST;
10365    field public static final long INTERVAL_DISABLED = 9223372036854775807L; // 0x7fffffffffffffffL
10366  }
10367
10368  public static final class ProviderRequest.Builder {
10369    ctor public ProviderRequest.Builder();
10370    method @NonNull public android.location.provider.ProviderRequest build();
10371    method @NonNull public android.location.provider.ProviderRequest.Builder setIntervalMillis(@IntRange(from=0) long);
10372    method @NonNull public android.location.provider.ProviderRequest.Builder setLocationSettingsIgnored(boolean);
10373    method @NonNull public android.location.provider.ProviderRequest.Builder setLowPower(boolean);
10374    method @NonNull public android.location.provider.ProviderRequest.Builder setMaxUpdateDelayMillis(@IntRange(from=0) long);
10375    method @NonNull public android.location.provider.ProviderRequest.Builder setQuality(int);
10376    method @NonNull public android.location.provider.ProviderRequest.Builder setWorkSource(@NonNull android.os.WorkSource);
10377  }
10378
10379  public static interface ProviderRequest.ChangedListener {
10380    method public void onProviderRequestChanged(@NonNull String, @NonNull android.location.provider.ProviderRequest);
10381  }
10382
10383  public final class ReverseGeocodeRequest implements android.os.Parcelable {
10384    method public int describeContents();
10385    method @Nullable public String getCallingAttributionTag();
10386    method @NonNull public String getCallingPackage();
10387    method public int getCallingUid();
10388    method @FloatRange(from=-90.0, to=90.0) public double getLatitude();
10389    method @NonNull public java.util.Locale getLocale();
10390    method @FloatRange(from=-180.0, to=180.0) public double getLongitude();
10391    method @IntRange(from=1) public int getMaxResults();
10392    method public void writeToParcel(@NonNull android.os.Parcel, int);
10393    field @NonNull public static final android.os.Parcelable.Creator<android.location.provider.ReverseGeocodeRequest> CREATOR;
10394  }
10395
10396  public static final class ReverseGeocodeRequest.Builder {
10397    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);
10398    method @NonNull public android.location.provider.ReverseGeocodeRequest build();
10399    method @NonNull public android.location.provider.ReverseGeocodeRequest.Builder setCallingAttributionTag(@NonNull String);
10400  }
10401
10402}
10403
10404package android.media {
10405
10406  public final class AudioAttributes implements android.os.Parcelable {
10407    method public int getAllFlags();
10408    method public android.os.Bundle getBundle();
10409    method public int getCapturePreset();
10410    method public int getSystemUsage();
10411    method public static boolean isSystemUsage(int);
10412    field @RequiresPermission(android.Manifest.permission.ACCESS_ULTRASOUND) public static final int CONTENT_TYPE_ULTRASOUND = 1997; // 0x7cd
10413    field public static final int FLAG_BEACON = 8; // 0x8
10414    field public static final int FLAG_BYPASS_INTERRUPTION_POLICY = 64; // 0x40
10415    field public static final int FLAG_BYPASS_MUTE = 128; // 0x80
10416    field public static final int FLAG_HW_HOTWORD = 32; // 0x20
10417    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int USAGE_ANNOUNCEMENT = 1003; // 0x3eb
10418    field @RequiresPermission(allOf={android.Manifest.permission.MODIFY_PHONE_STATE, android.Manifest.permission.MODIFY_AUDIO_ROUTING}) public static final int USAGE_CALL_ASSISTANT = 17; // 0x11
10419    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int USAGE_EMERGENCY = 1000; // 0x3e8
10420    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int USAGE_SAFETY = 1001; // 0x3e9
10421    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int USAGE_SPEAKER_CLEANUP = 1004; // 0x3ec
10422    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int USAGE_VEHICLE_STATUS = 1002; // 0x3ea
10423  }
10424
10425  public static class AudioAttributes.Builder {
10426    method public android.media.AudioAttributes.Builder addBundle(@NonNull android.os.Bundle);
10427    method public android.media.AudioAttributes.Builder setCapturePreset(int);
10428    method @NonNull @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_HOTWORD) public android.media.AudioAttributes.Builder setHotwordModeEnabled(boolean);
10429    method public android.media.AudioAttributes.Builder setInternalCapturePreset(int);
10430    method @NonNull public android.media.AudioAttributes.Builder setInternalContentType(int);
10431    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public android.media.AudioAttributes.Builder setSystemUsage(int);
10432  }
10433
10434  public class AudioDescriptor implements android.os.Parcelable {
10435    ctor public AudioDescriptor(int, int, @NonNull byte[]);
10436  }
10437
10438  public final class AudioDeviceAttributes implements android.os.Parcelable {
10439    ctor public AudioDeviceAttributes(@NonNull android.media.AudioDeviceInfo);
10440    ctor public AudioDeviceAttributes(int, int, @NonNull String);
10441    ctor public AudioDeviceAttributes(int, int, @NonNull String, @NonNull String, @NonNull java.util.List<android.media.AudioProfile>, @NonNull java.util.List<android.media.AudioDescriptor>);
10442    method public int describeContents();
10443    method public boolean equalTypeAddress(@Nullable Object);
10444    method @NonNull public String getAddress();
10445    method @NonNull public java.util.List<android.media.AudioDescriptor> getAudioDescriptors();
10446    method @NonNull public java.util.List<android.media.AudioProfile> getAudioProfiles();
10447    method @NonNull public String getName();
10448    method public int getRole();
10449    method public int getType();
10450    method public void writeToParcel(@NonNull android.os.Parcel, int);
10451    field @NonNull public static final android.os.Parcelable.Creator<android.media.AudioDeviceAttributes> CREATOR;
10452    field public static final int ROLE_INPUT = 1; // 0x1
10453    field public static final int ROLE_OUTPUT = 2; // 0x2
10454  }
10455
10456  public class AudioDeviceVolumeManager {
10457    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);
10458    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);
10459  }
10460
10461  public final class AudioFocusInfo implements android.os.Parcelable {
10462    method public int describeContents();
10463    method @NonNull public android.media.AudioAttributes getAttributes();
10464    method @NonNull public String getClientId();
10465    method public int getClientUid();
10466    method public int getFlags();
10467    method public int getGainRequest();
10468    method public int getLossReceived();
10469    method @NonNull public String getPackageName();
10470    method public void writeToParcel(android.os.Parcel, int);
10471    field @NonNull public static final android.os.Parcelable.Creator<android.media.AudioFocusInfo> CREATOR;
10472  }
10473
10474  public final class AudioFocusRequest {
10475    method public boolean locksFocus();
10476  }
10477
10478  public static final class AudioFocusRequest.Builder {
10479    method @NonNull public android.media.AudioFocusRequest.Builder setLocksFocus(boolean);
10480  }
10481
10482  public class AudioManager {
10483    method @Deprecated public int abandonAudioFocus(android.media.AudioManager.OnAudioFocusChangeListener, android.media.AudioAttributes);
10484    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void addAssistantServicesUids(@NonNull int[]);
10485    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);
10486    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;
10487    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;
10488    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;
10489    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;
10490    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public void addOnStreamAliasingChangedListener(@NonNull java.util.concurrent.Executor, @NonNull Runnable);
10491    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void cancelMuteAwaitConnection(@NonNull android.media.AudioDeviceAttributes) throws java.lang.IllegalStateException;
10492    method public void clearAudioServerStateCallback();
10493    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean clearPreferredDevicesForCapturePreset(int);
10494    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int dispatchAudioFocusChange(@NonNull android.media.AudioFocusInfo, int, @NonNull android.media.audiopolicy.AudioPolicy);
10495    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public int dispatchAudioFocusChangeWithFade(@NonNull android.media.AudioFocusInfo, int, @NonNull android.media.audiopolicy.AudioPolicy, @NonNull java.util.List<android.media.AudioFocusInfo>, @Nullable android.media.FadeManagerConfiguration);
10496    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int[] getActiveAssistantServicesUids();
10497    method @IntRange(from=0) public long getAdditionalOutputDeviceDelay(@NonNull android.media.AudioDeviceInfo);
10498    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int[] getAssistantServicesUids();
10499    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static java.util.List<android.media.audiopolicy.AudioProductStrategy> getAudioProductStrategies();
10500    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static java.util.List<android.media.audiopolicy.AudioVolumeGroup> getAudioVolumeGroups();
10501    method @NonNull @RequiresPermission(android.Manifest.permission.CALL_AUDIO_INTERCEPTION) public android.media.AudioRecord getCallDownlinkExtractionAudioRecord(@NonNull android.media.AudioFormat);
10502    method @NonNull @RequiresPermission(android.Manifest.permission.CALL_AUDIO_INTERCEPTION) public android.media.AudioTrack getCallUplinkInjectionAudioTrack(@NonNull android.media.AudioFormat);
10503    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);
10504    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);
10505    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public java.util.List<java.lang.Integer> getIndependentStreamTypes();
10506    method @RequiresPermission("android.permission.QUERY_AUDIO_STATE") public int getLastAudibleStreamVolume(int);
10507    method @IntRange(from=0) @RequiresPermission("android.permission.QUERY_AUDIO_STATE") public int getLastAudibleVolumeForVolumeGroup(int);
10508    method @IntRange(from=0) public long getMaxAdditionalOutputDeviceDelay(@NonNull android.media.AudioDeviceInfo);
10509    method @IntRange(from=0) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getMaxVolumeIndexForAttributes(@NonNull android.media.AudioAttributes);
10510    method @IntRange(from=0) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getMinVolumeIndexForAttributes(@NonNull android.media.AudioAttributes);
10511    method @Nullable @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public android.media.AudioDeviceAttributes getMutingExpectedDevice();
10512    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public java.util.List<android.media.AudioDeviceAttributes> getNonDefaultDevicesForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy);
10513    method @Nullable @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public android.media.AudioDeviceAttributes getPreferredDeviceForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy);
10514    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public java.util.List<android.media.AudioDeviceAttributes> getPreferredDevicesForCapturePreset(int);
10515    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public java.util.List<android.media.AudioDeviceAttributes> getPreferredDevicesForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy);
10516    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public int getStreamTypeAlias(int);
10517    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int[] getSupportedSystemUsages();
10518    method @IntRange(from=0) @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED, android.Manifest.permission.MODIFY_AUDIO_ROUTING}) public int getVolumeGroupMaxVolumeIndex(int);
10519    method @IntRange(from=0) @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED, android.Manifest.permission.MODIFY_AUDIO_ROUTING}) public int getVolumeGroupMinVolumeIndex(int);
10520    method @IntRange(from=0) @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED, android.Manifest.permission.MODIFY_AUDIO_ROUTING}) public int getVolumeGroupVolumeIndex(int);
10521    method @IntRange(from=0) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getVolumeIndexForAttributes(@NonNull android.media.AudioAttributes);
10522    method public boolean isAudioServerRunning();
10523    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean isBluetoothVariableLatencyEnabled();
10524    method public boolean isHdmiSystemAudioSupported();
10525    method @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_HOTWORD) public boolean isHotwordStreamSupported(boolean);
10526    method @RequiresPermission(android.Manifest.permission.CALL_AUDIO_INTERCEPTION) public boolean isPstnCallAudioInterceptable();
10527    method @RequiresPermission(android.Manifest.permission.ACCESS_ULTRASOUND) public boolean isUltrasoundSupported();
10528    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;
10529    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int registerAudioPolicy(@NonNull android.media.audiopolicy.AudioPolicy);
10530    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void registerMuteAwaitConnectionCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.MuteAwaitConnectionCallback);
10531    method public void registerVolumeGroupCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.VolumeGroupCallback);
10532    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void removeAssistantServicesUids(@NonNull int[]);
10533    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean removeDeviceAsNonDefaultForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy, @NonNull android.media.AudioDeviceAttributes);
10534    method @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_ROUTING, "android.permission.QUERY_AUDIO_STATE"}) public void removeOnDevicesForAttributesChangedListener(@NonNull android.media.AudioManager.OnDevicesForAttributesChangedListener);
10535    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void removeOnNonDefaultDevicesForStrategyChangedListener(@NonNull android.media.AudioManager.OnNonDefaultDevicesForStrategyChangedListener);
10536    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void removeOnPreferredDeviceForStrategyChangedListener(@NonNull android.media.AudioManager.OnPreferredDeviceForStrategyChangedListener);
10537    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void removeOnPreferredDevicesForCapturePresetChangedListener(@NonNull android.media.AudioManager.OnPreferredDevicesForCapturePresetChangedListener);
10538    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void removeOnPreferredDevicesForStrategyChangedListener(@NonNull android.media.AudioManager.OnPreferredDevicesForStrategyChangedListener);
10539    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public void removeOnStreamAliasingChangedListener(@NonNull Runnable);
10540    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean removePreferredDeviceForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy);
10541    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int requestAudioFocus(@NonNull android.media.AudioFocusRequest, @Nullable android.media.audiopolicy.AudioPolicy);
10542    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;
10543    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;
10544    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setActiveAssistantServiceUids(@NonNull int[]);
10545    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean setAdditionalOutputDeviceDelay(@NonNull android.media.AudioDeviceInfo, @IntRange(from=0) long);
10546    method public void setAudioServerStateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.AudioServerStateCallback);
10547    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setBluetoothVariableLatencyEnabled(boolean);
10548    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean setDeviceAsNonDefaultForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy, @NonNull android.media.AudioDeviceAttributes);
10549    method @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_ROUTING, android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED}) public void setDeviceVolumeBehavior(@NonNull android.media.AudioDeviceAttributes, int);
10550    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setFocusRequestResult(@NonNull android.media.AudioFocusInfo, int, @NonNull android.media.audiopolicy.AudioPolicy);
10551    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean setPreferredDeviceForCapturePreset(int, @NonNull android.media.AudioDeviceAttributes);
10552    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean setPreferredDeviceForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy, @NonNull android.media.AudioDeviceAttributes);
10553    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean setPreferredDevicesForStrategy(@NonNull android.media.audiopolicy.AudioProductStrategy, @NonNull java.util.List<android.media.AudioDeviceAttributes>);
10554    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setSupportedSystemUsages(@NonNull int[]);
10555    method @RequiresPermission(anyOf={android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED, android.Manifest.permission.MODIFY_AUDIO_ROUTING}) public void setVolumeGroupVolumeIndex(int, int, int);
10556    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setVolumeIndexForAttributes(@NonNull android.media.AudioAttributes, int, int);
10557    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setWiredDeviceConnectionState(@NonNull android.media.AudioDeviceAttributes, int);
10558    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean supportsBluetoothVariableLatency();
10559    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void unregisterAudioPolicy(@NonNull android.media.audiopolicy.AudioPolicy);
10560    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void unregisterAudioPolicyAsync(@NonNull android.media.audiopolicy.AudioPolicy);
10561    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void unregisterMuteAwaitConnectionCallback(@NonNull android.media.AudioManager.MuteAwaitConnectionCallback);
10562    method public void unregisterVolumeGroupCallback(@NonNull android.media.AudioManager.VolumeGroupCallback);
10563    field public static final String ACTION_VOLUME_CHANGED = "android.media.VOLUME_CHANGED_ACTION";
10564    field public static final int AUDIOFOCUS_FLAG_DELAY_OK = 1; // 0x1
10565    field public static final int AUDIOFOCUS_FLAG_LOCK = 4; // 0x4
10566    field public static final int AUDIOFOCUS_FLAG_PAUSES_ON_DUCKABLE_LOSS = 2; // 0x2
10567    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int DEVICE_CONNECTION_STATE_CONNECTED = 1; // 0x1
10568    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int DEVICE_CONNECTION_STATE_DISCONNECTED = 0; // 0x0
10569    field public static final int DEVICE_VOLUME_BEHAVIOR_ABSOLUTE = 3; // 0x3
10570    field public static final int DEVICE_VOLUME_BEHAVIOR_ABSOLUTE_ADJUST_ONLY = 5; // 0x5
10571    field public static final int DEVICE_VOLUME_BEHAVIOR_ABSOLUTE_MULTI_MODE = 4; // 0x4
10572    field public static final int DEVICE_VOLUME_BEHAVIOR_FIXED = 2; // 0x2
10573    field public static final int DEVICE_VOLUME_BEHAVIOR_FULL = 1; // 0x1
10574    field public static final int DEVICE_VOLUME_BEHAVIOR_VARIABLE = 0; // 0x0
10575    field public static final String EXTRA_VOLUME_STREAM_TYPE = "android.media.EXTRA_VOLUME_STREAM_TYPE";
10576    field public static final String EXTRA_VOLUME_STREAM_VALUE = "android.media.EXTRA_VOLUME_STREAM_VALUE";
10577    field public static final int FLAG_BLUETOOTH_ABS_VOLUME = 64; // 0x40
10578    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int STREAM_ASSISTANT = 11; // 0xb
10579    field @Deprecated public static final int STREAM_BLUETOOTH_SCO = 6; // 0x6
10580    field public static final int SUCCESS = 0; // 0x0
10581  }
10582
10583  public abstract static class AudioManager.AudioServerStateCallback {
10584    ctor public AudioManager.AudioServerStateCallback();
10585    method public void onAudioServerDown();
10586    method public void onAudioServerUp();
10587  }
10588
10589  public abstract static class AudioManager.MuteAwaitConnectionCallback {
10590    ctor public AudioManager.MuteAwaitConnectionCallback();
10591    method public void onMutedUntilConnection(@NonNull android.media.AudioDeviceAttributes, @NonNull int[]);
10592    method public void onUnmutedEvent(int, @NonNull android.media.AudioDeviceAttributes, @NonNull int[]);
10593    field public static final int EVENT_CANCEL = 3; // 0x3
10594    field public static final int EVENT_CONNECTION = 1; // 0x1
10595    field public static final int EVENT_TIMEOUT = 2; // 0x2
10596  }
10597
10598  public static interface AudioManager.OnDevicesForAttributesChangedListener {
10599    method public void onDevicesForAttributesChanged(@NonNull android.media.AudioAttributes, @NonNull java.util.List<android.media.AudioDeviceAttributes>);
10600  }
10601
10602  public static interface AudioManager.OnNonDefaultDevicesForStrategyChangedListener {
10603    method public void onNonDefaultDevicesForStrategyChanged(@NonNull android.media.audiopolicy.AudioProductStrategy, @NonNull java.util.List<android.media.AudioDeviceAttributes>);
10604  }
10605
10606  @Deprecated public static interface AudioManager.OnPreferredDeviceForStrategyChangedListener {
10607    method @Deprecated public void onPreferredDeviceForStrategyChanged(@NonNull android.media.audiopolicy.AudioProductStrategy, @Nullable android.media.AudioDeviceAttributes);
10608  }
10609
10610  public static interface AudioManager.OnPreferredDevicesForCapturePresetChangedListener {
10611    method public void onPreferredDevicesForCapturePresetChanged(int, @NonNull java.util.List<android.media.AudioDeviceAttributes>);
10612  }
10613
10614  public static interface AudioManager.OnPreferredDevicesForStrategyChangedListener {
10615    method public void onPreferredDevicesForStrategyChanged(@NonNull android.media.audiopolicy.AudioProductStrategy, @NonNull java.util.List<android.media.AudioDeviceAttributes>);
10616  }
10617
10618  public abstract static class AudioManager.VolumeGroupCallback {
10619    ctor public AudioManager.VolumeGroupCallback();
10620    method public void onAudioVolumeGroupChanged(int, int);
10621  }
10622
10623  public final class AudioPlaybackConfiguration implements android.os.Parcelable {
10624    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public java.util.List<android.media.AudioDeviceInfo> getAudioDeviceInfos();
10625    method public int getChannelMask();
10626    method public int getClientPid();
10627    method public int getClientUid();
10628    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getMutedBy();
10629    method public int getPlayerInterfaceId();
10630    method public android.media.PlayerProxy getPlayerProxy();
10631    method public int getPlayerState();
10632    method public int getPlayerType();
10633    method @IntRange(from=0) public int getSampleRate();
10634    method @IntRange(from=0) public int getSessionId();
10635    method public boolean isActive();
10636    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean isMuted();
10637    method public boolean isSpatialized();
10638    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int MUTED_BY_APP_OPS = 8; // 0x8
10639    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int MUTED_BY_CLIENT_VOLUME = 16; // 0x10
10640    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int MUTED_BY_MASTER = 1; // 0x1
10641    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int MUTED_BY_STREAM_MUTED = 4; // 0x4
10642    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int MUTED_BY_STREAM_VOLUME = 2; // 0x2
10643    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int MUTED_BY_VOLUME_SHAPER = 32; // 0x20
10644    field public static final int PLAYER_STATE_IDLE = 1; // 0x1
10645    field public static final int PLAYER_STATE_PAUSED = 3; // 0x3
10646    field public static final int PLAYER_STATE_RELEASED = 0; // 0x0
10647    field public static final int PLAYER_STATE_STARTED = 2; // 0x2
10648    field public static final int PLAYER_STATE_STOPPED = 4; // 0x4
10649    field public static final int PLAYER_STATE_UNKNOWN = -1; // 0xffffffff
10650    field public static final int PLAYER_TYPE_AAUDIO = 13; // 0xd
10651    field public static final int PLAYER_TYPE_JAM_AUDIOTRACK = 1; // 0x1
10652    field public static final int PLAYER_TYPE_JAM_MEDIAPLAYER = 2; // 0x2
10653    field public static final int PLAYER_TYPE_JAM_SOUNDPOOL = 3; // 0x3
10654    field public static final int PLAYER_TYPE_SLES_AUDIOPLAYER_BUFFERQUEUE = 11; // 0xb
10655    field public static final int PLAYER_TYPE_SLES_AUDIOPLAYER_URI_FD = 12; // 0xc
10656    field public static final int PLAYER_TYPE_UNKNOWN = -1; // 0xffffffff
10657  }
10658
10659  public class AudioProfile implements android.os.Parcelable {
10660    ctor public AudioProfile(int, @NonNull int[], @NonNull int[], @NonNull int[], int);
10661  }
10662
10663  public class AudioRecord implements android.media.AudioRecordingMonitor android.media.AudioRouting android.media.MicrophoneDirection {
10664    ctor @RequiresPermission(android.Manifest.permission.RECORD_AUDIO) public AudioRecord(android.media.AudioAttributes, android.media.AudioFormat, int, int) throws java.lang.IllegalArgumentException;
10665    method public static long getMaxSharedAudioHistoryMillis();
10666    method public boolean isHotwordLookbackStream();
10667    method public boolean isHotwordStream();
10668    method @NonNull @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_HOTWORD) public android.media.MediaSyncEvent shareAudioHistory(@NonNull String, @IntRange(from=0) long);
10669  }
10670
10671  public static class AudioRecord.Builder {
10672    method public android.media.AudioRecord.Builder setAudioAttributes(@NonNull android.media.AudioAttributes) throws java.lang.IllegalArgumentException;
10673    method @NonNull @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_HOTWORD) public android.media.AudioRecord.Builder setMaxSharedAudioHistoryMillis(long) throws java.lang.IllegalArgumentException;
10674    method @NonNull @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_HOTWORD) public android.media.AudioRecord.Builder setRequestHotwordLookbackStream(boolean);
10675    method @NonNull @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_HOTWORD) public android.media.AudioRecord.Builder setRequestHotwordStream(boolean);
10676    method public android.media.AudioRecord.Builder setSessionId(int) throws java.lang.IllegalArgumentException;
10677    method @NonNull public android.media.AudioRecord.Builder setSharedAudioEvent(@NonNull android.media.MediaSyncEvent) throws java.lang.IllegalArgumentException;
10678  }
10679
10680  public final class AudioRecordingConfiguration implements android.os.Parcelable {
10681    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getClientUid();
10682  }
10683
10684  public class AudioTrack implements android.media.AudioRouting android.media.VolumeAutomation {
10685    field @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public static final int ENCAPSULATION_MODE_HANDLE = 2; // 0x2
10686  }
10687
10688  public static class AudioTrack.Builder {
10689    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public android.media.AudioTrack.Builder setTunerConfiguration(@NonNull android.media.AudioTrack.TunerConfiguration);
10690  }
10691
10692  public static class AudioTrack.TunerConfiguration {
10693    ctor @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public AudioTrack.TunerConfiguration(@IntRange(from=0) int, @IntRange(from=1) int);
10694    method @IntRange(from=1) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getContentId();
10695    method @IntRange(from=1) @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int getSyncId();
10696    field public static final int CONTENT_ID_NONE = 0; // 0x0
10697  }
10698
10699  public final class FadeManagerConfiguration implements android.os.Parcelable {
10700    method public int describeContents();
10701    method @NonNull public java.util.List<android.media.AudioAttributes> getAudioAttributesWithVolumeShaperConfigs();
10702    method @IntRange(from=1) public static long getDefaultFadeInDurationMillis();
10703    method @IntRange(from=1) public static long getDefaultFadeOutDurationMillis();
10704    method @IntRange(from=0) public long getFadeInDelayForOffenders();
10705    method @IntRange(from=0) public long getFadeInDurationForAudioAttributes(@NonNull android.media.AudioAttributes);
10706    method @IntRange(from=0) public long getFadeInDurationForUsage(int);
10707    method @Nullable public android.media.VolumeShaper.Configuration getFadeInVolumeShaperConfigForAudioAttributes(@NonNull android.media.AudioAttributes);
10708    method @Nullable public android.media.VolumeShaper.Configuration getFadeInVolumeShaperConfigForUsage(int);
10709    method @IntRange(from=0) public long getFadeOutDurationForAudioAttributes(@NonNull android.media.AudioAttributes);
10710    method @IntRange(from=0) public long getFadeOutDurationForUsage(int);
10711    method @Nullable public android.media.VolumeShaper.Configuration getFadeOutVolumeShaperConfigForAudioAttributes(@NonNull android.media.AudioAttributes);
10712    method @Nullable public android.media.VolumeShaper.Configuration getFadeOutVolumeShaperConfigForUsage(int);
10713    method public int getFadeState();
10714    method @NonNull public java.util.List<java.lang.Integer> getFadeableUsages();
10715    method @NonNull public java.util.List<android.media.AudioAttributes> getUnfadeableAudioAttributes();
10716    method @NonNull public java.util.List<java.lang.Integer> getUnfadeableContentTypes();
10717    method @NonNull public java.util.List<java.lang.Integer> getUnfadeablePlayerTypes();
10718    method @NonNull public java.util.List<java.lang.Integer> getUnfadeableUids();
10719    method public boolean isAudioAttributesUnfadeable(@NonNull android.media.AudioAttributes);
10720    method public boolean isContentTypeUnfadeable(int);
10721    method public boolean isFadeEnabled();
10722    method public boolean isPlayerTypeUnfadeable(int);
10723    method public boolean isUidUnfadeable(int);
10724    method public boolean isUsageFadeable(int);
10725    method public void writeToParcel(@NonNull android.os.Parcel, int);
10726    field @NonNull public static final android.os.Parcelable.Creator<android.media.FadeManagerConfiguration> CREATOR;
10727    field public static final long DURATION_NOT_SET = 0L; // 0x0L
10728    field public static final int FADE_STATE_DISABLED = 0; // 0x0
10729    field public static final int FADE_STATE_ENABLED_DEFAULT = 1; // 0x1
10730    field public static final String TAG = "FadeManagerConfiguration";
10731    field public static final int VOLUME_SHAPER_SYSTEM_FADE_ID = 2; // 0x2
10732  }
10733
10734  public static final class FadeManagerConfiguration.Builder {
10735    ctor public FadeManagerConfiguration.Builder();
10736    ctor public FadeManagerConfiguration.Builder(@NonNull android.media.FadeManagerConfiguration);
10737    ctor public FadeManagerConfiguration.Builder(@IntRange(from=1) long, @IntRange(from=1) long);
10738    method @NonNull public android.media.FadeManagerConfiguration.Builder addFadeableUsage(int);
10739    method @NonNull public android.media.FadeManagerConfiguration.Builder addUnfadeableAudioAttributes(@NonNull android.media.AudioAttributes);
10740    method @NonNull public android.media.FadeManagerConfiguration.Builder addUnfadeableContentType(int);
10741    method @NonNull public android.media.FadeManagerConfiguration.Builder addUnfadeableUid(int);
10742    method @NonNull public android.media.FadeManagerConfiguration build();
10743    method @NonNull public android.media.FadeManagerConfiguration.Builder clearFadeableUsages();
10744    method @NonNull public android.media.FadeManagerConfiguration.Builder clearUnfadeableAudioAttributes();
10745    method @NonNull public android.media.FadeManagerConfiguration.Builder clearUnfadeableContentTypes();
10746    method @NonNull public android.media.FadeManagerConfiguration.Builder clearUnfadeableUids();
10747    method @NonNull public android.media.FadeManagerConfiguration.Builder setFadeInDelayForOffenders(@IntRange(from=0) long);
10748    method @NonNull public android.media.FadeManagerConfiguration.Builder setFadeInDurationForAudioAttributes(@NonNull android.media.AudioAttributes, @IntRange(from=0) long);
10749    method @NonNull public android.media.FadeManagerConfiguration.Builder setFadeInDurationForUsage(int, @IntRange(from=0) long);
10750    method @NonNull public android.media.FadeManagerConfiguration.Builder setFadeInVolumeShaperConfigForAudioAttributes(@NonNull android.media.AudioAttributes, @Nullable android.media.VolumeShaper.Configuration);
10751    method @NonNull public android.media.FadeManagerConfiguration.Builder setFadeInVolumeShaperConfigForUsage(int, @Nullable android.media.VolumeShaper.Configuration);
10752    method @NonNull public android.media.FadeManagerConfiguration.Builder setFadeOutDurationForAudioAttributes(@NonNull android.media.AudioAttributes, @IntRange(from=0) long);
10753    method @NonNull public android.media.FadeManagerConfiguration.Builder setFadeOutDurationForUsage(int, @IntRange(from=0) long);
10754    method @NonNull public android.media.FadeManagerConfiguration.Builder setFadeOutVolumeShaperConfigForAudioAttributes(@NonNull android.media.AudioAttributes, @Nullable android.media.VolumeShaper.Configuration);
10755    method @NonNull public android.media.FadeManagerConfiguration.Builder setFadeOutVolumeShaperConfigForUsage(int, @Nullable android.media.VolumeShaper.Configuration);
10756    method @NonNull public android.media.FadeManagerConfiguration.Builder setFadeState(int);
10757    method @NonNull public android.media.FadeManagerConfiguration.Builder setFadeableUsages(@NonNull java.util.List<java.lang.Integer>);
10758    method @NonNull public android.media.FadeManagerConfiguration.Builder setUnfadeableAudioAttributes(@NonNull java.util.List<android.media.AudioAttributes>);
10759    method @NonNull public android.media.FadeManagerConfiguration.Builder setUnfadeableContentTypes(@NonNull java.util.List<java.lang.Integer>);
10760    method @NonNull public android.media.FadeManagerConfiguration.Builder setUnfadeableUids(@NonNull java.util.List<java.lang.Integer>);
10761  }
10762
10763  public class HwAudioSource {
10764    method public boolean isPlaying();
10765    method public void start();
10766    method public void stop();
10767  }
10768
10769  public static final class HwAudioSource.Builder {
10770    ctor public HwAudioSource.Builder();
10771    method @NonNull public android.media.HwAudioSource build();
10772    method @NonNull public android.media.HwAudioSource.Builder setAudioAttributes(@NonNull android.media.AudioAttributes);
10773    method @NonNull public android.media.HwAudioSource.Builder setAudioDeviceInfo(@NonNull android.media.AudioDeviceInfo);
10774  }
10775
10776  public final class MediaCas implements java.lang.AutoCloseable {
10777    method @RequiresPermission("android.permission.TUNER_RESOURCE_ACCESS") public void setResourceOwnershipRetention(boolean);
10778    method @RequiresPermission("android.permission.TUNER_RESOURCE_ACCESS") public boolean updateResourcePriority(int, int);
10779  }
10780
10781  public final class MediaCodec {
10782    method @NonNull @RequiresPermission(android.Manifest.permission.MEDIA_RESOURCE_OVERRIDE_PID) public static android.media.MediaCodec createByCodecNameForClient(@NonNull String, int, int) throws java.io.IOException;
10783  }
10784
10785  public class MediaPlayer implements android.media.AudioRouting android.media.VolumeAutomation {
10786    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);
10787  }
10788
10789  public static interface MediaPlayer.OnRtpRxNoticeListener {
10790    method public void onRtpRxNotice(@NonNull android.media.MediaPlayer, int, @NonNull int[]);
10791  }
10792
10793  public final class MediaRecorder.AudioSource {
10794    field @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_OUTPUT) public static final int ECHO_REFERENCE = 1997; // 0x7cd
10795    field @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_HOTWORD) public static final int HOTWORD = 1999; // 0x7cf
10796    field @RequiresPermission(android.Manifest.permission.CAPTURE_TUNER_AUDIO_INPUT) public static final int RADIO_TUNER = 1998; // 0x7ce
10797    field @RequiresPermission(android.Manifest.permission.ACCESS_ULTRASOUND) public static final int ULTRASOUND = 2000; // 0x7d0
10798  }
10799
10800  public final class MediaRouter2 {
10801    method @NonNull public java.util.List<android.media.MediaRoute2Info> getAllRoutes();
10802    method @Nullable public String getClientPackageName();
10803    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);
10804    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void startScan();
10805    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void stopScan();
10806    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void transfer(@NonNull android.media.MediaRouter2.RoutingController, @NonNull android.media.MediaRoute2Info);
10807  }
10808
10809  public abstract static class MediaRouter2.RouteCallback {
10810    method public void onPreferredFeaturesChanged(@NonNull java.util.List<java.lang.String>);
10811  }
10812
10813  public class MediaSyncEvent implements android.os.Parcelable {
10814    field public static final int SYNC_EVENT_SHARE_AUDIO_HISTORY = 100; // 0x64
10815  }
10816
10817  public final class MediaTranscodingManager {
10818    method @Nullable public android.media.MediaTranscodingManager.TranscodingSession enqueueRequest(@NonNull android.media.MediaTranscodingManager.TranscodingRequest, @NonNull java.util.concurrent.Executor, @NonNull android.media.MediaTranscodingManager.OnTranscodingFinishedListener);
10819  }
10820
10821  @java.lang.FunctionalInterface public static interface MediaTranscodingManager.OnTranscodingFinishedListener {
10822    method public void onTranscodingFinished(@NonNull android.media.MediaTranscodingManager.TranscodingSession);
10823  }
10824
10825  public abstract static class MediaTranscodingManager.TranscodingRequest {
10826    method public int getClientPid();
10827    method public int getClientUid();
10828    method @Nullable public android.os.ParcelFileDescriptor getDestinationFileDescriptor();
10829    method @NonNull public android.net.Uri getDestinationUri();
10830    method @Nullable public android.os.ParcelFileDescriptor getSourceFileDescriptor();
10831    method @NonNull public android.net.Uri getSourceUri();
10832  }
10833
10834  public static class MediaTranscodingManager.TranscodingRequest.VideoFormatResolver {
10835    ctor public MediaTranscodingManager.TranscodingRequest.VideoFormatResolver(@NonNull android.media.ApplicationMediaCapabilities, @NonNull android.media.MediaFormat);
10836    method @Nullable public android.media.MediaFormat resolveVideoFormat();
10837    method public boolean shouldTranscode();
10838  }
10839
10840  public static final class MediaTranscodingManager.TranscodingSession {
10841    method public boolean addClientUid(int);
10842    method public void cancel();
10843    method public void clearOnProgressUpdateListener();
10844    method @NonNull public java.util.List<java.lang.Integer> getClientUids();
10845    method public int getErrorCode();
10846    method @IntRange(from=0, to=100) public int getProgress();
10847    method public int getResult();
10848    method public int getSessionId();
10849    method public int getStatus();
10850    method public void setOnProgressUpdateListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaTranscodingManager.TranscodingSession.OnProgressUpdateListener);
10851    field public static final int ERROR_DROPPED_BY_SERVICE = 1; // 0x1
10852    field public static final int ERROR_NONE = 0; // 0x0
10853    field public static final int ERROR_SERVICE_DIED = 2; // 0x2
10854    field public static final int RESULT_CANCELED = 4; // 0x4
10855    field public static final int RESULT_ERROR = 3; // 0x3
10856    field public static final int RESULT_NONE = 1; // 0x1
10857    field public static final int RESULT_SUCCESS = 2; // 0x2
10858    field public static final int STATUS_FINISHED = 3; // 0x3
10859    field public static final int STATUS_PAUSED = 4; // 0x4
10860    field public static final int STATUS_PENDING = 1; // 0x1
10861    field public static final int STATUS_RUNNING = 2; // 0x2
10862  }
10863
10864  @java.lang.FunctionalInterface public static interface MediaTranscodingManager.TranscodingSession.OnProgressUpdateListener {
10865    method public void onProgressUpdate(@NonNull android.media.MediaTranscodingManager.TranscodingSession, @IntRange(from=0, to=100) int);
10866  }
10867
10868  public static final class MediaTranscodingManager.VideoTranscodingRequest extends android.media.MediaTranscodingManager.TranscodingRequest {
10869    method @NonNull public android.media.MediaFormat getVideoTrackFormat();
10870  }
10871
10872  public static final class MediaTranscodingManager.VideoTranscodingRequest.Builder {
10873    ctor public MediaTranscodingManager.VideoTranscodingRequest.Builder(@NonNull android.net.Uri, @NonNull android.net.Uri, @NonNull android.media.MediaFormat);
10874    method @NonNull public android.media.MediaTranscodingManager.VideoTranscodingRequest build();
10875    method @NonNull public android.media.MediaTranscodingManager.VideoTranscodingRequest.Builder setClientPid(int);
10876    method @NonNull public android.media.MediaTranscodingManager.VideoTranscodingRequest.Builder setClientUid(int);
10877    method @NonNull public android.media.MediaTranscodingManager.VideoTranscodingRequest.Builder setDestinationFileDescriptor(@NonNull android.os.ParcelFileDescriptor);
10878    method @NonNull public android.media.MediaTranscodingManager.VideoTranscodingRequest.Builder setSourceFileDescriptor(@NonNull android.os.ParcelFileDescriptor);
10879  }
10880
10881  public final class NearbyDevice implements android.os.Parcelable {
10882    ctor public NearbyDevice(@NonNull String, int);
10883    method public int describeContents();
10884    method @NonNull public String getMediaRoute2Id();
10885    method public int getRangeZone();
10886    method public void writeToParcel(@NonNull android.os.Parcel, int);
10887    field @NonNull public static final android.os.Parcelable.Creator<android.media.NearbyDevice> CREATOR;
10888    field public static final int RANGE_CLOSE = 3; // 0x3
10889    field public static final int RANGE_FAR = 1; // 0x1
10890    field public static final int RANGE_LONG = 2; // 0x2
10891    field public static final int RANGE_UNKNOWN = 0; // 0x0
10892    field public static final int RANGE_WITHIN_REACH = 4; // 0x4
10893  }
10894
10895  public interface NearbyMediaDevicesProvider {
10896    method public void registerNearbyDevicesCallback(@NonNull java.util.function.Consumer<java.util.List<android.media.NearbyDevice>>);
10897    method public void unregisterNearbyDevicesCallback(@NonNull java.util.function.Consumer<java.util.List<android.media.NearbyDevice>>);
10898  }
10899
10900  public class PlayerProxy {
10901    method public void pause();
10902    method public void setPan(float);
10903    method public void setStartDelayMs(int);
10904    method public void setVolume(float);
10905    method public void start();
10906    method public void stop();
10907  }
10908
10909  public class RingtoneManager {
10910    method @RequiresPermission(android.Manifest.permission.WRITE_SETTINGS) public static void ensureDefaultRingtones(@NonNull android.content.Context);
10911  }
10912
10913  public final class RouteDiscoveryPreference implements android.os.Parcelable {
10914    field public static final android.media.RouteDiscoveryPreference EMPTY;
10915  }
10916
10917  public class Spatializer {
10918    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void addCompatibleAudioDevice(@NonNull android.media.AudioDeviceAttributes);
10919    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void addOnHeadTrackingModeChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.Spatializer.OnHeadTrackingModeChangedListener);
10920    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void clearOnHeadToSoundstagePoseUpdatedListener();
10921    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void clearOnSpatializerOutputChangedListener();
10922    method @NonNull @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public java.util.List<android.media.AudioDeviceAttributes> getCompatibleAudioDevices();
10923    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public int getDesiredHeadTrackingMode();
10924    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void getEffectParameter(int, @NonNull byte[]);
10925    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public int getHeadTrackingMode();
10926    method @IntRange(from=0) @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public int getOutput();
10927    method @NonNull @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public java.util.List<java.lang.Integer> getSupportedHeadTrackingModes();
10928    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public boolean hasHeadTracker(@NonNull android.media.AudioDeviceAttributes);
10929    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public boolean isAvailableForDevice(@NonNull android.media.AudioDeviceAttributes);
10930    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public boolean isHeadTrackerEnabled(@NonNull android.media.AudioDeviceAttributes);
10931    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void recenterHeadTracker();
10932    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void removeCompatibleAudioDevice(@NonNull android.media.AudioDeviceAttributes);
10933    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void removeOnHeadTrackingModeChangedListener(@NonNull android.media.Spatializer.OnHeadTrackingModeChangedListener);
10934    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setDesiredHeadTrackingMode(int);
10935    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setEffectParameter(int, @NonNull byte[]);
10936    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setEnabled(boolean);
10937    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setGlobalTransform(@NonNull float[]);
10938    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setHeadTrackerEnabled(boolean, @NonNull android.media.AudioDeviceAttributes);
10939    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setOnHeadToSoundstagePoseUpdatedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.Spatializer.OnHeadToSoundstagePoseUpdatedListener);
10940    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public void setOnSpatializerOutputChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.Spatializer.OnSpatializerOutputChangedListener);
10941    field @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static final int HEAD_TRACKING_MODE_DISABLED = -1; // 0xffffffff
10942    field @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static final int HEAD_TRACKING_MODE_OTHER = 0; // 0x0
10943    field @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static final int HEAD_TRACKING_MODE_RELATIVE_DEVICE = 2; // 0x2
10944    field @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static final int HEAD_TRACKING_MODE_RELATIVE_WORLD = 1; // 0x1
10945    field @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static final int HEAD_TRACKING_MODE_UNSUPPORTED = -2; // 0xfffffffe
10946  }
10947
10948  public static interface Spatializer.OnHeadToSoundstagePoseUpdatedListener {
10949    method public void onHeadToSoundstagePoseUpdated(@NonNull android.media.Spatializer, @NonNull float[]);
10950  }
10951
10952  public static interface Spatializer.OnHeadTrackingModeChangedListener {
10953    method public void onDesiredHeadTrackingModeChanged(@NonNull android.media.Spatializer, int);
10954    method public void onHeadTrackingModeChanged(@NonNull android.media.Spatializer, int);
10955  }
10956
10957  public static interface Spatializer.OnSpatializerOutputChangedListener {
10958    method public void onSpatializerOutputChanged(@NonNull android.media.Spatializer, @IntRange(from=0) int);
10959  }
10960
10961  public final class VolumeInfo implements android.os.Parcelable {
10962    method public int describeContents();
10963    method @NonNull public static android.media.VolumeInfo getDefaultVolumeInfo();
10964    method public int getMaxVolumeIndex();
10965    method public int getMinVolumeIndex();
10966    method public int getStreamType();
10967    method @NonNull public android.media.audiopolicy.AudioVolumeGroup getVolumeGroup();
10968    method public int getVolumeIndex();
10969    method public boolean hasMuteCommand();
10970    method public boolean hasStreamType();
10971    method public boolean hasVolumeGroup();
10972    method public boolean isMuted();
10973    method public void writeToParcel(@NonNull android.os.Parcel, int);
10974    field @NonNull public static final android.os.Parcelable.Creator<android.media.VolumeInfo> CREATOR;
10975    field public static final int INDEX_NOT_SET = -100; // 0xffffff9c
10976  }
10977
10978  public static final class VolumeInfo.Builder {
10979    ctor public VolumeInfo.Builder(@NonNull android.media.audiopolicy.AudioVolumeGroup);
10980    ctor public VolumeInfo.Builder(@NonNull android.media.VolumeInfo);
10981    ctor public VolumeInfo.Builder(int);
10982    method @NonNull public android.media.VolumeInfo build();
10983    method @NonNull public android.media.VolumeInfo.Builder setMaxVolumeIndex(int);
10984    method @NonNull public android.media.VolumeInfo.Builder setMinVolumeIndex(int);
10985    method @NonNull public android.media.VolumeInfo.Builder setMuted(boolean);
10986    method @NonNull public android.media.VolumeInfo.Builder setVolumeIndex(int);
10987  }
10988
10989}
10990
10991package android.media.audiofx {
10992
10993  public class AudioEffect {
10994    ctor @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public AudioEffect(@NonNull java.util.UUID, @NonNull android.media.AudioDeviceAttributes);
10995    method @RequiresPermission("android.permission.MODIFY_DEFAULT_AUDIO_EFFECTS") public static boolean isEffectSupportedForDevice(@NonNull java.util.UUID, @NonNull android.media.AudioDeviceAttributes);
10996  }
10997
10998}
10999
11000package android.media.audiopolicy {
11001
11002  public class AudioMix implements android.os.Parcelable {
11003    method public int describeContents();
11004    method public int getMixState();
11005    method public void writeToParcel(@NonNull android.os.Parcel, int);
11006    field @NonNull public static final android.os.Parcelable.Creator<android.media.audiopolicy.AudioMix> CREATOR;
11007    field public static final int MIX_STATE_DISABLED = -1; // 0xffffffff
11008    field public static final int MIX_STATE_IDLE = 0; // 0x0
11009    field public static final int MIX_STATE_MIXING = 1; // 0x1
11010    field public static final int ROUTE_FLAG_LOOP_BACK = 2; // 0x2
11011    field public static final int ROUTE_FLAG_RENDER = 1; // 0x1
11012  }
11013
11014  public static class AudioMix.Builder {
11015    ctor public AudioMix.Builder(@NonNull android.media.audiopolicy.AudioMixingRule) throws java.lang.IllegalArgumentException;
11016    method public android.media.audiopolicy.AudioMix build() throws java.lang.IllegalArgumentException;
11017    method public android.media.audiopolicy.AudioMix.Builder setDevice(@NonNull android.media.AudioDeviceInfo) throws java.lang.IllegalArgumentException;
11018    method public android.media.audiopolicy.AudioMix.Builder setFormat(@NonNull android.media.AudioFormat) throws java.lang.IllegalArgumentException;
11019    method public android.media.audiopolicy.AudioMix.Builder setRouteFlags(int) throws java.lang.IllegalArgumentException;
11020  }
11021
11022  public class AudioMixingRule implements android.os.Parcelable {
11023    method public int describeContents();
11024    method public int getTargetMixRole();
11025    method public void writeToParcel(@NonNull android.os.Parcel, int);
11026    field @NonNull public static final android.os.Parcelable.Creator<android.media.audiopolicy.AudioMixingRule> CREATOR;
11027    field public static final int MIX_ROLE_INJECTOR = 1; // 0x1
11028    field public static final int MIX_ROLE_PLAYERS = 0; // 0x0
11029    field public static final int RULE_MATCH_ATTRIBUTE_CAPTURE_PRESET = 2; // 0x2
11030    field public static final int RULE_MATCH_ATTRIBUTE_USAGE = 1; // 0x1
11031    field public static final int RULE_MATCH_AUDIO_SESSION_ID = 16; // 0x10
11032    field public static final int RULE_MATCH_UID = 4; // 0x4
11033    field public static final int RULE_MATCH_USERID = 8; // 0x8
11034  }
11035
11036  public static class AudioMixingRule.Builder {
11037    ctor public AudioMixingRule.Builder();
11038    method public android.media.audiopolicy.AudioMixingRule.Builder addMixRule(int, Object) throws java.lang.IllegalArgumentException;
11039    method public android.media.audiopolicy.AudioMixingRule.Builder addRule(android.media.AudioAttributes, int) throws java.lang.IllegalArgumentException;
11040    method @NonNull public android.media.audiopolicy.AudioMixingRule.Builder allowPrivilegedPlaybackCapture(boolean);
11041    method public android.media.audiopolicy.AudioMixingRule build();
11042    method public android.media.audiopolicy.AudioMixingRule.Builder excludeMixRule(int, Object) throws java.lang.IllegalArgumentException;
11043    method public android.media.audiopolicy.AudioMixingRule.Builder excludeRule(android.media.AudioAttributes, int) throws java.lang.IllegalArgumentException;
11044    method @NonNull public android.media.audiopolicy.AudioMixingRule.Builder setTargetMixRole(int);
11045  }
11046
11047  public class AudioPolicy {
11048    method public int attachMixes(@NonNull java.util.List<android.media.audiopolicy.AudioMix>);
11049    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public int clearFadeManagerConfigurationForFocusLoss();
11050    method public android.media.AudioRecord createAudioRecordSink(android.media.audiopolicy.AudioMix) throws java.lang.IllegalArgumentException;
11051    method public android.media.AudioTrack createAudioTrackSource(android.media.audiopolicy.AudioMix) throws java.lang.IllegalArgumentException;
11052    method public int detachMixes(@NonNull java.util.List<android.media.audiopolicy.AudioMix>);
11053    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public android.media.FadeManagerConfiguration getFadeManagerConfigurationForFocusLoss();
11054    method public int getFocusDuckingBehavior();
11055    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public java.util.List<android.media.AudioFocusInfo> getFocusStack();
11056    method public int getStatus();
11057    method public boolean removeUidDeviceAffinity(int);
11058    method public boolean removeUserIdDeviceAffinity(int);
11059    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public boolean sendFocusLoss(@NonNull android.media.AudioFocusInfo) throws java.lang.IllegalStateException;
11060    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED) public int setFadeManagerConfigurationForFocusLoss(@NonNull android.media.FadeManagerConfiguration);
11061    method public int setFocusDuckingBehavior(int) throws java.lang.IllegalArgumentException, java.lang.IllegalStateException;
11062    method public void setRegistration(String);
11063    method public boolean setUidDeviceAffinity(int, @NonNull java.util.List<android.media.AudioDeviceInfo>);
11064    method public boolean setUserIdDeviceAffinity(int, @NonNull java.util.List<android.media.AudioDeviceInfo>);
11065    method public String toLogFriendlyString();
11066    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public int updateMixingRules(@NonNull java.util.List<android.util.Pair<android.media.audiopolicy.AudioMix,android.media.audiopolicy.AudioMixingRule>>);
11067    field public static final int FOCUS_POLICY_DUCKING_DEFAULT = 0; // 0x0
11068    field public static final int FOCUS_POLICY_DUCKING_IN_APP = 0; // 0x0
11069    field public static final int FOCUS_POLICY_DUCKING_IN_POLICY = 1; // 0x1
11070    field public static final int POLICY_STATUS_REGISTERED = 2; // 0x2
11071    field public static final int POLICY_STATUS_UNREGISTERED = 1; // 0x1
11072  }
11073
11074  public abstract static class AudioPolicy.AudioPolicyFocusListener {
11075    ctor public AudioPolicy.AudioPolicyFocusListener();
11076    method public void onAudioFocusAbandon(android.media.AudioFocusInfo);
11077    method public void onAudioFocusGrant(android.media.AudioFocusInfo, int);
11078    method public void onAudioFocusLoss(android.media.AudioFocusInfo, boolean);
11079    method public void onAudioFocusRequest(android.media.AudioFocusInfo, int);
11080  }
11081
11082  public abstract static class AudioPolicy.AudioPolicyStatusListener {
11083    ctor public AudioPolicy.AudioPolicyStatusListener();
11084    method public void onMixStateUpdate(android.media.audiopolicy.AudioMix);
11085    method public void onStatusChange();
11086  }
11087
11088  public abstract static class AudioPolicy.AudioPolicyVolumeCallback {
11089    ctor public AudioPolicy.AudioPolicyVolumeCallback();
11090    method public void onVolumeAdjustment(int);
11091  }
11092
11093  public static class AudioPolicy.Builder {
11094    ctor public AudioPolicy.Builder(android.content.Context);
11095    method @NonNull public android.media.audiopolicy.AudioPolicy.Builder addMix(@NonNull android.media.audiopolicy.AudioMix) throws java.lang.IllegalArgumentException;
11096    method @NonNull public android.media.audiopolicy.AudioPolicy build();
11097    method public void setAudioPolicyFocusListener(android.media.audiopolicy.AudioPolicy.AudioPolicyFocusListener);
11098    method public void setAudioPolicyStatusListener(android.media.audiopolicy.AudioPolicy.AudioPolicyStatusListener);
11099    method @NonNull public android.media.audiopolicy.AudioPolicy.Builder setAudioPolicyVolumeCallback(@NonNull android.media.audiopolicy.AudioPolicy.AudioPolicyVolumeCallback);
11100    method @NonNull public android.media.audiopolicy.AudioPolicy.Builder setIsAudioFocusPolicy(boolean);
11101    method @NonNull public android.media.audiopolicy.AudioPolicy.Builder setLooper(@NonNull android.os.Looper) throws java.lang.IllegalArgumentException;
11102  }
11103
11104  public final class AudioProductStrategy implements android.os.Parcelable {
11105    method @NonNull public static android.media.audiopolicy.AudioProductStrategy createInvalidAudioProductStrategy(int);
11106    method public int describeContents();
11107    method @NonNull public android.media.AudioAttributes getAudioAttributes();
11108    method public int getId();
11109    method @NonNull public String getName();
11110    method public boolean supportsAudioAttributes(@NonNull android.media.AudioAttributes);
11111    method public void writeToParcel(@NonNull android.os.Parcel, int);
11112    field @NonNull public static final android.os.Parcelable.Creator<android.media.audiopolicy.AudioProductStrategy> CREATOR;
11113  }
11114
11115  public final class AudioVolumeGroup implements android.os.Parcelable {
11116    method public int describeContents();
11117    method @NonNull public java.util.List<android.media.AudioAttributes> getAudioAttributes();
11118    method public int getId();
11119    method @NonNull public int[] getLegacyStreamTypes();
11120    method @NonNull public String name();
11121    method public void writeToParcel(@NonNull android.os.Parcel, int);
11122    field public static final android.os.Parcelable.Creator<android.media.audiopolicy.AudioVolumeGroup> CREATOR;
11123    field public static final int DEFAULT_VOLUME_GROUP = -1; // 0xffffffff
11124  }
11125
11126}
11127
11128package android.media.musicrecognition {
11129
11130  public class MusicRecognitionManager {
11131    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);
11132    field public static final int RECOGNITION_FAILED_AUDIO_UNAVAILABLE = 7; // 0x7
11133    field public static final int RECOGNITION_FAILED_NOT_FOUND = 1; // 0x1
11134    field public static final int RECOGNITION_FAILED_NO_CONNECTIVITY = 2; // 0x2
11135    field public static final int RECOGNITION_FAILED_SERVICE_KILLED = 5; // 0x5
11136    field public static final int RECOGNITION_FAILED_SERVICE_UNAVAILABLE = 3; // 0x3
11137    field public static final int RECOGNITION_FAILED_TIMEOUT = 6; // 0x6
11138    field public static final int RECOGNITION_FAILED_UNKNOWN = -1; // 0xffffffff
11139  }
11140
11141  public static interface MusicRecognitionManager.RecognitionCallback {
11142    method public void onAudioStreamClosed();
11143    method public void onRecognitionFailed(@NonNull android.media.musicrecognition.RecognitionRequest, int);
11144    method public void onRecognitionSucceeded(@NonNull android.media.musicrecognition.RecognitionRequest, @NonNull android.media.MediaMetadata, @Nullable android.os.Bundle);
11145  }
11146
11147  public abstract class MusicRecognitionService extends android.app.Service {
11148    ctor public MusicRecognitionService();
11149    method @Nullable public android.os.IBinder onBind(@NonNull android.content.Intent);
11150    method public abstract void onRecognize(@NonNull android.os.ParcelFileDescriptor, @NonNull android.media.AudioFormat, @NonNull android.media.musicrecognition.MusicRecognitionService.Callback);
11151  }
11152
11153  public static interface MusicRecognitionService.Callback {
11154    method public void onRecognitionFailed(int);
11155    method public void onRecognitionSucceeded(@NonNull android.media.MediaMetadata, @Nullable android.os.Bundle);
11156  }
11157
11158  public final class RecognitionRequest implements android.os.Parcelable {
11159    method public int describeContents();
11160    method @NonNull public android.media.AudioAttributes getAudioAttributes();
11161    method @NonNull public android.media.AudioFormat getAudioFormat();
11162    method public int getCaptureSession();
11163    method public int getIgnoreBeginningFrames();
11164    method public int getMaxAudioLengthSeconds();
11165    method public void writeToParcel(@NonNull android.os.Parcel, int);
11166    field @NonNull public static final android.os.Parcelable.Creator<android.media.musicrecognition.RecognitionRequest> CREATOR;
11167  }
11168
11169  public static final class RecognitionRequest.Builder {
11170    ctor public RecognitionRequest.Builder();
11171    method @NonNull public android.media.musicrecognition.RecognitionRequest build();
11172    method @NonNull public android.media.musicrecognition.RecognitionRequest.Builder setAudioAttributes(@NonNull android.media.AudioAttributes);
11173    method @NonNull public android.media.musicrecognition.RecognitionRequest.Builder setAudioFormat(@NonNull android.media.AudioFormat);
11174    method @NonNull public android.media.musicrecognition.RecognitionRequest.Builder setCaptureSession(int);
11175    method @NonNull public android.media.musicrecognition.RecognitionRequest.Builder setIgnoreBeginningFrames(int);
11176    method @NonNull public android.media.musicrecognition.RecognitionRequest.Builder setMaxAudioLengthSeconds(int);
11177  }
11178
11179}
11180
11181package android.media.quality {
11182
11183  public final class MediaQualityManager {
11184    method public void addGlobalActiveProcessingPictureListener(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.util.List<android.media.quality.ActiveProcessingPicture>>);
11185    method @NonNull public java.util.List<java.lang.String> getPictureProfileAllowList();
11186    method @NonNull public java.util.List<java.lang.String> getPictureProfilePackageNames();
11187    method @NonNull public java.util.List<android.media.quality.PictureProfile> getPictureProfilesByPackage(@NonNull String, @Nullable android.media.quality.MediaQualityManager.ProfileQueryParams);
11188    method @NonNull public java.util.List<java.lang.String> getSoundProfileAllowList();
11189    method @NonNull public java.util.List<java.lang.String> getSoundProfilePackageNames();
11190    method @NonNull public java.util.List<android.media.quality.SoundProfile> getSoundProfilesByPackage(@NonNull String, @Nullable android.media.quality.MediaQualityManager.ProfileQueryParams);
11191    method public void setAutoPictureQualityEnabled(boolean);
11192    method public void setAutoSoundQualityEnabled(boolean);
11193    method public boolean setDefaultPictureProfile(@Nullable String);
11194    method public boolean setDefaultSoundProfile(@Nullable String);
11195    method public void setPictureProfileAllowList(@NonNull java.util.List<java.lang.String>);
11196    method public void setSoundProfileAllowList(@NonNull java.util.List<java.lang.String>);
11197    method public void setSuperResolutionEnabled(boolean);
11198  }
11199
11200  public static final class PictureProfile.Builder {
11201    method @NonNull public android.media.quality.PictureProfile.Builder setInputId(@NonNull String);
11202    method @NonNull public android.media.quality.PictureProfile.Builder setPackageName(@NonNull String);
11203    method @NonNull public android.media.quality.PictureProfile.Builder setProfileType(int);
11204  }
11205
11206  public final class PictureProfileHandle implements android.os.Parcelable {
11207    method public int describeContents();
11208    method public long getId();
11209    method public void writeToParcel(@NonNull android.os.Parcel, int);
11210    field @NonNull public static final android.os.Parcelable.Creator<android.media.quality.PictureProfileHandle> CREATOR;
11211    field @NonNull public static final android.media.quality.PictureProfileHandle NONE;
11212  }
11213
11214  public static final class SoundProfile.Builder {
11215    method @NonNull public android.media.quality.SoundProfile.Builder setInputId(@NonNull String);
11216    method @NonNull public android.media.quality.SoundProfile.Builder setPackageName(@NonNull String);
11217    method @NonNull public android.media.quality.SoundProfile.Builder setProfileType(int);
11218  }
11219
11220}
11221
11222package android.media.session {
11223
11224  public final class MediaSessionManager {
11225    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void addOnMediaKeyEventDispatchedListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.session.MediaSessionManager.OnMediaKeyEventDispatchedListener);
11226    method @RequiresPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL) public void removeOnMediaKeyEventDispatchedListener(@NonNull android.media.session.MediaSessionManager.OnMediaKeyEventDispatchedListener);
11227    method @RequiresPermission(android.Manifest.permission.SET_MEDIA_KEY_LISTENER) public void setOnMediaKeyListener(android.media.session.MediaSessionManager.OnMediaKeyListener, @Nullable android.os.Handler);
11228    method @RequiresPermission(android.Manifest.permission.SET_VOLUME_KEY_LONG_PRESS_LISTENER) public void setOnVolumeKeyLongPressListener(android.media.session.MediaSessionManager.OnVolumeKeyLongPressListener, @Nullable android.os.Handler);
11229  }
11230
11231  public static interface MediaSessionManager.OnMediaKeyEventDispatchedListener {
11232    method public void onMediaKeyEventDispatched(@NonNull android.view.KeyEvent, @NonNull String, @Nullable android.media.session.MediaSession.Token);
11233  }
11234
11235  public static interface MediaSessionManager.OnMediaKeyListener {
11236    method public boolean onMediaKey(android.view.KeyEvent);
11237  }
11238
11239  public static interface MediaSessionManager.OnVolumeKeyLongPressListener {
11240    method public void onVolumeKeyLongPress(android.view.KeyEvent);
11241  }
11242
11243}
11244
11245package android.media.soundtrigger {
11246
11247  public abstract class SoundTriggerDetectionService extends android.app.Service {
11248    ctor public SoundTriggerDetectionService();
11249    method public final android.os.IBinder onBind(android.content.Intent);
11250    method @MainThread public void onConnected(@NonNull java.util.UUID, @Nullable android.os.Bundle);
11251    method @MainThread public void onDisconnected(@NonNull java.util.UUID, @Nullable android.os.Bundle);
11252    method @MainThread public void onError(@NonNull java.util.UUID, @Nullable android.os.Bundle, int, int);
11253    method @MainThread public void onGenericRecognitionEvent(@NonNull java.util.UUID, @Nullable android.os.Bundle, int, @NonNull android.hardware.soundtrigger.SoundTrigger.RecognitionEvent);
11254    method @MainThread public abstract void onStopOperation(@NonNull java.util.UUID, @Nullable android.os.Bundle, int);
11255    method public final void operationFinished(@Nullable java.util.UUID, int);
11256  }
11257
11258  @Deprecated public final class SoundTriggerDetector {
11259    method @Deprecated @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public boolean startRecognition(int);
11260    method @Deprecated @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public boolean stopRecognition();
11261    field @Deprecated public static final int RECOGNITION_FLAG_ALLOW_MULTIPLE_TRIGGERS = 2; // 0x2
11262    field @Deprecated public static final int RECOGNITION_FLAG_CAPTURE_TRIGGER_AUDIO = 1; // 0x1
11263    field @Deprecated public static final int RECOGNITION_FLAG_ENABLE_AUDIO_ECHO_CANCELLATION = 4; // 0x4
11264    field @Deprecated public static final int RECOGNITION_FLAG_ENABLE_AUDIO_NOISE_SUPPRESSION = 8; // 0x8
11265    field @Deprecated public static final int RECOGNITION_FLAG_RUN_IN_BATTERY_SAVER = 16; // 0x10
11266  }
11267
11268  @Deprecated public abstract static class SoundTriggerDetector.Callback {
11269    ctor @Deprecated public SoundTriggerDetector.Callback();
11270    method @Deprecated public abstract void onAvailabilityChanged(int);
11271    method @Deprecated public abstract void onDetected(@NonNull android.media.soundtrigger.SoundTriggerDetector.EventPayload);
11272    method @Deprecated public abstract void onError();
11273    method @Deprecated public abstract void onRecognitionPaused();
11274    method @Deprecated public abstract void onRecognitionResumed();
11275  }
11276
11277  @Deprecated public static class SoundTriggerDetector.EventPayload {
11278    method @Deprecated @Nullable public android.media.AudioFormat getCaptureAudioFormat();
11279    method @Deprecated @Nullable public byte[] getTriggerAudio();
11280  }
11281
11282  public final class SoundTriggerManager {
11283    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);
11284    method @Deprecated @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public void deleteModel(java.util.UUID);
11285    method public int getDetectionServiceOperationsTimeout();
11286    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public android.media.soundtrigger.SoundTriggerManager.Model getModel(java.util.UUID);
11287    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public android.hardware.soundtrigger.SoundTrigger.ModuleProperties getModuleProperties();
11288    method @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public int getParameter(@NonNull java.util.UUID, int);
11289    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public android.hardware.soundtrigger.SoundTrigger.ModelParamRange queryParameter(@Nullable java.util.UUID, int);
11290    method @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public int setParameter(@Nullable java.util.UUID, int, int);
11291    method @Deprecated @RequiresPermission(android.Manifest.permission.MANAGE_SOUND_TRIGGER) public void updateModel(android.media.soundtrigger.SoundTriggerManager.Model);
11292  }
11293
11294  public static class SoundTriggerManager.Model {
11295    method @NonNull public static android.media.soundtrigger.SoundTriggerManager.Model create(@NonNull java.util.UUID, @NonNull java.util.UUID, @Nullable byte[]);
11296    method @NonNull public static android.media.soundtrigger.SoundTriggerManager.Model create(@NonNull java.util.UUID, @NonNull java.util.UUID, @Nullable byte[], int);
11297    method @Nullable public byte[] getModelData();
11298    method @NonNull public java.util.UUID getModelUuid();
11299    method @NonNull public java.util.UUID getVendorUuid();
11300    method public int getVersion();
11301  }
11302
11303}
11304
11305package android.media.tv {
11306
11307  public final class DvbDeviceInfo implements android.os.Parcelable {
11308    ctor public DvbDeviceInfo(int, int);
11309    method public int describeContents();
11310    method @IntRange(from=0) public int getAdapterId();
11311    method @IntRange(from=0) public int getDeviceId();
11312    method public void writeToParcel(@NonNull android.os.Parcel, int);
11313    field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.DvbDeviceInfo> CREATOR;
11314  }
11315
11316  public final class TunedInfo implements android.os.Parcelable {
11317    method public int describeContents();
11318    method public int getAppTag();
11319    method public int getAppType();
11320    method @Nullable public android.net.Uri getChannelUri();
11321    method @NonNull public String getInputId();
11322    method public boolean isMainSession();
11323    method public boolean isRecordingSession();
11324    method public boolean isVisible();
11325    method public void writeToParcel(@NonNull android.os.Parcel, int);
11326    field public static final int APP_TAG_SELF = 0; // 0x0
11327    field public static final int APP_TYPE_NON_SYSTEM = 3; // 0x3
11328    field public static final int APP_TYPE_SELF = 1; // 0x1
11329    field public static final int APP_TYPE_SYSTEM = 2; // 0x2
11330    field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.TunedInfo> CREATOR;
11331  }
11332
11333  public final class TvContentRatingSystemInfo implements android.os.Parcelable {
11334    method public static android.media.tv.TvContentRatingSystemInfo createTvContentRatingSystemInfo(int, android.content.pm.ApplicationInfo);
11335    method public int describeContents();
11336    method public android.net.Uri getXmlUri();
11337    method public boolean isSystemDefined();
11338    method public void writeToParcel(android.os.Parcel, int);
11339  }
11340
11341  public final class TvContract {
11342    method public static android.net.Uri buildChannelsUriForInput(@Nullable String, boolean);
11343    method public static android.net.Uri buildChannelsUriForInput(@Nullable String, @Nullable String, boolean);
11344    field public static final String ACTION_CHANNEL_BROWSABLE_REQUESTED = "android.media.tv.action.CHANNEL_BROWSABLE_REQUESTED";
11345    field public static final String EXTRA_BLOCKED_PACKAGES = "android.media.tv.extra.BLOCKED_PACKAGES";
11346    field public static final String EXTRA_COLUMN_NAME = "android.media.tv.extra.COLUMN_NAME";
11347    field public static final String EXTRA_DATA_TYPE = "android.media.tv.extra.DATA_TYPE";
11348    field public static final String EXTRA_DEFAULT_VALUE = "android.media.tv.extra.DEFAULT_VALUE";
11349    field public static final String EXTRA_EXISTING_COLUMN_NAMES = "android.media.tv.extra.EXISTING_COLUMN_NAMES";
11350    field public static final String EXTRA_PACKAGE_NAME = "android.media.tv.extra.PACKAGE_NAME";
11351    field public static final String EXTRA_RESULT_CODE = "android.media.tv.extra.RESULT_CODE";
11352    field public static final String METHOD_ADD_COLUMN = "add_column";
11353    field public static final String METHOD_BLOCK_PACKAGE = "block_package";
11354    field public static final String METHOD_GET_BLOCKED_PACKAGES = "get_blocked_packages";
11355    field public static final String METHOD_GET_COLUMNS = "get_columns";
11356    field public static final String METHOD_UNBLOCK_PACKAGE = "unblock_package";
11357    field public static final int RESULT_ERROR_INVALID_ARGUMENT = 2; // 0x2
11358    field public static final int RESULT_ERROR_IO = 1; // 0x1
11359    field public static final int RESULT_OK = 0; // 0x0
11360  }
11361
11362  public static final class TvContract.WatchedPrograms implements android.media.tv.TvContract.BaseTvColumns {
11363    field public static final String COLUMN_CHANNEL_ID = "channel_id";
11364    field public static final String COLUMN_DESCRIPTION = "description";
11365    field public static final String COLUMN_END_TIME_UTC_MILLIS = "end_time_utc_millis";
11366    field public static final String COLUMN_INTERNAL_SESSION_TOKEN = "session_token";
11367    field public static final String COLUMN_INTERNAL_TUNE_PARAMS = "tune_params";
11368    field public static final String COLUMN_START_TIME_UTC_MILLIS = "start_time_utc_millis";
11369    field public static final String COLUMN_TITLE = "title";
11370    field public static final String COLUMN_WATCH_END_TIME_UTC_MILLIS = "watch_end_time_utc_millis";
11371    field public static final String COLUMN_WATCH_START_TIME_UTC_MILLIS = "watch_start_time_utc_millis";
11372    field public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/watched_program";
11373    field public static final String CONTENT_TYPE = "vnd.android.cursor.dir/watched_program";
11374    field public static final android.net.Uri CONTENT_URI;
11375  }
11376
11377  public final class TvInputHardwareInfo implements android.os.Parcelable {
11378    method public int describeContents();
11379    method public String getAudioAddress();
11380    method public int getAudioType();
11381    method public int getCableConnectionStatus();
11382    method public int getDeviceId();
11383    method public int getHdmiPortId();
11384    method public int getType();
11385    method public void readFromParcel(android.os.Parcel);
11386    method public void writeToParcel(android.os.Parcel, int);
11387    field public static final int CABLE_CONNECTION_STATUS_CONNECTED = 1; // 0x1
11388    field public static final int CABLE_CONNECTION_STATUS_DISCONNECTED = 2; // 0x2
11389    field public static final int CABLE_CONNECTION_STATUS_UNKNOWN = 0; // 0x0
11390    field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.TvInputHardwareInfo> CREATOR;
11391    field public static final int TV_INPUT_TYPE_COMPONENT = 6; // 0x6
11392    field public static final int TV_INPUT_TYPE_COMPOSITE = 3; // 0x3
11393    field public static final int TV_INPUT_TYPE_DISPLAY_PORT = 10; // 0xa
11394    field public static final int TV_INPUT_TYPE_DVI = 8; // 0x8
11395    field public static final int TV_INPUT_TYPE_HDMI = 9; // 0x9
11396    field public static final int TV_INPUT_TYPE_OTHER_HARDWARE = 1; // 0x1
11397    field public static final int TV_INPUT_TYPE_SCART = 5; // 0x5
11398    field public static final int TV_INPUT_TYPE_SVIDEO = 4; // 0x4
11399    field public static final int TV_INPUT_TYPE_TUNER = 2; // 0x2
11400    field public static final int TV_INPUT_TYPE_VGA = 7; // 0x7
11401  }
11402
11403  public static final class TvInputHardwareInfo.Builder {
11404    ctor public TvInputHardwareInfo.Builder();
11405    method public android.media.tv.TvInputHardwareInfo.Builder audioAddress(String);
11406    method public android.media.tv.TvInputHardwareInfo.Builder audioType(int);
11407    method public android.media.tv.TvInputHardwareInfo build();
11408    method public android.media.tv.TvInputHardwareInfo.Builder cableConnectionStatus(int);
11409    method public android.media.tv.TvInputHardwareInfo.Builder deviceId(int);
11410    method public android.media.tv.TvInputHardwareInfo.Builder hdmiPortId(int);
11411    method public android.media.tv.TvInputHardwareInfo.Builder type(int);
11412  }
11413
11414  public final class TvInputInfo implements android.os.Parcelable {
11415    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;
11416    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;
11417    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;
11418    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;
11419    method public android.hardware.hdmi.HdmiDeviceInfo getHdmiDeviceInfo();
11420    method public boolean isConnectedToHdmiSwitch();
11421    method public boolean isHardwareInput();
11422    method public android.graphics.drawable.Drawable loadIcon(@NonNull android.content.Context, int);
11423  }
11424
11425  public static final class TvInputInfo.Builder {
11426    method public android.media.tv.TvInputInfo.Builder setHdmiDeviceInfo(android.hardware.hdmi.HdmiDeviceInfo);
11427    method public android.media.tv.TvInputInfo.Builder setIcon(android.graphics.drawable.Icon);
11428    method public android.media.tv.TvInputInfo.Builder setIcon(android.graphics.drawable.Icon, int);
11429    method public android.media.tv.TvInputInfo.Builder setLabel(@StringRes int);
11430    method public android.media.tv.TvInputInfo.Builder setLabel(CharSequence);
11431    method public android.media.tv.TvInputInfo.Builder setParentId(String);
11432    method public android.media.tv.TvInputInfo.Builder setTvInputHardwareInfo(android.media.tv.TvInputHardwareInfo);
11433  }
11434
11435  public static final class TvInputInfo.TvInputSettings {
11436    method public static java.util.Map<java.lang.String,java.lang.String> getCustomLabels(android.content.Context, int);
11437    method public static java.util.Set<java.lang.String> getHiddenTvInputIds(android.content.Context, int);
11438    method public static void putCustomLabels(android.content.Context, java.util.Map<java.lang.String,java.lang.String>, int);
11439    method public static void putHiddenTvInputs(android.content.Context, java.util.Set<java.lang.String>, int);
11440  }
11441
11442  public final class TvInputManager {
11443    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);
11444    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);
11445    method @RequiresPermission(android.Manifest.permission.MODIFY_PARENTAL_CONTROLS) public void addBlockedRating(@NonNull android.media.tv.TvContentRating);
11446    method @RequiresPermission(android.Manifest.permission.CAPTURE_TV_INPUT) public boolean captureFrame(String, android.view.Surface, android.media.tv.TvStreamConfig);
11447    method @NonNull @RequiresPermission(android.Manifest.permission.TIS_EXTENSION_INTERFACE) public java.util.List<java.lang.String> getAvailableExtensionInterfaceNames(@NonNull String);
11448    method @RequiresPermission(android.Manifest.permission.CAPTURE_TV_INPUT) public java.util.List<android.media.tv.TvStreamConfig> getAvailableTvStreamConfigList(String);
11449    method @RequiresPermission("android.permission.TUNER_RESOURCE_ACCESS") public int getClientPid(@NonNull String);
11450    method @RequiresPermission("android.permission.TUNER_RESOURCE_ACCESS") public int getClientPriority(int);
11451    method @RequiresPermission("android.permission.TUNER_RESOURCE_ACCESS") public int getClientPriority(int, @NonNull String);
11452    method @RequiresPermission(android.Manifest.permission.SINGLE_USER_TIS_ACCESS) public int getClientUserId(@NonNull String);
11453    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_TUNED_INFO) public java.util.List<android.media.tv.TunedInfo> getCurrentTunedInfos();
11454    method @NonNull @RequiresPermission("android.permission.DVB_DEVICE") public java.util.List<android.media.tv.DvbDeviceInfo> getDvbDeviceList();
11455    method @Nullable @RequiresPermission(android.Manifest.permission.TIS_EXTENSION_INTERFACE) public android.os.IBinder getExtensionInterface(@NonNull String, @NonNull String);
11456    method @RequiresPermission(android.Manifest.permission.TV_INPUT_HARDWARE) public java.util.List<android.media.tv.TvInputHardwareInfo> getHardwareList();
11457    method @RequiresPermission(android.Manifest.permission.READ_CONTENT_RATING_SYSTEMS) public java.util.List<android.media.tv.TvContentRatingSystemInfo> getTvContentRatingSystemList();
11458    method @RequiresPermission(android.Manifest.permission.CAPTURE_TV_INPUT) public boolean isSingleSessionActive();
11459    method @RequiresPermission(android.Manifest.permission.NOTIFY_TV_INPUTS) public void notifyPreviewProgramAddedToWatchNext(String, long, long);
11460    method @RequiresPermission(android.Manifest.permission.NOTIFY_TV_INPUTS) public void notifyPreviewProgramBrowsableDisabled(String, long);
11461    method @RequiresPermission(android.Manifest.permission.NOTIFY_TV_INPUTS) public void notifyWatchNextProgramBrowsableDisabled(String, long);
11462    method @Nullable @RequiresPermission("android.permission.DVB_DEVICE") public android.os.ParcelFileDescriptor openDvbDevice(@NonNull android.media.tv.DvbDeviceInfo, int);
11463    method @RequiresPermission(android.Manifest.permission.TV_INPUT_HARDWARE) public void releaseTvInputHardware(int, android.media.tv.TvInputManager.Hardware);
11464    method @RequiresPermission(android.Manifest.permission.MODIFY_PARENTAL_CONTROLS) public void removeBlockedRating(@NonNull android.media.tv.TvContentRating);
11465    method @RequiresPermission(android.Manifest.permission.MODIFY_PARENTAL_CONTROLS) public void setParentalControlsEnabled(boolean);
11466  }
11467
11468  public static final class TvInputManager.Hardware {
11469    method public void overrideAudioSink(@NonNull android.media.AudioDeviceInfo, @IntRange(from=0) int, int, int);
11470    method public void overrideAudioSink(int, String, int, int, int);
11471    method public void setStreamVolume(float);
11472    method public boolean setSurface(android.view.Surface, android.media.tv.TvStreamConfig);
11473  }
11474
11475  public abstract static class TvInputManager.HardwareCallback {
11476    ctor public TvInputManager.HardwareCallback();
11477    method public abstract void onReleased();
11478    method public abstract void onStreamConfigChanged(android.media.tv.TvStreamConfig[]);
11479  }
11480
11481  public abstract static class TvInputManager.TvInputCallback {
11482    method @RequiresPermission(android.Manifest.permission.ACCESS_TUNED_INFO) public void onCurrentTunedInfosUpdated(@NonNull java.util.List<android.media.tv.TunedInfo>);
11483  }
11484
11485  public abstract class TvInputService extends android.app.Service {
11486    method @Nullable public android.os.IBinder createExtension();
11487    method @NonNull public java.util.List<java.lang.String> getAvailableExtensionInterfaceNames();
11488    method @Nullable public android.os.IBinder getExtensionInterface(@NonNull String);
11489    method @Nullable public String getExtensionInterfacePermission(@NonNull String);
11490    method @Nullable public android.media.tv.TvInputInfo onHardwareAdded(android.media.tv.TvInputHardwareInfo);
11491    method @Nullable public String onHardwareRemoved(android.media.tv.TvInputHardwareInfo);
11492    method @Nullable public android.media.tv.TvInputInfo onHdmiDeviceAdded(android.hardware.hdmi.HdmiDeviceInfo);
11493    method @Nullable public String onHdmiDeviceRemoved(android.hardware.hdmi.HdmiDeviceInfo);
11494    method public void onHdmiDeviceUpdated(@NonNull android.hardware.hdmi.HdmiDeviceInfo);
11495  }
11496
11497  public abstract static class TvInputService.RecordingSession {
11498    method public void notifySessionEvent(@NonNull String, android.os.Bundle);
11499  }
11500
11501  public abstract static class TvInputService.Session implements android.view.KeyEvent.Callback {
11502    method public void notifySessionEvent(@NonNull String, android.os.Bundle);
11503    method public void onSetMain(boolean);
11504  }
11505
11506  public abstract static class TvRecordingClient.RecordingCallback {
11507    method public void onEvent(String, String, android.os.Bundle);
11508  }
11509
11510  public class TvStreamConfig implements android.os.Parcelable {
11511    method public int describeContents();
11512    method public int getGeneration();
11513    method public int getMaxHeight();
11514    method public int getMaxWidth();
11515    method public int getStreamId();
11516    method public int getType();
11517    method public void writeToParcel(android.os.Parcel, int);
11518    field @NonNull public static final android.os.Parcelable.Creator<android.media.tv.TvStreamConfig> CREATOR;
11519    field public static final int STREAM_TYPE_BUFFER_PRODUCER = 2; // 0x2
11520    field public static final int STREAM_TYPE_INDEPENDENT_VIDEO_SOURCE = 1; // 0x1
11521  }
11522
11523  public static final class TvStreamConfig.Builder {
11524    ctor public TvStreamConfig.Builder();
11525    method public android.media.tv.TvStreamConfig build();
11526    method public android.media.tv.TvStreamConfig.Builder generation(int);
11527    method public android.media.tv.TvStreamConfig.Builder maxHeight(int);
11528    method public android.media.tv.TvStreamConfig.Builder maxWidth(int);
11529    method public android.media.tv.TvStreamConfig.Builder streamId(int);
11530    method public android.media.tv.TvStreamConfig.Builder type(int);
11531  }
11532
11533  public class TvView extends android.view.ViewGroup {
11534    method @RequiresPermission("android.permission.CHANGE_HDMI_CEC_ACTIVE_SOURCE") public void setMain();
11535    method @RequiresPermission(android.Manifest.permission.MODIFY_PARENTAL_CONTROLS) public void unblockContent(android.media.tv.TvContentRating);
11536  }
11537
11538  public abstract static class TvView.TvInputCallback {
11539    method public void onEvent(String, String, android.os.Bundle);
11540  }
11541
11542}
11543
11544package android.media.tv.tuner {
11545
11546  public class DemuxCapabilities {
11547    method public int getAudioFilterCount();
11548    method public int getDemuxCount();
11549    method public int getFilterCapabilities();
11550    method @NonNull public int[] getFilterTypeCapabilityList();
11551    method @NonNull @Size(5) public int[] getLinkCapabilities();
11552    method public int getPcrFilterCount();
11553    method public int getPesFilterCount();
11554    method public int getPlaybackCount();
11555    method public int getRecordCount();
11556    method public int getSectionFilterCount();
11557    method public long getSectionFilterLength();
11558    method public int getTsFilterCount();
11559    method public int getVideoFilterCount();
11560    method public boolean isTimeFilterSupported();
11561  }
11562
11563  public class DemuxInfo {
11564    ctor public DemuxInfo(int);
11565    method public int getFilterTypes();
11566    method public void setFilterTypes(int);
11567  }
11568
11569  public class Descrambler implements java.lang.AutoCloseable {
11570    method public int addPid(int, int, @Nullable android.media.tv.tuner.filter.Filter);
11571    method public void close();
11572    method public static boolean isValidKeyToken(@NonNull byte[]);
11573    method public int removePid(int, int, @Nullable android.media.tv.tuner.filter.Filter);
11574    method public int setKeyToken(@NonNull byte[]);
11575    field public static final int PID_TYPE_MMTP = 2; // 0x2
11576    field public static final int PID_TYPE_T = 1; // 0x1
11577  }
11578
11579  public class Lnb implements java.lang.AutoCloseable {
11580    method public void addCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.LnbCallback);
11581    method public void close();
11582    method public boolean removeCallback(@NonNull android.media.tv.tuner.LnbCallback);
11583    method public int sendDiseqcMessage(@NonNull byte[]);
11584    method public int setSatellitePosition(int);
11585    method public int setTone(int);
11586    method public int setVoltage(int);
11587    field public static final int EVENT_TYPE_DISEQC_RX_OVERFLOW = 0; // 0x0
11588    field public static final int EVENT_TYPE_DISEQC_RX_PARITY_ERROR = 2; // 0x2
11589    field public static final int EVENT_TYPE_DISEQC_RX_TIMEOUT = 1; // 0x1
11590    field public static final int EVENT_TYPE_LNB_OVERLOAD = 3; // 0x3
11591    field public static final int POSITION_A = 1; // 0x1
11592    field public static final int POSITION_B = 2; // 0x2
11593    field public static final int POSITION_UNDEFINED = 0; // 0x0
11594    field public static final int TONE_CONTINUOUS = 1; // 0x1
11595    field public static final int TONE_NONE = 0; // 0x0
11596    field public static final int VOLTAGE_11V = 2; // 0x2
11597    field public static final int VOLTAGE_12V = 3; // 0x3
11598    field public static final int VOLTAGE_13V = 4; // 0x4
11599    field public static final int VOLTAGE_14V = 5; // 0x5
11600    field public static final int VOLTAGE_15V = 6; // 0x6
11601    field public static final int VOLTAGE_18V = 7; // 0x7
11602    field public static final int VOLTAGE_19V = 8; // 0x8
11603    field public static final int VOLTAGE_5V = 1; // 0x1
11604    field public static final int VOLTAGE_NONE = 0; // 0x0
11605  }
11606
11607  public interface LnbCallback {
11608    method public void onDiseqcMessage(@NonNull byte[]);
11609    method public void onEvent(int);
11610  }
11611
11612  public class Tuner implements java.lang.AutoCloseable {
11613    ctor @RequiresPermission(android.Manifest.permission.ACCESS_TV_TUNER) public Tuner(@NonNull android.content.Context, @Nullable String, int);
11614    method public int applyFrontend(@NonNull android.media.tv.tuner.frontend.FrontendInfo);
11615    method @RequiresPermission(allOf={"android.permission.TUNER_RESOURCE_ACCESS", "android.permission.ACCESS_TV_TUNER"}) public int applyFrontendByType(int);
11616    method public int cancelScanning();
11617    method public int cancelTuning();
11618    method public void clearOnTuneEventListener();
11619    method public void clearResourceLostListener();
11620    method public void close();
11621    method public void closeFrontend();
11622    method public int configureDemux(@Nullable android.media.tv.tuner.DemuxInfo);
11623    method public int connectCiCam(int);
11624    method public int connectFrontendToCiCam(int);
11625    method public int disconnectCiCam();
11626    method public int disconnectFrontendToCiCam(int);
11627    method public int getAvSyncHwId(@NonNull android.media.tv.tuner.filter.Filter);
11628    method public long getAvSyncTime(int);
11629    method @Nullable public java.util.List<android.media.tv.tuner.frontend.FrontendInfo> getAvailableFrontendInfos();
11630    method @Nullable public android.media.tv.tuner.DemuxInfo getCurrentDemuxInfo();
11631    method @Nullable public String getCurrentFrontendHardwareInfo();
11632    method @Nullable public android.media.tv.tuner.DemuxCapabilities getDemuxCapabilities();
11633    method @Nullable public android.media.tv.tuner.frontend.FrontendInfo getFrontendInfo();
11634    method @Nullable public android.media.tv.tuner.frontend.FrontendStatus getFrontendStatus(@NonNull int[]);
11635    method @NonNull public java.util.List<android.media.tv.tuner.frontend.FrontendStatusReadiness> getFrontendStatusReadiness(@NonNull int[]);
11636    method @IntRange(from=0xffffffff) public int getMaxNumberOfFrontends(int);
11637    method @RequiresPermission("android.permission.TUNER_RESOURCE_ACCESS") public boolean hasUnusedFrontend(int);
11638    method public boolean isLnaSupported();
11639    method public boolean isLowestPriority(int);
11640    method @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_TV_DESCRAMBLER) public android.media.tv.tuner.Descrambler openDescrambler();
11641    method @Nullable public android.media.tv.tuner.dvr.DvrPlayback openDvrPlayback(long, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.dvr.OnPlaybackStatusChangedListener);
11642    method @Nullable public android.media.tv.tuner.dvr.DvrRecorder openDvrRecorder(long, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.dvr.OnRecordStatusChangedListener);
11643    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);
11644    method @Nullable public android.media.tv.tuner.Lnb openLnb(@NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.LnbCallback);
11645    method @Nullable public android.media.tv.tuner.Lnb openLnbByName(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.LnbCallback);
11646    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);
11647    method @Nullable public android.media.tv.tuner.filter.TimeFilter openTimeFilter();
11648    method public int removeOutputPid(@IntRange(from=0) int);
11649    method public int scan(@NonNull android.media.tv.tuner.frontend.FrontendSettings, int, @NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.frontend.ScanCallback);
11650    method public int setLnaEnabled(boolean);
11651    method public int setMaxNumberOfFrontends(int, @IntRange(from=0) int);
11652    method public void setOnTuneEventListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.frontend.OnTuneEventListener);
11653    method public void setResourceLostListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.tv.tuner.Tuner.OnResourceLostListener);
11654    method @RequiresPermission("android.permission.TUNER_RESOURCE_ACCESS") public void setResourceOwnershipRetention(boolean);
11655    method public void shareFrontendFromTuner(@NonNull android.media.tv.tuner.Tuner);
11656    method public int transferOwner(@NonNull android.media.tv.tuner.Tuner);
11657    method public int tune(@NonNull android.media.tv.tuner.frontend.FrontendSettings);
11658    method @RequiresPermission("android.permission.TUNER_RESOURCE_ACCESS") public void updateResourcePriority(int, int);
11659    field public static final int INVALID_AV_SYNC_ID = -1; // 0xffffffff
11660    field public static final int INVALID_FILTER_ID = -1; // 0xffffffff
11661    field public static final long INVALID_FILTER_ID_LONG = -1L; // 0xffffffffffffffffL
11662    field public static final int INVALID_FIRST_MACROBLOCK_IN_SLICE = -1; // 0xffffffff
11663    field public static final int INVALID_FRONTEND_ID = -1; // 0xffffffff
11664    field public static final int INVALID_FRONTEND_SETTING_FREQUENCY = -1; // 0xffffffff
11665    field public static final int INVALID_LTS_ID = -1; // 0xffffffff
11666    field public static final int INVALID_MMTP_RECORD_EVENT_MPT_SEQUENCE_NUM = -1; // 0xffffffff
11667    field public static final int INVALID_STREAM_ID = 65535; // 0xffff
11668    field public static final long INVALID_TIMESTAMP = -1L; // 0xffffffffffffffffL
11669    field public static final int INVALID_TS_PID = 65535; // 0xffff
11670    field public static final int RESULT_INVALID_ARGUMENT = 4; // 0x4
11671    field public static final int RESULT_INVALID_STATE = 3; // 0x3
11672    field public static final int RESULT_NOT_INITIALIZED = 2; // 0x2
11673    field public static final int RESULT_OUT_OF_MEMORY = 5; // 0x5
11674    field public static final int RESULT_SUCCESS = 0; // 0x0
11675    field public static final int RESULT_UNAVAILABLE = 1; // 0x1
11676    field public static final int RESULT_UNKNOWN_ERROR = 6; // 0x6
11677    field public static final int SCAN_TYPE_AUTO = 1; // 0x1
11678    field public static final int SCAN_TYPE_BLIND = 2; // 0x2
11679    field public static final int SCAN_TYPE_UNDEFINED = 0; // 0x0
11680    field @NonNull public static final byte[] VOID_KEYTOKEN;
11681  }
11682
11683  public static interface Tuner.OnResourceLostListener {
11684    method public void onResourceLost(@NonNull android.media.tv.tuner.Tuner);
11685  }
11686
11687  public final class TunerVersionChecker {
11688    method public static int getTunerVersion();
11689    field public static final int TUNER_VERSION_1_0 = 65536; // 0x10000
11690    field public static final int TUNER_VERSION_1_1 = 65537; // 0x10001
11691    field public static final int TUNER_VERSION_2_0 = 131072; // 0x20000
11692    field public static final int TUNER_VERSION_3_0 = 196608; // 0x30000
11693    field public static final int TUNER_VERSION_4_0 = 262144; // 0x40000
11694    field public static final int TUNER_VERSION_UNKNOWN = 0; // 0x0
11695  }
11696
11697}
11698
11699package android.media.tv.tuner.dvr {
11700
11701  public class DvrPlayback implements java.lang.AutoCloseable {
11702    method @Deprecated public int attachFilter(@NonNull android.media.tv.tuner.filter.Filter);
11703    method public void close();
11704    method public int configure(@NonNull android.media.tv.tuner.dvr.DvrSettings);
11705    method @Deprecated public int detachFilter(@NonNull android.media.tv.tuner.filter.Filter);
11706    method public int flush();
11707    method public long read(@NonNull byte[], long, long);
11708    method public long read(long);
11709    method public long seek(long);
11710    method public void setFileDescriptor(@NonNull android.os.ParcelFileDescriptor);
11711    method public int setPlaybackBufferStatusCheckIntervalHint(long);
11712    method public int start();
11713    method public int stop();
11714    field public static final int PLAYBACK_STATUS_ALMOST_EMPTY = 2; // 0x2
11715    field public static final int PLAYBACK_STATUS_ALMOST_FULL = 4; // 0x4
11716    field public static final int PLAYBACK_STATUS_EMPTY = 1; // 0x1
11717    field public static final int PLAYBACK_STATUS_FULL = 8; // 0x8
11718  }
11719
11720  public class DvrRecorder implements java.lang.AutoCloseable {
11721    method public int attachFilter(@NonNull android.media.tv.tuner.filter.Filter);
11722    method public void close();
11723    method public int configure(@NonNull android.media.tv.tuner.dvr.DvrSettings);
11724    method public int detachFilter(@NonNull android.media.tv.tuner.filter.Filter);
11725    method public int flush();
11726    method public void setFileDescriptor(@NonNull android.os.ParcelFileDescriptor);
11727    method public int setRecordBufferStatusCheckIntervalHint(long);
11728    method public int start();
11729    method public int stop();
11730    method public long write(@NonNull byte[], long, long);
11731    method public long write(long);
11732  }
11733
11734  public class DvrSettings {
11735    method @NonNull public static android.media.tv.tuner.dvr.DvrSettings.Builder builder();
11736    method public int getDataFormat();
11737    method public long getHighThreshold();
11738    method public long getLowThreshold();
11739    method public long getPacketSize();
11740    method public int getStatusMask();
11741    field public static final int DATA_FORMAT_ES = 2; // 0x2
11742    field public static final int DATA_FORMAT_PES = 1; // 0x1
11743    field public static final int DATA_FORMAT_SHV_TLV = 3; // 0x3
11744    field public static final int DATA_FORMAT_TS = 0; // 0x0
11745  }
11746
11747  public static final class DvrSettings.Builder {
11748    ctor public DvrSettings.Builder();
11749    method @NonNull public android.media.tv.tuner.dvr.DvrSettings build();
11750    method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setDataFormat(int);
11751    method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setHighThreshold(long);
11752    method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setLowThreshold(long);
11753    method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setPacketSize(long);
11754    method @NonNull public android.media.tv.tuner.dvr.DvrSettings.Builder setStatusMask(int);
11755  }
11756
11757  public interface OnPlaybackStatusChangedListener {
11758    method public void onPlaybackStatusChanged(int);
11759  }
11760
11761  public interface OnRecordStatusChangedListener {
11762    method public void onRecordStatusChanged(int);
11763  }
11764
11765}
11766
11767package android.media.tv.tuner.filter {
11768
11769  public final class AlpFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
11770    method @NonNull public static android.media.tv.tuner.filter.AlpFilterConfiguration.Builder builder();
11771    method public int getLengthType();
11772    method public int getPacketType();
11773    method public int getType();
11774    field public static final int LENGTH_TYPE_UNDEFINED = 0; // 0x0
11775    field public static final int LENGTH_TYPE_WITHOUT_ADDITIONAL_HEADER = 1; // 0x1
11776    field public static final int LENGTH_TYPE_WITH_ADDITIONAL_HEADER = 2; // 0x2
11777    field public static final int PACKET_TYPE_COMPRESSED = 2; // 0x2
11778    field public static final int PACKET_TYPE_EXTENSION = 6; // 0x6
11779    field public static final int PACKET_TYPE_IPV4 = 0; // 0x0
11780    field public static final int PACKET_TYPE_MPEG2_TS = 7; // 0x7
11781    field public static final int PACKET_TYPE_SIGNALING = 4; // 0x4
11782  }
11783
11784  public static final class AlpFilterConfiguration.Builder {
11785    method @NonNull public android.media.tv.tuner.filter.AlpFilterConfiguration build();
11786    method @NonNull public android.media.tv.tuner.filter.AlpFilterConfiguration.Builder setLengthType(int);
11787    method @NonNull public android.media.tv.tuner.filter.AlpFilterConfiguration.Builder setPacketType(int);
11788    method @NonNull public android.media.tv.tuner.filter.AlpFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings);
11789  }
11790
11791  public class AudioDescriptor {
11792    method public byte getAdFade();
11793    method public byte getAdGainCenter();
11794    method public byte getAdGainFront();
11795    method public byte getAdGainSurround();
11796    method public byte getAdPan();
11797    method public char getAdVersionTextTag();
11798  }
11799
11800  public class AvSettings extends android.media.tv.tuner.filter.Settings {
11801    method @NonNull public static android.media.tv.tuner.filter.AvSettings.Builder builder(int, boolean);
11802    method public int getAudioStreamType();
11803    method public int getVideoStreamType();
11804    method public boolean isPassthrough();
11805    method public boolean useSecureMemory();
11806    field public static final int AUDIO_STREAM_TYPE_AAC = 6; // 0x6
11807    field public static final int AUDIO_STREAM_TYPE_AAC_ADTS = 16; // 0x10
11808    field public static final int AUDIO_STREAM_TYPE_AAC_HE_ADTS = 18; // 0x12
11809    field public static final int AUDIO_STREAM_TYPE_AAC_HE_LATM = 19; // 0x13
11810    field public static final int AUDIO_STREAM_TYPE_AAC_LATM = 17; // 0x11
11811    field public static final int AUDIO_STREAM_TYPE_AC3 = 7; // 0x7
11812    field public static final int AUDIO_STREAM_TYPE_AC4 = 9; // 0x9
11813    field public static final int AUDIO_STREAM_TYPE_DRA = 15; // 0xf
11814    field public static final int AUDIO_STREAM_TYPE_DTS = 10; // 0xa
11815    field public static final int AUDIO_STREAM_TYPE_DTS_HD = 11; // 0xb
11816    field public static final int AUDIO_STREAM_TYPE_EAC3 = 8; // 0x8
11817    field public static final int AUDIO_STREAM_TYPE_MP3 = 2; // 0x2
11818    field public static final int AUDIO_STREAM_TYPE_MPEG1 = 3; // 0x3
11819    field public static final int AUDIO_STREAM_TYPE_MPEG2 = 4; // 0x4
11820    field public static final int AUDIO_STREAM_TYPE_MPEGH = 5; // 0x5
11821    field public static final int AUDIO_STREAM_TYPE_OPUS = 13; // 0xd
11822    field public static final int AUDIO_STREAM_TYPE_PCM = 1; // 0x1
11823    field public static final int AUDIO_STREAM_TYPE_UNDEFINED = 0; // 0x0
11824    field public static final int AUDIO_STREAM_TYPE_VORBIS = 14; // 0xe
11825    field public static final int AUDIO_STREAM_TYPE_WMA = 12; // 0xc
11826    field public static final int VIDEO_STREAM_TYPE_AV1 = 10; // 0xa
11827    field public static final int VIDEO_STREAM_TYPE_AVC = 5; // 0x5
11828    field public static final int VIDEO_STREAM_TYPE_AVS = 11; // 0xb
11829    field public static final int VIDEO_STREAM_TYPE_AVS2 = 12; // 0xc
11830    field public static final int VIDEO_STREAM_TYPE_HEVC = 6; // 0x6
11831    field public static final int VIDEO_STREAM_TYPE_MPEG1 = 2; // 0x2
11832    field public static final int VIDEO_STREAM_TYPE_MPEG2 = 3; // 0x3
11833    field public static final int VIDEO_STREAM_TYPE_MPEG4P2 = 4; // 0x4
11834    field public static final int VIDEO_STREAM_TYPE_RESERVED = 1; // 0x1
11835    field public static final int VIDEO_STREAM_TYPE_UNDEFINED = 0; // 0x0
11836    field public static final int VIDEO_STREAM_TYPE_VC1 = 7; // 0x7
11837    field public static final int VIDEO_STREAM_TYPE_VP8 = 8; // 0x8
11838    field public static final int VIDEO_STREAM_TYPE_VP9 = 9; // 0x9
11839    field public static final int VIDEO_STREAM_TYPE_VVC = 13; // 0xd
11840  }
11841
11842  public static class AvSettings.Builder {
11843    method @NonNull public android.media.tv.tuner.filter.AvSettings build();
11844    method @NonNull public android.media.tv.tuner.filter.AvSettings.Builder setAudioStreamType(int);
11845    method @NonNull public android.media.tv.tuner.filter.AvSettings.Builder setPassthrough(boolean);
11846    method @NonNull public android.media.tv.tuner.filter.AvSettings.Builder setUseSecureMemory(boolean);
11847    method @NonNull public android.media.tv.tuner.filter.AvSettings.Builder setVideoStreamType(int);
11848  }
11849
11850  public class DownloadEvent extends android.media.tv.tuner.filter.FilterEvent {
11851    method public int getDataLength();
11852    method public int getDownloadId();
11853    method public int getItemFragmentIndex();
11854    method public int getItemId();
11855    method public int getLastItemFragmentIndex();
11856    method @IntRange(from=0) public int getMpuSequenceNumber();
11857  }
11858
11859  public class DownloadSettings extends android.media.tv.tuner.filter.Settings {
11860    method @NonNull public static android.media.tv.tuner.filter.DownloadSettings.Builder builder(int);
11861    method public int getDownloadId();
11862    method public boolean useDownloadId();
11863  }
11864
11865  public static class DownloadSettings.Builder {
11866    method @NonNull public android.media.tv.tuner.filter.DownloadSettings build();
11867    method @NonNull public android.media.tv.tuner.filter.DownloadSettings.Builder setDownloadId(int);
11868    method @NonNull public android.media.tv.tuner.filter.DownloadSettings.Builder setUseDownloadId(boolean);
11869  }
11870
11871  public class Filter implements java.lang.AutoCloseable {
11872    method @Nullable public String acquireSharedFilterToken();
11873    method public void close();
11874    method public int configure(@NonNull android.media.tv.tuner.filter.FilterConfiguration);
11875    method public int delayCallbackForDurationMillis(long);
11876    method public int delayCallbackUntilBytesAccumulated(int);
11877    method public int flush();
11878    method public void freeSharedFilterToken(@NonNull String);
11879    method @Deprecated public int getId();
11880    method public long getIdLong();
11881    method public int read(@NonNull byte[], long, long);
11882    method public int setDataSource(@Nullable android.media.tv.tuner.filter.Filter);
11883    method public int setMonitorEventMask(int);
11884    method public int start();
11885    method public int stop();
11886    field public static final int MONITOR_EVENT_IP_CID_CHANGE = 2; // 0x2
11887    field public static final int MONITOR_EVENT_SCRAMBLING_STATUS = 1; // 0x1
11888    field public static final int SCRAMBLING_STATUS_NOT_SCRAMBLED = 2; // 0x2
11889    field public static final int SCRAMBLING_STATUS_SCRAMBLED = 4; // 0x4
11890    field public static final int SCRAMBLING_STATUS_UNKNOWN = 1; // 0x1
11891    field public static final int STATUS_DATA_READY = 1; // 0x1
11892    field public static final int STATUS_HIGH_WATER = 4; // 0x4
11893    field public static final int STATUS_LOW_WATER = 2; // 0x2
11894    field public static final int STATUS_NO_DATA = 16; // 0x10
11895    field public static final int STATUS_OVERFLOW = 8; // 0x8
11896    field public static final int SUBTYPE_AUDIO = 3; // 0x3
11897    field public static final int SUBTYPE_DOWNLOAD = 5; // 0x5
11898    field public static final int SUBTYPE_IP = 13; // 0xd
11899    field public static final int SUBTYPE_IP_PAYLOAD = 12; // 0xc
11900    field public static final int SUBTYPE_MMTP = 10; // 0xa
11901    field public static final int SUBTYPE_NTP = 11; // 0xb
11902    field public static final int SUBTYPE_PAYLOAD_THROUGH = 14; // 0xe
11903    field public static final int SUBTYPE_PCR = 8; // 0x8
11904    field public static final int SUBTYPE_PES = 2; // 0x2
11905    field public static final int SUBTYPE_PTP = 16; // 0x10
11906    field public static final int SUBTYPE_RECORD = 6; // 0x6
11907    field public static final int SUBTYPE_SECTION = 1; // 0x1
11908    field public static final int SUBTYPE_TEMI = 9; // 0x9
11909    field public static final int SUBTYPE_TLV = 15; // 0xf
11910    field public static final int SUBTYPE_TS = 7; // 0x7
11911    field public static final int SUBTYPE_UNDEFINED = 0; // 0x0
11912    field public static final int SUBTYPE_VIDEO = 4; // 0x4
11913    field public static final int TYPE_ALP = 16; // 0x10
11914    field public static final int TYPE_IP = 4; // 0x4
11915    field public static final int TYPE_MMTP = 2; // 0x2
11916    field public static final int TYPE_TLV = 8; // 0x8
11917    field public static final int TYPE_TS = 1; // 0x1
11918    field public static final int TYPE_UNDEFINED = 0; // 0x0
11919  }
11920
11921  public interface FilterCallback {
11922    method public void onFilterEvent(@NonNull android.media.tv.tuner.filter.Filter, @NonNull android.media.tv.tuner.filter.FilterEvent[]);
11923    method public void onFilterStatusChanged(@NonNull android.media.tv.tuner.filter.Filter, int);
11924  }
11925
11926  public abstract class FilterConfiguration {
11927    method @Nullable public android.media.tv.tuner.filter.Settings getSettings();
11928    method public abstract int getType();
11929  }
11930
11931  public abstract class FilterEvent {
11932    ctor public FilterEvent();
11933  }
11934
11935  public final class IpCidChangeEvent extends android.media.tv.tuner.filter.FilterEvent {
11936    method public int getIpCid();
11937  }
11938
11939  public final class IpFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
11940    method @NonNull public static android.media.tv.tuner.filter.IpFilterConfiguration.Builder builder();
11941    method @NonNull @Size(min=4, max=16) public byte[] getDstIpAddress();
11942    method public int getDstPort();
11943    method @IntRange(from=0, to=61439) public int getIpFilterContextId();
11944    method @NonNull @Size(min=4, max=16) public byte[] getSrcIpAddress();
11945    method public int getSrcPort();
11946    method public int getType();
11947    method public boolean isPassthrough();
11948    field public static final int INVALID_IP_FILTER_CONTEXT_ID = -1; // 0xffffffff
11949  }
11950
11951  public static final class IpFilterConfiguration.Builder {
11952    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration build();
11953    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setDstIpAddress(@NonNull byte[]);
11954    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setDstPort(int);
11955    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setIpFilterContextId(int);
11956    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setPassthrough(boolean);
11957    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings);
11958    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setSrcIpAddress(@NonNull byte[]);
11959    method @NonNull public android.media.tv.tuner.filter.IpFilterConfiguration.Builder setSrcPort(int);
11960  }
11961
11962  public class IpPayloadEvent extends android.media.tv.tuner.filter.FilterEvent {
11963    method public int getDataLength();
11964  }
11965
11966  public class MediaEvent extends android.media.tv.tuner.filter.FilterEvent {
11967    method protected void finalize();
11968    method public long getAudioHandle();
11969    method @NonNull public java.util.List<android.media.AudioPresentation> getAudioPresentations();
11970    method public long getAvDataId();
11971    method public int getDataGroupId();
11972    method public long getDataLength();
11973    method public long getDts();
11974    method @Nullable public android.media.tv.tuner.filter.AudioDescriptor getExtraMetaData();
11975    method @IntRange(from=0) public int getIndexInDataGroup();
11976    method @Nullable public android.media.MediaCodec.LinearBlock getLinearBlock();
11977    method @IntRange(from=0) public int getMpuSequenceNumber();
11978    method @IntRange(from=0) public int getNumDataPieces();
11979    method public long getOffset();
11980    method public long getPts();
11981    method public int getScIndexMask();
11982    method public int getStreamId();
11983    method public boolean isDtsPresent();
11984    method public boolean isPrivateData();
11985    method public boolean isPtsPresent();
11986    method public boolean isSecureMemory();
11987    method public void release();
11988  }
11989
11990  public final class MmtpFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
11991    method @NonNull public static android.media.tv.tuner.filter.MmtpFilterConfiguration.Builder builder();
11992    method public int getMmtpPacketId();
11993    method public int getType();
11994  }
11995
11996  public static final class MmtpFilterConfiguration.Builder {
11997    method @NonNull public android.media.tv.tuner.filter.MmtpFilterConfiguration build();
11998    method @NonNull public android.media.tv.tuner.filter.MmtpFilterConfiguration.Builder setMmtpPacketId(int);
11999    method @NonNull public android.media.tv.tuner.filter.MmtpFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings);
12000  }
12001
12002  public class MmtpRecordEvent extends android.media.tv.tuner.filter.FilterEvent {
12003    method public long getDataLength();
12004    method public int getFirstMacroblockInSlice();
12005    method @IntRange(from=0) public int getMpuSequenceNumber();
12006    method public long getPts();
12007    method public int getScHevcIndexMask();
12008    method public int getTsIndexMask();
12009  }
12010
12011  public class PesEvent extends android.media.tv.tuner.filter.FilterEvent {
12012    method public int getDataLength();
12013    method @IntRange(from=0) public int getMpuSequenceNumber();
12014    method public int getStreamId();
12015  }
12016
12017  public class PesSettings extends android.media.tv.tuner.filter.Settings {
12018    method @NonNull public static android.media.tv.tuner.filter.PesSettings.Builder builder(int);
12019    method public int getStreamId();
12020    method public boolean isRaw();
12021  }
12022
12023  public static class PesSettings.Builder {
12024    method @NonNull public android.media.tv.tuner.filter.PesSettings build();
12025    method @NonNull public android.media.tv.tuner.filter.PesSettings.Builder setRaw(boolean);
12026    method @NonNull public android.media.tv.tuner.filter.PesSettings.Builder setStreamId(int);
12027  }
12028
12029  public class RecordSettings extends android.media.tv.tuner.filter.Settings {
12030    method @NonNull public static android.media.tv.tuner.filter.RecordSettings.Builder builder(int);
12031    method public int getScIndexMask();
12032    method public int getScIndexType();
12033    method public int getTsIndexMask();
12034    field public static final int INDEX_TYPE_NONE = 0; // 0x0
12035    field public static final int INDEX_TYPE_SC = 1; // 0x1
12036    field public static final int INDEX_TYPE_SC_AVC = 3; // 0x3
12037    field public static final int INDEX_TYPE_SC_HEVC = 2; // 0x2
12038    field public static final int INDEX_TYPE_SC_VVC = 4; // 0x4
12039    field public static final int MPT_INDEX_AUDIO = 262144; // 0x40000
12040    field public static final int MPT_INDEX_MPT = 65536; // 0x10000
12041    field public static final int MPT_INDEX_TIMESTAMP_TARGET_AUDIO = 1048576; // 0x100000
12042    field public static final int MPT_INDEX_TIMESTAMP_TARGET_VIDEO = 524288; // 0x80000
12043    field public static final int MPT_INDEX_VIDEO = 131072; // 0x20000
12044    field public static final int SC_HEVC_INDEX_AUD = 2; // 0x2
12045    field public static final int SC_HEVC_INDEX_SLICE_BLA_N_LP = 16; // 0x10
12046    field public static final int SC_HEVC_INDEX_SLICE_BLA_W_RADL = 8; // 0x8
12047    field public static final int SC_HEVC_INDEX_SLICE_CE_BLA_W_LP = 4; // 0x4
12048    field public static final int SC_HEVC_INDEX_SLICE_IDR_N_LP = 64; // 0x40
12049    field public static final int SC_HEVC_INDEX_SLICE_IDR_W_RADL = 32; // 0x20
12050    field public static final int SC_HEVC_INDEX_SLICE_TRAIL_CRA = 128; // 0x80
12051    field public static final int SC_HEVC_INDEX_SPS = 1; // 0x1
12052    field public static final int SC_INDEX_B_FRAME = 4; // 0x4
12053    field public static final int SC_INDEX_B_SLICE = 64; // 0x40
12054    field public static final int SC_INDEX_I_FRAME = 1; // 0x1
12055    field public static final int SC_INDEX_I_SLICE = 16; // 0x10
12056    field public static final int SC_INDEX_P_FRAME = 2; // 0x2
12057    field public static final int SC_INDEX_P_SLICE = 32; // 0x20
12058    field public static final int SC_INDEX_SEQUENCE = 8; // 0x8
12059    field public static final int SC_INDEX_SI_SLICE = 128; // 0x80
12060    field public static final int SC_INDEX_SP_SLICE = 256; // 0x100
12061    field public static final int SC_VVC_INDEX_AUD = 64; // 0x40
12062    field public static final int SC_VVC_INDEX_SLICE_CRA = 4; // 0x4
12063    field public static final int SC_VVC_INDEX_SLICE_GDR = 8; // 0x8
12064    field public static final int SC_VVC_INDEX_SLICE_IDR_N_LP = 2; // 0x2
12065    field public static final int SC_VVC_INDEX_SLICE_IDR_W_RADL = 1; // 0x1
12066    field public static final int SC_VVC_INDEX_SPS = 32; // 0x20
12067    field public static final int SC_VVC_INDEX_VPS = 16; // 0x10
12068    field public static final int TS_INDEX_ADAPTATION_EXTENSION_FLAG = 4096; // 0x1000
12069    field public static final int TS_INDEX_CHANGE_TO_EVEN_SCRAMBLED = 8; // 0x8
12070    field public static final int TS_INDEX_CHANGE_TO_NOT_SCRAMBLED = 4; // 0x4
12071    field public static final int TS_INDEX_CHANGE_TO_ODD_SCRAMBLED = 16; // 0x10
12072    field public static final int TS_INDEX_DISCONTINUITY_INDICATOR = 32; // 0x20
12073    field public static final int TS_INDEX_FIRST_PACKET = 1; // 0x1
12074    field public static final int TS_INDEX_INVALID = 0; // 0x0
12075    field public static final int TS_INDEX_OPCR_FLAG = 512; // 0x200
12076    field public static final int TS_INDEX_PAYLOAD_UNIT_START_INDICATOR = 2; // 0x2
12077    field public static final int TS_INDEX_PCR_FLAG = 256; // 0x100
12078    field public static final int TS_INDEX_PRIORITY_INDICATOR = 128; // 0x80
12079    field public static final int TS_INDEX_PRIVATE_DATA = 2048; // 0x800
12080    field public static final int TS_INDEX_RANDOM_ACCESS_INDICATOR = 64; // 0x40
12081    field public static final int TS_INDEX_SPLICING_POINT_FLAG = 1024; // 0x400
12082  }
12083
12084  public static class RecordSettings.Builder {
12085    method @NonNull public android.media.tv.tuner.filter.RecordSettings build();
12086    method @NonNull public android.media.tv.tuner.filter.RecordSettings.Builder setScIndexMask(int);
12087    method @NonNull public android.media.tv.tuner.filter.RecordSettings.Builder setScIndexType(int);
12088    method @NonNull public android.media.tv.tuner.filter.RecordSettings.Builder setTsIndexMask(int);
12089  }
12090
12091  public final class RestartEvent extends android.media.tv.tuner.filter.FilterEvent {
12092    method public int getStartId();
12093    field public static final int NEW_FILTER_FIRST_START_ID = 0; // 0x0
12094  }
12095
12096  public final class ScramblingStatusEvent extends android.media.tv.tuner.filter.FilterEvent {
12097    method public int getScramblingStatus();
12098  }
12099
12100  public class SectionEvent extends android.media.tv.tuner.filter.FilterEvent {
12101    method @Deprecated public int getDataLength();
12102    method public long getDataLengthLong();
12103    method public int getSectionNumber();
12104    method public int getTableId();
12105    method public int getVersion();
12106  }
12107
12108  public abstract class SectionSettings extends android.media.tv.tuner.filter.Settings {
12109    method public int getLengthFieldBitWidth();
12110    method public boolean isCrcEnabled();
12111    method public boolean isRaw();
12112    method public boolean isRepeat();
12113  }
12114
12115  public abstract static class SectionSettings.Builder<T extends android.media.tv.tuner.filter.SectionSettings.Builder<T>> {
12116    method @NonNull public T setBitWidthOfLengthField(@IntRange(from=0) int);
12117    method @NonNull public T setCrcEnabled(boolean);
12118    method @NonNull public T setRaw(boolean);
12119    method @NonNull public T setRepeat(boolean);
12120  }
12121
12122  public class SectionSettingsWithSectionBits extends android.media.tv.tuner.filter.SectionSettings {
12123    method @NonNull public static android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder builder(int);
12124    method @NonNull public byte[] getFilterBytes();
12125    method @NonNull public byte[] getMask();
12126    method @NonNull public byte[] getMode();
12127  }
12128
12129  public static class SectionSettingsWithSectionBits.Builder extends android.media.tv.tuner.filter.SectionSettings.Builder<android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder> {
12130    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithSectionBits build();
12131    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder setFilter(@NonNull byte[]);
12132    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder setMask(@NonNull byte[]);
12133    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithSectionBits.Builder setMode(@NonNull byte[]);
12134  }
12135
12136  public class SectionSettingsWithTableInfo extends android.media.tv.tuner.filter.SectionSettings {
12137    method @NonNull public static android.media.tv.tuner.filter.SectionSettingsWithTableInfo.Builder builder(int);
12138    method public int getTableId();
12139    method public int getVersion();
12140    field public static final int INVALID_TABLE_INFO_VERSION = -1; // 0xffffffff
12141  }
12142
12143  public static class SectionSettingsWithTableInfo.Builder extends android.media.tv.tuner.filter.SectionSettings.Builder<android.media.tv.tuner.filter.SectionSettingsWithTableInfo.Builder> {
12144    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithTableInfo build();
12145    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithTableInfo.Builder setTableId(int);
12146    method @NonNull public android.media.tv.tuner.filter.SectionSettingsWithTableInfo.Builder setVersion(int);
12147  }
12148
12149  public abstract class Settings {
12150    method public int getType();
12151  }
12152
12153  public final class SharedFilter implements java.lang.AutoCloseable {
12154    method public void close();
12155    method public int flush();
12156    method public int read(@NonNull byte[], long, long);
12157    method public int start();
12158    method public int stop();
12159    field public static final int STATUS_INACCESSIBLE = 128; // 0x80
12160  }
12161
12162  public interface SharedFilterCallback {
12163    method public void onFilterEvent(@NonNull android.media.tv.tuner.filter.SharedFilter, @NonNull android.media.tv.tuner.filter.FilterEvent[]);
12164    method public void onFilterStatusChanged(@NonNull android.media.tv.tuner.filter.SharedFilter, int);
12165  }
12166
12167  public class TemiEvent extends android.media.tv.tuner.filter.FilterEvent {
12168    method @NonNull public byte[] getDescriptorData();
12169    method public byte getDescriptorTag();
12170    method public long getPts();
12171  }
12172
12173  public class TimeFilter implements java.lang.AutoCloseable {
12174    method public int clearTimestamp();
12175    method public void close();
12176    method public long getSourceTime();
12177    method public long getTimeStamp();
12178    method public int setCurrentTimestamp(long);
12179  }
12180
12181  public final class TlvFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
12182    method @NonNull public static android.media.tv.tuner.filter.TlvFilterConfiguration.Builder builder();
12183    method public int getPacketType();
12184    method public int getType();
12185    method public boolean isCompressedIpPacket();
12186    method public boolean isPassthrough();
12187    field public static final int PACKET_TYPE_COMPRESSED = 3; // 0x3
12188    field public static final int PACKET_TYPE_IPV4 = 1; // 0x1
12189    field public static final int PACKET_TYPE_IPV6 = 2; // 0x2
12190    field public static final int PACKET_TYPE_NULL = 255; // 0xff
12191    field public static final int PACKET_TYPE_SIGNALING = 254; // 0xfe
12192  }
12193
12194  public static final class TlvFilterConfiguration.Builder {
12195    method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration build();
12196    method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration.Builder setCompressedIpPacket(boolean);
12197    method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration.Builder setPacketType(int);
12198    method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration.Builder setPassthrough(boolean);
12199    method @NonNull public android.media.tv.tuner.filter.TlvFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings);
12200  }
12201
12202  public final class TsFilterConfiguration extends android.media.tv.tuner.filter.FilterConfiguration {
12203    method @NonNull public static android.media.tv.tuner.filter.TsFilterConfiguration.Builder builder();
12204    method public int getTpid();
12205    method public int getType();
12206  }
12207
12208  public static final class TsFilterConfiguration.Builder {
12209    method @NonNull public android.media.tv.tuner.filter.TsFilterConfiguration build();
12210    method @NonNull public android.media.tv.tuner.filter.TsFilterConfiguration.Builder setSettings(@Nullable android.media.tv.tuner.filter.Settings);
12211    method @NonNull public android.media.tv.tuner.filter.TsFilterConfiguration.Builder setTpid(int);
12212  }
12213
12214  public class TsRecordEvent extends android.media.tv.tuner.filter.FilterEvent {
12215    method public long getDataLength();
12216    method public int getFirstMacroblockInSlice();
12217    method public int getPacketId();
12218    method public long getPts();
12219    method public int getScIndexMask();
12220    method public int getTsIndexMask();
12221  }
12222
12223}
12224
12225package android.media.tv.tuner.frontend {
12226
12227  public class AnalogFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
12228    method public int getSifStandardCapability();
12229    method public int getSignalTypeCapability();
12230  }
12231
12232  public class AnalogFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
12233    method @NonNull public static android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder builder();
12234    method public int getAftFlag();
12235    method public int getSifStandard();
12236    method public int getSignalType();
12237    method public int getType();
12238    field public static final int AFT_FLAG_FALSE = 2; // 0x2
12239    field public static final int AFT_FLAG_TRUE = 1; // 0x1
12240    field public static final int AFT_FLAG_UNDEFINED = 0; // 0x0
12241    field public static final int SIF_AUTO = 1; // 0x1
12242    field public static final int SIF_BG = 2; // 0x2
12243    field public static final int SIF_BG_A2 = 4; // 0x4
12244    field public static final int SIF_BG_NICAM = 8; // 0x8
12245    field public static final int SIF_DK = 32; // 0x20
12246    field public static final int SIF_DK1_A2 = 64; // 0x40
12247    field public static final int SIF_DK2_A2 = 128; // 0x80
12248    field public static final int SIF_DK3_A2 = 256; // 0x100
12249    field public static final int SIF_DK_NICAM = 512; // 0x200
12250    field public static final int SIF_I = 16; // 0x10
12251    field public static final int SIF_I_NICAM = 32768; // 0x8000
12252    field public static final int SIF_L = 1024; // 0x400
12253    field public static final int SIF_L_NICAM = 65536; // 0x10000
12254    field public static final int SIF_L_PRIME = 131072; // 0x20000
12255    field public static final int SIF_M = 2048; // 0x800
12256    field public static final int SIF_M_A2 = 8192; // 0x2000
12257    field public static final int SIF_M_BTSC = 4096; // 0x1000
12258    field public static final int SIF_M_EIAJ = 16384; // 0x4000
12259    field public static final int SIF_UNDEFINED = 0; // 0x0
12260    field public static final int SIGNAL_TYPE_AUTO = 1; // 0x1
12261    field public static final int SIGNAL_TYPE_NTSC = 32; // 0x20
12262    field public static final int SIGNAL_TYPE_NTSC_443 = 64; // 0x40
12263    field public static final int SIGNAL_TYPE_PAL = 2; // 0x2
12264    field public static final int SIGNAL_TYPE_PAL_60 = 16; // 0x10
12265    field public static final int SIGNAL_TYPE_PAL_M = 4; // 0x4
12266    field public static final int SIGNAL_TYPE_PAL_N = 8; // 0x8
12267    field public static final int SIGNAL_TYPE_SECAM = 128; // 0x80
12268    field public static final int SIGNAL_TYPE_UNDEFINED = 0; // 0x0
12269  }
12270
12271  public static class AnalogFrontendSettings.Builder {
12272    method @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings build();
12273    method @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder setAftFlag(int);
12274    method @Deprecated @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder setFrequency(int);
12275    method @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder setFrequencyLong(long);
12276    method @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder setSifStandard(int);
12277    method @NonNull public android.media.tv.tuner.frontend.AnalogFrontendSettings.Builder setSignalType(int);
12278  }
12279
12280  public class Atsc3FrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
12281    method public int getBandwidthCapability();
12282    method public int getDemodOutputFormatCapability();
12283    method public int getFecCapability();
12284    method public int getModulationCapability();
12285    method public int getPlpCodeRateCapability();
12286    method public int getTimeInterleaveModeCapability();
12287  }
12288
12289  public class Atsc3FrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
12290    method @NonNull public static android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder builder();
12291    method public int getBandwidth();
12292    method public int getDemodOutputFormat();
12293    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings[] getPlpSettings();
12294    method public int getType();
12295    field public static final int BANDWIDTH_AUTO = 1; // 0x1
12296    field public static final int BANDWIDTH_BANDWIDTH_6MHZ = 2; // 0x2
12297    field public static final int BANDWIDTH_BANDWIDTH_7MHZ = 4; // 0x4
12298    field public static final int BANDWIDTH_BANDWIDTH_8MHZ = 8; // 0x8
12299    field public static final int BANDWIDTH_UNDEFINED = 0; // 0x0
12300    field public static final int CODERATE_10_15 = 512; // 0x200
12301    field public static final int CODERATE_11_15 = 1024; // 0x400
12302    field public static final int CODERATE_12_15 = 2048; // 0x800
12303    field public static final int CODERATE_13_15 = 4096; // 0x1000
12304    field public static final int CODERATE_2_15 = 2; // 0x2
12305    field public static final int CODERATE_3_15 = 4; // 0x4
12306    field public static final int CODERATE_4_15 = 8; // 0x8
12307    field public static final int CODERATE_5_15 = 16; // 0x10
12308    field public static final int CODERATE_6_15 = 32; // 0x20
12309    field public static final int CODERATE_7_15 = 64; // 0x40
12310    field public static final int CODERATE_8_15 = 128; // 0x80
12311    field public static final int CODERATE_9_15 = 256; // 0x100
12312    field public static final int CODERATE_AUTO = 1; // 0x1
12313    field public static final int CODERATE_UNDEFINED = 0; // 0x0
12314    field public static final int DEMOD_OUTPUT_FORMAT_ATSC3_LINKLAYER_PACKET = 1; // 0x1
12315    field public static final int DEMOD_OUTPUT_FORMAT_BASEBAND_PACKET = 2; // 0x2
12316    field public static final int DEMOD_OUTPUT_FORMAT_UNDEFINED = 0; // 0x0
12317    field public static final int FEC_AUTO = 1; // 0x1
12318    field public static final int FEC_BCH_LDPC_16K = 2; // 0x2
12319    field public static final int FEC_BCH_LDPC_64K = 4; // 0x4
12320    field public static final int FEC_CRC_LDPC_16K = 8; // 0x8
12321    field public static final int FEC_CRC_LDPC_64K = 16; // 0x10
12322    field public static final int FEC_LDPC_16K = 32; // 0x20
12323    field public static final int FEC_LDPC_64K = 64; // 0x40
12324    field public static final int FEC_UNDEFINED = 0; // 0x0
12325    field public static final int MODULATION_AUTO = 1; // 0x1
12326    field public static final int MODULATION_MOD_1024QAM = 32; // 0x20
12327    field public static final int MODULATION_MOD_16QAM = 4; // 0x4
12328    field public static final int MODULATION_MOD_256QAM = 16; // 0x10
12329    field public static final int MODULATION_MOD_4096QAM = 64; // 0x40
12330    field public static final int MODULATION_MOD_64QAM = 8; // 0x8
12331    field public static final int MODULATION_MOD_QPSK = 2; // 0x2
12332    field public static final int MODULATION_UNDEFINED = 0; // 0x0
12333    field public static final int TIME_INTERLEAVE_MODE_AUTO = 1; // 0x1
12334    field public static final int TIME_INTERLEAVE_MODE_CTI = 2; // 0x2
12335    field public static final int TIME_INTERLEAVE_MODE_HTI = 4; // 0x4
12336    field public static final int TIME_INTERLEAVE_MODE_UNDEFINED = 0; // 0x0
12337  }
12338
12339  public static class Atsc3FrontendSettings.Builder {
12340    method @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings build();
12341    method @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setBandwidth(int);
12342    method @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setDemodOutputFormat(int);
12343    method @Deprecated @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setFrequency(int);
12344    method @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setFrequencyLong(long);
12345    method @NonNull public android.media.tv.tuner.frontend.Atsc3FrontendSettings.Builder setPlpSettings(@NonNull android.media.tv.tuner.frontend.Atsc3PlpSettings[]);
12346  }
12347
12348  public class Atsc3PlpInfo {
12349    method public boolean getLlsFlag();
12350    method public int getPlpId();
12351  }
12352
12353  public class Atsc3PlpSettings {
12354    method @NonNull public static android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder builder();
12355    method public int getCodeRate();
12356    method public int getFec();
12357    method public int getInterleaveMode();
12358    method public int getModulation();
12359    method public int getPlpId();
12360  }
12361
12362  public static class Atsc3PlpSettings.Builder {
12363    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings build();
12364    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setCodeRate(int);
12365    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setFec(int);
12366    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setInterleaveMode(int);
12367    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setModulation(int);
12368    method @NonNull public android.media.tv.tuner.frontend.Atsc3PlpSettings.Builder setPlpId(int);
12369  }
12370
12371  public class AtscFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
12372    method public int getModulationCapability();
12373  }
12374
12375  public class AtscFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
12376    method @NonNull public static android.media.tv.tuner.frontend.AtscFrontendSettings.Builder builder();
12377    method public int getModulation();
12378    method public int getType();
12379    field public static final int MODULATION_AUTO = 1; // 0x1
12380    field public static final int MODULATION_MOD_16VSB = 8; // 0x8
12381    field public static final int MODULATION_MOD_8VSB = 4; // 0x4
12382    field public static final int MODULATION_UNDEFINED = 0; // 0x0
12383  }
12384
12385  public static class AtscFrontendSettings.Builder {
12386    method @NonNull public android.media.tv.tuner.frontend.AtscFrontendSettings build();
12387    method @Deprecated @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.AtscFrontendSettings.Builder setFrequency(int);
12388    method @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.AtscFrontendSettings.Builder setFrequencyLong(long);
12389    method @NonNull public android.media.tv.tuner.frontend.AtscFrontendSettings.Builder setModulation(int);
12390  }
12391
12392  public final class DtmbFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
12393    method public int getBandwidthCapability();
12394    method public int getCodeRateCapability();
12395    method public int getGuardIntervalCapability();
12396    method public int getModulationCapability();
12397    method public int getTimeInterleaveModeCapability();
12398    method public int getTransmissionModeCapability();
12399  }
12400
12401  public final class DtmbFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
12402    method @NonNull public static android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder builder();
12403    method public int getBandwidth();
12404    method public int getCodeRate();
12405    method public int getGuardInterval();
12406    method public int getModulation();
12407    method public int getTimeInterleaveMode();
12408    method public int getTransmissionMode();
12409    method public int getType();
12410    field public static final int BANDWIDTH_6MHZ = 4; // 0x4
12411    field public static final int BANDWIDTH_8MHZ = 2; // 0x2
12412    field public static final int BANDWIDTH_AUTO = 1; // 0x1
12413    field public static final int BANDWIDTH_UNDEFINED = 0; // 0x0
12414    field public static final int CODERATE_2_5 = 2; // 0x2
12415    field public static final int CODERATE_3_5 = 4; // 0x4
12416    field public static final int CODERATE_4_5 = 8; // 0x8
12417    field public static final int CODERATE_AUTO = 1; // 0x1
12418    field public static final int CODERATE_UNDEFINED = 0; // 0x0
12419    field public static final int GUARD_INTERVAL_AUTO = 1; // 0x1
12420    field public static final int GUARD_INTERVAL_PN_420_CONST = 16; // 0x10
12421    field public static final int GUARD_INTERVAL_PN_420_VARIOUS = 2; // 0x2
12422    field public static final int GUARD_INTERVAL_PN_595_CONST = 4; // 0x4
12423    field public static final int GUARD_INTERVAL_PN_945_CONST = 32; // 0x20
12424    field public static final int GUARD_INTERVAL_PN_945_VARIOUS = 8; // 0x8
12425    field public static final int GUARD_INTERVAL_PN_RESERVED = 64; // 0x40
12426    field public static final int GUARD_INTERVAL_UNDEFINED = 0; // 0x0
12427    field public static final int MODULATION_CONSTELLATION_16QAM = 8; // 0x8
12428    field public static final int MODULATION_CONSTELLATION_32QAM = 16; // 0x10
12429    field public static final int MODULATION_CONSTELLATION_4QAM = 2; // 0x2
12430    field public static final int MODULATION_CONSTELLATION_4QAM_NR = 4; // 0x4
12431    field public static final int MODULATION_CONSTELLATION_64QAM = 32; // 0x20
12432    field public static final int MODULATION_CONSTELLATION_AUTO = 1; // 0x1
12433    field public static final int MODULATION_CONSTELLATION_UNDEFINED = 0; // 0x0
12434    field public static final int TIME_INTERLEAVE_MODE_AUTO = 1; // 0x1
12435    field public static final int TIME_INTERLEAVE_MODE_TIMER_INT_240 = 2; // 0x2
12436    field public static final int TIME_INTERLEAVE_MODE_TIMER_INT_720 = 4; // 0x4
12437    field public static final int TIME_INTERLEAVE_MODE_UNDEFINED = 0; // 0x0
12438    field public static final int TRANSMISSION_MODE_AUTO = 1; // 0x1
12439    field public static final int TRANSMISSION_MODE_C1 = 2; // 0x2
12440    field public static final int TRANSMISSION_MODE_C3780 = 4; // 0x4
12441    field public static final int TRANSMISSION_MODE_UNDEFINED = 0; // 0x0
12442  }
12443
12444  public static final class DtmbFrontendSettings.Builder {
12445    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings build();
12446    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setBandwidth(int);
12447    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setCodeRate(int);
12448    method @Deprecated @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setFrequency(int);
12449    method @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setFrequencyLong(long);
12450    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setGuardInterval(int);
12451    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setModulation(int);
12452    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setTimeInterleaveMode(int);
12453    method @NonNull public android.media.tv.tuner.frontend.DtmbFrontendSettings.Builder setTransmissionMode(int);
12454  }
12455
12456  public class DvbcFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
12457    method public int getAnnexCapability();
12458    method public long getCodeRateCapability();
12459    method @Deprecated public int getFecCapability();
12460    method public int getModulationCapability();
12461  }
12462
12463  public class DvbcFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
12464    method @NonNull public static android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder builder();
12465    method public int getAnnex();
12466    method public int getBandwidth();
12467    method public long getInnerFec();
12468    method public int getModulation();
12469    method public int getOuterFec();
12470    method public int getSpectralInversion();
12471    method public int getSymbolRate();
12472    method public int getTimeInterleaveMode();
12473    method public int getType();
12474    field public static final int ANNEX_A = 1; // 0x1
12475    field public static final int ANNEX_B = 2; // 0x2
12476    field public static final int ANNEX_C = 4; // 0x4
12477    field public static final int ANNEX_UNDEFINED = 0; // 0x0
12478    field public static final int BANDWIDTH_5MHZ = 1; // 0x1
12479    field public static final int BANDWIDTH_6MHZ = 2; // 0x2
12480    field public static final int BANDWIDTH_7MHZ = 4; // 0x4
12481    field public static final int BANDWIDTH_8MHZ = 8; // 0x8
12482    field public static final int BANDWIDTH_UNDEFINED = 0; // 0x0
12483    field public static final int MODULATION_AUTO = 1; // 0x1
12484    field public static final int MODULATION_MOD_128QAM = 16; // 0x10
12485    field public static final int MODULATION_MOD_16QAM = 2; // 0x2
12486    field public static final int MODULATION_MOD_256QAM = 32; // 0x20
12487    field public static final int MODULATION_MOD_32QAM = 4; // 0x4
12488    field public static final int MODULATION_MOD_64QAM = 8; // 0x8
12489    field public static final int MODULATION_UNDEFINED = 0; // 0x0
12490    field public static final int OUTER_FEC_OUTER_FEC_NONE = 1; // 0x1
12491    field public static final int OUTER_FEC_OUTER_FEC_RS = 2; // 0x2
12492    field public static final int OUTER_FEC_UNDEFINED = 0; // 0x0
12493    field @Deprecated public static final int SPECTRAL_INVERSION_INVERTED = 2; // 0x2
12494    field @Deprecated public static final int SPECTRAL_INVERSION_NORMAL = 1; // 0x1
12495    field @Deprecated public static final int SPECTRAL_INVERSION_UNDEFINED = 0; // 0x0
12496    field public static final int TIME_INTERLEAVE_MODE_128_1_0 = 2; // 0x2
12497    field public static final int TIME_INTERLEAVE_MODE_128_1_1 = 4; // 0x4
12498    field public static final int TIME_INTERLEAVE_MODE_128_2 = 128; // 0x80
12499    field public static final int TIME_INTERLEAVE_MODE_128_3 = 256; // 0x100
12500    field public static final int TIME_INTERLEAVE_MODE_128_4 = 512; // 0x200
12501    field public static final int TIME_INTERLEAVE_MODE_16_8 = 32; // 0x20
12502    field public static final int TIME_INTERLEAVE_MODE_32_4 = 16; // 0x10
12503    field public static final int TIME_INTERLEAVE_MODE_64_2 = 8; // 0x8
12504    field public static final int TIME_INTERLEAVE_MODE_8_16 = 64; // 0x40
12505    field public static final int TIME_INTERLEAVE_MODE_AUTO = 1; // 0x1
12506    field public static final int TIME_INTERLEAVE_MODE_UNDEFINED = 0; // 0x0
12507  }
12508
12509  public static class DvbcFrontendSettings.Builder {
12510    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings build();
12511    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setAnnex(int);
12512    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setBandwidth(int);
12513    method @Deprecated @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setFrequency(int);
12514    method @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setFrequencyLong(long);
12515    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setInnerFec(long);
12516    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setModulation(int);
12517    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setOuterFec(int);
12518    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setSpectralInversion(int);
12519    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setSymbolRate(int);
12520    method @NonNull public android.media.tv.tuner.frontend.DvbcFrontendSettings.Builder setTimeInterleaveMode(int);
12521  }
12522
12523  public class DvbsCodeRate {
12524    method @NonNull public static android.media.tv.tuner.frontend.DvbsCodeRate.Builder builder();
12525    method public int getBitsPer1000Symbol();
12526    method public long getInnerFec();
12527    method public boolean isLinear();
12528    method public boolean isShortFrameEnabled();
12529  }
12530
12531  public static class DvbsCodeRate.Builder {
12532    method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate build();
12533    method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate.Builder setBitsPer1000Symbol(int);
12534    method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate.Builder setInnerFec(long);
12535    method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate.Builder setLinear(boolean);
12536    method @NonNull public android.media.tv.tuner.frontend.DvbsCodeRate.Builder setShortFrameEnabled(boolean);
12537  }
12538
12539  public class DvbsFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
12540    method public long getInnerFecCapability();
12541    method public int getModulationCapability();
12542    method public int getStandardCapability();
12543  }
12544
12545  public class DvbsFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
12546    method @NonNull public static android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder builder();
12547    method public boolean canHandleDiseqcRxMessage();
12548    method @Nullable public android.media.tv.tuner.frontend.DvbsCodeRate getCodeRate();
12549    method public int getInputStreamId();
12550    method public int getModulation();
12551    method public int getPilot();
12552    method public int getRolloff();
12553    method public int getScanType();
12554    method public int getStandard();
12555    method public int getSymbolRate();
12556    method public int getType();
12557    method public int getVcmMode();
12558    field public static final int MODULATION_AUTO = 1; // 0x1
12559    field public static final int MODULATION_MOD_128APSK = 2048; // 0x800
12560    field public static final int MODULATION_MOD_16APSK = 256; // 0x100
12561    field public static final int MODULATION_MOD_16PSK = 16; // 0x10
12562    field public static final int MODULATION_MOD_16QAM = 8; // 0x8
12563    field public static final int MODULATION_MOD_256APSK = 4096; // 0x1000
12564    field public static final int MODULATION_MOD_32APSK = 512; // 0x200
12565    field public static final int MODULATION_MOD_32PSK = 32; // 0x20
12566    field public static final int MODULATION_MOD_64APSK = 1024; // 0x400
12567    field public static final int MODULATION_MOD_8APSK = 128; // 0x80
12568    field public static final int MODULATION_MOD_8PSK = 4; // 0x4
12569    field public static final int MODULATION_MOD_ACM = 64; // 0x40
12570    field public static final int MODULATION_MOD_QPSK = 2; // 0x2
12571    field public static final int MODULATION_MOD_RESERVED = 8192; // 0x2000
12572    field public static final int MODULATION_UNDEFINED = 0; // 0x0
12573    field public static final int PILOT_AUTO = 3; // 0x3
12574    field public static final int PILOT_OFF = 2; // 0x2
12575    field public static final int PILOT_ON = 1; // 0x1
12576    field public static final int PILOT_UNDEFINED = 0; // 0x0
12577    field public static final int ROLLOFF_0_10 = 5; // 0x5
12578    field public static final int ROLLOFF_0_15 = 4; // 0x4
12579    field public static final int ROLLOFF_0_20 = 3; // 0x3
12580    field public static final int ROLLOFF_0_25 = 2; // 0x2
12581    field public static final int ROLLOFF_0_35 = 1; // 0x1
12582    field public static final int ROLLOFF_0_5 = 6; // 0x6
12583    field public static final int ROLLOFF_UNDEFINED = 0; // 0x0
12584    field public static final int SCAN_TYPE_DIRECT = 1; // 0x1
12585    field public static final int SCAN_TYPE_DISEQC = 2; // 0x2
12586    field public static final int SCAN_TYPE_JESS = 4; // 0x4
12587    field public static final int SCAN_TYPE_UNDEFINED = 0; // 0x0
12588    field public static final int SCAN_TYPE_UNICABLE = 3; // 0x3
12589    field public static final int STANDARD_AUTO = 1; // 0x1
12590    field public static final int STANDARD_S = 2; // 0x2
12591    field public static final int STANDARD_S2 = 4; // 0x4
12592    field public static final int STANDARD_S2X = 8; // 0x8
12593    field public static final int VCM_MODE_AUTO = 1; // 0x1
12594    field public static final int VCM_MODE_MANUAL = 2; // 0x2
12595    field public static final int VCM_MODE_UNDEFINED = 0; // 0x0
12596  }
12597
12598  public static class DvbsFrontendSettings.Builder {
12599    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings build();
12600    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setCanHandleDiseqcRxMessage(boolean);
12601    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setCodeRate(@Nullable android.media.tv.tuner.frontend.DvbsCodeRate);
12602    method @Deprecated @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setFrequency(int);
12603    method @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setFrequencyLong(long);
12604    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setInputStreamId(int);
12605    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setModulation(int);
12606    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setPilot(int);
12607    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setRolloff(int);
12608    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setScanType(int);
12609    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setStandard(int);
12610    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setSymbolRate(int);
12611    method @NonNull public android.media.tv.tuner.frontend.DvbsFrontendSettings.Builder setVcmMode(int);
12612  }
12613
12614  public class DvbtFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
12615    method public int getBandwidthCapability();
12616    method public int getCodeRateCapability();
12617    method public int getConstellationCapability();
12618    method public int getGuardIntervalCapability();
12619    method public int getHierarchyCapability();
12620    method public int getTransmissionModeCapability();
12621    method public boolean isMisoSupported();
12622    method public boolean isT2Supported();
12623  }
12624
12625  public class DvbtFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
12626    method @NonNull public static android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder builder();
12627    method public int getBandwidth();
12628    method public int getConstellation();
12629    method public int getGuardInterval();
12630    method public int getHierarchy();
12631    method public int getHighPriorityCodeRate();
12632    method public int getLowPriorityCodeRate();
12633    method public int getPlpGroupId();
12634    method public int getPlpId();
12635    method public int getPlpMode();
12636    method public int getStandard();
12637    method public int getTransmissionMode();
12638    method public int getType();
12639    method public boolean isHighPriority();
12640    method public boolean isMiso();
12641    field public static final int BANDWIDTH_10MHZ = 64; // 0x40
12642    field public static final int BANDWIDTH_1_7MHZ = 32; // 0x20
12643    field public static final int BANDWIDTH_5MHZ = 16; // 0x10
12644    field public static final int BANDWIDTH_6MHZ = 8; // 0x8
12645    field public static final int BANDWIDTH_7MHZ = 4; // 0x4
12646    field public static final int BANDWIDTH_8MHZ = 2; // 0x2
12647    field public static final int BANDWIDTH_AUTO = 1; // 0x1
12648    field public static final int BANDWIDTH_UNDEFINED = 0; // 0x0
12649    field public static final int CODERATE_1_2 = 2; // 0x2
12650    field public static final int CODERATE_2_3 = 4; // 0x4
12651    field public static final int CODERATE_3_4 = 8; // 0x8
12652    field public static final int CODERATE_3_5 = 64; // 0x40
12653    field public static final int CODERATE_4_5 = 128; // 0x80
12654    field public static final int CODERATE_5_6 = 16; // 0x10
12655    field public static final int CODERATE_6_7 = 256; // 0x100
12656    field public static final int CODERATE_7_8 = 32; // 0x20
12657    field public static final int CODERATE_8_9 = 512; // 0x200
12658    field public static final int CODERATE_AUTO = 1; // 0x1
12659    field public static final int CODERATE_UNDEFINED = 0; // 0x0
12660    field public static final int CONSTELLATION_16QAM = 4; // 0x4
12661    field public static final int CONSTELLATION_16QAM_R = 64; // 0x40
12662    field public static final int CONSTELLATION_256QAM = 16; // 0x10
12663    field public static final int CONSTELLATION_256QAM_R = 256; // 0x100
12664    field public static final int CONSTELLATION_64QAM = 8; // 0x8
12665    field public static final int CONSTELLATION_64QAM_R = 128; // 0x80
12666    field public static final int CONSTELLATION_AUTO = 1; // 0x1
12667    field public static final int CONSTELLATION_QPSK = 2; // 0x2
12668    field public static final int CONSTELLATION_QPSK_R = 32; // 0x20
12669    field public static final int CONSTELLATION_UNDEFINED = 0; // 0x0
12670    field public static final int GUARD_INTERVAL_19_128 = 64; // 0x40
12671    field public static final int GUARD_INTERVAL_19_256 = 128; // 0x80
12672    field public static final int GUARD_INTERVAL_1_128 = 32; // 0x20
12673    field public static final int GUARD_INTERVAL_1_16 = 4; // 0x4
12674    field public static final int GUARD_INTERVAL_1_32 = 2; // 0x2
12675    field public static final int GUARD_INTERVAL_1_4 = 16; // 0x10
12676    field public static final int GUARD_INTERVAL_1_8 = 8; // 0x8
12677    field public static final int GUARD_INTERVAL_AUTO = 1; // 0x1
12678    field public static final int GUARD_INTERVAL_UNDEFINED = 0; // 0x0
12679    field public static final int HIERARCHY_1_INDEPTH = 64; // 0x40
12680    field public static final int HIERARCHY_1_NATIVE = 4; // 0x4
12681    field public static final int HIERARCHY_2_INDEPTH = 128; // 0x80
12682    field public static final int HIERARCHY_2_NATIVE = 8; // 0x8
12683    field public static final int HIERARCHY_4_INDEPTH = 256; // 0x100
12684    field public static final int HIERARCHY_4_NATIVE = 16; // 0x10
12685    field public static final int HIERARCHY_AUTO = 1; // 0x1
12686    field public static final int HIERARCHY_NON_INDEPTH = 32; // 0x20
12687    field public static final int HIERARCHY_NON_NATIVE = 2; // 0x2
12688    field public static final int HIERARCHY_UNDEFINED = 0; // 0x0
12689    field public static final int PLP_MODE_AUTO = 1; // 0x1
12690    field public static final int PLP_MODE_MANUAL = 2; // 0x2
12691    field public static final int PLP_MODE_UNDEFINED = 0; // 0x0
12692    field public static final int STANDARD_AUTO = 1; // 0x1
12693    field public static final int STANDARD_T = 2; // 0x2
12694    field public static final int STANDARD_T2 = 4; // 0x4
12695    field public static final int TRANSMISSION_MODE_16K = 32; // 0x20
12696    field public static final int TRANSMISSION_MODE_1K = 16; // 0x10
12697    field public static final int TRANSMISSION_MODE_2K = 2; // 0x2
12698    field public static final int TRANSMISSION_MODE_32K = 64; // 0x40
12699    field public static final int TRANSMISSION_MODE_4K = 8; // 0x8
12700    field public static final int TRANSMISSION_MODE_8K = 4; // 0x4
12701    field public static final int TRANSMISSION_MODE_AUTO = 1; // 0x1
12702    field public static final int TRANSMISSION_MODE_EXTENDED_16K = 256; // 0x100
12703    field public static final int TRANSMISSION_MODE_EXTENDED_32K = 512; // 0x200
12704    field public static final int TRANSMISSION_MODE_EXTENDED_8K = 128; // 0x80
12705    field public static final int TRANSMISSION_MODE_UNDEFINED = 0; // 0x0
12706  }
12707
12708  public static class DvbtFrontendSettings.Builder {
12709    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings build();
12710    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setBandwidth(int);
12711    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setConstellation(int);
12712    method @Deprecated @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setFrequency(int);
12713    method @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setFrequencyLong(long);
12714    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setGuardInterval(int);
12715    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setHierarchy(int);
12716    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setHighPriority(boolean);
12717    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setHighPriorityCodeRate(int);
12718    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setLowPriorityCodeRate(int);
12719    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setMiso(boolean);
12720    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setPlpGroupId(int);
12721    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setPlpId(int);
12722    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setPlpMode(int);
12723    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setStandard(int);
12724    method @NonNull public android.media.tv.tuner.frontend.DvbtFrontendSettings.Builder setTransmissionMode(int);
12725  }
12726
12727  public abstract class FrontendCapabilities {
12728    ctor public FrontendCapabilities();
12729  }
12730
12731  public class FrontendInfo {
12732    method @Deprecated public int getAcquireRange();
12733    method public long getAcquireRangeLong();
12734    method public int getExclusiveGroupId();
12735    method @Deprecated @NonNull public android.util.Range<java.lang.Integer> getFrequencyRange();
12736    method @NonNull public android.util.Range<java.lang.Long> getFrequencyRangeLong();
12737    method @NonNull public android.media.tv.tuner.frontend.FrontendCapabilities getFrontendCapabilities();
12738    method public int getId();
12739    method @NonNull public int[] getStatusCapabilities();
12740    method @NonNull public android.util.Range<java.lang.Integer> getSymbolRateRange();
12741    method public int getType();
12742  }
12743
12744  public abstract class FrontendSettings {
12745    method @Deprecated @IntRange(from=1) public int getEndFrequency();
12746    method @IntRange(from=1) public long getEndFrequencyLong();
12747    method @Deprecated public int getFrequency();
12748    method public long getFrequencyLong();
12749    method public int getFrontendSpectralInversion();
12750    method public abstract int getType();
12751    method @Deprecated @IntRange(from=1) public void setEndFrequency(int);
12752    method @IntRange(from=1) public void setEndFrequencyLong(long);
12753    method public void setSpectralInversion(int);
12754    field public static final long FEC_11_15 = 4194304L; // 0x400000L
12755    field public static final long FEC_11_20 = 8388608L; // 0x800000L
12756    field public static final long FEC_11_45 = 16777216L; // 0x1000000L
12757    field public static final long FEC_13_18 = 33554432L; // 0x2000000L
12758    field public static final long FEC_13_45 = 67108864L; // 0x4000000L
12759    field public static final long FEC_14_45 = 134217728L; // 0x8000000L
12760    field public static final long FEC_1_2 = 2L; // 0x2L
12761    field public static final long FEC_1_3 = 4L; // 0x4L
12762    field public static final long FEC_1_4 = 8L; // 0x8L
12763    field public static final long FEC_1_5 = 16L; // 0x10L
12764    field public static final long FEC_23_36 = 268435456L; // 0x10000000L
12765    field public static final long FEC_25_36 = 536870912L; // 0x20000000L
12766    field public static final long FEC_26_45 = 1073741824L; // 0x40000000L
12767    field public static final long FEC_28_45 = 2147483648L; // 0x80000000L
12768    field public static final long FEC_29_45 = 4294967296L; // 0x100000000L
12769    field public static final long FEC_2_3 = 32L; // 0x20L
12770    field public static final long FEC_2_5 = 64L; // 0x40L
12771    field public static final long FEC_2_9 = 128L; // 0x80L
12772    field public static final long FEC_31_45 = 8589934592L; // 0x200000000L
12773    field public static final long FEC_32_45 = 17179869184L; // 0x400000000L
12774    field public static final long FEC_3_4 = 256L; // 0x100L
12775    field public static final long FEC_3_5 = 512L; // 0x200L
12776    field public static final long FEC_4_15 = 2048L; // 0x800L
12777    field public static final long FEC_4_5 = 1024L; // 0x400L
12778    field public static final long FEC_5_6 = 4096L; // 0x1000L
12779    field public static final long FEC_5_9 = 8192L; // 0x2000L
12780    field public static final long FEC_6_7 = 16384L; // 0x4000L
12781    field public static final long FEC_77_90 = 34359738368L; // 0x800000000L
12782    field public static final long FEC_7_15 = 131072L; // 0x20000L
12783    field public static final long FEC_7_8 = 32768L; // 0x8000L
12784    field public static final long FEC_7_9 = 65536L; // 0x10000L
12785    field public static final long FEC_8_15 = 524288L; // 0x80000L
12786    field public static final long FEC_8_9 = 262144L; // 0x40000L
12787    field public static final long FEC_9_10 = 1048576L; // 0x100000L
12788    field public static final long FEC_9_20 = 2097152L; // 0x200000L
12789    field public static final long FEC_AUTO = 1L; // 0x1L
12790    field public static final long FEC_UNDEFINED = 0L; // 0x0L
12791    field public static final int FRONTEND_SPECTRAL_INVERSION_INVERTED = 2; // 0x2
12792    field public static final int FRONTEND_SPECTRAL_INVERSION_NORMAL = 1; // 0x1
12793    field public static final int FRONTEND_SPECTRAL_INVERSION_UNDEFINED = 0; // 0x0
12794    field public static final int TYPE_ANALOG = 1; // 0x1
12795    field public static final int TYPE_ATSC = 2; // 0x2
12796    field public static final int TYPE_ATSC3 = 3; // 0x3
12797    field public static final int TYPE_DTMB = 10; // 0xa
12798    field public static final int TYPE_DVBC = 4; // 0x4
12799    field public static final int TYPE_DVBS = 5; // 0x5
12800    field public static final int TYPE_DVBT = 6; // 0x6
12801    field public static final int TYPE_IPTV = 11; // 0xb
12802    field public static final int TYPE_ISDBS = 7; // 0x7
12803    field public static final int TYPE_ISDBS3 = 8; // 0x8
12804    field public static final int TYPE_ISDBT = 9; // 0x9
12805    field public static final int TYPE_UNDEFINED = 0; // 0x0
12806  }
12807
12808  public class FrontendStatus {
12809    method public int getAgc();
12810    method @NonNull public java.util.List<android.media.tv.tuner.frontend.Atsc3PlpInfo> getAllAtsc3PlpInfo();
12811    method @NonNull public android.media.tv.tuner.frontend.FrontendStatus.Atsc3PlpTuningInfo[] getAtsc3PlpTuningInfo();
12812    method public int getBandwidth();
12813    method public int getBer();
12814    method @NonNull public int[] getBers();
12815    method @NonNull public int[] getCodeRates();
12816    method @NonNull public int[] getDvbtCellIds();
12817    method @NonNull public int[] getExtendedModulations();
12818    method @Deprecated public int getFreqOffset();
12819    method public long getFreqOffsetLong();
12820    method public int getGuardInterval();
12821    method public int getHierarchy();
12822    method public long getInnerFec();
12823    method @NonNull public int[] getInterleaving();
12824    method @IntRange(from=0) public int getIptvAverageJitterMillis();
12825    method @NonNull public String getIptvContentUrl();
12826    method @IntRange(from=0) public long getIptvPacketsLost();
12827    method @IntRange(from=0) public long getIptvPacketsReceived();
12828    method @IntRange(from=0) public int getIptvWorstJitterMillis();
12829    method public int getIsdbtMode();
12830    method public int getIsdbtPartialReceptionFlag();
12831    method @NonNull @IntRange(from=0, to=255) public int[] getIsdbtSegment();
12832    method @NonNull public boolean[] getLayerErrors();
12833    method public int getLnbVoltage();
12834    method public int getMer();
12835    method public int getModulation();
12836    method public int getPer();
12837    method public int getPerBer();
12838    method public int getPlpId();
12839    method public int getRollOff();
12840    method public int getSignalQuality();
12841    method public int getSignalStrength();
12842    method public int getSnr();
12843    method public int getSpectralInversion();
12844    method @NonNull public android.media.tv.tuner.frontend.StandardExtension getStandardExtension();
12845    method @NonNull public int[] getStreamIds();
12846    method public int getSymbolRate();
12847    method @IntRange(from=0, to=65535) public int getSystemId();
12848    method public int getTransmissionMode();
12849    method @NonNull public int[] getTsDataRate();
12850    method public int getUec();
12851    method public boolean isDemodLocked();
12852    method public boolean isEwbs();
12853    method public boolean isLinear();
12854    method public boolean isLnaOn();
12855    method public boolean isMisoEnabled();
12856    method public boolean isRfLocked();
12857    method public boolean isShortFramesEnabled();
12858    field public static final int FRONTEND_STATUS_TYPE_AGC = 14; // 0xe
12859    field public static final int FRONTEND_STATUS_TYPE_ATSC3_ALL_PLP_INFO = 41; // 0x29
12860    field public static final int FRONTEND_STATUS_TYPE_ATSC3_PLP_INFO = 21; // 0x15
12861    field public static final int FRONTEND_STATUS_TYPE_BANDWIDTH = 25; // 0x19
12862    field public static final int FRONTEND_STATUS_TYPE_BER = 2; // 0x2
12863    field public static final int FRONTEND_STATUS_TYPE_BERS = 23; // 0x17
12864    field public static final int FRONTEND_STATUS_TYPE_CODERATES = 24; // 0x18
12865    field public static final int FRONTEND_STATUS_TYPE_DEMOD_LOCK = 0; // 0x0
12866    field public static final int FRONTEND_STATUS_TYPE_DVBT_CELL_IDS = 40; // 0x28
12867    field public static final int FRONTEND_STATUS_TYPE_EWBS = 13; // 0xd
12868    field public static final int FRONTEND_STATUS_TYPE_FEC = 8; // 0x8
12869    field public static final int FRONTEND_STATUS_TYPE_FREQ_OFFSET = 18; // 0x12
12870    field public static final int FRONTEND_STATUS_TYPE_GUARD_INTERVAL = 26; // 0x1a
12871    field public static final int FRONTEND_STATUS_TYPE_HIERARCHY = 19; // 0x13
12872    field public static final int FRONTEND_STATUS_TYPE_INTERLEAVINGS = 30; // 0x1e
12873    field public static final int FRONTEND_STATUS_TYPE_IPTV_AVERAGE_JITTER_MS = 46; // 0x2e
12874    field public static final int FRONTEND_STATUS_TYPE_IPTV_CONTENT_URL = 42; // 0x2a
12875    field public static final int FRONTEND_STATUS_TYPE_IPTV_PACKETS_LOST = 43; // 0x2b
12876    field public static final int FRONTEND_STATUS_TYPE_IPTV_PACKETS_RECEIVED = 44; // 0x2c
12877    field public static final int FRONTEND_STATUS_TYPE_IPTV_WORST_JITTER_MS = 45; // 0x2d
12878    field public static final int FRONTEND_STATUS_TYPE_ISDBT_MODE = 37; // 0x25
12879    field public static final int FRONTEND_STATUS_TYPE_ISDBT_PARTIAL_RECEPTION_FLAG = 38; // 0x26
12880    field public static final int FRONTEND_STATUS_TYPE_ISDBT_SEGMENTS = 31; // 0x1f
12881    field public static final int FRONTEND_STATUS_TYPE_IS_LINEAR = 35; // 0x23
12882    field public static final int FRONTEND_STATUS_TYPE_IS_MISO_ENABLED = 34; // 0x22
12883    field public static final int FRONTEND_STATUS_TYPE_IS_SHORT_FRAMES_ENABLED = 36; // 0x24
12884    field public static final int FRONTEND_STATUS_TYPE_LAYER_ERROR = 16; // 0x10
12885    field public static final int FRONTEND_STATUS_TYPE_LNA = 15; // 0xf
12886    field public static final int FRONTEND_STATUS_TYPE_LNB_VOLTAGE = 11; // 0xb
12887    field public static final int FRONTEND_STATUS_TYPE_MER = 17; // 0x11
12888    field public static final int FRONTEND_STATUS_TYPE_MODULATION = 9; // 0x9
12889    field public static final int FRONTEND_STATUS_TYPE_MODULATIONS_EXT = 22; // 0x16
12890    field public static final int FRONTEND_STATUS_TYPE_PER = 3; // 0x3
12891    field public static final int FRONTEND_STATUS_TYPE_PLP_ID = 12; // 0xc
12892    field public static final int FRONTEND_STATUS_TYPE_PRE_BER = 4; // 0x4
12893    field public static final int FRONTEND_STATUS_TYPE_RF_LOCK = 20; // 0x14
12894    field public static final int FRONTEND_STATUS_TYPE_ROLL_OFF = 33; // 0x21
12895    field public static final int FRONTEND_STATUS_TYPE_SIGNAL_QUALITY = 5; // 0x5
12896    field public static final int FRONTEND_STATUS_TYPE_SIGNAL_STRENGTH = 6; // 0x6
12897    field public static final int FRONTEND_STATUS_TYPE_SNR = 1; // 0x1
12898    field public static final int FRONTEND_STATUS_TYPE_SPECTRAL = 10; // 0xa
12899    field public static final int FRONTEND_STATUS_TYPE_STANDARD_EXTENSION = 47; // 0x2f
12900    field public static final int FRONTEND_STATUS_TYPE_STREAM_IDS = 39; // 0x27
12901    field public static final int FRONTEND_STATUS_TYPE_SYMBOL_RATE = 7; // 0x7
12902    field public static final int FRONTEND_STATUS_TYPE_T2_SYSTEM_ID = 29; // 0x1d
12903    field public static final int FRONTEND_STATUS_TYPE_TRANSMISSION_MODE = 27; // 0x1b
12904    field public static final int FRONTEND_STATUS_TYPE_TS_DATA_RATES = 32; // 0x20
12905    field public static final int FRONTEND_STATUS_TYPE_UEC = 28; // 0x1c
12906  }
12907
12908  public static class FrontendStatus.Atsc3PlpTuningInfo {
12909    method public int getPlpId();
12910    method public int getUec();
12911    method public boolean isLocked();
12912  }
12913
12914  public final class FrontendStatusReadiness {
12915    method public int getStatusReadiness();
12916    method public int getStatusType();
12917    field public static final int FRONTEND_STATUS_READINESS_STABLE = 3; // 0x3
12918    field public static final int FRONTEND_STATUS_READINESS_UNAVAILABLE = 1; // 0x1
12919    field public static final int FRONTEND_STATUS_READINESS_UNDEFINED = 0; // 0x0
12920    field public static final int FRONTEND_STATUS_READINESS_UNSTABLE = 2; // 0x2
12921    field public static final int FRONTEND_STATUS_READINESS_UNSUPPORTED = 4; // 0x4
12922  }
12923
12924  public class IptvFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
12925    method public int getProtocolCapability();
12926  }
12927
12928  public final class IptvFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
12929    method @IntRange(from=0) public long getBitrate();
12930    method @NonNull public String getContentUrl();
12931    method @NonNull @Size(min=4, max=16) public byte[] getDstIpAddress();
12932    method public int getDstPort();
12933    method @Nullable public android.media.tv.tuner.frontend.IptvFrontendSettingsFec getFec();
12934    method public int getIgmp();
12935    method public int getProtocol();
12936    method @NonNull @Size(min=4, max=16) public byte[] getSrcIpAddress();
12937    method public int getSrcPort();
12938    method public int getType();
12939    field public static final int IGMP_UNDEFINED = 0; // 0x0
12940    field public static final int IGMP_V1 = 1; // 0x1
12941    field public static final int IGMP_V2 = 2; // 0x2
12942    field public static final int IGMP_V3 = 4; // 0x4
12943    field public static final int PROTOCOL_RTP = 2; // 0x2
12944    field public static final int PROTOCOL_UDP = 1; // 0x1
12945    field public static final int PROTOCOL_UNDEFINED = 0; // 0x0
12946  }
12947
12948  public static final class IptvFrontendSettings.Builder {
12949    ctor public IptvFrontendSettings.Builder();
12950    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettings build();
12951    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettings.Builder setBitrate(@IntRange(from=0) long);
12952    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettings.Builder setContentUrl(@NonNull String);
12953    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettings.Builder setDstIpAddress(@NonNull byte[]);
12954    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettings.Builder setDstPort(int);
12955    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettings.Builder setFec(@Nullable android.media.tv.tuner.frontend.IptvFrontendSettingsFec);
12956    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettings.Builder setIgmp(int);
12957    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettings.Builder setProtocol(int);
12958    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettings.Builder setSrcIpAddress(@NonNull byte[]);
12959    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettings.Builder setSrcPort(int);
12960  }
12961
12962  public final class IptvFrontendSettingsFec {
12963    method @IntRange(from=0) public int getFecColNum();
12964    method @IntRange(from=0) public int getFecRowNum();
12965    method public int getFecType();
12966    field public static final int FEC_TYPE_COLUMN = 1; // 0x1
12967    field public static final int FEC_TYPE_COLUMN_ROW = 4; // 0x4
12968    field public static final int FEC_TYPE_ROW = 2; // 0x2
12969    field public static final int FEC_TYPE_UNDEFINED = 0; // 0x0
12970  }
12971
12972  public static final class IptvFrontendSettingsFec.Builder {
12973    ctor public IptvFrontendSettingsFec.Builder();
12974    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettingsFec build();
12975    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettingsFec.Builder setFecColNum(@IntRange(from=0) int);
12976    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettingsFec.Builder setFecRowNum(@IntRange(from=0) int);
12977    method @NonNull public android.media.tv.tuner.frontend.IptvFrontendSettingsFec.Builder setFecType(int);
12978  }
12979
12980  public class Isdbs3FrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
12981    method public int getCodeRateCapability();
12982    method public int getModulationCapability();
12983  }
12984
12985  public class Isdbs3FrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
12986    method @NonNull public static android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder builder();
12987    method public int getCodeRate();
12988    method public int getModulation();
12989    method public int getRolloff();
12990    method public int getStreamId();
12991    method public int getStreamIdType();
12992    method public int getSymbolRate();
12993    method public int getType();
12994    field public static final int CODERATE_1_2 = 8; // 0x8
12995    field public static final int CODERATE_1_3 = 2; // 0x2
12996    field public static final int CODERATE_2_3 = 32; // 0x20
12997    field public static final int CODERATE_2_5 = 4; // 0x4
12998    field public static final int CODERATE_3_4 = 64; // 0x40
12999    field public static final int CODERATE_3_5 = 16; // 0x10
13000    field public static final int CODERATE_4_5 = 256; // 0x100
13001    field public static final int CODERATE_5_6 = 512; // 0x200
13002    field public static final int CODERATE_7_8 = 1024; // 0x400
13003    field public static final int CODERATE_7_9 = 128; // 0x80
13004    field public static final int CODERATE_9_10 = 2048; // 0x800
13005    field public static final int CODERATE_AUTO = 1; // 0x1
13006    field public static final int CODERATE_UNDEFINED = 0; // 0x0
13007    field public static final int MODULATION_AUTO = 1; // 0x1
13008    field public static final int MODULATION_MOD_16APSK = 16; // 0x10
13009    field public static final int MODULATION_MOD_32APSK = 32; // 0x20
13010    field public static final int MODULATION_MOD_8PSK = 8; // 0x8
13011    field public static final int MODULATION_MOD_BPSK = 2; // 0x2
13012    field public static final int MODULATION_MOD_QPSK = 4; // 0x4
13013    field public static final int MODULATION_UNDEFINED = 0; // 0x0
13014    field public static final int ROLLOFF_0_03 = 1; // 0x1
13015    field public static final int ROLLOFF_UNDEFINED = 0; // 0x0
13016  }
13017
13018  public static class Isdbs3FrontendSettings.Builder {
13019    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings build();
13020    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setCodeRate(int);
13021    method @Deprecated @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setFrequency(int);
13022    method @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setFrequencyLong(long);
13023    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setModulation(int);
13024    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setRolloff(int);
13025    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setStreamId(int);
13026    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setStreamIdType(int);
13027    method @NonNull public android.media.tv.tuner.frontend.Isdbs3FrontendSettings.Builder setSymbolRate(int);
13028  }
13029
13030  public class IsdbsFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
13031    method public int getCodeRateCapability();
13032    method public int getModulationCapability();
13033  }
13034
13035  public class IsdbsFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
13036    method @NonNull public static android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder builder();
13037    method public int getCodeRate();
13038    method public int getModulation();
13039    method public int getRolloff();
13040    method public int getStreamId();
13041    method public int getStreamIdType();
13042    method public int getSymbolRate();
13043    method public int getType();
13044    field public static final int CODERATE_1_2 = 2; // 0x2
13045    field public static final int CODERATE_2_3 = 4; // 0x4
13046    field public static final int CODERATE_3_4 = 8; // 0x8
13047    field public static final int CODERATE_5_6 = 16; // 0x10
13048    field public static final int CODERATE_7_8 = 32; // 0x20
13049    field public static final int CODERATE_AUTO = 1; // 0x1
13050    field public static final int CODERATE_UNDEFINED = 0; // 0x0
13051    field public static final int MODULATION_AUTO = 1; // 0x1
13052    field public static final int MODULATION_MOD_BPSK = 2; // 0x2
13053    field public static final int MODULATION_MOD_QPSK = 4; // 0x4
13054    field public static final int MODULATION_MOD_TC8PSK = 8; // 0x8
13055    field public static final int MODULATION_UNDEFINED = 0; // 0x0
13056    field public static final int ROLLOFF_0_35 = 1; // 0x1
13057    field public static final int ROLLOFF_UNDEFINED = 0; // 0x0
13058    field public static final int STREAM_ID_TYPE_ID = 0; // 0x0
13059    field public static final int STREAM_ID_TYPE_RELATIVE_NUMBER = 1; // 0x1
13060  }
13061
13062  public static class IsdbsFrontendSettings.Builder {
13063    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings build();
13064    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setCodeRate(int);
13065    method @Deprecated @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setFrequency(int);
13066    method @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setFrequencyLong(long);
13067    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setModulation(int);
13068    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setRolloff(int);
13069    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setStreamId(int);
13070    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setStreamIdType(int);
13071    method @NonNull public android.media.tv.tuner.frontend.IsdbsFrontendSettings.Builder setSymbolRate(int);
13072  }
13073
13074  public class IsdbtFrontendCapabilities extends android.media.tv.tuner.frontend.FrontendCapabilities {
13075    method public int getBandwidthCapability();
13076    method public int getCodeRateCapability();
13077    method public int getGuardIntervalCapability();
13078    method public int getModeCapability();
13079    method public int getModulationCapability();
13080    method public int getTimeInterleaveModeCapability();
13081    method public boolean isFullSegmentSupported();
13082    method public boolean isSegmentAutoSupported();
13083  }
13084
13085  public class IsdbtFrontendSettings extends android.media.tv.tuner.frontend.FrontendSettings {
13086    method @NonNull public static android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder builder();
13087    method public int getBandwidth();
13088    method @Deprecated public int getCodeRate();
13089    method public int getGuardInterval();
13090    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.IsdbtLayerSettings[] getLayerSettings();
13091    method public int getMode();
13092    method @Deprecated public int getModulation();
13093    method public int getPartialReceptionFlag();
13094    method public int getServiceAreaId();
13095    method public int getType();
13096    field public static final int BANDWIDTH_6MHZ = 8; // 0x8
13097    field public static final int BANDWIDTH_7MHZ = 4; // 0x4
13098    field public static final int BANDWIDTH_8MHZ = 2; // 0x2
13099    field public static final int BANDWIDTH_AUTO = 1; // 0x1
13100    field public static final int BANDWIDTH_UNDEFINED = 0; // 0x0
13101    field public static final int MODE_1 = 2; // 0x2
13102    field public static final int MODE_2 = 4; // 0x4
13103    field public static final int MODE_3 = 8; // 0x8
13104    field public static final int MODE_AUTO = 1; // 0x1
13105    field public static final int MODE_UNDEFINED = 0; // 0x0
13106    field public static final int MODULATION_AUTO = 1; // 0x1
13107    field public static final int MODULATION_MOD_16QAM = 8; // 0x8
13108    field public static final int MODULATION_MOD_64QAM = 16; // 0x10
13109    field public static final int MODULATION_MOD_DQPSK = 2; // 0x2
13110    field public static final int MODULATION_MOD_QPSK = 4; // 0x4
13111    field public static final int MODULATION_UNDEFINED = 0; // 0x0
13112    field public static final int PARTIAL_RECEPTION_FLAG_FALSE = 2; // 0x2
13113    field public static final int PARTIAL_RECEPTION_FLAG_TRUE = 4; // 0x4
13114    field public static final int PARTIAL_RECEPTION_FLAG_UNDEFINED = 0; // 0x0
13115    field public static final int TIME_INTERLEAVE_MODE_1_0 = 2; // 0x2
13116    field public static final int TIME_INTERLEAVE_MODE_1_16 = 16; // 0x10
13117    field public static final int TIME_INTERLEAVE_MODE_1_4 = 4; // 0x4
13118    field public static final int TIME_INTERLEAVE_MODE_1_8 = 8; // 0x8
13119    field public static final int TIME_INTERLEAVE_MODE_2_0 = 32; // 0x20
13120    field public static final int TIME_INTERLEAVE_MODE_2_2 = 64; // 0x40
13121    field public static final int TIME_INTERLEAVE_MODE_2_4 = 128; // 0x80
13122    field public static final int TIME_INTERLEAVE_MODE_2_8 = 256; // 0x100
13123    field public static final int TIME_INTERLEAVE_MODE_3_0 = 512; // 0x200
13124    field public static final int TIME_INTERLEAVE_MODE_3_1 = 1024; // 0x400
13125    field public static final int TIME_INTERLEAVE_MODE_3_2 = 2048; // 0x800
13126    field public static final int TIME_INTERLEAVE_MODE_3_4 = 4096; // 0x1000
13127    field public static final int TIME_INTERLEAVE_MODE_AUTO = 1; // 0x1
13128    field public static final int TIME_INTERLEAVE_MODE_UNDEFINED = 0; // 0x0
13129  }
13130
13131  public static class IsdbtFrontendSettings.Builder {
13132    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings build();
13133    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setBandwidth(int);
13134    method @Deprecated @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setCodeRate(int);
13135    method @Deprecated @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setFrequency(int);
13136    method @NonNull @IntRange(from=1) public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setFrequencyLong(long);
13137    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setGuardInterval(int);
13138    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setLayerSettings(@NonNull android.media.tv.tuner.frontend.IsdbtFrontendSettings.IsdbtLayerSettings[]);
13139    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setMode(int);
13140    method @Deprecated @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setModulation(int);
13141    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setPartialReceptionFlag(int);
13142    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.Builder setServiceAreaId(int);
13143  }
13144
13145  public static final class IsdbtFrontendSettings.IsdbtLayerSettings {
13146    method @NonNull public static android.media.tv.tuner.frontend.IsdbtFrontendSettings.IsdbtLayerSettings.Builder builder();
13147    method public int getCodeRate();
13148    method public int getModulation();
13149    method @IntRange(from=0, to=255) public int getNumberOfSegments();
13150    method public int getTimeInterleaveMode();
13151  }
13152
13153  public static final class IsdbtFrontendSettings.IsdbtLayerSettings.Builder {
13154    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.IsdbtLayerSettings build();
13155    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.IsdbtLayerSettings.Builder setCodeRate(int);
13156    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.IsdbtLayerSettings.Builder setModulation(int);
13157    method @NonNull @IntRange(from=0, to=255) public android.media.tv.tuner.frontend.IsdbtFrontendSettings.IsdbtLayerSettings.Builder setNumberOfSegments(int);
13158    method @NonNull public android.media.tv.tuner.frontend.IsdbtFrontendSettings.IsdbtLayerSettings.Builder setTimeInterleaveMode(int);
13159  }
13160
13161  public interface OnTuneEventListener {
13162    method public void onTuneEvent(int);
13163    field public static final int SIGNAL_LOCKED = 0; // 0x0
13164    field public static final int SIGNAL_LOST_LOCK = 2; // 0x2
13165    field public static final int SIGNAL_NO_SIGNAL = 1; // 0x1
13166  }
13167
13168  public interface ScanCallback {
13169    method public void onAnalogSifStandardReported(int);
13170    method public void onAtsc3PlpInfosReported(@NonNull android.media.tv.tuner.frontend.Atsc3PlpInfo[]);
13171    method public default void onDvbcAnnexReported(int);
13172    method public void onDvbsStandardReported(int);
13173    method public default void onDvbtCellIdsReported(@NonNull int[]);
13174    method public void onDvbtStandardReported(int);
13175    method public default void onFrequenciesLongReported(@NonNull long[]);
13176    method @Deprecated public void onFrequenciesReported(@NonNull int[]);
13177    method public void onGroupIdsReported(@NonNull int[]);
13178    method public void onHierarchyReported(int);
13179    method public void onInputStreamIdsReported(@NonNull int[]);
13180    method public void onLocked();
13181    method public default void onModulationReported(int);
13182    method public void onPlpIdsReported(@NonNull int[]);
13183    method public default void onPriorityReported(boolean);
13184    method public void onProgress(@IntRange(from=0, to=100) int);
13185    method public void onScanStopped();
13186    method public void onSignalTypeReported(int);
13187    method public void onSymbolRatesReported(@NonNull int[]);
13188    method public default void onUnlocked();
13189  }
13190
13191  public final class StandardExtension {
13192    method public int getDvbsStandardExtension();
13193    method public int getDvbtStandardExtension();
13194  }
13195
13196}
13197
13198package android.media.voice {
13199
13200  public final class KeyphraseModelManager {
13201    method @RequiresPermission(android.Manifest.permission.MANAGE_VOICE_KEYPHRASES) public void deleteKeyphraseSoundModel(int, @NonNull java.util.Locale);
13202    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_VOICE_KEYPHRASES) public android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel getKeyphraseSoundModel(int, @NonNull java.util.Locale);
13203    method @RequiresPermission(android.Manifest.permission.MANAGE_VOICE_KEYPHRASES) public void updateKeyphraseSoundModel(@NonNull android.hardware.soundtrigger.SoundTrigger.KeyphraseSoundModel);
13204  }
13205
13206}
13207
13208package android.metrics {
13209
13210  public class LogMaker {
13211    ctor public LogMaker(int);
13212    ctor public LogMaker(Object[]);
13213    method public android.metrics.LogMaker addTaggedData(int, Object);
13214    method public android.metrics.LogMaker clearCategory();
13215    method public android.metrics.LogMaker clearPackageName();
13216    method public android.metrics.LogMaker clearSubtype();
13217    method public android.metrics.LogMaker clearTaggedData(int);
13218    method public android.metrics.LogMaker clearType();
13219    method public void deserialize(Object[]);
13220    method public int getCategory();
13221    method public long getCounterBucket();
13222    method public String getCounterName();
13223    method public int getCounterValue();
13224    method public String getPackageName();
13225    method public int getProcessId();
13226    method public int getSubtype();
13227    method public Object getTaggedData(int);
13228    method public long getTimestamp();
13229    method public int getType();
13230    method public int getUid();
13231    method public boolean isLongCounterBucket();
13232    method public boolean isSubsetOf(android.metrics.LogMaker);
13233    method public boolean isValidValue(Object);
13234    method public Object[] serialize();
13235    method public android.metrics.LogMaker setCategory(int);
13236    method public android.metrics.LogMaker setPackageName(String);
13237    method public android.metrics.LogMaker setSubtype(int);
13238    method public android.metrics.LogMaker setType(int);
13239  }
13240
13241  public class MetricsReader {
13242    ctor public MetricsReader();
13243    method public void checkpoint();
13244    method public boolean hasNext();
13245    method public android.metrics.LogMaker next();
13246    method public void read(long);
13247    method public void reset();
13248  }
13249
13250}
13251
13252package android.nearby {
13253
13254  public interface BroadcastCallback {
13255    method public void onStatusChanged(int);
13256    field public static final int STATUS_FAILURE = 1; // 0x1
13257    field public static final int STATUS_FAILURE_ALREADY_REGISTERED = 2; // 0x2
13258    field public static final int STATUS_FAILURE_MISSING_PERMISSIONS = 4; // 0x4
13259    field public static final int STATUS_FAILURE_SIZE_EXCEED_LIMIT = 3; // 0x3
13260    field public static final int STATUS_OK = 0; // 0x0
13261  }
13262
13263  public abstract class BroadcastRequest {
13264    method @NonNull public java.util.List<java.lang.Integer> getMediums();
13265    method @IntRange(from=0xffffff81, to=126) public int getTxPower();
13266    method public int getType();
13267    method public int getVersion();
13268    field public static final int BROADCAST_TYPE_NEARBY_PRESENCE = 3; // 0x3
13269    field public static final int BROADCAST_TYPE_UNKNOWN = -1; // 0xffffffff
13270    field public static final int MEDIUM_BLE = 1; // 0x1
13271    field public static final int PRESENCE_VERSION_UNKNOWN = -1; // 0xffffffff
13272    field public static final int PRESENCE_VERSION_V0 = 0; // 0x0
13273    field public static final int PRESENCE_VERSION_V1 = 1; // 0x1
13274    field public static final int UNKNOWN_TX_POWER = -127; // 0xffffff81
13275  }
13276
13277  public final class CredentialElement implements android.os.Parcelable {
13278    ctor public CredentialElement(@NonNull String, @NonNull byte[]);
13279    method public int describeContents();
13280    method @NonNull public String getKey();
13281    method @NonNull public byte[] getValue();
13282    method public void writeToParcel(@NonNull android.os.Parcel, int);
13283    field @NonNull public static final android.os.Parcelable.Creator<android.nearby.CredentialElement> CREATOR;
13284  }
13285
13286  public final class DataElement implements android.os.Parcelable {
13287    ctor public DataElement(int, @NonNull byte[]);
13288    method public int describeContents();
13289    method public int getKey();
13290    method @NonNull public byte[] getValue();
13291    method public void writeToParcel(@NonNull android.os.Parcel, int);
13292    field @NonNull public static final android.os.Parcelable.Creator<android.nearby.DataElement> CREATOR;
13293  }
13294
13295  public abstract class NearbyDevice {
13296    method @NonNull public java.util.List<java.lang.Integer> getMediums();
13297    method @Nullable public String getName();
13298    method @IntRange(from=0xffffff81, to=126) public int getRssi();
13299    method public static boolean isValidMedium(int);
13300  }
13301
13302  public class NearbyManager {
13303    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public int getPoweredOffFindingMode();
13304    method public void queryOffloadCapability(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.nearby.OffloadCapability>);
13305    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public void setPoweredOffFindingEphemeralIds(@NonNull java.util.List<byte[]>);
13306    method @RequiresPermission(android.Manifest.permission.BLUETOOTH_PRIVILEGED) public void setPoweredOffFindingMode(int);
13307    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);
13308    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);
13309    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_ADVERTISE, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void stopBroadcast(@NonNull android.nearby.BroadcastCallback);
13310    method @RequiresPermission(allOf={android.Manifest.permission.BLUETOOTH_SCAN, android.Manifest.permission.BLUETOOTH_PRIVILEGED}) public void stopScan(@NonNull android.nearby.ScanCallback);
13311    field public static final int POWERED_OFF_FINDING_MODE_DISABLED = 1; // 0x1
13312    field public static final int POWERED_OFF_FINDING_MODE_ENABLED = 2; // 0x2
13313    field public static final int POWERED_OFF_FINDING_MODE_UNSUPPORTED = 0; // 0x0
13314  }
13315
13316  public final class OffloadCapability implements android.os.Parcelable {
13317    method public int describeContents();
13318    method public long getVersion();
13319    method public boolean isFastPairSupported();
13320    method public boolean isNearbyShareSupported();
13321    method public void writeToParcel(@NonNull android.os.Parcel, int);
13322    field @NonNull public static final android.os.Parcelable.Creator<android.nearby.OffloadCapability> CREATOR;
13323  }
13324
13325  public static final class OffloadCapability.Builder {
13326    ctor public OffloadCapability.Builder();
13327    method @NonNull public android.nearby.OffloadCapability build();
13328    method @NonNull public android.nearby.OffloadCapability.Builder setFastPairSupported(boolean);
13329    method @NonNull public android.nearby.OffloadCapability.Builder setNearbyShareSupported(boolean);
13330    method @NonNull public android.nearby.OffloadCapability.Builder setVersion(long);
13331  }
13332
13333  public final class PresenceBroadcastRequest extends android.nearby.BroadcastRequest implements android.os.Parcelable {
13334    method public int describeContents();
13335    method @NonNull public java.util.List<java.lang.Integer> getActions();
13336    method @NonNull public android.nearby.PrivateCredential getCredential();
13337    method @NonNull public java.util.List<android.nearby.DataElement> getExtendedProperties();
13338    method @NonNull public byte[] getSalt();
13339    method public void writeToParcel(@NonNull android.os.Parcel, int);
13340    field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PresenceBroadcastRequest> CREATOR;
13341  }
13342
13343  public static final class PresenceBroadcastRequest.Builder {
13344    ctor public PresenceBroadcastRequest.Builder(@NonNull java.util.List<java.lang.Integer>, @NonNull byte[], @NonNull android.nearby.PrivateCredential);
13345    method @NonNull public android.nearby.PresenceBroadcastRequest.Builder addAction(@IntRange(from=1, to=255) int);
13346    method @NonNull public android.nearby.PresenceBroadcastRequest.Builder addExtendedProperty(@NonNull android.nearby.DataElement);
13347    method @NonNull public android.nearby.PresenceBroadcastRequest build();
13348    method @NonNull public android.nearby.PresenceBroadcastRequest.Builder setTxPower(@IntRange(from=0xffffff81, to=126) int);
13349    method @NonNull public android.nearby.PresenceBroadcastRequest.Builder setVersion(int);
13350  }
13351
13352  public abstract class PresenceCredential {
13353    method @NonNull public byte[] getAuthenticityKey();
13354    method @NonNull public java.util.List<android.nearby.CredentialElement> getCredentialElements();
13355    method public int getIdentityType();
13356    method @NonNull public byte[] getSecretId();
13357    method public int getType();
13358    field public static final int CREDENTIAL_TYPE_PRIVATE = 0; // 0x0
13359    field public static final int CREDENTIAL_TYPE_PUBLIC = 1; // 0x1
13360    field public static final int IDENTITY_TYPE_PRIVATE = 1; // 0x1
13361    field public static final int IDENTITY_TYPE_PROVISIONED = 2; // 0x2
13362    field public static final int IDENTITY_TYPE_TRUSTED = 3; // 0x3
13363    field public static final int IDENTITY_TYPE_UNKNOWN = 0; // 0x0
13364  }
13365
13366  public final class PresenceDevice extends android.nearby.NearbyDevice implements android.os.Parcelable {
13367    method public int describeContents();
13368    method @NonNull public String getDeviceId();
13369    method @Nullable public String getDeviceImageUrl();
13370    method public int getDeviceType();
13371    method public long getDiscoveryTimestampMillis();
13372    method @NonNull public byte[] getEncryptedIdentity();
13373    method @NonNull public java.util.List<android.nearby.DataElement> getExtendedProperties();
13374    method @NonNull public byte[] getSalt();
13375    method @NonNull public byte[] getSecretId();
13376    method public void writeToParcel(@NonNull android.os.Parcel, int);
13377    field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PresenceDevice> CREATOR;
13378  }
13379
13380  public static final class PresenceDevice.Builder {
13381    ctor public PresenceDevice.Builder(@NonNull String, @NonNull byte[], @NonNull byte[], @NonNull byte[]);
13382    method @NonNull public android.nearby.PresenceDevice.Builder addExtendedProperty(@NonNull android.nearby.DataElement);
13383    method @NonNull public android.nearby.PresenceDevice.Builder addMedium(int);
13384    method @NonNull public android.nearby.PresenceDevice build();
13385    method @NonNull public android.nearby.PresenceDevice.Builder setDeviceImageUrl(@Nullable String);
13386    method @NonNull public android.nearby.PresenceDevice.Builder setDeviceType(int);
13387    method @NonNull public android.nearby.PresenceDevice.Builder setDiscoveryTimestampMillis(long);
13388    method @NonNull public android.nearby.PresenceDevice.Builder setName(@Nullable String);
13389    method @NonNull public android.nearby.PresenceDevice.Builder setRssi(int);
13390  }
13391
13392  public final class PresenceScanFilter extends android.nearby.ScanFilter implements android.os.Parcelable {
13393    method public int describeContents();
13394    method @NonNull public java.util.List<android.nearby.PublicCredential> getCredentials();
13395    method @NonNull public java.util.List<android.nearby.DataElement> getExtendedProperties();
13396    method @NonNull public java.util.List<java.lang.Integer> getPresenceActions();
13397    method public void writeToParcel(@NonNull android.os.Parcel, int);
13398    field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PresenceScanFilter> CREATOR;
13399  }
13400
13401  public static final class PresenceScanFilter.Builder {
13402    ctor public PresenceScanFilter.Builder();
13403    method @NonNull public android.nearby.PresenceScanFilter.Builder addCredential(@NonNull android.nearby.PublicCredential);
13404    method @NonNull public android.nearby.PresenceScanFilter.Builder addExtendedProperty(@NonNull android.nearby.DataElement);
13405    method @NonNull public android.nearby.PresenceScanFilter.Builder addPresenceAction(@IntRange(from=1, to=255) int);
13406    method @NonNull public android.nearby.PresenceScanFilter build();
13407    method @NonNull public android.nearby.PresenceScanFilter.Builder setMaxPathLoss(@IntRange(from=0, to=127) int);
13408  }
13409
13410  public final class PrivateCredential extends android.nearby.PresenceCredential implements android.os.Parcelable {
13411    method public int describeContents();
13412    method @NonNull public String getDeviceName();
13413    method @NonNull public byte[] getMetadataEncryptionKey();
13414    method public void writeToParcel(@NonNull android.os.Parcel, int);
13415    field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PrivateCredential> CREATOR;
13416  }
13417
13418  public static final class PrivateCredential.Builder {
13419    ctor public PrivateCredential.Builder(@NonNull byte[], @NonNull byte[], @NonNull byte[], @NonNull String);
13420    method @NonNull public android.nearby.PrivateCredential.Builder addCredentialElement(@NonNull android.nearby.CredentialElement);
13421    method @NonNull public android.nearby.PrivateCredential build();
13422    method @NonNull public android.nearby.PrivateCredential.Builder setIdentityType(int);
13423  }
13424
13425  public final class PublicCredential extends android.nearby.PresenceCredential implements android.os.Parcelable {
13426    method public int describeContents();
13427    method @NonNull public byte[] getEncryptedMetadata();
13428    method @NonNull public byte[] getEncryptedMetadataKeyTag();
13429    method @NonNull public byte[] getPublicKey();
13430    method public void writeToParcel(@NonNull android.os.Parcel, int);
13431    field @NonNull public static final android.os.Parcelable.Creator<android.nearby.PublicCredential> CREATOR;
13432  }
13433
13434  public static final class PublicCredential.Builder {
13435    ctor public PublicCredential.Builder(@NonNull byte[], @NonNull byte[], @NonNull byte[], @NonNull byte[], @NonNull byte[]);
13436    method @NonNull public android.nearby.PublicCredential.Builder addCredentialElement(@NonNull android.nearby.CredentialElement);
13437    method @NonNull public android.nearby.PublicCredential build();
13438    method @NonNull public android.nearby.PublicCredential.Builder setIdentityType(int);
13439  }
13440
13441  public interface ScanCallback {
13442    method public void onDiscovered(@NonNull android.nearby.NearbyDevice);
13443    method public default void onError(int);
13444    method public void onLost(@NonNull android.nearby.NearbyDevice);
13445    method public void onUpdated(@NonNull android.nearby.NearbyDevice);
13446    field public static final int ERROR_INVALID_ARGUMENT = 2; // 0x2
13447    field public static final int ERROR_PERMISSION_DENIED = 3; // 0x3
13448    field public static final int ERROR_RESOURCE_EXHAUSTED = 4; // 0x4
13449    field public static final int ERROR_UNKNOWN = 0; // 0x0
13450    field public static final int ERROR_UNSUPPORTED = 1; // 0x1
13451  }
13452
13453  public abstract class ScanFilter {
13454    method @IntRange(from=0, to=127) public int getMaxPathLoss();
13455    method public int getType();
13456  }
13457
13458  public final class ScanRequest implements android.os.Parcelable {
13459    method public int describeContents();
13460    method @NonNull public java.util.List<android.nearby.ScanFilter> getScanFilters();
13461    method public int getScanMode();
13462    method public int getScanType();
13463    method @NonNull public android.os.WorkSource getWorkSource();
13464    method public boolean isBleEnabled();
13465    method public boolean isOffloadOnly();
13466    method public static boolean isValidScanMode(int);
13467    method public static boolean isValidScanType(int);
13468    method @NonNull public static String scanModeToString(int);
13469    method public void writeToParcel(@NonNull android.os.Parcel, int);
13470    field @NonNull public static final android.os.Parcelable.Creator<android.nearby.ScanRequest> CREATOR;
13471    field public static final int SCAN_MODE_BALANCED = 1; // 0x1
13472    field public static final int SCAN_MODE_LOW_LATENCY = 2; // 0x2
13473    field public static final int SCAN_MODE_LOW_POWER = 0; // 0x0
13474    field public static final int SCAN_MODE_NO_POWER = -1; // 0xffffffff
13475    field public static final int SCAN_TYPE_FAST_PAIR = 1; // 0x1
13476    field public static final int SCAN_TYPE_NEARBY_PRESENCE = 2; // 0x2
13477  }
13478
13479  public static final class ScanRequest.Builder {
13480    ctor public ScanRequest.Builder();
13481    method @NonNull public android.nearby.ScanRequest.Builder addScanFilter(@NonNull android.nearby.ScanFilter);
13482    method @NonNull public android.nearby.ScanRequest build();
13483    method @NonNull public android.nearby.ScanRequest.Builder setBleEnabled(boolean);
13484    method @NonNull public android.nearby.ScanRequest.Builder setOffloadOnly(boolean);
13485    method @NonNull public android.nearby.ScanRequest.Builder setScanMode(int);
13486    method @NonNull public android.nearby.ScanRequest.Builder setScanType(int);
13487    method @NonNull @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public android.nearby.ScanRequest.Builder setWorkSource(@Nullable android.os.WorkSource);
13488  }
13489
13490}
13491
13492package android.net {
13493
13494  public class CaptivePortal implements android.os.Parcelable {
13495    method @Deprecated public void logEvent(int, @NonNull String);
13496    method @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public void reevaluateNetwork();
13497    method public void useNetwork();
13498    field public static final int APP_REQUEST_REEVALUATION_REQUIRED = 100; // 0x64
13499    field public static final int APP_RETURN_DISMISSED = 0; // 0x0
13500    field public static final int APP_RETURN_UNWANTED = 1; // 0x1
13501    field public static final int APP_RETURN_WANTED_AS_IS = 2; // 0x2
13502  }
13503
13504  public final class CaptivePortalData implements android.os.Parcelable {
13505    method public int describeContents();
13506    method public long getByteLimit();
13507    method public long getExpiryTimeMillis();
13508    method public long getRefreshTimeMillis();
13509    method @Nullable public android.net.Uri getUserPortalUrl();
13510    method public int getUserPortalUrlSource();
13511    method @Nullable public CharSequence getVenueFriendlyName();
13512    method @Nullable public android.net.Uri getVenueInfoUrl();
13513    method public int getVenueInfoUrlSource();
13514    method public boolean isCaptive();
13515    method public boolean isSessionExtendable();
13516    method public void writeToParcel(@NonNull android.os.Parcel, int);
13517    field public static final int CAPTIVE_PORTAL_DATA_SOURCE_OTHER = 0; // 0x0
13518    field public static final int CAPTIVE_PORTAL_DATA_SOURCE_PASSPOINT = 1; // 0x1
13519    field @NonNull public static final android.os.Parcelable.Creator<android.net.CaptivePortalData> CREATOR;
13520  }
13521
13522  public static class CaptivePortalData.Builder {
13523    ctor public CaptivePortalData.Builder();
13524    ctor public CaptivePortalData.Builder(@Nullable android.net.CaptivePortalData);
13525    method @NonNull public android.net.CaptivePortalData build();
13526    method @NonNull public android.net.CaptivePortalData.Builder setBytesRemaining(long);
13527    method @NonNull public android.net.CaptivePortalData.Builder setCaptive(boolean);
13528    method @NonNull public android.net.CaptivePortalData.Builder setExpiryTime(long);
13529    method @NonNull public android.net.CaptivePortalData.Builder setRefreshTime(long);
13530    method @NonNull public android.net.CaptivePortalData.Builder setSessionExtendable(boolean);
13531    method @NonNull public android.net.CaptivePortalData.Builder setUserPortalUrl(@Nullable android.net.Uri);
13532    method @NonNull public android.net.CaptivePortalData.Builder setUserPortalUrl(@Nullable android.net.Uri, int);
13533    method @NonNull public android.net.CaptivePortalData.Builder setVenueFriendlyName(@Nullable CharSequence);
13534    method @NonNull public android.net.CaptivePortalData.Builder setVenueInfoUrl(@Nullable android.net.Uri);
13535    method @NonNull public android.net.CaptivePortalData.Builder setVenueInfoUrl(@Nullable android.net.Uri, int);
13536  }
13537
13538  public class ConnectivityManager {
13539    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);
13540    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);
13541    method @Deprecated @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public String getCaptivePortalServerUrl();
13542    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void getLatestTetheringEntitlementResult(int, boolean, @NonNull java.util.concurrent.Executor, @NonNull android.net.ConnectivityManager.OnTetheringEntitlementResultListener);
13543    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public boolean isTetheringSupported();
13544    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_FACTORY}) public int registerNetworkProvider(@NonNull android.net.NetworkProvider);
13545    method public void registerQosCallback(@NonNull android.net.QosSocketInfo, @NonNull java.util.concurrent.Executor, @NonNull android.net.QosCallback);
13546    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void registerTetheringEventCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.ConnectivityManager.OnTetheringEventCallback);
13547    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);
13548    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);
13549    method @RequiresPermission(android.Manifest.permission.CONTROL_OEM_PAID_NETWORK_PREFERENCE) public void setOemNetworkPreference(@NonNull android.net.OemNetworkPreferences, @Nullable java.util.concurrent.Executor, @Nullable Runnable);
13550    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_STACK}) public boolean shouldAvoidBadWifi();
13551    method @RequiresPermission(android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK) public void startCaptivePortalApp(@NonNull android.net.Network, @NonNull android.os.Bundle);
13552    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void startTethering(int, boolean, android.net.ConnectivityManager.OnStartTetheringCallback);
13553    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void startTethering(int, boolean, android.net.ConnectivityManager.OnStartTetheringCallback, android.os.Handler);
13554    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void stopTethering(int);
13555    method @RequiresPermission(anyOf={android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK, android.Manifest.permission.NETWORK_FACTORY}) public void unregisterNetworkProvider(@NonNull android.net.NetworkProvider);
13556    method public void unregisterQosCallback(@NonNull android.net.QosCallback);
13557    method @Deprecated @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void unregisterTetheringEventCallback(@NonNull android.net.ConnectivityManager.OnTetheringEventCallback);
13558    field public static final String EXTRA_CAPTIVE_PORTAL_PROBE_SPEC = "android.net.extra.CAPTIVE_PORTAL_PROBE_SPEC";
13559    field public static final String EXTRA_CAPTIVE_PORTAL_USER_AGENT = "android.net.extra.CAPTIVE_PORTAL_USER_AGENT";
13560    field public static final int TETHERING_BLUETOOTH = 2; // 0x2
13561    field public static final int TETHERING_USB = 1; // 0x1
13562    field public static final int TETHERING_WIFI = 0; // 0x0
13563    field @Deprecated public static final int TETHER_ERROR_ENTITLEMENT_UNKONWN = 13; // 0xd
13564    field @Deprecated public static final int TETHER_ERROR_NO_ERROR = 0; // 0x0
13565    field @Deprecated public static final int TETHER_ERROR_PROVISION_FAILED = 11; // 0xb
13566    field public static final int TYPE_NONE = -1; // 0xffffffff
13567    field @Deprecated public static final int TYPE_PROXY = 16; // 0x10
13568    field @Deprecated public static final int TYPE_WIFI_P2P = 13; // 0xd
13569  }
13570
13571  @Deprecated public abstract static class ConnectivityManager.OnStartTetheringCallback {
13572    ctor @Deprecated public ConnectivityManager.OnStartTetheringCallback();
13573    method @Deprecated public void onTetheringFailed();
13574    method @Deprecated public void onTetheringStarted();
13575  }
13576
13577  @Deprecated public static interface ConnectivityManager.OnTetheringEntitlementResultListener {
13578    method @Deprecated public void onTetheringEntitlementResult(int);
13579  }
13580
13581  @Deprecated public abstract static class ConnectivityManager.OnTetheringEventCallback {
13582    ctor @Deprecated public ConnectivityManager.OnTetheringEventCallback();
13583    method @Deprecated public void onUpstreamChanged(@Nullable android.net.Network);
13584  }
13585
13586  public final class DscpPolicy implements android.os.Parcelable {
13587    method public int describeContents();
13588    method @Nullable public java.net.InetAddress getDestinationAddress();
13589    method @Nullable public android.util.Range<java.lang.Integer> getDestinationPortRange();
13590    method public int getDscpValue();
13591    method public int getPolicyId();
13592    method public int getProtocol();
13593    method @Nullable public java.net.InetAddress getSourceAddress();
13594    method public int getSourcePort();
13595    method public void writeToParcel(@NonNull android.os.Parcel, int);
13596    field @NonNull public static final android.os.Parcelable.Creator<android.net.DscpPolicy> CREATOR;
13597    field public static final int PROTOCOL_ANY = -1; // 0xffffffff
13598    field public static final int SOURCE_PORT_ANY = -1; // 0xffffffff
13599  }
13600
13601  public static final class DscpPolicy.Builder {
13602    ctor public DscpPolicy.Builder(int, int);
13603    method @NonNull public android.net.DscpPolicy build();
13604    method @NonNull public android.net.DscpPolicy.Builder setDestinationAddress(@NonNull java.net.InetAddress);
13605    method @NonNull public android.net.DscpPolicy.Builder setDestinationPortRange(@NonNull android.util.Range<java.lang.Integer>);
13606    method @NonNull public android.net.DscpPolicy.Builder setProtocol(int);
13607    method @NonNull public android.net.DscpPolicy.Builder setSourceAddress(@NonNull java.net.InetAddress);
13608    method @NonNull public android.net.DscpPolicy.Builder setSourcePort(int);
13609  }
13610
13611  public class EthernetManager {
13612    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>);
13613    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>);
13614    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);
13615    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>);
13616  }
13617
13618  public static interface EthernetManager.TetheredInterfaceCallback {
13619    method public void onAvailable(@NonNull String);
13620    method public void onUnavailable();
13621  }
13622
13623  public static class EthernetManager.TetheredInterfaceRequest {
13624    method public void release();
13625  }
13626
13627  public final class EthernetNetworkManagementException extends java.lang.RuntimeException implements android.os.Parcelable {
13628    ctor public EthernetNetworkManagementException(@NonNull String);
13629    method public int describeContents();
13630    method public void writeToParcel(@NonNull android.os.Parcel, int);
13631    field @NonNull public static final android.os.Parcelable.Creator<android.net.EthernetNetworkManagementException> CREATOR;
13632  }
13633
13634  public final class EthernetNetworkUpdateRequest implements android.os.Parcelable {
13635    method public int describeContents();
13636    method @Nullable public android.net.IpConfiguration getIpConfiguration();
13637    method @Nullable public android.net.NetworkCapabilities getNetworkCapabilities();
13638    method public void writeToParcel(@NonNull android.os.Parcel, int);
13639    field @NonNull public static final android.os.Parcelable.Creator<android.net.EthernetNetworkUpdateRequest> CREATOR;
13640  }
13641
13642  public static final class EthernetNetworkUpdateRequest.Builder {
13643    ctor public EthernetNetworkUpdateRequest.Builder();
13644    ctor public EthernetNetworkUpdateRequest.Builder(@NonNull android.net.EthernetNetworkUpdateRequest);
13645    method @NonNull public android.net.EthernetNetworkUpdateRequest build();
13646    method @NonNull public android.net.EthernetNetworkUpdateRequest.Builder setIpConfiguration(@Nullable android.net.IpConfiguration);
13647    method @NonNull public android.net.EthernetNetworkUpdateRequest.Builder setNetworkCapabilities(@Nullable android.net.NetworkCapabilities);
13648  }
13649
13650  public final class InvalidPacketException extends java.lang.Exception {
13651    ctor public InvalidPacketException(int);
13652    method public int getError();
13653    field public static final int ERROR_INVALID_IP_ADDRESS = -21; // 0xffffffeb
13654    field public static final int ERROR_INVALID_LENGTH = -23; // 0xffffffe9
13655    field public static final int ERROR_INVALID_PORT = -22; // 0xffffffea
13656  }
13657
13658  public final class IpConfiguration implements android.os.Parcelable {
13659    ctor public IpConfiguration();
13660    ctor public IpConfiguration(@NonNull android.net.IpConfiguration);
13661    method @NonNull public android.net.IpConfiguration.IpAssignment getIpAssignment();
13662    method @NonNull public android.net.IpConfiguration.ProxySettings getProxySettings();
13663    method public void setHttpProxy(@Nullable android.net.ProxyInfo);
13664    method public void setIpAssignment(@NonNull android.net.IpConfiguration.IpAssignment);
13665    method public void setProxySettings(@NonNull android.net.IpConfiguration.ProxySettings);
13666    method public void setStaticIpConfiguration(@Nullable android.net.StaticIpConfiguration);
13667  }
13668
13669  public enum IpConfiguration.IpAssignment {
13670    enum_constant public static final android.net.IpConfiguration.IpAssignment DHCP;
13671    enum_constant public static final android.net.IpConfiguration.IpAssignment STATIC;
13672    enum_constant public static final android.net.IpConfiguration.IpAssignment UNASSIGNED;
13673  }
13674
13675  public enum IpConfiguration.ProxySettings {
13676    enum_constant public static final android.net.IpConfiguration.ProxySettings NONE;
13677    enum_constant public static final android.net.IpConfiguration.ProxySettings PAC;
13678    enum_constant public static final android.net.IpConfiguration.ProxySettings STATIC;
13679    enum_constant public static final android.net.IpConfiguration.ProxySettings UNASSIGNED;
13680  }
13681
13682  public final class IpPrefix implements android.os.Parcelable {
13683    ctor public IpPrefix(@NonNull String);
13684  }
13685
13686  public class IpSecManager {
13687    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;
13688    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;
13689    method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void startTunnelModeTransformMigration(@NonNull android.net.IpSecTransform, @NonNull java.net.InetAddress, @NonNull java.net.InetAddress);
13690  }
13691
13692  public static final class IpSecManager.IpSecTunnelInterface implements java.lang.AutoCloseable {
13693    method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void addAddress(@NonNull java.net.InetAddress, int) throws java.io.IOException;
13694    method public void close();
13695    method @NonNull public String getInterfaceName();
13696    method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void removeAddress(@NonNull java.net.InetAddress, int) throws java.io.IOException;
13697    method @RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS) public void setUnderlyingNetwork(@NonNull android.net.Network) throws java.io.IOException;
13698  }
13699
13700  public static class IpSecTransform.Builder {
13701    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;
13702  }
13703
13704  public class KeepalivePacketData {
13705    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;
13706    method @NonNull public java.net.InetAddress getDstAddress();
13707    method public int getDstPort();
13708    method @NonNull public byte[] getPacket();
13709    method @NonNull public java.net.InetAddress getSrcAddress();
13710    method public int getSrcPort();
13711  }
13712
13713  public class LinkAddress implements android.os.Parcelable {
13714    ctor public LinkAddress(@NonNull String);
13715    ctor public LinkAddress(@NonNull String, int, int);
13716    ctor public LinkAddress(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int);
13717    ctor public LinkAddress(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int, int, int);
13718    ctor public LinkAddress(@NonNull java.net.InetAddress, @IntRange(from=0, to=128) int, int, int, long, long);
13719    method public long getDeprecationTime();
13720    method public long getExpirationTime();
13721    method public boolean isGlobalPreferred();
13722    method public boolean isIpv4();
13723    method public boolean isIpv6();
13724    method public boolean isSameAddressAs(@Nullable android.net.LinkAddress);
13725    field public static final long LIFETIME_PERMANENT = 9223372036854775807L; // 0x7fffffffffffffffL
13726    field public static final long LIFETIME_UNKNOWN = -1L; // 0xffffffffffffffffL
13727  }
13728
13729  public final class LinkProperties implements android.os.Parcelable {
13730    ctor public LinkProperties(@Nullable android.net.LinkProperties);
13731    ctor public LinkProperties(@Nullable android.net.LinkProperties, boolean);
13732    method public boolean addDnsServer(@NonNull java.net.InetAddress);
13733    method public boolean addLinkAddress(@NonNull android.net.LinkAddress);
13734    method public boolean addPcscfServer(@NonNull java.net.InetAddress);
13735    method @NonNull public java.util.List<java.net.InetAddress> getAddresses();
13736    method @NonNull public java.util.List<java.lang.String> getAllInterfaceNames();
13737    method @NonNull public java.util.List<android.net.LinkAddress> getAllLinkAddresses();
13738    method @NonNull public java.util.List<android.net.RouteInfo> getAllRoutes();
13739    method @Nullable public android.net.Uri getCaptivePortalApiUrl();
13740    method @Nullable public android.net.CaptivePortalData getCaptivePortalData();
13741    method @NonNull public java.util.List<java.net.InetAddress> getPcscfServers();
13742    method @Nullable public String getTcpBufferSizes();
13743    method @NonNull public java.util.List<java.net.InetAddress> getValidatedPrivateDnsServers();
13744    method public boolean hasGlobalIpv6Address();
13745    method public boolean hasIpv4Address();
13746    method public boolean hasIpv4DefaultRoute();
13747    method public boolean hasIpv4DnsServer();
13748    method public boolean hasIpv6DefaultRoute();
13749    method public boolean hasIpv6DnsServer();
13750    method public boolean isIpv4Provisioned();
13751    method public boolean isIpv6Provisioned();
13752    method public boolean isProvisioned();
13753    method public boolean isReachable(@NonNull java.net.InetAddress);
13754    method public boolean removeDnsServer(@NonNull java.net.InetAddress);
13755    method public boolean removeLinkAddress(@NonNull android.net.LinkAddress);
13756    method public boolean removeRoute(@NonNull android.net.RouteInfo);
13757    method public void setCaptivePortalApiUrl(@Nullable android.net.Uri);
13758    method public void setCaptivePortalData(@Nullable android.net.CaptivePortalData);
13759    method public void setPcscfServers(@NonNull java.util.Collection<java.net.InetAddress>);
13760    method public void setPrivateDnsServerName(@Nullable String);
13761    method public void setTcpBufferSizes(@Nullable String);
13762    method public void setUsePrivateDns(boolean);
13763    method public void setValidatedPrivateDnsServers(@NonNull java.util.Collection<java.net.InetAddress>);
13764  }
13765
13766  public final class MatchAllNetworkSpecifier extends android.net.NetworkSpecifier implements android.os.Parcelable {
13767    ctor public MatchAllNetworkSpecifier();
13768    method public int describeContents();
13769    method public void writeToParcel(@NonNull android.os.Parcel, int);
13770    field @NonNull public static final android.os.Parcelable.Creator<android.net.MatchAllNetworkSpecifier> CREATOR;
13771  }
13772
13773  public final class NattKeepalivePacketData extends android.net.KeepalivePacketData implements android.os.Parcelable {
13774    ctor public NattKeepalivePacketData(@NonNull java.net.InetAddress, int, @NonNull java.net.InetAddress, int, @NonNull byte[]) throws android.net.InvalidPacketException;
13775    method public int describeContents();
13776    method public void writeToParcel(@NonNull android.os.Parcel, int);
13777    field @NonNull public static final android.os.Parcelable.Creator<android.net.NattKeepalivePacketData> CREATOR;
13778  }
13779
13780  public class Network implements android.os.Parcelable {
13781    ctor public Network(@NonNull android.net.Network);
13782    method public int getNetId();
13783    method @NonNull public android.net.Network getPrivateDnsBypassingCopy();
13784  }
13785
13786  public abstract class NetworkAgent {
13787    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);
13788    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);
13789    method @Nullable public android.net.Network getNetwork();
13790    method public void markConnected();
13791    method public void onAddKeepalivePacketFilter(int, @NonNull android.net.KeepalivePacketData);
13792    method public void onAutomaticReconnectDisabled();
13793    method public void onBandwidthUpdateRequested();
13794    method public void onDscpPolicyStatusUpdated(int, int);
13795    method public void onNetworkCreated();
13796    method public void onNetworkDestroyed();
13797    method public void onNetworkUnwanted();
13798    method public void onQosCallbackRegistered(int, @NonNull android.net.QosFilter);
13799    method public void onQosCallbackUnregistered(int);
13800    method public void onRemoveKeepalivePacketFilter(int);
13801    method public void onSaveAcceptUnvalidated(boolean);
13802    method public void onSignalStrengthThresholdsUpdated(@NonNull int[]);
13803    method public void onStartSocketKeepalive(int, @NonNull java.time.Duration, @NonNull android.net.KeepalivePacketData);
13804    method public void onStopSocketKeepalive(int);
13805    method public void onValidationStatus(int, @Nullable android.net.Uri);
13806    method @NonNull public android.net.Network register();
13807    method public void sendAddDscpPolicy(@NonNull android.net.DscpPolicy);
13808    method public void sendLinkProperties(@NonNull android.net.LinkProperties);
13809    method public void sendNetworkCapabilities(@NonNull android.net.NetworkCapabilities);
13810    method public void sendNetworkScore(@NonNull android.net.NetworkScore);
13811    method public void sendNetworkScore(@IntRange(from=0, to=99) int);
13812    method public final void sendQosCallbackError(int, int);
13813    method public final void sendQosSessionAvailable(int, int, @NonNull android.net.QosSessionAttributes);
13814    method public final void sendQosSessionLost(int, int, int);
13815    method public void sendRemoveAllDscpPolicies();
13816    method public void sendRemoveDscpPolicy(int);
13817    method public final void sendSocketKeepaliveEvent(int, int);
13818    method @Deprecated public void setLegacySubtype(int, @NonNull String);
13819    method public void setLingerDuration(@NonNull java.time.Duration);
13820    method public void setTeardownDelayMillis(@IntRange(from=0, to=0x1388) int);
13821    method public void setUnderlyingNetworks(@Nullable java.util.List<android.net.Network>);
13822    method public void unregister();
13823    method public void unregisterAfterReplacement(@IntRange(from=0, to=0x1388) int);
13824    field public static final int DSCP_POLICY_STATUS_DELETED = 4; // 0x4
13825    field public static final int DSCP_POLICY_STATUS_INSUFFICIENT_PROCESSING_RESOURCES = 3; // 0x3
13826    field public static final int DSCP_POLICY_STATUS_POLICY_NOT_FOUND = 5; // 0x5
13827    field public static final int DSCP_POLICY_STATUS_REQUESTED_CLASSIFIER_NOT_SUPPORTED = 2; // 0x2
13828    field public static final int DSCP_POLICY_STATUS_REQUEST_DECLINED = 1; // 0x1
13829    field public static final int DSCP_POLICY_STATUS_SUCCESS = 0; // 0x0
13830    field public static final int VALIDATION_STATUS_NOT_VALID = 2; // 0x2
13831    field public static final int VALIDATION_STATUS_VALID = 1; // 0x1
13832  }
13833
13834  public final class NetworkAgentConfig implements android.os.Parcelable {
13835    method public int describeContents();
13836    method public int getLegacyType();
13837    method @NonNull public String getLegacyTypeName();
13838    method public boolean isExplicitlySelected();
13839    method public boolean isPartialConnectivityAcceptable();
13840    method public boolean isUnvalidatedConnectivityAcceptable();
13841    method public void writeToParcel(@NonNull android.os.Parcel, int);
13842    field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkAgentConfig> CREATOR;
13843  }
13844
13845  public static final class NetworkAgentConfig.Builder {
13846    ctor public NetworkAgentConfig.Builder();
13847    method @NonNull public android.net.NetworkAgentConfig build();
13848    method @NonNull public android.net.NetworkAgentConfig.Builder setExplicitlySelected(boolean);
13849    method @NonNull public android.net.NetworkAgentConfig.Builder setLegacyExtraInfo(@NonNull String);
13850    method @NonNull public android.net.NetworkAgentConfig.Builder setLegacySubType(int);
13851    method @NonNull public android.net.NetworkAgentConfig.Builder setLegacySubTypeName(@NonNull String);
13852    method @NonNull public android.net.NetworkAgentConfig.Builder setLegacyType(int);
13853    method @NonNull public android.net.NetworkAgentConfig.Builder setLegacyTypeName(@NonNull String);
13854    method @NonNull public android.net.NetworkAgentConfig.Builder setNat64DetectionEnabled(boolean);
13855    method @NonNull public android.net.NetworkAgentConfig.Builder setPartialConnectivityAcceptable(boolean);
13856    method @NonNull public android.net.NetworkAgentConfig.Builder setProvisioningNotificationEnabled(boolean);
13857    method @NonNull public android.net.NetworkAgentConfig.Builder setUnvalidatedConnectivityAcceptable(boolean);
13858  }
13859
13860  public final class NetworkCapabilities implements android.os.Parcelable {
13861    method @NonNull public int[] getAdministratorUids();
13862    method @Nullable public static String getCapabilityCarrierName(int);
13863    method @Nullable public String getSsid();
13864    method @NonNull public int[] getTransportTypes();
13865    method @Nullable public java.util.List<android.net.Network> getUnderlyingNetworks();
13866    method public boolean isPrivateDnsBroken();
13867    method public boolean satisfiedByNetworkCapabilities(@Nullable android.net.NetworkCapabilities);
13868    field public static final int NET_CAPABILITY_BIP = 31; // 0x1f
13869    field public static final int NET_CAPABILITY_NOT_VCN_MANAGED = 28; // 0x1c
13870    field public static final int NET_CAPABILITY_OEM_PAID = 22; // 0x16
13871    field public static final int NET_CAPABILITY_OEM_PRIVATE = 26; // 0x1a
13872    field public static final int NET_CAPABILITY_PARTIAL_CONNECTIVITY = 24; // 0x18
13873    field public static final int NET_CAPABILITY_VEHICLE_INTERNAL = 27; // 0x1b
13874    field public static final int NET_CAPABILITY_VSIM = 30; // 0x1e
13875  }
13876
13877  public static final class NetworkCapabilities.Builder {
13878    ctor public NetworkCapabilities.Builder();
13879    ctor public NetworkCapabilities.Builder(@NonNull android.net.NetworkCapabilities);
13880    method @NonNull public android.net.NetworkCapabilities.Builder addCapability(int);
13881    method @NonNull public android.net.NetworkCapabilities.Builder addEnterpriseId(int);
13882    method @NonNull public android.net.NetworkCapabilities.Builder addTransportType(int);
13883    method @NonNull public android.net.NetworkCapabilities build();
13884    method @NonNull public android.net.NetworkCapabilities.Builder removeCapability(int);
13885    method @NonNull public android.net.NetworkCapabilities.Builder removeEnterpriseId(int);
13886    method @NonNull public android.net.NetworkCapabilities.Builder removeTransportType(int);
13887    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setAdministratorUids(@NonNull int[]);
13888    method @NonNull public android.net.NetworkCapabilities.Builder setLinkDownstreamBandwidthKbps(int);
13889    method @NonNull public android.net.NetworkCapabilities.Builder setLinkUpstreamBandwidthKbps(int);
13890    method @NonNull public android.net.NetworkCapabilities.Builder setNetworkSpecifier(@Nullable android.net.NetworkSpecifier);
13891    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setOwnerUid(int);
13892    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setRequestorPackageName(@Nullable String);
13893    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setRequestorUid(int);
13894    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SIGNAL_STRENGTH_WAKEUP) public android.net.NetworkCapabilities.Builder setSignalStrength(int);
13895    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setSsid(@Nullable String);
13896    method @NonNull public android.net.NetworkCapabilities.Builder setSubscriptionIds(@NonNull java.util.Set<java.lang.Integer>);
13897    method @NonNull public android.net.NetworkCapabilities.Builder setTransportInfo(@Nullable android.net.TransportInfo);
13898    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.NetworkCapabilities.Builder setUnderlyingNetworks(@Nullable java.util.List<android.net.Network>);
13899    method @NonNull public static android.net.NetworkCapabilities.Builder withoutDefaultCapabilities();
13900  }
13901
13902  @Deprecated public class NetworkKey implements android.os.Parcelable {
13903    ctor @Deprecated public NetworkKey(android.net.WifiKey);
13904    method @Deprecated @Nullable public static android.net.NetworkKey createFromScanResult(@NonNull android.net.wifi.ScanResult);
13905    method @Deprecated public int describeContents();
13906    method @Deprecated public void writeToParcel(android.os.Parcel, int);
13907    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkKey> CREATOR;
13908    field @Deprecated public static final int TYPE_WIFI = 1; // 0x1
13909    field @Deprecated public final int type;
13910    field @Deprecated public final android.net.WifiKey wifiKey;
13911  }
13912
13913  public class NetworkProvider {
13914    ctor public NetworkProvider(@NonNull android.content.Context, @NonNull android.os.Looper, @NonNull String);
13915    method @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public void declareNetworkRequestUnfulfillable(@NonNull android.net.NetworkRequest);
13916    method public int getProviderId();
13917    method public void onNetworkRequestWithdrawn(@NonNull android.net.NetworkRequest);
13918    method public void onNetworkRequested(@NonNull android.net.NetworkRequest, @IntRange(from=0, to=99) int, int);
13919    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);
13920    method @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public void unregisterNetworkOffer(@NonNull android.net.NetworkProvider.NetworkOfferCallback);
13921    field public static final int ID_NONE = -1; // 0xffffffff
13922  }
13923
13924  public static interface NetworkProvider.NetworkOfferCallback {
13925    method public void onNetworkNeeded(@NonNull android.net.NetworkRequest);
13926    method public void onNetworkUnneeded(@NonNull android.net.NetworkRequest);
13927  }
13928
13929  public abstract class NetworkRecommendationProvider {
13930    ctor public NetworkRecommendationProvider(android.content.Context, java.util.concurrent.Executor);
13931    method public final android.os.IBinder getBinder();
13932    method public abstract void onRequestScores(android.net.NetworkKey[]);
13933  }
13934
13935  public class NetworkReleasedException extends java.lang.Exception {
13936    ctor public NetworkReleasedException();
13937  }
13938
13939  public class NetworkRequest implements android.os.Parcelable {
13940    method @Nullable public String getRequestorPackageName();
13941    method public int getRequestorUid();
13942  }
13943
13944  public static class NetworkRequest.Builder {
13945    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SIGNAL_STRENGTH_WAKEUP) public android.net.NetworkRequest.Builder setSignalStrength(int);
13946  }
13947
13948  public final class NetworkScore implements android.os.Parcelable {
13949    method public int describeContents();
13950    method public int getKeepConnectedReason();
13951    method public int getLegacyInt();
13952    method public boolean isExiting();
13953    method public boolean isTransportPrimary();
13954    method public void writeToParcel(@NonNull android.os.Parcel, int);
13955    field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkScore> CREATOR;
13956    field public static final int KEEP_CONNECTED_FOR_HANDOVER = 1; // 0x1
13957    field public static final int KEEP_CONNECTED_NONE = 0; // 0x0
13958  }
13959
13960  public static final class NetworkScore.Builder {
13961    ctor public NetworkScore.Builder();
13962    method @NonNull public android.net.NetworkScore build();
13963    method @NonNull public android.net.NetworkScore.Builder setExiting(boolean);
13964    method @NonNull public android.net.NetworkScore.Builder setKeepConnectedReason(int);
13965    method @NonNull public android.net.NetworkScore.Builder setLegacyInt(int);
13966    method @NonNull public android.net.NetworkScore.Builder setTransportPrimary(boolean);
13967  }
13968
13969  @Deprecated public class NetworkScoreManager {
13970    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.SCORE_NETWORKS, android.Manifest.permission.REQUEST_NETWORK_SCORES}) public boolean clearScores() throws java.lang.SecurityException;
13971    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.SCORE_NETWORKS, android.Manifest.permission.REQUEST_NETWORK_SCORES}) public void disableScoring() throws java.lang.SecurityException;
13972    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.SCORE_NETWORKS, android.Manifest.permission.REQUEST_NETWORK_SCORES}) public String getActiveScorerPackage();
13973    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;
13974    method @Deprecated @RequiresPermission(android.Manifest.permission.REQUEST_NETWORK_SCORES) public boolean requestScores(@NonNull java.util.Collection<android.net.NetworkKey>) throws java.lang.SecurityException;
13975    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.SCORE_NETWORKS, android.Manifest.permission.REQUEST_NETWORK_SCORES}) public boolean setActiveScorer(String) throws java.lang.SecurityException;
13976    method @Deprecated @RequiresPermission(android.Manifest.permission.SCORE_NETWORKS) public boolean updateScores(@NonNull android.net.ScoredNetwork[]) throws java.lang.SecurityException;
13977    field @Deprecated public static final String ACTION_CHANGE_ACTIVE = "android.net.scoring.CHANGE_ACTIVE";
13978    field @Deprecated public static final String ACTION_CUSTOM_ENABLE = "android.net.scoring.CUSTOM_ENABLE";
13979    field @Deprecated public static final String ACTION_RECOMMEND_NETWORKS = "android.net.action.RECOMMEND_NETWORKS";
13980    field @Deprecated public static final String ACTION_SCORER_CHANGED = "android.net.scoring.SCORER_CHANGED";
13981    field @Deprecated public static final String ACTION_SCORE_NETWORKS = "android.net.scoring.SCORE_NETWORKS";
13982    field @Deprecated public static final String EXTRA_NETWORKS_TO_SCORE = "networksToScore";
13983    field @Deprecated public static final String EXTRA_NEW_SCORER = "newScorer";
13984    field @Deprecated public static final String EXTRA_PACKAGE_NAME = "packageName";
13985    field @Deprecated public static final int SCORE_FILTER_CURRENT_NETWORK = 1; // 0x1
13986    field @Deprecated public static final int SCORE_FILTER_NONE = 0; // 0x0
13987    field @Deprecated public static final int SCORE_FILTER_SCAN_RESULTS = 2; // 0x2
13988  }
13989
13990  @Deprecated public abstract static class NetworkScoreManager.NetworkScoreCallback {
13991    ctor @Deprecated public NetworkScoreManager.NetworkScoreCallback();
13992    method @Deprecated public abstract void onScoresInvalidated();
13993    method @Deprecated public abstract void onScoresUpdated(@NonNull java.util.Collection<android.net.ScoredNetwork>);
13994  }
13995
13996  public abstract class NetworkSpecifier {
13997    method public boolean canBeSatisfiedBy(@Nullable android.net.NetworkSpecifier);
13998    method @Nullable public android.net.NetworkSpecifier redact();
13999  }
14000
14001  public class NetworkStack {
14002    method @Nullable public static android.os.IBinder getService();
14003    field public static final String PERMISSION_MAINLINE_NETWORK_STACK = "android.permission.MAINLINE_NETWORK_STACK";
14004  }
14005
14006  public final class NetworkStats implements java.lang.Iterable<android.net.NetworkStats.Entry> android.os.Parcelable {
14007    ctor public NetworkStats(long, int);
14008    method @NonNull public android.net.NetworkStats add(@NonNull android.net.NetworkStats);
14009    method @NonNull public android.net.NetworkStats addEntries(@NonNull java.util.List<android.net.NetworkStats.Entry>);
14010    method @NonNull public android.net.NetworkStats addEntry(@NonNull android.net.NetworkStats.Entry);
14011    method public android.net.NetworkStats clone();
14012    method public int describeContents();
14013    method @NonNull public java.util.Iterator<android.net.NetworkStats.Entry> iterator();
14014    method @NonNull public android.net.NetworkStats subtract(@NonNull android.net.NetworkStats);
14015    method public void writeToParcel(@NonNull android.os.Parcel, int);
14016    field @NonNull public static final android.os.Parcelable.Creator<android.net.NetworkStats> CREATOR;
14017    field public static final int DEFAULT_NETWORK_ALL = -1; // 0xffffffff
14018    field public static final int DEFAULT_NETWORK_NO = 0; // 0x0
14019    field public static final int DEFAULT_NETWORK_YES = 1; // 0x1
14020    field public static final String IFACE_VT = "vt_data0";
14021    field public static final int METERED_ALL = -1; // 0xffffffff
14022    field public static final int METERED_NO = 0; // 0x0
14023    field public static final int METERED_YES = 1; // 0x1
14024    field public static final int ROAMING_ALL = -1; // 0xffffffff
14025    field public static final int ROAMING_NO = 0; // 0x0
14026    field public static final int ROAMING_YES = 1; // 0x1
14027    field public static final int SET_ALL = -1; // 0xffffffff
14028    field public static final int SET_DEFAULT = 0; // 0x0
14029    field public static final int SET_FOREGROUND = 1; // 0x1
14030    field public static final int TAG_NONE = 0; // 0x0
14031    field public static final int UID_ALL = -1; // 0xffffffff
14032    field public static final int UID_TETHERING = -5; // 0xfffffffb
14033  }
14034
14035  public static class NetworkStats.Entry {
14036    ctor public NetworkStats.Entry(@Nullable String, int, int, int, int, int, int, long, long, long, long, long);
14037    method public int getDefaultNetwork();
14038    method public int getMetered();
14039    method public long getOperations();
14040    method public int getRoaming();
14041    method public long getRxBytes();
14042    method public long getRxPackets();
14043    method public int getSet();
14044    method public int getTag();
14045    method public long getTxBytes();
14046    method public long getTxPackets();
14047    method public int getUid();
14048  }
14049
14050  public final class OemNetworkPreferences implements android.os.Parcelable {
14051    method public int describeContents();
14052    method @NonNull public java.util.Map<java.lang.String,java.lang.Integer> getNetworkPreferences();
14053    method public void writeToParcel(@NonNull android.os.Parcel, int);
14054    field @NonNull public static final android.os.Parcelable.Creator<android.net.OemNetworkPreferences> CREATOR;
14055    field public static final int OEM_NETWORK_PREFERENCE_OEM_PAID = 1; // 0x1
14056    field public static final int OEM_NETWORK_PREFERENCE_OEM_PAID_NO_FALLBACK = 2; // 0x2
14057    field public static final int OEM_NETWORK_PREFERENCE_OEM_PAID_ONLY = 3; // 0x3
14058    field public static final int OEM_NETWORK_PREFERENCE_OEM_PRIVATE_ONLY = 4; // 0x4
14059    field public static final int OEM_NETWORK_PREFERENCE_UNINITIALIZED = 0; // 0x0
14060  }
14061
14062  public static final class OemNetworkPreferences.Builder {
14063    ctor public OemNetworkPreferences.Builder();
14064    ctor public OemNetworkPreferences.Builder(@NonNull android.net.OemNetworkPreferences);
14065    method @NonNull public android.net.OemNetworkPreferences.Builder addNetworkPreference(@NonNull String, int);
14066    method @NonNull public android.net.OemNetworkPreferences build();
14067    method @NonNull public android.net.OemNetworkPreferences.Builder clearNetworkPreference(@NonNull String);
14068  }
14069
14070  public abstract class QosCallback {
14071    ctor public QosCallback();
14072    method public void onError(@NonNull android.net.QosCallbackException);
14073    method public void onQosSessionAvailable(@NonNull android.net.QosSession, @NonNull android.net.QosSessionAttributes);
14074    method public void onQosSessionLost(@NonNull android.net.QosSession);
14075  }
14076
14077  public static class QosCallback.QosCallbackRegistrationException extends java.lang.RuntimeException {
14078  }
14079
14080  public final class QosCallbackException extends java.lang.Exception {
14081    ctor public QosCallbackException(@NonNull String);
14082    ctor public QosCallbackException(@NonNull Throwable);
14083  }
14084
14085  public abstract class QosFilter {
14086    method @NonNull public abstract android.net.Network getNetwork();
14087    method public abstract boolean matchesLocalAddress(@NonNull java.net.InetAddress, int, int);
14088    method public boolean matchesProtocol(int);
14089    method public abstract boolean matchesRemoteAddress(@NonNull java.net.InetAddress, int, int);
14090  }
14091
14092  public final class QosSession implements android.os.Parcelable {
14093    ctor public QosSession(int, int);
14094    method public int describeContents();
14095    method public int getSessionId();
14096    method public int getSessionType();
14097    method public long getUniqueId();
14098    method public void writeToParcel(@NonNull android.os.Parcel, int);
14099    field @NonNull public static final android.os.Parcelable.Creator<android.net.QosSession> CREATOR;
14100    field public static final int TYPE_EPS_BEARER = 1; // 0x1
14101    field public static final int TYPE_NR_BEARER = 2; // 0x2
14102  }
14103
14104  public interface QosSessionAttributes {
14105  }
14106
14107  public final class QosSocketInfo implements android.os.Parcelable {
14108    ctor public QosSocketInfo(@NonNull android.net.Network, @NonNull java.net.DatagramSocket) throws java.io.IOException;
14109    ctor public QosSocketInfo(@NonNull android.net.Network, @NonNull java.net.Socket) throws java.io.IOException;
14110    method public int describeContents();
14111    method @NonNull public java.net.InetSocketAddress getLocalSocketAddress();
14112    method @NonNull public android.net.Network getNetwork();
14113    method @Nullable public java.net.InetSocketAddress getRemoteSocketAddress();
14114    method public void writeToParcel(@NonNull android.os.Parcel, int);
14115    field @NonNull public static final android.os.Parcelable.Creator<android.net.QosSocketInfo> CREATOR;
14116  }
14117
14118  public final class RouteInfo implements android.os.Parcelable {
14119    ctor public RouteInfo(@Nullable android.net.IpPrefix, @Nullable java.net.InetAddress, @Nullable String, int);
14120    ctor public RouteInfo(@Nullable android.net.IpPrefix, @Nullable java.net.InetAddress, @Nullable String, int, int);
14121    method public int getMtu();
14122  }
14123
14124  @Deprecated public class RssiCurve implements android.os.Parcelable {
14125    ctor @Deprecated public RssiCurve(int, int, byte[]);
14126    ctor @Deprecated public RssiCurve(int, int, byte[], int);
14127    method @Deprecated public int describeContents();
14128    method @Deprecated public byte lookupScore(int);
14129    method @Deprecated public byte lookupScore(int, boolean);
14130    method @Deprecated public void writeToParcel(android.os.Parcel, int);
14131    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.net.RssiCurve> CREATOR;
14132    field @Deprecated public final int activeNetworkRssiBoost;
14133    field @Deprecated public final int bucketWidth;
14134    field @Deprecated public final byte[] rssiBuckets;
14135    field @Deprecated public final int start;
14136  }
14137
14138  @Deprecated public class ScoredNetwork implements android.os.Parcelable {
14139    ctor @Deprecated public ScoredNetwork(android.net.NetworkKey, android.net.RssiCurve);
14140    ctor @Deprecated public ScoredNetwork(android.net.NetworkKey, android.net.RssiCurve, boolean);
14141    ctor @Deprecated public ScoredNetwork(android.net.NetworkKey, android.net.RssiCurve, boolean, @Nullable android.os.Bundle);
14142    method @Deprecated public int calculateBadge(int);
14143    method @Deprecated public int describeContents();
14144    method @Deprecated public void writeToParcel(android.os.Parcel, int);
14145    field @Deprecated public static final String ATTRIBUTES_KEY_BADGING_CURVE = "android.net.attributes.key.BADGING_CURVE";
14146    field @Deprecated public static final String ATTRIBUTES_KEY_HAS_CAPTIVE_PORTAL = "android.net.attributes.key.HAS_CAPTIVE_PORTAL";
14147    field @Deprecated public static final String ATTRIBUTES_KEY_RANKING_SCORE_OFFSET = "android.net.attributes.key.RANKING_SCORE_OFFSET";
14148    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.net.ScoredNetwork> CREATOR;
14149    field @Deprecated @Nullable public final android.os.Bundle attributes;
14150    field @Deprecated public final boolean meteredHint;
14151    field @Deprecated public final android.net.NetworkKey networkKey;
14152    field @Deprecated public final android.net.RssiCurve rssiCurve;
14153  }
14154
14155  public abstract class SocketKeepalive implements java.lang.AutoCloseable {
14156    method public final void start(@IntRange(from=0xa, to=0xe10) int, int, @Nullable android.net.Network);
14157    field public static final int ERROR_NO_SUCH_SLOT = -33; // 0xffffffdf
14158    field public static final int FLAG_AUTOMATIC_ON_OFF = 1; // 0x1
14159    field public static final int SUCCESS = 0; // 0x0
14160  }
14161
14162  public class SocketLocalAddressChangedException extends java.lang.Exception {
14163    ctor public SocketLocalAddressChangedException();
14164  }
14165
14166  public class SocketNotBoundException extends java.lang.Exception {
14167    ctor public SocketNotBoundException();
14168  }
14169
14170  public class SocketNotConnectedException extends java.lang.Exception {
14171    ctor public SocketNotConnectedException();
14172  }
14173
14174  public class SocketRemoteAddressChangedException extends java.lang.Exception {
14175    ctor public SocketRemoteAddressChangedException();
14176  }
14177
14178  public final class StaticIpConfiguration implements android.os.Parcelable {
14179    ctor public StaticIpConfiguration();
14180    ctor public StaticIpConfiguration(@Nullable android.net.StaticIpConfiguration);
14181    method public void addDnsServer(@NonNull java.net.InetAddress);
14182    method public void clear();
14183    method @NonNull public java.util.List<android.net.RouteInfo> getRoutes(@Nullable String);
14184  }
14185
14186  public final class TcpKeepalivePacketData extends android.net.KeepalivePacketData implements android.os.Parcelable {
14187    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;
14188    method public int describeContents();
14189    method public int getIpTos();
14190    method public int getIpTtl();
14191    method public int getTcpAck();
14192    method public int getTcpSeq();
14193    method public int getTcpWindow();
14194    method public int getTcpWindowScale();
14195    method public void writeToParcel(@NonNull android.os.Parcel, int);
14196    field @NonNull public static final android.os.Parcelable.Creator<android.net.TcpKeepalivePacketData> CREATOR;
14197  }
14198
14199  public final class TetheredClient implements android.os.Parcelable {
14200    ctor public TetheredClient(@NonNull android.net.MacAddress, @NonNull java.util.Collection<android.net.TetheredClient.AddressInfo>, int);
14201    method public int describeContents();
14202    method @NonNull public java.util.List<android.net.TetheredClient.AddressInfo> getAddresses();
14203    method @NonNull public android.net.MacAddress getMacAddress();
14204    method public int getTetheringType();
14205    method public void writeToParcel(@NonNull android.os.Parcel, int);
14206    field @NonNull public static final android.os.Parcelable.Creator<android.net.TetheredClient> CREATOR;
14207  }
14208
14209  public static final class TetheredClient.AddressInfo implements android.os.Parcelable {
14210    method public int describeContents();
14211    method @NonNull public android.net.LinkAddress getAddress();
14212    method @Nullable public String getHostname();
14213    method public void writeToParcel(@NonNull android.os.Parcel, int);
14214    field @NonNull public static final android.os.Parcelable.Creator<android.net.TetheredClient.AddressInfo> CREATOR;
14215  }
14216
14217  public class TetheringManager {
14218    method @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void requestLatestTetheringEntitlementResult(int, boolean, @NonNull java.util.concurrent.Executor, @NonNull android.net.TetheringManager.OnTetheringEntitlementResultListener);
14219    method @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void stopAllTethering();
14220    method @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void stopTethering(int);
14221    field @Deprecated public static final String ACTION_TETHER_STATE_CHANGED = "android.net.conn.TETHER_STATE_CHANGED";
14222    field public static final int CONNECTIVITY_SCOPE_LOCAL = 2; // 0x2
14223    field public static final String EXTRA_ACTIVE_LOCAL_ONLY = "android.net.extra.ACTIVE_LOCAL_ONLY";
14224    field public static final String EXTRA_ACTIVE_TETHER = "tetherArray";
14225    field public static final String EXTRA_AVAILABLE_TETHER = "availableArray";
14226    field public static final String EXTRA_ERRORED_TETHER = "erroredArray";
14227    field public static final int TETHERING_BLUETOOTH = 2; // 0x2
14228    field public static final int TETHERING_ETHERNET = 5; // 0x5
14229    field public static final int TETHERING_INVALID = -1; // 0xffffffff
14230    field public static final int TETHERING_NCM = 4; // 0x4
14231    field public static final int TETHERING_USB = 1; // 0x1
14232    field public static final int TETHERING_WIFI_P2P = 3; // 0x3
14233    field public static final int TETHER_HARDWARE_OFFLOAD_FAILED = 2; // 0x2
14234    field public static final int TETHER_HARDWARE_OFFLOAD_STARTED = 1; // 0x1
14235    field public static final int TETHER_HARDWARE_OFFLOAD_STOPPED = 0; // 0x0
14236  }
14237
14238  public static interface TetheringManager.OnTetheringEntitlementResultListener {
14239    method public void onTetheringEntitlementResult(int);
14240  }
14241
14242  public static interface TetheringManager.TetheringEventCallback {
14243    method public default void onClientsChanged(@NonNull java.util.Collection<android.net.TetheredClient>);
14244    method public default void onError(@NonNull android.net.TetheringInterface, int);
14245    method public default void onError(@NonNull String, int);
14246    method public default void onLocalOnlyInterfacesChanged(@NonNull java.util.List<java.lang.String>);
14247    method public default void onLocalOnlyInterfacesChanged(@NonNull java.util.Set<android.net.TetheringInterface>);
14248    method public default void onOffloadStatusChanged(int);
14249    method public default void onTetherableInterfacesChanged(@NonNull java.util.List<java.lang.String>);
14250    method public default void onTetherableInterfacesChanged(@NonNull java.util.Set<android.net.TetheringInterface>);
14251    method public default void onTetheredInterfacesChanged(@NonNull java.util.List<java.lang.String>);
14252    method public default void onTetheringSupported(boolean);
14253    method public default void onUpstreamChanged(@Nullable android.net.Network);
14254  }
14255
14256  public static final class TetheringManager.TetheringRequest implements android.os.Parcelable {
14257    method @Nullable public android.net.LinkAddress getClientStaticIpv4Address();
14258    method public int getConnectivityScope();
14259    method @Nullable public android.net.LinkAddress getLocalIpv4Address();
14260    method public boolean getShouldShowEntitlementUi();
14261    method public int getTetheringType();
14262    method public boolean isExemptFromEntitlementCheck();
14263  }
14264
14265  public static class TetheringManager.TetheringRequest.Builder {
14266    method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setConnectivityScope(int);
14267    method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setExemptFromEntitlementCheck(boolean);
14268    method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setShouldShowEntitlementUi(boolean);
14269    method @NonNull @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public android.net.TetheringManager.TetheringRequest.Builder setStaticIpv4Addresses(@NonNull android.net.LinkAddress, @NonNull android.net.LinkAddress);
14270  }
14271
14272  public class TrafficStats {
14273    method public static void setThreadStatsTagApp();
14274    method public static void setThreadStatsTagBackup();
14275    method public static void setThreadStatsTagRestore();
14276    field public static final int TAG_NETWORK_STACK_IMPERSONATION_RANGE_END = -113; // 0xffffff8f
14277    field public static final int TAG_NETWORK_STACK_IMPERSONATION_RANGE_START = -128; // 0xffffff80
14278    field public static final int TAG_NETWORK_STACK_RANGE_END = -257; // 0xfffffeff
14279    field public static final int TAG_NETWORK_STACK_RANGE_START = -768; // 0xfffffd00
14280    field public static final int TAG_SYSTEM_IMPERSONATION_RANGE_END = -241; // 0xffffff0f
14281    field public static final int TAG_SYSTEM_IMPERSONATION_RANGE_START = -256; // 0xffffff00
14282  }
14283
14284  public abstract class Uri implements java.lang.Comparable<android.net.Uri> android.os.Parcelable {
14285    method @NonNull public String toSafeString();
14286  }
14287
14288  public class VpnService extends android.app.Service {
14289    method @RequiresPermission(android.Manifest.permission.CONTROL_VPN) public static void prepareAndAuthorize(android.content.Context);
14290  }
14291
14292  public final class VpnTransportInfo implements android.os.Parcelable android.net.TransportInfo {
14293    ctor public VpnTransportInfo(int, @Nullable String, boolean, boolean);
14294    method public boolean areLongLivedTcpConnectionsExpensive();
14295    method public int describeContents();
14296    method public int getType();
14297    method public boolean isBypassable();
14298    method public void writeToParcel(@NonNull android.os.Parcel, int);
14299    field @NonNull public static final android.os.Parcelable.Creator<android.net.VpnTransportInfo> CREATOR;
14300  }
14301
14302  public class WebAddress {
14303    ctor public WebAddress(String) throws android.net.ParseException;
14304  }
14305
14306  @Deprecated public class WifiKey implements android.os.Parcelable {
14307    ctor @Deprecated public WifiKey(String, String);
14308    method @Deprecated public int describeContents();
14309    method @Deprecated public void writeToParcel(android.os.Parcel, int);
14310    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.net.WifiKey> CREATOR;
14311    field @Deprecated public final String bssid;
14312    field @Deprecated public final String ssid;
14313  }
14314
14315}
14316
14317package android.net.apf {
14318
14319  public final class ApfCapabilities implements android.os.Parcelable {
14320    ctor public ApfCapabilities(int, int, int);
14321    method public int describeContents();
14322    method public static boolean getApfDrop8023Frames();
14323    method @NonNull public static int[] getApfEtherTypeBlackList();
14324    method public boolean hasDataAccess();
14325    method public void writeToParcel(android.os.Parcel, int);
14326    field public static final android.os.Parcelable.Creator<android.net.apf.ApfCapabilities> CREATOR;
14327    field public final int apfPacketFormat;
14328    field public final int apfVersionSupported;
14329    field public final int maximumApfProgramSize;
14330  }
14331
14332}
14333
14334package android.net.eap {
14335
14336  public final class EapSessionConfig {
14337    method @Deprecated @Nullable public android.net.eap.EapSessionConfig.EapMsChapV2Config getEapMsChapV2onfig();
14338  }
14339
14340  public static class EapSessionConfig.EapAkaConfig extends android.net.eap.EapSessionConfig.EapUiccConfig {
14341  }
14342
14343  public static class EapSessionConfig.EapSimConfig extends android.net.eap.EapSessionConfig.EapUiccConfig {
14344  }
14345
14346  @Deprecated public abstract static class EapSessionConfig.EapUiccConfig extends android.net.eap.EapSessionConfig.EapMethodConfig {
14347    method @Deprecated public int getAppType();
14348    method @Deprecated public int getSubId();
14349  }
14350
14351}
14352
14353package android.net.ipsec.ike {
14354
14355  public interface ChildSessionCallback {
14356    method @Deprecated public default void onClosedExceptionally(@NonNull android.net.ipsec.ike.exceptions.IkeException);
14357    method public default void onIpSecTransformsMigrated(@NonNull android.net.IpSecTransform, @NonNull android.net.IpSecTransform);
14358  }
14359
14360  public final class ChildSessionConfiguration {
14361    method @NonNull public java.util.List<android.net.LinkAddress> getInternalAddresses();
14362    method @NonNull public java.util.List<java.net.InetAddress> getInternalDhcpServers();
14363    method @NonNull public java.util.List<java.net.InetAddress> getInternalDnsServers();
14364    method @NonNull public java.util.List<android.net.IpPrefix> getInternalSubnets();
14365  }
14366
14367  public static final class ChildSessionConfiguration.Builder {
14368    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder addInternalAddress(@NonNull android.net.LinkAddress);
14369    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder addInternalDhcpServer(@NonNull java.net.InetAddress);
14370    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder addInternalDnsServer(@NonNull java.net.InetAddress);
14371    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder addInternalSubnet(@NonNull android.net.IpPrefix);
14372    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder clearInternalAddresses();
14373    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder clearInternalDhcpServers();
14374    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder clearInternalDnsServers();
14375    method @NonNull public android.net.ipsec.ike.ChildSessionConfiguration.Builder clearInternalSubnets();
14376  }
14377
14378  public abstract class ChildSessionParams {
14379    method @Deprecated @NonNull public java.util.List<android.net.ipsec.ike.ChildSaProposal> getSaProposals();
14380  }
14381
14382  public final class IkeSession implements java.lang.AutoCloseable {
14383    method public void requestLivenessCheck();
14384    method public void setNetwork(@NonNull android.net.Network);
14385  }
14386
14387  public interface IkeSessionCallback {
14388    method @Deprecated public default void onClosedExceptionally(@NonNull android.net.ipsec.ike.exceptions.IkeException);
14389    method @Deprecated public default void onError(@NonNull android.net.ipsec.ike.exceptions.IkeProtocolException);
14390    method public default void onIkeSessionConnectionInfoChanged(@NonNull android.net.ipsec.ike.IkeSessionConnectionInfo);
14391    method public default void onLivenessStatusChanged(int);
14392    field public static final int LIVENESS_STATUS_BACKGROUND_ONGOING = 3; // 0x3
14393    field public static final int LIVENESS_STATUS_BACKGROUND_STARTED = 2; // 0x2
14394    field public static final int LIVENESS_STATUS_FAILURE = 5; // 0x5
14395    field public static final int LIVENESS_STATUS_ON_DEMAND_ONGOING = 1; // 0x1
14396    field public static final int LIVENESS_STATUS_ON_DEMAND_STARTED = 0; // 0x0
14397    field public static final int LIVENESS_STATUS_SUCCESS = 4; // 0x4
14398  }
14399
14400  public final class IkeSessionConfiguration {
14401    method @NonNull public java.util.List<java.net.InetAddress> getPcscfServers();
14402  }
14403
14404  public static final class IkeSessionConfiguration.Builder {
14405    method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration.Builder addPcscfServer(@NonNull java.net.InetAddress);
14406    method @NonNull public android.net.ipsec.ike.IkeSessionConfiguration.Builder clearPcscfServers();
14407  }
14408
14409  public final class IkeSessionParams {
14410    method @NonNull public java.util.List<android.net.ipsec.ike.IkeSessionParams.IkeConfigRequest> getConfigurationRequests();
14411    method @IntRange(from=0x0, to=0x3f) public int getDscp();
14412    method @Nullable public android.net.ipsec.ike.ike3gpp.Ike3gppExtension getIke3gppExtension();
14413    method @NonNull public int[] getLivenessRetransmissionTimeoutsMillis();
14414    method @Deprecated @NonNull public java.util.List<android.net.ipsec.ike.IkeSaProposal> getSaProposals();
14415    field public static final int IKE_OPTION_AUTOMATIC_KEEPALIVE_ON_OFF = 8; // 0x8
14416    field public static final int IKE_OPTION_REKEY_MOBILITY = 5; // 0x5
14417  }
14418
14419  public static final class IkeSessionParams.Builder {
14420    ctor @Deprecated public IkeSessionParams.Builder(@NonNull android.content.Context);
14421    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder addPcscfServerRequest(int);
14422    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder addPcscfServerRequest(@NonNull java.net.InetAddress);
14423    method @Deprecated @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder addSaProposal(@NonNull android.net.ipsec.ike.IkeSaProposal);
14424    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setDscp(@IntRange(from=0x0, to=0x3f) int);
14425    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setIke3gppExtension(@NonNull android.net.ipsec.ike.ike3gpp.Ike3gppExtension);
14426    method @NonNull public android.net.ipsec.ike.IkeSessionParams.Builder setLivenessRetransmissionTimeoutsMillis(@NonNull int[]);
14427  }
14428
14429  public static interface IkeSessionParams.ConfigRequestIpv4PcscfServer extends android.net.ipsec.ike.IkeSessionParams.IkeConfigRequest {
14430    method @Nullable public java.net.Inet4Address getAddress();
14431  }
14432
14433  public static interface IkeSessionParams.ConfigRequestIpv6PcscfServer extends android.net.ipsec.ike.IkeSessionParams.IkeConfigRequest {
14434    method @Nullable public java.net.Inet6Address getAddress();
14435  }
14436
14437  public static interface IkeSessionParams.IkeConfigRequest {
14438  }
14439
14440  public static final class TransportModeChildSessionParams.Builder {
14441    method @Deprecated @NonNull public android.net.ipsec.ike.TransportModeChildSessionParams.Builder addSaProposal(@NonNull android.net.ipsec.ike.ChildSaProposal);
14442  }
14443
14444  public static final class TunnelModeChildSessionParams.Builder {
14445    method @Deprecated @NonNull public android.net.ipsec.ike.TunnelModeChildSessionParams.Builder addSaProposal(@NonNull android.net.ipsec.ike.ChildSaProposal);
14446  }
14447
14448}
14449
14450package android.net.ipsec.ike.exceptions {
14451
14452  public abstract class IkeProtocolException extends android.net.ipsec.ike.exceptions.IkeException {
14453    method @Nullable public byte[] getErrorData();
14454  }
14455
14456}
14457
14458package android.net.ipsec.ike.ike3gpp {
14459
14460  public final class Ike3gppBackoffTimer extends android.net.ipsec.ike.ike3gpp.Ike3gppData {
14461    ctor public Ike3gppBackoffTimer(byte, @IntRange(from=0, to=0x3fff) int);
14462    method @IntRange(from=0, to=0x3fff) public int getBackoffCause();
14463    method public byte getBackoffTimer();
14464    method public int getDataType();
14465    field @Deprecated public static final int ERROR_TYPE_NETWORK_FAILURE = 10500; // 0x2904
14466    field @Deprecated public static final int ERROR_TYPE_NO_APN_SUBSCRIPTION = 9002; // 0x232a
14467  }
14468
14469  public abstract class Ike3gppData {
14470    method public abstract int getDataType();
14471    field public static final int DATA_TYPE_NOTIFY_BACKOFF_TIMER = 2; // 0x2
14472    field public static final int DATA_TYPE_NOTIFY_N1_MODE_INFORMATION = 1; // 0x1
14473  }
14474
14475  public final class Ike3gppExtension {
14476    ctor public Ike3gppExtension(@NonNull android.net.ipsec.ike.ike3gpp.Ike3gppParams, @NonNull android.net.ipsec.ike.ike3gpp.Ike3gppExtension.Ike3gppDataListener);
14477    method @NonNull public android.net.ipsec.ike.ike3gpp.Ike3gppExtension.Ike3gppDataListener getIke3gppDataListener();
14478    method @NonNull public android.net.ipsec.ike.ike3gpp.Ike3gppParams getIke3gppParams();
14479  }
14480
14481  public static interface Ike3gppExtension.Ike3gppDataListener {
14482    method public void onIke3gppDataReceived(@NonNull java.util.List<android.net.ipsec.ike.ike3gpp.Ike3gppData>);
14483  }
14484
14485  public final class Ike3gppN1ModeInformation extends android.net.ipsec.ike.ike3gpp.Ike3gppData {
14486    ctor public Ike3gppN1ModeInformation(@NonNull byte[]);
14487    method public int getDataType();
14488    method @NonNull public byte[] getSnssai();
14489  }
14490
14491  public final class Ike3gppParams {
14492    method @Nullable public String getMobileDeviceIdentity();
14493    method public byte getPduSessionId();
14494    field public static final byte PDU_SESSION_ID_UNSET = 0; // 0x0
14495  }
14496
14497  public static final class Ike3gppParams.Builder {
14498    ctor public Ike3gppParams.Builder();
14499    method @NonNull public android.net.ipsec.ike.ike3gpp.Ike3gppParams build();
14500    method @NonNull public android.net.ipsec.ike.ike3gpp.Ike3gppParams.Builder setMobileDeviceIdentity(@Nullable String);
14501    method @NonNull public android.net.ipsec.ike.ike3gpp.Ike3gppParams.Builder setPduSessionId(byte);
14502  }
14503
14504}
14505
14506package android.net.metrics {
14507
14508  @Deprecated public final class ApfProgramEvent implements android.net.metrics.IpConnectivityLog.Event {
14509    method @Deprecated public int describeContents();
14510    method @Deprecated public void writeToParcel(android.os.Parcel, int);
14511  }
14512
14513  @Deprecated public static final class ApfProgramEvent.Builder {
14514    ctor @Deprecated public ApfProgramEvent.Builder();
14515    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent build();
14516    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setActualLifetime(long);
14517    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setCurrentRas(int);
14518    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setFilteredRas(int);
14519    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setFlags(boolean, boolean);
14520    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setLifetime(long);
14521    method @Deprecated @NonNull public android.net.metrics.ApfProgramEvent.Builder setProgramLength(int);
14522  }
14523
14524  @Deprecated public final class ApfStats implements android.net.metrics.IpConnectivityLog.Event {
14525    method @Deprecated public int describeContents();
14526    method @Deprecated public void writeToParcel(android.os.Parcel, int);
14527  }
14528
14529  @Deprecated public static final class ApfStats.Builder {
14530    ctor @Deprecated public ApfStats.Builder();
14531    method @Deprecated @NonNull public android.net.metrics.ApfStats build();
14532    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setDroppedRas(int);
14533    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setDurationMs(long);
14534    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setMatchingRas(int);
14535    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setMaxProgramSize(int);
14536    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setParseErrors(int);
14537    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setProgramUpdates(int);
14538    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setProgramUpdatesAll(int);
14539    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setProgramUpdatesAllowingMulticast(int);
14540    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setReceivedRas(int);
14541    method @Deprecated @NonNull public android.net.metrics.ApfStats.Builder setZeroLifetimeRas(int);
14542  }
14543
14544  @Deprecated public final class DhcpClientEvent implements android.net.metrics.IpConnectivityLog.Event {
14545    method @Deprecated public int describeContents();
14546    method @Deprecated public void writeToParcel(android.os.Parcel, int);
14547  }
14548
14549  @Deprecated public static final class DhcpClientEvent.Builder {
14550    ctor @Deprecated public DhcpClientEvent.Builder();
14551    method @Deprecated @NonNull public android.net.metrics.DhcpClientEvent build();
14552    method @Deprecated @NonNull public android.net.metrics.DhcpClientEvent.Builder setDurationMs(int);
14553    method @Deprecated @NonNull public android.net.metrics.DhcpClientEvent.Builder setMsg(String);
14554  }
14555
14556  @Deprecated public final class DhcpErrorEvent implements android.net.metrics.IpConnectivityLog.Event {
14557    ctor @Deprecated public DhcpErrorEvent(int);
14558    method @Deprecated public int describeContents();
14559    method @Deprecated public static int errorCodeWithOption(int, int);
14560    method @Deprecated public void writeToParcel(android.os.Parcel, int);
14561    field @Deprecated public static final int BOOTP_TOO_SHORT = 67174400; // 0x4010000
14562    field @Deprecated public static final int BUFFER_UNDERFLOW = 83951616; // 0x5010000
14563    field @Deprecated public static final int DHCP_BAD_MAGIC_COOKIE = 67239936; // 0x4020000
14564    field @Deprecated public static final int DHCP_ERROR = 4; // 0x4
14565    field @Deprecated public static final int DHCP_INVALID_OPTION_LENGTH = 67305472; // 0x4030000
14566    field @Deprecated public static final int DHCP_NO_COOKIE = 67502080; // 0x4060000
14567    field @Deprecated public static final int DHCP_NO_MSG_TYPE = 67371008; // 0x4040000
14568    field @Deprecated public static final int DHCP_UNKNOWN_MSG_TYPE = 67436544; // 0x4050000
14569    field @Deprecated public static final int L2_ERROR = 1; // 0x1
14570    field @Deprecated public static final int L2_TOO_SHORT = 16842752; // 0x1010000
14571    field @Deprecated public static final int L2_WRONG_ETH_TYPE = 16908288; // 0x1020000
14572    field @Deprecated public static final int L3_ERROR = 2; // 0x2
14573    field @Deprecated public static final int L3_INVALID_IP = 33751040; // 0x2030000
14574    field @Deprecated public static final int L3_NOT_IPV4 = 33685504; // 0x2020000
14575    field @Deprecated public static final int L3_TOO_SHORT = 33619968; // 0x2010000
14576    field @Deprecated public static final int L4_ERROR = 3; // 0x3
14577    field @Deprecated public static final int L4_NOT_UDP = 50397184; // 0x3010000
14578    field @Deprecated public static final int L4_WRONG_PORT = 50462720; // 0x3020000
14579    field @Deprecated public static final int MISC_ERROR = 5; // 0x5
14580    field @Deprecated public static final int PARSING_ERROR = 84082688; // 0x5030000
14581    field @Deprecated public static final int RECEIVE_ERROR = 84017152; // 0x5020000
14582  }
14583
14584  @Deprecated public class IpConnectivityLog {
14585    ctor @Deprecated public IpConnectivityLog();
14586    method @Deprecated public boolean log(@NonNull android.net.metrics.IpConnectivityLog.Event);
14587    method @Deprecated public boolean log(@NonNull android.net.Network, @NonNull int[], @NonNull android.net.metrics.IpConnectivityLog.Event);
14588    method @Deprecated public boolean log(int, @NonNull int[], @NonNull android.net.metrics.IpConnectivityLog.Event);
14589    method @Deprecated public boolean log(@NonNull String, @NonNull android.net.metrics.IpConnectivityLog.Event);
14590    method @Deprecated public boolean log(long, @NonNull android.net.metrics.IpConnectivityLog.Event);
14591  }
14592
14593  @Deprecated public static interface IpConnectivityLog.Event extends android.os.Parcelable {
14594  }
14595
14596  @Deprecated public final class IpManagerEvent implements android.net.metrics.IpConnectivityLog.Event {
14597    ctor @Deprecated public IpManagerEvent(int, long);
14598    method @Deprecated public int describeContents();
14599    method @Deprecated public void writeToParcel(android.os.Parcel, int);
14600    field @Deprecated public static final int COMPLETE_LIFECYCLE = 3; // 0x3
14601    field @Deprecated public static final int ERROR_INTERFACE_NOT_FOUND = 8; // 0x8
14602    field @Deprecated public static final int ERROR_INVALID_PROVISIONING = 7; // 0x7
14603    field @Deprecated public static final int ERROR_STARTING_IPREACHABILITYMONITOR = 6; // 0x6
14604    field @Deprecated public static final int ERROR_STARTING_IPV4 = 4; // 0x4
14605    field @Deprecated public static final int ERROR_STARTING_IPV6 = 5; // 0x5
14606    field @Deprecated public static final int PROVISIONING_FAIL = 2; // 0x2
14607    field @Deprecated public static final int PROVISIONING_OK = 1; // 0x1
14608  }
14609
14610  @Deprecated public final class IpReachabilityEvent implements android.net.metrics.IpConnectivityLog.Event {
14611    ctor @Deprecated public IpReachabilityEvent(int);
14612    method @Deprecated public int describeContents();
14613    method @Deprecated public void writeToParcel(android.os.Parcel, int);
14614    field @Deprecated public static final int NUD_FAILED = 512; // 0x200
14615    field @Deprecated public static final int NUD_FAILED_ORGANIC = 1024; // 0x400
14616    field @Deprecated public static final int PROBE = 256; // 0x100
14617    field @Deprecated public static final int PROVISIONING_LOST = 768; // 0x300
14618    field @Deprecated public static final int PROVISIONING_LOST_ORGANIC = 1280; // 0x500
14619  }
14620
14621  @Deprecated public final class NetworkEvent implements android.net.metrics.IpConnectivityLog.Event {
14622    ctor @Deprecated public NetworkEvent(int);
14623    ctor @Deprecated public NetworkEvent(int, long);
14624    method @Deprecated public int describeContents();
14625    method @Deprecated public void writeToParcel(android.os.Parcel, int);
14626    field @Deprecated public static final int NETWORK_CAPTIVE_PORTAL_FOUND = 4; // 0x4
14627    field @Deprecated public static final int NETWORK_CONNECTED = 1; // 0x1
14628    field @Deprecated public static final int NETWORK_CONSECUTIVE_DNS_TIMEOUT_FOUND = 12; // 0xc
14629    field @Deprecated public static final int NETWORK_DISCONNECTED = 7; // 0x7
14630    field @Deprecated public static final int NETWORK_FIRST_VALIDATION_PORTAL_FOUND = 10; // 0xa
14631    field @Deprecated public static final int NETWORK_FIRST_VALIDATION_SUCCESS = 8; // 0x8
14632    field @Deprecated public static final int NETWORK_LINGER = 5; // 0x5
14633    field @Deprecated public static final int NETWORK_PARTIAL_CONNECTIVITY = 13; // 0xd
14634    field @Deprecated public static final int NETWORK_REVALIDATION_PORTAL_FOUND = 11; // 0xb
14635    field @Deprecated public static final int NETWORK_REVALIDATION_SUCCESS = 9; // 0x9
14636    field @Deprecated public static final int NETWORK_UNLINGER = 6; // 0x6
14637    field @Deprecated public static final int NETWORK_VALIDATED = 2; // 0x2
14638    field @Deprecated public static final int NETWORK_VALIDATION_FAILED = 3; // 0x3
14639  }
14640
14641  @Deprecated public final class RaEvent implements android.net.metrics.IpConnectivityLog.Event {
14642    method @Deprecated public int describeContents();
14643    method @Deprecated public void writeToParcel(android.os.Parcel, int);
14644  }
14645
14646  @Deprecated public static final class RaEvent.Builder {
14647    ctor @Deprecated public RaEvent.Builder();
14648    method @Deprecated @NonNull public android.net.metrics.RaEvent build();
14649    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updateDnsslLifetime(long);
14650    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updatePrefixPreferredLifetime(long);
14651    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updatePrefixValidLifetime(long);
14652    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updateRdnssLifetime(long);
14653    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updateRouteInfoLifetime(long);
14654    method @Deprecated @NonNull public android.net.metrics.RaEvent.Builder updateRouterLifetime(long);
14655  }
14656
14657  @Deprecated public final class ValidationProbeEvent implements android.net.metrics.IpConnectivityLog.Event {
14658    method @Deprecated public int describeContents();
14659    method @Deprecated @NonNull public static String getProbeName(int);
14660    method @Deprecated public void writeToParcel(android.os.Parcel, int);
14661    field @Deprecated public static final int DNS_FAILURE = 0; // 0x0
14662    field @Deprecated public static final int DNS_SUCCESS = 1; // 0x1
14663    field @Deprecated public static final int PROBE_DNS = 0; // 0x0
14664    field @Deprecated public static final int PROBE_FALLBACK = 4; // 0x4
14665    field @Deprecated public static final int PROBE_HTTP = 1; // 0x1
14666    field @Deprecated public static final int PROBE_HTTPS = 2; // 0x2
14667    field @Deprecated public static final int PROBE_PAC = 3; // 0x3
14668    field @Deprecated public static final int PROBE_PRIVDNS = 5; // 0x5
14669  }
14670
14671  @Deprecated public static final class ValidationProbeEvent.Builder {
14672    ctor @Deprecated public ValidationProbeEvent.Builder();
14673    method @Deprecated @NonNull public android.net.metrics.ValidationProbeEvent build();
14674    method @Deprecated @NonNull public android.net.metrics.ValidationProbeEvent.Builder setDurationMs(long);
14675    method @Deprecated @NonNull public android.net.metrics.ValidationProbeEvent.Builder setProbeType(int, boolean);
14676    method @Deprecated @NonNull public android.net.metrics.ValidationProbeEvent.Builder setReturnCode(int);
14677  }
14678
14679}
14680
14681package android.net.netstats.provider {
14682
14683  public abstract class NetworkStatsProvider {
14684    ctor public NetworkStatsProvider();
14685    method public void notifyAlertReached();
14686    method public void notifyLimitReached();
14687    method public void notifyStatsUpdated(int, @NonNull android.net.NetworkStats, @NonNull android.net.NetworkStats);
14688    method public void notifyWarningReached();
14689    method public abstract void onRequestStatsUpdate(int);
14690    method public abstract void onSetAlert(long);
14691    method public abstract void onSetLimit(@NonNull String, long);
14692    method public void onSetWarningAndLimit(@NonNull String, long, long);
14693    field public static final int QUOTA_UNLIMITED = -1; // 0xffffffff
14694  }
14695
14696}
14697
14698package android.net.nsd {
14699
14700  public final class NsdManager {
14701    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);
14702    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);
14703  }
14704
14705  public interface OffloadEngine {
14706    method public void onOffloadServiceRemoved(@NonNull android.net.nsd.OffloadServiceInfo);
14707    method public void onOffloadServiceUpdated(@NonNull android.net.nsd.OffloadServiceInfo);
14708    field public static final int OFFLOAD_CAPABILITY_BYPASS_MULTICAST_LOCK = 1; // 0x1
14709    field public static final int OFFLOAD_TYPE_FILTER_QUERIES = 2; // 0x2
14710    field public static final int OFFLOAD_TYPE_FILTER_REPLIES = 4; // 0x4
14711    field public static final int OFFLOAD_TYPE_REPLY = 1; // 0x1
14712  }
14713
14714  public final class OffloadServiceInfo implements android.os.Parcelable {
14715    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);
14716    method public int describeContents();
14717    method @NonNull public String getHostname();
14718    method @NonNull public android.net.nsd.OffloadServiceInfo.Key getKey();
14719    method @Nullable public byte[] getOffloadPayload();
14720    method public long getOffloadType();
14721    method public int getPriority();
14722    method @NonNull public java.util.List<java.lang.String> getSubtypes();
14723    method public void writeToParcel(@NonNull android.os.Parcel, int);
14724    field @NonNull public static final android.os.Parcelable.Creator<android.net.nsd.OffloadServiceInfo> CREATOR;
14725  }
14726
14727  public static final class OffloadServiceInfo.Key implements android.os.Parcelable {
14728    ctor public OffloadServiceInfo.Key(@NonNull String, @NonNull String);
14729    method public int describeContents();
14730    method @NonNull public String getServiceName();
14731    method @NonNull public String getServiceType();
14732    method public void writeToParcel(@NonNull android.os.Parcel, int);
14733    field @NonNull public static final android.os.Parcelable.Creator<android.net.nsd.OffloadServiceInfo.Key> CREATOR;
14734  }
14735
14736}
14737
14738package android.net.sip {
14739
14740  @Deprecated public class SipAudioCall {
14741    method @Deprecated @Nullable public android.net.rtp.AudioGroup getAudioGroup();
14742    method @Deprecated public void setAudioGroup(@NonNull android.net.rtp.AudioGroup);
14743  }
14744
14745  @Deprecated public class SipManager {
14746    method @Deprecated @NonNull public java.util.List<android.net.sip.SipProfile> getProfiles() throws android.net.sip.SipException;
14747    field @Deprecated public static final String ACTION_SIP_CALL_OPTION_CHANGED = "android.net.sip.action.SIP_CALL_OPTION_CHANGED";
14748    field @Deprecated public static final String ACTION_SIP_INCOMING_CALL = "android.net.sip.action.SIP_INCOMING_CALL";
14749    field @Deprecated public static final String ACTION_SIP_REMOVE_PROFILE = "android.net.sip.action.SIP_REMOVE_PROFILE";
14750    field @Deprecated public static final String ACTION_SIP_SERVICE_UP = "android.net.sip.action.SIP_SERVICE_UP";
14751    field @Deprecated public static final String ACTION_START_SIP = "android.net.sip.action.START_SIP";
14752  }
14753
14754  @Deprecated public class SipProfile implements java.lang.Cloneable android.os.Parcelable java.io.Serializable {
14755    method @Deprecated public int getCallingUid();
14756  }
14757
14758}
14759
14760package android.net.ssl {
14761
14762  public final class PakeClientKeyManagerParameters implements javax.net.ssl.ManagerFactoryParameters {
14763    method @Nullable public byte[] getClientId();
14764    method @NonNull public java.util.List<android.net.ssl.PakeOption> getOptions();
14765    method @Nullable public byte[] getServerId();
14766  }
14767
14768  public static final class PakeClientKeyManagerParameters.Builder {
14769    ctor public PakeClientKeyManagerParameters.Builder();
14770    method @NonNull public android.net.ssl.PakeClientKeyManagerParameters.Builder addOption(@NonNull android.net.ssl.PakeOption);
14771    method @NonNull public android.net.ssl.PakeClientKeyManagerParameters build();
14772    method @NonNull public android.net.ssl.PakeClientKeyManagerParameters.Builder setClientId(@Nullable byte[]);
14773    method @NonNull public android.net.ssl.PakeClientKeyManagerParameters.Builder setServerId(@Nullable byte[]);
14774  }
14775
14776  public final class PakeOption {
14777    method @NonNull public String getAlgorithm();
14778    method @Nullable public byte[] getMessageComponent(@NonNull String);
14779  }
14780
14781  public static final class PakeOption.Builder {
14782    ctor public PakeOption.Builder(@NonNull String);
14783    method @NonNull public android.net.ssl.PakeOption.Builder addMessageComponent(@NonNull String, @Nullable byte[]);
14784    method @NonNull public android.net.ssl.PakeOption build();
14785  }
14786
14787  public final class PakeServerKeyManagerParameters implements javax.net.ssl.ManagerFactoryParameters {
14788    method @NonNull public java.util.Set<android.net.ssl.PakeServerKeyManagerParameters.Link> getLinks();
14789    method @NonNull public java.util.List<android.net.ssl.PakeOption> getOptions(@NonNull android.net.ssl.PakeServerKeyManagerParameters.Link);
14790    method @NonNull public java.util.List<android.net.ssl.PakeOption> getOptions(@Nullable byte[], @Nullable byte[]);
14791  }
14792
14793  public static final class PakeServerKeyManagerParameters.Builder {
14794    ctor public PakeServerKeyManagerParameters.Builder();
14795    method @NonNull public android.net.ssl.PakeServerKeyManagerParameters build();
14796    method @NonNull public android.net.ssl.PakeServerKeyManagerParameters.Builder setOptions(@Nullable byte[], @Nullable byte[], @NonNull java.util.List<android.net.ssl.PakeOption>);
14797  }
14798
14799  public static final class PakeServerKeyManagerParameters.Link {
14800    method @Nullable public byte[] getClientId();
14801    method @Nullable public byte[] getServerId();
14802  }
14803
14804}
14805
14806package android.net.thread {
14807
14808  public final class ActiveOperationalDataset implements android.os.Parcelable {
14809    method public int describeContents();
14810    method @NonNull public static android.net.thread.ActiveOperationalDataset fromThreadTlvs(@NonNull byte[]);
14811    method @NonNull public android.net.thread.OperationalDatasetTimestamp getActiveTimestamp();
14812    method @IntRange(from=0, to=65535) public int getChannel();
14813    method @NonNull @Size(min=1) public android.util.SparseArray<byte[]> getChannelMask();
14814    method @IntRange(from=0, to=255) public int getChannelPage();
14815    method @NonNull @Size(android.net.thread.ActiveOperationalDataset.LENGTH_EXTENDED_PAN_ID) public byte[] getExtendedPanId();
14816    method @NonNull public android.net.IpPrefix getMeshLocalPrefix();
14817    method @NonNull @Size(android.net.thread.ActiveOperationalDataset.LENGTH_NETWORK_KEY) public byte[] getNetworkKey();
14818    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();
14819    method @IntRange(from=0, to=65534) public int getPanId();
14820    method @NonNull @Size(android.net.thread.ActiveOperationalDataset.LENGTH_PSKC) public byte[] getPskc();
14821    method @NonNull public android.net.thread.ActiveOperationalDataset.SecurityPolicy getSecurityPolicy();
14822    method @NonNull public byte[] toThreadTlvs();
14823    method public void writeToParcel(@NonNull android.os.Parcel, int);
14824    field public static final int CHANNEL_MAX_24_GHZ = 26; // 0x1a
14825    field public static final int CHANNEL_MIN_24_GHZ = 11; // 0xb
14826    field public static final int CHANNEL_PAGE_24_GHZ = 0; // 0x0
14827    field @NonNull public static final android.os.Parcelable.Creator<android.net.thread.ActiveOperationalDataset> CREATOR;
14828    field public static final int LENGTH_EXTENDED_PAN_ID = 8; // 0x8
14829    field public static final int LENGTH_MAX_DATASET_TLVS = 254; // 0xfe
14830    field public static final int LENGTH_MAX_NETWORK_NAME_BYTES = 16; // 0x10
14831    field public static final int LENGTH_MESH_LOCAL_PREFIX_BITS = 64; // 0x40
14832    field public static final int LENGTH_MIN_NETWORK_NAME_BYTES = 1; // 0x1
14833    field public static final int LENGTH_NETWORK_KEY = 16; // 0x10
14834    field public static final int LENGTH_PSKC = 16; // 0x10
14835  }
14836
14837  public static final class ActiveOperationalDataset.Builder {
14838    ctor public ActiveOperationalDataset.Builder();
14839    ctor public ActiveOperationalDataset.Builder(@NonNull android.net.thread.ActiveOperationalDataset);
14840    method @NonNull public android.net.thread.ActiveOperationalDataset build();
14841    method @NonNull public android.net.thread.ActiveOperationalDataset.Builder setActiveTimestamp(@NonNull android.net.thread.OperationalDatasetTimestamp);
14842    method @NonNull public android.net.thread.ActiveOperationalDataset.Builder setChannel(@IntRange(from=0, to=255) int, @IntRange(from=0, to=65535) int);
14843    method @NonNull public android.net.thread.ActiveOperationalDataset.Builder setChannelMask(@NonNull @Size(min=1) android.util.SparseArray<byte[]>);
14844    method @NonNull public android.net.thread.ActiveOperationalDataset.Builder setExtendedPanId(@NonNull @Size(android.net.thread.ActiveOperationalDataset.LENGTH_EXTENDED_PAN_ID) byte[]);
14845    method @NonNull public android.net.thread.ActiveOperationalDataset.Builder setMeshLocalPrefix(@NonNull android.net.IpPrefix);
14846    method @NonNull public android.net.thread.ActiveOperationalDataset.Builder setNetworkKey(@NonNull @Size(android.net.thread.ActiveOperationalDataset.LENGTH_NETWORK_KEY) byte[]);
14847    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);
14848    method @NonNull public android.net.thread.ActiveOperationalDataset.Builder setPanId(@IntRange(from=0, to=65534) int);
14849    method @NonNull public android.net.thread.ActiveOperationalDataset.Builder setPskc(@NonNull @Size(android.net.thread.ActiveOperationalDataset.LENGTH_PSKC) byte[]);
14850    method @NonNull public android.net.thread.ActiveOperationalDataset.Builder setSecurityPolicy(@NonNull android.net.thread.ActiveOperationalDataset.SecurityPolicy);
14851  }
14852
14853  public static final class ActiveOperationalDataset.SecurityPolicy {
14854    ctor public ActiveOperationalDataset.SecurityPolicy(@IntRange(from=1, to=65535) int, @NonNull @Size(min=android.net.thread.ActiveOperationalDataset.SecurityPolicy.LENGTH_MIN_SECURITY_POLICY_FLAGS) byte[]);
14855    method @NonNull @Size(min=android.net.thread.ActiveOperationalDataset.SecurityPolicy.LENGTH_MIN_SECURITY_POLICY_FLAGS) public byte[] getFlags();
14856    method @IntRange(from=1, to=65535) public int getRotationTimeHours();
14857    field public static final int DEFAULT_ROTATION_TIME_HOURS = 672; // 0x2a0
14858    field public static final int LENGTH_MIN_SECURITY_POLICY_FLAGS = 1; // 0x1
14859  }
14860
14861  public final class OperationalDatasetTimestamp {
14862    ctor public OperationalDatasetTimestamp(@IntRange(from=0, to=281474976710655L) long, @IntRange(from=0, to=32767) int, boolean);
14863    method @NonNull public static android.net.thread.OperationalDatasetTimestamp fromInstant(@NonNull java.time.Instant);
14864    method @IntRange(from=0, to=281474976710655L) public long getSeconds();
14865    method @IntRange(from=0, to=32767) public int getTicks();
14866    method public boolean isAuthoritativeSource();
14867    method @NonNull public java.time.Instant toInstant();
14868  }
14869
14870  public final class PendingOperationalDataset implements android.os.Parcelable {
14871    ctor public PendingOperationalDataset(@NonNull android.net.thread.ActiveOperationalDataset, @NonNull android.net.thread.OperationalDatasetTimestamp, @NonNull java.time.Duration);
14872    method public int describeContents();
14873    method @NonNull public static android.net.thread.PendingOperationalDataset fromThreadTlvs(@NonNull byte[]);
14874    method @NonNull public android.net.thread.ActiveOperationalDataset getActiveOperationalDataset();
14875    method @NonNull public java.time.Duration getDelayTimer();
14876    method @NonNull public android.net.thread.OperationalDatasetTimestamp getPendingTimestamp();
14877    method @NonNull public byte[] toThreadTlvs();
14878    method public void writeToParcel(@NonNull android.os.Parcel, int);
14879    field @NonNull public static final android.os.Parcelable.Creator<android.net.thread.PendingOperationalDataset> CREATOR;
14880  }
14881
14882  public final class ThreadConfiguration implements android.os.Parcelable {
14883    method public int describeContents();
14884    method public boolean isNat64Enabled();
14885    method public void writeToParcel(@NonNull android.os.Parcel, int);
14886    field @NonNull public static final android.os.Parcelable.Creator<android.net.thread.ThreadConfiguration> CREATOR;
14887  }
14888
14889  public static final class ThreadConfiguration.Builder {
14890    ctor public ThreadConfiguration.Builder();
14891    ctor public ThreadConfiguration.Builder(@NonNull android.net.thread.ThreadConfiguration);
14892    method @NonNull public android.net.thread.ThreadConfiguration build();
14893    method @NonNull public android.net.thread.ThreadConfiguration.Builder setNat64Enabled(boolean);
14894  }
14895
14896  public final class ThreadNetworkController {
14897    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>);
14898    method public void createRandomizedDataset(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.net.thread.ActiveOperationalDataset,android.net.thread.ThreadNetworkException>);
14899    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>);
14900    method @NonNull public java.time.Duration getMaxEphemeralKeyLifetime();
14901    method public int getThreadVersion();
14902    method public static boolean isAttached(int);
14903    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>);
14904    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>);
14905    method @RequiresPermission("android.permission.THREAD_NETWORK_PRIVILEGED") public void registerConfigurationCallback(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.net.thread.ThreadConfiguration>);
14906    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);
14907    method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void registerStateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.thread.ThreadNetworkController.StateCallback);
14908    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>);
14909    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>);
14910    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>);
14911    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>);
14912    method @RequiresPermission("android.permission.THREAD_NETWORK_PRIVILEGED") public void unregisterConfigurationCallback(@NonNull java.util.function.Consumer<android.net.thread.ThreadConfiguration>);
14913    method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_NETWORK_STATE, "android.permission.THREAD_NETWORK_PRIVILEGED"}) public void unregisterOperationalDatasetCallback(@NonNull android.net.thread.ThreadNetworkController.OperationalDatasetCallback);
14914    method @RequiresPermission(android.Manifest.permission.ACCESS_NETWORK_STATE) public void unregisterStateCallback(@NonNull android.net.thread.ThreadNetworkController.StateCallback);
14915    field public static final int DEVICE_ROLE_CHILD = 2; // 0x2
14916    field public static final int DEVICE_ROLE_DETACHED = 1; // 0x1
14917    field public static final int DEVICE_ROLE_LEADER = 4; // 0x4
14918    field public static final int DEVICE_ROLE_ROUTER = 3; // 0x3
14919    field public static final int DEVICE_ROLE_STOPPED = 0; // 0x0
14920    field public static final int EPHEMERAL_KEY_DISABLED = 0; // 0x0
14921    field public static final int EPHEMERAL_KEY_ENABLED = 1; // 0x1
14922    field public static final int EPHEMERAL_KEY_IN_USE = 2; // 0x2
14923    field public static final int MAX_POWER_CHANNEL_DISABLED = -2147483648; // 0x80000000
14924    field public static final int STATE_DISABLED = 0; // 0x0
14925    field public static final int STATE_DISABLING = 2; // 0x2
14926    field public static final int STATE_ENABLED = 1; // 0x1
14927    field public static final int THREAD_VERSION_1_3 = 4; // 0x4
14928  }
14929
14930  public static interface ThreadNetworkController.OperationalDatasetCallback {
14931    method public void onActiveOperationalDatasetChanged(@Nullable android.net.thread.ActiveOperationalDataset);
14932    method public default void onPendingOperationalDatasetChanged(@Nullable android.net.thread.PendingOperationalDataset);
14933  }
14934
14935  public static interface ThreadNetworkController.StateCallback {
14936    method public void onDeviceRoleChanged(int);
14937    method @RequiresPermission("android.permission.THREAD_NETWORK_PRIVILEGED") public default void onEphemeralKeyStateChanged(int, @Nullable String, @Nullable java.time.Instant);
14938    method public default void onPartitionIdChanged(long);
14939    method public default void onThreadEnableStateChanged(int);
14940  }
14941
14942  public class ThreadNetworkException extends java.lang.Exception {
14943    ctor public ThreadNetworkException(int, @NonNull String);
14944    method public int getErrorCode();
14945    field public static final int ERROR_ABORTED = 2; // 0x2
14946    field public static final int ERROR_BUSY = 5; // 0x5
14947    field public static final int ERROR_FAILED_PRECONDITION = 6; // 0x6
14948    field public static final int ERROR_INTERNAL_ERROR = 1; // 0x1
14949    field public static final int ERROR_REJECTED_BY_PEER = 8; // 0x8
14950    field public static final int ERROR_RESOURCE_EXHAUSTED = 10; // 0xa
14951    field public static final int ERROR_RESPONSE_BAD_FORMAT = 9; // 0x9
14952    field public static final int ERROR_THREAD_DISABLED = 12; // 0xc
14953    field public static final int ERROR_TIMEOUT = 3; // 0x3
14954    field public static final int ERROR_UNAVAILABLE = 4; // 0x4
14955    field public static final int ERROR_UNKNOWN = 11; // 0xb
14956    field public static final int ERROR_UNSUPPORTED_CHANNEL = 7; // 0x7
14957    field public static final int ERROR_UNSUPPORTED_FEATURE = 13; // 0xd
14958  }
14959
14960  public final class ThreadNetworkManager {
14961    method @NonNull public java.util.List<android.net.thread.ThreadNetworkController> getAllThreadNetworkControllers();
14962  }
14963
14964}
14965
14966package android.net.util {
14967
14968  public final class SocketUtils {
14969    method public static void bindSocketToInterface(@NonNull java.io.FileDescriptor, @NonNull String) throws android.system.ErrnoException;
14970    method public static void closeSocket(@Nullable java.io.FileDescriptor) throws java.io.IOException;
14971    method @NonNull public static java.net.SocketAddress makeNetlinkSocketAddress(int, int);
14972    method @Deprecated @NonNull public static java.net.SocketAddress makePacketSocketAddress(int, @NonNull byte[]);
14973    method @NonNull public static java.net.SocketAddress makePacketSocketAddress(int, int);
14974    method @NonNull public static java.net.SocketAddress makePacketSocketAddress(int, int, @NonNull byte[]);
14975  }
14976
14977}
14978
14979package android.net.vcn {
14980
14981  public class VcnManager {
14982    method @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public void addVcnNetworkPolicyChangeListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.vcn.VcnManager.VcnNetworkPolicyChangeListener);
14983    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public android.net.vcn.VcnNetworkPolicyResult applyVcnNetworkPolicy(@NonNull android.net.NetworkCapabilities, @NonNull android.net.LinkProperties);
14984    method @RequiresPermission(android.Manifest.permission.NETWORK_FACTORY) public void removeVcnNetworkPolicyChangeListener(@NonNull android.net.vcn.VcnManager.VcnNetworkPolicyChangeListener);
14985  }
14986
14987  public static interface VcnManager.VcnNetworkPolicyChangeListener {
14988    method public void onPolicyChanged();
14989  }
14990
14991  public final class VcnNetworkPolicyResult implements android.os.Parcelable {
14992    method public int describeContents();
14993    method @NonNull public android.net.NetworkCapabilities getNetworkCapabilities();
14994    method public boolean isTeardownRequested();
14995    method public void writeToParcel(@NonNull android.os.Parcel, int);
14996    field @NonNull public static final android.os.Parcelable.Creator<android.net.vcn.VcnNetworkPolicyResult> CREATOR;
14997  }
14998
14999}
15000
15001package android.net.wifi {
15002
15003  public final class CoexUnsafeChannel implements android.os.Parcelable {
15004    ctor public CoexUnsafeChannel(int, int);
15005    ctor public CoexUnsafeChannel(int, int, int);
15006    method public int describeContents();
15007    method public int getBand();
15008    method public int getChannel();
15009    method public int getPowerCapDbm();
15010    method public void writeToParcel(android.os.Parcel, int);
15011    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.CoexUnsafeChannel> CREATOR;
15012    field public static final int POWER_CAP_NONE = 2147483647; // 0x7fffffff
15013  }
15014
15015  public final class DeauthenticationReasonCode {
15016    field public static final int REASON_AKMP_NOT_VALID = 20; // 0x14
15017    field public static final int REASON_AUTHORIZED_ACCESS_LIMIT_REACHED = 46; // 0x2e
15018    field public static final int REASON_BAD_CIPHER_OR_AKM = 29; // 0x1d
15019    field public static final int REASON_BSS_TRANSITION_DISASSOC = 12; // 0xc
15020    field public static final int REASON_CIPHER_SUITE_REJECTED = 24; // 0x18
15021    field public static final int REASON_CLASS2_FRAME_FROM_NONAUTH_STA = 6; // 0x6
15022    field public static final int REASON_CLASS3_FRAME_FROM_NONASSOC_STA = 7; // 0x7
15023    field public static final int REASON_DEAUTH_LEAVING = 3; // 0x3
15024    field public static final int REASON_DISASSOC_AP_BUSY = 5; // 0x5
15025    field public static final int REASON_DISASSOC_DUE_TO_INACTIVITY = 4; // 0x4
15026    field public static final int REASON_DISASSOC_LOW_ACK = 34; // 0x22
15027    field public static final int REASON_DISASSOC_STA_HAS_LEFT = 8; // 0x8
15028    field public static final int REASON_END_TS_BA_DLS = 37; // 0x25
15029    field public static final int REASON_EXCEEDED_TXOP = 35; // 0x23
15030    field public static final int REASON_EXTERNAL_SERVICE_REQUIREMENTS = 47; // 0x2f
15031    field public static final int REASON_FOURWAY_HANDSHAKE_TIMEOUT = 15; // 0xf
15032    field public static final int REASON_GROUP_CIPHER_NOT_VALID = 18; // 0x12
15033    field public static final int REASON_GROUP_KEY_UPDATE_TIMEOUT = 16; // 0x10
15034    field public static final int REASON_IEEE_802_1X_AUTH_FAILED = 23; // 0x17
15035    field public static final int REASON_IE_IN_4WAY_DIFFERS = 17; // 0x11
15036    field public static final int REASON_INVALID_FTE = 51; // 0x33
15037    field public static final int REASON_INVALID_FT_ACTION_FRAME_COUNT = 48; // 0x30
15038    field public static final int REASON_INVALID_IE = 13; // 0xd
15039    field public static final int REASON_INVALID_MDE = 50; // 0x32
15040    field public static final int REASON_INVALID_PMKID = 49; // 0x31
15041    field public static final int REASON_INVALID_RSN_IE_CAPAB = 22; // 0x16
15042    field public static final int REASON_MAC_ADDRESS_ALREADY_EXISTS_IN_MBSS = 64; // 0x40
15043    field public static final int REASON_MESH_CHANNEL_SWITCH_REGULATORY_REQ = 65; // 0x41
15044    field public static final int REASON_MESH_CHANNEL_SWITCH_UNSPECIFIED = 66; // 0x42
15045    field public static final int REASON_MESH_CLOSE_RCVD = 55; // 0x37
15046    field public static final int REASON_MESH_CONFIG_POLICY_VIOLATION = 54; // 0x36
15047    field public static final int REASON_MESH_CONFIRM_TIMEOUT = 57; // 0x39
15048    field public static final int REASON_MESH_INCONSISTENT_PARAMS = 59; // 0x3b
15049    field public static final int REASON_MESH_INVALID_GTK = 58; // 0x3a
15050    field public static final int REASON_MESH_INVALID_SECURITY_CAP = 60; // 0x3c
15051    field public static final int REASON_MESH_MAX_PEERS = 53; // 0x35
15052    field public static final int REASON_MESH_MAX_RETRIES = 56; // 0x38
15053    field public static final int REASON_MESH_PATH_ERROR_DEST_UNREACHABLE = 63; // 0x3f
15054    field public static final int REASON_MESH_PATH_ERROR_NO_FORWARDING_INFO = 62; // 0x3e
15055    field public static final int REASON_MESH_PATH_ERROR_NO_PROXY_INFO = 61; // 0x3d
15056    field public static final int REASON_MESH_PEERING_CANCELLED = 52; // 0x34
15057    field public static final int REASON_MICHAEL_MIC_FAILURE = 14; // 0xe
15058    field public static final int REASON_NOT_AUTHORIZED_THIS_LOCATION = 30; // 0x1e
15059    field public static final int REASON_NOT_ENOUGH_BANDWIDTH = 33; // 0x21
15060    field public static final int REASON_NO_SSP_ROAMING_AGREEMENT = 28; // 0x1c
15061    field public static final int REASON_PAIRWISE_CIPHER_NOT_VALID = 19; // 0x13
15062    field public static final int REASON_PEERKEY_MISMATCH = 45; // 0x2d
15063    field public static final int REASON_PREV_AUTH_NOT_VALID = 2; // 0x2
15064    field public static final int REASON_PWR_CAPABILITY_NOT_VALID = 10; // 0xa
15065    field public static final int REASON_SERVICE_CHANGE_PRECLUDES_TS = 31; // 0x1f
15066    field public static final int REASON_SSP_REQUESTED_DISASSOC = 27; // 0x1b
15067    field public static final int REASON_STA_LEAVING = 36; // 0x24
15068    field public static final int REASON_STA_REQ_ASSOC_WITHOUT_AUTH = 9; // 0x9
15069    field public static final int REASON_SUPPORTED_CHANNEL_NOT_VALID = 11; // 0xb
15070    field public static final int REASON_TDLS_TEARDOWN_UNREACHABLE = 25; // 0x19
15071    field public static final int REASON_TDLS_TEARDOWN_UNSPECIFIED = 26; // 0x1a
15072    field public static final int REASON_TIMEOUT = 39; // 0x27
15073    field public static final int REASON_UNKNOWN = 0; // 0x0
15074    field public static final int REASON_UNKNOWN_TS_BA = 38; // 0x26
15075    field public static final int REASON_UNSPECIFIED = 1; // 0x1
15076    field public static final int REASON_UNSPECIFIED_QOS_REASON = 32; // 0x20
15077    field public static final int REASON_UNSUPPORTED_RSN_IE_VERSION = 21; // 0x15
15078  }
15079
15080  public abstract class EasyConnectStatusCallback {
15081    ctor public EasyConnectStatusCallback();
15082    method public void onBootstrapUriGenerated(@NonNull android.net.Uri);
15083    method public abstract void onConfiguratorSuccess(int);
15084    method public abstract void onEnrolleeSuccess(int);
15085    method public void onFailure(int);
15086    method public void onFailure(int, @Nullable String, @NonNull android.util.SparseArray<int[]>, @NonNull int[]);
15087    method public abstract void onProgress(int);
15088    field public static final int EASY_CONNECT_EVENT_PROGRESS_AUTHENTICATION_SUCCESS = 0; // 0x0
15089    field public static final int EASY_CONNECT_EVENT_PROGRESS_CONFIGURATION_ACCEPTED = 3; // 0x3
15090    field public static final int EASY_CONNECT_EVENT_PROGRESS_CONFIGURATION_SENT_WAITING_RESPONSE = 2; // 0x2
15091    field public static final int EASY_CONNECT_EVENT_PROGRESS_RESPONSE_PENDING = 1; // 0x1
15092    field public static final int EASY_CONNECT_EVENT_SUCCESS_CONFIGURATION_APPLIED = 1; // 0x1
15093    field public static final int EASY_CONNECT_EVENT_SUCCESS_CONFIGURATION_SENT = 0; // 0x0
15094  }
15095
15096  public final class MscsParams implements android.os.Parcelable {
15097    method public int describeContents();
15098    method public int getFrameClassifierFields();
15099    method @IntRange(from=0, to=0x3938700) public int getStreamTimeoutUs();
15100    method public int getUserPriorityBitmap();
15101    method @IntRange(from=0, to=7) public int getUserPriorityLimit();
15102    method public void writeToParcel(@NonNull android.os.Parcel, int);
15103    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.MscsParams> CREATOR;
15104    field public static final int FRAME_CLASSIFIER_DSCP = 32; // 0x20
15105    field public static final int FRAME_CLASSIFIER_DST_IP_ADDR = 4; // 0x4
15106    field public static final int FRAME_CLASSIFIER_DST_PORT = 16; // 0x10
15107    field public static final int FRAME_CLASSIFIER_FLOW_LABEL = 128; // 0x80
15108    field public static final int FRAME_CLASSIFIER_IP_VERSION = 1; // 0x1
15109    field public static final int FRAME_CLASSIFIER_PROTOCOL_NEXT_HDR = 64; // 0x40
15110    field public static final int FRAME_CLASSIFIER_SRC_IP_ADDR = 2; // 0x2
15111    field public static final int FRAME_CLASSIFIER_SRC_PORT = 8; // 0x8
15112  }
15113
15114  public static final class MscsParams.Builder {
15115    ctor public MscsParams.Builder();
15116    method @NonNull public android.net.wifi.MscsParams build();
15117    method @NonNull public android.net.wifi.MscsParams.Builder setFrameClassifierFields(int);
15118    method @NonNull public android.net.wifi.MscsParams.Builder setStreamTimeoutUs(@IntRange(from=0, to=0x3938700) int);
15119    method @NonNull public android.net.wifi.MscsParams.Builder setUserPriorityBitmap(int);
15120    method @NonNull public android.net.wifi.MscsParams.Builder setUserPriorityLimit(@IntRange(from=0, to=7) int);
15121  }
15122
15123  public final class OuiKeyedData implements android.os.Parcelable {
15124    method public int describeContents();
15125    method @NonNull public android.os.PersistableBundle getData();
15126    method public int getOui();
15127    method public void writeToParcel(@NonNull android.os.Parcel, int);
15128    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.OuiKeyedData> CREATOR;
15129  }
15130
15131  public static final class OuiKeyedData.Builder {
15132    ctor public OuiKeyedData.Builder(int, @NonNull android.os.PersistableBundle);
15133    method @NonNull public android.net.wifi.OuiKeyedData build();
15134  }
15135
15136  public final class QosCharacteristics implements android.os.Parcelable {
15137    method public int describeContents();
15138    method @IntRange(from=1, to=java.lang.Integer.MAX_VALUE) public int getBurstSizeOctets();
15139    method @IntRange(from=0, to=15) public int getCountExponent();
15140    method @IntRange(from=1, to=java.lang.Integer.MAX_VALUE) public int getDelayBoundMicros();
15141    method public int getDeliveryRatio();
15142    method @IntRange(from=1, to=java.lang.Short.MAX_VALUE) public int getMaxMsduSizeOctets();
15143    method @IntRange(from=1, to=java.lang.Integer.MAX_VALUE) public int getMaxServiceIntervalMicros();
15144    method @IntRange(from=1, to=java.lang.Integer.MAX_VALUE) public int getMeanDataRateKbps();
15145    method @IntRange(from=1, to=java.lang.Integer.MAX_VALUE) public int getMinDataRateKbps();
15146    method @IntRange(from=1, to=java.lang.Integer.MAX_VALUE) public int getMinServiceIntervalMicros();
15147    method @IntRange(from=1, to=java.lang.Short.MAX_VALUE) public int getMsduLifetimeMillis();
15148    method public int getServiceStartTimeLinkId();
15149    method @IntRange(from=0, to=java.lang.Integer.MAX_VALUE) public int getServiceStartTimeMicros();
15150    method public void writeToParcel(@NonNull android.os.Parcel, int);
15151    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.QosCharacteristics> CREATOR;
15152    field public static final int DELIVERY_RATIO_95 = 0; // 0x0
15153    field public static final int DELIVERY_RATIO_96 = 1; // 0x1
15154    field public static final int DELIVERY_RATIO_97 = 2; // 0x2
15155    field public static final int DELIVERY_RATIO_98 = 3; // 0x3
15156    field public static final int DELIVERY_RATIO_99 = 5; // 0x5
15157    field public static final int DELIVERY_RATIO_99_9 = 6; // 0x6
15158    field public static final int DELIVERY_RATIO_99_99 = 7; // 0x7
15159    field public static final int DELIVERY_RATIO_99_999 = 8; // 0x8
15160    field public static final int DELIVERY_RATIO_99_9999 = 9; // 0x9
15161  }
15162
15163  public static final class QosCharacteristics.Builder {
15164    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);
15165    method @NonNull public android.net.wifi.QosCharacteristics build();
15166    method @NonNull public android.net.wifi.QosCharacteristics.Builder setBurstSizeOctets(@IntRange(from=1, to=java.lang.Integer.MAX_VALUE) int);
15167    method @NonNull public android.net.wifi.QosCharacteristics.Builder setMaxMsduSizeOctets(@IntRange(from=1, to=java.lang.Short.MAX_VALUE) int);
15168    method @NonNull public android.net.wifi.QosCharacteristics.Builder setMeanDataRateKbps(@IntRange(from=1, to=java.lang.Integer.MAX_VALUE) int);
15169    method @NonNull public android.net.wifi.QosCharacteristics.Builder setMsduDeliveryInfo(int, @IntRange(from=0, to=15) int);
15170    method @NonNull public android.net.wifi.QosCharacteristics.Builder setMsduLifetimeMillis(@IntRange(from=1, to=java.lang.Short.MAX_VALUE) int);
15171    method @NonNull public android.net.wifi.QosCharacteristics.Builder setServiceStartTimeInfo(@IntRange(from=0, to=java.lang.Integer.MAX_VALUE) int, int);
15172  }
15173
15174  public final class QosPolicyParams implements android.os.Parcelable {
15175    method public int describeContents();
15176    method @Nullable public java.net.InetAddress getDestinationAddress();
15177    method @IntRange(from=android.net.wifi.QosPolicyParams.DESTINATION_PORT_ANY, to=65535) public int getDestinationPort();
15178    method @Nullable public int[] getDestinationPortRange();
15179    method public int getDirection();
15180    method @IntRange(from=android.net.wifi.QosPolicyParams.DSCP_ANY, to=63) public int getDscp();
15181    method @Nullable public byte[] getFlowLabel();
15182    method public int getIpVersion();
15183    method @IntRange(from=1, to=255) public int getPolicyId();
15184    method public int getProtocol();
15185    method @Nullable public android.net.wifi.QosCharacteristics getQosCharacteristics();
15186    method @Nullable public java.net.InetAddress getSourceAddress();
15187    method @IntRange(from=android.net.DscpPolicy.SOURCE_PORT_ANY, to=65535) public int getSourcePort();
15188    method public int getUserPriority();
15189    method public void writeToParcel(@NonNull android.os.Parcel, int);
15190    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.QosPolicyParams> CREATOR;
15191    field public static final int DESTINATION_PORT_ANY = -1; // 0xffffffff
15192    field public static final int DIRECTION_DOWNLINK = 1; // 0x1
15193    field public static final int DIRECTION_UPLINK = 0; // 0x0
15194    field public static final int DSCP_ANY = -1; // 0xffffffff
15195    field public static final int IP_VERSION_4 = 4; // 0x4
15196    field public static final int IP_VERSION_6 = 6; // 0x6
15197    field public static final int IP_VERSION_ANY = -1; // 0xffffffff
15198    field public static final int PROTOCOL_ANY = -1; // 0xffffffff
15199    field public static final int PROTOCOL_ESP = 50; // 0x32
15200    field public static final int PROTOCOL_TCP = 6; // 0x6
15201    field public static final int PROTOCOL_UDP = 17; // 0x11
15202    field public static final int USER_PRIORITY_ANY = -1; // 0xffffffff
15203    field public static final int USER_PRIORITY_BACKGROUND_HIGH = 2; // 0x2
15204    field public static final int USER_PRIORITY_BACKGROUND_LOW = 1; // 0x1
15205    field public static final int USER_PRIORITY_BEST_EFFORT_HIGH = 3; // 0x3
15206    field public static final int USER_PRIORITY_BEST_EFFORT_LOW = 0; // 0x0
15207    field public static final int USER_PRIORITY_VIDEO_HIGH = 5; // 0x5
15208    field public static final int USER_PRIORITY_VIDEO_LOW = 4; // 0x4
15209    field public static final int USER_PRIORITY_VOICE_HIGH = 7; // 0x7
15210    field public static final int USER_PRIORITY_VOICE_LOW = 6; // 0x6
15211  }
15212
15213  public static final class QosPolicyParams.Builder {
15214    ctor public QosPolicyParams.Builder(@IntRange(from=1, to=255) int, int);
15215    method @NonNull public android.net.wifi.QosPolicyParams build();
15216    method @NonNull public android.net.wifi.QosPolicyParams.Builder setDestinationAddress(@Nullable java.net.InetAddress);
15217    method @NonNull public android.net.wifi.QosPolicyParams.Builder setDestinationPort(@IntRange(from=android.net.wifi.QosPolicyParams.DESTINATION_PORT_ANY, to=65535) int);
15218    method @NonNull public android.net.wifi.QosPolicyParams.Builder setDestinationPortRange(@IntRange(from=0, to=65535) int, @IntRange(from=0, to=65535) int);
15219    method @NonNull public android.net.wifi.QosPolicyParams.Builder setDscp(@IntRange(from=android.net.wifi.QosPolicyParams.DSCP_ANY, to=63) int);
15220    method @NonNull public android.net.wifi.QosPolicyParams.Builder setFlowLabel(@Nullable byte[]);
15221    method @NonNull public android.net.wifi.QosPolicyParams.Builder setIpVersion(int);
15222    method @NonNull public android.net.wifi.QosPolicyParams.Builder setProtocol(int);
15223    method @NonNull public android.net.wifi.QosPolicyParams.Builder setQosCharacteristics(@Nullable android.net.wifi.QosCharacteristics);
15224    method @NonNull public android.net.wifi.QosPolicyParams.Builder setSourceAddress(@Nullable java.net.InetAddress);
15225    method @NonNull public android.net.wifi.QosPolicyParams.Builder setSourcePort(@IntRange(from=android.net.DscpPolicy.SOURCE_PORT_ANY, to=65535) int);
15226    method @NonNull public android.net.wifi.QosPolicyParams.Builder setUserPriority(int);
15227  }
15228
15229  @Deprecated public class RttManager {
15230    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void disableResponder(android.net.wifi.RttManager.ResponderCallback);
15231    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void enableResponder(android.net.wifi.RttManager.ResponderCallback);
15232    method @Deprecated public android.net.wifi.RttManager.Capabilities getCapabilities();
15233    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public android.net.wifi.RttManager.RttCapabilities getRttCapabilities();
15234    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startRanging(android.net.wifi.RttManager.RttParams[], android.net.wifi.RttManager.RttListener);
15235    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void stopRanging(android.net.wifi.RttManager.RttListener);
15236    field @Deprecated public static final int BASE = 160256; // 0x27200
15237    field @Deprecated public static final int CMD_OP_ABORTED = 160260; // 0x27204
15238    field @Deprecated public static final int CMD_OP_DISABLE_RESPONDER = 160262; // 0x27206
15239    field @Deprecated public static final int CMD_OP_ENABLE_RESPONDER = 160261; // 0x27205
15240    field @Deprecated public static final int CMD_OP_ENALBE_RESPONDER_FAILED = 160264; // 0x27208
15241    field @Deprecated public static final int CMD_OP_ENALBE_RESPONDER_SUCCEEDED = 160263; // 0x27207
15242    field @Deprecated public static final int CMD_OP_FAILED = 160258; // 0x27202
15243    field @Deprecated public static final int CMD_OP_START_RANGING = 160256; // 0x27200
15244    field @Deprecated public static final int CMD_OP_STOP_RANGING = 160257; // 0x27201
15245    field @Deprecated public static final int CMD_OP_SUCCEEDED = 160259; // 0x27203
15246    field @Deprecated public static final String DESCRIPTION_KEY = "android.net.wifi.RttManager.Description";
15247    field @Deprecated public static final int PREAMBLE_HT = 2; // 0x2
15248    field @Deprecated public static final int PREAMBLE_LEGACY = 1; // 0x1
15249    field @Deprecated public static final int PREAMBLE_VHT = 4; // 0x4
15250    field @Deprecated public static final int REASON_INITIATOR_NOT_ALLOWED_WHEN_RESPONDER_ON = -6; // 0xfffffffa
15251    field @Deprecated public static final int REASON_INVALID_LISTENER = -3; // 0xfffffffd
15252    field @Deprecated public static final int REASON_INVALID_REQUEST = -4; // 0xfffffffc
15253    field @Deprecated public static final int REASON_NOT_AVAILABLE = -2; // 0xfffffffe
15254    field @Deprecated public static final int REASON_PERMISSION_DENIED = -5; // 0xfffffffb
15255    field @Deprecated public static final int REASON_UNSPECIFIED = -1; // 0xffffffff
15256    field @Deprecated public static final int RTT_BW_10_SUPPORT = 2; // 0x2
15257    field @Deprecated public static final int RTT_BW_160_SUPPORT = 32; // 0x20
15258    field @Deprecated public static final int RTT_BW_20_SUPPORT = 4; // 0x4
15259    field @Deprecated public static final int RTT_BW_40_SUPPORT = 8; // 0x8
15260    field @Deprecated public static final int RTT_BW_5_SUPPORT = 1; // 0x1
15261    field @Deprecated public static final int RTT_BW_80_SUPPORT = 16; // 0x10
15262    field @Deprecated public static final int RTT_CHANNEL_WIDTH_10 = 6; // 0x6
15263    field @Deprecated public static final int RTT_CHANNEL_WIDTH_160 = 3; // 0x3
15264    field @Deprecated public static final int RTT_CHANNEL_WIDTH_20 = 0; // 0x0
15265    field @Deprecated public static final int RTT_CHANNEL_WIDTH_40 = 1; // 0x1
15266    field @Deprecated public static final int RTT_CHANNEL_WIDTH_5 = 5; // 0x5
15267    field @Deprecated public static final int RTT_CHANNEL_WIDTH_80 = 2; // 0x2
15268    field @Deprecated public static final int RTT_CHANNEL_WIDTH_80P80 = 4; // 0x4
15269    field @Deprecated public static final int RTT_CHANNEL_WIDTH_UNSPECIFIED = -1; // 0xffffffff
15270    field @Deprecated public static final int RTT_PEER_NAN = 5; // 0x5
15271    field @Deprecated public static final int RTT_PEER_P2P_CLIENT = 4; // 0x4
15272    field @Deprecated public static final int RTT_PEER_P2P_GO = 3; // 0x3
15273    field @Deprecated public static final int RTT_PEER_TYPE_AP = 1; // 0x1
15274    field @Deprecated public static final int RTT_PEER_TYPE_STA = 2; // 0x2
15275    field @Deprecated public static final int RTT_PEER_TYPE_UNSPECIFIED = 0; // 0x0
15276    field @Deprecated public static final int RTT_STATUS_ABORTED = 8; // 0x8
15277    field @Deprecated public static final int RTT_STATUS_FAILURE = 1; // 0x1
15278    field @Deprecated public static final int RTT_STATUS_FAIL_AP_ON_DIFF_CHANNEL = 6; // 0x6
15279    field @Deprecated public static final int RTT_STATUS_FAIL_BUSY_TRY_LATER = 12; // 0xc
15280    field @Deprecated public static final int RTT_STATUS_FAIL_FTM_PARAM_OVERRIDE = 15; // 0xf
15281    field @Deprecated public static final int RTT_STATUS_FAIL_INVALID_TS = 9; // 0x9
15282    field @Deprecated public static final int RTT_STATUS_FAIL_NOT_SCHEDULED_YET = 4; // 0x4
15283    field @Deprecated public static final int RTT_STATUS_FAIL_NO_CAPABILITY = 7; // 0x7
15284    field @Deprecated public static final int RTT_STATUS_FAIL_NO_RSP = 2; // 0x2
15285    field @Deprecated public static final int RTT_STATUS_FAIL_PROTOCOL = 10; // 0xa
15286    field @Deprecated public static final int RTT_STATUS_FAIL_REJECTED = 3; // 0x3
15287    field @Deprecated public static final int RTT_STATUS_FAIL_SCHEDULE = 11; // 0xb
15288    field @Deprecated public static final int RTT_STATUS_FAIL_TM_TIMEOUT = 5; // 0x5
15289    field @Deprecated public static final int RTT_STATUS_INVALID_REQ = 13; // 0xd
15290    field @Deprecated public static final int RTT_STATUS_NO_WIFI = 14; // 0xe
15291    field @Deprecated public static final int RTT_STATUS_SUCCESS = 0; // 0x0
15292    field @Deprecated public static final int RTT_TYPE_11_MC = 4; // 0x4
15293    field @Deprecated public static final int RTT_TYPE_11_V = 2; // 0x2
15294    field @Deprecated public static final int RTT_TYPE_ONE_SIDED = 1; // 0x1
15295    field @Deprecated public static final int RTT_TYPE_TWO_SIDED = 2; // 0x2
15296    field @Deprecated public static final int RTT_TYPE_UNSPECIFIED = 0; // 0x0
15297  }
15298
15299  @Deprecated public class RttManager.Capabilities {
15300    ctor @Deprecated public RttManager.Capabilities();
15301    field @Deprecated public int supportedPeerType;
15302    field @Deprecated public int supportedType;
15303  }
15304
15305  @Deprecated public static class RttManager.ParcelableRttParams implements android.os.Parcelable {
15306    method @Deprecated public int describeContents();
15307    method @Deprecated public void writeToParcel(android.os.Parcel, int);
15308    field @Deprecated @NonNull public android.net.wifi.RttManager.RttParams[] mParams;
15309  }
15310
15311  @Deprecated public static class RttManager.ParcelableRttResults implements android.os.Parcelable {
15312    ctor @Deprecated public RttManager.ParcelableRttResults(android.net.wifi.RttManager.RttResult[]);
15313    method @Deprecated public int describeContents();
15314    method @Deprecated public void writeToParcel(android.os.Parcel, int);
15315    field @Deprecated public android.net.wifi.RttManager.RttResult[] mResults;
15316  }
15317
15318  @Deprecated public abstract static class RttManager.ResponderCallback {
15319    ctor @Deprecated public RttManager.ResponderCallback();
15320    method @Deprecated public abstract void onResponderEnableFailure(int);
15321    method @Deprecated public abstract void onResponderEnabled(android.net.wifi.RttManager.ResponderConfig);
15322  }
15323
15324  @Deprecated public static class RttManager.ResponderConfig implements android.os.Parcelable {
15325    ctor @Deprecated public RttManager.ResponderConfig();
15326    method @Deprecated public int describeContents();
15327    method @Deprecated public void writeToParcel(android.os.Parcel, int);
15328    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.RttManager.ResponderConfig> CREATOR;
15329    field @Deprecated public int centerFreq0;
15330    field @Deprecated public int centerFreq1;
15331    field @Deprecated public int channelWidth;
15332    field @Deprecated public int frequency;
15333    field @Deprecated public String macAddress;
15334    field @Deprecated public int preamble;
15335  }
15336
15337  @Deprecated public static class RttManager.RttCapabilities implements android.os.Parcelable {
15338    ctor @Deprecated public RttManager.RttCapabilities();
15339    method @Deprecated public int describeContents();
15340    method @Deprecated public void writeToParcel(android.os.Parcel, int);
15341    field @Deprecated public int bwSupported;
15342    field @Deprecated public boolean lciSupported;
15343    field @Deprecated public boolean lcrSupported;
15344    field @Deprecated public int mcVersion;
15345    field @Deprecated public boolean oneSidedRttSupported;
15346    field @Deprecated public int preambleSupported;
15347    field @Deprecated public boolean responderSupported;
15348    field @Deprecated public boolean secureRttSupported;
15349    field @Deprecated public boolean supportedPeerType;
15350    field @Deprecated public boolean supportedType;
15351    field @Deprecated public boolean twoSided11McRttSupported;
15352  }
15353
15354  @Deprecated public static interface RttManager.RttListener {
15355    method @Deprecated public void onAborted();
15356    method @Deprecated public void onFailure(int, String);
15357    method @Deprecated public void onSuccess(android.net.wifi.RttManager.RttResult[]);
15358  }
15359
15360  @Deprecated public static class RttManager.RttParams {
15361    ctor @Deprecated public RttManager.RttParams();
15362    field @Deprecated public boolean LCIRequest;
15363    field @Deprecated public boolean LCRRequest;
15364    field @Deprecated public int bandwidth;
15365    field @Deprecated public String bssid;
15366    field @Deprecated public int burstTimeout;
15367    field @Deprecated public int centerFreq0;
15368    field @Deprecated public int centerFreq1;
15369    field @Deprecated public int channelWidth;
15370    field @Deprecated public int deviceType;
15371    field @Deprecated public int frequency;
15372    field @Deprecated public int interval;
15373    field @Deprecated public int numRetriesPerFTMR;
15374    field @Deprecated public int numRetriesPerMeasurementFrame;
15375    field @Deprecated public int numSamplesPerBurst;
15376    field @Deprecated public int num_retries;
15377    field @Deprecated public int num_samples;
15378    field @Deprecated public int numberBurst;
15379    field @Deprecated public int preamble;
15380    field @Deprecated public int requestType;
15381    field @Deprecated public boolean secure;
15382  }
15383
15384  @Deprecated public static class RttManager.RttResult {
15385    ctor @Deprecated public RttManager.RttResult();
15386    field @Deprecated public android.net.wifi.RttManager.WifiInformationElement LCI;
15387    field @Deprecated public android.net.wifi.RttManager.WifiInformationElement LCR;
15388    field @Deprecated public String bssid;
15389    field @Deprecated public int burstDuration;
15390    field @Deprecated public int burstNumber;
15391    field @Deprecated public int distance;
15392    field @Deprecated public int distanceSpread;
15393    field @Deprecated public int distanceStandardDeviation;
15394    field @Deprecated public int distance_cm;
15395    field @Deprecated public int distance_sd_cm;
15396    field @Deprecated public int distance_spread_cm;
15397    field @Deprecated public int frameNumberPerBurstPeer;
15398    field @Deprecated public int measurementFrameNumber;
15399    field @Deprecated public int measurementType;
15400    field @Deprecated public int negotiatedBurstNum;
15401    field @Deprecated public int requestType;
15402    field @Deprecated public int retryAfterDuration;
15403    field @Deprecated public int rssi;
15404    field @Deprecated public int rssiSpread;
15405    field @Deprecated public int rssi_spread;
15406    field @Deprecated public long rtt;
15407    field @Deprecated public long rttSpread;
15408    field @Deprecated public long rttStandardDeviation;
15409    field @Deprecated public long rtt_ns;
15410    field @Deprecated public long rtt_sd_ns;
15411    field @Deprecated public long rtt_spread_ns;
15412    field @Deprecated public int rxRate;
15413    field @Deprecated public boolean secure;
15414    field @Deprecated public int status;
15415    field @Deprecated public int successMeasurementFrameNumber;
15416    field @Deprecated public long ts;
15417    field @Deprecated public int txRate;
15418    field @Deprecated public int tx_rate;
15419  }
15420
15421  @Deprecated public static class RttManager.WifiInformationElement {
15422    ctor @Deprecated public RttManager.WifiInformationElement();
15423    field @Deprecated public byte[] data;
15424    field @Deprecated public byte id;
15425  }
15426
15427  public final class ScanResult implements android.os.Parcelable {
15428    method public int getBand();
15429    method public void setWifiSsid(@NonNull android.net.wifi.WifiSsid);
15430    field public static final int CIPHER_BIP_CMAC_256 = 9; // 0x9
15431    field public static final int CIPHER_BIP_GMAC_128 = 7; // 0x7
15432    field public static final int CIPHER_BIP_GMAC_256 = 8; // 0x8
15433    field public static final int CIPHER_CCMP = 3; // 0x3
15434    field public static final int CIPHER_GCMP_128 = 6; // 0x6
15435    field public static final int CIPHER_GCMP_256 = 4; // 0x4
15436    field public static final int CIPHER_NONE = 0; // 0x0
15437    field public static final int CIPHER_NO_GROUP_ADDRESSED = 1; // 0x1
15438    field public static final int CIPHER_SMS4 = 5; // 0x5
15439    field public static final int CIPHER_TKIP = 2; // 0x2
15440    field public static final int KEY_MGMT_EAP = 2; // 0x2
15441    field public static final int KEY_MGMT_EAP_SHA256 = 6; // 0x6
15442    field public static final int KEY_MGMT_EAP_SUITE_B_192 = 10; // 0xa
15443    field public static final int KEY_MGMT_FT_EAP = 4; // 0x4
15444    field public static final int KEY_MGMT_FT_PSK = 3; // 0x3
15445    field public static final int KEY_MGMT_FT_SAE = 11; // 0xb
15446    field public static final int KEY_MGMT_NONE = 0; // 0x0
15447    field public static final int KEY_MGMT_OSEN = 7; // 0x7
15448    field public static final int KEY_MGMT_OWE = 9; // 0x9
15449    field public static final int KEY_MGMT_OWE_TRANSITION = 12; // 0xc
15450    field public static final int KEY_MGMT_PSK = 1; // 0x1
15451    field public static final int KEY_MGMT_PSK_SHA256 = 5; // 0x5
15452    field public static final int KEY_MGMT_SAE = 8; // 0x8
15453    field public static final int KEY_MGMT_WAPI_CERT = 14; // 0xe
15454    field public static final int KEY_MGMT_WAPI_PSK = 13; // 0xd
15455    field public static final int PROTOCOL_NONE = 0; // 0x0
15456    field public static final int PROTOCOL_OSEN = 3; // 0x3
15457    field public static final int PROTOCOL_RSN = 2; // 0x2
15458    field public static final int PROTOCOL_WAPI = 4; // 0x4
15459    field public static final int PROTOCOL_WPA = 1; // 0x1
15460  }
15461
15462  public final class SoftApCapability implements android.os.Parcelable {
15463    method public boolean areFeaturesSupported(long);
15464    method public int describeContents();
15465    method public int getMaxSupportedClients();
15466    method @NonNull public int[] getSupportedChannelList(int);
15467    method public void writeToParcel(@NonNull android.os.Parcel, int);
15468    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.SoftApCapability> CREATOR;
15469    field public static final long SOFTAP_FEATURE_ACS_OFFLOAD = 1L; // 0x1L
15470    field public static final long SOFTAP_FEATURE_BAND_24G_SUPPORTED = 32L; // 0x20L
15471    field public static final long SOFTAP_FEATURE_BAND_5G_SUPPORTED = 64L; // 0x40L
15472    field public static final long SOFTAP_FEATURE_BAND_60G_SUPPORTED = 256L; // 0x100L
15473    field public static final long SOFTAP_FEATURE_BAND_6G_SUPPORTED = 128L; // 0x80L
15474    field public static final long SOFTAP_FEATURE_CLIENT_FORCE_DISCONNECT = 2L; // 0x2L
15475    field public static final long SOFTAP_FEATURE_IEEE80211_AX = 16L; // 0x10L
15476    field public static final long SOFTAP_FEATURE_IEEE80211_BE = 512L; // 0x200L
15477    field public static final long SOFTAP_FEATURE_MAC_ADDRESS_CUSTOMIZATION = 8L; // 0x8L
15478    field public static final long SOFTAP_FEATURE_MLO = 4096L; // 0x1000L
15479    field public static final long SOFTAP_FEATURE_WPA3_OWE = 2048L; // 0x800L
15480    field public static final long SOFTAP_FEATURE_WPA3_OWE_TRANSITION = 1024L; // 0x400L
15481    field public static final long SOFTAP_FEATURE_WPA3_SAE = 4L; // 0x4L
15482  }
15483
15484  public final class SoftApConfiguration implements android.os.Parcelable {
15485    method @NonNull public int[] getAllowedAcsChannels(int);
15486    method @NonNull public java.util.List<android.net.MacAddress> getAllowedClientList();
15487    method @Deprecated public int getBand();
15488    method @NonNull public java.util.List<android.net.MacAddress> getBlockedClientList();
15489    method public long getBridgedModeOpportunisticShutdownTimeoutMillis();
15490    method @Deprecated public int getChannel();
15491    method public int getMacRandomizationSetting();
15492    method public int getMaxChannelBandwidth();
15493    method public int getMaxNumberOfClients();
15494    method @NonNull public android.net.MacAddress getPersistentRandomizedMacAddress();
15495    method public long getShutdownTimeoutMillis();
15496    method @NonNull public java.util.List<android.net.wifi.OuiKeyedData> getVendorData();
15497    method @NonNull public java.util.List<android.net.wifi.ScanResult.InformationElement> getVendorElements();
15498    method public boolean isAutoShutdownEnabled();
15499    method public boolean isBridgedModeOpportunisticShutdownEnabled();
15500    method public boolean isClientControlByUserEnabled();
15501    method public boolean isClientIsolationEnabled();
15502    method public boolean isIeee80211axEnabled();
15503    method public boolean isIeee80211beEnabled();
15504    method public boolean isUserConfiguration();
15505    method @Nullable public android.net.wifi.WifiConfiguration toWifiConfiguration();
15506    field @Deprecated public static final int BAND_ANY = 7; // 0x7
15507    field public static final long DEFAULT_TIMEOUT = -1L; // 0xffffffffffffffffL
15508    field public static final int RANDOMIZATION_NONE = 0; // 0x0
15509    field public static final int RANDOMIZATION_NON_PERSISTENT = 2; // 0x2
15510    field public static final int RANDOMIZATION_PERSISTENT = 1; // 0x1
15511  }
15512
15513  public static final class SoftApConfiguration.Builder {
15514    ctor public SoftApConfiguration.Builder(@NonNull android.net.wifi.SoftApConfiguration);
15515    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setAllowedAcsChannels(int, @NonNull int[]);
15516    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setAllowedClientList(@NonNull java.util.List<android.net.MacAddress>);
15517    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setAutoShutdownEnabled(boolean);
15518    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBand(int);
15519    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBands(@NonNull int[]);
15520    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBlockedClientList(@NonNull java.util.List<android.net.MacAddress>);
15521    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBridgedModeOpportunisticShutdownEnabled(boolean);
15522    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBridgedModeOpportunisticShutdownTimeoutMillis(@IntRange(from=0xffffffff) long);
15523    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setBssid(@Nullable android.net.MacAddress);
15524    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setChannel(int, int);
15525    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setClientControlByUserEnabled(boolean);
15526    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setClientIsolationEnabled(boolean);
15527    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setHiddenSsid(boolean);
15528    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setIeee80211axEnabled(boolean);
15529    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setIeee80211beEnabled(boolean);
15530    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setMacRandomizationSetting(int);
15531    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setMaxChannelBandwidth(int);
15532    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setMaxNumberOfClients(@IntRange(from=0) int);
15533    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setPassphrase(@Nullable String, int);
15534    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setShutdownTimeoutMillis(@IntRange(from=0xffffffff) long);
15535    method @Deprecated @NonNull public android.net.wifi.SoftApConfiguration.Builder setSsid(@Nullable String);
15536    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setVendorData(@NonNull java.util.List<android.net.wifi.OuiKeyedData>);
15537    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setVendorElements(@NonNull java.util.List<android.net.wifi.ScanResult.InformationElement>);
15538    method @NonNull public android.net.wifi.SoftApConfiguration.Builder setWifiSsid(@Nullable android.net.wifi.WifiSsid);
15539  }
15540
15541  public final class SoftApInfo implements android.os.Parcelable {
15542    method public int describeContents();
15543    method public long getAutoShutdownTimeoutMillis();
15544    method public int getBandwidth();
15545    method @Nullable public android.net.MacAddress getBssid();
15546    method public int getFrequency();
15547    method @Nullable public android.net.MacAddress getMldAddress();
15548    method @NonNull public java.util.List<android.net.wifi.OuiKeyedData> getVendorData();
15549    method public int getWifiStandard();
15550    method public void setVendorData(@NonNull java.util.List<android.net.wifi.OuiKeyedData>);
15551    method public void writeToParcel(@NonNull android.os.Parcel, int);
15552    field public static final int CHANNEL_WIDTH_160MHZ = 6; // 0x6
15553    field public static final int CHANNEL_WIDTH_20MHZ = 2; // 0x2
15554    field public static final int CHANNEL_WIDTH_20MHZ_NOHT = 1; // 0x1
15555    field public static final int CHANNEL_WIDTH_2160MHZ = 7; // 0x7
15556    field public static final int CHANNEL_WIDTH_320MHZ = 11; // 0xb
15557    field public static final int CHANNEL_WIDTH_40MHZ = 3; // 0x3
15558    field public static final int CHANNEL_WIDTH_4320MHZ = 8; // 0x8
15559    field public static final int CHANNEL_WIDTH_6480MHZ = 9; // 0x9
15560    field public static final int CHANNEL_WIDTH_80MHZ = 4; // 0x4
15561    field public static final int CHANNEL_WIDTH_80MHZ_PLUS_MHZ = 5; // 0x5
15562    field public static final int CHANNEL_WIDTH_8640MHZ = 10; // 0xa
15563    field public static final int CHANNEL_WIDTH_AUTO = -1; // 0xffffffff
15564    field public static final int CHANNEL_WIDTH_INVALID = 0; // 0x0
15565    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.SoftApInfo> CREATOR;
15566  }
15567
15568  public final class SoftApState implements android.os.Parcelable {
15569    method public int describeContents();
15570    method public int getFailureReason();
15571    method @Nullable public String getIface();
15572    method public int getState();
15573    method @Nullable public android.net.TetheringManager.TetheringRequest getTetheringRequest();
15574    method public void writeToParcel(@NonNull android.os.Parcel, int);
15575    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.SoftApState> CREATOR;
15576  }
15577
15578  public final class UriParserResults implements android.os.Parcelable {
15579    method public int describeContents();
15580    method @Nullable public String getInformation();
15581    method @Nullable public String getPublicKey();
15582    method public int getUriScheme();
15583    method @Nullable public android.net.wifi.WifiConfiguration getWifiConfiguration();
15584    method public void writeToParcel(@NonNull android.os.Parcel, int);
15585    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.UriParserResults> CREATOR;
15586    field public static final int URI_SCHEME_DPP = 2; // 0x2
15587    field public static final int URI_SCHEME_ZXING_WIFI_NETWORK_CONFIG = 1; // 0x1
15588  }
15589
15590  public final class WifiClient implements android.os.Parcelable {
15591    method public int describeContents();
15592    method public int getDisconnectReason();
15593    method @NonNull public android.net.MacAddress getMacAddress();
15594    method public void writeToParcel(@NonNull android.os.Parcel, int);
15595    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiClient> CREATOR;
15596  }
15597
15598  @Deprecated public class WifiConfiguration implements android.os.Parcelable {
15599    method @Deprecated @NonNull public java.util.Set<java.lang.String> getAllNetworkKeys();
15600    method @Deprecated public int getAuthType();
15601    method @Deprecated @Nullable public java.util.List<android.net.MacAddress> getBssidAllowlist();
15602    method @Deprecated public int getDeletionPriority();
15603    method @Deprecated @NonNull public byte[] getDppCSignKey();
15604    method @Deprecated @NonNull public byte[] getDppConnector();
15605    method @Deprecated @NonNull public byte[] getDppNetAccessKey();
15606    method @Deprecated @NonNull public byte[] getDppPrivateEcKey();
15607    method @Deprecated @NonNull public android.net.IpConfiguration getIpConfiguration();
15608    method @Deprecated @NonNull public android.net.wifi.WifiConfiguration.NetworkSelectionStatus getNetworkSelectionStatus();
15609    method @Deprecated @NonNull public String getPrintableSsid();
15610    method @Deprecated @NonNull public String getProfileKey();
15611    method @Deprecated public int getRecentFailureReason();
15612    method @Deprecated @NonNull public java.util.List<android.net.wifi.OuiKeyedData> getVendorData();
15613    method @Deprecated public boolean hasNoInternetAccess();
15614    method @Deprecated public boolean isEphemeral();
15615    method @Deprecated public static boolean isMetered(@Nullable android.net.wifi.WifiConfiguration, @Nullable android.net.wifi.WifiInfo);
15616    method @Deprecated public boolean isNoInternetAccessExpected();
15617    method @Deprecated public boolean isRepeaterEnabled();
15618    method @Deprecated public boolean isSendDhcpHostnameEnabled();
15619    method @Deprecated public boolean isWifi7Enabled();
15620    method @Deprecated public void setBssidAllowlist(@Nullable java.util.List<android.net.MacAddress>);
15621    method @Deprecated public void setDeletionPriority(int) throws java.lang.IllegalArgumentException;
15622    method @Deprecated public void setNetworkSelectionStatus(@NonNull android.net.wifi.WifiConfiguration.NetworkSelectionStatus);
15623    method @Deprecated @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setRepeaterEnabled(boolean);
15624    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void setSendDhcpHostnameEnabled(boolean);
15625    method @Deprecated public void setVendorData(@NonNull java.util.List<android.net.wifi.OuiKeyedData>);
15626    method @Deprecated public void setWifi7Enabled(boolean);
15627    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiConfiguration> CREATOR;
15628    field @Deprecated public static final int INVALID_NETWORK_ID = -1; // 0xffffffff
15629    field @Deprecated public static final int METERED_OVERRIDE_METERED = 1; // 0x1
15630    field @Deprecated public static final int METERED_OVERRIDE_NONE = 0; // 0x0
15631    field @Deprecated public static final int METERED_OVERRIDE_NOT_METERED = 2; // 0x2
15632    field @Deprecated public static final int RECENT_FAILURE_AP_UNABLE_TO_HANDLE_NEW_STA = 17; // 0x11
15633    field @Deprecated public static final int RECENT_FAILURE_DISCONNECTION_AP_BUSY = 1004; // 0x3ec
15634    field @Deprecated public static final int RECENT_FAILURE_MBO_ASSOC_DISALLOWED_AIR_INTERFACE_OVERLOADED = 1007; // 0x3ef
15635    field @Deprecated public static final int RECENT_FAILURE_MBO_ASSOC_DISALLOWED_AUTH_SERVER_OVERLOADED = 1008; // 0x3f0
15636    field @Deprecated public static final int RECENT_FAILURE_MBO_ASSOC_DISALLOWED_INSUFFICIENT_RSSI = 1009; // 0x3f1
15637    field @Deprecated public static final int RECENT_FAILURE_MBO_ASSOC_DISALLOWED_MAX_NUM_STA_ASSOCIATED = 1006; // 0x3ee
15638    field @Deprecated public static final int RECENT_FAILURE_MBO_ASSOC_DISALLOWED_UNSPECIFIED = 1005; // 0x3ed
15639    field @Deprecated public static final int RECENT_FAILURE_NETWORK_NOT_FOUND = 1011; // 0x3f3
15640    field @Deprecated public static final int RECENT_FAILURE_NONE = 0; // 0x0
15641    field @Deprecated public static final int RECENT_FAILURE_OCE_RSSI_BASED_ASSOCIATION_REJECTION = 1010; // 0x3f2
15642    field @Deprecated public static final int RECENT_FAILURE_POOR_CHANNEL_CONDITIONS = 1003; // 0x3eb
15643    field @Deprecated public static final int RECENT_FAILURE_REFUSED_TEMPORARILY = 1002; // 0x3ea
15644    field @Deprecated public boolean allowAutojoin;
15645    field @Deprecated public int carrierId;
15646    field @Deprecated public boolean carrierMerged;
15647    field @Deprecated public String creatorName;
15648    field @Deprecated public int creatorUid;
15649    field @Deprecated public boolean fromWifiNetworkSpecifier;
15650    field @Deprecated public boolean fromWifiNetworkSuggestion;
15651    field @Deprecated public int lastConnectUid;
15652    field @Deprecated public long lastConnected;
15653    field @Deprecated public String lastUpdateName;
15654    field @Deprecated public int lastUpdateUid;
15655    field @Deprecated public int macRandomizationSetting;
15656    field @Deprecated public boolean meteredHint;
15657    field @Deprecated public int meteredOverride;
15658    field @Deprecated public int numAssociation;
15659    field @Deprecated public int numRebootsSinceLastUse;
15660    field @Deprecated public int numScorerOverride;
15661    field @Deprecated public int numScorerOverrideAndSwitchedNetwork;
15662    field @Deprecated public boolean requirePmf;
15663    field @Deprecated public boolean shared;
15664    field @Deprecated public int subscriptionId;
15665    field @Deprecated public boolean useExternalScores;
15666  }
15667
15668  @Deprecated public static class WifiConfiguration.NetworkSelectionStatus {
15669    method @Deprecated public int getDisableReasonCounter(int);
15670    method @Deprecated public long getDisableTime();
15671    method @Deprecated public static int getMaxNetworkSelectionDisableReason();
15672    method @Deprecated public int getNetworkSelectionDisableReason();
15673    method @Deprecated @Nullable public static String getNetworkSelectionDisableReasonString(int);
15674    method @Deprecated public int getNetworkSelectionStatus();
15675    method @Deprecated @NonNull public String getNetworkStatusString();
15676    method @Deprecated public boolean hasEverConnected();
15677    field @Deprecated public static final int DISABLED_ASSOCIATION_REJECTION = 1; // 0x1
15678    field @Deprecated public static final int DISABLED_AUTHENTICATION_FAILURE = 2; // 0x2
15679    field @Deprecated public static final int DISABLED_AUTHENTICATION_NO_CREDENTIALS = 5; // 0x5
15680    field @Deprecated public static final int DISABLED_AUTHENTICATION_NO_SUBSCRIPTION = 9; // 0x9
15681    field @Deprecated public static final int DISABLED_AUTHENTICATION_PRIVATE_EAP_ERROR = 10; // 0xa
15682    field @Deprecated public static final int DISABLED_BY_WIFI_MANAGER = 7; // 0x7
15683    field @Deprecated public static final int DISABLED_BY_WRONG_PASSWORD = 8; // 0x8
15684    field @Deprecated public static final int DISABLED_CONSECUTIVE_FAILURES = 12; // 0xc
15685    field @Deprecated public static final int DISABLED_DHCP_FAILURE = 3; // 0x3
15686    field @Deprecated public static final int DISABLED_NETWORK_NOT_FOUND = 11; // 0xb
15687    field @Deprecated public static final int DISABLED_NONE = 0; // 0x0
15688    field @Deprecated public static final int DISABLED_NO_INTERNET_PERMANENT = 6; // 0x6
15689    field @Deprecated public static final int DISABLED_NO_INTERNET_TEMPORARY = 4; // 0x4
15690    field @Deprecated public static final int DISABLED_TRANSITION_DISABLE_INDICATION = 13; // 0xd
15691    field @Deprecated public static final int DISABLED_UNWANTED_LOW_RSSI = 14; // 0xe
15692    field @Deprecated public static final int NETWORK_SELECTION_ENABLED = 0; // 0x0
15693    field @Deprecated public static final int NETWORK_SELECTION_PERMANENTLY_DISABLED = 2; // 0x2
15694    field @Deprecated public static final int NETWORK_SELECTION_TEMPORARY_DISABLED = 1; // 0x1
15695  }
15696
15697  @Deprecated public static final class WifiConfiguration.NetworkSelectionStatus.Builder {
15698    ctor @Deprecated public WifiConfiguration.NetworkSelectionStatus.Builder();
15699    method @Deprecated @NonNull public android.net.wifi.WifiConfiguration.NetworkSelectionStatus build();
15700    method @Deprecated @NonNull public android.net.wifi.WifiConfiguration.NetworkSelectionStatus.Builder setNetworkSelectionDisableReason(int);
15701    method @Deprecated @NonNull public android.net.wifi.WifiConfiguration.NetworkSelectionStatus.Builder setNetworkSelectionStatus(int);
15702  }
15703
15704  public final class WifiConnectedSessionInfo implements android.os.Parcelable {
15705    method public int describeContents();
15706    method public int getSessionId();
15707    method public boolean isUserSelected();
15708    method public void writeToParcel(@NonNull android.os.Parcel, int);
15709    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiConnectedSessionInfo> CREATOR;
15710  }
15711
15712  public static final class WifiConnectedSessionInfo.Builder {
15713    ctor public WifiConnectedSessionInfo.Builder(int);
15714    method @NonNull public android.net.wifi.WifiConnectedSessionInfo build();
15715    method @NonNull public android.net.wifi.WifiConnectedSessionInfo.Builder setUserSelected(boolean);
15716  }
15717
15718  public class WifiEnterpriseConfig implements android.os.Parcelable {
15719    method @Nullable public String[] getCaCertificateAliases();
15720    method @NonNull public String getCaPath();
15721    method @NonNull public String getClientCertificateAlias();
15722    method public int getOcsp();
15723    method @NonNull public String getWapiCertSuite();
15724    method public void setCaCertificateAliases(@Nullable String[]);
15725    method public void setCaPath(@NonNull String);
15726    method public void setClientCertificateAlias(@NonNull String);
15727    method public void setOcsp(int);
15728    method public void setWapiCertSuite(@NonNull String);
15729    field public static final int OCSP_NONE = 0; // 0x0
15730    field public static final int OCSP_REQUEST_CERT_STATUS = 1; // 0x1
15731    field public static final int OCSP_REQUIRE_ALL_NON_TRUSTED_CERTS_STATUS = 3; // 0x3
15732    field public static final int OCSP_REQUIRE_CERT_STATUS = 2; // 0x2
15733  }
15734
15735  public class WifiFrameworkInitializer {
15736    method public static void registerServiceWrappers();
15737  }
15738
15739  public class WifiInfo implements android.os.Parcelable android.net.TransportInfo {
15740    method public double getLostTxPacketsPerSecond();
15741    method @Nullable public String getNetworkKey();
15742    method @Nullable public String getRequestingPackageName();
15743    method public double getRetriedTxPacketsPerSecond();
15744    method public int getScore();
15745    method public double getSuccessfulRxPacketsPerSecond();
15746    method public double getSuccessfulTxPacketsPerSecond();
15747    method @NonNull public java.util.List<android.net.wifi.OuiKeyedData> getVendorData();
15748    method public boolean isApTidToLinkMappingNegotiationSupported();
15749    method public boolean isCarrierMerged();
15750    method public boolean isEphemeral();
15751    method public boolean isOemPaid();
15752    method public boolean isOemPrivate();
15753    method public boolean isOsuAp();
15754    method public boolean isPasspointAp();
15755    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public boolean isPrimary();
15756    method public boolean isTrusted();
15757    method @Nullable public static String sanitizeSsid(@Nullable String);
15758    method public void setVendorData(@NonNull java.util.List<android.net.wifi.OuiKeyedData>);
15759    field public static final String DEFAULT_MAC_ADDRESS = "02:00:00:00:00:00";
15760    field public static final int INVALID_RSSI = -127; // 0xffffff81
15761  }
15762
15763  public final class WifiKeystore {
15764    method @NonNull public static byte[] get(@NonNull String);
15765    method @NonNull public static String[] list(@NonNull String);
15766    method public static boolean put(@NonNull String, @NonNull byte[]);
15767    method public static boolean remove(@NonNull String);
15768  }
15769
15770  public class WifiManager {
15771    method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public void addOnWifiUsabilityStatsListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.OnWifiUsabilityStatsListener);
15772    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>>);
15773    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);
15774    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void addWifiNetworkStateChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.WifiNetworkStateChangedListener);
15775    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void addWifiVerboseLoggingStatusChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.WifiVerboseLoggingStatusChangedListener);
15776    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void allowAutojoin(int, boolean);
15777    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void allowAutojoinPasspoint(@NonNull String, boolean);
15778    method public void clearExternalPnoScanRequest();
15779    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_COUNTRY_CODE) public void clearOverrideCountryCode();
15780    method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public void clearWifiConnectedNetworkScorer();
15781    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);
15782    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);
15783    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);
15784    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_STACK}) public void disableEphemeralNetwork(@NonNull String);
15785    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION}) public void disableMscs();
15786    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION}) public void enableMscs(@NonNull android.net.wifi.MscsParams);
15787    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void factoryReset();
15788    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);
15789    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>);
15790    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION}) public void getAutojoinDisallowedSecurityTypes(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<int[]>);
15791    method @NonNull public java.util.List<android.security.advancedprotection.AdvancedProtectionFeature> getAvailableAdvancedProtectionFeatures();
15792    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void getBssidBlocklist(@NonNull java.util.List<android.net.wifi.WifiSsid>, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.util.List<android.net.MacAddress>>);
15793    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.ACCESS_COARSE_LOCATION}) public String getCountryCode();
15794    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public android.net.Network getCurrentNetwork();
15795    method public static int getEasyConnectMaxAllowedResponderDeviceInfoLength();
15796    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public String[] getFactoryMacAddresses();
15797    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>);
15798    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>);
15799    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>);
15800    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>);
15801    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>);
15802    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>);
15803    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>);
15804    method public static int getMaxNumberOfPoliciesPerQosRequest();
15805    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>);
15806    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>);
15807    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public java.util.Set<java.lang.String> getOemPrivilegedWifiAdminPackages();
15808    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();
15809    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();
15810    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public android.net.wifi.SoftApConfiguration getSoftApConfiguration();
15811    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();
15812    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[]>>);
15813    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>);
15814    method public int getVerboseLoggingLevel();
15815    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void getWifiActivityEnergyInfoAsync(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.OnWifiActivityEnergyInfoListener);
15816    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public android.net.wifi.WifiConfiguration getWifiApConfiguration();
15817    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public int getWifiApState();
15818    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>);
15819    method public boolean isApMacRandomizationSupported();
15820    method public boolean isConnectedMacRandomizationSupported();
15821    method @Deprecated public boolean isDeviceToDeviceRttSupported();
15822    method public boolean isLowLatencyModeSupported();
15823    method public boolean isPortableHotspotSupported();
15824    method public boolean isStaConcurrencyForRestrictedConnectionsSupported();
15825    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public boolean isThirdPartyAppEnablingWifiConfirmationDialogEnabled();
15826    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public boolean isUsdPublisherSupported();
15827    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public boolean isUsdSubscriberSupported();
15828    method public boolean isVerboseLoggingEnabled();
15829    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isWifiApEnabled();
15830    method public boolean isWifiScannerSupported();
15831    method @RequiresPermission(android.Manifest.permission.MANAGE_DEVICE_ADMINS) public void notifyMinimumRequiredWifiSecurityLevelChanged(int);
15832    method @RequiresPermission(android.Manifest.permission.MANAGE_DEVICE_ADMINS) public void notifyWifiSsidPolicyChanged(@NonNull android.app.admin.WifiSsidPolicy);
15833    method public void queryD2dAllowedWhenInfraStaDisabled(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
15834    method @Nullable @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void queryLastConfiguredTetheredApPassphraseSinceBoot(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.String>);
15835    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>);
15836    method @RequiresPermission(android.Manifest.permission.ACCESS_COARSE_LOCATION) public void registerActiveCountryCodeChangedCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.ActiveCountryCodeChangedCallback);
15837    method @RequiresPermission(android.Manifest.permission.WIFI_ACCESS_COEX_UNSAFE_CHANNELS) public void registerCoexCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.CoexCallback);
15838    method @RequiresPermission(android.Manifest.permission.NEARBY_WIFI_DEVICES) public void registerLocalOnlyHotspotSoftApCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.SoftApCallback);
15839    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void registerNetworkRequestMatchCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.NetworkRequestMatchCallback);
15840    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);
15841    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void registerTrafficStateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.TrafficStateCallback);
15842    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION}) public void removeAllQosPolicies();
15843    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void removeAppState(int, @NonNull String);
15844    method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public void removeOnWifiUsabilityStatsListener(@NonNull android.net.wifi.WifiManager.OnWifiUsabilityStatsListener);
15845    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION}) public void removeQosPolicies(@NonNull int[]);
15846    method public void removeWifiLowLatencyLockListener(@NonNull android.net.wifi.WifiManager.WifiLowLatencyLockListener);
15847    method public void removeWifiNetworkStateChangedListener(@NonNull android.net.wifi.WifiManager.WifiNetworkStateChangedListener);
15848    method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public void removeWifiVerboseLoggingStatusChangedListener(@NonNull android.net.wifi.WifiManager.WifiVerboseLoggingStatusChangedListener);
15849    method @RequiresPermission(android.Manifest.permission.RESTART_WIFI_SUBSYSTEM) public void restartWifiSubsystem();
15850    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void restoreBackupData(@NonNull byte[]);
15851    method @Nullable @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public android.net.wifi.SoftApConfiguration restoreSoftApBackupData(@NonNull byte[]);
15852    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void restoreSupplicantBackupData(@NonNull byte[], @NonNull byte[]);
15853    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void restoreWifiBackupData(@NonNull byte[]);
15854    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public byte[] retrieveBackupData();
15855    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public byte[] retrieveSoftApBackupData();
15856    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void retrieveWifiBackupData(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<byte[]>);
15857    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);
15858    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setAutoWakeupEnabled(boolean);
15859    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION}) public void setAutojoinDisallowedSecurityTypes(@NonNull int[]);
15860    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void setCarrierNetworkOffloadEnabled(int, boolean, boolean);
15861    method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_COEX_UNSAFE_CHANNELS) public void setCoexUnsafeChannels(@NonNull java.util.List<android.net.wifi.CoexUnsafeChannel>, int);
15862    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void setD2dAllowedWhenInfraStaDisabled(boolean);
15863    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_COUNTRY_CODE) public void setDefaultCountryCode(@NonNull String);
15864    method @RequiresPermission(android.Manifest.permission.WIFI_SET_DEVICE_MOBILITY_STATE) public void setDeviceMobilityState(int);
15865    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);
15866    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public void setLinkLayerStatsPollingInterval(@IntRange(from=0) int);
15867    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setMacRandomizationSettingPasspointEnabled(@NonNull String, boolean);
15868    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>);
15869    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION}) public void setNetworkSelectionConfig(@NonNull android.net.wifi.WifiNetworkSelectionConfig);
15870    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION}) public void setOneShotScreenOnConnectivityScanDelayMillis(@IntRange(from=0) int);
15871    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_COUNTRY_CODE) public void setOverrideCountryCode(@NonNull String);
15872    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setPasspointMeteredOverride(@NonNull String, int);
15873    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);
15874    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setScanAlwaysAvailable(boolean);
15875    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void setScanThrottleEnabled(boolean);
15876    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>);
15877    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public boolean setSoftApConfiguration(@NonNull android.net.wifi.SoftApConfiguration);
15878    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>);
15879    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public boolean setStaConcurrencyForMultiInternetMode(int);
15880    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void setThirdPartyAppEnablingWifiConfirmationDialogEnabled(boolean);
15881    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.DUMP}) public void setVerboseLoggingEnabled(boolean);
15882    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.DUMP}) public void setVerboseLoggingLevel(int);
15883    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void setWepAllowed(boolean);
15884    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_WIFI_STATE) public boolean setWifiApConfiguration(android.net.wifi.WifiConfiguration);
15885    method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public boolean setWifiConnectedNetworkScorer(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.WifiConnectedNetworkScorer);
15886    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void setWifiPasspointEnabled(boolean);
15887    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public boolean setWifiScoringEnabled(boolean);
15888    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);
15889    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);
15890    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);
15891    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);
15892    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);
15893    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void startRestrictingAutoJoinToSubscriptionId(int);
15894    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public boolean startScan(android.os.WorkSource);
15895    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);
15896    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);
15897    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public boolean startTetheredHotspot(@Nullable android.net.wifi.SoftApConfiguration);
15898    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void stopEasyConnectSession();
15899    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void stopRestrictingAutoJoinToSubscriptionId();
15900    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public boolean stopSoftAp();
15901    method public void unregisterActiveCountryCodeChangedCallback(@NonNull android.net.wifi.WifiManager.ActiveCountryCodeChangedCallback);
15902    method @RequiresPermission(android.Manifest.permission.WIFI_ACCESS_COEX_UNSAFE_CHANNELS) public void unregisterCoexCallback(@NonNull android.net.wifi.WifiManager.CoexCallback);
15903    method @RequiresPermission(android.Manifest.permission.NEARBY_WIFI_DEVICES) public void unregisterLocalOnlyHotspotSoftApCallback(@NonNull android.net.wifi.WifiManager.SoftApCallback);
15904    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void unregisterNetworkRequestMatchCallback(@NonNull android.net.wifi.WifiManager.NetworkRequestMatchCallback);
15905    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);
15906    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void unregisterTrafficStateCallback(@NonNull android.net.wifi.WifiManager.TrafficStateCallback);
15907    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_STACK, android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK}) public void updateInterfaceIpState(@Nullable String, int);
15908    method @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE) public void updateWifiUsabilityScore(int, int, int);
15909    field public static final String ACTION_LINK_CONFIGURATION_CHANGED = "android.net.wifi.LINK_CONFIGURATION_CHANGED";
15910    field @RequiresPermission(android.Manifest.permission.NETWORK_CARRIER_PROVISIONING) public static final String ACTION_NETWORK_SETTINGS_RESET = "android.net.wifi.action.NETWORK_SETTINGS_RESET";
15911    field public static final String ACTION_PASSPOINT_LAUNCH_OSU_VIEW = "android.net.wifi.action.PASSPOINT_LAUNCH_OSU_VIEW";
15912    field @RequiresPermission(android.Manifest.permission.NETWORK_CARRIER_PROVISIONING) public static final String ACTION_REFRESH_USER_PROVISIONING = "android.net.wifi.action.REFRESH_USER_PROVISIONING";
15913    field public static final String ACTION_REQUEST_DISABLE = "android.net.wifi.action.REQUEST_DISABLE";
15914    field public static final String ACTION_REQUEST_ENABLE = "android.net.wifi.action.REQUEST_ENABLE";
15915    field public static final int API_ADD_NETWORK = 10; // 0xa
15916    field public static final int API_ALLOW_AUTOJOIN = 12; // 0xc
15917    field public static final int API_AUTOJOIN_GLOBAL = 5; // 0x5
15918    field public static final int API_CONNECT_CONFIG = 13; // 0xd
15919    field public static final int API_CONNECT_NETWORK_ID = 14; // 0xe
15920    field public static final int API_DISABLE_NETWORK = 15; // 0xf
15921    field public static final int API_ENABLE_NETWORK = 16; // 0x10
15922    field public static final int API_FORGET = 17; // 0x11
15923    field public static final int API_P2P_CANCEL_CONNECT = 26; // 0x1a
15924    field public static final int API_P2P_CONNECT = 25; // 0x19
15925    field public static final int API_P2P_CREATE_GROUP = 27; // 0x1b
15926    field public static final int API_P2P_CREATE_GROUP_P2P_CONFIG = 28; // 0x1c
15927    field public static final int API_P2P_DISCOVER_PEERS = 21; // 0x15
15928    field public static final int API_P2P_DISCOVER_PEERS_ON_SOCIAL_CHANNELS = 22; // 0x16
15929    field public static final int API_P2P_DISCOVER_PEERS_ON_SPECIFIC_FREQUENCY = 23; // 0x17
15930    field public static final int API_P2P_DISCOVER_PEERS_WITH_CONFIG_PARAMS = 37; // 0x25
15931    field public static final int API_P2P_REMOVE_GROUP = 29; // 0x1d
15932    field public static final int API_P2P_SET_CHANNELS = 32; // 0x20
15933    field public static final int API_P2P_START_LISTENING = 30; // 0x1e
15934    field public static final int API_P2P_STOP_LISTENING = 31; // 0x1f
15935    field public static final int API_P2P_STOP_PEER_DISCOVERY = 24; // 0x18
15936    field public static final int API_SAVE = 18; // 0x12
15937    field public static final int API_SCANNING_ENABLED = 1; // 0x1
15938    field public static final int API_SET_NETWORK_SELECTION_CONFIG = 8; // 0x8
15939    field public static final int API_SET_ONE_SHOT_SCREEN_ON_CONNECTIVITY_SCAN_DELAY = 7; // 0x7
15940    field public static final int API_SET_PNO_SCAN_ENABLED = 36; // 0x24
15941    field public static final int API_SET_SCAN_SCHEDULE = 6; // 0x6
15942    field public static final int API_SET_TDLS_ENABLED = 34; // 0x22
15943    field public static final int API_SET_TDLS_ENABLED_WITH_MAC_ADDRESS = 35; // 0x23
15944    field public static final int API_SET_THIRD_PARTY_APPS_ENABLING_WIFI_CONFIRMATION_DIALOG = 9; // 0x9
15945    field public static final int API_SOFT_AP = 3; // 0x3
15946    field public static final int API_START_LOCAL_ONLY_HOTSPOT = 20; // 0x14
15947    field public static final int API_START_SCAN = 19; // 0x13
15948    field public static final int API_TETHERED_HOTSPOT = 4; // 0x4
15949    field public static final int API_UPDATE_NETWORK = 11; // 0xb
15950    field public static final int API_WIFI_ENABLED = 2; // 0x2
15951    field public static final int API_WIFI_SCANNER_START_SCAN = 33; // 0x21
15952    field public static final int CHANGE_REASON_ADDED = 0; // 0x0
15953    field public static final int CHANGE_REASON_CONFIG_CHANGE = 2; // 0x2
15954    field public static final int CHANGE_REASON_REMOVED = 1; // 0x1
15955    field public static final int COEX_RESTRICTION_SOFTAP = 2; // 0x2
15956    field public static final int COEX_RESTRICTION_WIFI_AWARE = 4; // 0x4
15957    field public static final int COEX_RESTRICTION_WIFI_DIRECT = 1; // 0x1
15958    field public static final String CONFIGURED_NETWORKS_CHANGED_ACTION = "android.net.wifi.CONFIGURED_NETWORKS_CHANGE";
15959    field public static final int DEVICE_MOBILITY_STATE_HIGH_MVMT = 1; // 0x1
15960    field public static final int DEVICE_MOBILITY_STATE_LOW_MVMT = 2; // 0x2
15961    field public static final int DEVICE_MOBILITY_STATE_STATIONARY = 3; // 0x3
15962    field public static final int DEVICE_MOBILITY_STATE_UNKNOWN = 0; // 0x0
15963    field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_BRAINPOOLP256R1 = 3; // 0x3
15964    field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_BRAINPOOLP384R1 = 4; // 0x4
15965    field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_BRAINPOOLP512R1 = 5; // 0x5
15966    field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_PRIME256V1 = 0; // 0x0
15967    field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_SECP384R1 = 1; // 0x1
15968    field public static final int EASY_CONNECT_CRYPTOGRAPHY_CURVE_SECP521R1 = 2; // 0x2
15969    field public static final int EASY_CONNECT_NETWORK_ROLE_AP = 1; // 0x1
15970    field public static final int EASY_CONNECT_NETWORK_ROLE_STA = 0; // 0x0
15971    field public static final String EXTRA_CHANGE_REASON = "changeReason";
15972    field @Deprecated public static final String EXTRA_LINK_PROPERTIES = "android.net.wifi.extra.LINK_PROPERTIES";
15973    field @Deprecated public static final String EXTRA_MULTIPLE_NETWORKS_CHANGED = "multipleChanges";
15974    field public static final String EXTRA_OSU_NETWORK = "android.net.wifi.extra.OSU_NETWORK";
15975    field public static final String EXTRA_PREVIOUS_WIFI_AP_STATE = "previous_wifi_state";
15976    field public static final String EXTRA_URL = "android.net.wifi.extra.URL";
15977    field public static final String EXTRA_WIFI_AP_FAILURE_REASON = "android.net.wifi.extra.WIFI_AP_FAILURE_REASON";
15978    field public static final String EXTRA_WIFI_AP_INTERFACE_NAME = "android.net.wifi.extra.WIFI_AP_INTERFACE_NAME";
15979    field public static final String EXTRA_WIFI_AP_MODE = "android.net.wifi.extra.WIFI_AP_MODE";
15980    field public static final String EXTRA_WIFI_AP_STATE = "wifi_state";
15981    field @Deprecated public static final String EXTRA_WIFI_CONFIGURATION = "wifiConfiguration";
15982    field public static final String EXTRA_WIFI_CREDENTIAL_EVENT_TYPE = "et";
15983    field public static final String EXTRA_WIFI_CREDENTIAL_SSID = "ssid";
15984    field public static final int IFACE_IP_MODE_CONFIGURATION_ERROR = 0; // 0x0
15985    field public static final int IFACE_IP_MODE_LOCAL_ONLY = 2; // 0x2
15986    field public static final int IFACE_IP_MODE_TETHERED = 1; // 0x1
15987    field public static final int IFACE_IP_MODE_UNSPECIFIED = -1; // 0xffffffff
15988    field public static final int MLO_MODE_DEFAULT = 0; // 0x0
15989    field public static final int MLO_MODE_HIGH_THROUGHPUT = 2; // 0x2
15990    field public static final int MLO_MODE_LOW_LATENCY = 1; // 0x1
15991    field public static final int MLO_MODE_LOW_POWER = 3; // 0x3
15992    field public static final int PASSPOINT_HOME_NETWORK = 0; // 0x0
15993    field public static final int PASSPOINT_ROAMING_NETWORK = 1; // 0x1
15994    field public static final int PNO_SCAN_STATE_DISABLED_UNTIL_REBOOT = 0; // 0x0
15995    field public static final int PNO_SCAN_STATE_DISABLED_UNTIL_WIFI_TOGGLE = 1; // 0x1
15996    field public static final int PNO_SCAN_STATE_ENABLED = 2; // 0x2
15997    field public static final int QOS_REQUEST_STATUS_ALREADY_ACTIVE = 1; // 0x1
15998    field public static final int QOS_REQUEST_STATUS_FAILURE_UNKNOWN = 4; // 0x4
15999    field public static final int QOS_REQUEST_STATUS_INSUFFICIENT_RESOURCES = 2; // 0x2
16000    field public static final int QOS_REQUEST_STATUS_INVALID_PARAMETERS = 3; // 0x3
16001    field public static final int QOS_REQUEST_STATUS_TRACKING = 0; // 0x0
16002    field public static final int SAP_CLIENT_BLOCK_REASON_CODE_BLOCKED_BY_USER = 0; // 0x0
16003    field public static final int SAP_CLIENT_BLOCK_REASON_CODE_NO_MORE_STAS = 1; // 0x1
16004    field public static final int SAP_START_FAILURE_GENERAL = 0; // 0x0
16005    field public static final int SAP_START_FAILURE_NO_CHANNEL = 1; // 0x1
16006    field public static final int SAP_START_FAILURE_UNSUPPORTED_CONFIGURATION = 2; // 0x2
16007    field public static final int SAP_START_FAILURE_USER_REJECTED = 3; // 0x3
16008    field public static final String TWT_CAPABILITIES_KEY_BOOLEAN_TWT_REQUESTER = "key_requester";
16009    field public static final String TWT_CAPABILITIES_KEY_INT_MAX_WAKE_DURATION_MICROS = "key_max_wake_duration";
16010    field public static final String TWT_CAPABILITIES_KEY_INT_MIN_WAKE_DURATION_MICROS = "key_min_wake_duration";
16011    field public static final String TWT_CAPABILITIES_KEY_LONG_MAX_WAKE_INTERVAL_MICROS = "key_max_wake_interval";
16012    field public static final String TWT_CAPABILITIES_KEY_LONG_MIN_WAKE_INTERVAL_MICROS = "key_min_wake_interval";
16013    field public static final int VERBOSE_LOGGING_LEVEL_DISABLED = 0; // 0x0
16014    field public static final int VERBOSE_LOGGING_LEVEL_ENABLED = 1; // 0x1
16015    field public static final int VERBOSE_LOGGING_LEVEL_ENABLED_SHOW_KEY = 2; // 0x2
16016    field public static final int VERBOSE_LOGGING_LEVEL_WIFI_AWARE_ENABLED_ONLY = 3; // 0x3
16017    field @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public static final String WIFI_AP_STATE_CHANGED_ACTION = "android.net.wifi.WIFI_AP_STATE_CHANGED";
16018    field public static final int WIFI_AP_STATE_DISABLED = 11; // 0xb
16019    field public static final int WIFI_AP_STATE_DISABLING = 10; // 0xa
16020    field public static final int WIFI_AP_STATE_ENABLED = 13; // 0xd
16021    field public static final int WIFI_AP_STATE_ENABLING = 12; // 0xc
16022    field public static final int WIFI_AP_STATE_FAILED = 14; // 0xe
16023    field public static final String WIFI_CREDENTIAL_CHANGED_ACTION = "android.net.wifi.WIFI_CREDENTIAL_CHANGED";
16024    field public static final int WIFI_CREDENTIAL_FORGOT = 1; // 0x1
16025    field public static final int WIFI_CREDENTIAL_SAVED = 0; // 0x0
16026  }
16027
16028  public static interface WifiManager.ActionListener {
16029    method public void onFailure(int);
16030    method public void onSuccess();
16031    field public static final int FAILURE_BUSY = 2; // 0x2
16032    field public static final int FAILURE_INTERNAL_ERROR = 0; // 0x0
16033    field public static final int FAILURE_INVALID_ARGS = 3; // 0x3
16034    field public static final int FAILURE_IN_PROGRESS = 1; // 0x1
16035    field public static final int FAILURE_NOT_AUTHORIZED = 4; // 0x4
16036  }
16037
16038  public static interface WifiManager.ActiveCountryCodeChangedCallback {
16039    method public void onActiveCountryCodeChanged(@NonNull String);
16040    method public void onCountryCodeInactive();
16041  }
16042
16043  public abstract static class WifiManager.CoexCallback {
16044    ctor public WifiManager.CoexCallback();
16045    method public abstract void onCoexUnsafeChannelsChanged(@NonNull java.util.List<android.net.wifi.CoexUnsafeChannel>, int);
16046  }
16047
16048  public static interface WifiManager.NetworkRequestMatchCallback {
16049    method public default void onAbort();
16050    method public default void onMatch(@NonNull java.util.List<android.net.wifi.ScanResult>);
16051    method public default void onUserSelectionCallbackRegistration(@NonNull android.net.wifi.WifiManager.NetworkRequestUserSelectionCallback);
16052    method public default void onUserSelectionConnectFailure(@NonNull android.net.wifi.WifiConfiguration);
16053    method public default void onUserSelectionConnectSuccess(@NonNull android.net.wifi.WifiConfiguration);
16054  }
16055
16056  public static interface WifiManager.NetworkRequestUserSelectionCallback {
16057    method public default void reject();
16058    method public default void select(@NonNull android.net.wifi.WifiConfiguration);
16059  }
16060
16061  public static interface WifiManager.OnWifiActivityEnergyInfoListener {
16062    method public void onWifiActivityEnergyInfo(@Nullable android.os.connectivity.WifiActivityEnergyInfo);
16063  }
16064
16065  public static interface WifiManager.OnWifiUsabilityStatsListener {
16066    method public void onWifiUsabilityStats(int, boolean, @NonNull android.net.wifi.WifiUsabilityStatsEntry);
16067  }
16068
16069  public static interface WifiManager.PnoScanResultsCallback {
16070    method public void onRegisterFailed(int);
16071    method public void onRegisterSuccess();
16072    method public void onRemoved(int);
16073    method public void onScanResultsAvailable(@NonNull java.util.List<android.net.wifi.ScanResult>);
16074    field public static final int REGISTER_PNO_CALLBACK_ALREADY_REGISTERED = 1; // 0x1
16075    field public static final int REGISTER_PNO_CALLBACK_PNO_NOT_SUPPORTED = 3; // 0x3
16076    field public static final int REGISTER_PNO_CALLBACK_RESOURCE_BUSY = 2; // 0x2
16077    field public static final int REGISTER_PNO_CALLBACK_UNKNOWN = 0; // 0x0
16078    field public static final int REMOVE_PNO_CALLBACK_RESULTS_DELIVERED = 1; // 0x1
16079    field public static final int REMOVE_PNO_CALLBACK_UNKNOWN = 0; // 0x0
16080    field public static final int REMOVE_PNO_CALLBACK_UNREGISTERED = 2; // 0x2
16081  }
16082
16083  public static interface WifiManager.ScoreUpdateObserver {
16084    method public default void blocklistCurrentBssid(int);
16085    method public void notifyScoreUpdate(int, int);
16086    method public default void notifyStatusUpdate(int, boolean);
16087    method public default void requestNudOperation(int);
16088    method public void triggerUpdateOfWifiUsabilityStats(int);
16089  }
16090
16091  public static class WifiManager.ScreenOnScanSchedule {
16092    ctor public WifiManager.ScreenOnScanSchedule(@NonNull java.time.Duration, int);
16093    method @NonNull public java.time.Duration getScanInterval();
16094    method public int getScanType();
16095  }
16096
16097  public static interface WifiManager.SoftApCallback {
16098    method public default void onBlockedClientConnecting(@NonNull android.net.wifi.WifiClient, int);
16099    method public default void onCapabilityChanged(@NonNull android.net.wifi.SoftApCapability);
16100    method public default void onClientsDisconnected(@NonNull android.net.wifi.SoftApInfo, @NonNull java.util.List<android.net.wifi.WifiClient>);
16101    method public default void onConnectedClientsChanged(@NonNull android.net.wifi.SoftApInfo, @NonNull java.util.List<android.net.wifi.WifiClient>);
16102    method @Deprecated public default void onConnectedClientsChanged(@NonNull java.util.List<android.net.wifi.WifiClient>);
16103    method @Deprecated public default void onInfoChanged(@NonNull android.net.wifi.SoftApInfo);
16104    method public default void onInfoChanged(@NonNull java.util.List<android.net.wifi.SoftApInfo>);
16105    method public default void onStateChanged(@NonNull android.net.wifi.SoftApState);
16106    method public default void onStateChanged(int, int);
16107  }
16108
16109  public static interface WifiManager.TrafficStateCallback {
16110    method public void onStateChanged(int);
16111    field public static final int DATA_ACTIVITY_IN = 1; // 0x1
16112    field public static final int DATA_ACTIVITY_INOUT = 3; // 0x3
16113    field public static final int DATA_ACTIVITY_NONE = 0; // 0x0
16114    field public static final int DATA_ACTIVITY_OUT = 2; // 0x2
16115  }
16116
16117  public static interface WifiManager.WifiConnectedNetworkScorer {
16118    method public default void onNetworkSwitchAccepted(int, int, @NonNull String);
16119    method public default void onNetworkSwitchRejected(int, int, @NonNull String);
16120    method public void onSetScoreUpdateObserver(@NonNull android.net.wifi.WifiManager.ScoreUpdateObserver);
16121    method public default void onStart(@NonNull android.net.wifi.WifiConnectedSessionInfo);
16122    method @Deprecated public default void onStart(int);
16123    method public void onStop(int);
16124  }
16125
16126  public static interface WifiManager.WifiLowLatencyLockListener {
16127    method public void onActivatedStateChanged(boolean);
16128    method public default void onActiveUsersChanged(@NonNull int[]);
16129    method public default void onOwnershipChanged(@NonNull int[]);
16130  }
16131
16132  public static interface WifiManager.WifiNetworkStateChangedListener {
16133    method public void onWifiNetworkStateChanged(int, int);
16134    field public static final int WIFI_NETWORK_STATUS_AUTHENTICATING = 4; // 0x4
16135    field public static final int WIFI_NETWORK_STATUS_CONNECTED = 6; // 0x6
16136    field public static final int WIFI_NETWORK_STATUS_CONNECTING = 3; // 0x3
16137    field public static final int WIFI_NETWORK_STATUS_DISCONNECTED = 7; // 0x7
16138    field public static final int WIFI_NETWORK_STATUS_FAILED = 8; // 0x8
16139    field public static final int WIFI_NETWORK_STATUS_IDLE = 1; // 0x1
16140    field public static final int WIFI_NETWORK_STATUS_OBTAINING_IPADDR = 5; // 0x5
16141    field public static final int WIFI_NETWORK_STATUS_SCANNING = 2; // 0x2
16142    field public static final int WIFI_ROLE_CLIENT_PRIMARY = 1; // 0x1
16143    field public static final int WIFI_ROLE_CLIENT_SECONDARY_INTERNET = 2; // 0x2
16144    field public static final int WIFI_ROLE_CLIENT_SECONDARY_LOCAL_ONLY = 3; // 0x3
16145  }
16146
16147  public static interface WifiManager.WifiVerboseLoggingStatusChangedListener {
16148    method public void onWifiVerboseLoggingStatusChanged(boolean);
16149  }
16150
16151  public final class WifiMigration {
16152    method @Nullable public static java.io.InputStream convertAndRetrieveSharedConfigStoreFile(int);
16153    method @Nullable public static java.io.InputStream convertAndRetrieveUserConfigStoreFile(int, @NonNull android.os.UserHandle);
16154    method @NonNull public static android.net.wifi.WifiMigration.SettingsMigrationData loadFromSettings(@NonNull android.content.Context);
16155    method public static void removeSharedConfigStoreFile(int);
16156    method public static void removeUserConfigStoreFile(int, @NonNull android.os.UserHandle);
16157    field public static final int STORE_FILE_SHARED_GENERAL = 0; // 0x0
16158    field public static final int STORE_FILE_SHARED_SOFTAP = 1; // 0x1
16159    field public static final int STORE_FILE_USER_GENERAL = 2; // 0x2
16160    field public static final int STORE_FILE_USER_NETWORK_SUGGESTIONS = 3; // 0x3
16161  }
16162
16163  public static final class WifiMigration.SettingsMigrationData implements android.os.Parcelable {
16164    method public int describeContents();
16165    method @Nullable public String getP2pDeviceName();
16166    method public boolean isP2pFactoryResetPending();
16167    method public boolean isScanAlwaysAvailable();
16168    method public boolean isScanThrottleEnabled();
16169    method public boolean isSoftApTimeoutEnabled();
16170    method public boolean isVerboseLoggingEnabled();
16171    method public boolean isWakeUpEnabled();
16172    method public void writeToParcel(@NonNull android.os.Parcel, int);
16173    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiMigration.SettingsMigrationData> CREATOR;
16174  }
16175
16176  public static final class WifiMigration.SettingsMigrationData.Builder {
16177    ctor public WifiMigration.SettingsMigrationData.Builder();
16178    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData build();
16179    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setP2pDeviceName(@Nullable String);
16180    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setP2pFactoryResetPending(boolean);
16181    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setScanAlwaysAvailable(boolean);
16182    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setScanThrottleEnabled(boolean);
16183    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setSoftApTimeoutEnabled(boolean);
16184    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setVerboseLoggingEnabled(boolean);
16185    method @NonNull public android.net.wifi.WifiMigration.SettingsMigrationData.Builder setWakeUpEnabled(boolean);
16186  }
16187
16188  @Deprecated public class WifiNetworkConnectionStatistics implements android.os.Parcelable {
16189    ctor @Deprecated public WifiNetworkConnectionStatistics();
16190    ctor @Deprecated public WifiNetworkConnectionStatistics(android.net.wifi.WifiNetworkConnectionStatistics);
16191    ctor @Deprecated public WifiNetworkConnectionStatistics(int, int);
16192    method @Deprecated public int describeContents();
16193    method @Deprecated public void writeToParcel(android.os.Parcel, int);
16194    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiNetworkConnectionStatistics> CREATOR;
16195    field @Deprecated public int numConnection;
16196    field @Deprecated public int numUsage;
16197  }
16198
16199  public final class WifiNetworkSelectionConfig implements android.os.Parcelable {
16200    method public int describeContents();
16201    method public int getAssociatedNetworkSelectionOverride();
16202    method @NonNull public android.util.SparseArray<java.lang.Integer> getFrequencyWeights();
16203    method @NonNull public int[] getRssiThresholds(int);
16204    method public boolean isLastSelectionWeightEnabled();
16205    method public boolean isSufficiencyCheckEnabledWhenScreenOff();
16206    method public boolean isSufficiencyCheckEnabledWhenScreenOn();
16207    method public boolean isUserConnectChoiceOverrideEnabled();
16208    method public void writeToParcel(@NonNull android.os.Parcel, int);
16209    field public static final int ASSOCIATED_NETWORK_SELECTION_OVERRIDE_DISABLED = 2; // 0x2
16210    field public static final int ASSOCIATED_NETWORK_SELECTION_OVERRIDE_ENABLED = 1; // 0x1
16211    field public static final int ASSOCIATED_NETWORK_SELECTION_OVERRIDE_NONE = 0; // 0x0
16212    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiNetworkSelectionConfig> CREATOR;
16213    field public static final int FREQUENCY_WEIGHT_HIGH = 1; // 0x1
16214    field public static final int FREQUENCY_WEIGHT_LOW = 0; // 0x0
16215  }
16216
16217  public static final class WifiNetworkSelectionConfig.Builder {
16218    ctor public WifiNetworkSelectionConfig.Builder();
16219    ctor public WifiNetworkSelectionConfig.Builder(@NonNull android.net.wifi.WifiNetworkSelectionConfig);
16220    method @NonNull public android.net.wifi.WifiNetworkSelectionConfig build();
16221    method @NonNull public android.net.wifi.WifiNetworkSelectionConfig.Builder setAssociatedNetworkSelectionOverride(int) throws java.lang.IllegalArgumentException;
16222    method @NonNull public android.net.wifi.WifiNetworkSelectionConfig.Builder setFrequencyWeights(@NonNull android.util.SparseArray<java.lang.Integer>) throws java.lang.IllegalArgumentException;
16223    method @NonNull public android.net.wifi.WifiNetworkSelectionConfig.Builder setLastSelectionWeightEnabled(boolean);
16224    method @NonNull public android.net.wifi.WifiNetworkSelectionConfig.Builder setRssiThresholds(int, @NonNull int[]) throws java.lang.IllegalArgumentException;
16225    method @NonNull public android.net.wifi.WifiNetworkSelectionConfig.Builder setSufficiencyCheckEnabledWhenScreenOff(boolean);
16226    method @NonNull public android.net.wifi.WifiNetworkSelectionConfig.Builder setSufficiencyCheckEnabledWhenScreenOn(boolean);
16227    method @NonNull public android.net.wifi.WifiNetworkSelectionConfig.Builder setUserConnectChoiceOverrideEnabled(boolean);
16228  }
16229
16230  public final class WifiNetworkSuggestion implements android.os.Parcelable {
16231    method public int getCarrierId();
16232    method @NonNull public android.net.wifi.WifiConfiguration getWifiConfiguration();
16233    method public boolean isOemPaid();
16234    method public boolean isOemPrivate();
16235  }
16236
16237  public static final class WifiNetworkSuggestion.Builder {
16238    method @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_CARRIER_PROVISIONING) public android.net.wifi.WifiNetworkSuggestion.Builder setCarrierId(int);
16239    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setOemPaid(boolean);
16240    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setOemPrivate(boolean);
16241  }
16242
16243  public class WifiScanner {
16244    method @Deprecated public void configureWifiChange(android.net.wifi.WifiScanner.WifiChangeSettings);
16245    method @Deprecated public void configureWifiChange(int, int, int, int, int, android.net.wifi.WifiScanner.BssidInfo[]);
16246    method @NonNull @RequiresPermission(android.Manifest.permission.NEARBY_WIFI_DEVICES) public java.util.List<java.lang.Integer> getAvailableChannels(int);
16247    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>);
16248    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public boolean getScanResults();
16249    method @NonNull @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public java.util.List<android.net.wifi.ScanResult> getSingleScanResults();
16250    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public boolean isScanning();
16251    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);
16252    method @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public void setScanningEnabled(boolean);
16253    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startBackgroundScan(android.net.wifi.WifiScanner.ScanSettings, android.net.wifi.WifiScanner.ScanListener);
16254    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startBackgroundScan(android.net.wifi.WifiScanner.ScanSettings, android.net.wifi.WifiScanner.ScanListener, android.os.WorkSource);
16255    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startScan(android.net.wifi.WifiScanner.ScanSettings, android.net.wifi.WifiScanner.ScanListener);
16256    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void startScan(android.net.wifi.WifiScanner.ScanSettings, android.net.wifi.WifiScanner.ScanListener, android.os.WorkSource);
16257    method @Deprecated public void startTrackingBssids(android.net.wifi.WifiScanner.BssidInfo[], int, android.net.wifi.WifiScanner.BssidListener);
16258    method @Deprecated public void startTrackingWifiChange(android.net.wifi.WifiScanner.WifiChangeListener);
16259    method @Deprecated @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void stopBackgroundScan(android.net.wifi.WifiScanner.ScanListener);
16260    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void stopScan(android.net.wifi.WifiScanner.ScanListener);
16261    method @Deprecated public void stopTrackingBssids(android.net.wifi.WifiScanner.BssidListener);
16262    method @Deprecated public void stopTrackingWifiChange(android.net.wifi.WifiScanner.WifiChangeListener);
16263    method public void unregisterScanListener(@NonNull android.net.wifi.WifiScanner.ScanListener);
16264    field public static final int MAX_SCAN_PERIOD_MS = 1024000; // 0xfa000
16265    field public static final int MIN_SCAN_PERIOD_MS = 1000; // 0x3e8
16266    field public static final int REASON_ABORT = -7; // 0xfffffff9
16267    field public static final int REASON_BUSY = -6; // 0xfffffffa
16268    field public static final int REASON_DUPLICATE_REQEUST = -5; // 0xfffffffb
16269    field public static final int REASON_INVALID_ARGS = -9; // 0xfffffff7
16270    field public static final int REASON_INVALID_LISTENER = -2; // 0xfffffffe
16271    field public static final int REASON_INVALID_REQUEST = -3; // 0xfffffffd
16272    field public static final int REASON_NOT_AUTHORIZED = -4; // 0xfffffffc
16273    field public static final int REASON_NO_DEVICE = -8; // 0xfffffff8
16274    field public static final int REASON_SUCCEEDED = 0; // 0x0
16275    field public static final int REASON_TIMEOUT = -10; // 0xfffffff6
16276    field public static final int REASON_UNSPECIFIED = -1; // 0xffffffff
16277    field @Deprecated public static final int REPORT_EVENT_AFTER_BUFFER_FULL = 0; // 0x0
16278    field public static final int REPORT_EVENT_AFTER_EACH_SCAN = 1; // 0x1
16279    field public static final int REPORT_EVENT_FULL_SCAN_RESULT = 2; // 0x2
16280    field public static final int REPORT_EVENT_NO_BATCH = 4; // 0x4
16281    field public static final int SCAN_TYPE_HIGH_ACCURACY = 2; // 0x2
16282    field public static final int SCAN_TYPE_LOW_LATENCY = 0; // 0x0
16283    field public static final int SCAN_TYPE_LOW_POWER = 1; // 0x1
16284    field public static final int WIFI_BAND_24_5_6_GHZ = 11; // 0xb
16285    field public static final int WIFI_BAND_24_5_WITH_DFS_6_GHZ = 15; // 0xf
16286    field public static final int WIFI_BAND_24_GHZ = 1; // 0x1
16287    field public static final int WIFI_BAND_5_GHZ = 2; // 0x2
16288    field public static final int WIFI_BAND_5_GHZ_DFS_ONLY = 4; // 0x4
16289    field public static final int WIFI_BAND_5_GHZ_WITH_DFS = 6; // 0x6
16290    field public static final int WIFI_BAND_60_GHZ = 16; // 0x10
16291    field public static final int WIFI_BAND_6_GHZ = 8; // 0x8
16292    field public static final int WIFI_BAND_BOTH = 3; // 0x3
16293    field public static final int WIFI_BAND_BOTH_WITH_DFS = 7; // 0x7
16294    field public static final int WIFI_BAND_UNSPECIFIED = 0; // 0x0
16295    field public static final int WIFI_RNR_ENABLED = 1; // 0x1
16296    field public static final int WIFI_RNR_ENABLED_IF_WIFI_BAND_6_GHZ_SCANNED = 0; // 0x0
16297    field public static final int WIFI_RNR_NOT_NEEDED = 2; // 0x2
16298  }
16299
16300  public static interface WifiScanner.ActionListener {
16301    method public void onFailure(int, String);
16302    method public void onSuccess();
16303  }
16304
16305  @Deprecated public static class WifiScanner.BssidInfo {
16306    ctor @Deprecated public WifiScanner.BssidInfo();
16307    field @Deprecated public String bssid;
16308    field @Deprecated public int frequencyHint;
16309    field @Deprecated public int high;
16310    field @Deprecated public int low;
16311  }
16312
16313  @Deprecated public static interface WifiScanner.BssidListener extends android.net.wifi.WifiScanner.ActionListener {
16314    method @Deprecated public void onFound(android.net.wifi.ScanResult[]);
16315    method @Deprecated public void onLost(android.net.wifi.ScanResult[]);
16316  }
16317
16318  public static class WifiScanner.ChannelSpec {
16319    ctor public WifiScanner.ChannelSpec(int);
16320    field public int frequency;
16321  }
16322
16323  @Deprecated public static class WifiScanner.HotlistSettings implements android.os.Parcelable {
16324    ctor @Deprecated public WifiScanner.HotlistSettings();
16325    method @Deprecated public int describeContents();
16326    method @Deprecated public void writeToParcel(android.os.Parcel, int);
16327    field @Deprecated public int apLostThreshold;
16328    field @Deprecated public android.net.wifi.WifiScanner.BssidInfo[] bssidInfos;
16329  }
16330
16331  public static class WifiScanner.ParcelableScanData implements android.os.Parcelable {
16332    ctor public WifiScanner.ParcelableScanData(android.net.wifi.WifiScanner.ScanData[]);
16333    method public int describeContents();
16334    method public android.net.wifi.WifiScanner.ScanData[] getResults();
16335    method public void writeToParcel(android.os.Parcel, int);
16336    field public android.net.wifi.WifiScanner.ScanData[] mResults;
16337  }
16338
16339  public static class WifiScanner.ParcelableScanResults implements android.os.Parcelable {
16340    ctor public WifiScanner.ParcelableScanResults(android.net.wifi.ScanResult[]);
16341    method public int describeContents();
16342    method public android.net.wifi.ScanResult[] getResults();
16343    method public void writeToParcel(android.os.Parcel, int);
16344    field public android.net.wifi.ScanResult[] mResults;
16345  }
16346
16347  public static class WifiScanner.ScanData implements android.os.Parcelable {
16348    ctor public WifiScanner.ScanData(android.net.wifi.WifiScanner.ScanData);
16349    ctor public WifiScanner.ScanData(int, int, android.net.wifi.ScanResult[]);
16350    method public int describeContents();
16351    method public int getFlags();
16352    method public int getId();
16353    method public android.net.wifi.ScanResult[] getResults();
16354    method public int getScannedBands();
16355    method public void writeToParcel(android.os.Parcel, int);
16356  }
16357
16358  public static interface WifiScanner.ScanListener extends android.net.wifi.WifiScanner.ActionListener {
16359    method public void onFullResult(android.net.wifi.ScanResult);
16360    method @Deprecated public void onPeriodChanged(int);
16361    method public void onResults(android.net.wifi.WifiScanner.ScanData[]);
16362  }
16363
16364  public static class WifiScanner.ScanSettings implements android.os.Parcelable {
16365    ctor public WifiScanner.ScanSettings();
16366    method public int describeContents();
16367    method public int getRnrSetting();
16368    method @NonNull public java.util.List<android.net.wifi.ScanResult.InformationElement> getVendorIes();
16369    method public boolean is6GhzPscOnlyEnabled();
16370    method public void set6GhzPscOnlyEnabled(boolean);
16371    method public void setRnrSetting(int);
16372    method public void setVendorIes(@NonNull java.util.List<android.net.wifi.ScanResult.InformationElement>);
16373    method public void writeToParcel(android.os.Parcel, int);
16374    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiScanner.ScanSettings> CREATOR;
16375    field public int band;
16376    field public android.net.wifi.WifiScanner.ChannelSpec[] channels;
16377    field @NonNull @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public final java.util.List<android.net.wifi.WifiScanner.ScanSettings.HiddenNetwork> hiddenNetworks;
16378    field public boolean hideFromAppOps;
16379    field public boolean ignoreLocationSettings;
16380    field @Deprecated public int maxPeriodInMs;
16381    field @Deprecated public int maxScansToCache;
16382    field @Deprecated public int numBssidsPerScan;
16383    field @Deprecated public int periodInMs;
16384    field @Deprecated public int reportEvents;
16385    field @Deprecated public int stepCount;
16386    field @RequiresPermission(android.Manifest.permission.NETWORK_STACK) public int type;
16387  }
16388
16389  public static class WifiScanner.ScanSettings.HiddenNetwork {
16390    ctor public WifiScanner.ScanSettings.HiddenNetwork(@NonNull String);
16391    field @NonNull public final String ssid;
16392  }
16393
16394  @Deprecated public static interface WifiScanner.WifiChangeListener extends android.net.wifi.WifiScanner.ActionListener {
16395    method @Deprecated public void onChanging(android.net.wifi.ScanResult[]);
16396    method @Deprecated public void onQuiescence(android.net.wifi.ScanResult[]);
16397  }
16398
16399  @Deprecated public static class WifiScanner.WifiChangeSettings implements android.os.Parcelable {
16400    ctor @Deprecated public WifiScanner.WifiChangeSettings();
16401    method @Deprecated public int describeContents();
16402    method @Deprecated public void writeToParcel(android.os.Parcel, int);
16403    field @Deprecated public android.net.wifi.WifiScanner.BssidInfo[] bssidInfos;
16404    field @Deprecated public int lostApSampleSize;
16405    field @Deprecated public int minApsBreachingThreshold;
16406    field @Deprecated public int periodInMs;
16407    field @Deprecated public int rssiSampleSize;
16408    field @Deprecated public int unchangedSampleSize;
16409  }
16410
16411  public class WifiUriParser {
16412    method @NonNull public static android.net.wifi.UriParserResults parseUri(@NonNull String);
16413  }
16414
16415  public final class WifiUsabilityStatsEntry implements android.os.Parcelable {
16416    method public int describeContents();
16417    method public int getCellularDataNetworkType();
16418    method public int getCellularSignalStrengthDb();
16419    method public int getCellularSignalStrengthDbm();
16420    method @IntRange(from=0xffffffff, to=255) public int getChannelUtilizationRatio();
16421    method @NonNull public android.net.wifi.WifiUsabilityStatsEntry.ContentionTimeStats getContentionTimeStats(int);
16422    method @NonNull public android.net.wifi.WifiUsabilityStatsEntry.ContentionTimeStats getContentionTimeStats(int, int);
16423    method @Nullable public int[] getLinkIds();
16424    method public int getLinkSpeedMbps();
16425    method public int getLinkState(int);
16426    method public int getProbeElapsedTimeSinceLastUpdateMillis();
16427    method public int getProbeMcsRateSinceLastUpdate();
16428    method public int getProbeStatusSinceLastUpdate();
16429    method public long getRadioId(int);
16430    method @NonNull public java.util.List<android.net.wifi.WifiUsabilityStatsEntry.RateStats> getRateStats();
16431    method @NonNull public java.util.List<android.net.wifi.WifiUsabilityStatsEntry.RateStats> getRateStats(int);
16432    method public int getRssi();
16433    method public int getRssi(int);
16434    method public int getRxLinkSpeedMbps();
16435    method public int getRxLinkSpeedMbps(int);
16436    method @IntRange(from=0, to=100) public int getTimeSliceDutyCycleInPercent();
16437    method @IntRange(from=0, to=100) public int getTimeSliceDutyCycleInPercent(int);
16438    method public long getTimeStampMillis();
16439    method public long getTotalBackgroundScanTimeMillis();
16440    method public long getTotalBeaconRx();
16441    method public long getTotalBeaconRx(int);
16442    method public long getTotalCcaBusyFreqTimeMillis();
16443    method public long getTotalCcaBusyFreqTimeMillis(int);
16444    method public long getTotalHotspot2ScanTimeMillis();
16445    method public long getTotalNanScanTimeMillis();
16446    method public long getTotalPnoScanTimeMillis();
16447    method public long getTotalRadioOnFreqTimeMillis();
16448    method public long getTotalRadioOnFreqTimeMillis(int);
16449    method public long getTotalRadioOnTimeMillis();
16450    method public long getTotalRadioRxTimeMillis();
16451    method public long getTotalRadioTxTimeMillis();
16452    method public long getTotalRoamScanTimeMillis();
16453    method public long getTotalRxSuccess();
16454    method public long getTotalRxSuccess(int);
16455    method public long getTotalScanTimeMillis();
16456    method public long getTotalTxBad();
16457    method public long getTotalTxBad(int);
16458    method public long getTotalTxRetries();
16459    method public long getTotalTxRetries(int);
16460    method public long getTotalTxSuccess();
16461    method public long getTotalTxSuccess(int);
16462    method public int getTxLinkSpeedMbps(int);
16463    method @NonNull public java.util.List<android.net.wifi.WifiUsabilityStatsEntry.RadioStats> getWifiLinkLayerRadioStats();
16464    method public boolean isCellularDataAvailable();
16465    method public boolean isSameRegisteredCell();
16466    method public boolean isThroughputSufficient();
16467    method public boolean isWifiScoringEnabled();
16468    method public void writeToParcel(android.os.Parcel, int);
16469    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiUsabilityStatsEntry> CREATOR;
16470    field public static final int LINK_STATE_IN_USE = 2; // 0x2
16471    field public static final int LINK_STATE_NOT_IN_USE = 1; // 0x1
16472    field public static final int LINK_STATE_UNKNOWN = 0; // 0x0
16473    field public static final int NUM_WME_ACCESS_CATEGORIES = 4; // 0x4
16474    field public static final int PROBE_STATUS_FAILURE = 3; // 0x3
16475    field public static final int PROBE_STATUS_NO_PROBE = 1; // 0x1
16476    field public static final int PROBE_STATUS_SUCCESS = 2; // 0x2
16477    field public static final int PROBE_STATUS_UNKNOWN = 0; // 0x0
16478    field public static final int WIFI_BANDWIDTH_10_MHZ = 6; // 0x6
16479    field public static final int WIFI_BANDWIDTH_160_MHZ = 3; // 0x3
16480    field public static final int WIFI_BANDWIDTH_20_MHZ = 0; // 0x0
16481    field public static final int WIFI_BANDWIDTH_320_MHZ = 7; // 0x7
16482    field public static final int WIFI_BANDWIDTH_40_MHZ = 1; // 0x1
16483    field public static final int WIFI_BANDWIDTH_5_MHZ = 5; // 0x5
16484    field public static final int WIFI_BANDWIDTH_80P80_MHZ = 4; // 0x4
16485    field public static final int WIFI_BANDWIDTH_80_MHZ = 2; // 0x2
16486    field public static final int WIFI_BANDWIDTH_INVALID = -1; // 0xffffffff
16487    field public static final int WIFI_PREAMBLE_CCK = 1; // 0x1
16488    field public static final int WIFI_PREAMBLE_EHT = 6; // 0x6
16489    field public static final int WIFI_PREAMBLE_HE = 5; // 0x5
16490    field public static final int WIFI_PREAMBLE_HT = 2; // 0x2
16491    field public static final int WIFI_PREAMBLE_INVALID = -1; // 0xffffffff
16492    field public static final int WIFI_PREAMBLE_OFDM = 0; // 0x0
16493    field public static final int WIFI_PREAMBLE_VHT = 3; // 0x3
16494    field public static final int WIFI_SPATIAL_STREAMS_FOUR = 4; // 0x4
16495    field public static final int WIFI_SPATIAL_STREAMS_INVALID = -1; // 0xffffffff
16496    field public static final int WIFI_SPATIAL_STREAMS_ONE = 1; // 0x1
16497    field public static final int WIFI_SPATIAL_STREAMS_THREE = 3; // 0x3
16498    field public static final int WIFI_SPATIAL_STREAMS_TWO = 2; // 0x2
16499    field public static final int WME_ACCESS_CATEGORY_BE = 0; // 0x0
16500    field public static final int WME_ACCESS_CATEGORY_BK = 1; // 0x1
16501    field public static final int WME_ACCESS_CATEGORY_VI = 2; // 0x2
16502    field public static final int WME_ACCESS_CATEGORY_VO = 3; // 0x3
16503  }
16504
16505  public static final class WifiUsabilityStatsEntry.ContentionTimeStats implements android.os.Parcelable {
16506    ctor public WifiUsabilityStatsEntry.ContentionTimeStats(long, long, long, long);
16507    method public int describeContents();
16508    method public long getContentionNumSamples();
16509    method public long getContentionTimeAvgMicros();
16510    method public long getContentionTimeMaxMicros();
16511    method public long getContentionTimeMinMicros();
16512    method public void writeToParcel(@NonNull android.os.Parcel, int);
16513    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiUsabilityStatsEntry.ContentionTimeStats> CREATOR;
16514  }
16515
16516  public static final class WifiUsabilityStatsEntry.RadioStats implements android.os.Parcelable {
16517    ctor public WifiUsabilityStatsEntry.RadioStats(int, long, long, long, long, long, long, long, long, long);
16518    method public int describeContents();
16519    method public long getRadioId();
16520    method public long getTotalBackgroundScanTimeMillis();
16521    method public long getTotalHotspot2ScanTimeMillis();
16522    method public long getTotalNanScanTimeMillis();
16523    method public long getTotalPnoScanTimeMillis();
16524    method public long getTotalRadioOnTimeMillis();
16525    method public long getTotalRadioRxTimeMillis();
16526    method public long getTotalRadioTxTimeMillis();
16527    method public long getTotalRoamScanTimeMillis();
16528    method public long getTotalScanTimeMillis();
16529    method public void writeToParcel(@NonNull android.os.Parcel, int);
16530    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiUsabilityStatsEntry.RadioStats> CREATOR;
16531  }
16532
16533  public static final class WifiUsabilityStatsEntry.RateStats implements android.os.Parcelable {
16534    ctor public WifiUsabilityStatsEntry.RateStats(int, int, int, int, int, int, int, int, int);
16535    method public int describeContents();
16536    method public int getBandwidthInMhz();
16537    method public int getBitRateInKbps();
16538    method public int getMpduLost();
16539    method public int getNumberOfSpatialStreams();
16540    method public int getPreamble();
16541    method public int getRateMcsIdx();
16542    method public int getRetries();
16543    method public int getRxMpdu();
16544    method public int getTxMpdu();
16545    method public void writeToParcel(@NonNull android.os.Parcel, int);
16546    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiUsabilityStatsEntry.RateStats> CREATOR;
16547  }
16548
16549}
16550
16551package android.net.wifi.aware {
16552
16553  public final class AwareParams implements android.os.Parcelable {
16554    ctor public AwareParams();
16555    method public int describeContents();
16556    method public int getDiscoveryBeaconIntervalMillis();
16557    method public int getDiscoveryWindowWakeInterval24Ghz();
16558    method public int getDiscoveryWindowWakeInterval5Ghz();
16559    method public int getMacRandomizationIntervalSeconds();
16560    method public int getNumSpatialStreamsInDiscovery();
16561    method public boolean isDwEarlyTerminationEnabled();
16562    method public void setDiscoveryBeaconIntervalMillis(@IntRange(from=1) int);
16563    method public void setDiscoveryWindowWakeInterval24Ghz(@IntRange(from=1, to=5) int);
16564    method public void setDiscoveryWindowWakeInterval5Ghz(@IntRange(from=0, to=5) int);
16565    method public void setDwEarlyTerminationEnabled(boolean);
16566    method public void setMacRandomizationIntervalSeconds(@IntRange(from=1, to=1800) int);
16567    method public void setNumSpatialStreamsInDiscovery(@IntRange(from=1) int);
16568    method public void writeToParcel(@NonNull android.os.Parcel, int);
16569    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.AwareParams> CREATOR;
16570    field public static final int UNSET_PARAMETER = -1; // 0xffffffff
16571  }
16572
16573  public final class Characteristics implements android.os.Parcelable {
16574    method public int getMaxSupportedRangingPacketBandwidth();
16575    method public int getMaxSupportedRxChains();
16576    method public boolean isPeriodicRangingSupported();
16577    field public static final int SUPPORTED_RX_CHAINS_1 = 1; // 0x1
16578    field public static final int SUPPORTED_RX_CHAINS_2 = 2; // 0x2
16579    field public static final int SUPPORTED_RX_CHAINS_3 = 3; // 0x3
16580    field public static final int SUPPORTED_RX_CHAINS_4 = 4; // 0x4
16581    field public static final int SUPPORTED_RX_CHAINS_UNSPECIFIED = 0; // 0x0
16582  }
16583
16584  public final class ConfigRequest implements android.os.Parcelable {
16585    method public int describeContents();
16586    method @NonNull public java.util.List<android.net.wifi.OuiKeyedData> getVendorData();
16587    method public void writeToParcel(@NonNull android.os.Parcel, int);
16588    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.ConfigRequest> CREATOR;
16589  }
16590
16591  public static final class ConfigRequest.Builder {
16592    ctor public ConfigRequest.Builder();
16593    method @NonNull public android.net.wifi.aware.ConfigRequest build();
16594    method @NonNull public android.net.wifi.aware.ConfigRequest.Builder setVendorData(@NonNull java.util.List<android.net.wifi.OuiKeyedData>);
16595  }
16596
16597  public class DiscoverySession implements java.lang.AutoCloseable {
16598    method @Deprecated public android.net.NetworkSpecifier createNetworkSpecifierPmk(@NonNull android.net.wifi.aware.PeerHandle, @NonNull byte[]);
16599    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public void resume();
16600    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public void suspend();
16601  }
16602
16603  public class DiscoverySessionCallback {
16604    method public void onRangingResultsReceived(@NonNull java.util.List<android.net.wifi.rtt.RangingResult>);
16605    method public void onSessionResumeFailed(int);
16606    method public void onSessionResumeSucceeded();
16607    method public void onSessionSuspendFailed(int);
16608    method public void onSessionSuspendSucceeded();
16609  }
16610
16611  public final class PublishConfig implements android.os.Parcelable {
16612    method @NonNull public java.util.List<android.net.wifi.OuiKeyedData> getVendorData();
16613    method public boolean isPeriodicRangingResultsEnabled();
16614    method public boolean isSuspendable();
16615  }
16616
16617  public static final class PublishConfig.Builder {
16618    method @NonNull public android.net.wifi.aware.PublishConfig.Builder setPeriodicRangingResultsEnabled(boolean);
16619    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public android.net.wifi.aware.PublishConfig.Builder setSuspendable(boolean);
16620    method @NonNull public android.net.wifi.aware.PublishConfig.Builder setVendorData(@NonNull java.util.List<android.net.wifi.OuiKeyedData>);
16621  }
16622
16623  public final class ServiceDiscoveryInfo {
16624    method @NonNull public java.util.List<android.net.wifi.OuiKeyedData> getVendorData();
16625  }
16626
16627  public final class SubscribeConfig implements android.os.Parcelable {
16628    method @IntRange(from=0) public int getCenterFreq0Mhz();
16629    method @IntRange(from=0) public int getCenterFreq1Mhz();
16630    method public int getChannelWidth();
16631    method @IntRange(from=0) public int getFrequencyMhz();
16632    method public int getPeriodicRangingInterval();
16633    method public int getPreamble();
16634    method public int getRttBurstSize();
16635    method @NonNull public java.util.List<android.net.wifi.OuiKeyedData> getVendorData();
16636    method public boolean isPeriodicRangingEnabled();
16637    method public boolean isSuspendable();
16638    field public static final int PERIODIC_RANGING_INTERVAL_1024TU = 1024; // 0x400
16639    field public static final int PERIODIC_RANGING_INTERVAL_128TU = 128; // 0x80
16640    field public static final int PERIODIC_RANGING_INTERVAL_2048TU = 2048; // 0x800
16641    field public static final int PERIODIC_RANGING_INTERVAL_256TU = 256; // 0x100
16642    field public static final int PERIODIC_RANGING_INTERVAL_4096TU = 4096; // 0x1000
16643    field public static final int PERIODIC_RANGING_INTERVAL_512TU = 512; // 0x200
16644    field public static final int PERIODIC_RANGING_INTERVAL_8192TU = 8192; // 0x2000
16645    field public static final int PERIODIC_RANGING_INTERVAL_NONE = 0; // 0x0
16646  }
16647
16648  public static final class SubscribeConfig.Builder {
16649    method @NonNull public android.net.wifi.aware.SubscribeConfig.Builder setCenterFreq0Mhz(@IntRange(from=0) int);
16650    method @NonNull public android.net.wifi.aware.SubscribeConfig.Builder setCenterFreq1Mhz(@IntRange(from=0) int);
16651    method @NonNull public android.net.wifi.aware.SubscribeConfig.Builder setChannelWidth(int);
16652    method @NonNull public android.net.wifi.aware.SubscribeConfig.Builder setFrequencyMhz(@IntRange(from=0) int);
16653    method @NonNull public android.net.wifi.aware.SubscribeConfig.Builder setPeriodicRangingEnabled(boolean);
16654    method @NonNull public android.net.wifi.aware.SubscribeConfig.Builder setPeriodicRangingInterval(int);
16655    method @NonNull public android.net.wifi.aware.SubscribeConfig.Builder setPreamble(int);
16656    method @NonNull public android.net.wifi.aware.SubscribeConfig.Builder setRttBurstSize(int);
16657    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public android.net.wifi.aware.SubscribeConfig.Builder setSuspendable(boolean);
16658    method @NonNull public android.net.wifi.aware.SubscribeConfig.Builder setVendorData(@NonNull java.util.List<android.net.wifi.OuiKeyedData>);
16659  }
16660
16661  public class WifiAwareManager {
16662    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);
16663    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);
16664    method @RequiresPermission(allOf={android.Manifest.permission.CHANGE_WIFI_STATE, android.Manifest.permission.OVERRIDE_WIFI_CONFIG}) public void enableInstantCommunicationMode(boolean);
16665    method @RequiresPermission(allOf={android.Manifest.permission.OVERRIDE_WIFI_CONFIG, android.Manifest.permission.CHANGE_WIFI_STATE}) public void setAwareParams(@Nullable android.net.wifi.aware.AwareParams);
16666    field public static final int WIFI_AWARE_RESUME_INTERNAL_ERROR = 2; // 0x2
16667    field public static final int WIFI_AWARE_RESUME_INVALID_SESSION = 1; // 0x1
16668    field public static final int WIFI_AWARE_RESUME_REDUNDANT_REQUEST = 0; // 0x0
16669    field public static final int WIFI_AWARE_SUSPEND_CANNOT_SUSPEND = 2; // 0x2
16670    field public static final int WIFI_AWARE_SUSPEND_INTERNAL_ERROR = 3; // 0x3
16671    field public static final int WIFI_AWARE_SUSPEND_INVALID_SESSION = 1; // 0x1
16672    field public static final int WIFI_AWARE_SUSPEND_REDUNDANT_REQUEST = 0; // 0x0
16673  }
16674
16675  public class WifiAwareSession implements java.lang.AutoCloseable {
16676    method @Deprecated public android.net.NetworkSpecifier createNetworkSpecifierPmk(int, @NonNull byte[], @NonNull byte[]);
16677    method @RequiresPermission(android.Manifest.permission.OVERRIDE_WIFI_CONFIG) public void getMasterPreference(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
16678    method @RequiresPermission(android.Manifest.permission.OVERRIDE_WIFI_CONFIG) public void setMasterPreference(@IntRange(from=0, to=254) int);
16679  }
16680
16681}
16682
16683package android.net.wifi.hotspot2 {
16684
16685  public final class OsuProvider implements android.os.Parcelable {
16686    method public int describeContents();
16687    method @Nullable public String getFriendlyName();
16688    method @Nullable public android.net.Uri getServerUri();
16689    method public void writeToParcel(android.os.Parcel, int);
16690    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.hotspot2.OsuProvider> CREATOR;
16691  }
16692
16693  public final class PasspointConfiguration implements android.os.Parcelable {
16694    method public int getMeteredOverride();
16695    method public boolean isAutojoinEnabled();
16696    method public boolean isMacRandomizationEnabled();
16697  }
16698
16699  public abstract class ProvisioningCallback {
16700    ctor public ProvisioningCallback();
16701    method public abstract void onProvisioningComplete();
16702    method public abstract void onProvisioningFailure(int);
16703    method public abstract void onProvisioningStatus(int);
16704    field public static final int OSU_FAILURE_ADD_PASSPOINT_CONFIGURATION = 22; // 0x16
16705    field public static final int OSU_FAILURE_AP_CONNECTION = 1; // 0x1
16706    field public static final int OSU_FAILURE_INVALID_URL_FORMAT_FOR_OSU = 8; // 0x8
16707    field public static final int OSU_FAILURE_NO_AAA_SERVER_TRUST_ROOT_NODE = 17; // 0x11
16708    field public static final int OSU_FAILURE_NO_AAA_TRUST_ROOT_CERTIFICATE = 21; // 0x15
16709    field public static final int OSU_FAILURE_NO_OSU_ACTIVITY_FOUND = 14; // 0xe
16710    field public static final int OSU_FAILURE_NO_POLICY_SERVER_TRUST_ROOT_NODE = 19; // 0x13
16711    field public static final int OSU_FAILURE_NO_PPS_MO = 16; // 0x10
16712    field public static final int OSU_FAILURE_NO_REMEDIATION_SERVER_TRUST_ROOT_NODE = 18; // 0x12
16713    field public static final int OSU_FAILURE_OSU_PROVIDER_NOT_FOUND = 23; // 0x17
16714    field public static final int OSU_FAILURE_PROVISIONING_ABORTED = 6; // 0x6
16715    field public static final int OSU_FAILURE_PROVISIONING_NOT_AVAILABLE = 7; // 0x7
16716    field public static final int OSU_FAILURE_RETRIEVE_TRUST_ROOT_CERTIFICATES = 20; // 0x14
16717    field public static final int OSU_FAILURE_SERVER_CONNECTION = 3; // 0x3
16718    field public static final int OSU_FAILURE_SERVER_URL_INVALID = 2; // 0x2
16719    field public static final int OSU_FAILURE_SERVER_VALIDATION = 4; // 0x4
16720    field public static final int OSU_FAILURE_SERVICE_PROVIDER_VERIFICATION = 5; // 0x5
16721    field public static final int OSU_FAILURE_SOAP_MESSAGE_EXCHANGE = 11; // 0xb
16722    field public static final int OSU_FAILURE_START_REDIRECT_LISTENER = 12; // 0xc
16723    field public static final int OSU_FAILURE_TIMED_OUT_REDIRECT_LISTENER = 13; // 0xd
16724    field public static final int OSU_FAILURE_UNEXPECTED_COMMAND_TYPE = 9; // 0x9
16725    field public static final int OSU_FAILURE_UNEXPECTED_SOAP_MESSAGE_STATUS = 15; // 0xf
16726    field public static final int OSU_FAILURE_UNEXPECTED_SOAP_MESSAGE_TYPE = 10; // 0xa
16727    field public static final int OSU_STATUS_AP_CONNECTED = 2; // 0x2
16728    field public static final int OSU_STATUS_AP_CONNECTING = 1; // 0x1
16729    field public static final int OSU_STATUS_INIT_SOAP_EXCHANGE = 6; // 0x6
16730    field public static final int OSU_STATUS_REDIRECT_RESPONSE_RECEIVED = 8; // 0x8
16731    field public static final int OSU_STATUS_RETRIEVING_TRUST_ROOT_CERTS = 11; // 0xb
16732    field public static final int OSU_STATUS_SECOND_SOAP_EXCHANGE = 9; // 0x9
16733    field public static final int OSU_STATUS_SERVER_CONNECTED = 5; // 0x5
16734    field public static final int OSU_STATUS_SERVER_CONNECTING = 3; // 0x3
16735    field public static final int OSU_STATUS_SERVER_VALIDATED = 4; // 0x4
16736    field public static final int OSU_STATUS_THIRD_SOAP_EXCHANGE = 10; // 0xa
16737    field public static final int OSU_STATUS_WAITING_FOR_REDIRECT_RESPONSE = 7; // 0x7
16738  }
16739
16740}
16741
16742package android.net.wifi.nl80211 {
16743
16744  public final class DeviceWiphyCapabilities implements android.os.Parcelable {
16745    ctor public DeviceWiphyCapabilities();
16746    method public int describeContents();
16747    method public int getMaxNumberAkms();
16748    method public int getMaxNumberRxSpatialStreams();
16749    method public int getMaxNumberTxSpatialStreams();
16750    method public boolean isChannelWidthSupported(int);
16751    method public boolean isWifiStandardSupported(int);
16752    method public void setWifiStandardSupport(int, boolean);
16753    method public void writeToParcel(@NonNull android.os.Parcel, int);
16754    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.DeviceWiphyCapabilities> CREATOR;
16755  }
16756
16757  public final class NativeScanResult implements android.os.Parcelable {
16758    ctor public NativeScanResult();
16759    method public int describeContents();
16760    method @Nullable public android.net.MacAddress getBssid();
16761    method public int getCapabilities();
16762    method public int getFrequencyMhz();
16763    method @NonNull public byte[] getInformationElements();
16764    method @NonNull public java.util.List<android.net.wifi.nl80211.RadioChainInfo> getRadioChainInfos();
16765    method public int getSignalMbm();
16766    method @NonNull public byte[] getSsid();
16767    method public long getTsf();
16768    method public boolean isAssociated();
16769    method public void writeToParcel(@NonNull android.os.Parcel, int);
16770    field public static final int BSS_CAPABILITY_APSD = 2048; // 0x800
16771    field public static final int BSS_CAPABILITY_CF_POLLABLE = 4; // 0x4
16772    field public static final int BSS_CAPABILITY_CF_POLL_REQUEST = 8; // 0x8
16773    field public static final int BSS_CAPABILITY_CHANNEL_AGILITY = 128; // 0x80
16774    field public static final int BSS_CAPABILITY_DELAYED_BLOCK_ACK = 16384; // 0x4000
16775    field public static final int BSS_CAPABILITY_DMG_ESS = 3; // 0x3
16776    field public static final int BSS_CAPABILITY_DMG_IBSS = 1; // 0x1
16777    field public static final int BSS_CAPABILITY_DSSS_OFDM = 8192; // 0x2000
16778    field public static final int BSS_CAPABILITY_ESS = 1; // 0x1
16779    field public static final int BSS_CAPABILITY_IBSS = 2; // 0x2
16780    field public static final int BSS_CAPABILITY_IMMEDIATE_BLOCK_ACK = 32768; // 0x8000
16781    field public static final int BSS_CAPABILITY_PBCC = 64; // 0x40
16782    field public static final int BSS_CAPABILITY_PRIVACY = 16; // 0x10
16783    field public static final int BSS_CAPABILITY_QOS = 512; // 0x200
16784    field public static final int BSS_CAPABILITY_RADIO_MANAGEMENT = 4096; // 0x1000
16785    field public static final int BSS_CAPABILITY_SHORT_PREAMBLE = 32; // 0x20
16786    field public static final int BSS_CAPABILITY_SHORT_SLOT_TIME = 1024; // 0x400
16787    field public static final int BSS_CAPABILITY_SPECTRUM_MANAGEMENT = 256; // 0x100
16788    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.NativeScanResult> CREATOR;
16789  }
16790
16791  public final class NativeWifiClient implements android.os.Parcelable {
16792    ctor public NativeWifiClient(@Nullable android.net.MacAddress);
16793    method public int describeContents();
16794    method @Nullable public android.net.MacAddress getMacAddress();
16795    method public void writeToParcel(@NonNull android.os.Parcel, int);
16796    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.NativeWifiClient> CREATOR;
16797  }
16798
16799  public final class PnoNetwork implements android.os.Parcelable {
16800    ctor public PnoNetwork();
16801    method public int describeContents();
16802    method @NonNull public int[] getFrequenciesMhz();
16803    method @NonNull public byte[] getSsid();
16804    method public boolean isHidden();
16805    method public void setFrequenciesMhz(@NonNull int[]);
16806    method public void setHidden(boolean);
16807    method public void setSsid(@NonNull byte[]);
16808    method public void writeToParcel(@NonNull android.os.Parcel, int);
16809    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.PnoNetwork> CREATOR;
16810  }
16811
16812  public final class PnoSettings implements android.os.Parcelable {
16813    ctor public PnoSettings();
16814    method public int describeContents();
16815    method public long getIntervalMillis();
16816    method public int getMin2gRssiDbm();
16817    method public int getMin5gRssiDbm();
16818    method public int getMin6gRssiDbm();
16819    method @NonNull public java.util.List<android.net.wifi.nl80211.PnoNetwork> getPnoNetworks();
16820    method public int getScanIntervalMultiplier();
16821    method public int getScanIterations();
16822    method public void setIntervalMillis(long);
16823    method public void setMin2gRssiDbm(int);
16824    method public void setMin5gRssiDbm(int);
16825    method public void setMin6gRssiDbm(int);
16826    method public void setPnoNetworks(@NonNull java.util.List<android.net.wifi.nl80211.PnoNetwork>);
16827    method public void setScanIntervalMultiplier(int);
16828    method public void setScanIterations(int);
16829    method public void writeToParcel(@NonNull android.os.Parcel, int);
16830    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.PnoSettings> CREATOR;
16831  }
16832
16833  public final class RadioChainInfo implements android.os.Parcelable {
16834    ctor public RadioChainInfo(int, int);
16835    method public int describeContents();
16836    method public int getChainId();
16837    method public int getLevelDbm();
16838    method public void writeToParcel(@NonNull android.os.Parcel, int);
16839    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.nl80211.RadioChainInfo> CREATOR;
16840  }
16841
16842  public class WifiNl80211Manager {
16843    ctor public WifiNl80211Manager(@NonNull android.content.Context, @NonNull android.os.IBinder);
16844    method public void abortScan(@NonNull String);
16845    method public void enableVerboseLogging(boolean);
16846    method @NonNull public int[] getChannelsMhzForBand(int);
16847    method @Nullable public android.net.wifi.nl80211.DeviceWiphyCapabilities getDeviceWiphyCapabilities(@NonNull String);
16848    method public int getMaxSsidsPerScan(@NonNull String);
16849    method @NonNull public java.util.List<android.net.wifi.nl80211.NativeScanResult> getScanResults(@NonNull String, int);
16850    method @Nullable public android.net.wifi.nl80211.WifiNl80211Manager.TxPacketCounters getTxPacketCounters(@NonNull String);
16851    method public void notifyCountryCodeChanged(@Nullable String);
16852    method @Nullable public static android.net.wifi.nl80211.WifiNl80211Manager.OemSecurityType parseOemSecurityTypeElement(int, int, @NonNull byte[]);
16853    method @Deprecated public boolean registerApCallback(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.nl80211.WifiNl80211Manager.SoftApCallback);
16854    method public boolean registerCountryCodeChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.nl80211.WifiNl80211Manager.CountryCodeChangedListener);
16855    method public void sendMgmtFrame(@NonNull String, @NonNull byte[], int, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.nl80211.WifiNl80211Manager.SendMgmtFrameCallback);
16856    method public void setOnServiceDeadCallback(@NonNull Runnable);
16857    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);
16858    method public boolean setupInterfaceForSoftApMode(@NonNull String);
16859    method @Deprecated @Nullable public android.net.wifi.nl80211.WifiNl80211Manager.SignalPollResult signalPoll(@NonNull String);
16860    method public boolean startPnoScan(@NonNull String, @NonNull android.net.wifi.nl80211.PnoSettings, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.nl80211.WifiNl80211Manager.PnoScanRequestCallback);
16861    method @Deprecated public boolean startScan(@NonNull String, int, @Nullable java.util.Set<java.lang.Integer>, @Nullable java.util.List<byte[]>);
16862    method @Deprecated public boolean startScan(@NonNull String, int, @Nullable java.util.Set<java.lang.Integer>, @Nullable java.util.List<byte[]>, @Nullable android.os.Bundle);
16863    method public int startScan2(@NonNull String, int, @Nullable java.util.Set<java.lang.Integer>, @Nullable java.util.List<byte[]>, @Nullable android.os.Bundle);
16864    method public boolean stopPnoScan(@NonNull String);
16865    method public boolean tearDownClientInterface(@NonNull String);
16866    method public boolean tearDownInterfaces();
16867    method public boolean tearDownSoftApInterface(@NonNull String);
16868    method public void unregisterCountryCodeChangedListener(@NonNull android.net.wifi.nl80211.WifiNl80211Manager.CountryCodeChangedListener);
16869    field public static final String EXTRA_SCANNING_PARAM_VENDOR_IES = "android.net.wifi.nl80211.extra.SCANNING_PARAM_VENDOR_IES";
16870    field public static final String SCANNING_PARAM_ENABLE_6GHZ_RNR = "android.net.wifi.nl80211.SCANNING_PARAM_ENABLE_6GHZ_RNR";
16871    field public static final int SCAN_TYPE_PNO_SCAN = 1; // 0x1
16872    field public static final int SCAN_TYPE_SINGLE_SCAN = 0; // 0x0
16873    field public static final int SEND_MGMT_FRAME_ERROR_ALREADY_STARTED = 5; // 0x5
16874    field public static final int SEND_MGMT_FRAME_ERROR_MCS_UNSUPPORTED = 2; // 0x2
16875    field public static final int SEND_MGMT_FRAME_ERROR_NO_ACK = 3; // 0x3
16876    field public static final int SEND_MGMT_FRAME_ERROR_TIMEOUT = 4; // 0x4
16877    field public static final int SEND_MGMT_FRAME_ERROR_UNKNOWN = 1; // 0x1
16878  }
16879
16880  public static interface WifiNl80211Manager.CountryCodeChangedListener {
16881    method public void onCountryCodeChanged(@NonNull String);
16882  }
16883
16884  public static class WifiNl80211Manager.OemSecurityType {
16885    ctor public WifiNl80211Manager.OemSecurityType(int, @NonNull java.util.List<java.lang.Integer>, @NonNull java.util.List<java.lang.Integer>, int);
16886    field public final int groupCipher;
16887    field @NonNull public final java.util.List<java.lang.Integer> keyManagement;
16888    field @NonNull public final java.util.List<java.lang.Integer> pairwiseCipher;
16889    field public final int protocol;
16890  }
16891
16892  public static interface WifiNl80211Manager.PnoScanRequestCallback {
16893    method public void onPnoRequestFailed();
16894    method public void onPnoRequestSucceeded();
16895  }
16896
16897  public static interface WifiNl80211Manager.ScanEventCallback {
16898    method @Deprecated public void onScanFailed();
16899    method public default void onScanFailed(int);
16900    method public void onScanResultReady();
16901  }
16902
16903  public static interface WifiNl80211Manager.SendMgmtFrameCallback {
16904    method public void onAck(int);
16905    method public void onFailure(int);
16906  }
16907
16908  @Deprecated public static class WifiNl80211Manager.SignalPollResult {
16909    field @Deprecated public final int associationFrequencyMHz;
16910    field @Deprecated public final int currentRssiDbm;
16911    field @Deprecated public final int rxBitrateMbps;
16912    field @Deprecated public final int txBitrateMbps;
16913  }
16914
16915  @Deprecated public static interface WifiNl80211Manager.SoftApCallback {
16916    method @Deprecated public void onConnectedClientsChanged(@NonNull android.net.wifi.nl80211.NativeWifiClient, boolean);
16917    method @Deprecated public void onFailure();
16918    method @Deprecated public void onSoftApChannelSwitched(int, int);
16919  }
16920
16921  public static class WifiNl80211Manager.TxPacketCounters {
16922    field public final int txPacketFailed;
16923    field public final int txPacketSucceeded;
16924  }
16925
16926}
16927
16928package android.net.wifi.p2p {
16929
16930  public class WifiP2pConfig implements android.os.Parcelable {
16931    method @NonNull public java.util.List<android.net.wifi.OuiKeyedData> getVendorData();
16932    method public boolean isJoinExistingGroup();
16933    method public void setVendorData(@NonNull java.util.List<android.net.wifi.OuiKeyedData>);
16934  }
16935
16936  public static final class WifiP2pConfig.Builder {
16937    method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder setJoinExistingGroup(boolean);
16938  }
16939
16940  public class WifiP2pDevice implements android.os.Parcelable {
16941    method @NonNull public java.util.List<android.net.wifi.OuiKeyedData> getVendorData();
16942    method public void setVendorData(@NonNull java.util.List<android.net.wifi.OuiKeyedData>);
16943  }
16944
16945  public final class WifiP2pDiscoveryConfig implements android.os.Parcelable {
16946    method @NonNull public java.util.List<android.net.wifi.OuiKeyedData> getVendorData();
16947  }
16948
16949  public static final class WifiP2pDiscoveryConfig.Builder {
16950    method @NonNull public android.net.wifi.p2p.WifiP2pDiscoveryConfig.Builder setVendorData(@NonNull java.util.List<android.net.wifi.OuiKeyedData>);
16951  }
16952
16953  public final class WifiP2pExtListenParams implements android.os.Parcelable {
16954    method public int describeContents();
16955    method @NonNull public java.util.List<android.net.wifi.OuiKeyedData> getVendorData();
16956    method public void writeToParcel(@NonNull android.os.Parcel, int);
16957    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pExtListenParams> CREATOR;
16958  }
16959
16960  public static final class WifiP2pExtListenParams.Builder {
16961    ctor public WifiP2pExtListenParams.Builder();
16962    method @NonNull public android.net.wifi.p2p.WifiP2pExtListenParams build();
16963    method @NonNull public android.net.wifi.p2p.WifiP2pExtListenParams.Builder setVendorData(@NonNull java.util.List<android.net.wifi.OuiKeyedData>);
16964  }
16965
16966  public class WifiP2pGroup implements android.os.Parcelable {
16967    method @NonNull public java.util.List<android.net.wifi.OuiKeyedData> getVendorData();
16968    method public void setVendorData(@NonNull java.util.List<android.net.wifi.OuiKeyedData>);
16969  }
16970
16971  public final class WifiP2pGroupList implements android.os.Parcelable {
16972    method public int describeContents();
16973    method @NonNull public java.util.List<android.net.wifi.p2p.WifiP2pGroup> getGroupList();
16974    method public void writeToParcel(@NonNull android.os.Parcel, int);
16975    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.p2p.WifiP2pGroupList> CREATOR;
16976  }
16977
16978  public class WifiP2pManager {
16979    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);
16980    method @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS) public void factoryReset(@NonNull android.net.wifi.p2p.WifiP2pManager.Channel, @Nullable android.net.wifi.p2p.WifiP2pManager.ActionListener);
16981    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);
16982    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);
16983    method @RequiresPermission(android.Manifest.permission.CONFIGURE_WIFI_DISPLAY) public void setMiracastMode(int);
16984    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);
16985    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);
16986    field public static final String ACTION_WIFI_P2P_PERSISTENT_GROUPS_CHANGED = "android.net.wifi.p2p.action.WIFI_P2P_PERSISTENT_GROUPS_CHANGED";
16987    field public static final int MIRACAST_DISABLED = 0; // 0x0
16988    field public static final int MIRACAST_SINK = 2; // 0x2
16989    field public static final int MIRACAST_SOURCE = 1; // 0x1
16990  }
16991
16992  public static interface WifiP2pManager.PersistentGroupInfoListener {
16993    method public void onPersistentGroupInfoAvailable(@NonNull android.net.wifi.p2p.WifiP2pGroupList);
16994  }
16995
16996  public static interface WifiP2pManager.WifiP2pListener {
16997    method public default void onPersistentGroupsChanged(@NonNull android.net.wifi.p2p.WifiP2pGroupList);
16998  }
16999
17000}
17001
17002package android.net.wifi.rtt {
17003
17004  public final class RangingRequest implements android.os.Parcelable {
17005    method @NonNull public java.util.List<android.net.wifi.rtt.ResponderConfig> getRttResponders();
17006    method @NonNull public java.util.List<android.net.wifi.OuiKeyedData> getVendorData();
17007  }
17008
17009  public static final class RangingRequest.Builder {
17010    method @NonNull public android.net.wifi.rtt.RangingRequest.Builder setVendorData(@NonNull java.util.List<android.net.wifi.OuiKeyedData>);
17011  }
17012
17013  public final class RangingResult implements android.os.Parcelable {
17014    method @NonNull public java.util.List<android.net.wifi.OuiKeyedData> getVendorData();
17015  }
17016
17017  public static final class RangingResult.Builder {
17018    method @NonNull public android.net.wifi.rtt.RangingResult.Builder setVendorData(@NonNull java.util.List<android.net.wifi.OuiKeyedData>);
17019  }
17020
17021  public final class ResponderConfig implements android.os.Parcelable {
17022    ctor public ResponderConfig(@NonNull android.net.MacAddress, int, boolean, int, int, int, int, int);
17023    ctor public ResponderConfig(@NonNull android.net.wifi.aware.PeerHandle, int, boolean, int, int, int, int, int);
17024    method @NonNull public static android.net.wifi.rtt.ResponderConfig fromWifiAwarePeerHandleWithDefaults(@NonNull android.net.wifi.aware.PeerHandle);
17025    method @NonNull public static android.net.wifi.rtt.ResponderConfig fromWifiAwarePeerMacAddressWithDefaults(@NonNull android.net.MacAddress);
17026    field public static final int CHANNEL_WIDTH_160MHZ = 3; // 0x3
17027    field public static final int CHANNEL_WIDTH_20MHZ = 0; // 0x0
17028    field public static final int CHANNEL_WIDTH_320MHZ = 5; // 0x5
17029    field public static final int CHANNEL_WIDTH_40MHZ = 1; // 0x1
17030    field public static final int CHANNEL_WIDTH_80MHZ = 2; // 0x2
17031    field public static final int CHANNEL_WIDTH_80MHZ_PLUS_MHZ = 4; // 0x4
17032    field public static final int PREAMBLE_EHT = 4; // 0x4
17033    field public static final int PREAMBLE_HE = 3; // 0x3
17034    field public static final int PREAMBLE_HT = 1; // 0x1
17035    field public static final int PREAMBLE_LEGACY = 0; // 0x0
17036    field public static final int PREAMBLE_VHT = 2; // 0x2
17037    field public static final int RESPONDER_AWARE = 4; // 0x4
17038    field public static final int RESPONDER_P2P_CLIENT = 3; // 0x3
17039    field public static final int RESPONDER_P2P_GO = 2; // 0x2
17040    field public final int centerFreq0;
17041    field public final int centerFreq1;
17042    field public final int channelWidth;
17043    field public final int frequency;
17044    field @Nullable public final android.net.MacAddress macAddress;
17045    field @Nullable public final android.net.wifi.aware.PeerHandle peerHandle;
17046    field public final int preamble;
17047    field public final int responderType;
17048    field public final boolean supports80211azNtb;
17049    field public final boolean supports80211mc;
17050  }
17051
17052  public final class ResponderLocation implements android.os.Parcelable {
17053    method public boolean getExtraInfoOnAssociationIndication();
17054  }
17055
17056  public class WifiRttManager {
17057    method @RequiresPermission(allOf={android.Manifest.permission.LOCATION_HARDWARE}) public void cancelRanging(@Nullable android.os.WorkSource);
17058    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);
17059  }
17060
17061}
17062
17063package android.net.wifi.sharedconnectivity.app {
17064
17065  public final class HotspotNetwork implements android.os.Parcelable {
17066    method public int describeContents();
17067    method public long getDeviceId();
17068    method @NonNull public android.os.Bundle getExtras();
17069    method public int getHostNetworkType();
17070    method @Nullable public String getHotspotBssid();
17071    method @NonNull public java.util.Set<java.lang.Integer> getHotspotSecurityTypes();
17072    method @Nullable public String getHotspotSsid();
17073    method @NonNull public String getNetworkName();
17074    method @NonNull public android.net.wifi.sharedconnectivity.app.NetworkProviderInfo getNetworkProviderInfo();
17075    method public void writeToParcel(@NonNull android.os.Parcel, int);
17076    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.sharedconnectivity.app.HotspotNetwork> CREATOR;
17077    field public static final int NETWORK_TYPE_CELLULAR = 1; // 0x1
17078    field public static final int NETWORK_TYPE_ETHERNET = 3; // 0x3
17079    field public static final int NETWORK_TYPE_UNKNOWN = 0; // 0x0
17080    field public static final int NETWORK_TYPE_WIFI = 2; // 0x2
17081  }
17082
17083  public static final class HotspotNetwork.Builder {
17084    ctor public HotspotNetwork.Builder();
17085    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetwork.Builder addHotspotSecurityType(int);
17086    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetwork build();
17087    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetwork.Builder setDeviceId(long);
17088    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetwork.Builder setExtras(@NonNull android.os.Bundle);
17089    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetwork.Builder setHostNetworkType(int);
17090    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetwork.Builder setHotspotBssid(@NonNull String);
17091    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetwork.Builder setHotspotSsid(@NonNull String);
17092    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetwork.Builder setNetworkName(@NonNull String);
17093    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetwork.Builder setNetworkProviderInfo(@NonNull android.net.wifi.sharedconnectivity.app.NetworkProviderInfo);
17094  }
17095
17096  public final class HotspotNetworkConnectionStatus implements android.os.Parcelable {
17097    method public int describeContents();
17098    method @NonNull public android.os.Bundle getExtras();
17099    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetwork getHotspotNetwork();
17100    method public int getStatus();
17101    method public void writeToParcel(@NonNull android.os.Parcel, int);
17102    field public static final int CONNECTION_STATUS_CONNECT_TO_HOTSPOT_FAILED = 9; // 0x9
17103    field public static final int CONNECTION_STATUS_ENABLING_HOTSPOT = 1; // 0x1
17104    field public static final int CONNECTION_STATUS_ENABLING_HOTSPOT_FAILED = 7; // 0x7
17105    field public static final int CONNECTION_STATUS_ENABLING_HOTSPOT_TIMEOUT = 8; // 0x8
17106    field public static final int CONNECTION_STATUS_NO_CELL_DATA = 6; // 0x6
17107    field public static final int CONNECTION_STATUS_PROVISIONING_FAILED = 3; // 0x3
17108    field public static final int CONNECTION_STATUS_TETHERING_TIMEOUT = 4; // 0x4
17109    field public static final int CONNECTION_STATUS_TETHERING_UNSUPPORTED = 5; // 0x5
17110    field public static final int CONNECTION_STATUS_UNKNOWN = 0; // 0x0
17111    field public static final int CONNECTION_STATUS_UNKNOWN_ERROR = 2; // 0x2
17112    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.sharedconnectivity.app.HotspotNetworkConnectionStatus> CREATOR;
17113  }
17114
17115  public static final class HotspotNetworkConnectionStatus.Builder {
17116    ctor public HotspotNetworkConnectionStatus.Builder();
17117    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetworkConnectionStatus build();
17118    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetworkConnectionStatus.Builder setExtras(@NonNull android.os.Bundle);
17119    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetworkConnectionStatus.Builder setHotspotNetwork(@NonNull android.net.wifi.sharedconnectivity.app.HotspotNetwork);
17120    method @NonNull public android.net.wifi.sharedconnectivity.app.HotspotNetworkConnectionStatus.Builder setStatus(int);
17121  }
17122
17123  public final class KnownNetwork implements android.os.Parcelable {
17124    method public int describeContents();
17125    method @NonNull public android.os.Bundle getExtras();
17126    method @Nullable public android.net.wifi.sharedconnectivity.app.NetworkProviderInfo getNetworkProviderInfo();
17127    method public int getNetworkSource();
17128    method @NonNull public java.util.Set<java.lang.Integer> getSecurityTypes();
17129    method @NonNull public String getSsid();
17130    method public void writeToParcel(@NonNull android.os.Parcel, int);
17131    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.sharedconnectivity.app.KnownNetwork> CREATOR;
17132    field public static final int NETWORK_SOURCE_CLOUD_SELF = 2; // 0x2
17133    field public static final int NETWORK_SOURCE_NEARBY_SELF = 1; // 0x1
17134    field public static final int NETWORK_SOURCE_UNKNOWN = 0; // 0x0
17135  }
17136
17137  public static final class KnownNetwork.Builder {
17138    ctor public KnownNetwork.Builder();
17139    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetwork.Builder addSecurityType(int);
17140    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetwork build();
17141    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetwork.Builder setExtras(@NonNull android.os.Bundle);
17142    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetwork.Builder setNetworkProviderInfo(@Nullable android.net.wifi.sharedconnectivity.app.NetworkProviderInfo);
17143    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetwork.Builder setNetworkSource(int);
17144    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetwork.Builder setSsid(@NonNull String);
17145  }
17146
17147  public final class KnownNetworkConnectionStatus implements android.os.Parcelable {
17148    method public int describeContents();
17149    method @NonNull public android.os.Bundle getExtras();
17150    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetwork getKnownNetwork();
17151    method public int getStatus();
17152    method public void writeToParcel(@NonNull android.os.Parcel, int);
17153    field public static final int CONNECTION_STATUS_SAVED = 1; // 0x1
17154    field public static final int CONNECTION_STATUS_SAVE_FAILED = 2; // 0x2
17155    field public static final int CONNECTION_STATUS_UNKNOWN = 0; // 0x0
17156    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.sharedconnectivity.app.KnownNetworkConnectionStatus> CREATOR;
17157  }
17158
17159  public static final class KnownNetworkConnectionStatus.Builder {
17160    ctor public KnownNetworkConnectionStatus.Builder();
17161    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetworkConnectionStatus build();
17162    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetworkConnectionStatus.Builder setExtras(@NonNull android.os.Bundle);
17163    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetworkConnectionStatus.Builder setKnownNetwork(@NonNull android.net.wifi.sharedconnectivity.app.KnownNetwork);
17164    method @NonNull public android.net.wifi.sharedconnectivity.app.KnownNetworkConnectionStatus.Builder setStatus(int);
17165  }
17166
17167  public final class NetworkProviderInfo implements android.os.Parcelable {
17168    method public int describeContents();
17169    method @IntRange(from=0, to=100) public int getBatteryPercentage();
17170    method @IntRange(from=0, to=4) public int getConnectionStrength();
17171    method @NonNull public String getDeviceName();
17172    method public int getDeviceType();
17173    method @NonNull public android.os.Bundle getExtras();
17174    method @NonNull public String getModelName();
17175    method public boolean isBatteryCharging();
17176    method public void writeToParcel(@NonNull android.os.Parcel, int);
17177    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.sharedconnectivity.app.NetworkProviderInfo> CREATOR;
17178    field public static final int DEVICE_TYPE_AUTO = 5; // 0x5
17179    field public static final int DEVICE_TYPE_LAPTOP = 3; // 0x3
17180    field public static final int DEVICE_TYPE_PHONE = 1; // 0x1
17181    field public static final int DEVICE_TYPE_TABLET = 2; // 0x2
17182    field public static final int DEVICE_TYPE_UNKNOWN = 0; // 0x0
17183    field public static final int DEVICE_TYPE_WATCH = 4; // 0x4
17184  }
17185
17186  public static final class NetworkProviderInfo.Builder {
17187    ctor public NetworkProviderInfo.Builder(@NonNull String, @NonNull String);
17188    method @NonNull public android.net.wifi.sharedconnectivity.app.NetworkProviderInfo build();
17189    method @NonNull public android.net.wifi.sharedconnectivity.app.NetworkProviderInfo.Builder setBatteryCharging(boolean);
17190    method @NonNull public android.net.wifi.sharedconnectivity.app.NetworkProviderInfo.Builder setBatteryPercentage(@IntRange(from=0, to=100) int);
17191    method @NonNull public android.net.wifi.sharedconnectivity.app.NetworkProviderInfo.Builder setConnectionStrength(@IntRange(from=0, to=4) int);
17192    method @NonNull public android.net.wifi.sharedconnectivity.app.NetworkProviderInfo.Builder setDeviceName(@NonNull String);
17193    method @NonNull public android.net.wifi.sharedconnectivity.app.NetworkProviderInfo.Builder setDeviceType(int);
17194    method @NonNull public android.net.wifi.sharedconnectivity.app.NetworkProviderInfo.Builder setExtras(@NonNull android.os.Bundle);
17195    method @NonNull public android.net.wifi.sharedconnectivity.app.NetworkProviderInfo.Builder setModelName(@NonNull String);
17196  }
17197
17198  public interface SharedConnectivityClientCallback {
17199    method public void onHotspotNetworkConnectionStatusChanged(@NonNull android.net.wifi.sharedconnectivity.app.HotspotNetworkConnectionStatus);
17200    method public void onHotspotNetworksUpdated(@NonNull java.util.List<android.net.wifi.sharedconnectivity.app.HotspotNetwork>);
17201    method public void onKnownNetworkConnectionStatusChanged(@NonNull android.net.wifi.sharedconnectivity.app.KnownNetworkConnectionStatus);
17202    method public void onKnownNetworksUpdated(@NonNull java.util.List<android.net.wifi.sharedconnectivity.app.KnownNetwork>);
17203    method public void onRegisterCallbackFailed(@NonNull Exception);
17204    method public void onServiceConnected();
17205    method public void onServiceDisconnected();
17206    method public void onSharedConnectivitySettingsChanged(@NonNull android.net.wifi.sharedconnectivity.app.SharedConnectivitySettingsState);
17207  }
17208
17209  public class SharedConnectivityManager {
17210    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public boolean connectHotspotNetwork(@NonNull android.net.wifi.sharedconnectivity.app.HotspotNetwork);
17211    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public boolean connectKnownNetwork(@NonNull android.net.wifi.sharedconnectivity.app.KnownNetwork);
17212    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public boolean disconnectHotspotNetwork(@NonNull android.net.wifi.sharedconnectivity.app.HotspotNetwork);
17213    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public boolean forgetKnownNetwork(@NonNull android.net.wifi.sharedconnectivity.app.KnownNetwork);
17214    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public android.net.wifi.sharedconnectivity.app.HotspotNetworkConnectionStatus getHotspotNetworkConnectionStatus();
17215    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();
17216    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public android.net.wifi.sharedconnectivity.app.KnownNetworkConnectionStatus getKnownNetworkConnectionStatus();
17217    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();
17218    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public android.net.wifi.sharedconnectivity.app.SharedConnectivitySettingsState getSettingsState();
17219    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);
17220    method @RequiresPermission(anyOf={android.Manifest.permission.NETWORK_SETTINGS, android.Manifest.permission.NETWORK_SETUP_WIZARD}) public boolean unregisterCallback(@NonNull android.net.wifi.sharedconnectivity.app.SharedConnectivityClientCallback);
17221  }
17222
17223  public final class SharedConnectivitySettingsState implements android.os.Parcelable {
17224    method public int describeContents();
17225    method @NonNull public android.os.Bundle getExtras();
17226    method @Nullable public android.app.PendingIntent getInstantTetherSettingsPendingIntent();
17227    method public boolean isInstantTetherEnabled();
17228    method public void writeToParcel(@NonNull android.os.Parcel, int);
17229    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.sharedconnectivity.app.SharedConnectivitySettingsState> CREATOR;
17230  }
17231
17232  public static final class SharedConnectivitySettingsState.Builder {
17233    ctor public SharedConnectivitySettingsState.Builder();
17234    method @NonNull public android.net.wifi.sharedconnectivity.app.SharedConnectivitySettingsState build();
17235    method @NonNull public android.net.wifi.sharedconnectivity.app.SharedConnectivitySettingsState.Builder setExtras(@NonNull android.os.Bundle);
17236    method @NonNull public android.net.wifi.sharedconnectivity.app.SharedConnectivitySettingsState.Builder setInstantTetherEnabled(boolean);
17237    method @NonNull public android.net.wifi.sharedconnectivity.app.SharedConnectivitySettingsState.Builder setInstantTetherSettingsPendingIntent(@NonNull android.app.PendingIntent);
17238  }
17239
17240}
17241
17242package android.net.wifi.sharedconnectivity.service {
17243
17244  public abstract class SharedConnectivityService extends android.app.Service {
17245    ctor public SharedConnectivityService();
17246    method public static boolean areHotspotNetworksEnabledForService(@NonNull android.content.Context);
17247    method public static boolean areKnownNetworksEnabledForService(@NonNull android.content.Context);
17248    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
17249    method public abstract void onConnectHotspotNetwork(@NonNull android.net.wifi.sharedconnectivity.app.HotspotNetwork);
17250    method public abstract void onConnectKnownNetwork(@NonNull android.net.wifi.sharedconnectivity.app.KnownNetwork);
17251    method public abstract void onDisconnectHotspotNetwork(@NonNull android.net.wifi.sharedconnectivity.app.HotspotNetwork);
17252    method public abstract void onForgetKnownNetwork(@NonNull android.net.wifi.sharedconnectivity.app.KnownNetwork);
17253    method public final void setHotspotNetworks(@NonNull java.util.List<android.net.wifi.sharedconnectivity.app.HotspotNetwork>);
17254    method public final void setKnownNetworks(@NonNull java.util.List<android.net.wifi.sharedconnectivity.app.KnownNetwork>);
17255    method public final void setSettingsState(@NonNull android.net.wifi.sharedconnectivity.app.SharedConnectivitySettingsState);
17256    method public final void updateHotspotNetworkConnectionStatus(@NonNull android.net.wifi.sharedconnectivity.app.HotspotNetworkConnectionStatus);
17257    method public final void updateKnownNetworkConnectionStatus(@NonNull android.net.wifi.sharedconnectivity.app.KnownNetworkConnectionStatus);
17258  }
17259
17260}
17261
17262package android.net.wifi.twt {
17263
17264  public final class TwtRequest implements android.os.Parcelable {
17265    method public int describeContents();
17266    method @IntRange(from=android.net.wifi.MloLink.INVALID_MLO_LINK_ID, to=0xf) public int getLinkId();
17267    method public int getMaxWakeDurationMicros();
17268    method public long getMaxWakeIntervalMicros();
17269    method public int getMinWakeDurationMicros();
17270    method public long getMinWakeIntervalMicros();
17271    method public void writeToParcel(@NonNull android.os.Parcel, int);
17272    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.twt.TwtRequest> CREATOR;
17273  }
17274
17275  public static final class TwtRequest.Builder {
17276    ctor public TwtRequest.Builder(int, int, long, long);
17277    method @NonNull public android.net.wifi.twt.TwtRequest build();
17278    method @NonNull public android.net.wifi.twt.TwtRequest.Builder setLinkId(@IntRange(from=0x0, to=0xf) int);
17279  }
17280
17281  public interface TwtSession {
17282    method public int getMloLinkId();
17283    method public void getStats(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.os.Bundle>);
17284    method public int getWakeDurationMicros();
17285    method public long getWakeIntervalMicros();
17286    method public void teardown();
17287    field public static final String TWT_STATS_KEY_INT_AVERAGE_EOSP_DURATION_MICROS = "key_avg_eosp_dur";
17288    field public static final String TWT_STATS_KEY_INT_AVERAGE_RX_PACKET_COUNT = "key_avg_rx_pkt_count";
17289    field public static final String TWT_STATS_KEY_INT_AVERAGE_RX_PACKET_SIZE = "key_avg_rx_pkt_size";
17290    field public static final String TWT_STATS_KEY_INT_AVERAGE_TX_PACKET_COUNT = "key_avg_tx_pkt_count";
17291    field public static final String TWT_STATS_KEY_INT_AVERAGE_TX_PACKET_SIZE = "key_avg_tx_pkt_size";
17292    field public static final String TWT_STATS_KEY_INT_EOSP_COUNT = "key_eosp_count";
17293  }
17294
17295  public interface TwtSessionCallback {
17296    method public void onCreate(@NonNull android.net.wifi.twt.TwtSession);
17297    method public void onFailure(int);
17298    method public void onTeardown(int);
17299    field public static final int TWT_ERROR_CODE_AP_NOT_SUPPORTED = 1; // 0x1
17300    field public static final int TWT_ERROR_CODE_AP_OUI_BLOCKLISTED = 2; // 0x2
17301    field public static final int TWT_ERROR_CODE_AP_REJECTED = 3; // 0x3
17302    field public static final int TWT_ERROR_CODE_FAIL = 0; // 0x0
17303    field public static final int TWT_ERROR_CODE_INVALID_PARAMS = 4; // 0x4
17304    field public static final int TWT_ERROR_CODE_MAX_SESSIONS_REACHED = 5; // 0x5
17305    field public static final int TWT_ERROR_CODE_NOT_AVAILABLE = 6; // 0x6
17306    field public static final int TWT_ERROR_CODE_NOT_SUPPORTED = 7; // 0x7
17307    field public static final int TWT_ERROR_CODE_TIMEOUT = 8; // 0x8
17308    field public static final int TWT_REASON_CODE_INTERNALLY_INITIATED = 2; // 0x2
17309    field public static final int TWT_REASON_CODE_LOCALLY_REQUESTED = 1; // 0x1
17310    field public static final int TWT_REASON_CODE_PEER_INITIATED = 3; // 0x3
17311    field public static final int TWT_REASON_CODE_UNKNOWN = 0; // 0x0
17312  }
17313
17314}
17315
17316package android.net.wifi.usd {
17317
17318  public final class Characteristics implements android.os.Parcelable {
17319    method public int describeContents();
17320    method public int getMaxMatchFilterLength();
17321    method public int getMaxNumberOfPublishSessions();
17322    method public int getMaxNumberOfSubscribeSessions();
17323    method public int getMaxServiceNameLength();
17324    method public int getMaxServiceSpecificInfoLength();
17325    method public void writeToParcel(@NonNull android.os.Parcel, int);
17326    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.usd.Characteristics> CREATOR;
17327  }
17328
17329  public abstract class Config {
17330    method @Nullable public int[] getOperatingFrequenciesMhz();
17331    method @NonNull public java.util.List<byte[]> getRxMatchFilter();
17332    method @NonNull public byte[] getServiceName();
17333    method public int getServiceProtoType();
17334    method @Nullable public byte[] getServiceSpecificInfo();
17335    method @IntRange(from=0) public int getTtlSeconds();
17336    method @NonNull public java.util.List<byte[]> getTxMatchFilter();
17337    field public static final int SERVICE_PROTO_TYPE_CSA_MATTER = 1; // 0x1
17338    field public static final int SERVICE_PROTO_TYPE_GENERIC = 0; // 0x0
17339    field public static final int SUBSCRIBE_TYPE_ACTIVE = 1; // 0x1
17340    field public static final int SUBSCRIBE_TYPE_PASSIVE = 0; // 0x0
17341    field public static final int TRANSMISSION_TYPE_MULTICAST = 1; // 0x1
17342    field public static final int TRANSMISSION_TYPE_UNICAST = 0; // 0x0
17343  }
17344
17345  public class DiscoveryResult {
17346    method public int getPeerId();
17347    method public int getServiceProtoType();
17348    method @Nullable public byte[] getServiceSpecificInfo();
17349    method public boolean isFsdEnabled();
17350  }
17351
17352  public static final class DiscoveryResult.Builder {
17353    ctor public DiscoveryResult.Builder(int);
17354    method @NonNull public android.net.wifi.usd.DiscoveryResult build();
17355    method @NonNull public android.net.wifi.usd.DiscoveryResult.Builder setFsdEnabled(boolean);
17356    method @NonNull public android.net.wifi.usd.DiscoveryResult.Builder setServiceProtoType(int);
17357    method @NonNull public android.net.wifi.usd.DiscoveryResult.Builder setServiceSpecificInfo(@NonNull byte[]);
17358  }
17359
17360  public final class PublishConfig extends android.net.wifi.usd.Config implements android.os.Parcelable {
17361    method public int describeContents();
17362    method @IntRange(from=0) public int getAnnouncementPeriodMillis();
17363    method public int getSolicitedTransmissionType();
17364    method public boolean isEventsEnabled();
17365    method public void writeToParcel(@NonNull android.os.Parcel, int);
17366    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.usd.PublishConfig> CREATOR;
17367  }
17368
17369  public static final class PublishConfig.Builder {
17370    ctor public PublishConfig.Builder(@NonNull String);
17371    method @NonNull public android.net.wifi.usd.PublishConfig build();
17372    method @NonNull public android.net.wifi.usd.PublishConfig.Builder setAnnouncementPeriodMillis(@IntRange(from=0) int);
17373    method @NonNull public android.net.wifi.usd.PublishConfig.Builder setEventsEnabled(boolean);
17374    method @NonNull public android.net.wifi.usd.PublishConfig.Builder setOperatingFrequenciesMhz(@NonNull int[]);
17375    method @NonNull public android.net.wifi.usd.PublishConfig.Builder setRxMatchFilter(@NonNull java.util.List<byte[]>);
17376    method @NonNull public android.net.wifi.usd.PublishConfig.Builder setServiceProtoType(int);
17377    method @NonNull public android.net.wifi.usd.PublishConfig.Builder setServiceSpecificInfo(@NonNull byte[]);
17378    method @NonNull public android.net.wifi.usd.PublishConfig.Builder setSolicitedTransmissionType(int);
17379    method @NonNull public android.net.wifi.usd.PublishConfig.Builder setTtlSeconds(@IntRange(from=0) int);
17380    method @NonNull public android.net.wifi.usd.PublishConfig.Builder setTxMatchFilter(@NonNull java.util.List<byte[]>);
17381  }
17382
17383  public class PublishSession {
17384    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public void cancel();
17385    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public void sendMessage(int, @NonNull byte[], @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
17386    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public void updatePublish(@NonNull byte[]);
17387  }
17388
17389  public class PublishSessionCallback extends android.net.wifi.usd.SessionCallback {
17390    ctor public PublishSessionCallback();
17391    method public void onPublishFailed(int);
17392    method public void onPublishReplied(@NonNull android.net.wifi.usd.DiscoveryResult);
17393    method public void onPublishStarted(@NonNull android.net.wifi.usd.PublishSession);
17394  }
17395
17396  public abstract class SessionCallback {
17397    ctor public SessionCallback();
17398    method public void onMessageReceived(int, @Nullable byte[]);
17399    method public void onSessionTerminated(int);
17400    field public static final int FAILURE_MAX_SESSIONS_REACHED = 3; // 0x3
17401    field public static final int FAILURE_NOT_AVAILABLE = 2; // 0x2
17402    field public static final int FAILURE_TIMEOUT = 1; // 0x1
17403    field public static final int FAILURE_UNKNOWN = 0; // 0x0
17404    field public static final int TERMINATION_REASON_NOT_AVAILABLE = 1; // 0x1
17405    field public static final int TERMINATION_REASON_UNKNOWN = 0; // 0x0
17406    field public static final int TERMINATION_REASON_USER_INITIATED = 2; // 0x2
17407  }
17408
17409  public final class SubscribeConfig extends android.net.wifi.usd.Config implements android.os.Parcelable {
17410    method public int describeContents();
17411    method @IntRange(from=0) public int getQueryPeriodMillis();
17412    method @Nullable public int[] getRecommendedOperatingFrequenciesMhz();
17413    method public int getSubscribeType();
17414    method public void writeToParcel(@NonNull android.os.Parcel, int);
17415    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.usd.SubscribeConfig> CREATOR;
17416  }
17417
17418  public static final class SubscribeConfig.Builder {
17419    ctor public SubscribeConfig.Builder(@NonNull String);
17420    method @NonNull public android.net.wifi.usd.SubscribeConfig build();
17421    method @NonNull public android.net.wifi.usd.SubscribeConfig.Builder setOperatingFrequenciesMhz(@NonNull int[]);
17422    method @NonNull public android.net.wifi.usd.SubscribeConfig.Builder setQueryPeriodMillis(@IntRange(from=0) int);
17423    method @NonNull public android.net.wifi.usd.SubscribeConfig.Builder setRecommendedOperatingFrequenciesMhz(@NonNull int[]);
17424    method @NonNull public android.net.wifi.usd.SubscribeConfig.Builder setRxMatchFilter(@NonNull java.util.List<byte[]>);
17425    method @NonNull public android.net.wifi.usd.SubscribeConfig.Builder setServiceProtoType(int);
17426    method @NonNull public android.net.wifi.usd.SubscribeConfig.Builder setServiceSpecificInfo(@NonNull byte[]);
17427    method @NonNull public android.net.wifi.usd.SubscribeConfig.Builder setSubscribeType(int);
17428    method @NonNull public android.net.wifi.usd.SubscribeConfig.Builder setTtlSeconds(@IntRange(from=0) int);
17429    method @NonNull public android.net.wifi.usd.SubscribeConfig.Builder setTxMatchFilter(@NonNull java.util.List<byte[]>);
17430  }
17431
17432  public class SubscribeSession {
17433    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public void cancel();
17434    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public void sendMessage(int, @NonNull byte[], @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
17435  }
17436
17437  public class SubscribeSessionCallback extends android.net.wifi.usd.SessionCallback {
17438    ctor public SubscribeSessionCallback();
17439    method public void onServiceDiscovered(@NonNull android.net.wifi.usd.DiscoveryResult);
17440    method public void onSubscribeFailed(int);
17441    method public void onSubscribeStarted(@NonNull android.net.wifi.usd.SubscribeSession);
17442  }
17443
17444  public class UsdManager {
17445    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public android.net.wifi.usd.Characteristics getCharacteristics();
17446    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public void publish(@NonNull android.net.wifi.usd.PublishConfig, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.usd.PublishSessionCallback);
17447    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public void registerPublisherStatusListener(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
17448    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public void registerSubscriberStatusListener(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
17449    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public void subscribe(@NonNull android.net.wifi.usd.SubscribeConfig, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.usd.SubscribeSessionCallback);
17450    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public void unregisterPublisherStatusListener(@NonNull java.util.function.Consumer<java.lang.Boolean>);
17451    method @RequiresPermission(android.Manifest.permission.MANAGE_WIFI_NETWORK_SELECTION) public void unregisterSubscriberStatusListener(@NonNull java.util.function.Consumer<java.lang.Boolean>);
17452  }
17453
17454}
17455
17456package android.nfc {
17457
17458  public final class NfcAdapter {
17459    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean addNfcUnlockHandler(android.nfc.NfcAdapter.NfcUnlockHandler, String[]);
17460    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean disable(boolean);
17461    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean enableReaderOption(boolean);
17462    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean enableSecureNfc(boolean);
17463    method public int getAdapterState();
17464    method @NonNull public android.nfc.NfcOemExtension getNfcOemExtension();
17465    method @NonNull @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public java.util.Map<java.lang.String,java.lang.Boolean> getTagIntentAppPreferenceForUser(int);
17466    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public boolean isControllerAlwaysOn();
17467    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public boolean isControllerAlwaysOnSupported();
17468    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public void registerControllerAlwaysOnListener(@NonNull java.util.concurrent.Executor, @NonNull android.nfc.NfcAdapter.ControllerAlwaysOnListener);
17469    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void registerNfcVendorNciCallback(@NonNull java.util.concurrent.Executor, @NonNull android.nfc.NfcAdapter.NfcVendorNciCallback);
17470    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean removeNfcUnlockHandler(android.nfc.NfcAdapter.NfcUnlockHandler);
17471    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public int sendVendorNciMessage(int, @IntRange(from=0, to=15) int, @IntRange(from=0) int, @NonNull byte[]);
17472    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public boolean setControllerAlwaysOn(boolean);
17473    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void setReaderModePollingEnabled(boolean);
17474    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public int setTagIntentAppPreferenceForUser(int, @NonNull String, boolean);
17475    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public void unregisterControllerAlwaysOnListener(@NonNull android.nfc.NfcAdapter.ControllerAlwaysOnListener);
17476    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void unregisterNfcVendorNciCallback(@NonNull android.nfc.NfcAdapter.NfcVendorNciCallback);
17477    field public static final String ACTION_REQUIRE_UNLOCK_FOR_NFC = "android.nfc.action.REQUIRE_UNLOCK_FOR_NFC";
17478    field @RequiresPermission(android.Manifest.permission.SHOW_CUSTOMIZED_RESOLVER) public static final String ACTION_SHOW_NFC_RESOLVER = "android.nfc.action.SHOW_NFC_RESOLVER";
17479    field public static final String EXTRA_RESOLVE_INFOS = "android.nfc.extra.RESOLVE_INFOS";
17480    field @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public static final int FLAG_SET_DEFAULT_TECH = 1073741824; // 0x40000000
17481    field public static final int MESSAGE_TYPE_COMMAND = 1; // 0x1
17482    field public static final int SEND_VENDOR_NCI_STATUS_FAILED = 3; // 0x3
17483    field public static final int SEND_VENDOR_NCI_STATUS_MESSAGE_CORRUPTED = 2; // 0x2
17484    field public static final int SEND_VENDOR_NCI_STATUS_REJECTED = 1; // 0x1
17485    field public static final int SEND_VENDOR_NCI_STATUS_SUCCESS = 0; // 0x0
17486    field public static final int TAG_INTENT_APP_PREF_RESULT_PACKAGE_NOT_FOUND = -1; // 0xffffffff
17487    field public static final int TAG_INTENT_APP_PREF_RESULT_SUCCESS = 0; // 0x0
17488    field public static final int TAG_INTENT_APP_PREF_RESULT_UNAVAILABLE = -2; // 0xfffffffe
17489  }
17490
17491  public static interface NfcAdapter.ControllerAlwaysOnListener {
17492    method public void onControllerAlwaysOnChanged(boolean);
17493  }
17494
17495  public static interface NfcAdapter.NfcUnlockHandler {
17496    method public boolean onUnlockAttempted(android.nfc.Tag);
17497  }
17498
17499  public static interface NfcAdapter.NfcVendorNciCallback {
17500    method public void onVendorNciNotification(@IntRange(from=9, to=15) int, int, @NonNull byte[]);
17501    method public void onVendorNciResponse(@IntRange(from=0, to=15) int, int, @NonNull byte[]);
17502  }
17503
17504  public final class NfcOemExtension {
17505    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void clearPreference();
17506    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public int forceRoutingTableCommit();
17507    method @NonNull public java.util.Map<java.lang.String,java.lang.Integer> getActiveNfceeList();
17508    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public long getMaxPausePollingTimeoutMills();
17509    method @NonNull @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public android.nfc.RoutingStatus getRoutingStatus();
17510    method @NonNull @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public java.util.List<android.nfc.NfcRoutingTableEntry> getRoutingTable();
17511    method @NonNull public android.nfc.T4tNdefNfcee getT4tNdefNfcee();
17512    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean hasUserEnabledNfc();
17513    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean isAutoChangeEnabled();
17514    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean isTagPresent();
17515    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void maybeTriggerFirmwareUpdate();
17516    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void overwriteRoutingTable(int, int, int, int);
17517    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public int pausePolling(long);
17518    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void registerCallback(@NonNull java.util.concurrent.Executor, @NonNull android.nfc.NfcOemExtension.Callback);
17519    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public int resumePolling();
17520    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void setAutoChangeEnabled(boolean);
17521    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public void setControllerAlwaysOnMode(int);
17522    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void synchronizeScreenState();
17523    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void triggerInitialization();
17524    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void unregisterCallback(@NonNull android.nfc.NfcOemExtension.Callback);
17525    field public static final int COMMIT_ROUTING_STATUS_FAILED = 3; // 0x3
17526    field public static final int COMMIT_ROUTING_STATUS_FAILED_UPDATE_IN_PROGRESS = 6; // 0x6
17527    field public static final int COMMIT_ROUTING_STATUS_OK = 0; // 0x0
17528    field public static final int DISABLE = 0; // 0x0
17529    field public static final int ENABLE_DEFAULT = 1; // 0x1
17530    field public static final int ENABLE_EE = 3; // 0x3
17531    field public static final int ENABLE_TRANSPARENT = 2; // 0x2
17532    field public static final int HCE_ACTIVATE = 1; // 0x1
17533    field public static final int HCE_DATA_TRANSFERRED = 2; // 0x2
17534    field public static final int HCE_DEACTIVATE = 3; // 0x3
17535    field public static final int NFCEE_TECH_A = 1; // 0x1
17536    field public static final int NFCEE_TECH_B = 2; // 0x2
17537    field public static final int NFCEE_TECH_F = 4; // 0x4
17538    field public static final int NFCEE_TECH_NONE = 0; // 0x0
17539    field public static final int POLLING_STATE_CHANGE_ALREADY_IN_REQUESTED_STATE = 2; // 0x2
17540    field public static final int POLLING_STATE_CHANGE_SUCCEEDED = 1; // 0x1
17541    field public static final int STATUS_OK = 0; // 0x0
17542    field public static final int STATUS_UNKNOWN_ERROR = 1; // 0x1
17543  }
17544
17545  public static interface NfcOemExtension.Callback {
17546    method public void onApplyRouting(@NonNull java.util.function.Consumer<java.lang.Boolean>);
17547    method public void onBootFinished(int);
17548    method public void onBootStarted();
17549    method public void onCardEmulationActivated(boolean);
17550    method public void onDisableFinished(int);
17551    method public void onDisableRequested(@NonNull java.util.function.Consumer<java.lang.Boolean>);
17552    method public void onDisableStarted();
17553    method public void onEeListenActivated(boolean);
17554    method public void onEeUpdated();
17555    method public void onEnableFinished(int);
17556    method public void onEnableRequested(@NonNull java.util.function.Consumer<java.lang.Boolean>);
17557    method public void onEnableStarted();
17558    method public void onExtractOemPackages(@NonNull android.nfc.NdefMessage, @NonNull java.util.function.Consumer<java.util.List<java.lang.String>>);
17559    method public void onGetOemAppSearchIntent(@NonNull java.util.List<java.lang.String>, @NonNull java.util.function.Consumer<android.content.Intent>);
17560    method public void onHceEventReceived(int);
17561    method public void onLaunchHceAppChooserActivity(@NonNull String, @NonNull java.util.List<android.nfc.cardemulation.ApduServiceInfo>, @NonNull android.content.ComponentName, @NonNull String);
17562    method public void onLaunchHceTapAgainDialog(@NonNull android.nfc.cardemulation.ApduServiceInfo, @NonNull String);
17563    method public void onLogEventNotified(@NonNull android.nfc.OemLogItems);
17564    method public void onNdefMessage(@NonNull android.nfc.Tag, @NonNull android.nfc.NdefMessage, @NonNull java.util.function.Consumer<java.lang.Boolean>);
17565    method public void onNdefRead(@NonNull java.util.function.Consumer<java.lang.Boolean>);
17566    method public void onReaderOptionChanged(boolean);
17567    method public void onRfDiscoveryStarted(boolean);
17568    method public void onRfFieldDetected(boolean);
17569    method public void onRoutingChanged(@NonNull java.util.function.Consumer<java.lang.Boolean>);
17570    method public void onRoutingTableFull();
17571    method public void onStateUpdated(int);
17572    method public void onTagConnected(boolean);
17573    method public void onTagDispatch(@NonNull java.util.function.Consumer<java.lang.Boolean>);
17574  }
17575
17576  public abstract class NfcRoutingTableEntry {
17577    method public int getNfceeId();
17578    method public int getRouteType();
17579    method public int getType();
17580    field public static final int TYPE_AID = 0; // 0x0
17581    field public static final int TYPE_PROTOCOL = 1; // 0x1
17582    field public static final int TYPE_SYSTEM_CODE = 3; // 0x3
17583    field public static final int TYPE_TECHNOLOGY = 2; // 0x2
17584  }
17585
17586  public final class OemLogItems implements android.os.Parcelable {
17587    method public int describeContents();
17588    method public int getAction();
17589    method public int getCallingPid();
17590    method @Nullable public byte[] getCommandApdu();
17591    method public int getEvent();
17592    method @Nullable public byte[] getResponseApdu();
17593    method @Nullable public java.time.Instant getRfFieldEventTimeMillis();
17594    method @Nullable public android.nfc.Tag getTag();
17595    method public void writeToParcel(@NonNull android.os.Parcel, int);
17596    field @NonNull public static final android.os.Parcelable.Creator<android.nfc.OemLogItems> CREATOR;
17597    field public static final int EVENT_DISABLE = 2; // 0x2
17598    field public static final int EVENT_ENABLE = 1; // 0x1
17599    field public static final int EVENT_UNSET = 0; // 0x0
17600    field public static final int LOG_ACTION_HCE_DATA = 516; // 0x204
17601    field public static final int LOG_ACTION_NFC_TOGGLE = 513; // 0x201
17602    field public static final int LOG_ACTION_RF_FIELD_STATE_CHANGED = 1; // 0x1
17603    field public static final int LOG_ACTION_SCREEN_STATE_CHANGED = 518; // 0x206
17604    field public static final int LOG_ACTION_TAG_DETECTED = 3; // 0x3
17605  }
17606
17607  public class RoutingStatus {
17608    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public int getDefaultIsoDepRoute();
17609    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public int getDefaultOffHostRoute();
17610    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public int getDefaultRoute();
17611  }
17612
17613  public class RoutingTableAidEntry extends android.nfc.NfcRoutingTableEntry {
17614    method @NonNull public String getAid();
17615  }
17616
17617  public class RoutingTableProtocolEntry extends android.nfc.NfcRoutingTableEntry {
17618    method public int getProtocol();
17619    field public static final int PROTOCOL_ISO_DEP = 4; // 0x4
17620    field public static final int PROTOCOL_NDEF = 7; // 0x7
17621    field public static final int PROTOCOL_NFC_DEP = 5; // 0x5
17622    field public static final int PROTOCOL_T1T = 1; // 0x1
17623    field public static final int PROTOCOL_T2T = 2; // 0x2
17624    field public static final int PROTOCOL_T3T = 3; // 0x3
17625    field public static final int PROTOCOL_T5T = 6; // 0x6
17626    field public static final int PROTOCOL_UNDETERMINED = 0; // 0x0
17627    field public static final int PROTOCOL_UNSUPPORTED = -1; // 0xffffffff
17628  }
17629
17630  public class RoutingTableSystemCodeEntry extends android.nfc.NfcRoutingTableEntry {
17631    method @NonNull public byte[] getSystemCode();
17632  }
17633
17634  public class RoutingTableTechnologyEntry extends android.nfc.NfcRoutingTableEntry {
17635    method public int getTechnology();
17636    field public static final int TECHNOLOGY_A = 0; // 0x0
17637    field public static final int TECHNOLOGY_B = 1; // 0x1
17638    field public static final int TECHNOLOGY_F = 2; // 0x2
17639    field public static final int TECHNOLOGY_UNSUPPORTED = -1; // 0xffffffff
17640    field public static final int TECHNOLOGY_V = 3; // 0x3
17641  }
17642
17643  public final class T4tNdefNfcee {
17644    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) @WorkerThread public int clearData();
17645    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean isOperationOngoing();
17646    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean isSupported();
17647    method @Nullable @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) @WorkerThread public android.nfc.T4tNdefNfceeCcFileInfo readCcfile();
17648    method @NonNull @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) @WorkerThread public byte[] readData(@IntRange(from=0, to=65535) int);
17649    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) @WorkerThread public int writeData(@IntRange(from=0, to=65535) int, @NonNull byte[]);
17650    field public static final int CLEAR_DATA_FAILED_DEVICE_BUSY = -1; // 0xffffffff
17651    field public static final int CLEAR_DATA_FAILED_INTERNAL = 0; // 0x0
17652    field public static final int CLEAR_DATA_SUCCESS = 1; // 0x1
17653    field public static final int WRITE_DATA_ERROR_CONNECTION_FAILED = -6; // 0xfffffffa
17654    field public static final int WRITE_DATA_ERROR_DEVICE_BUSY = -9; // 0xfffffff7
17655    field public static final int WRITE_DATA_ERROR_EMPTY_PAYLOAD = -7; // 0xfffffff9
17656    field public static final int WRITE_DATA_ERROR_INTERNAL = -1; // 0xffffffff
17657    field public static final int WRITE_DATA_ERROR_INVALID_FILE_ID = -4; // 0xfffffffc
17658    field public static final int WRITE_DATA_ERROR_INVALID_LENGTH = -5; // 0xfffffffb
17659    field public static final int WRITE_DATA_ERROR_NDEF_VALIDATION_FAILED = -8; // 0xfffffff8
17660    field public static final int WRITE_DATA_ERROR_NFC_NOT_ON = -3; // 0xfffffffd
17661    field public static final int WRITE_DATA_ERROR_RF_ACTIVATED = -2; // 0xfffffffe
17662    field public static final int WRITE_DATA_SUCCESS = 0; // 0x0
17663  }
17664
17665  public final class T4tNdefNfceeCcFileInfo implements android.os.Parcelable {
17666    method public int describeContents();
17667    method @IntRange(from=15, to=32767) public int getCcFileLength();
17668    method @IntRange(from=0xffffffff, to=65535) public int getFileId();
17669    method @IntRange(from=5, to=32767) public int getMaxSize();
17670    method public int getVersion();
17671    method public boolean isReadAllowed();
17672    method public boolean isWriteAllowed();
17673    method public void writeToParcel(@NonNull android.os.Parcel, int);
17674    field @NonNull public static final android.os.Parcelable.Creator<android.nfc.T4tNdefNfceeCcFileInfo> CREATOR;
17675    field public static final int VERSION_2_0 = 32; // 0x20
17676    field public static final int VERSION_3_0 = 48; // 0x30
17677  }
17678
17679}
17680
17681package android.nfc.cardemulation {
17682
17683  public final class AidGroup implements android.os.Parcelable {
17684    ctor public AidGroup(@NonNull java.util.List<java.lang.String>, @Nullable String);
17685    method @Nullable public static android.nfc.cardemulation.AidGroup createFromXml(@NonNull org.xmlpull.v1.XmlPullParser) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
17686    method public int describeContents();
17687    method public void dump(@NonNull android.util.proto.ProtoOutputStream);
17688    method @NonNull public java.util.List<java.lang.String> getAids();
17689    method @NonNull public String getCategory();
17690    method public void writeAsXml(@NonNull org.xmlpull.v1.XmlSerializer) throws java.io.IOException;
17691    method public void writeToParcel(@NonNull android.os.Parcel, int);
17692    field @NonNull public static final android.os.Parcelable.Creator<android.nfc.cardemulation.AidGroup> CREATOR;
17693  }
17694
17695  public final class ApduServiceInfo implements android.os.Parcelable {
17696    ctor public ApduServiceInfo(@NonNull android.content.pm.PackageManager, @NonNull android.content.pm.ResolveInfo, boolean) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
17697    method public void addPollingLoopFilter(@NonNull String, boolean);
17698    method public void addPollingLoopPatternFilter(@NonNull String, boolean);
17699    method public int describeContents();
17700    method public void dump(@NonNull android.os.ParcelFileDescriptor, @NonNull java.io.PrintWriter, @NonNull String[]);
17701    method public void dumpDebug(@NonNull android.util.proto.ProtoOutputStream);
17702    method @NonNull public java.util.List<android.nfc.cardemulation.AidGroup> getAidGroups();
17703    method @NonNull public java.util.List<java.lang.String> getAids();
17704    method @NonNull public String getCategoryForAid(@NonNull String);
17705    method @NonNull public android.content.ComponentName getComponent();
17706    method @NonNull public String getDescription();
17707    method @NonNull public android.nfc.cardemulation.AidGroup getDynamicAidGroupForCategory(@NonNull String);
17708    method @Nullable public String getOffHostSecureElement();
17709    method @NonNull public java.util.List<java.lang.String> getPollingLoopFilters();
17710    method @NonNull public java.util.List<java.util.regex.Pattern> getPollingLoopPatternFilters();
17711    method @NonNull public java.util.List<java.lang.String> getPrefixAids();
17712    method @NonNull public String getSettingsActivityName();
17713    method public boolean getShouldAutoTransact(@NonNull String);
17714    method @NonNull public java.util.List<java.lang.String> getSubsetAids();
17715    method public int getUid();
17716    method public boolean hasCategory(@NonNull String);
17717    method public boolean isCategoryOtherServiceEnabled();
17718    method public boolean isOnHost();
17719    method @NonNull public CharSequence loadAppLabel(@NonNull android.content.pm.PackageManager);
17720    method @NonNull public android.graphics.drawable.Drawable loadBanner(@NonNull android.content.pm.PackageManager);
17721    method @NonNull public android.graphics.drawable.Drawable loadIcon(@NonNull android.content.pm.PackageManager);
17722    method @NonNull public CharSequence loadLabel(@NonNull android.content.pm.PackageManager);
17723    method @NonNull public boolean removeDynamicAidGroupForCategory(@NonNull String);
17724    method public void removePollingLoopFilter(@NonNull String);
17725    method public void removePollingLoopPatternFilter(@NonNull String);
17726    method public boolean requiresScreenOn();
17727    method public boolean requiresUnlock();
17728    method public void resetOffHostSecureElement();
17729    method public void setCategoryOtherServiceEnabled(boolean);
17730    method public void setDynamicAidGroup(@NonNull android.nfc.cardemulation.AidGroup);
17731    method public void setOffHostSecureElement(@NonNull String);
17732    method public void setShouldDefaultToObserveMode(boolean);
17733    method public boolean shouldDefaultToObserveMode();
17734    method public boolean wantsRoleHolderPriority();
17735    method public void writeToParcel(@NonNull android.os.Parcel, int);
17736    field @NonNull public static final android.os.Parcelable.Creator<android.nfc.cardemulation.ApduServiceInfo> CREATOR;
17737    field public static final String PROPERTY_WALLET_PREFERRED_BANNER_AND_LABEL = "android.nfc.cardemulation.PROPERTY_WALLET_PREFERRED_BANNER_AND_LABEL";
17738  }
17739
17740  public final class CardEmulation {
17741    method @Nullable @RequiresPermission(android.Manifest.permission.NFC_PREFERRED_PAYMENT_INFO) public static android.content.ComponentName getPreferredPaymentService(@NonNull android.content.Context);
17742    method @NonNull public java.util.List<android.nfc.cardemulation.ApduServiceInfo> getServices(@NonNull String, int);
17743    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void overrideRoutingTable(@NonNull android.app.Activity, int, int);
17744    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void recoverRoutingTable(@NonNull android.app.Activity);
17745    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public int setDefaultNfcSubscriptionId(int);
17746    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public int setServiceEnabledForCategoryOther(@NonNull android.content.ComponentName, boolean);
17747    field public static final int SET_SERVICE_ENABLED_STATUS_FAILURE_ALREADY_SET = 3; // 0x3
17748    field public static final int SET_SERVICE_ENABLED_STATUS_FAILURE_FEATURE_UNSUPPORTED = 1; // 0x1
17749    field public static final int SET_SERVICE_ENABLED_STATUS_FAILURE_INVALID_SERVICE = 2; // 0x2
17750    field public static final int SET_SERVICE_ENABLED_STATUS_FAILURE_UNKNOWN_ERROR = 4; // 0x4
17751    field public static final int SET_SERVICE_ENABLED_STATUS_OK = 0; // 0x0
17752    field public static final int SET_SUBSCRIPTION_ID_STATUS_FAILED_INTERNAL_ERROR = 2; // 0x2
17753    field public static final int SET_SUBSCRIPTION_ID_STATUS_FAILED_INVALID_SUBSCRIPTION_ID = 1; // 0x1
17754    field public static final int SET_SUBSCRIPTION_ID_STATUS_FAILED_NOT_SUPPORTED = 3; // 0x3
17755    field public static final int SET_SUBSCRIPTION_ID_STATUS_SUCCESS = 0; // 0x0
17756    field public static final int SET_SUBSCRIPTION_ID_STATUS_UNKNOWN = -1; // 0xffffffff
17757  }
17758
17759  public final class NfcFServiceInfo implements android.os.Parcelable {
17760    ctor public NfcFServiceInfo(@NonNull android.content.pm.PackageManager, @NonNull android.content.pm.ResolveInfo) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
17761    method public int describeContents();
17762    method public void dump(@NonNull android.os.ParcelFileDescriptor, @NonNull java.io.PrintWriter, @NonNull String[]);
17763    method public void dumpDebug(@NonNull android.util.proto.ProtoOutputStream);
17764    method @NonNull public android.content.ComponentName getComponent();
17765    method @NonNull public String getDescription();
17766    method @NonNull public String getNfcid2();
17767    method @NonNull public String getSystemCode();
17768    method @NonNull public String getT3tPmm();
17769    method public int getUid();
17770    method @NonNull public android.graphics.drawable.Drawable loadIcon(@NonNull android.content.pm.PackageManager);
17771    method @NonNull public CharSequence loadLabel(@NonNull android.content.pm.PackageManager);
17772    method public void setDynamicNfcid2(@NonNull String);
17773    method public void setDynamicSystemCode(@NonNull String);
17774    method public void writeToParcel(@NonNull android.os.Parcel, int);
17775    field @NonNull public static final android.os.Parcelable.Creator<android.nfc.cardemulation.NfcFServiceInfo> CREATOR;
17776  }
17777
17778}
17779
17780package android.os {
17781
17782  public class BatteryManager {
17783    method @RequiresPermission(android.Manifest.permission.POWER_SAVER) public boolean setChargingStateUpdateDelayMillis(int);
17784    field @RequiresPermission(android.Manifest.permission.BATTERY_STATS) public static final int BATTERY_PROPERTY_CHARGING_POLICY = 9; // 0x9
17785    field @RequiresPermission(android.Manifest.permission.BATTERY_STATS) public static final int BATTERY_PROPERTY_FIRST_USAGE_DATE = 8; // 0x8
17786    field @RequiresPermission(android.Manifest.permission.BATTERY_STATS) public static final int BATTERY_PROPERTY_MANUFACTURING_DATE = 7; // 0x7
17787    field @RequiresPermission(android.Manifest.permission.BATTERY_STATS) public static final int BATTERY_PROPERTY_PART_STATUS = 12; // 0xc
17788    field @RequiresPermission(android.Manifest.permission.BATTERY_STATS) public static final int BATTERY_PROPERTY_SERIAL_NUMBER = 11; // 0xb
17789    field @RequiresPermission(android.Manifest.permission.BATTERY_STATS) public static final int BATTERY_PROPERTY_STATE_OF_HEALTH = 10; // 0xa
17790    field public static final int CHARGING_POLICY_ADAPTIVE_AC = 3; // 0x3
17791    field public static final int CHARGING_POLICY_ADAPTIVE_AON = 2; // 0x2
17792    field public static final int CHARGING_POLICY_ADAPTIVE_LONGLIFE = 4; // 0x4
17793    field public static final int CHARGING_POLICY_DEFAULT = 1; // 0x1
17794    field public static final String EXTRA_EVENTS = "android.os.extra.EVENTS";
17795    field public static final String EXTRA_EVENT_TIMESTAMP = "android.os.extra.EVENT_TIMESTAMP";
17796    field public static final int PART_STATUS_ORIGINAL = 1; // 0x1
17797    field public static final int PART_STATUS_REPLACED = 2; // 0x2
17798    field public static final int PART_STATUS_UNSUPPORTED = 0; // 0x0
17799  }
17800
17801  public final class BatterySaverPolicyConfig implements android.os.Parcelable {
17802    method public int describeContents();
17803    method public float getAdjustBrightnessFactor();
17804    method public boolean getAdvertiseIsEnabled();
17805    method public boolean getDeferFullBackup();
17806    method public boolean getDeferKeyValueBackup();
17807    method @NonNull public java.util.Map<java.lang.String,java.lang.String> getDeviceSpecificSettings();
17808    method public boolean getDisableAnimation();
17809    method public boolean getDisableAod();
17810    method public boolean getDisableLaunchBoost();
17811    method public boolean getDisableOptionalSensors();
17812    method @Deprecated public boolean getDisableSoundTrigger();
17813    method public boolean getDisableVibration();
17814    method public boolean getEnableAdjustBrightness();
17815    method public boolean getEnableDataSaver();
17816    method public boolean getEnableFirewall();
17817    method public boolean getEnableNightMode();
17818    method public boolean getEnableQuickDoze();
17819    method public boolean getForceAllAppsStandby();
17820    method public boolean getForceBackgroundCheck();
17821    method public int getLocationMode();
17822    method public int getSoundTriggerMode();
17823    method public void writeToParcel(android.os.Parcel, int);
17824    field @NonNull public static final android.os.Parcelable.Creator<android.os.BatterySaverPolicyConfig> CREATOR;
17825  }
17826
17827  public static final class BatterySaverPolicyConfig.Builder {
17828    ctor public BatterySaverPolicyConfig.Builder();
17829    ctor public BatterySaverPolicyConfig.Builder(@NonNull android.os.BatterySaverPolicyConfig);
17830    method @NonNull public android.os.BatterySaverPolicyConfig.Builder addDeviceSpecificSetting(@NonNull String, @NonNull String);
17831    method @NonNull public android.os.BatterySaverPolicyConfig build();
17832    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setAdjustBrightnessFactor(float);
17833    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setAdvertiseIsEnabled(boolean);
17834    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDeferFullBackup(boolean);
17835    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDeferKeyValueBackup(boolean);
17836    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableAnimation(boolean);
17837    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableAod(boolean);
17838    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableLaunchBoost(boolean);
17839    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableOptionalSensors(boolean);
17840    method @Deprecated @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableSoundTrigger(boolean);
17841    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setDisableVibration(boolean);
17842    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setEnableAdjustBrightness(boolean);
17843    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setEnableDataSaver(boolean);
17844    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setEnableFirewall(boolean);
17845    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setEnableNightMode(boolean);
17846    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setEnableQuickDoze(boolean);
17847    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setForceAllAppsStandby(boolean);
17848    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setForceBackgroundCheck(boolean);
17849    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setLocationMode(int);
17850    method @NonNull public android.os.BatterySaverPolicyConfig.Builder setSoundTriggerMode(int);
17851  }
17852
17853  public final class BatteryStatsManager {
17854    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.BATTERY_STATS, android.Manifest.permission.UPDATE_DEVICE_STATS}) public android.os.connectivity.CellularBatteryStats getCellularBatteryStats();
17855    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.BATTERY_STATS, android.Manifest.permission.UPDATE_DEVICE_STATS}) public android.os.connectivity.WifiBatteryStats getWifiBatteryStats();
17856    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportBleScanReset();
17857    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportBleScanResults(@NonNull android.os.WorkSource, int);
17858    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportBleScanStarted(@NonNull android.os.WorkSource, boolean);
17859    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportBleScanStopped(@NonNull android.os.WorkSource, boolean);
17860    method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void reportBluetoothOff(int, int, @NonNull String);
17861    method @Deprecated @RequiresPermission(android.Manifest.permission.BLUETOOTH_CONNECT) public void reportBluetoothOn(int, int, @NonNull String);
17862    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportFullWifiLockAcquiredFromSource(@NonNull android.os.WorkSource);
17863    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportFullWifiLockReleasedFromSource(@NonNull android.os.WorkSource);
17864    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportMobileRadioPowerState(boolean, int);
17865    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiBatchedScanStartedFromSource(@NonNull android.os.WorkSource, @IntRange(from=0) int);
17866    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiBatchedScanStoppedFromSource(@NonNull android.os.WorkSource);
17867    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiMulticastDisabled(@NonNull android.os.WorkSource);
17868    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiMulticastEnabled(@NonNull android.os.WorkSource);
17869    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiOff();
17870    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiOn();
17871    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiRadioPowerState(boolean, int);
17872    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiRssiChanged(@IntRange(from=0xffffff81, to=0) int);
17873    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiScanStartedFromSource(@NonNull android.os.WorkSource);
17874    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiScanStoppedFromSource(@NonNull android.os.WorkSource);
17875    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiState(int, @Nullable String);
17876    method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public void reportWifiSupplicantStateChanged(int, boolean);
17877    field public static final int WIFI_STATE_OFF = 0; // 0x0
17878    field public static final int WIFI_STATE_OFF_SCANNING = 1; // 0x1
17879    field public static final int WIFI_STATE_ON_CONNECTED_P2P = 5; // 0x5
17880    field public static final int WIFI_STATE_ON_CONNECTED_STA = 4; // 0x4
17881    field public static final int WIFI_STATE_ON_CONNECTED_STA_P2P = 6; // 0x6
17882    field public static final int WIFI_STATE_ON_DISCONNECTED = 3; // 0x3
17883    field public static final int WIFI_STATE_ON_NO_NETWORKS = 2; // 0x2
17884    field public static final int WIFI_STATE_SOFT_AP = 7; // 0x7
17885    field public static final int WIFI_SUPPL_STATE_ASSOCIATED = 7; // 0x7
17886    field public static final int WIFI_SUPPL_STATE_ASSOCIATING = 6; // 0x6
17887    field public static final int WIFI_SUPPL_STATE_AUTHENTICATING = 5; // 0x5
17888    field public static final int WIFI_SUPPL_STATE_COMPLETED = 10; // 0xa
17889    field public static final int WIFI_SUPPL_STATE_DISCONNECTED = 1; // 0x1
17890    field public static final int WIFI_SUPPL_STATE_DORMANT = 11; // 0xb
17891    field public static final int WIFI_SUPPL_STATE_FOUR_WAY_HANDSHAKE = 8; // 0x8
17892    field public static final int WIFI_SUPPL_STATE_GROUP_HANDSHAKE = 9; // 0x9
17893    field public static final int WIFI_SUPPL_STATE_INACTIVE = 3; // 0x3
17894    field public static final int WIFI_SUPPL_STATE_INTERFACE_DISABLED = 2; // 0x2
17895    field public static final int WIFI_SUPPL_STATE_INVALID = 0; // 0x0
17896    field public static final int WIFI_SUPPL_STATE_SCANNING = 4; // 0x4
17897    field public static final int WIFI_SUPPL_STATE_UNINITIALIZED = 12; // 0xc
17898  }
17899
17900  public class Binder implements android.os.IBinder {
17901    method public int handleShellCommand(@NonNull android.os.ParcelFileDescriptor, @NonNull android.os.ParcelFileDescriptor, @NonNull android.os.ParcelFileDescriptor, @NonNull String[]);
17902    method public final void markVintfStability();
17903    method public static void setProxyTransactListener(@Nullable android.os.Binder.ProxyTransactListener);
17904  }
17905
17906  public static interface Binder.ProxyTransactListener {
17907    method public void onTransactEnded(@Nullable Object);
17908    method @Nullable public Object onTransactStarted(@NonNull android.os.IBinder, int);
17909  }
17910
17911  public final class BugreportManager {
17912    method @RequiresPermission(android.Manifest.permission.DUMP) @WorkerThread public void preDumpUiData();
17913    method @RequiresPermission(android.Manifest.permission.DUMP) public void requestBugreport(@NonNull android.os.BugreportParams, @Nullable CharSequence, @Nullable CharSequence);
17914    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);
17915    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);
17916  }
17917
17918  public abstract static class BugreportManager.BugreportCallback {
17919    method public void onFinished(@NonNull String);
17920  }
17921
17922  public final class BugreportParams {
17923    ctor public BugreportParams(int);
17924    ctor public BugreportParams(int, int);
17925    method public int getFlags();
17926    method public int getMode();
17927    field public static final int BUGREPORT_FLAG_DEFER_CONSENT = 2; // 0x2
17928    field public static final int BUGREPORT_FLAG_KEEP_BUGREPORT_ON_RETRIEVAL = 4; // 0x4
17929    field public static final int BUGREPORT_FLAG_USE_PREDUMPED_UI_DATA = 1; // 0x1
17930    field public static final int BUGREPORT_MODE_FULL = 0; // 0x0
17931    field public static final int BUGREPORT_MODE_INTERACTIVE = 1; // 0x1
17932    field public static final int BUGREPORT_MODE_ONBOARDING = 7; // 0x7
17933    field public static final int BUGREPORT_MODE_REMOTE = 2; // 0x2
17934    field public static final int BUGREPORT_MODE_TELEPHONY = 4; // 0x4
17935    field public static final int BUGREPORT_MODE_WEAR = 3; // 0x3
17936    field public static final int BUGREPORT_MODE_WIFI = 5; // 0x5
17937  }
17938
17939  public static class Build.VERSION {
17940    field @NonNull public static final java.util.Set<java.lang.String> KNOWN_CODENAMES;
17941    field @NonNull public static final String PREVIEW_SDK_FINGERPRINT;
17942  }
17943
17944  public final class ConfigUpdate {
17945    field public static final String ACTION_UPDATE_CARRIER_ID_DB = "android.os.action.UPDATE_CARRIER_ID_DB";
17946    field public static final String ACTION_UPDATE_CARRIER_PROVISIONING_URLS = "android.intent.action.UPDATE_CARRIER_PROVISIONING_URLS";
17947    field public static final String ACTION_UPDATE_CONFIG = "android.os.action.UPDATE_CONFIG";
17948    field public static final String ACTION_UPDATE_CONVERSATION_ACTIONS = "android.intent.action.UPDATE_CONVERSATION_ACTIONS";
17949    field public static final String ACTION_UPDATE_CT_LOGS = "android.intent.action.UPDATE_CT_LOGS";
17950    field public static final String ACTION_UPDATE_EMERGENCY_NUMBER_DB = "android.os.action.UPDATE_EMERGENCY_NUMBER_DB";
17951    field public static final String ACTION_UPDATE_INTENT_FIREWALL = "android.intent.action.UPDATE_INTENT_FIREWALL";
17952    field public static final String ACTION_UPDATE_LANG_ID = "android.intent.action.UPDATE_LANG_ID";
17953    field public static final String ACTION_UPDATE_NETWORK_WATCHLIST = "android.intent.action.UPDATE_NETWORK_WATCHLIST";
17954    field public static final String ACTION_UPDATE_PINS = "android.intent.action.UPDATE_PINS";
17955    field public static final String ACTION_UPDATE_SMART_SELECTION = "android.intent.action.UPDATE_SMART_SELECTION";
17956    field public static final String ACTION_UPDATE_SMS_SHORT_CODES = "android.intent.action.UPDATE_SMS_SHORT_CODES";
17957    field public static final String EXTRA_DOMAIN = "android.os.extra.DOMAIN";
17958    field public static final String EXTRA_REQUIRED_HASH = "android.os.extra.REQUIRED_HASH";
17959    field public static final String EXTRA_VERSION = "android.os.extra.VERSION";
17960  }
17961
17962  public class DeviceIdleManager {
17963    method @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public void endIdle(@NonNull String);
17964  }
17965
17966  public class Environment {
17967    method @NonNull public static java.io.File getDataCePackageDirectoryForUser(@NonNull java.util.UUID, @NonNull android.os.UserHandle, @NonNull String);
17968    method @NonNull public static java.io.File getDataDePackageDirectoryForUser(@NonNull java.util.UUID, @NonNull android.os.UserHandle, @NonNull String);
17969    method @NonNull public static java.io.File getDataSystemDeviceProtectedDirectory();
17970    method @NonNull public static java.util.Collection<java.io.File> getInternalMediaDirectories();
17971    method @NonNull public static java.io.File getOdmDirectory();
17972    method @NonNull public static java.io.File getOemDirectory();
17973    method @NonNull public static java.io.File getProductDirectory();
17974    method @Deprecated @NonNull public static java.io.File getProductServicesDirectory();
17975    method @NonNull public static java.io.File getSystemExtDirectory();
17976    method @NonNull public static java.io.File getVendorDirectory();
17977  }
17978
17979  public class HidlMemory implements java.io.Closeable {
17980    ctor public HidlMemory(@NonNull String, @IntRange(from=0) long, @Nullable android.os.NativeHandle);
17981    method public void close() throws java.io.IOException;
17982    method @NonNull public android.os.HidlMemory dup() throws java.io.IOException;
17983    method protected void finalize();
17984    method @Nullable public android.os.NativeHandle getHandle();
17985    method @NonNull public String getName();
17986    method public long getSize();
17987    method @Nullable public android.os.NativeHandle releaseHandle();
17988  }
17989
17990  public class HidlSupport {
17991    method public static boolean deepEquals(Object, Object);
17992    method public static int deepHashCode(Object);
17993    method public static int getPidIfSharable();
17994    method public static boolean interfacesEqual(android.os.IHwInterface, Object);
17995  }
17996
17997  public abstract class HwBinder implements android.os.IHwBinder {
17998    ctor public HwBinder();
17999    method public static final void configureRpcThreadpool(long, boolean);
18000    method public static void enableInstrumentation();
18001    method public static final android.os.IHwBinder getService(String, String) throws java.util.NoSuchElementException, android.os.RemoteException;
18002    method public static final android.os.IHwBinder getService(String, String, boolean) throws java.util.NoSuchElementException, android.os.RemoteException;
18003    method public static final void joinRpcThreadpool();
18004    method public abstract void onTransact(int, android.os.HwParcel, android.os.HwParcel, int) throws android.os.RemoteException;
18005    method public final void registerService(String) throws android.os.RemoteException;
18006    method public final void transact(int, android.os.HwParcel, android.os.HwParcel, int) throws android.os.RemoteException;
18007  }
18008
18009  public class HwBlob {
18010    ctor public HwBlob(int);
18011    method public final void copyToBoolArray(long, boolean[], int);
18012    method public final void copyToDoubleArray(long, double[], int);
18013    method public final void copyToFloatArray(long, float[], int);
18014    method public final void copyToInt16Array(long, short[], int);
18015    method public final void copyToInt32Array(long, int[], int);
18016    method public final void copyToInt64Array(long, long[], int);
18017    method public final void copyToInt8Array(long, byte[], int);
18018    method public final boolean getBool(long);
18019    method public final double getDouble(long);
18020    method public final long getFieldHandle(long);
18021    method public final float getFloat(long);
18022    method public final short getInt16(long);
18023    method public final int getInt32(long);
18024    method public final long getInt64(long);
18025    method public final byte getInt8(long);
18026    method public final String getString(long);
18027    method public final long handle();
18028    method public final void putBlob(long, android.os.HwBlob);
18029    method public final void putBool(long, boolean);
18030    method public final void putBoolArray(long, boolean[]);
18031    method public final void putDouble(long, double);
18032    method public final void putDoubleArray(long, double[]);
18033    method public final void putFloat(long, float);
18034    method public final void putFloatArray(long, float[]);
18035    method public final void putHidlMemory(long, @NonNull android.os.HidlMemory);
18036    method public final void putInt16(long, short);
18037    method public final void putInt16Array(long, short[]);
18038    method public final void putInt32(long, int);
18039    method public final void putInt32Array(long, int[]);
18040    method public final void putInt64(long, long);
18041    method public final void putInt64Array(long, long[]);
18042    method public final void putInt8(long, byte);
18043    method public final void putInt8Array(long, byte[]);
18044    method public final void putNativeHandle(long, @Nullable android.os.NativeHandle);
18045    method public final void putString(long, String);
18046    method public static Boolean[] wrapArray(@NonNull boolean[]);
18047    method public static Byte[] wrapArray(@NonNull byte[]);
18048    method public static Double[] wrapArray(@NonNull double[]);
18049    method public static Float[] wrapArray(@NonNull float[]);
18050    method public static Integer[] wrapArray(@NonNull int[]);
18051    method public static Long[] wrapArray(@NonNull long[]);
18052    method public static Short[] wrapArray(@NonNull short[]);
18053  }
18054
18055  public class HwParcel {
18056    ctor public HwParcel();
18057    method public final void enforceInterface(String);
18058    method public final boolean readBool();
18059    method public final java.util.ArrayList<java.lang.Boolean> readBoolVector();
18060    method public final android.os.HwBlob readBuffer(long);
18061    method public final double readDouble();
18062    method public final java.util.ArrayList<java.lang.Double> readDoubleVector();
18063    method public final android.os.HwBlob readEmbeddedBuffer(long, long, long, boolean);
18064    method @NonNull public final android.os.HidlMemory readEmbeddedHidlMemory(long, long, long);
18065    method @Nullable public final android.os.NativeHandle readEmbeddedNativeHandle(long, long);
18066    method public final float readFloat();
18067    method public final java.util.ArrayList<java.lang.Float> readFloatVector();
18068    method @NonNull public final android.os.HidlMemory readHidlMemory();
18069    method public final short readInt16();
18070    method public final java.util.ArrayList<java.lang.Short> readInt16Vector();
18071    method public final int readInt32();
18072    method public final java.util.ArrayList<java.lang.Integer> readInt32Vector();
18073    method public final long readInt64();
18074    method public final java.util.ArrayList<java.lang.Long> readInt64Vector();
18075    method public final byte readInt8();
18076    method public final java.util.ArrayList<java.lang.Byte> readInt8Vector();
18077    method @Nullable public final android.os.NativeHandle readNativeHandle();
18078    method @NonNull public final java.util.ArrayList<android.os.NativeHandle> readNativeHandleVector();
18079    method public final String readString();
18080    method public final java.util.ArrayList<java.lang.String> readStringVector();
18081    method public final android.os.IHwBinder readStrongBinder();
18082    method public final void release();
18083    method public final void releaseTemporaryStorage();
18084    method public final void send();
18085    method public final void verifySuccess();
18086    method public final void writeBool(boolean);
18087    method public final void writeBoolVector(java.util.ArrayList<java.lang.Boolean>);
18088    method public final void writeBuffer(android.os.HwBlob);
18089    method public final void writeDouble(double);
18090    method public final void writeDoubleVector(java.util.ArrayList<java.lang.Double>);
18091    method public final void writeFloat(float);
18092    method public final void writeFloatVector(java.util.ArrayList<java.lang.Float>);
18093    method public final void writeHidlMemory(@NonNull android.os.HidlMemory);
18094    method public final void writeInt16(short);
18095    method public final void writeInt16Vector(java.util.ArrayList<java.lang.Short>);
18096    method public final void writeInt32(int);
18097    method public final void writeInt32Vector(java.util.ArrayList<java.lang.Integer>);
18098    method public final void writeInt64(long);
18099    method public final void writeInt64Vector(java.util.ArrayList<java.lang.Long>);
18100    method public final void writeInt8(byte);
18101    method public final void writeInt8Vector(java.util.ArrayList<java.lang.Byte>);
18102    method public final void writeInterfaceToken(String);
18103    method public final void writeNativeHandle(@Nullable android.os.NativeHandle);
18104    method public final void writeNativeHandleVector(@NonNull java.util.ArrayList<android.os.NativeHandle>);
18105    method public final void writeStatus(int);
18106    method public final void writeString(String);
18107    method public final void writeStringVector(java.util.ArrayList<java.lang.String>);
18108    method public final void writeStrongBinder(android.os.IHwBinder);
18109    field public static final int STATUS_SUCCESS = 0; // 0x0
18110  }
18111
18112  public interface IHwBinder {
18113    method public boolean linkToDeath(android.os.IHwBinder.DeathRecipient, long);
18114    method public android.os.IHwInterface queryLocalInterface(String);
18115    method public void transact(int, android.os.HwParcel, android.os.HwParcel, int) throws android.os.RemoteException;
18116    method public boolean unlinkToDeath(android.os.IHwBinder.DeathRecipient);
18117  }
18118
18119  public static interface IHwBinder.DeathRecipient {
18120    method public void serviceDied(long);
18121  }
18122
18123  public interface IHwInterface {
18124    method public android.os.IHwBinder asBinder();
18125  }
18126
18127  public class IncidentManager {
18128    method @RequiresPermission(android.Manifest.permission.APPROVE_INCIDENT_REPORTS) public void approveReport(android.net.Uri);
18129    method @RequiresPermission("android.permission.REQUEST_INCIDENT_REPORT_APPROVAL") public void cancelAuthorization(android.os.IncidentManager.AuthListener);
18130    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void deleteIncidentReports(android.net.Uri);
18131    method @RequiresPermission(android.Manifest.permission.APPROVE_INCIDENT_REPORTS) public void denyReport(android.net.Uri);
18132    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public android.os.IncidentManager.IncidentReport getIncidentReport(android.net.Uri);
18133    method @NonNull @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public java.util.List<android.net.Uri> getIncidentReportList(String);
18134    method @RequiresPermission(android.Manifest.permission.APPROVE_INCIDENT_REPORTS) public java.util.List<android.os.IncidentManager.PendingReport> getPendingReports();
18135    method public void registerSection(int, @NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.os.IncidentManager.DumpCallback);
18136    method @RequiresPermission(allOf={android.Manifest.permission.DUMP, android.Manifest.permission.PACKAGE_USAGE_STATS}) public void reportIncident(android.os.IncidentReportArgs);
18137    method @RequiresPermission("android.permission.REQUEST_INCIDENT_REPORT_APPROVAL") public void requestAuthorization(int, String, int, android.os.IncidentManager.AuthListener);
18138    method public void unregisterSection(int);
18139    field public static final int FLAG_ALLOW_CONSENTLESS_BUGREPORT = 2; // 0x2
18140    field public static final int FLAG_CONFIRMATION_DIALOG = 1; // 0x1
18141    field public static final int PRIVACY_POLICY_AUTO = 200; // 0xc8
18142    field public static final int PRIVACY_POLICY_EXPLICIT = 100; // 0x64
18143    field public static final int PRIVACY_POLICY_LOCAL = 0; // 0x0
18144  }
18145
18146  public static class IncidentManager.AuthListener {
18147    ctor public IncidentManager.AuthListener();
18148    method public void onReportApproved();
18149    method public void onReportDenied();
18150  }
18151
18152  public static class IncidentManager.DumpCallback {
18153    ctor public IncidentManager.DumpCallback();
18154    method public void onDumpSection(int, @NonNull java.io.OutputStream);
18155  }
18156
18157  public static class IncidentManager.IncidentReport implements java.io.Closeable android.os.Parcelable {
18158    ctor public IncidentManager.IncidentReport(android.os.Parcel);
18159    method public void close();
18160    method public int describeContents();
18161    method public java.io.InputStream getInputStream() throws java.io.IOException;
18162    method public long getPrivacyPolicy();
18163    method public long getTimestamp();
18164    method public void writeToParcel(android.os.Parcel, int);
18165    field @NonNull public static final android.os.Parcelable.Creator<android.os.IncidentManager.IncidentReport> CREATOR;
18166  }
18167
18168  public static class IncidentManager.PendingReport {
18169    ctor public IncidentManager.PendingReport(@NonNull android.net.Uri);
18170    method public int getFlags();
18171    method @NonNull public String getRequestingPackage();
18172    method public long getTimestamp();
18173    method @NonNull public android.net.Uri getUri();
18174  }
18175
18176  public final class IncidentReportArgs implements android.os.Parcelable {
18177    ctor public IncidentReportArgs();
18178    ctor public IncidentReportArgs(android.os.Parcel);
18179    method public void addHeader(byte[]);
18180    method public void addSection(int);
18181    method public boolean containsSection(int);
18182    method public int describeContents();
18183    method public boolean isAll();
18184    method public void readFromParcel(android.os.Parcel);
18185    method public int sectionCount();
18186    method public void setAll(boolean);
18187    method public void setPrivacyPolicy(int);
18188    method public void writeToParcel(android.os.Parcel, int);
18189    field @NonNull public static final android.os.Parcelable.Creator<android.os.IncidentReportArgs> CREATOR;
18190  }
18191
18192  public final class NativeHandle implements java.io.Closeable {
18193    ctor public NativeHandle();
18194    ctor public NativeHandle(@NonNull java.io.FileDescriptor, boolean);
18195    ctor public NativeHandle(@NonNull java.io.FileDescriptor[], @NonNull int[], boolean);
18196    method public void close() throws java.io.IOException;
18197    method @NonNull public android.os.NativeHandle dup() throws java.io.IOException;
18198    method @NonNull public java.io.FileDescriptor getFileDescriptor();
18199    method @NonNull public java.io.FileDescriptor[] getFileDescriptors();
18200    method @NonNull public int[] getInts();
18201    method public boolean hasSingleFileDescriptor();
18202  }
18203
18204  public final class NewUserRequest {
18205    method @Nullable public String getAccountName();
18206    method @Nullable public android.os.PersistableBundle getAccountOptions();
18207    method @Nullable public String getAccountType();
18208    method @Nullable public String getName();
18209    method @Nullable public android.graphics.Bitmap getUserIcon();
18210    method @NonNull public String getUserType();
18211    method public boolean isAdmin();
18212    method public boolean isEphemeral();
18213  }
18214
18215  public static final class NewUserRequest.Builder {
18216    ctor public NewUserRequest.Builder();
18217    method @NonNull public android.os.NewUserRequest build();
18218    method @NonNull public android.os.NewUserRequest.Builder setAccountName(@Nullable String);
18219    method @NonNull public android.os.NewUserRequest.Builder setAccountOptions(@Nullable android.os.PersistableBundle);
18220    method @NonNull public android.os.NewUserRequest.Builder setAccountType(@Nullable String);
18221    method @NonNull public android.os.NewUserRequest.Builder setAdmin();
18222    method @NonNull public android.os.NewUserRequest.Builder setEphemeral();
18223    method @NonNull public android.os.NewUserRequest.Builder setName(@Nullable String);
18224    method @NonNull public android.os.NewUserRequest.Builder setUserIcon(@Nullable android.graphics.Bitmap);
18225    method @NonNull public android.os.NewUserRequest.Builder setUserType(@NonNull String);
18226  }
18227
18228  public final class NewUserResponse {
18229    method public int getOperationResult();
18230    method @Nullable public android.os.UserHandle getUser();
18231    method public boolean isSuccessful();
18232  }
18233
18234  public interface Parcelable {
18235    method public default int getStability();
18236    field public static final int PARCELABLE_STABILITY_LOCAL = 0; // 0x0
18237    field public static final int PARCELABLE_STABILITY_VINTF = 1; // 0x1
18238  }
18239
18240  public final class ParcelableHolder implements android.os.Parcelable {
18241    ctor public ParcelableHolder(int);
18242    method public int describeContents();
18243    method @Nullable public <T extends android.os.Parcelable> T getParcelable(@NonNull Class<T>);
18244    method public int getStability();
18245    method public void readFromParcel(@NonNull android.os.Parcel);
18246    method public void setParcelable(@Nullable android.os.Parcelable);
18247    method public void writeToParcel(@NonNull android.os.Parcel, int);
18248    field @NonNull public static final android.os.Parcelable.Creator<android.os.ParcelableHolder> CREATOR;
18249  }
18250
18251  public class PowerExemptionManager {
18252    method @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public void addToTemporaryAllowList(@NonNull String, int, @Nullable String, long);
18253    method @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public long addToTemporaryAllowListForEvent(@NonNull String, int, @Nullable String, int);
18254    field public static final int EVENT_MMS = 2; // 0x2
18255    field public static final int EVENT_SMS = 1; // 0x1
18256    field public static final int EVENT_UNSPECIFIED = 0; // 0x0
18257    field public static final int REASON_ACCOUNT_TRANSFER = 104; // 0x68
18258    field public static final int REASON_ACTIVITY_RECOGNITION = 103; // 0x67
18259    field public static final int REASON_BLUETOOTH_BROADCAST = 203; // 0xcb
18260    field public static final int REASON_GEOFENCING = 100; // 0x64
18261    field public static final int REASON_LOCATION_PROVIDER = 312; // 0x138
18262    field public static final int REASON_OTHER = 1; // 0x1
18263    field public static final int REASON_PUSH_MESSAGING = 101; // 0x65
18264    field public static final int REASON_PUSH_MESSAGING_OVER_QUOTA = 102; // 0x66
18265    field public static final int REASON_REFRESH_SAFETY_SOURCES = 208; // 0xd0
18266    field public static final int REASON_UNKNOWN = 0; // 0x0
18267    field public static final int TEMPORARY_ALLOW_LIST_TYPE_FOREGROUND_SERVICE_ALLOWED = 0; // 0x0
18268    field public static final int TEMPORARY_ALLOW_LIST_TYPE_FOREGROUND_SERVICE_NOT_ALLOWED = 1; // 0x1
18269    field public static final int TEMPORARY_ALLOW_LIST_TYPE_NONE = -1; // 0xffffffff
18270  }
18271
18272  public final class PowerManager {
18273    method @RequiresPermission(allOf={android.Manifest.permission.READ_DREAM_STATE, android.Manifest.permission.WRITE_DREAM_STATE}) public void dream(long);
18274    method @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public boolean forceSuspend();
18275    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();
18276    method @NonNull public android.os.BatterySaverPolicyConfig getFullPowerSavePolicy();
18277    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_LOW_POWER_STANDBY, android.Manifest.permission.DEVICE_POWER}) public android.os.PowerManager.LowPowerStandbyPolicy getLowPowerStandbyPolicy();
18278    method public int getPowerSaveModeTrigger();
18279    method @RequiresPermission(android.Manifest.permission.READ_DREAM_STATE) public boolean isAmbientDisplayAvailable();
18280    method @RequiresPermission(android.Manifest.permission.READ_DREAM_STATE) public boolean isAmbientDisplaySuppressed();
18281    method @RequiresPermission(android.Manifest.permission.READ_DREAM_STATE) public boolean isAmbientDisplaySuppressedForToken(@NonNull String);
18282    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_LOW_POWER_STANDBY, android.Manifest.permission.DEVICE_POWER}) public boolean isLowPowerStandbySupported();
18283    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>);
18284    method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.POWER_SAVER}) public boolean setAdaptivePowerSaveEnabled(boolean);
18285    method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.POWER_SAVER}) public boolean setAdaptivePowerSavePolicy(@NonNull android.os.BatterySaverPolicyConfig);
18286    method @RequiresPermission(anyOf={android.Manifest.permission.BATTERY_PREDICTION, android.Manifest.permission.DEVICE_POWER}) public void setBatteryDischargePrediction(@NonNull java.time.Duration, boolean);
18287    method @RequiresPermission(android.Manifest.permission.POWER_SAVER) public boolean setDynamicPowerSaveHint(boolean, int);
18288    method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.POWER_SAVER}) public boolean setFullPowerSavePolicy(@NonNull android.os.BatterySaverPolicyConfig);
18289    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_LOW_POWER_STANDBY, android.Manifest.permission.DEVICE_POWER}) public void setLowPowerStandbyActiveDuringMaintenance(boolean);
18290    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_LOW_POWER_STANDBY, android.Manifest.permission.DEVICE_POWER}) public void setLowPowerStandbyEnabled(boolean);
18291    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_LOW_POWER_STANDBY, android.Manifest.permission.DEVICE_POWER}) public void setLowPowerStandbyPolicy(@Nullable android.os.PowerManager.LowPowerStandbyPolicy);
18292    method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.POWER_SAVER}) public boolean setPowerSaveModeEnabled(boolean);
18293    method @RequiresPermission(android.Manifest.permission.WRITE_DREAM_STATE) public void suppressAmbientDisplay(@NonNull String, boolean);
18294    method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.USER_ACTIVITY}) public void userActivity(long, int, int);
18295    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";
18296    field public static final int POWER_SAVE_MODE_TRIGGER_DYNAMIC = 1; // 0x1
18297    field public static final int POWER_SAVE_MODE_TRIGGER_PERCENTAGE = 0; // 0x0
18298    field @Deprecated public static final String REBOOT_USERSPACE = "userspace";
18299    field public static final int SOUND_TRIGGER_MODE_ALL_DISABLED = 2; // 0x2
18300    field public static final int SOUND_TRIGGER_MODE_ALL_ENABLED = 0; // 0x0
18301    field public static final int SOUND_TRIGGER_MODE_CRITICAL_ONLY = 1; // 0x1
18302    field public static final int USER_ACTIVITY_EVENT_ACCESSIBILITY = 3; // 0x3
18303    field public static final int USER_ACTIVITY_EVENT_BUTTON = 1; // 0x1
18304    field public static final int USER_ACTIVITY_EVENT_OTHER = 0; // 0x0
18305    field public static final int USER_ACTIVITY_EVENT_TOUCH = 2; // 0x2
18306    field public static final int USER_ACTIVITY_FLAG_INDIRECT = 2; // 0x2
18307    field public static final int USER_ACTIVITY_FLAG_NO_CHANGE_LIGHTS = 1; // 0x1
18308  }
18309
18310  public static final class PowerManager.LowPowerStandbyPolicy {
18311    ctor public PowerManager.LowPowerStandbyPolicy(@NonNull String, @NonNull java.util.Set<java.lang.String>, int, @NonNull java.util.Set<java.lang.String>);
18312    method @NonNull public java.util.Set<java.lang.String> getAllowedFeatures();
18313    method public int getAllowedReasons();
18314    method @NonNull public java.util.Set<java.lang.String> getExemptPackages();
18315    method @NonNull public String getIdentifier();
18316  }
18317
18318  public static final class PowerManager.LowPowerStandbyPortDescription {
18319    ctor public PowerManager.LowPowerStandbyPortDescription(int, int, int);
18320    ctor public PowerManager.LowPowerStandbyPortDescription(int, int, int, @Nullable java.net.InetAddress);
18321    method @Nullable public java.net.InetAddress getLocalAddress();
18322    method public int getPortMatcher();
18323    method public int getPortNumber();
18324    method public int getProtocol();
18325    field public static final int MATCH_PORT_LOCAL = 1; // 0x1
18326    field public static final int MATCH_PORT_REMOTE = 2; // 0x2
18327    field public static final int PROTOCOL_TCP = 6; // 0x6
18328    field public static final int PROTOCOL_UDP = 17; // 0x11
18329  }
18330
18331  public final class PowerManager.LowPowerStandbyPortsLock {
18332    method @RequiresPermission(android.Manifest.permission.SET_LOW_POWER_STANDBY_PORTS) public void acquire();
18333    method protected void finalize();
18334    method @RequiresPermission(android.Manifest.permission.SET_LOW_POWER_STANDBY_PORTS) public void release();
18335  }
18336
18337  @Deprecated public class PowerWhitelistManager {
18338    method @Deprecated @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public void addToWhitelist(@NonNull String);
18339    method @Deprecated @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public void addToWhitelist(@NonNull java.util.List<java.lang.String>);
18340    method @Deprecated @RequiresPermission(android.Manifest.permission.DEVICE_POWER) public void removeFromWhitelist(@NonNull String);
18341    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public void whitelistAppTemporarily(@NonNull String, long);
18342    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public void whitelistAppTemporarily(@NonNull String, long, int, @Nullable String);
18343    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public long whitelistAppTemporarilyForEvent(@NonNull String, int, int, @Nullable String);
18344    method @Deprecated @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public long whitelistAppTemporarilyForEvent(@NonNull String, int, @Nullable String);
18345    field @Deprecated public static final int EVENT_MMS = 2; // 0x2
18346    field @Deprecated public static final int EVENT_SMS = 1; // 0x1
18347    field @Deprecated public static final int EVENT_UNSPECIFIED = 0; // 0x0
18348    field @Deprecated public static final int REASON_ACTIVITY_RECOGNITION = 103; // 0x67
18349    field @Deprecated public static final int REASON_GEOFENCING = 100; // 0x64
18350    field @Deprecated public static final int REASON_LOCATION_PROVIDER = 312; // 0x138
18351    field @Deprecated public static final int REASON_OTHER = 1; // 0x1
18352    field @Deprecated public static final int REASON_PUSH_MESSAGING = 101; // 0x65
18353    field @Deprecated public static final int REASON_PUSH_MESSAGING_OVER_QUOTA = 102; // 0x66
18354    field @Deprecated public static final int REASON_UNKNOWN = 0; // 0x0
18355    field @Deprecated public static final int TEMPORARY_ALLOWLIST_TYPE_FOREGROUND_SERVICE_ALLOWED = 0; // 0x0
18356    field @Deprecated public static final int TEMPORARY_ALLOWLIST_TYPE_FOREGROUND_SERVICE_NOT_ALLOWED = 1; // 0x1
18357  }
18358
18359  public class RecoverySystem {
18360    method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void cancelScheduledUpdate(android.content.Context) throws java.io.IOException;
18361    method @RequiresPermission(anyOf={android.Manifest.permission.RECOVERY, android.Manifest.permission.REBOOT}) public static void clearPrepareForUnattendedUpdate(@NonNull android.content.Context) throws java.io.IOException;
18362    method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void installPackage(android.content.Context, java.io.File, boolean) throws java.io.IOException;
18363    method @RequiresPermission(anyOf={android.Manifest.permission.RECOVERY, android.Manifest.permission.REBOOT}) public static boolean isPreparedForUnattendedUpdate(@NonNull android.content.Context) throws java.io.IOException;
18364    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;
18365    method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void processPackage(android.content.Context, java.io.File, android.os.RecoverySystem.ProgressListener) throws java.io.IOException;
18366    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;
18367    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;
18368    method @Deprecated @RequiresPermission(android.Manifest.permission.RECOVERY) public static void rebootAndApply(@NonNull android.content.Context, @NonNull String, @NonNull String) throws java.io.IOException;
18369    method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void rebootPromptAndWipeUserData(@NonNull android.content.Context, @NonNull String) throws java.io.IOException;
18370    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;
18371    method @RequiresPermission(android.Manifest.permission.RECOVERY) public static void scheduleUpdateOnBoot(android.content.Context, java.io.File) throws java.io.IOException;
18372    method @Deprecated public static boolean verifyPackageCompatibility(java.io.File) throws java.io.IOException;
18373    field public static final int RESUME_ON_REBOOT_REBOOT_ERROR_INVALID_PACKAGE_NAME = 2000; // 0x7d0
18374    field public static final int RESUME_ON_REBOOT_REBOOT_ERROR_LSKF_NOT_CAPTURED = 3000; // 0xbb8
18375    field public static final int RESUME_ON_REBOOT_REBOOT_ERROR_PROVIDER_PREPARATION_FAILURE = 5000; // 0x1388
18376    field public static final int RESUME_ON_REBOOT_REBOOT_ERROR_SLOT_MISMATCH = 4000; // 0xfa0
18377    field public static final int RESUME_ON_REBOOT_REBOOT_ERROR_UNSPECIFIED = 1000; // 0x3e8
18378  }
18379
18380  public final class RemoteCallback implements android.os.Parcelable {
18381    ctor public RemoteCallback(android.os.RemoteCallback.OnResultListener);
18382    ctor public RemoteCallback(@NonNull android.os.RemoteCallback.OnResultListener, @Nullable android.os.Handler);
18383    method public int describeContents();
18384    method public void sendResult(@Nullable android.os.Bundle);
18385    method public void writeToParcel(android.os.Parcel, int);
18386    field @NonNull public static final android.os.Parcelable.Creator<android.os.RemoteCallback> CREATOR;
18387  }
18388
18389  public static interface RemoteCallback.OnResultListener {
18390    method public void onResult(@Nullable android.os.Bundle);
18391  }
18392
18393  public class ServiceSpecificException extends java.lang.RuntimeException {
18394    ctor public ServiceSpecificException(int);
18395    ctor public ServiceSpecificException(int, @Nullable String);
18396    field public final int errorCode;
18397  }
18398
18399  public final class StatsDimensionsValue implements android.os.Parcelable {
18400    method public int describeContents();
18401    method public boolean getBooleanValue();
18402    method public int getField();
18403    method public float getFloatValue();
18404    method public int getIntValue();
18405    method public long getLongValue();
18406    method public String getStringValue();
18407    method public java.util.List<android.os.StatsDimensionsValue> getTupleValueList();
18408    method public int getValueType();
18409    method public boolean isValueType(int);
18410    method public void writeToParcel(android.os.Parcel, int);
18411    field public static final int BOOLEAN_VALUE_TYPE = 5; // 0x5
18412    field @NonNull public static final android.os.Parcelable.Creator<android.os.StatsDimensionsValue> CREATOR;
18413    field public static final int FLOAT_VALUE_TYPE = 6; // 0x6
18414    field public static final int INT_VALUE_TYPE = 3; // 0x3
18415    field public static final int LONG_VALUE_TYPE = 4; // 0x4
18416    field public static final int STRING_VALUE_TYPE = 2; // 0x2
18417    field public static final int TUPLE_VALUE_TYPE = 7; // 0x7
18418  }
18419
18420  public class SystemConfigManager {
18421    method @NonNull @RequiresPermission(android.Manifest.permission.READ_CARRIER_APP_INFO) public java.util.Set<java.lang.String> getDisabledUntilUsedPreinstalledCarrierApps();
18422    method @NonNull @RequiresPermission(android.Manifest.permission.READ_CARRIER_APP_INFO) public java.util.Map<java.lang.String,java.util.List<java.lang.String>> getDisabledUntilUsedPreinstalledCarrierAssociatedApps();
18423    method @NonNull @RequiresPermission(android.Manifest.permission.GET_RUNTIME_PERMISSIONS) public int[] getSystemPermissionUids(@NonNull String);
18424  }
18425
18426  public class SystemProperties {
18427    method @NonNull public static String get(@NonNull String);
18428    method @NonNull public static String get(@NonNull String, @Nullable String);
18429    method public static boolean getBoolean(@NonNull String, boolean);
18430    method public static int getInt(@NonNull String, int);
18431    method public static long getLong(@NonNull String, long);
18432  }
18433
18434  public class SystemUpdateManager {
18435    method @RequiresPermission(anyOf={android.Manifest.permission.READ_SYSTEM_UPDATE_INFO, android.Manifest.permission.RECOVERY}) public android.os.Bundle retrieveSystemUpdateInfo();
18436    method @RequiresPermission(android.Manifest.permission.RECOVERY) public void updateSystemUpdateInfo(android.os.PersistableBundle);
18437    field public static final String KEY_IS_SECURITY_UPDATE = "is_security_update";
18438    field public static final String KEY_STATUS = "status";
18439    field public static final String KEY_TARGET_BUILD_FINGERPRINT = "target_build_fingerprint";
18440    field public static final String KEY_TARGET_SECURITY_PATCH_LEVEL = "target_security_patch_level";
18441    field public static final String KEY_TITLE = "title";
18442    field public static final int STATUS_IDLE = 1; // 0x1
18443    field public static final int STATUS_IN_PROGRESS = 3; // 0x3
18444    field public static final int STATUS_UNKNOWN = 0; // 0x0
18445    field public static final int STATUS_WAITING_DOWNLOAD = 2; // 0x2
18446    field public static final int STATUS_WAITING_INSTALL = 4; // 0x4
18447    field public static final int STATUS_WAITING_REBOOT = 5; // 0x5
18448  }
18449
18450  public final class Trace {
18451    field public static final long TRACE_TAG_AIDL = 16777216L; // 0x1000000L
18452  }
18453
18454  public class UpdateEngine {
18455    ctor public UpdateEngine();
18456    method @NonNull @WorkerThread public android.os.UpdateEngine.AllocateSpaceResult allocateSpace(@NonNull String, @NonNull String[]);
18457    method public void applyPayload(@NonNull android.content.res.AssetFileDescriptor, @NonNull String[]);
18458    method public void applyPayload(String, long, long, String[]);
18459    method public boolean bind(android.os.UpdateEngineCallback);
18460    method public boolean bind(android.os.UpdateEngineCallback, android.os.Handler);
18461    method public void cancel();
18462    method @WorkerThread public int cleanupAppliedPayload();
18463    method public void resetShouldSwitchSlotOnReboot();
18464    method public void resetStatus();
18465    method public void resume();
18466    method public void setShouldSwitchSlotOnReboot(@NonNull String);
18467    method public void suspend();
18468    method public boolean unbind();
18469    method public boolean verifyPayloadMetadata(String);
18470  }
18471
18472  public static final class UpdateEngine.AllocateSpaceResult {
18473    method public int getErrorCode();
18474    method public long getFreeSpaceRequired();
18475  }
18476
18477  public static final class UpdateEngine.ErrorCodeConstants {
18478    ctor public UpdateEngine.ErrorCodeConstants();
18479    field public static final int DEVICE_CORRUPTED = 61; // 0x3d
18480    field public static final int DOWNLOAD_PAYLOAD_VERIFICATION_ERROR = 12; // 0xc
18481    field public static final int DOWNLOAD_TRANSFER_ERROR = 9; // 0x9
18482    field public static final int ERROR = 1; // 0x1
18483    field public static final int FILESYSTEM_COPIER_ERROR = 4; // 0x4
18484    field public static final int INSTALL_DEVICE_OPEN_ERROR = 7; // 0x7
18485    field public static final int KERNEL_DEVICE_OPEN_ERROR = 8; // 0x8
18486    field public static final int NOT_ENOUGH_SPACE = 60; // 0x3c
18487    field public static final int PAYLOAD_HASH_MISMATCH_ERROR = 10; // 0xa
18488    field public static final int PAYLOAD_MISMATCHED_TYPE_ERROR = 6; // 0x6
18489    field public static final int PAYLOAD_SIZE_MISMATCH_ERROR = 11; // 0xb
18490    field public static final int PAYLOAD_TIMESTAMP_ERROR = 51; // 0x33
18491    field public static final int POST_INSTALL_RUNNER_ERROR = 5; // 0x5
18492    field public static final int SUCCESS = 0; // 0x0
18493    field public static final int UPDATED_BUT_NOT_ACTIVE = 52; // 0x34
18494  }
18495
18496  public static final class UpdateEngine.UpdateStatusConstants {
18497    ctor public UpdateEngine.UpdateStatusConstants();
18498    field public static final int ATTEMPTING_ROLLBACK = 8; // 0x8
18499    field public static final int CHECKING_FOR_UPDATE = 1; // 0x1
18500    field public static final int DISABLED = 9; // 0x9
18501    field public static final int DOWNLOADING = 3; // 0x3
18502    field public static final int FINALIZING = 5; // 0x5
18503    field public static final int IDLE = 0; // 0x0
18504    field public static final int REPORTING_ERROR_EVENT = 7; // 0x7
18505    field public static final int UPDATED_NEED_REBOOT = 6; // 0x6
18506    field public static final int UPDATE_AVAILABLE = 2; // 0x2
18507    field public static final int VERIFYING = 4; // 0x4
18508  }
18509
18510  public abstract class UpdateEngineCallback {
18511    ctor public UpdateEngineCallback();
18512    method public abstract void onPayloadApplicationComplete(int);
18513    method public abstract void onStatusUpdate(int, float);
18514  }
18515
18516  public final class UserHandle implements android.os.Parcelable {
18517    method @NonNull public static String formatUid(int);
18518    method public static int getAppId(int);
18519    method public int getIdentifier();
18520    method public static int getSharedAppGid(int);
18521    method public int getUid(int);
18522    method @Deprecated public boolean isOwner();
18523    method public boolean isSystem();
18524    method public static int myUserId();
18525    method public static android.os.UserHandle of(int);
18526    field @NonNull public static final android.os.UserHandle ALL;
18527    field @NonNull public static final android.os.UserHandle CURRENT;
18528    field @NonNull public static final android.os.UserHandle SYSTEM;
18529  }
18530
18531  public class UserManager {
18532    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean canHaveRestrictedProfile();
18533    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void clearSeedAccountData();
18534    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;
18535    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public android.os.NewUserResponse createUser(@NonNull android.os.NewUserRequest);
18536    method @NonNull public java.util.List<android.os.UserHandle> getAllProfiles();
18537    method @NonNull public java.util.List<android.os.UserHandle> getEnabledProfiles();
18538    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS, android.Manifest.permission.QUERY_USERS}) public android.os.UserHandle getMainUser();
18539    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS, android.Manifest.permission.QUERY_USERS}) public android.os.UserHandle getPreviousForegroundUser();
18540    method @NonNull public String getProfileLabel();
18541    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}) public android.os.UserHandle getProfileParent(@NonNull android.os.UserHandle);
18542    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS, android.Manifest.permission.QUERY_USERS}) public int getRemainingCreatableProfileCount(@NonNull String);
18543    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS, android.Manifest.permission.QUERY_USERS}) public int getRemainingCreatableUserCount(@NonNull String);
18544    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS, android.Manifest.permission.QUERY_USERS}) public android.os.UserHandle getRestrictedProfileParent();
18545    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public String getSeedAccountName();
18546    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public android.os.PersistableBundle getSeedAccountOptions();
18547    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public String getSeedAccountType();
18548    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public long[] getSerialNumbersOfUsers(boolean);
18549    method @NonNull public android.graphics.drawable.Drawable getUserBadge();
18550    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public java.util.List<android.os.UserHandle> getUserHandles(boolean);
18551    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.GET_ACCOUNTS_PRIVILEGED}) public android.graphics.Bitmap getUserIcon();
18552    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);
18553    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.QUERY_USERS}) public int getUserRestrictionSource(String, android.os.UserHandle);
18554    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);
18555    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}) public int getUserSwitchability();
18556    method @NonNull @RequiresPermission(anyOf={"android.permission.INTERACT_ACROSS_USERS", "android.permission.MANAGE_USERS"}) public java.util.Set<android.os.UserHandle> getVisibleUsers();
18557    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean hasRestrictedProfiles();
18558    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);
18559    method public boolean isCloneProfile();
18560    method @Deprecated public boolean isCredentialSharableWithParent();
18561    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS, android.Manifest.permission.QUERY_USERS}) public boolean isGuestUser();
18562    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS, android.Manifest.permission.QUERY_USERS}) public boolean isMainUser();
18563    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);
18564    method @Deprecated public boolean isMediaSharedWithParent();
18565    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS, android.Manifest.permission.QUERY_USERS}) public boolean isPrimaryUser();
18566    method public boolean isPrivateProfile();
18567    method public static boolean isRemoveResultSuccessful(int);
18568    method public boolean isRestrictedProfile();
18569    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);
18570    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.QUERY_USERS}) public boolean isSameProfileGroup(@NonNull android.os.UserHandle, @NonNull android.os.UserHandle);
18571    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();
18572    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS, android.Manifest.permission.QUERY_USERS}) public boolean isUserOfType(@NonNull String);
18573    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional=true) public boolean isUserUnlockingOrUnlocked(@NonNull android.os.UserHandle);
18574    method public boolean isUserVisible();
18575    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean removeUser(@NonNull android.os.UserHandle);
18576    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public int removeUserWhenPossible(@NonNull android.os.UserHandle, boolean);
18577    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public void setBootUser(@NonNull android.os.UserHandle);
18578    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void setUserIcon(@NonNull android.graphics.Bitmap) throws android.os.UserManager.UserOperationException;
18579    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void setUserName(@Nullable String);
18580    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.CREATE_USERS}) public boolean someUserHasAccount(@NonNull String, @NonNull String);
18581    field @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public static final String ACTION_CREATE_SUPERVISED_USER = "android.os.action.CREATE_SUPERVISED_USER";
18582    field public static final String ACTION_USER_RESTRICTIONS_CHANGED = "android.os.action.USER_RESTRICTIONS_CHANGED";
18583    field @Deprecated public static final String DISALLOW_OEM_UNLOCK = "no_oem_unlock";
18584    field public static final String DISALLOW_RUN_IN_BACKGROUND = "no_run_in_background";
18585    field public static final int REMOVE_RESULT_ALREADY_BEING_REMOVED = 2; // 0x2
18586    field public static final int REMOVE_RESULT_DEFERRED = 1; // 0x1
18587    field public static final int REMOVE_RESULT_ERROR_MAIN_USER_PERMANENT_ADMIN = -5; // 0xfffffffb
18588    field public static final int REMOVE_RESULT_ERROR_SYSTEM_USER = -4; // 0xfffffffc
18589    field public static final int REMOVE_RESULT_ERROR_UNKNOWN = -1; // 0xffffffff
18590    field public static final int REMOVE_RESULT_ERROR_USER_NOT_FOUND = -3; // 0xfffffffd
18591    field public static final int REMOVE_RESULT_ERROR_USER_RESTRICTION = -2; // 0xfffffffe
18592    field public static final int REMOVE_RESULT_REMOVED = 0; // 0x0
18593    field public static final int RESTRICTION_NOT_SET = 0; // 0x0
18594    field public static final int RESTRICTION_SOURCE_DEVICE_OWNER = 2; // 0x2
18595    field public static final int RESTRICTION_SOURCE_PROFILE_OWNER = 4; // 0x4
18596    field public static final int RESTRICTION_SOURCE_SYSTEM = 1; // 0x1
18597    field public static final int SWITCHABILITY_STATUS_OK = 0; // 0x0
18598    field public static final int SWITCHABILITY_STATUS_SYSTEM_USER_LOCKED = 4; // 0x4
18599    field public static final int SWITCHABILITY_STATUS_USER_IN_CALL = 1; // 0x1
18600    field public static final int SWITCHABILITY_STATUS_USER_SWITCH_DISALLOWED = 2; // 0x2
18601    field public static final int USER_OPERATION_ERROR_USER_ACCOUNT_ALREADY_EXISTS = 7; // 0x7
18602    field public static final String USER_TYPE_FULL_GUEST = "android.os.usertype.full.GUEST";
18603    field public static final String USER_TYPE_FULL_SECONDARY = "android.os.usertype.full.SECONDARY";
18604    field public static final String USER_TYPE_FULL_SYSTEM = "android.os.usertype.full.SYSTEM";
18605    field public static final String USER_TYPE_SYSTEM_HEADLESS = "android.os.usertype.system.HEADLESS";
18606  }
18607
18608  public static final class UserManager.EnforcingUser implements android.os.Parcelable {
18609    method public int describeContents();
18610    method public android.os.UserHandle getUserHandle();
18611    method public int getUserRestrictionSource();
18612    method public void writeToParcel(android.os.Parcel, int);
18613    field @NonNull public static final android.os.Parcelable.Creator<android.os.UserManager.EnforcingUser> CREATOR;
18614  }
18615
18616  public abstract class VibrationEffect implements android.os.Parcelable {
18617    method @NonNull @RequiresPermission(android.Manifest.permission.VIBRATE_VENDOR_EFFECTS) public static android.os.VibrationEffect createVendorEffect(@NonNull android.os.PersistableBundle);
18618  }
18619
18620  public abstract class Vibrator {
18621    method @RequiresPermission(android.Manifest.permission.ACCESS_VIBRATOR_STATE) public void addVibratorStateListener(@NonNull android.os.Vibrator.OnVibratorStateChangedListener);
18622    method @RequiresPermission(android.Manifest.permission.ACCESS_VIBRATOR_STATE) public void addVibratorStateListener(@NonNull java.util.concurrent.Executor, @NonNull android.os.Vibrator.OnVibratorStateChangedListener);
18623    method public boolean areVendorEffectsSupported();
18624    method public boolean areVendorSessionsSupported();
18625    method @RequiresPermission(android.Manifest.permission.ACCESS_VIBRATOR_STATE) public boolean isVibrating();
18626    method @RequiresPermission(android.Manifest.permission.ACCESS_VIBRATOR_STATE) public void removeVibratorStateListener(@NonNull android.os.Vibrator.OnVibratorStateChangedListener);
18627    method @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);
18628  }
18629
18630  public static interface Vibrator.OnVibratorStateChangedListener {
18631    method public void onVibratorStateChanged(boolean);
18632  }
18633
18634  public class WorkSource implements android.os.Parcelable {
18635    ctor public WorkSource(int);
18636    ctor public WorkSource(int, @NonNull String);
18637    method public android.os.WorkSource.WorkChain createWorkChain();
18638    method @Nullable public String getPackageName(int);
18639    method public int getUid(int);
18640    method @Nullable public java.util.List<android.os.WorkSource.WorkChain> getWorkChains();
18641    method public boolean isEmpty();
18642    method public int size();
18643    method @NonNull public android.os.WorkSource withoutNames();
18644  }
18645
18646  public static final class WorkSource.WorkChain implements android.os.Parcelable {
18647    ctor public WorkSource.WorkChain();
18648    method public android.os.WorkSource.WorkChain addNode(int, @Nullable String);
18649    method public int describeContents();
18650    method public String getAttributionTag();
18651    method public int getAttributionUid();
18652    method public void writeToParcel(android.os.Parcel, int);
18653    field @NonNull public static final android.os.Parcelable.Creator<android.os.WorkSource.WorkChain> CREATOR;
18654  }
18655
18656}
18657
18658package android.os.connectivity {
18659
18660  public final class CellularBatteryStats implements android.os.Parcelable {
18661    method public int describeContents();
18662    method public long getEnergyConsumedMaMillis();
18663    method public long getIdleTimeMillis();
18664    method public long getKernelActiveTimeMillis();
18665    method public long getLoggingDurationMillis();
18666    method public long getMonitoredRailChargeConsumedMaMillis();
18667    method public long getNumBytesRx();
18668    method public long getNumBytesTx();
18669    method public long getNumPacketsRx();
18670    method public long getNumPacketsTx();
18671    method public long getRxTimeMillis();
18672    method public long getSleepTimeMillis();
18673    method public long getTimeInRatMicros(int);
18674    method public long getTimeInRxSignalStrengthLevelMicros(@IntRange(from=android.telephony.CellSignalStrength.SIGNAL_STRENGTH_NONE_OR_UNKNOWN, to=android.telephony.CellSignalStrength.SIGNAL_STRENGTH_GREAT) int);
18675    method public long getTxTimeMillis(@IntRange(from=android.telephony.ModemActivityInfo.TX_POWER_LEVEL_0, to=android.telephony.ModemActivityInfo.TX_POWER_LEVEL_4) int);
18676    method public void writeToParcel(@NonNull android.os.Parcel, int);
18677    field @NonNull public static final android.os.Parcelable.Creator<android.os.connectivity.CellularBatteryStats> CREATOR;
18678  }
18679
18680  public final class WifiActivityEnergyInfo implements android.os.Parcelable {
18681    ctor public WifiActivityEnergyInfo(long, int, @IntRange(from=0) long, @IntRange(from=0) long, @IntRange(from=0) long, @IntRange(from=0) long);
18682    method public int describeContents();
18683    method @IntRange(from=0) public long getControllerEnergyUsedMicroJoules();
18684    method @IntRange(from=0) public long getControllerIdleDurationMillis();
18685    method @IntRange(from=0) public long getControllerRxDurationMillis();
18686    method @IntRange(from=0) public long getControllerScanDurationMillis();
18687    method @IntRange(from=0) public long getControllerTxDurationMillis();
18688    method public int getStackState();
18689    method public long getTimeSinceBootMillis();
18690    method public void writeToParcel(@NonNull android.os.Parcel, int);
18691    field @NonNull public static final android.os.Parcelable.Creator<android.os.connectivity.WifiActivityEnergyInfo> CREATOR;
18692    field public static final int STACK_STATE_INVALID = 0; // 0x0
18693    field public static final int STACK_STATE_STATE_ACTIVE = 1; // 0x1
18694    field public static final int STACK_STATE_STATE_IDLE = 3; // 0x3
18695    field public static final int STACK_STATE_STATE_SCANNING = 2; // 0x2
18696  }
18697
18698  public final class WifiBatteryStats implements android.os.Parcelable {
18699    method public int describeContents();
18700    method public long getAppScanRequestCount();
18701    method public long getEnergyConsumedMaMillis();
18702    method public long getIdleTimeMillis();
18703    method public long getKernelActiveTimeMillis();
18704    method public long getLoggingDurationMillis();
18705    method public long getMonitoredRailChargeConsumedMaMillis();
18706    method public long getNumBytesRx();
18707    method public long getNumBytesTx();
18708    method public long getNumPacketsRx();
18709    method public long getNumPacketsTx();
18710    method public long getRxTimeMillis();
18711    method public long getScanTimeMillis();
18712    method public long getSleepTimeMillis();
18713    method public long getTxTimeMillis();
18714    method public void writeToParcel(@NonNull android.os.Parcel, int);
18715    field @NonNull public static final android.os.Parcelable.Creator<android.os.connectivity.WifiBatteryStats> CREATOR;
18716  }
18717
18718}
18719
18720package android.os.flagging {
18721
18722  public class AconfigStorageWriteException extends android.util.AndroidRuntimeException {
18723    ctor public AconfigStorageWriteException(@NonNull String);
18724    ctor public AconfigStorageWriteException(@NonNull String, @NonNull Throwable);
18725  }
18726
18727  public final class FlagManager {
18728    method public void clearBooleanLocalOverridesImmediately(@Nullable java.util.Set<java.lang.String>);
18729    method public void clearBooleanLocalOverridesOnReboot(@Nullable java.util.Set<java.lang.String>);
18730    method public void setBooleanLocalOverridesImmediately(@NonNull java.util.Map<java.lang.String,java.lang.Boolean>);
18731    method public void setBooleanLocalOverridesOnReboot(@NonNull java.util.Map<java.lang.String,java.lang.Boolean>);
18732    method public void setBooleanOverridesOnReboot(@NonNull java.util.Map<java.lang.String,java.lang.Boolean>);
18733    method public void setBooleanOverridesOnSystemBuildFingerprint(@NonNull String, @NonNull java.util.Map<java.lang.String,java.lang.Boolean>);
18734  }
18735
18736}
18737
18738package android.os.image {
18739
18740  public class DynamicSystemClient {
18741    ctor public DynamicSystemClient(@NonNull android.content.Context);
18742    method @RequiresPermission(android.Manifest.permission.INSTALL_DYNAMIC_SYSTEM) public void bind();
18743    method public void setOnStatusChangedListener(@NonNull android.os.image.DynamicSystemClient.OnStatusChangedListener);
18744    method public void setOnStatusChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.os.image.DynamicSystemClient.OnStatusChangedListener);
18745    method @RequiresPermission(android.Manifest.permission.INSTALL_DYNAMIC_SYSTEM) public void start(@NonNull android.net.Uri, long);
18746    method @RequiresPermission(android.Manifest.permission.INSTALL_DYNAMIC_SYSTEM) public void start(@NonNull android.net.Uri, long, long);
18747    method @RequiresPermission(android.Manifest.permission.INSTALL_DYNAMIC_SYSTEM) public void unbind();
18748    field public static final int CAUSE_ERROR_EXCEPTION = 6; // 0x6
18749    field public static final int CAUSE_ERROR_INVALID_URL = 4; // 0x4
18750    field public static final int CAUSE_ERROR_IO = 3; // 0x3
18751    field public static final int CAUSE_ERROR_IPC = 5; // 0x5
18752    field public static final int CAUSE_INSTALL_CANCELLED = 2; // 0x2
18753    field public static final int CAUSE_INSTALL_COMPLETED = 1; // 0x1
18754    field public static final int CAUSE_NOT_SPECIFIED = 0; // 0x0
18755    field public static final int STATUS_IN_PROGRESS = 2; // 0x2
18756    field public static final int STATUS_IN_USE = 4; // 0x4
18757    field public static final int STATUS_NOT_STARTED = 1; // 0x1
18758    field public static final int STATUS_READY = 3; // 0x3
18759    field public static final int STATUS_UNKNOWN = 0; // 0x0
18760  }
18761
18762  public static interface DynamicSystemClient.OnStatusChangedListener {
18763    method public void onStatusChanged(int, int, long, @Nullable Throwable);
18764  }
18765
18766}
18767
18768package android.os.storage {
18769
18770  public class StorageManager {
18771    method @WorkerThread public void allocateBytes(java.io.FileDescriptor, long, @RequiresPermission int) throws java.io.IOException;
18772    method @WorkerThread public void allocateBytes(@NonNull java.util.UUID, long, @RequiresPermission int) throws java.io.IOException;
18773    method @WorkerThread public long getAllocatableBytes(@NonNull java.util.UUID, @RequiresPermission int) throws java.io.IOException;
18774    method @RequiresPermission(android.Manifest.permission.WRITE_MEDIA_STORAGE) public int getExternalStorageMountMode(int, @NonNull String);
18775    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getInternalStorageRemainingLifetime();
18776    method public static boolean hasIsolatedStorage();
18777    method public void updateExternalStorageFileQuotaType(@NonNull java.io.File, int) throws java.io.IOException;
18778    field @RequiresPermission(android.Manifest.permission.ALLOCATE_AGGRESSIVE) public static final int FLAG_ALLOCATE_AGGRESSIVE = 1; // 0x1
18779    field public static final int MOUNT_MODE_EXTERNAL_ANDROID_WRITABLE = 4; // 0x4
18780    field public static final int MOUNT_MODE_EXTERNAL_DEFAULT = 1; // 0x1
18781    field public static final int MOUNT_MODE_EXTERNAL_INSTALLER = 2; // 0x2
18782    field public static final int MOUNT_MODE_EXTERNAL_NONE = 0; // 0x0
18783    field public static final int MOUNT_MODE_EXTERNAL_PASS_THROUGH = 3; // 0x3
18784    field public static final int QUOTA_TYPE_MEDIA_AUDIO = 2; // 0x2
18785    field public static final int QUOTA_TYPE_MEDIA_IMAGE = 1; // 0x1
18786    field public static final int QUOTA_TYPE_MEDIA_NONE = 0; // 0x0
18787    field public static final int QUOTA_TYPE_MEDIA_VIDEO = 3; // 0x3
18788  }
18789
18790  public final class StorageVolume implements android.os.Parcelable {
18791    method @NonNull public String getId();
18792    method public boolean isExternallyManaged();
18793  }
18794
18795}
18796
18797package android.os.vibrator {
18798
18799  public final class VendorVibrationSession implements java.lang.AutoCloseable {
18800    method public void cancel();
18801    method public void close();
18802    method @RequiresPermission(android.Manifest.permission.VIBRATE) public void vibrate(@NonNull android.os.VibrationEffect, @Nullable String);
18803    field public static final int STATUS_CANCELED = 4; // 0x4
18804    field public static final int STATUS_IGNORED = 2; // 0x2
18805    field public static final int STATUS_SUCCESS = 1; // 0x1
18806    field public static final int STATUS_UNKNOWN = 0; // 0x0
18807    field public static final int STATUS_UNKNOWN_ERROR = 5; // 0x5
18808    field public static final int STATUS_UNSUPPORTED = 3; // 0x3
18809  }
18810
18811  public static interface VendorVibrationSession.Callback {
18812    method public void onFinished(int);
18813    method public void onFinishing();
18814    method public void onStarted(@NonNull android.os.vibrator.VendorVibrationSession);
18815  }
18816
18817}
18818
18819package android.os.vibrator.persistence {
18820
18821  public final class ParsedVibration {
18822    method @Nullable public android.os.VibrationEffect resolve(@NonNull android.os.Vibrator);
18823  }
18824
18825  public final class VibrationXmlParser {
18826    method @NonNull public static android.os.vibrator.persistence.ParsedVibration parse(@NonNull java.io.InputStream) throws java.io.IOException;
18827    method @NonNull public static android.os.VibrationEffect parseVibrationEffect(@NonNull java.io.InputStream) throws java.io.IOException;
18828  }
18829
18830}
18831
18832package android.permission {
18833
18834  public final class AdminPermissionControlParams implements android.os.Parcelable {
18835    method public boolean canAdminGrantSensorsPermissions();
18836    method public int describeContents();
18837    method public int getGrantState();
18838    method @NonNull public String getGranteePackageName();
18839    method @NonNull public String getPermission();
18840    method public void writeToParcel(@NonNull android.os.Parcel, int);
18841    field @NonNull public static final android.os.Parcelable.Creator<android.permission.AdminPermissionControlParams> CREATOR;
18842  }
18843
18844  public final class PermissionControllerManager {
18845    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>);
18846    method @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public void getHibernationEligibility(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.IntConsumer);
18847    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[]>);
18848    method public void getUnusedAppCount(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.IntConsumer);
18849    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);
18850    method @RequiresPermission(anyOf={android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS, android.Manifest.permission.RESTORE_RUNTIME_PERMISSIONS}) public void stageAndApplyRuntimePermissionsBackup(@NonNull byte[], @NonNull android.os.UserHandle);
18851    field public static final int COUNT_ONLY_WHEN_GRANTED = 1; // 0x1
18852    field public static final int COUNT_WHEN_SYSTEM = 2; // 0x2
18853    field public static final int HIBERNATION_ELIGIBILITY_ELIGIBLE = 0; // 0x0
18854    field public static final int HIBERNATION_ELIGIBILITY_EXEMPT_BY_SYSTEM = 1; // 0x1
18855    field public static final int HIBERNATION_ELIGIBILITY_EXEMPT_BY_USER = 2; // 0x2
18856    field public static final int HIBERNATION_ELIGIBILITY_UNKNOWN = -1; // 0xffffffff
18857    field public static final int REASON_INSTALLER_POLICY_VIOLATION = 2; // 0x2
18858    field public static final int REASON_MALWARE = 1; // 0x1
18859  }
18860
18861  public abstract static class PermissionControllerManager.OnRevokeRuntimePermissionsCallback {
18862    ctor public PermissionControllerManager.OnRevokeRuntimePermissionsCallback();
18863    method public abstract void onRevokeRuntimePermissions(@NonNull java.util.Map<java.lang.String,java.util.List<java.lang.String>>);
18864  }
18865
18866  public abstract class PermissionControllerService extends android.app.Service {
18867    ctor public PermissionControllerService();
18868    method @Deprecated @NonNull @RequiresPermission("android.permission.MANAGE_COMPANION_DEVICES") public String getPrivilegesDescriptionStringForProfile(@NonNull String);
18869    method @BinderThread public void onApplyStagedRuntimePermissionBackup(@NonNull String, @NonNull android.os.UserHandle, @NonNull java.util.function.Consumer<java.lang.Boolean>);
18870    method @NonNull public final android.os.IBinder onBind(android.content.Intent);
18871    method @BinderThread public abstract void onCountPermissionApps(@NonNull java.util.List<java.lang.String>, int, @NonNull java.util.function.IntConsumer);
18872    method @BinderThread public abstract void onGetAppPermissions(@NonNull String, @NonNull java.util.function.Consumer<java.util.List<android.permission.RuntimePermissionPresentationInfo>>);
18873    method @BinderThread public void onGetGroupOfPlatformPermission(@NonNull String, @NonNull java.util.function.Consumer<java.lang.String>);
18874    method @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public void onGetHibernationEligibility(@NonNull String, @NonNull java.util.function.IntConsumer);
18875    method @BinderThread public abstract void onGetPermissionUsages(boolean, long, @NonNull java.util.function.Consumer<java.util.List<android.permission.RuntimePermissionUsageInfo>>);
18876    method @BinderThread public void onGetPlatformPermissionsForGroup(@NonNull String, @NonNull java.util.function.Consumer<java.util.List<java.lang.String>>);
18877    method @BinderThread public abstract void onGetRuntimePermissionsBackup(@NonNull android.os.UserHandle, @NonNull java.io.OutputStream, @NonNull Runnable);
18878    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_APP_HIBERNATION) public void onGetUnusedAppCount(@NonNull java.util.function.IntConsumer);
18879    method @BinderThread public abstract void onGrantOrUpgradeDefaultRuntimePermissions(@NonNull Runnable);
18880    method @Deprecated @BinderThread public void onOneTimePermissionSessionTimeout(@NonNull String);
18881    method @BinderThread public void onOneTimePermissionSessionTimeout(@NonNull String, int);
18882    method @Deprecated @BinderThread public void onRestoreDelayedRuntimePermissionsBackup(@NonNull String, @NonNull android.os.UserHandle, @NonNull java.util.function.Consumer<java.lang.Boolean>);
18883    method @Deprecated @BinderThread public void onRestoreRuntimePermissionsBackup(@NonNull android.os.UserHandle, @NonNull java.io.InputStream, @NonNull Runnable);
18884    method @BinderThread public abstract void onRevokeRuntimePermission(@NonNull String, @NonNull String, @NonNull Runnable);
18885    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>>>);
18886    method @BinderThread public void onRevokeSelfPermissionsOnKill(@NonNull String, @NonNull java.util.List<java.lang.String>, int, @NonNull Runnable);
18887    method @Deprecated @BinderThread public void onRevokeSelfPermissionsOnKill(@NonNull String, @NonNull java.util.List<java.lang.String>, @NonNull Runnable);
18888    method @BinderThread public void onSetRuntimePermissionGrantStateByDeviceAdmin(@NonNull String, @NonNull android.permission.AdminPermissionControlParams, @NonNull java.util.function.Consumer<java.lang.Boolean>);
18889    method @Deprecated @BinderThread public abstract void onSetRuntimePermissionGrantStateByDeviceAdmin(@NonNull String, @NonNull String, @NonNull String, int, @NonNull java.util.function.Consumer<java.lang.Boolean>);
18890    method @BinderThread public void onStageAndApplyRuntimePermissionsBackup(@NonNull android.os.UserHandle, @NonNull java.io.InputStream, @NonNull Runnable);
18891    method @BinderThread public void onUpdateUserSensitivePermissionFlags(int, @NonNull Runnable);
18892    method @BinderThread public void onUpdateUserSensitivePermissionFlags(int, @NonNull java.util.concurrent.Executor, @NonNull Runnable);
18893    field public static final String SERVICE_INTERFACE = "android.permission.PermissionControllerService";
18894  }
18895
18896  public final class PermissionGroupUsage implements android.os.Parcelable {
18897    method public int describeContents();
18898    method @Nullable public CharSequence getAttributionLabel();
18899    method @Nullable public CharSequence getAttributionTag();
18900    method public long getLastAccessTimeMillis();
18901    method @NonNull public String getPackageName();
18902    method @NonNull public String getPermissionGroupName();
18903    method @NonNull public String getPersistentDeviceId();
18904    method @Nullable public CharSequence getProxyLabel();
18905    method public int getUid();
18906    method public boolean isActive();
18907    method public boolean isPhoneCall();
18908    method public void writeToParcel(@NonNull android.os.Parcel, int);
18909    field @NonNull public static final android.os.Parcelable.Creator<android.permission.PermissionGroupUsage> CREATOR;
18910  }
18911
18912  public final class PermissionManager {
18913    method public int checkDeviceIdentifierAccess(@Nullable String, @Nullable String, @Nullable String, int, int);
18914    method public int checkPermission(@NonNull String, @NonNull String, @NonNull String);
18915    method @RequiresPermission(value=android.Manifest.permission.UPDATE_APP_OPS_STATS, conditional=true) public int checkPermissionForDataDelivery(@NonNull String, @NonNull android.content.AttributionSource, @Nullable String);
18916    method @RequiresPermission(value=android.Manifest.permission.UPDATE_APP_OPS_STATS, conditional=true) public int checkPermissionForDataDeliveryFromDataSource(@NonNull String, @NonNull android.content.AttributionSource, @Nullable String);
18917    method public int checkPermissionForPreflight(@NonNull String, @NonNull android.content.AttributionSource);
18918    method @RequiresPermission(value=android.Manifest.permission.UPDATE_APP_OPS_STATS, conditional=true) public int checkPermissionForStartDataDelivery(@NonNull String, @NonNull android.content.AttributionSource, @Nullable String);
18919    method public void finishDataDelivery(@NonNull String, @NonNull android.content.AttributionSource);
18920    method @NonNull @RequiresPermission(anyOf={android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS, android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS, android.Manifest.permission.GET_RUNTIME_PERMISSIONS}) public java.util.Map<java.lang.String,android.permission.PermissionManager.PermissionState> getAllPermissionStates(@NonNull String, @NonNull String);
18921    method @NonNull @RequiresPermission(android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY) public java.util.Set<java.lang.String> getAutoRevokeExemptionGrantedPackages();
18922    method @NonNull @RequiresPermission(android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY) public java.util.Set<java.lang.String> getAutoRevokeExemptionRequestedPackages();
18923    method @RequiresPermission(anyOf={android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS, android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS, android.Manifest.permission.GET_RUNTIME_PERMISSIONS}) public int getPermissionFlags(@NonNull String, @NonNull String, @NonNull String);
18924    method @IntRange(from=0) @RequiresPermission(anyOf={android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY, android.Manifest.permission.UPGRADE_RUNTIME_PERMISSIONS}) public int getRuntimePermissionsVersion();
18925    method @NonNull public java.util.List<android.permission.PermissionManager.SplitPermissionInfo> getSplitPermissions();
18926    method @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public void grantRuntimePermission(@NonNull String, @NonNull String, @NonNull String);
18927    method @RequiresPermission(android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS) public void revokeRuntimePermission(@NonNull String, @NonNull String, @NonNull String, @Nullable String);
18928    method @RequiresPermission(anyOf={android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY, android.Manifest.permission.UPGRADE_RUNTIME_PERMISSIONS}) public void setRuntimePermissionsVersion(@IntRange(from=0) int);
18929    method @Deprecated @RequiresPermission(android.Manifest.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS) public void startOneTimePermissionSession(@NonNull String, long, int, int);
18930    method @RequiresPermission(android.Manifest.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS) public void startOneTimePermissionSession(@NonNull String, long, long, int, int);
18931    method @RequiresPermission(android.Manifest.permission.MANAGE_ONE_TIME_PERMISSION_SESSIONS) public void stopOneTimePermissionSession(@NonNull String);
18932    method @RequiresPermission(anyOf={android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS, android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS}) public void updatePermissionFlags(@NonNull String, @NonNull String, @NonNull String, int, int);
18933    field @RequiresPermission(android.Manifest.permission.START_REVIEW_PERMISSION_DECISIONS) public static final String ACTION_REVIEW_PERMISSION_DECISIONS = "android.permission.action.REVIEW_PERMISSION_DECISIONS";
18934    field public static final String EXTRA_PERMISSION_USAGES = "android.permission.extra.PERMISSION_USAGES";
18935    field public static final int PERMISSION_GRANTED = 0; // 0x0
18936    field public static final int PERMISSION_HARD_DENIED = 2; // 0x2
18937    field public static final int PERMISSION_SOFT_DENIED = 1; // 0x1
18938  }
18939
18940  public static final class PermissionManager.PermissionState implements android.os.Parcelable {
18941    method public int describeContents();
18942    method public int getFlags();
18943    method public boolean isGranted();
18944    method public void writeToParcel(@NonNull android.os.Parcel, int);
18945    field @NonNull public static final android.os.Parcelable.Creator<android.permission.PermissionManager.PermissionState> CREATOR;
18946  }
18947
18948  public static final class PermissionManager.SplitPermissionInfo {
18949    method @NonNull public java.util.List<java.lang.String> getNewPermissions();
18950    method @NonNull public String getSplitPermission();
18951    method public int getTargetSdk();
18952  }
18953
18954  public final class RuntimePermissionPresentationInfo implements android.os.Parcelable {
18955    ctor public RuntimePermissionPresentationInfo(@NonNull CharSequence, boolean, boolean);
18956    method public int describeContents();
18957    method @NonNull public CharSequence getLabel();
18958    method public boolean isGranted();
18959    method public boolean isStandard();
18960    method public void writeToParcel(android.os.Parcel, int);
18961    field @NonNull public static final android.os.Parcelable.Creator<android.permission.RuntimePermissionPresentationInfo> CREATOR;
18962  }
18963
18964  public final class RuntimePermissionUsageInfo implements android.os.Parcelable {
18965    ctor public RuntimePermissionUsageInfo(@NonNull String, int);
18966    method public int describeContents();
18967    method public int getAppAccessCount();
18968    method @NonNull public String getName();
18969    method public void writeToParcel(android.os.Parcel, int);
18970    field @NonNull public static final android.os.Parcelable.Creator<android.permission.RuntimePermissionUsageInfo> CREATOR;
18971  }
18972
18973}
18974
18975package android.permissionpresenterservice {
18976
18977  @Deprecated public abstract class RuntimePermissionPresenterService extends android.app.Service {
18978    ctor @Deprecated public RuntimePermissionPresenterService();
18979    method @Deprecated public final void attachBaseContext(android.content.Context);
18980    method @Deprecated public final android.os.IBinder onBind(android.content.Intent);
18981    method @Deprecated public abstract java.util.List<android.content.pm.permission.RuntimePermissionPresentationInfo> onGetAppPermissions(@NonNull String);
18982    field @Deprecated public static final String SERVICE_INTERFACE = "android.permissionpresenterservice.RuntimePermissionPresenterService";
18983  }
18984
18985}
18986
18987package android.preference {
18988
18989  @Deprecated public class PreferenceManager {
18990    method @Deprecated public boolean isStorageCredentialProtected();
18991    method @Deprecated public void setStorageCredentialProtected();
18992  }
18993
18994}
18995
18996package android.print {
18997
18998  public final class PrintManager {
18999    method @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICE_RECOMMENDATIONS) public void addPrintServiceRecommendationsChangeListener(@NonNull android.print.PrintManager.PrintServiceRecommendationsChangeListener, @Nullable android.os.Handler);
19000    method @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICES) public void addPrintServicesChangeListener(@NonNull android.print.PrintManager.PrintServicesChangeListener, @Nullable android.os.Handler);
19001    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICE_RECOMMENDATIONS) public java.util.List<android.printservice.recommendation.RecommendationInfo> getPrintServiceRecommendations();
19002    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICES) public java.util.List<android.printservice.PrintServiceInfo> getPrintServices(int);
19003    method @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICE_RECOMMENDATIONS) public void removePrintServiceRecommendationsChangeListener(@NonNull android.print.PrintManager.PrintServiceRecommendationsChangeListener);
19004    method @RequiresPermission(android.Manifest.permission.READ_PRINT_SERVICES) public void removePrintServicesChangeListener(@NonNull android.print.PrintManager.PrintServicesChangeListener);
19005    field public static final int ENABLED_SERVICES = 1; // 0x1
19006  }
19007
19008  public static interface PrintManager.PrintServiceRecommendationsChangeListener {
19009    method public void onPrintServiceRecommendationsChanged();
19010  }
19011
19012  public static interface PrintManager.PrintServicesChangeListener {
19013    method public void onPrintServicesChanged();
19014  }
19015
19016}
19017
19018package android.printservice {
19019
19020  public final class PrintServiceInfo implements android.os.Parcelable {
19021    method public int describeContents();
19022    method @NonNull public android.content.ComponentName getComponentName();
19023    method public void writeToParcel(android.os.Parcel, int);
19024    field @NonNull public static final android.os.Parcelable.Creator<android.printservice.PrintServiceInfo> CREATOR;
19025  }
19026
19027}
19028
19029package android.printservice.recommendation {
19030
19031  public final class RecommendationInfo implements android.os.Parcelable {
19032    ctor @Deprecated public RecommendationInfo(@NonNull CharSequence, @NonNull CharSequence, @IntRange(from=0) int, boolean);
19033    ctor public RecommendationInfo(@NonNull CharSequence, @NonNull CharSequence, @NonNull java.util.List<java.net.InetAddress>, boolean);
19034    method public int describeContents();
19035    method @NonNull public java.util.List<java.net.InetAddress> getDiscoveredPrinters();
19036    method public CharSequence getName();
19037    method public int getNumDiscoveredPrinters();
19038    method public CharSequence getPackageName();
19039    method public boolean recommendsMultiVendorService();
19040    method public void writeToParcel(android.os.Parcel, int);
19041    field @NonNull public static final android.os.Parcelable.Creator<android.printservice.recommendation.RecommendationInfo> CREATOR;
19042  }
19043
19044  public abstract class RecommendationService extends android.app.Service {
19045    ctor public RecommendationService();
19046    method public final android.os.IBinder onBind(android.content.Intent);
19047    method public abstract void onConnected();
19048    method public abstract void onDisconnected();
19049    method public final void updateRecommendations(@Nullable java.util.List<android.printservice.recommendation.RecommendationInfo>);
19050    field public static final String SERVICE_INTERFACE = "android.printservice.recommendation.RecommendationService";
19051  }
19052
19053}
19054
19055package android.provider {
19056
19057  public class CallLog {
19058    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>);
19059  }
19060
19061  public static class CallLog.CallComposerLoggingException extends java.lang.Throwable {
19062    ctor public CallLog.CallComposerLoggingException(int);
19063    method public int getErrorCode();
19064    field public static final int ERROR_INPUT_CLOSED = 3; // 0x3
19065    field public static final int ERROR_REMOTE_END_CLOSED = 1; // 0x1
19066    field public static final int ERROR_STORAGE_FULL = 2; // 0x2
19067    field public static final int ERROR_UNKNOWN = 0; // 0x0
19068  }
19069
19070  @Deprecated public static final class ContactsContract.MetadataSync implements android.provider.BaseColumns android.provider.ContactsContract.MetadataSyncColumns {
19071    field @Deprecated public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/contact_metadata";
19072    field @Deprecated public static final String CONTENT_TYPE = "vnd.android.cursor.dir/contact_metadata";
19073    field @Deprecated public static final android.net.Uri CONTENT_URI;
19074    field @Deprecated public static final String METADATA_AUTHORITY = "com.android.contacts.metadata";
19075    field @Deprecated public static final android.net.Uri METADATA_AUTHORITY_URI;
19076  }
19077
19078  @Deprecated protected static interface ContactsContract.MetadataSyncColumns {
19079    field @Deprecated public static final String ACCOUNT_NAME = "account_name";
19080    field @Deprecated public static final String ACCOUNT_TYPE = "account_type";
19081    field @Deprecated public static final String DATA = "data";
19082    field @Deprecated public static final String DATA_SET = "data_set";
19083    field @Deprecated public static final String DELETED = "deleted";
19084    field @Deprecated public static final String RAW_CONTACT_BACKUP_ID = "raw_contact_backup_id";
19085  }
19086
19087  @Deprecated public static final class ContactsContract.MetadataSyncState implements android.provider.BaseColumns android.provider.ContactsContract.MetadataSyncStateColumns {
19088    field @Deprecated public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/contact_metadata_sync_state";
19089    field @Deprecated public static final String CONTENT_TYPE = "vnd.android.cursor.dir/contact_metadata_sync_state";
19090    field @Deprecated public static final android.net.Uri CONTENT_URI;
19091  }
19092
19093  @Deprecated protected static interface ContactsContract.MetadataSyncStateColumns {
19094    field @Deprecated public static final String ACCOUNT_NAME = "account_name";
19095    field @Deprecated public static final String ACCOUNT_TYPE = "account_type";
19096    field @Deprecated public static final String DATA_SET = "data_set";
19097    field @Deprecated public static final String STATE = "state";
19098  }
19099
19100  public static final class ContactsContract.RawContacts.DefaultAccount {
19101    method @NonNull @RequiresPermission(android.Manifest.permission.SET_DEFAULT_ACCOUNT_FOR_CONTACTS) public static java.util.List<android.accounts.Account> getEligibleCloudAccounts(@NonNull android.content.ContentResolver);
19102    method @RequiresPermission(allOf={android.Manifest.permission.READ_CONTACTS, android.Manifest.permission.SET_DEFAULT_ACCOUNT_FOR_CONTACTS}) public static int getNumberOfMovableLocalContacts(@NonNull android.content.ContentResolver);
19103    method @RequiresPermission(allOf={android.Manifest.permission.READ_CONTACTS, android.Manifest.permission.SET_DEFAULT_ACCOUNT_FOR_CONTACTS}) public static int getNumberOfMovableSimContacts(@NonNull android.content.ContentResolver);
19104    method @RequiresPermission(allOf={android.Manifest.permission.WRITE_CONTACTS, android.Manifest.permission.SET_DEFAULT_ACCOUNT_FOR_CONTACTS}) public static void moveLocalContactsToCloudDefaultAccount(@NonNull android.content.ContentResolver);
19105    method @RequiresPermission(allOf={android.Manifest.permission.WRITE_CONTACTS, android.Manifest.permission.SET_DEFAULT_ACCOUNT_FOR_CONTACTS}) public static void moveSimContactsToCloudDefaultAccount(@NonNull android.content.ContentResolver);
19106    method @RequiresPermission(android.Manifest.permission.SET_DEFAULT_ACCOUNT_FOR_CONTACTS) public static void setDefaultAccountForNewContacts(@NonNull android.content.ContentResolver, @NonNull android.provider.ContactsContract.RawContacts.DefaultAccount.DefaultAccountAndState);
19107  }
19108
19109  public static final class ContactsContract.Settings implements android.provider.ContactsContract.SettingsColumns {
19110    method @Deprecated @RequiresPermission(android.Manifest.permission.SET_DEFAULT_ACCOUNT_FOR_CONTACTS) public static void setDefaultAccount(@NonNull android.content.ContentResolver, @Nullable android.accounts.Account);
19111  }
19112
19113  public static final class ContactsContract.SimContacts {
19114    method @RequiresPermission("android.contacts.permission.MANAGE_SIM_ACCOUNTS") public static void addSimAccount(@NonNull android.content.ContentResolver, @NonNull String, @NonNull String, int, int);
19115    method @RequiresPermission("android.contacts.permission.MANAGE_SIM_ACCOUNTS") public static void removeSimAccounts(@NonNull android.content.ContentResolver, int);
19116  }
19117
19118  public final class DeviceConfig {
19119    method public static void addOnPropertiesChangedListener(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.provider.DeviceConfig.OnPropertiesChangedListener);
19120    method @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static void clearAllLocalOverrides();
19121    method @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static void clearLocalOverride(@NonNull String, @NonNull String);
19122    method @RequiresPermission(android.Manifest.permission.MONITOR_DEVICE_CONFIG_ACCESS) public static void clearMonitorCallback(@NonNull android.content.ContentResolver);
19123    method @RequiresPermission(anyOf={android.Manifest.permission.WRITE_DEVICE_CONFIG, android.Manifest.permission.WRITE_ALLOWLISTED_DEVICE_CONFIG}) public static boolean deleteProperty(@NonNull String, @NonNull String);
19124    method @NonNull public static java.util.Set<java.lang.String> getAdbWritableFlags();
19125    method @NonNull public static java.util.Set<java.lang.String> getAdbWritableNamespaces();
19126    method @NonNull public static java.util.Set<android.provider.DeviceConfig.Properties> getAllProperties();
19127    method public static boolean getBoolean(@NonNull String, @NonNull String, boolean);
19128    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static float getFloat(@NonNull String, @NonNull String, float);
19129    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static int getInt(@NonNull String, @NonNull String, int);
19130    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static long getLong(@NonNull String, @NonNull String, long);
19131    method @NonNull @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static android.provider.DeviceConfig.Properties getProperties(@NonNull String, @NonNull java.lang.String...);
19132    method @Nullable public static String getProperty(@NonNull String, @NonNull String);
19133    method @NonNull public static java.util.List<java.lang.String> getPublicNamespaces();
19134    method @Nullable @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static String getString(@NonNull String, @NonNull String, @Nullable String);
19135    method @RequiresPermission(anyOf={android.Manifest.permission.WRITE_DEVICE_CONFIG, android.Manifest.permission.READ_WRITE_SYNC_DISABLED_MODE_CONFIG}) public static int getSyncDisabledMode();
19136    method @NonNull public static java.util.Map<java.lang.String,java.util.Map<java.lang.String,java.lang.String>> getUnderlyingValuesForOverriddenFlags();
19137    method public static void removeOnPropertiesChangedListener(@NonNull android.provider.DeviceConfig.OnPropertiesChangedListener);
19138    method @RequiresPermission(anyOf={android.Manifest.permission.WRITE_DEVICE_CONFIG, android.Manifest.permission.WRITE_ALLOWLISTED_DEVICE_CONFIG}) public static void resetToDefaults(int, @Nullable String);
19139    method @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static boolean setLocalOverride(@NonNull String, @NonNull String, @NonNull String);
19140    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);
19141    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;
19142    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);
19143    method @RequiresPermission(anyOf={android.Manifest.permission.WRITE_DEVICE_CONFIG, android.Manifest.permission.READ_WRITE_SYNC_DISABLED_MODE_CONFIG}) public static void setSyncDisabledMode(int);
19144    field public static final String NAMESPACE_ACCESSIBILITY = "accessibility";
19145    field public static final String NAMESPACE_ACTIVITY_MANAGER = "activity_manager";
19146    field public static final String NAMESPACE_ACTIVITY_MANAGER_NATIVE_BOOT = "activity_manager_native_boot";
19147    field public static final String NAMESPACE_ADSERVICES = "adservices";
19148    field public static final String NAMESPACE_AMBIENT_CONTEXT_MANAGER_SERVICE = "ambient_context_manager_service";
19149    field public static final String NAMESPACE_ANDROID = "android";
19150    field public static final String NAMESPACE_APPSEARCH = "appsearch";
19151    field public static final String NAMESPACE_APP_COMPAT = "app_compat";
19152    field public static final String NAMESPACE_APP_COMPAT_OVERRIDES = "app_compat_overrides";
19153    field public static final String NAMESPACE_APP_HIBERNATION = "app_hibernation";
19154    field public static final String NAMESPACE_ATTENTION_MANAGER_SERVICE = "attention_manager_service";
19155    field public static final String NAMESPACE_AUTOFILL = "autofill";
19156    field public static final String NAMESPACE_AUTO_PIN_CONFIRMATION = "auto_pin_confirmation";
19157    field public static final String NAMESPACE_BACKUP_AND_RESTORE = "backup_and_restore";
19158    field public static final String NAMESPACE_BATTERY_SAVER = "battery_saver";
19159    field public static final String NAMESPACE_BIOMETRICS = "biometrics";
19160    field public static final String NAMESPACE_BLOBSTORE = "blobstore";
19161    field public static final String NAMESPACE_BLUETOOTH = "bluetooth";
19162    field public static final String NAMESPACE_CAMERA_NATIVE = "camera_native";
19163    field public static final String NAMESPACE_CAPTIVEPORTALLOGIN = "captive_portal_login";
19164    field public static final String NAMESPACE_CELLULAR_SECURITY = "cellular_security";
19165    field public static final String NAMESPACE_CLIPBOARD = "clipboard";
19166    field public static final String NAMESPACE_CONNECTIVITY = "connectivity";
19167    field public static final String NAMESPACE_CONSTRAIN_DISPLAY_APIS = "constrain_display_apis";
19168    field public static final String NAMESPACE_CONTENT_CAPTURE = "content_capture";
19169    field public static final String NAMESPACE_CORE_EXPERIMENTS_TEAM_INTERNAL = "core_experiments_team_internal";
19170    field public static final String NAMESPACE_CREDENTIAL = "credential_manager";
19171    field @Deprecated public static final String NAMESPACE_DEX_BOOT = "dex_boot";
19172    field public static final String NAMESPACE_DISPLAY_MANAGER = "display_manager";
19173    field public static final String NAMESPACE_EDGETPU_NATIVE = "edgetpu_native";
19174    field public static final String NAMESPACE_GAME_DRIVER = "game_driver";
19175    field public static final String NAMESPACE_HDMI_CONTROL = "hdmi_control";
19176    field public static final String NAMESPACE_HEALTH_FITNESS = "health_fitness";
19177    field public static final String NAMESPACE_INPUT_METHOD_MANAGER = "input_method_manager";
19178    field public static final String NAMESPACE_INPUT_NATIVE_BOOT = "input_native_boot";
19179    field public static final String NAMESPACE_INTELLIGENCE_ATTENTION = "intelligence_attention";
19180    field public static final String NAMESPACE_JOB_SCHEDULER = "jobscheduler";
19181    field public static final String NAMESPACE_LMKD_NATIVE = "lmkd_native";
19182    field public static final String NAMESPACE_LOCATION = "location";
19183    field public static final String NAMESPACE_MEDIA = "media";
19184    field public static final String NAMESPACE_MEDIA_NATIVE = "media_native";
19185    field public static final String NAMESPACE_NEARBY = "nearby";
19186    field public static final String NAMESPACE_NETD_NATIVE = "netd_native";
19187    field public static final String NAMESPACE_NFC = "nfc";
19188    field public static final String NAMESPACE_NNAPI_NATIVE = "nnapi_native";
19189    field public static final String NAMESPACE_ON_DEVICE_PERSONALIZATION = "on_device_personalization";
19190    field public static final String NAMESPACE_OTA = "ota";
19191    field public static final String NAMESPACE_PACKAGE_MANAGER_SERVICE = "package_manager_service";
19192    field public static final String NAMESPACE_PERMISSIONS = "permissions";
19193    field public static final String NAMESPACE_PRIVACY = "privacy";
19194    field public static final String NAMESPACE_PROFCOLLECT_NATIVE_BOOT = "profcollect_native_boot";
19195    field public static final String NAMESPACE_REBOOT_READINESS = "reboot_readiness";
19196    field public static final String NAMESPACE_REMOTE_AUTH = "remote_auth";
19197    field public static final String NAMESPACE_ROLLBACK = "rollback";
19198    field public static final String NAMESPACE_ROLLBACK_BOOT = "rollback_boot";
19199    field public static final String NAMESPACE_RUNTIME = "runtime";
19200    field public static final String NAMESPACE_RUNTIME_NATIVE = "runtime_native";
19201    field public static final String NAMESPACE_RUNTIME_NATIVE_BOOT = "runtime_native_boot";
19202    field public static final String NAMESPACE_SCHEDULER = "scheduler";
19203    field public static final String NAMESPACE_SDK_SANDBOX = "sdk_sandbox";
19204    field public static final String NAMESPACE_SELECTION_TOOLBAR = "selection_toolbar";
19205    field public static final String NAMESPACE_STATSD_JAVA = "statsd_java";
19206    field public static final String NAMESPACE_STATSD_JAVA_BOOT = "statsd_java_boot";
19207    field public static final String NAMESPACE_STATSD_NATIVE = "statsd_native";
19208    field public static final String NAMESPACE_STATSD_NATIVE_BOOT = "statsd_native_boot";
19209    field @Deprecated public static final String NAMESPACE_STORAGE = "storage";
19210    field public static final String NAMESPACE_STORAGE_NATIVE_BOOT = "storage_native_boot";
19211    field public static final String NAMESPACE_SURFACE_FLINGER_NATIVE_BOOT = "surface_flinger_native_boot";
19212    field public static final String NAMESPACE_SWCODEC_NATIVE = "swcodec_native";
19213    field public static final String NAMESPACE_SYSTEMUI = "systemui";
19214    field public static final String NAMESPACE_SYSTEM_TIME = "system_time";
19215    field public static final String NAMESPACE_TELEPHONY = "telephony";
19216    field public static final String NAMESPACE_TETHERING = "tethering";
19217    field public static final String NAMESPACE_TEXTCLASSIFIER = "textclassifier";
19218    field public static final String NAMESPACE_UWB = "uwb";
19219    field public static final String NAMESPACE_WEARABLE_SENSING = "wearable_sensing";
19220    field public static final String NAMESPACE_WINDOW_MANAGER_NATIVE_BOOT = "window_manager_native_boot";
19221    field public static final int SYNC_DISABLED_MODE_NONE = 0; // 0x0
19222    field public static final int SYNC_DISABLED_MODE_PERSISTENT = 1; // 0x1
19223    field public static final int SYNC_DISABLED_MODE_UNTIL_REBOOT = 2; // 0x2
19224  }
19225
19226  public static class DeviceConfig.BadConfigException extends java.lang.Exception {
19227    ctor public DeviceConfig.BadConfigException();
19228  }
19229
19230  public static interface DeviceConfig.MonitorCallback {
19231    method public void onDeviceConfigAccess(@NonNull String, @NonNull String);
19232    method public void onNamespaceUpdate(@NonNull String);
19233  }
19234
19235  public static interface DeviceConfig.OnPropertiesChangedListener {
19236    method public void onPropertiesChanged(@NonNull android.provider.DeviceConfig.Properties);
19237  }
19238
19239  public static class DeviceConfig.Properties {
19240    method public boolean getBoolean(@NonNull String, boolean);
19241    method public float getFloat(@NonNull String, float);
19242    method public int getInt(@NonNull String, int);
19243    method @NonNull public java.util.Set<java.lang.String> getKeyset();
19244    method public long getLong(@NonNull String, long);
19245    method @NonNull public String getNamespace();
19246    method @Nullable public String getString(@NonNull String, @Nullable String);
19247  }
19248
19249  public static final class DeviceConfig.Properties.Builder {
19250    ctor public DeviceConfig.Properties.Builder(@NonNull String);
19251    method @NonNull public android.provider.DeviceConfig.Properties build();
19252    method @NonNull public android.provider.DeviceConfig.Properties.Builder setBoolean(@NonNull String, boolean);
19253    method @NonNull public android.provider.DeviceConfig.Properties.Builder setFloat(@NonNull String, float);
19254    method @NonNull public android.provider.DeviceConfig.Properties.Builder setInt(@NonNull String, int);
19255    method @NonNull public android.provider.DeviceConfig.Properties.Builder setLong(@NonNull String, long);
19256    method @NonNull public android.provider.DeviceConfig.Properties.Builder setString(@NonNull String, @Nullable String);
19257  }
19258
19259  public final class DocumentsContract {
19260    method @NonNull public static android.net.Uri buildDocumentUriAsUser(@NonNull String, @NonNull String, @NonNull android.os.UserHandle);
19261    method public static boolean isManageMode(@NonNull android.net.Uri);
19262    method @NonNull public static android.net.Uri setManageMode(@NonNull android.net.Uri);
19263    field public static final String ACTION_DOCUMENT_ROOT_SETTINGS = "android.provider.action.DOCUMENT_ROOT_SETTINGS";
19264    field public static final String ACTION_MANAGE_DOCUMENT = "android.provider.action.MANAGE_DOCUMENT";
19265    field public static final String DOWNLOADS_PROVIDER_AUTHORITY = "downloads";
19266    field public static final String EXTERNAL_STORAGE_PROVIDER_AUTHORITY = "com.android.externalstorage.documents";
19267    field public static final String EXTRA_SHOW_ADVANCED = "android.provider.extra.SHOW_ADVANCED";
19268  }
19269
19270  public static final class DocumentsContract.Root {
19271    field public static final int FLAG_ADVANCED = 65536; // 0x10000
19272    field public static final int FLAG_HAS_SETTINGS = 131072; // 0x20000
19273    field public static final int FLAG_REMOVABLE_SD = 262144; // 0x40000
19274    field public static final int FLAG_REMOVABLE_USB = 524288; // 0x80000
19275  }
19276
19277  public final class E2eeContactKeysManager {
19278    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);
19279    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);
19280    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);
19281  }
19282
19283  public interface MediaCognitionGetVersionsCallback {
19284    method public void onFailure(@NonNull String);
19285    method public void onSuccess(@NonNull android.provider.MediaCognitionProcessingVersions);
19286  }
19287
19288  public interface MediaCognitionProcessingCallback {
19289    method public void onFailure(@NonNull String);
19290    method public void onSuccess(@NonNull java.util.List<android.provider.MediaCognitionProcessingResponse>);
19291  }
19292
19293  public final class MediaCognitionProcessingRequest implements android.os.Parcelable {
19294    method public boolean checkProcessingRequired(int);
19295    method public int describeContents();
19296    method public int getProcessingCombination();
19297    method @NonNull public android.net.Uri getUri();
19298    method public void writeToParcel(@NonNull android.os.Parcel, int);
19299    field @NonNull public static final android.os.Parcelable.Creator<android.provider.MediaCognitionProcessingRequest> CREATOR;
19300  }
19301
19302  public static final class MediaCognitionProcessingRequest.Builder {
19303    ctor public MediaCognitionProcessingRequest.Builder(@NonNull android.net.Uri);
19304    method @NonNull public android.provider.MediaCognitionProcessingRequest.Builder addProcessingRequest(int);
19305    method @NonNull public android.provider.MediaCognitionProcessingRequest build();
19306    method @NonNull public android.provider.MediaCognitionProcessingRequest.Builder setProcessingCombination(int);
19307  }
19308
19309  public class MediaCognitionProcessingResponse {
19310    method @Nullable public java.util.List<java.lang.String> getImageLabels();
19311    method @Nullable public String getImageOcrLatin();
19312    method @NonNull public android.provider.MediaCognitionProcessingRequest getRequest();
19313  }
19314
19315  public static final class MediaCognitionProcessingResponse.Builder {
19316    ctor public MediaCognitionProcessingResponse.Builder(@NonNull android.provider.MediaCognitionProcessingRequest);
19317    method @NonNull public android.provider.MediaCognitionProcessingResponse build();
19318    method @NonNull public android.provider.MediaCognitionProcessingResponse.Builder setImageLabels(@Nullable java.util.List<java.lang.String>);
19319    method @NonNull public android.provider.MediaCognitionProcessingResponse.Builder setImageOcrLatin(@Nullable String);
19320  }
19321
19322  public final class MediaCognitionProcessingVersions implements android.os.Parcelable {
19323    ctor public MediaCognitionProcessingVersions();
19324    method public int describeContents();
19325    method public int getProcessingVersion(int);
19326    method public void setProcessingVersion(int, int);
19327    method public void writeToParcel(@NonNull android.os.Parcel, int);
19328    field @NonNull public static final android.os.Parcelable.Creator<android.provider.MediaCognitionProcessingVersions> CREATOR;
19329  }
19330
19331  public abstract class MediaCognitionService extends android.app.Service {
19332    ctor public MediaCognitionService();
19333    method @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent);
19334    method public abstract void onGetProcessingVersions(@NonNull android.provider.MediaCognitionGetVersionsCallback);
19335    method public abstract void onProcessMedia(@NonNull java.util.List<android.provider.MediaCognitionProcessingRequest>, @Nullable android.os.CancellationSignal, @NonNull android.provider.MediaCognitionProcessingCallback);
19336    field public static final String BIND_MEDIA_COGNITION_SERVICE = "com.android.providers.media.permission.BIND_MEDIA_COGNITION_SERVICE";
19337    field public static final String SERVICE_INTERFACE = "android.provider.MediaCognitionService";
19338  }
19339
19340  public static interface MediaCognitionService.ProcessingTypes {
19341    field public static final int IMAGE_LABEL = 2; // 0x2
19342    field public static final int IMAGE_OCR_LATIN = 1; // 0x1
19343  }
19344
19345  public final class MediaStore {
19346    method @NonNull public static android.net.Uri rewriteToLegacy(@NonNull android.net.Uri);
19347    method @NonNull @WorkerThread public static android.net.Uri scanFile(@NonNull android.content.ContentResolver, @NonNull java.io.File);
19348    method @WorkerThread public static void scanVolume(@NonNull android.content.ContentResolver, @NonNull String);
19349    method @WorkerThread public static void waitForIdle(@NonNull android.content.ContentResolver);
19350    field public static final String ACTION_USER_SELECT_IMAGES_FOR_APP = "android.provider.action.USER_SELECT_IMAGES_FOR_APP";
19351    field public static final String AUTHORITY_LEGACY = "media_legacy";
19352    field @NonNull public static final android.net.Uri AUTHORITY_LEGACY_URI;
19353    field public static final String QUERY_ARG_DEFER_SCAN = "android:query-arg-defer-scan";
19354  }
19355
19356  public abstract class OemMetadataService extends android.app.Service {
19357    ctor public OemMetadataService();
19358    method @NonNull public final android.os.IBinder onBind(@Nullable android.content.Intent);
19359    method @NonNull public abstract java.util.Map<java.lang.String,java.lang.String> onGetOemCustomData(@NonNull android.os.ParcelFileDescriptor);
19360    method @NonNull public abstract java.util.Set<java.lang.String> onGetSupportedMimeTypes();
19361    field public static final String BIND_OEM_METADATA_SERVICE_PERMISSION = "com.android.providers.media.permission.BIND_OEM_METADATA_SERVICE";
19362    field public static final String SERVICE_INTERFACE = "android.provider.OemMetadataService";
19363  }
19364
19365  public abstract class SearchIndexableData {
19366    ctor public SearchIndexableData();
19367    ctor public SearchIndexableData(android.content.Context);
19368    field public String className;
19369    field public android.content.Context context;
19370    field public boolean enabled;
19371    field public int iconResId;
19372    field public String intentAction;
19373    field public String intentTargetClass;
19374    field public String intentTargetPackage;
19375    field public String key;
19376    field public java.util.Locale locale;
19377    field public String packageName;
19378    field public int rank;
19379    field public int userId;
19380  }
19381
19382  public class SearchIndexableResource extends android.provider.SearchIndexableData {
19383    ctor public SearchIndexableResource(android.content.Context);
19384    ctor public SearchIndexableResource(int, int, String, int);
19385    field public int xmlResId;
19386  }
19387
19388  public class SearchIndexablesContract {
19389    ctor public SearchIndexablesContract();
19390    field public static final int COLUMN_INDEX_NON_INDEXABLE_KEYS_KEY_VALUE = 0; // 0x0
19391    field public static final int COLUMN_INDEX_RAW_CLASS_NAME = 7; // 0x7
19392    field public static final int COLUMN_INDEX_RAW_ENTRIES = 4; // 0x4
19393    field public static final int COLUMN_INDEX_RAW_ICON_RESID = 8; // 0x8
19394    field public static final int COLUMN_INDEX_RAW_INTENT_ACTION = 9; // 0x9
19395    field public static final int COLUMN_INDEX_RAW_INTENT_TARGET_CLASS = 11; // 0xb
19396    field public static final int COLUMN_INDEX_RAW_INTENT_TARGET_PACKAGE = 10; // 0xa
19397    field public static final int COLUMN_INDEX_RAW_KEY = 12; // 0xc
19398    field public static final int COLUMN_INDEX_RAW_KEYWORDS = 5; // 0x5
19399    field public static final int COLUMN_INDEX_RAW_RANK = 0; // 0x0
19400    field public static final int COLUMN_INDEX_RAW_SCREEN_TITLE = 6; // 0x6
19401    field public static final int COLUMN_INDEX_RAW_SUMMARY_OFF = 3; // 0x3
19402    field public static final int COLUMN_INDEX_RAW_SUMMARY_ON = 2; // 0x2
19403    field public static final int COLUMN_INDEX_RAW_TITLE = 1; // 0x1
19404    field public static final int COLUMN_INDEX_RAW_USER_ID = 13; // 0xd
19405    field public static final int COLUMN_INDEX_XML_RES_CLASS_NAME = 2; // 0x2
19406    field public static final int COLUMN_INDEX_XML_RES_ICON_RESID = 3; // 0x3
19407    field public static final int COLUMN_INDEX_XML_RES_INTENT_ACTION = 4; // 0x4
19408    field public static final int COLUMN_INDEX_XML_RES_INTENT_TARGET_CLASS = 6; // 0x6
19409    field public static final int COLUMN_INDEX_XML_RES_INTENT_TARGET_PACKAGE = 5; // 0x5
19410    field public static final int COLUMN_INDEX_XML_RES_RANK = 0; // 0x0
19411    field public static final int COLUMN_INDEX_XML_RES_RESID = 1; // 0x1
19412    field public static final String DYNAMIC_INDEXABLES_RAW = "dynamic_indexables_raw";
19413    field public static final String DYNAMIC_INDEXABLES_RAW_PATH = "settings/dynamic_indexables_raw";
19414    field public static final String INDEXABLES_RAW = "indexables_raw";
19415    field public static final String[] INDEXABLES_RAW_COLUMNS;
19416    field public static final String INDEXABLES_RAW_PATH = "settings/indexables_raw";
19417    field public static final String INDEXABLES_XML_RES = "indexables_xml_res";
19418    field public static final String[] INDEXABLES_XML_RES_COLUMNS;
19419    field public static final String INDEXABLES_XML_RES_PATH = "settings/indexables_xml_res";
19420    field public static final String NON_INDEXABLES_KEYS = "non_indexables_key";
19421    field public static final String[] NON_INDEXABLES_KEYS_COLUMNS;
19422    field public static final String NON_INDEXABLES_KEYS_PATH = "settings/non_indexables_key";
19423    field public static final String PROVIDER_INTERFACE = "android.content.action.SEARCH_INDEXABLES_PROVIDER";
19424    field public static final String SLICE_URI_PAIRS = "slice_uri_pairs";
19425    field @NonNull public static final String[] SLICE_URI_PAIRS_COLUMNS;
19426    field public static final String SLICE_URI_PAIRS_PATH = "settings/slice_uri_pairs";
19427  }
19428
19429  public static class SearchIndexablesContract.BaseColumns {
19430    field public static final String COLUMN_CLASS_NAME = "className";
19431    field public static final String COLUMN_ICON_RESID = "iconResId";
19432    field public static final String COLUMN_INTENT_ACTION = "intentAction";
19433    field public static final String COLUMN_INTENT_TARGET_CLASS = "intentTargetClass";
19434    field public static final String COLUMN_INTENT_TARGET_PACKAGE = "intentTargetPackage";
19435    field public static final String COLUMN_RANK = "rank";
19436  }
19437
19438  public static final class SearchIndexablesContract.NonIndexableKey extends android.provider.SearchIndexablesContract.BaseColumns {
19439    field public static final String COLUMN_KEY_VALUE = "key";
19440    field public static final String MIME_TYPE = "vnd.android.cursor.dir/non_indexables_key";
19441  }
19442
19443  public static final class SearchIndexablesContract.RawData extends android.provider.SearchIndexablesContract.BaseColumns {
19444    field public static final String COLUMN_ENTRIES = "entries";
19445    field public static final String COLUMN_KEY = "key";
19446    field public static final String COLUMN_KEYWORDS = "keywords";
19447    field public static final String COLUMN_SCREEN_TITLE = "screenTitle";
19448    field public static final String COLUMN_SUMMARY_OFF = "summaryOff";
19449    field public static final String COLUMN_SUMMARY_ON = "summaryOn";
19450    field public static final String COLUMN_TITLE = "title";
19451    field public static final String COLUMN_USER_ID = "user_id";
19452    field public static final String MIME_TYPE = "vnd.android.cursor.dir/indexables_raw";
19453  }
19454
19455  public static final class SearchIndexablesContract.SliceUriPairColumns {
19456    field public static final String KEY = "key";
19457    field public static final String SLICE_URI = "slice_uri";
19458  }
19459
19460  public static final class SearchIndexablesContract.XmlResource extends android.provider.SearchIndexablesContract.BaseColumns {
19461    field public static final String COLUMN_XML_RESID = "xmlResId";
19462    field public static final String MIME_TYPE = "vnd.android.cursor.dir/indexables_xml_res";
19463  }
19464
19465  public abstract class SearchIndexablesProvider extends android.content.ContentProvider {
19466    ctor public SearchIndexablesProvider();
19467    method public final int delete(android.net.Uri, String, String[]);
19468    method public String getType(android.net.Uri);
19469    method public final android.net.Uri insert(android.net.Uri, android.content.ContentValues);
19470    method public android.database.Cursor query(android.net.Uri, String[], String, String[], String);
19471    method @Nullable public android.database.Cursor queryDynamicRawData(@Nullable String[]);
19472    method public abstract android.database.Cursor queryNonIndexableKeys(String[]);
19473    method public abstract android.database.Cursor queryRawData(String[]);
19474    method @Nullable public android.database.Cursor querySliceUriPairs();
19475    method public abstract android.database.Cursor queryXmlResources(String[]);
19476    method public final int update(android.net.Uri, android.content.ContentValues, String, String[]);
19477  }
19478
19479  public final class Settings {
19480    method @Deprecated public static boolean checkAndNoteWriteSettingsOperation(@NonNull android.content.Context, int, @NonNull String, boolean);
19481    method public static boolean checkAndNoteWriteSettingsOperation(@NonNull android.content.Context, int, @NonNull String, @Nullable String, boolean);
19482    field public static final String ACTION_ACCESSIBILITY_DETAILS_SETTINGS = "android.settings.ACCESSIBILITY_DETAILS_SETTINGS";
19483    field @RequiresPermission(android.Manifest.permission.LAUNCH_PERMISSION_SETTINGS) public static final String ACTION_APP_PERMISSIONS_SETTINGS = "android.settings.APP_PERMISSIONS_SETTINGS";
19484    field public static final String ACTION_BEDTIME_SETTINGS = "android.settings.BEDTIME_SETTINGS";
19485    field public static final String ACTION_BUGREPORT_HANDLER_SETTINGS = "android.settings.BUGREPORT_HANDLER_SETTINGS";
19486    field public static final String ACTION_ENTERPRISE_PRIVACY_SETTINGS = "android.settings.ENTERPRISE_PRIVACY_SETTINGS";
19487    field public static final String ACTION_LOCATION_CONTROLLER_EXTRA_PACKAGE_SETTINGS = "android.settings.LOCATION_CONTROLLER_EXTRA_PACKAGE_SETTINGS";
19488    field public static final String ACTION_MANAGE_APP_OVERLAY_PERMISSION = "android.settings.MANAGE_APP_OVERLAY_PERMISSION";
19489    field public static final String ACTION_MANAGE_DOMAIN_URLS = "android.settings.MANAGE_DOMAIN_URLS";
19490    field public static final String ACTION_MANAGE_MORE_DEFAULT_APPS_SETTINGS = "android.settings.MANAGE_MORE_DEFAULT_APPS_SETTINGS";
19491    field public static final String ACTION_NOTIFICATION_POLICY_ACCESS_DETAIL_SETTINGS = "android.settings.NOTIFICATION_POLICY_ACCESS_DETAIL_SETTINGS";
19492    field public static final String ACTION_REQUEST_ENABLE_CONTENT_CAPTURE = "android.settings.REQUEST_ENABLE_CONTENT_CAPTURE";
19493    field public static final String ACTION_SHOW_ADMIN_SUPPORT_DETAILS = "android.settings.SHOW_ADMIN_SUPPORT_DETAILS";
19494    field public static final String ACTION_SHOW_RESTRICTED_SETTING_DIALOG = "android.settings.SHOW_RESTRICTED_SETTING_DIALOG";
19495    field public static final String ACTION_SIM_PREFERENCE_SETTINGS = "android.settings.SIM_PREFERENCE_SETTINGS";
19496    field public static final String ACTION_TETHER_PROVISIONING_UI = "android.settings.TETHER_PROVISIONING_UI";
19497    field public static final String ACTION_TETHER_SETTINGS = "android.settings.TETHER_SETTINGS";
19498    field public static final String ACTION_TETHER_UNSUPPORTED_CARRIER_UI = "android.settings.TETHER_UNSUPPORTED_CARRIER_UI";
19499    field public static final String ACTION_USER_SETTINGS = "android.settings.USER_SETTINGS";
19500  }
19501
19502  public static final class Settings.Global extends android.provider.Settings.NameValueTable {
19503    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public static boolean putString(@NonNull android.content.ContentResolver, @NonNull String, @Nullable String, @Nullable String, boolean);
19504    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public static void resetToDefaults(@NonNull android.content.ContentResolver, @Nullable String);
19505    field public static final String AIRPLANE_MODE_TOGGLEABLE_RADIOS = "airplane_mode_toggleable_radios";
19506    field public static final String APP_STANDBY_ENABLED = "app_standby_enabled";
19507    field @Deprecated public static final String AUTOFILL_COMPAT_MODE_ALLOWED_PACKAGES = "autofill_compat_mode_allowed_packages";
19508    field public static final String CARRIER_APP_NAMES = "carrier_app_names";
19509    field public static final String CARRIER_APP_WHITELIST = "carrier_app_whitelist";
19510    field public static final String DEFAULT_SM_DP_PLUS = "default_sm_dp_plus";
19511    field public static final String DEVICE_DEMO_MODE = "device_demo_mode";
19512    field public static final String DEVICE_PROVISIONING_MOBILE_DATA_ENABLED = "device_provisioning_mobile_data";
19513    field public static final String EUICC_PROVISIONED = "euicc_provisioned";
19514    field public static final String EUICC_SUPPORTED_COUNTRIES = "euicc_supported_countries";
19515    field public static final String EUICC_UNSUPPORTED_COUNTRIES = "euicc_unsupported_countries";
19516    field public static final String INSTALL_CARRIER_APP_NOTIFICATION_PERSISTENT = "install_carrier_app_notification_persistent";
19517    field public static final String INSTALL_CARRIER_APP_NOTIFICATION_SLEEP_MILLIS = "install_carrier_app_notification_sleep_millis";
19518    field public static final String OTA_DISABLE_AUTOMATIC_UPDATE = "ota_disable_automatic_update";
19519    field public static final String REQUIRE_PASSWORD_TO_DECRYPT = "require_password_to_decrypt";
19520    field public static final String TETHER_OFFLOAD_DISABLED = "tether_offload_disabled";
19521    field public static final String TETHER_SUPPORTED = "tether_supported";
19522    field public static final String THEATER_MODE_ON = "theater_mode_on";
19523    field public static final String WEBVIEW_MULTIPROCESS = "webview_multiprocess";
19524    field public static final String WIFI_BADGING_THRESHOLDS = "wifi_badging_thresholds";
19525    field @Deprecated public static final String WIFI_WAKEUP_ENABLED = "wifi_wakeup_enabled";
19526  }
19527
19528  public static final class Settings.Secure extends android.provider.Settings.NameValueTable {
19529    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public static boolean putString(@NonNull android.content.ContentResolver, @NonNull String, @Nullable String, @Nullable String, boolean);
19530    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public static void resetToDefaults(@NonNull android.content.ContentResolver, @Nullable String);
19531    field @Deprecated public static final String ACCESSIBILITY_DISPLAY_MAGNIFICATION_NAVBAR_ENABLED = "accessibility_display_magnification_navbar_enabled";
19532    field public static final String ASSIST_GESTURE_SETUP_COMPLETE = "assist_gesture_setup_complete";
19533    field public static final String AUTOFILL_FEATURE_FIELD_CLASSIFICATION = "autofill_field_classification";
19534    field public static final String AUTOFILL_USER_DATA_MAX_CATEGORY_COUNT = "autofill_user_data_max_category_count";
19535    field public static final String AUTOFILL_USER_DATA_MAX_FIELD_CLASSIFICATION_IDS_SIZE = "autofill_user_data_max_field_classification_size";
19536    field public static final String AUTOFILL_USER_DATA_MAX_USER_DATA_SIZE = "autofill_user_data_max_user_data_size";
19537    field public static final String AUTOFILL_USER_DATA_MAX_VALUE_LENGTH = "autofill_user_data_max_value_length";
19538    field public static final String AUTOFILL_USER_DATA_MIN_VALUE_LENGTH = "autofill_user_data_min_value_length";
19539    field public static final String AUTO_REVOKE_DISABLED = "auto_revoke_disabled";
19540    field public static final String COMPLETED_CATEGORY_PREFIX = "suggested.completed_category.";
19541    field public static final String DOZE_ALWAYS_ON = "doze_always_on";
19542    field public static final String HUSH_GESTURE_USED = "hush_gesture_used";
19543    field public static final String INSTANT_APPS_ENABLED = "instant_apps_enabled";
19544    field public static final String LAST_SETUP_SHOWN = "last_setup_shown";
19545    field @Deprecated public static final String LOCATION_ACCESS_CHECK_DELAY_MILLIS = "location_access_check_delay_millis";
19546    field @Deprecated public static final String LOCATION_ACCESS_CHECK_INTERVAL_MILLIS = "location_access_check_interval_millis";
19547    field public static final int LOCATION_MODE_ON = 3; // 0x3
19548    field @Deprecated public static final String LOCATION_PERMISSIONS_UPGRADE_TO_Q_MODE = "location_permissions_upgrade_to_q_mode";
19549    field public static final String LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS = "lock_screen_allow_private_notifications";
19550    field public static final String LOCK_SCREEN_SHOW_NOTIFICATIONS = "lock_screen_show_notifications";
19551    field public static final String ODI_CAPTIONS_ENABLED = "odi_captions_enabled";
19552    field public static final String THEME_CUSTOMIZATION_OVERLAY_PACKAGES = "theme_customization_overlay_packages";
19553    field public static final String UI_TRANSLATION_ENABLED = "ui_translation_enabled";
19554    field public static final String USER_SETUP_COMPLETE = "user_setup_complete";
19555    field public static final int USER_SETUP_PERSONALIZATION_COMPLETE = 10; // 0xa
19556    field public static final int USER_SETUP_PERSONALIZATION_NOT_STARTED = 0; // 0x0
19557    field public static final int USER_SETUP_PERSONALIZATION_PAUSED = 2; // 0x2
19558    field public static final int USER_SETUP_PERSONALIZATION_STARTED = 1; // 0x1
19559    field public static final String USER_SETUP_PERSONALIZATION_STATE = "user_setup_personalization_state";
19560    field public static final String VOLUME_HUSH_GESTURE = "volume_hush_gesture";
19561    field public static final int VOLUME_HUSH_MUTE = 2; // 0x2
19562    field public static final int VOLUME_HUSH_OFF = 0; // 0x0
19563    field public static final int VOLUME_HUSH_VIBRATE = 1; // 0x1
19564  }
19565
19566  public static final class Settings.System extends android.provider.Settings.NameValueTable {
19567    method @RequiresPermission(android.Manifest.permission.MODIFY_SETTINGS_OVERRIDEABLE_BY_RESTORE) public static boolean putString(@NonNull android.content.ContentResolver, @NonNull String, @Nullable String, boolean);
19568    method @RequiresPermission(android.Manifest.permission.MODIFY_SETTINGS_OVERRIDEABLE_BY_RESTORE) public static boolean putString(@NonNull android.content.ContentResolver, @NonNull String, @Nullable String, boolean, boolean);
19569    method public static void resetToDefaults(@NonNull android.content.ContentResolver, @Nullable String);
19570  }
19571
19572  public static final class SimPhonebookContract.SimRecords {
19573    field public static final String QUERY_ARG_PIN2 = "android:query-arg-pin2";
19574  }
19575
19576  public static final class Telephony.Carriers implements android.provider.BaseColumns {
19577    field public static final String APN_SET_ID = "apn_set_id";
19578    field public static final int CARRIER_EDITED = 4; // 0x4
19579    field public static final String EDITED_STATUS = "edited";
19580    field public static final int MATCH_ALL_APN_SET_ID = -1; // 0xffffffff
19581    field public static final String MAX_CONNECTIONS = "max_conns";
19582    field public static final String MODEM_PERSIST = "modem_cognitive";
19583    field @Deprecated public static final String MTU = "mtu";
19584    field public static final int NO_APN_SET_ID = 0; // 0x0
19585    field public static final String TIME_LIMIT_FOR_MAX_CONNECTIONS = "max_conns_time";
19586    field public static final int UNEDITED = 0; // 0x0
19587    field public static final int USER_DELETED = 2; // 0x2
19588    field public static final int USER_EDITED = 1; // 0x1
19589    field public static final String WAIT_TIME_RETRY = "wait_time";
19590  }
19591
19592  public static final class Telephony.CellBroadcasts implements android.provider.BaseColumns {
19593    field @NonNull public static final String AUTHORITY_LEGACY = "cellbroadcast-legacy";
19594    field @NonNull public static final android.net.Uri AUTHORITY_LEGACY_URI;
19595    field @NonNull public static final String CALL_METHOD_GET_PREFERENCE = "get_preference";
19596    field public static final String CID = "cid";
19597    field public static final String CMAS_CATEGORY = "cmas_category";
19598    field public static final String CMAS_CERTAINTY = "cmas_certainty";
19599    field public static final String CMAS_MESSAGE_CLASS = "cmas_message_class";
19600    field public static final String CMAS_RESPONSE_TYPE = "cmas_response_type";
19601    field public static final String CMAS_SEVERITY = "cmas_severity";
19602    field public static final String CMAS_URGENCY = "cmas_urgency";
19603    field @NonNull public static final android.net.Uri CONTENT_URI;
19604    field public static final String DATA_CODING_SCHEME = "dcs";
19605    field public static final String DEFAULT_SORT_ORDER = "date DESC";
19606    field public static final String DELIVERY_TIME = "date";
19607    field public static final String ETWS_IS_PRIMARY = "etws_is_primary";
19608    field public static final String ETWS_WARNING_TYPE = "etws_warning_type";
19609    field public static final String GEOGRAPHICAL_SCOPE = "geo_scope";
19610    field public static final String GEOMETRIES = "geometries";
19611    field public static final String LAC = "lac";
19612    field public static final String LANGUAGE_CODE = "language";
19613    field public static final String LOCATION_CHECK_TIME = "location_check_time";
19614    field public static final String MAXIMUM_WAIT_TIME = "maximum_wait_time";
19615    field public static final String MESSAGE_BODY = "body";
19616    field public static final String MESSAGE_BROADCASTED = "message_broadcasted";
19617    field public static final String MESSAGE_DISPLAYED = "message_displayed";
19618    field public static final String MESSAGE_FORMAT = "format";
19619    field @NonNull @RequiresPermission(android.Manifest.permission.READ_CELL_BROADCASTS) public static final android.net.Uri MESSAGE_HISTORY_URI;
19620    field public static final String MESSAGE_PRIORITY = "priority";
19621    field public static final String MESSAGE_READ = "read";
19622    field public static final String PLMN = "plmn";
19623    field public static final String RECEIVED_TIME = "received_time";
19624    field public static final String SERIAL_NUMBER = "serial_number";
19625    field public static final String SERVICE_CATEGORY = "service_category";
19626    field public static final String SLOT_INDEX = "slot_index";
19627    field public static final String SUBSCRIPTION_ID = "sub_id";
19628  }
19629
19630  public static final class Telephony.CellBroadcasts.Preference {
19631    field @NonNull public static final String ENABLE_ALERT_VIBRATION_PREF = "enable_alert_vibrate";
19632    field @NonNull public static final String ENABLE_AREA_UPDATE_INFO_PREF = "enable_area_update_info_alerts";
19633    field @NonNull public static final String ENABLE_CMAS_AMBER_PREF = "enable_cmas_amber_alerts";
19634    field @NonNull public static final String ENABLE_CMAS_EXTREME_THREAT_PREF = "enable_cmas_extreme_threat_alerts";
19635    field @NonNull public static final String ENABLE_CMAS_IN_SECOND_LANGUAGE_PREF = "receive_cmas_in_second_language";
19636    field @NonNull public static final String ENABLE_CMAS_PRESIDENTIAL_PREF = "enable_cmas_presidential_alerts";
19637    field @NonNull public static final String ENABLE_CMAS_SEVERE_THREAT_PREF = "enable_cmas_severe_threat_alerts";
19638    field @NonNull public static final String ENABLE_EMERGENCY_PERF = "enable_emergency_alerts";
19639    field @NonNull public static final String ENABLE_PUBLIC_SAFETY_PREF = "enable_public_safety_messages";
19640    field @NonNull public static final String ENABLE_STATE_LOCAL_TEST_PREF = "enable_state_local_test_alerts";
19641    field @NonNull public static final String ENABLE_TEST_ALERT_PREF = "enable_test_alerts";
19642  }
19643
19644  public static final class Telephony.Sms.Intents {
19645    field public static final String ACTION_SMS_EMERGENCY_CB_RECEIVED = "android.provider.action.SMS_EMERGENCY_CB_RECEIVED";
19646  }
19647
19648  public final class TimeZoneRulesDataContract {
19649    field public static final String AUTHORITY = "com.android.timezone";
19650  }
19651
19652  public static final class TimeZoneRulesDataContract.Operation {
19653    field public static final String COLUMN_DISTRO_MAJOR_VERSION = "distro_major_version";
19654    field public static final String COLUMN_DISTRO_MINOR_VERSION = "distro_minor_version";
19655    field public static final String COLUMN_REVISION = "revision";
19656    field public static final String COLUMN_RULES_VERSION = "rules_version";
19657    field public static final String COLUMN_TYPE = "type";
19658    field public static final android.net.Uri CONTENT_URI;
19659    field public static final String TYPE_INSTALL = "INSTALL";
19660    field public static final String TYPE_NO_OP = "NOOP";
19661    field public static final String TYPE_UNINSTALL = "UNINSTALL";
19662  }
19663
19664  public final class UpdatableDeviceConfigServiceReadiness {
19665    method public static boolean shouldStartUpdatableService();
19666  }
19667
19668}
19669
19670package android.safetycenter {
19671
19672  public final class SafetyCenterData implements android.os.Parcelable {
19673    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>);
19674    method public int describeContents();
19675    method @NonNull public java.util.List<android.safetycenter.SafetyCenterIssue> getDismissedIssues();
19676    method @NonNull public java.util.List<android.safetycenter.SafetyCenterEntryOrGroup> getEntriesOrGroups();
19677    method @NonNull public android.os.Bundle getExtras();
19678    method @NonNull public java.util.List<android.safetycenter.SafetyCenterIssue> getIssues();
19679    method @NonNull public java.util.List<android.safetycenter.SafetyCenterStaticEntryGroup> getStaticEntryGroups();
19680    method @NonNull public android.safetycenter.SafetyCenterStatus getStatus();
19681    method public void writeToParcel(@NonNull android.os.Parcel, int);
19682    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterData> CREATOR;
19683  }
19684
19685  public static final class SafetyCenterData.Builder {
19686    ctor public SafetyCenterData.Builder(@NonNull android.safetycenter.SafetyCenterData);
19687    ctor public SafetyCenterData.Builder(@NonNull android.safetycenter.SafetyCenterStatus);
19688    method @NonNull public android.safetycenter.SafetyCenterData.Builder addDismissedIssue(@NonNull android.safetycenter.SafetyCenterIssue);
19689    method @NonNull public android.safetycenter.SafetyCenterData.Builder addEntryOrGroup(@NonNull android.safetycenter.SafetyCenterEntryOrGroup);
19690    method @NonNull public android.safetycenter.SafetyCenterData.Builder addIssue(@NonNull android.safetycenter.SafetyCenterIssue);
19691    method @NonNull public android.safetycenter.SafetyCenterData.Builder addStaticEntryGroup(@NonNull android.safetycenter.SafetyCenterStaticEntryGroup);
19692    method @NonNull public android.safetycenter.SafetyCenterData build();
19693    method @NonNull public android.safetycenter.SafetyCenterData.Builder clearDismissedIssues();
19694    method @NonNull public android.safetycenter.SafetyCenterData.Builder clearEntriesOrGroups();
19695    method @NonNull public android.safetycenter.SafetyCenterData.Builder clearExtras();
19696    method @NonNull public android.safetycenter.SafetyCenterData.Builder clearIssues();
19697    method @NonNull public android.safetycenter.SafetyCenterData.Builder clearStaticEntryGroups();
19698    method @NonNull public android.safetycenter.SafetyCenterData.Builder setExtras(@NonNull android.os.Bundle);
19699  }
19700
19701  public final class SafetyCenterEntry implements android.os.Parcelable {
19702    method public int describeContents();
19703    method @Nullable public android.safetycenter.SafetyCenterEntry.IconAction getIconAction();
19704    method @NonNull public String getId();
19705    method @Nullable public android.app.PendingIntent getPendingIntent();
19706    method public int getSeverityLevel();
19707    method public int getSeverityUnspecifiedIconType();
19708    method @Nullable public CharSequence getSummary();
19709    method @NonNull public CharSequence getTitle();
19710    method public boolean isEnabled();
19711    method public void writeToParcel(@NonNull android.os.Parcel, int);
19712    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterEntry> CREATOR;
19713    field public static final int ENTRY_SEVERITY_LEVEL_CRITICAL_WARNING = 3400; // 0xd48
19714    field public static final int ENTRY_SEVERITY_LEVEL_OK = 3200; // 0xc80
19715    field public static final int ENTRY_SEVERITY_LEVEL_RECOMMENDATION = 3300; // 0xce4
19716    field public static final int ENTRY_SEVERITY_LEVEL_UNKNOWN = 3000; // 0xbb8
19717    field public static final int ENTRY_SEVERITY_LEVEL_UNSPECIFIED = 3100; // 0xc1c
19718    field public static final int SEVERITY_UNSPECIFIED_ICON_TYPE_NO_ICON = 0; // 0x0
19719    field public static final int SEVERITY_UNSPECIFIED_ICON_TYPE_NO_RECOMMENDATION = 2; // 0x2
19720    field public static final int SEVERITY_UNSPECIFIED_ICON_TYPE_PRIVACY = 1; // 0x1
19721  }
19722
19723  public static final class SafetyCenterEntry.Builder {
19724    ctor public SafetyCenterEntry.Builder(@NonNull android.safetycenter.SafetyCenterEntry);
19725    ctor public SafetyCenterEntry.Builder(@NonNull String, @NonNull CharSequence);
19726    method @NonNull public android.safetycenter.SafetyCenterEntry build();
19727    method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setEnabled(boolean);
19728    method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setIconAction(@Nullable android.safetycenter.SafetyCenterEntry.IconAction);
19729    method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setIconAction(int, @NonNull android.app.PendingIntent);
19730    method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setId(@NonNull String);
19731    method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setPendingIntent(@Nullable android.app.PendingIntent);
19732    method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setSeverityLevel(int);
19733    method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setSeverityUnspecifiedIconType(int);
19734    method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setSummary(@Nullable CharSequence);
19735    method @NonNull public android.safetycenter.SafetyCenterEntry.Builder setTitle(@NonNull CharSequence);
19736  }
19737
19738  public static final class SafetyCenterEntry.IconAction implements android.os.Parcelable {
19739    ctor public SafetyCenterEntry.IconAction(int, @NonNull android.app.PendingIntent);
19740    method public int describeContents();
19741    method @NonNull public android.app.PendingIntent getPendingIntent();
19742    method public int getType();
19743    method public void writeToParcel(@NonNull android.os.Parcel, int);
19744    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterEntry.IconAction> CREATOR;
19745    field public static final int ICON_ACTION_TYPE_GEAR = 30100; // 0x7594
19746    field public static final int ICON_ACTION_TYPE_INFO = 30200; // 0x75f8
19747  }
19748
19749  public final class SafetyCenterEntryGroup implements android.os.Parcelable {
19750    method public int describeContents();
19751    method @NonNull public java.util.List<android.safetycenter.SafetyCenterEntry> getEntries();
19752    method @NonNull public String getId();
19753    method public int getSeverityLevel();
19754    method public int getSeverityUnspecifiedIconType();
19755    method @Nullable public CharSequence getSummary();
19756    method @NonNull public CharSequence getTitle();
19757    method public void writeToParcel(@NonNull android.os.Parcel, int);
19758    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterEntryGroup> CREATOR;
19759  }
19760
19761  public static final class SafetyCenterEntryGroup.Builder {
19762    ctor public SafetyCenterEntryGroup.Builder(@NonNull android.safetycenter.SafetyCenterEntryGroup);
19763    ctor public SafetyCenterEntryGroup.Builder(@NonNull String, @NonNull CharSequence);
19764    method @NonNull public android.safetycenter.SafetyCenterEntryGroup build();
19765    method @NonNull public android.safetycenter.SafetyCenterEntryGroup.Builder setEntries(@NonNull java.util.List<android.safetycenter.SafetyCenterEntry>);
19766    method @NonNull public android.safetycenter.SafetyCenterEntryGroup.Builder setId(@NonNull String);
19767    method @NonNull public android.safetycenter.SafetyCenterEntryGroup.Builder setSeverityLevel(int);
19768    method @NonNull public android.safetycenter.SafetyCenterEntryGroup.Builder setSeverityUnspecifiedIconType(int);
19769    method @NonNull public android.safetycenter.SafetyCenterEntryGroup.Builder setSummary(@Nullable CharSequence);
19770    method @NonNull public android.safetycenter.SafetyCenterEntryGroup.Builder setTitle(@NonNull CharSequence);
19771  }
19772
19773  public final class SafetyCenterEntryOrGroup implements android.os.Parcelable {
19774    ctor public SafetyCenterEntryOrGroup(@NonNull android.safetycenter.SafetyCenterEntry);
19775    ctor public SafetyCenterEntryOrGroup(@NonNull android.safetycenter.SafetyCenterEntryGroup);
19776    method public int describeContents();
19777    method @Nullable public android.safetycenter.SafetyCenterEntry getEntry();
19778    method @Nullable public android.safetycenter.SafetyCenterEntryGroup getEntryGroup();
19779    method public void writeToParcel(@NonNull android.os.Parcel, int);
19780    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterEntryOrGroup> CREATOR;
19781  }
19782
19783  public final class SafetyCenterErrorDetails implements android.os.Parcelable {
19784    ctor public SafetyCenterErrorDetails(@NonNull CharSequence);
19785    method public int describeContents();
19786    method @NonNull public CharSequence getErrorMessage();
19787    method public void writeToParcel(@NonNull android.os.Parcel, int);
19788    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterErrorDetails> CREATOR;
19789  }
19790
19791  public final class SafetyCenterIssue implements android.os.Parcelable {
19792    method public int describeContents();
19793    method @NonNull public java.util.List<android.safetycenter.SafetyCenterIssue.Action> getActions();
19794    method @Nullable public CharSequence getAttributionTitle();
19795    method @Nullable public String getGroupId();
19796    method @NonNull public String getId();
19797    method public int getSeverityLevel();
19798    method @Nullable public CharSequence getSubtitle();
19799    method @NonNull public CharSequence getSummary();
19800    method @NonNull public CharSequence getTitle();
19801    method public boolean isDismissible();
19802    method public boolean shouldConfirmDismissal();
19803    method public void writeToParcel(@NonNull android.os.Parcel, int);
19804    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterIssue> CREATOR;
19805    field public static final int ISSUE_SEVERITY_LEVEL_CRITICAL_WARNING = 2300; // 0x8fc
19806    field public static final int ISSUE_SEVERITY_LEVEL_OK = 2100; // 0x834
19807    field public static final int ISSUE_SEVERITY_LEVEL_RECOMMENDATION = 2200; // 0x898
19808  }
19809
19810  public static final class SafetyCenterIssue.Action implements android.os.Parcelable {
19811    method public int describeContents();
19812    method @Nullable public android.safetycenter.SafetyCenterIssue.Action.ConfirmationDialogDetails getConfirmationDialogDetails();
19813    method @NonNull public String getId();
19814    method @NonNull public CharSequence getLabel();
19815    method @NonNull public android.app.PendingIntent getPendingIntent();
19816    method @Nullable public CharSequence getSuccessMessage();
19817    method public boolean isInFlight();
19818    method public boolean willResolve();
19819    method public void writeToParcel(@NonNull android.os.Parcel, int);
19820    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterIssue.Action> CREATOR;
19821  }
19822
19823  public static final class SafetyCenterIssue.Action.Builder {
19824    ctor public SafetyCenterIssue.Action.Builder(@NonNull android.safetycenter.SafetyCenterIssue.Action);
19825    ctor public SafetyCenterIssue.Action.Builder(@NonNull String, @NonNull CharSequence, @NonNull android.app.PendingIntent);
19826    method @NonNull public android.safetycenter.SafetyCenterIssue.Action build();
19827    method @NonNull public android.safetycenter.SafetyCenterIssue.Action.Builder setConfirmationDialogDetails(@Nullable android.safetycenter.SafetyCenterIssue.Action.ConfirmationDialogDetails);
19828    method @NonNull public android.safetycenter.SafetyCenterIssue.Action.Builder setId(@NonNull String);
19829    method @NonNull public android.safetycenter.SafetyCenterIssue.Action.Builder setIsInFlight(boolean);
19830    method @NonNull public android.safetycenter.SafetyCenterIssue.Action.Builder setLabel(@NonNull CharSequence);
19831    method @NonNull public android.safetycenter.SafetyCenterIssue.Action.Builder setPendingIntent(@NonNull android.app.PendingIntent);
19832    method @NonNull public android.safetycenter.SafetyCenterIssue.Action.Builder setSuccessMessage(@Nullable CharSequence);
19833    method @NonNull public android.safetycenter.SafetyCenterIssue.Action.Builder setWillResolve(boolean);
19834  }
19835
19836  public static final class SafetyCenterIssue.Action.ConfirmationDialogDetails implements android.os.Parcelable {
19837    ctor public SafetyCenterIssue.Action.ConfirmationDialogDetails(@NonNull CharSequence, @NonNull CharSequence, @NonNull CharSequence, @NonNull CharSequence);
19838    method public int describeContents();
19839    method @NonNull public CharSequence getAcceptButtonText();
19840    method @NonNull public CharSequence getDenyButtonText();
19841    method @NonNull public CharSequence getText();
19842    method @NonNull public CharSequence getTitle();
19843    method public void writeToParcel(@NonNull android.os.Parcel, int);
19844    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterIssue.Action.ConfirmationDialogDetails> CREATOR;
19845  }
19846
19847  public static final class SafetyCenterIssue.Builder {
19848    ctor public SafetyCenterIssue.Builder(@NonNull android.safetycenter.SafetyCenterIssue);
19849    ctor public SafetyCenterIssue.Builder(@NonNull String, @NonNull CharSequence, @NonNull CharSequence);
19850    method @NonNull public android.safetycenter.SafetyCenterIssue build();
19851    method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setActions(@NonNull java.util.List<android.safetycenter.SafetyCenterIssue.Action>);
19852    method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setAttributionTitle(@Nullable CharSequence);
19853    method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setDismissible(boolean);
19854    method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setGroupId(@Nullable String);
19855    method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setId(@NonNull String);
19856    method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setSeverityLevel(int);
19857    method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setShouldConfirmDismissal(boolean);
19858    method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setSubtitle(@Nullable CharSequence);
19859    method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setSummary(@NonNull CharSequence);
19860    method @NonNull public android.safetycenter.SafetyCenterIssue.Builder setTitle(@NonNull CharSequence);
19861  }
19862
19863  public final class SafetyCenterManager {
19864    method @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public void addOnSafetyCenterDataChangedListener(@NonNull java.util.concurrent.Executor, @NonNull android.safetycenter.SafetyCenterManager.OnSafetyCenterDataChangedListener);
19865    method @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public void clearAllSafetySourceDataForTests();
19866    method @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public void clearSafetyCenterConfigForTests();
19867    method @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public void dismissSafetyCenterIssue(@NonNull String);
19868    method @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public void executeSafetyCenterIssueAction(@NonNull String, @NonNull String);
19869    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public android.safetycenter.config.SafetyCenterConfig getSafetyCenterConfig();
19870    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public android.safetycenter.SafetyCenterData getSafetyCenterData();
19871    method @Nullable @RequiresPermission(android.Manifest.permission.SEND_SAFETY_CENTER_UPDATE) public android.safetycenter.SafetySourceData getSafetySourceData(@NonNull String);
19872    method @RequiresPermission(anyOf={android.Manifest.permission.READ_SAFETY_CENTER_STATUS, android.Manifest.permission.SEND_SAFETY_CENTER_UPDATE}) public boolean isSafetyCenterEnabled();
19873    method @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public void refreshSafetySources(int);
19874    method @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public void refreshSafetySources(int, @NonNull java.util.List<java.lang.String>);
19875    method @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public void removeOnSafetyCenterDataChangedListener(@NonNull android.safetycenter.SafetyCenterManager.OnSafetyCenterDataChangedListener);
19876    method @RequiresPermission(android.Manifest.permission.SEND_SAFETY_CENTER_UPDATE) public void reportSafetySourceError(@NonNull String, @NonNull android.safetycenter.SafetySourceErrorDetails);
19877    method @RequiresPermission(android.Manifest.permission.MANAGE_SAFETY_CENTER) public void setSafetyCenterConfigForTests(@NonNull android.safetycenter.config.SafetyCenterConfig);
19878    method @RequiresPermission(android.Manifest.permission.SEND_SAFETY_CENTER_UPDATE) public void setSafetySourceData(@NonNull String, @Nullable android.safetycenter.SafetySourceData, @NonNull android.safetycenter.SafetyEvent);
19879    field public static final String ACTION_REFRESH_SAFETY_SOURCES = "android.safetycenter.action.REFRESH_SAFETY_SOURCES";
19880    field public static final String ACTION_SAFETY_CENTER_ENABLED_CHANGED = "android.safetycenter.action.SAFETY_CENTER_ENABLED_CHANGED";
19881    field public static final int EXTRA_REFRESH_REQUEST_TYPE_FETCH_FRESH_DATA = 0; // 0x0
19882    field public static final int EXTRA_REFRESH_REQUEST_TYPE_GET_DATA = 1; // 0x1
19883    field public static final String EXTRA_REFRESH_SAFETY_SOURCES_BROADCAST_ID = "android.safetycenter.extra.REFRESH_SAFETY_SOURCES_BROADCAST_ID";
19884    field public static final String EXTRA_REFRESH_SAFETY_SOURCES_REQUEST_TYPE = "android.safetycenter.extra.REFRESH_SAFETY_SOURCES_REQUEST_TYPE";
19885    field public static final String EXTRA_REFRESH_SAFETY_SOURCE_IDS = "android.safetycenter.extra.REFRESH_SAFETY_SOURCE_IDS";
19886    field public static final String EXTRA_SAFETY_SOURCES_GROUP_ID = "android.safetycenter.extra.SAFETY_SOURCES_GROUP_ID";
19887    field public static final String EXTRA_SAFETY_SOURCE_ID = "android.safetycenter.extra.SAFETY_SOURCE_ID";
19888    field public static final String EXTRA_SAFETY_SOURCE_ISSUE_ID = "android.safetycenter.extra.SAFETY_SOURCE_ISSUE_ID";
19889    field public static final String EXTRA_SAFETY_SOURCE_USER_HANDLE = "android.safetycenter.extra.SAFETY_SOURCE_USER_HANDLE";
19890    field public static final int REFRESH_REASON_DEVICE_LOCALE_CHANGE = 400; // 0x190
19891    field public static final int REFRESH_REASON_DEVICE_REBOOT = 300; // 0x12c
19892    field public static final int REFRESH_REASON_OTHER = 600; // 0x258
19893    field public static final int REFRESH_REASON_PAGE_OPEN = 100; // 0x64
19894    field public static final int REFRESH_REASON_PERIODIC = 700; // 0x2bc
19895    field public static final int REFRESH_REASON_RESCAN_BUTTON_CLICK = 200; // 0xc8
19896    field public static final int REFRESH_REASON_SAFETY_CENTER_ENABLED = 500; // 0x1f4
19897  }
19898
19899  public static interface SafetyCenterManager.OnSafetyCenterDataChangedListener {
19900    method public default void onError(@NonNull android.safetycenter.SafetyCenterErrorDetails);
19901    method public void onSafetyCenterDataChanged(@NonNull android.safetycenter.SafetyCenterData);
19902  }
19903
19904  public final class SafetyCenterStaticEntry implements android.os.Parcelable {
19905    method public int describeContents();
19906    method @Nullable public android.app.PendingIntent getPendingIntent();
19907    method @Nullable public CharSequence getSummary();
19908    method @NonNull public CharSequence getTitle();
19909    method public void writeToParcel(@NonNull android.os.Parcel, int);
19910    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterStaticEntry> CREATOR;
19911  }
19912
19913  public static final class SafetyCenterStaticEntry.Builder {
19914    ctor public SafetyCenterStaticEntry.Builder(@NonNull android.safetycenter.SafetyCenterStaticEntry);
19915    ctor public SafetyCenterStaticEntry.Builder(@NonNull CharSequence);
19916    method @NonNull public android.safetycenter.SafetyCenterStaticEntry build();
19917    method @NonNull public android.safetycenter.SafetyCenterStaticEntry.Builder setPendingIntent(@Nullable android.app.PendingIntent);
19918    method @NonNull public android.safetycenter.SafetyCenterStaticEntry.Builder setSummary(@Nullable CharSequence);
19919    method @NonNull public android.safetycenter.SafetyCenterStaticEntry.Builder setTitle(@NonNull CharSequence);
19920  }
19921
19922  public final class SafetyCenterStaticEntryGroup implements android.os.Parcelable {
19923    ctor public SafetyCenterStaticEntryGroup(@NonNull CharSequence, @NonNull java.util.List<android.safetycenter.SafetyCenterStaticEntry>);
19924    method public int describeContents();
19925    method @NonNull public java.util.List<android.safetycenter.SafetyCenterStaticEntry> getStaticEntries();
19926    method @NonNull public CharSequence getTitle();
19927    method public void writeToParcel(@NonNull android.os.Parcel, int);
19928    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterStaticEntryGroup> CREATOR;
19929  }
19930
19931  public final class SafetyCenterStatus implements android.os.Parcelable {
19932    method public int describeContents();
19933    method public int getRefreshStatus();
19934    method public int getSeverityLevel();
19935    method @NonNull public CharSequence getSummary();
19936    method @NonNull public CharSequence getTitle();
19937    method public void writeToParcel(@NonNull android.os.Parcel, int);
19938    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyCenterStatus> CREATOR;
19939    field public static final int OVERALL_SEVERITY_LEVEL_CRITICAL_WARNING = 1300; // 0x514
19940    field public static final int OVERALL_SEVERITY_LEVEL_OK = 1100; // 0x44c
19941    field public static final int OVERALL_SEVERITY_LEVEL_RECOMMENDATION = 1200; // 0x4b0
19942    field public static final int OVERALL_SEVERITY_LEVEL_UNKNOWN = 1000; // 0x3e8
19943    field public static final int REFRESH_STATUS_DATA_FETCH_IN_PROGRESS = 10100; // 0x2774
19944    field public static final int REFRESH_STATUS_FULL_RESCAN_IN_PROGRESS = 10200; // 0x27d8
19945    field public static final int REFRESH_STATUS_NONE = 0; // 0x0
19946  }
19947
19948  public static final class SafetyCenterStatus.Builder {
19949    ctor public SafetyCenterStatus.Builder(@NonNull android.safetycenter.SafetyCenterStatus);
19950    ctor public SafetyCenterStatus.Builder(@NonNull CharSequence, @NonNull CharSequence);
19951    method @NonNull public android.safetycenter.SafetyCenterStatus build();
19952    method @NonNull public android.safetycenter.SafetyCenterStatus.Builder setRefreshStatus(int);
19953    method @NonNull public android.safetycenter.SafetyCenterStatus.Builder setSeverityLevel(int);
19954    method @NonNull public android.safetycenter.SafetyCenterStatus.Builder setSummary(@NonNull CharSequence);
19955    method @NonNull public android.safetycenter.SafetyCenterStatus.Builder setTitle(@NonNull CharSequence);
19956  }
19957
19958  public final class SafetyEvent implements android.os.Parcelable {
19959    method public int describeContents();
19960    method @Nullable public String getRefreshBroadcastId();
19961    method @Nullable public String getSafetySourceIssueActionId();
19962    method @Nullable public String getSafetySourceIssueId();
19963    method public int getType();
19964    method public void writeToParcel(@NonNull android.os.Parcel, int);
19965    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetyEvent> CREATOR;
19966    field public static final int SAFETY_EVENT_TYPE_DEVICE_LOCALE_CHANGED = 500; // 0x1f4
19967    field public static final int SAFETY_EVENT_TYPE_DEVICE_REBOOTED = 600; // 0x258
19968    field public static final int SAFETY_EVENT_TYPE_REFRESH_REQUESTED = 200; // 0xc8
19969    field public static final int SAFETY_EVENT_TYPE_RESOLVING_ACTION_FAILED = 400; // 0x190
19970    field public static final int SAFETY_EVENT_TYPE_RESOLVING_ACTION_SUCCEEDED = 300; // 0x12c
19971    field public static final int SAFETY_EVENT_TYPE_SOURCE_STATE_CHANGED = 100; // 0x64
19972  }
19973
19974  public static final class SafetyEvent.Builder {
19975    ctor public SafetyEvent.Builder(@NonNull android.safetycenter.SafetyEvent);
19976    ctor public SafetyEvent.Builder(int);
19977    method @NonNull public android.safetycenter.SafetyEvent build();
19978    method @NonNull public android.safetycenter.SafetyEvent.Builder setRefreshBroadcastId(@Nullable String);
19979    method @NonNull public android.safetycenter.SafetyEvent.Builder setSafetySourceIssueActionId(@Nullable String);
19980    method @NonNull public android.safetycenter.SafetyEvent.Builder setSafetySourceIssueId(@Nullable String);
19981  }
19982
19983  public final class SafetySourceData implements android.os.Parcelable {
19984    method public int describeContents();
19985    method @NonNull public android.os.Bundle getExtras();
19986    method @NonNull public java.util.List<android.safetycenter.SafetySourceIssue> getIssues();
19987    method @Nullable public android.safetycenter.SafetySourceStatus getStatus();
19988    method public void writeToParcel(@NonNull android.os.Parcel, int);
19989    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetySourceData> CREATOR;
19990    field public static final int SEVERITY_LEVEL_CRITICAL_WARNING = 400; // 0x190
19991    field public static final int SEVERITY_LEVEL_INFORMATION = 200; // 0xc8
19992    field public static final int SEVERITY_LEVEL_RECOMMENDATION = 300; // 0x12c
19993    field public static final int SEVERITY_LEVEL_UNSPECIFIED = 100; // 0x64
19994  }
19995
19996  public static final class SafetySourceData.Builder {
19997    ctor public SafetySourceData.Builder();
19998    ctor public SafetySourceData.Builder(@NonNull android.safetycenter.SafetySourceData);
19999    method @NonNull public android.safetycenter.SafetySourceData.Builder addIssue(@NonNull android.safetycenter.SafetySourceIssue);
20000    method @NonNull public android.safetycenter.SafetySourceData build();
20001    method @NonNull public android.safetycenter.SafetySourceData.Builder clearExtras();
20002    method @NonNull public android.safetycenter.SafetySourceData.Builder clearIssues();
20003    method @NonNull public android.safetycenter.SafetySourceData.Builder setExtras(@NonNull android.os.Bundle);
20004    method @NonNull public android.safetycenter.SafetySourceData.Builder setStatus(@Nullable android.safetycenter.SafetySourceStatus);
20005  }
20006
20007  public final class SafetySourceErrorDetails implements android.os.Parcelable {
20008    ctor public SafetySourceErrorDetails(@NonNull android.safetycenter.SafetyEvent);
20009    method public int describeContents();
20010    method @NonNull public android.safetycenter.SafetyEvent getSafetyEvent();
20011    method public void writeToParcel(@NonNull android.os.Parcel, int);
20012    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetySourceErrorDetails> CREATOR;
20013  }
20014
20015  public final class SafetySourceIssue implements android.os.Parcelable {
20016    method public int describeContents();
20017    method @NonNull public java.util.List<android.safetycenter.SafetySourceIssue.Action> getActions();
20018    method @Nullable public CharSequence getAttributionTitle();
20019    method @Nullable public android.safetycenter.SafetySourceIssue.Notification getCustomNotification();
20020    method @Nullable public String getDeduplicationId();
20021    method @NonNull public String getId();
20022    method public int getIssueActionability();
20023    method public int getIssueCategory();
20024    method @NonNull public String getIssueTypeId();
20025    method public int getNotificationBehavior();
20026    method @Nullable public android.app.PendingIntent getOnDismissPendingIntent();
20027    method public int getSeverityLevel();
20028    method @Nullable public CharSequence getSubtitle();
20029    method @NonNull public CharSequence getSummary();
20030    method @NonNull public CharSequence getTitle();
20031    method public void writeToParcel(@NonNull android.os.Parcel, int);
20032    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetySourceIssue> CREATOR;
20033    field public static final int ISSUE_ACTIONABILITY_AUTOMATIC = 200; // 0xc8
20034    field public static final int ISSUE_ACTIONABILITY_MANUAL = 0; // 0x0
20035    field public static final int ISSUE_ACTIONABILITY_TIP = 100; // 0x64
20036    field public static final int ISSUE_CATEGORY_ACCOUNT = 200; // 0xc8
20037    field public static final int ISSUE_CATEGORY_DATA = 400; // 0x190
20038    field public static final int ISSUE_CATEGORY_DEVICE = 100; // 0x64
20039    field public static final int ISSUE_CATEGORY_GENERAL = 300; // 0x12c
20040    field public static final int ISSUE_CATEGORY_PASSWORDS = 500; // 0x1f4
20041    field public static final int ISSUE_CATEGORY_PERSONAL_SAFETY = 600; // 0x258
20042    field public static final int NOTIFICATION_BEHAVIOR_DELAYED = 200; // 0xc8
20043    field public static final int NOTIFICATION_BEHAVIOR_IMMEDIATELY = 300; // 0x12c
20044    field public static final int NOTIFICATION_BEHAVIOR_NEVER = 100; // 0x64
20045    field public static final int NOTIFICATION_BEHAVIOR_UNSPECIFIED = 0; // 0x0
20046  }
20047
20048  public static final class SafetySourceIssue.Action implements android.os.Parcelable {
20049    method public int describeContents();
20050    method @Nullable public android.safetycenter.SafetySourceIssue.Action.ConfirmationDialogDetails getConfirmationDialogDetails();
20051    method @NonNull public String getId();
20052    method @NonNull public CharSequence getLabel();
20053    method @NonNull public android.app.PendingIntent getPendingIntent();
20054    method @Nullable public CharSequence getSuccessMessage();
20055    method public boolean willResolve();
20056    method public void writeToParcel(@NonNull android.os.Parcel, int);
20057    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetySourceIssue.Action> CREATOR;
20058  }
20059
20060  public static final class SafetySourceIssue.Action.Builder {
20061    ctor public SafetySourceIssue.Action.Builder(@NonNull android.safetycenter.SafetySourceIssue.Action);
20062    ctor public SafetySourceIssue.Action.Builder(@NonNull String, @NonNull CharSequence, @NonNull android.app.PendingIntent);
20063    method @NonNull public android.safetycenter.SafetySourceIssue.Action build();
20064    method @NonNull public android.safetycenter.SafetySourceIssue.Action.Builder setConfirmationDialogDetails(@Nullable android.safetycenter.SafetySourceIssue.Action.ConfirmationDialogDetails);
20065    method @NonNull public android.safetycenter.SafetySourceIssue.Action.Builder setSuccessMessage(@Nullable CharSequence);
20066    method @NonNull public android.safetycenter.SafetySourceIssue.Action.Builder setWillResolve(boolean);
20067  }
20068
20069  public static final class SafetySourceIssue.Action.ConfirmationDialogDetails implements android.os.Parcelable {
20070    ctor public SafetySourceIssue.Action.ConfirmationDialogDetails(@NonNull CharSequence, @NonNull CharSequence, @NonNull CharSequence, @NonNull CharSequence);
20071    method public int describeContents();
20072    method @NonNull public CharSequence getAcceptButtonText();
20073    method @NonNull public CharSequence getDenyButtonText();
20074    method @NonNull public CharSequence getText();
20075    method @NonNull public CharSequence getTitle();
20076    method public void writeToParcel(@NonNull android.os.Parcel, int);
20077    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetySourceIssue.Action.ConfirmationDialogDetails> CREATOR;
20078  }
20079
20080  public static final class SafetySourceIssue.Builder {
20081    ctor public SafetySourceIssue.Builder(@NonNull android.safetycenter.SafetySourceIssue);
20082    ctor public SafetySourceIssue.Builder(@NonNull String, @NonNull CharSequence, @NonNull CharSequence, int, @NonNull String);
20083    method @NonNull public android.safetycenter.SafetySourceIssue.Builder addAction(@NonNull android.safetycenter.SafetySourceIssue.Action);
20084    method @NonNull public android.safetycenter.SafetySourceIssue build();
20085    method @NonNull public android.safetycenter.SafetySourceIssue.Builder clearActions();
20086    method @NonNull public android.safetycenter.SafetySourceIssue.Builder setAttributionTitle(@Nullable CharSequence);
20087    method @NonNull public android.safetycenter.SafetySourceIssue.Builder setCustomNotification(@Nullable android.safetycenter.SafetySourceIssue.Notification);
20088    method @NonNull public android.safetycenter.SafetySourceIssue.Builder setDeduplicationId(@Nullable String);
20089    method @NonNull public android.safetycenter.SafetySourceIssue.Builder setIssueActionability(int);
20090    method @NonNull public android.safetycenter.SafetySourceIssue.Builder setIssueCategory(int);
20091    method @NonNull public android.safetycenter.SafetySourceIssue.Builder setNotificationBehavior(int);
20092    method @NonNull public android.safetycenter.SafetySourceIssue.Builder setOnDismissPendingIntent(@Nullable android.app.PendingIntent);
20093    method @NonNull public android.safetycenter.SafetySourceIssue.Builder setSubtitle(@Nullable CharSequence);
20094  }
20095
20096  public static final class SafetySourceIssue.Notification implements android.os.Parcelable {
20097    method public int describeContents();
20098    method @NonNull public java.util.List<android.safetycenter.SafetySourceIssue.Action> getActions();
20099    method @NonNull public CharSequence getText();
20100    method @NonNull public CharSequence getTitle();
20101    method public void writeToParcel(@NonNull android.os.Parcel, int);
20102    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetySourceIssue.Notification> CREATOR;
20103  }
20104
20105  public static final class SafetySourceIssue.Notification.Builder {
20106    ctor public SafetySourceIssue.Notification.Builder(@NonNull android.safetycenter.SafetySourceIssue.Notification);
20107    ctor public SafetySourceIssue.Notification.Builder(@NonNull CharSequence, @NonNull CharSequence);
20108    method @NonNull public android.safetycenter.SafetySourceIssue.Notification.Builder addAction(@NonNull android.safetycenter.SafetySourceIssue.Action);
20109    method @NonNull public android.safetycenter.SafetySourceIssue.Notification.Builder addActions(@NonNull java.util.List<android.safetycenter.SafetySourceIssue.Action>);
20110    method @NonNull public android.safetycenter.SafetySourceIssue.Notification build();
20111    method @NonNull public android.safetycenter.SafetySourceIssue.Notification.Builder clearActions();
20112  }
20113
20114  public final class SafetySourceStatus implements android.os.Parcelable {
20115    method public int describeContents();
20116    method @Nullable public android.safetycenter.SafetySourceStatus.IconAction getIconAction();
20117    method @Nullable public android.app.PendingIntent getPendingIntent();
20118    method public int getSeverityLevel();
20119    method @NonNull public CharSequence getSummary();
20120    method @NonNull public CharSequence getTitle();
20121    method public boolean isEnabled();
20122    method public void writeToParcel(@NonNull android.os.Parcel, int);
20123    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetySourceStatus> CREATOR;
20124  }
20125
20126  public static final class SafetySourceStatus.Builder {
20127    ctor public SafetySourceStatus.Builder(@NonNull android.safetycenter.SafetySourceStatus);
20128    ctor public SafetySourceStatus.Builder(@NonNull CharSequence, @NonNull CharSequence, int);
20129    method @NonNull public android.safetycenter.SafetySourceStatus build();
20130    method @NonNull public android.safetycenter.SafetySourceStatus.Builder setEnabled(boolean);
20131    method @NonNull public android.safetycenter.SafetySourceStatus.Builder setIconAction(@Nullable android.safetycenter.SafetySourceStatus.IconAction);
20132    method @NonNull public android.safetycenter.SafetySourceStatus.Builder setPendingIntent(@Nullable android.app.PendingIntent);
20133  }
20134
20135  public static final class SafetySourceStatus.IconAction implements android.os.Parcelable {
20136    ctor public SafetySourceStatus.IconAction(int, @NonNull android.app.PendingIntent);
20137    method public int describeContents();
20138    method public int getIconType();
20139    method @NonNull public android.app.PendingIntent getPendingIntent();
20140    method public void writeToParcel(@NonNull android.os.Parcel, int);
20141    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.SafetySourceStatus.IconAction> CREATOR;
20142    field public static final int ICON_TYPE_GEAR = 100; // 0x64
20143    field public static final int ICON_TYPE_INFO = 200; // 0xc8
20144  }
20145
20146}
20147
20148package android.safetycenter.config {
20149
20150  public final class SafetyCenterConfig implements android.os.Parcelable {
20151    method public int describeContents();
20152    method @NonNull public java.util.List<android.safetycenter.config.SafetySourcesGroup> getSafetySourcesGroups();
20153    method public void writeToParcel(@NonNull android.os.Parcel, int);
20154    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.config.SafetyCenterConfig> CREATOR;
20155  }
20156
20157  public static final class SafetyCenterConfig.Builder {
20158    ctor public SafetyCenterConfig.Builder();
20159    ctor public SafetyCenterConfig.Builder(@NonNull android.safetycenter.config.SafetyCenterConfig);
20160    method @NonNull public android.safetycenter.config.SafetyCenterConfig.Builder addSafetySourcesGroup(@NonNull android.safetycenter.config.SafetySourcesGroup);
20161    method @NonNull public android.safetycenter.config.SafetyCenterConfig build();
20162  }
20163
20164  public final class SafetySource implements android.os.Parcelable {
20165    method public boolean areNotificationsAllowed();
20166    method public int describeContents();
20167    method @Nullable public String getDeduplicationGroup();
20168    method @NonNull public String getId();
20169    method public int getInitialDisplayState();
20170    method @Nullable public String getIntentAction();
20171    method public int getMaxSeverityLevel();
20172    method @Nullable public String getOptionalPackageName();
20173    method @NonNull public java.util.Set<java.lang.String> getPackageCertificateHashes();
20174    method @NonNull public String getPackageName();
20175    method public int getProfile();
20176    method @StringRes public int getSearchTermsResId();
20177    method @StringRes public int getSummaryResId();
20178    method @StringRes public int getTitleForPrivateProfileResId();
20179    method @StringRes public int getTitleForWorkResId();
20180    method @StringRes public int getTitleResId();
20181    method public int getType();
20182    method public boolean isLoggingAllowed();
20183    method public boolean isRefreshOnPageOpenAllowed();
20184    method public void writeToParcel(@NonNull android.os.Parcel, int);
20185    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.config.SafetySource> CREATOR;
20186    field public static final int INITIAL_DISPLAY_STATE_DISABLED = 1; // 0x1
20187    field public static final int INITIAL_DISPLAY_STATE_ENABLED = 0; // 0x0
20188    field public static final int INITIAL_DISPLAY_STATE_HIDDEN = 2; // 0x2
20189    field public static final int PROFILE_ALL = 2; // 0x2
20190    field public static final int PROFILE_NONE = 0; // 0x0
20191    field public static final int PROFILE_PRIMARY = 1; // 0x1
20192    field public static final int SAFETY_SOURCE_TYPE_DYNAMIC = 2; // 0x2
20193    field public static final int SAFETY_SOURCE_TYPE_ISSUE_ONLY = 3; // 0x3
20194    field public static final int SAFETY_SOURCE_TYPE_STATIC = 1; // 0x1
20195  }
20196
20197  public static final class SafetySource.Builder {
20198    ctor public SafetySource.Builder(@NonNull android.safetycenter.config.SafetySource);
20199    ctor public SafetySource.Builder(int);
20200    method @NonNull public android.safetycenter.config.SafetySource.Builder addPackageCertificateHash(@NonNull String);
20201    method @NonNull public android.safetycenter.config.SafetySource build();
20202    method @NonNull public android.safetycenter.config.SafetySource.Builder setDeduplicationGroup(@Nullable String);
20203    method @NonNull public android.safetycenter.config.SafetySource.Builder setId(@Nullable String);
20204    method @NonNull public android.safetycenter.config.SafetySource.Builder setInitialDisplayState(int);
20205    method @NonNull public android.safetycenter.config.SafetySource.Builder setIntentAction(@Nullable String);
20206    method @NonNull public android.safetycenter.config.SafetySource.Builder setLoggingAllowed(boolean);
20207    method @NonNull public android.safetycenter.config.SafetySource.Builder setMaxSeverityLevel(int);
20208    method @NonNull public android.safetycenter.config.SafetySource.Builder setNotificationsAllowed(boolean);
20209    method @NonNull public android.safetycenter.config.SafetySource.Builder setPackageName(@Nullable String);
20210    method @NonNull public android.safetycenter.config.SafetySource.Builder setProfile(int);
20211    method @NonNull public android.safetycenter.config.SafetySource.Builder setRefreshOnPageOpenAllowed(boolean);
20212    method @NonNull public android.safetycenter.config.SafetySource.Builder setSearchTermsResId(@StringRes int);
20213    method @NonNull public android.safetycenter.config.SafetySource.Builder setSummaryResId(@StringRes int);
20214    method @NonNull public android.safetycenter.config.SafetySource.Builder setTitleForPrivateProfileResId(@StringRes int);
20215    method @NonNull public android.safetycenter.config.SafetySource.Builder setTitleForWorkResId(@StringRes int);
20216    method @NonNull public android.safetycenter.config.SafetySource.Builder setTitleResId(@StringRes int);
20217  }
20218
20219  public final class SafetySourcesGroup implements android.os.Parcelable {
20220    method public int describeContents();
20221    method @NonNull public String getId();
20222    method @NonNull public java.util.List<android.safetycenter.config.SafetySource> getSafetySources();
20223    method public int getStatelessIconType();
20224    method @StringRes public int getSummaryResId();
20225    method @StringRes public int getTitleResId();
20226    method public int getType();
20227    method public void writeToParcel(@NonNull android.os.Parcel, int);
20228    field @NonNull public static final android.os.Parcelable.Creator<android.safetycenter.config.SafetySourcesGroup> CREATOR;
20229    field @Deprecated public static final int SAFETY_SOURCES_GROUP_TYPE_COLLAPSIBLE = 0; // 0x0
20230    field public static final int SAFETY_SOURCES_GROUP_TYPE_HIDDEN = 2; // 0x2
20231    field @Deprecated public static final int SAFETY_SOURCES_GROUP_TYPE_RIGID = 1; // 0x1
20232    field public static final int SAFETY_SOURCES_GROUP_TYPE_STATEFUL = 0; // 0x0
20233    field public static final int SAFETY_SOURCES_GROUP_TYPE_STATELESS = 1; // 0x1
20234    field public static final int STATELESS_ICON_TYPE_NONE = 0; // 0x0
20235    field public static final int STATELESS_ICON_TYPE_PRIVACY = 1; // 0x1
20236  }
20237
20238  public static final class SafetySourcesGroup.Builder {
20239    ctor public SafetySourcesGroup.Builder();
20240    ctor public SafetySourcesGroup.Builder(@NonNull android.safetycenter.config.SafetySourcesGroup);
20241    method @NonNull public android.safetycenter.config.SafetySourcesGroup.Builder addSafetySource(@NonNull android.safetycenter.config.SafetySource);
20242    method @NonNull public android.safetycenter.config.SafetySourcesGroup build();
20243    method @NonNull public android.safetycenter.config.SafetySourcesGroup.Builder setId(@Nullable String);
20244    method @NonNull public android.safetycenter.config.SafetySourcesGroup.Builder setStatelessIconType(int);
20245    method @NonNull public android.safetycenter.config.SafetySourcesGroup.Builder setSummaryResId(@StringRes int);
20246    method @NonNull public android.safetycenter.config.SafetySourcesGroup.Builder setTitleResId(@StringRes int);
20247    method @NonNull public android.safetycenter.config.SafetySourcesGroup.Builder setType(int);
20248  }
20249
20250}
20251
20252package android.safetylabel {
20253
20254  public final class SafetyLabelConstants {
20255    field public static final String PERMISSION_RATIONALE_ENABLED = "permission_rationale_enabled";
20256    field public static final String SAFETY_LABEL_CHANGE_NOTIFICATIONS_ENABLED = "safety_label_change_notifications_enabled";
20257  }
20258
20259}
20260
20261package android.scheduling {
20262
20263  public final class RebootReadinessManager {
20264    method @RequiresPermission(android.Manifest.permission.SIGNAL_REBOOT_READINESS) public void addRequestRebootReadinessStatusListener(@NonNull java.util.concurrent.Executor, @NonNull android.scheduling.RebootReadinessManager.RequestRebootReadinessStatusListener);
20265    method @RequiresPermission(android.Manifest.permission.REBOOT) public void cancelPendingReboot();
20266    method @RequiresPermission(android.Manifest.permission.REBOOT) public boolean isReadyToReboot();
20267    method @RequiresPermission(android.Manifest.permission.REBOOT) public void markRebootPending();
20268    method @RequiresPermission(android.Manifest.permission.SIGNAL_REBOOT_READINESS) public void removeRequestRebootReadinessStatusListener(@NonNull android.scheduling.RebootReadinessManager.RequestRebootReadinessStatusListener);
20269    field public static final String ACTION_REBOOT_READY = "android.scheduling.action.REBOOT_READY";
20270    field public static final String EXTRA_IS_READY_TO_REBOOT = "android.scheduling.extra.IS_READY_TO_REBOOT";
20271  }
20272
20273  public static final class RebootReadinessManager.RebootReadinessStatus {
20274    ctor public RebootReadinessManager.RebootReadinessStatus(boolean, long, @NonNull String);
20275    method public long getEstimatedFinishTime();
20276    method @NonNull public String getLogSubsystemName();
20277    method public boolean isReadyToReboot();
20278  }
20279
20280  public static interface RebootReadinessManager.RequestRebootReadinessStatusListener {
20281    method @NonNull public android.scheduling.RebootReadinessManager.RebootReadinessStatus onRequestRebootReadinessStatus();
20282  }
20283
20284}
20285
20286package android.se.omapi {
20287
20288  public final class Reader {
20289    method @RequiresPermission(android.Manifest.permission.SECURE_ELEMENT_PRIVILEGED_OPERATION) public boolean reset();
20290  }
20291
20292}
20293
20294package android.security {
20295
20296  public final class FileIntegrityManager {
20297    method @Nullable public byte[] getFsVerityDigest(@NonNull java.io.File) throws java.io.IOException;
20298    method public void setupFsVerity(@NonNull java.io.File) throws java.io.IOException;
20299  }
20300
20301  public final class KeyChain {
20302    method @Nullable @WorkerThread public static String getWifiKeyGrantAsUser(@NonNull android.content.Context, @NonNull android.os.UserHandle, @NonNull String);
20303    method @WorkerThread public static boolean hasWifiKeyGrantAsUser(@NonNull android.content.Context, @NonNull android.os.UserHandle, @NonNull String);
20304  }
20305
20306}
20307
20308package android.security.advancedprotection {
20309
20310  public final class AdvancedProtectionFeature implements android.os.Parcelable {
20311    ctor public AdvancedProtectionFeature(int);
20312    method public int describeContents();
20313    method public int getId();
20314    method public void writeToParcel(@NonNull android.os.Parcel, int);
20315    field @NonNull public static final android.os.Parcelable.Creator<android.security.advancedprotection.AdvancedProtectionFeature> CREATOR;
20316  }
20317
20318  public final class AdvancedProtectionManager {
20319    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_ADVANCED_PROTECTION_MODE) public java.util.List<android.security.advancedprotection.AdvancedProtectionFeature> getAdvancedProtectionFeatures();
20320    method @RequiresPermission(android.Manifest.permission.MANAGE_ADVANCED_PROTECTION_MODE) public void setAdvancedProtectionEnabled(boolean);
20321    field public static final int FEATURE_ID_DISALLOW_CELLULAR_2G = 0; // 0x0
20322    field public static final int FEATURE_ID_DISALLOW_INSTALL_UNKNOWN_SOURCES = 1; // 0x1
20323    field public static final int FEATURE_ID_DISALLOW_USB = 2; // 0x2
20324    field public static final int FEATURE_ID_DISALLOW_WEP = 3; // 0x3
20325    field public static final int FEATURE_ID_ENABLE_MTE = 4; // 0x4
20326  }
20327
20328}
20329
20330package android.security.intrusiondetection {
20331
20332  public final class IntrusionDetectionEvent implements android.os.Parcelable {
20333    method @NonNull public static android.security.intrusiondetection.IntrusionDetectionEvent createForConnectEvent(@NonNull android.app.admin.ConnectEvent);
20334    method @NonNull public static android.security.intrusiondetection.IntrusionDetectionEvent createForDnsEvent(@NonNull android.app.admin.DnsEvent);
20335    method @NonNull public static android.security.intrusiondetection.IntrusionDetectionEvent createForSecurityEvent(@NonNull android.app.admin.SecurityLog.SecurityEvent);
20336    method public int describeContents();
20337    method @NonNull public android.app.admin.ConnectEvent getConnectEvent();
20338    method @NonNull public android.app.admin.DnsEvent getDnsEvent();
20339    method @NonNull public android.app.admin.SecurityLog.SecurityEvent getSecurityEvent();
20340    method @NonNull public int getType();
20341    method public void writeToParcel(@NonNull android.os.Parcel, int);
20342    field @NonNull public static final android.os.Parcelable.Creator<android.security.intrusiondetection.IntrusionDetectionEvent> CREATOR;
20343    field public static final int NETWORK_EVENT_CONNECT = 2; // 0x2
20344    field public static final int NETWORK_EVENT_DNS = 1; // 0x1
20345    field public static final int SECURITY_EVENT = 0; // 0x0
20346  }
20347
20348  public class IntrusionDetectionEventTransport {
20349    ctor public IntrusionDetectionEventTransport();
20350    method public boolean addData(@NonNull java.util.List<android.security.intrusiondetection.IntrusionDetectionEvent>);
20351    method @NonNull public android.os.IBinder getBinder();
20352    method public boolean initialize();
20353    method public boolean release();
20354  }
20355
20356  public class IntrusionDetectionManager {
20357    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>);
20358    method @RequiresPermission(android.Manifest.permission.MANAGE_INTRUSION_DETECTION_STATE) public void disable(@NonNull java.util.concurrent.Executor, @NonNull android.security.intrusiondetection.IntrusionDetectionManager.CommandCallback);
20359    method @RequiresPermission(android.Manifest.permission.MANAGE_INTRUSION_DETECTION_STATE) public void enable(@NonNull java.util.concurrent.Executor, @NonNull android.security.intrusiondetection.IntrusionDetectionManager.CommandCallback);
20360    method @RequiresPermission(android.Manifest.permission.READ_INTRUSION_DETECTION_STATE) public void removeStateCallback(@NonNull java.util.function.Consumer<java.lang.Integer>);
20361    field public static final int ERROR_DATA_SOURCE_UNAVAILABLE = 4; // 0x4
20362    field public static final int ERROR_PERMISSION_DENIED = 1; // 0x1
20363    field public static final int ERROR_TRANSPORT_UNAVAILABLE = 3; // 0x3
20364    field public static final int ERROR_UNKNOWN = 0; // 0x0
20365    field public static final int STATE_DISABLED = 1; // 0x1
20366    field public static final int STATE_ENABLED = 2; // 0x2
20367    field public static final int STATE_UNKNOWN = 0; // 0x0
20368  }
20369
20370  public static interface IntrusionDetectionManager.CommandCallback {
20371    method public void onFailure(int);
20372    method public void onSuccess();
20373  }
20374
20375}
20376
20377package android.security.keystore {
20378
20379  public class AndroidKeyStoreProvider extends java.security.Provider {
20380    method @NonNull public static java.security.KeyStore getKeyStoreForUid(int) throws java.security.KeyStoreException, java.security.NoSuchProviderException;
20381  }
20382
20383  public abstract class AttestationUtils {
20384    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;
20385    field public static final int ID_TYPE_IMEI = 2; // 0x2
20386    field public static final int ID_TYPE_MEID = 3; // 0x3
20387    field public static final int ID_TYPE_SERIAL = 1; // 0x1
20388    field public static final int USE_INDIVIDUAL_ATTESTATION = 4; // 0x4
20389  }
20390
20391  public class DeviceIdAttestationException extends java.lang.Exception {
20392    ctor public DeviceIdAttestationException(@Nullable String);
20393    ctor public DeviceIdAttestationException(@Nullable String, @Nullable Throwable);
20394  }
20395
20396  public final class KeyGenParameterSpec implements java.security.spec.AlgorithmParameterSpec {
20397    method @NonNull public int[] getAttestationIds();
20398    method public int getNamespace();
20399  }
20400
20401  public static final class KeyGenParameterSpec.Builder {
20402    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setAttestationIds(@NonNull int[]);
20403    method @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setNamespace(int);
20404    method @Deprecated @NonNull public android.security.keystore.KeyGenParameterSpec.Builder setUid(int);
20405  }
20406
20407  public abstract class KeyProperties {
20408    field public static final int NAMESPACE_APPLICATION = -1; // 0xffffffff
20409    field public static final int NAMESPACE_WIFI = 102; // 0x66
20410  }
20411
20412}
20413
20414package android.security.keystore.recovery {
20415
20416  public class DecryptionFailedException extends java.security.GeneralSecurityException {
20417    ctor public DecryptionFailedException(String);
20418  }
20419
20420  public class InternalRecoveryServiceException extends java.security.GeneralSecurityException {
20421    ctor public InternalRecoveryServiceException(String);
20422    ctor public InternalRecoveryServiceException(String, Throwable);
20423  }
20424
20425  public final class KeyChainProtectionParams implements android.os.Parcelable {
20426    method public void clearSecret();
20427    method public int describeContents();
20428    method @NonNull public android.security.keystore.recovery.KeyDerivationParams getKeyDerivationParams();
20429    method public int getLockScreenUiFormat();
20430    method @NonNull public byte[] getSecret();
20431    method public int getUserSecretType();
20432    method public void writeToParcel(android.os.Parcel, int);
20433    field @NonNull public static final android.os.Parcelable.Creator<android.security.keystore.recovery.KeyChainProtectionParams> CREATOR;
20434    field public static final int TYPE_LOCKSCREEN = 100; // 0x64
20435    field public static final int UI_FORMAT_PASSWORD = 2; // 0x2
20436    field public static final int UI_FORMAT_PATTERN = 3; // 0x3
20437    field public static final int UI_FORMAT_PIN = 1; // 0x1
20438  }
20439
20440  public static class KeyChainProtectionParams.Builder {
20441    ctor public KeyChainProtectionParams.Builder();
20442    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams build();
20443    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams.Builder setKeyDerivationParams(@NonNull android.security.keystore.recovery.KeyDerivationParams);
20444    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams.Builder setLockScreenUiFormat(int);
20445    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams.Builder setSecret(@NonNull byte[]);
20446    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams.Builder setUserSecretType(int);
20447  }
20448
20449  public final class KeyChainSnapshot implements android.os.Parcelable {
20450    method public int describeContents();
20451    method public long getCounterId();
20452    method @NonNull public byte[] getEncryptedRecoveryKeyBlob();
20453    method @NonNull public java.util.List<android.security.keystore.recovery.KeyChainProtectionParams> getKeyChainProtectionParams();
20454    method public int getMaxAttempts();
20455    method @NonNull public byte[] getServerParams();
20456    method public int getSnapshotVersion();
20457    method @NonNull public java.security.cert.CertPath getTrustedHardwareCertPath();
20458    method @NonNull public java.util.List<android.security.keystore.recovery.WrappedApplicationKey> getWrappedApplicationKeys();
20459    method public void writeToParcel(android.os.Parcel, int);
20460    field @NonNull public static final android.os.Parcelable.Creator<android.security.keystore.recovery.KeyChainSnapshot> CREATOR;
20461  }
20462
20463  public final class KeyDerivationParams implements android.os.Parcelable {
20464    method @NonNull public static android.security.keystore.recovery.KeyDerivationParams createScryptParams(@NonNull byte[], int);
20465    method @NonNull public static android.security.keystore.recovery.KeyDerivationParams createSha256Params(@NonNull byte[]);
20466    method public int describeContents();
20467    method public int getAlgorithm();
20468    method public int getMemoryDifficulty();
20469    method @NonNull public byte[] getSalt();
20470    method public void writeToParcel(android.os.Parcel, int);
20471    field public static final int ALGORITHM_SCRYPT = 2; // 0x2
20472    field public static final int ALGORITHM_SHA256 = 1; // 0x1
20473    field @NonNull public static final android.os.Parcelable.Creator<android.security.keystore.recovery.KeyDerivationParams> CREATOR;
20474  }
20475
20476  public class LockScreenRequiredException extends java.security.GeneralSecurityException {
20477    ctor public LockScreenRequiredException(String);
20478  }
20479
20480  public class RecoveryController {
20481    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public android.security.keystore.recovery.RecoverySession createRecoverySession();
20482    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;
20483    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;
20484    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public java.util.List<java.lang.String> getAliases() throws android.security.keystore.recovery.InternalRecoveryServiceException;
20485    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public static android.security.keystore.recovery.RecoveryController getInstance(@NonNull android.content.Context);
20486    method @Nullable @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public java.security.Key getKey(@NonNull String) throws android.security.keystore.recovery.InternalRecoveryServiceException, java.security.UnrecoverableKeyException;
20487    method @Nullable @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public android.security.keystore.recovery.KeyChainSnapshot getKeyChainSnapshot() throws android.security.keystore.recovery.InternalRecoveryServiceException;
20488    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public int[] getRecoverySecretTypes() throws android.security.keystore.recovery.InternalRecoveryServiceException;
20489    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public int getRecoveryStatus(@NonNull String) throws android.security.keystore.recovery.InternalRecoveryServiceException;
20490    method @NonNull @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public java.util.Map<java.lang.String,java.security.cert.X509Certificate> getRootCertificates();
20491    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;
20492    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;
20493    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;
20494    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public static boolean isRecoverableKeyStoreEnabled(@NonNull android.content.Context);
20495    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void removeKey(@NonNull String) throws android.security.keystore.recovery.InternalRecoveryServiceException;
20496    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void setRecoverySecretTypes(@NonNull int[]) throws android.security.keystore.recovery.InternalRecoveryServiceException;
20497    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void setRecoveryStatus(@NonNull String, int) throws android.security.keystore.recovery.InternalRecoveryServiceException;
20498    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void setServerParams(@NonNull byte[]) throws android.security.keystore.recovery.InternalRecoveryServiceException;
20499    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void setSnapshotCreatedPendingIntent(@Nullable android.app.PendingIntent) throws android.security.keystore.recovery.InternalRecoveryServiceException;
20500    field public static final int RECOVERY_STATUS_PERMANENT_FAILURE = 3; // 0x3
20501    field public static final int RECOVERY_STATUS_SYNCED = 0; // 0x0
20502    field public static final int RECOVERY_STATUS_SYNC_IN_PROGRESS = 1; // 0x1
20503  }
20504
20505  public class RecoverySession implements java.lang.AutoCloseable {
20506    method @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE) public void close();
20507    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;
20508    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;
20509  }
20510
20511  public class SessionExpiredException extends java.security.GeneralSecurityException {
20512    ctor public SessionExpiredException(String);
20513  }
20514
20515  public final class WrappedApplicationKey implements android.os.Parcelable {
20516    method public int describeContents();
20517    method @NonNull public String getAlias();
20518    method @NonNull public byte[] getEncryptedKeyMaterial();
20519    method @Nullable public byte[] getMetadata();
20520    method public void writeToParcel(android.os.Parcel, int);
20521    field @NonNull public static final android.os.Parcelable.Creator<android.security.keystore.recovery.WrappedApplicationKey> CREATOR;
20522  }
20523
20524  public static class WrappedApplicationKey.Builder {
20525    ctor public WrappedApplicationKey.Builder();
20526    method @NonNull public android.security.keystore.recovery.WrappedApplicationKey build();
20527    method @NonNull public android.security.keystore.recovery.WrappedApplicationKey.Builder setAlias(@NonNull String);
20528    method @NonNull public android.security.keystore.recovery.WrappedApplicationKey.Builder setEncryptedKeyMaterial(@NonNull byte[]);
20529    method @NonNull public android.security.keystore.recovery.WrappedApplicationKey.Builder setMetadata(@Nullable byte[]);
20530  }
20531
20532}
20533
20534package android.service.ambientcontext {
20535
20536  public final class AmbientContextDetectionResult implements android.os.Parcelable {
20537    method public int describeContents();
20538    method @NonNull public java.util.List<android.app.ambientcontext.AmbientContextEvent> getEvents();
20539    method @NonNull public String getPackageName();
20540    method public void writeToParcel(@NonNull android.os.Parcel, int);
20541    field @NonNull public static final android.os.Parcelable.Creator<android.service.ambientcontext.AmbientContextDetectionResult> CREATOR;
20542  }
20543
20544  public static final class AmbientContextDetectionResult.Builder {
20545    ctor public AmbientContextDetectionResult.Builder(@NonNull String);
20546    method @NonNull public android.service.ambientcontext.AmbientContextDetectionResult.Builder addEvent(@NonNull android.app.ambientcontext.AmbientContextEvent);
20547    method @NonNull public android.service.ambientcontext.AmbientContextDetectionResult.Builder addEvents(@NonNull java.util.List<android.app.ambientcontext.AmbientContextEvent>);
20548    method @NonNull public android.service.ambientcontext.AmbientContextDetectionResult build();
20549    method @NonNull public android.service.ambientcontext.AmbientContextDetectionResult.Builder clearEvents();
20550  }
20551
20552  public abstract class AmbientContextDetectionService extends android.app.Service {
20553    ctor public AmbientContextDetectionService();
20554    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
20555    method @BinderThread public abstract void onQueryServiceStatus(@NonNull int[], @NonNull String, @NonNull java.util.function.Consumer<android.service.ambientcontext.AmbientContextDetectionServiceStatus>);
20556    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>);
20557    method public abstract void onStopDetection(@NonNull String);
20558    field public static final String SERVICE_INTERFACE = "android.service.ambientcontext.AmbientContextDetectionService";
20559  }
20560
20561  public final class AmbientContextDetectionServiceStatus implements android.os.Parcelable {
20562    method public int describeContents();
20563    method @NonNull public String getPackageName();
20564    method public int getStatusCode();
20565    method public void writeToParcel(@NonNull android.os.Parcel, int);
20566    field @NonNull public static final android.os.Parcelable.Creator<android.service.ambientcontext.AmbientContextDetectionServiceStatus> CREATOR;
20567  }
20568
20569  public static final class AmbientContextDetectionServiceStatus.Builder {
20570    ctor public AmbientContextDetectionServiceStatus.Builder(@NonNull String);
20571    method @NonNull public android.service.ambientcontext.AmbientContextDetectionServiceStatus build();
20572    method @NonNull public android.service.ambientcontext.AmbientContextDetectionServiceStatus.Builder setStatusCode(int);
20573  }
20574
20575}
20576
20577package android.service.appprediction {
20578
20579  public abstract class AppPredictionService extends android.app.Service {
20580    ctor public AppPredictionService();
20581    method @MainThread public abstract void onAppTargetEvent(@NonNull android.app.prediction.AppPredictionSessionId, @NonNull android.app.prediction.AppTargetEvent);
20582    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
20583    method public void onCreatePredictionSession(@NonNull android.app.prediction.AppPredictionContext, @NonNull android.app.prediction.AppPredictionSessionId);
20584    method @MainThread public void onDestroyPredictionSession(@NonNull android.app.prediction.AppPredictionSessionId);
20585    method @MainThread public abstract void onLaunchLocationShown(@NonNull android.app.prediction.AppPredictionSessionId, @NonNull String, @NonNull java.util.List<android.app.prediction.AppTargetId>);
20586    method @MainThread public abstract void onRequestPredictionUpdate(@NonNull android.app.prediction.AppPredictionSessionId);
20587    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>>);
20588    method @MainThread public void onStartPredictionUpdates();
20589    method @MainThread public void onStopPredictionUpdates();
20590    method public final void updatePredictions(@NonNull android.app.prediction.AppPredictionSessionId, @NonNull java.util.List<android.app.prediction.AppTarget>);
20591  }
20592
20593}
20594
20595package android.service.assist.classification {
20596
20597  public final class FieldClassification implements android.os.Parcelable {
20598    ctor public FieldClassification(@NonNull android.view.autofill.AutofillId, @NonNull java.util.Set<java.lang.String>, @NonNull java.util.Set<java.lang.String>);
20599    method @NonNull public java.util.Set<java.lang.String> getGroupHints();
20600  }
20601
20602  public final class FieldClassificationRequest implements android.os.Parcelable {
20603    ctor public FieldClassificationRequest(@NonNull android.app.assist.AssistStructure);
20604    method public int describeContents();
20605    method @NonNull public android.app.assist.AssistStructure getAssistStructure();
20606    method public void writeToParcel(@NonNull android.os.Parcel, int);
20607    field @NonNull public static final android.os.Parcelable.Creator<android.service.assist.classification.FieldClassificationRequest> CREATOR;
20608  }
20609
20610  public final class FieldClassificationResponse implements android.os.Parcelable {
20611    ctor public FieldClassificationResponse(@NonNull java.util.Set<android.service.assist.classification.FieldClassification>);
20612    method public int describeContents();
20613    method @NonNull public java.util.Set<android.service.assist.classification.FieldClassification> getClassifications();
20614    method public void writeToParcel(@NonNull android.os.Parcel, int);
20615    field @NonNull public static final android.os.Parcelable.Creator<android.service.assist.classification.FieldClassificationResponse> CREATOR;
20616  }
20617
20618  public abstract class FieldClassificationService extends android.app.Service {
20619    ctor public FieldClassificationService();
20620    method public final android.os.IBinder onBind(android.content.Intent);
20621    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>);
20622    method public void onConnected();
20623    method public void onDisconnected();
20624    field public static final String SERVICE_INTERFACE = "android.service.assist.classification.FieldClassificationService";
20625  }
20626
20627}
20628
20629package android.service.attention {
20630
20631  public abstract class AttentionService extends android.app.Service {
20632    ctor public AttentionService();
20633    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
20634    method public abstract void onCancelAttentionCheck(@NonNull android.service.attention.AttentionService.AttentionCallback);
20635    method public abstract void onCheckAttention(@NonNull android.service.attention.AttentionService.AttentionCallback);
20636    method public void onStartProximityUpdates(@NonNull android.service.attention.AttentionService.ProximityUpdateCallback);
20637    method public void onStopProximityUpdates();
20638    field public static final int ATTENTION_FAILURE_CAMERA_PERMISSION_ABSENT = 6; // 0x6
20639    field public static final int ATTENTION_FAILURE_CANCELLED = 3; // 0x3
20640    field public static final int ATTENTION_FAILURE_PREEMPTED = 4; // 0x4
20641    field public static final int ATTENTION_FAILURE_TIMED_OUT = 5; // 0x5
20642    field public static final int ATTENTION_FAILURE_UNKNOWN = 2; // 0x2
20643    field public static final int ATTENTION_SUCCESS_ABSENT = 0; // 0x0
20644    field public static final int ATTENTION_SUCCESS_PRESENT = 1; // 0x1
20645    field public static final double PROXIMITY_UNKNOWN = -1.0;
20646    field public static final String SERVICE_INTERFACE = "android.service.attention.AttentionService";
20647  }
20648
20649  public static final class AttentionService.AttentionCallback {
20650    method public void onFailure(int);
20651    method public void onSuccess(int, long);
20652  }
20653
20654  public static final class AttentionService.ProximityUpdateCallback {
20655    method public void onProximityUpdate(double);
20656  }
20657
20658}
20659
20660package android.service.autofill {
20661
20662  public abstract class AutofillFieldClassificationService extends android.app.Service {
20663    ctor public AutofillFieldClassificationService();
20664    method public android.os.IBinder onBind(android.content.Intent);
20665    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);
20666    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>);
20667    field public static final String REQUIRED_ALGORITHM_CREDIT_CARD = "CREDIT_CARD";
20668    field public static final String REQUIRED_ALGORITHM_EDIT_DISTANCE = "EDIT_DISTANCE";
20669    field public static final String REQUIRED_ALGORITHM_EXACT_MATCH = "EXACT_MATCH";
20670    field public static final String SERVICE_INTERFACE = "android.service.autofill.AutofillFieldClassificationService";
20671    field public static final String SERVICE_META_DATA_KEY_AVAILABLE_ALGORITHMS = "android.autofill.field_classification.available_algorithms";
20672    field public static final String SERVICE_META_DATA_KEY_DEFAULT_ALGORITHM = "android.autofill.field_classification.default_algorithm";
20673  }
20674
20675  public static final class Dataset.Builder {
20676    ctor @Deprecated public Dataset.Builder(@NonNull android.service.autofill.InlinePresentation);
20677    method @NonNull public android.service.autofill.Dataset.Builder setContent(@NonNull android.view.autofill.AutofillId, @Nullable android.content.ClipData);
20678    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);
20679  }
20680
20681  public abstract class InlineSuggestionRenderService extends android.app.Service {
20682    ctor public InlineSuggestionRenderService();
20683    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
20684    method @NonNull public android.os.Bundle onGetInlineSuggestionsRendererInfo();
20685    method @Nullable public android.view.View onRenderSuggestion(@NonNull android.service.autofill.InlinePresentation, int, int);
20686    method public final void startIntentSender(@NonNull android.content.IntentSender);
20687    field public static final String SERVICE_INTERFACE = "android.service.autofill.InlineSuggestionRenderService";
20688  }
20689
20690}
20691
20692package android.service.autofill.augmented {
20693
20694  public abstract class AugmentedAutofillService extends android.app.Service {
20695    ctor public AugmentedAutofillService();
20696    method protected final void dump(java.io.FileDescriptor, java.io.PrintWriter, String[]);
20697    method protected void dump(@NonNull java.io.PrintWriter, @NonNull String[]);
20698    method @Nullable public final android.service.autofill.FillEventHistory getFillEventHistory();
20699    method public final android.os.IBinder onBind(android.content.Intent);
20700    method public void onConnected();
20701    method public void onDisconnected();
20702    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);
20703    method public final boolean requestAutofill(@NonNull android.content.ComponentName, @NonNull android.view.autofill.AutofillId);
20704    field public static final String SERVICE_INTERFACE = "android.service.autofill.augmented.AugmentedAutofillService";
20705  }
20706
20707  public final class FillCallback {
20708    method public void onSuccess(@Nullable android.service.autofill.augmented.FillResponse);
20709  }
20710
20711  public final class FillController {
20712    method public void autofill(@NonNull java.util.List<android.util.Pair<android.view.autofill.AutofillId,android.view.autofill.AutofillValue>>);
20713  }
20714
20715  public final class FillRequest {
20716    method @NonNull public android.content.ComponentName getActivityComponent();
20717    method @NonNull public android.view.autofill.AutofillId getFocusedId();
20718    method @NonNull public android.view.autofill.AutofillValue getFocusedValue();
20719    method @Nullable public android.app.assist.AssistStructure.ViewNode getFocusedViewNode();
20720    method @Nullable public android.view.inputmethod.InlineSuggestionsRequest getInlineSuggestionsRequest();
20721    method @Nullable public android.service.autofill.augmented.PresentationParams getPresentationParams();
20722    method public int getTaskId();
20723  }
20724
20725  public final class FillResponse {
20726  }
20727
20728  public static final class FillResponse.Builder {
20729    ctor public FillResponse.Builder();
20730    method @NonNull public android.service.autofill.augmented.FillResponse build();
20731    method @NonNull public android.service.autofill.augmented.FillResponse.Builder setClientState(@NonNull android.os.Bundle);
20732    method @NonNull public android.service.autofill.augmented.FillResponse.Builder setFillWindow(@NonNull android.service.autofill.augmented.FillWindow);
20733    method @NonNull public android.service.autofill.augmented.FillResponse.Builder setInlineSuggestions(@NonNull java.util.List<android.service.autofill.Dataset>);
20734  }
20735
20736  public final class FillWindow implements java.lang.AutoCloseable {
20737    ctor public FillWindow();
20738    method public void close();
20739    method public void destroy();
20740    method public boolean update(@NonNull android.service.autofill.augmented.PresentationParams.Area, @NonNull android.view.View, long);
20741  }
20742
20743  public abstract class PresentationParams {
20744    method @Nullable public android.service.autofill.augmented.PresentationParams.Area getSuggestionArea();
20745  }
20746
20747  public abstract static class PresentationParams.Area {
20748    method @NonNull public android.graphics.Rect getBounds();
20749  }
20750
20751}
20752
20753package android.service.carrier {
20754
20755  public abstract class ApnService extends android.app.Service {
20756    ctor public ApnService();
20757    method @NonNull public android.os.IBinder onBind(@Nullable android.content.Intent);
20758    method @NonNull @WorkerThread public abstract java.util.List<android.content.ContentValues> onRestoreApns(int);
20759  }
20760
20761  public final class CarrierMessagingServiceWrapper implements java.lang.AutoCloseable {
20762    ctor public CarrierMessagingServiceWrapper();
20763    method public boolean bindToCarrierMessagingService(@NonNull android.content.Context, @NonNull String, @NonNull java.util.concurrent.Executor, @NonNull Runnable);
20764    method public void close();
20765    method public void disconnect();
20766    method public void downloadMms(@NonNull android.net.Uri, int, @NonNull android.net.Uri, @NonNull java.util.concurrent.Executor, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallback);
20767    method public void receiveSms(@NonNull android.service.carrier.MessagePdu, @NonNull String, int, int, @NonNull java.util.concurrent.Executor, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallback);
20768    method public void sendDataSms(@NonNull byte[], int, @NonNull String, int, int, @NonNull java.util.concurrent.Executor, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallback);
20769    method public void sendMms(@NonNull android.net.Uri, int, @NonNull android.net.Uri, @NonNull java.util.concurrent.Executor, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallback);
20770    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);
20771    method public void sendTextSms(@NonNull String, int, @NonNull String, int, @NonNull java.util.concurrent.Executor, @NonNull android.service.carrier.CarrierMessagingServiceWrapper.CarrierMessagingCallback);
20772  }
20773
20774  public static interface CarrierMessagingServiceWrapper.CarrierMessagingCallback {
20775    method public default void onDownloadMmsComplete(int);
20776    method public default void onReceiveSmsComplete(int);
20777    method public default void onSendMmsComplete(int, @Nullable byte[]);
20778    method public default void onSendMultipartSmsComplete(int, @Nullable int[]);
20779    method public default void onSendSmsComplete(int, int);
20780  }
20781
20782}
20783
20784package android.service.cloudsearch {
20785
20786  public abstract class CloudSearchService extends android.app.Service {
20787    ctor public CloudSearchService();
20788    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
20789    method public abstract void onSearch(@NonNull android.app.cloudsearch.SearchRequest);
20790    method public final void returnResults(@NonNull String, @NonNull android.app.cloudsearch.SearchResponse);
20791  }
20792
20793}
20794
20795package android.service.contentcapture {
20796
20797  public final class ActivityEvent implements android.os.Parcelable {
20798    method public int describeContents();
20799    method @NonNull public android.app.assist.ActivityId getActivityId();
20800    method @NonNull public android.content.ComponentName getComponentName();
20801    method public int getEventType();
20802    method public void writeToParcel(@NonNull android.os.Parcel, int);
20803    field @NonNull public static final android.os.Parcelable.Creator<android.service.contentcapture.ActivityEvent> CREATOR;
20804    field public static final int TYPE_ACTIVITY_DESTROYED = 24; // 0x18
20805    field public static final int TYPE_ACTIVITY_PAUSED = 2; // 0x2
20806    field public static final int TYPE_ACTIVITY_RESUMED = 1; // 0x1
20807    field public static final int TYPE_ACTIVITY_STOPPED = 23; // 0x17
20808  }
20809
20810  public abstract class ContentCaptureService extends android.app.Service {
20811    ctor public ContentCaptureService();
20812    method public final void disableSelf();
20813    method public void onActivityEvent(@NonNull android.service.contentcapture.ActivityEvent);
20814    method public void onActivitySnapshot(@NonNull android.view.contentcapture.ContentCaptureSessionId, @NonNull android.service.contentcapture.SnapshotData);
20815    method public final android.os.IBinder onBind(android.content.Intent);
20816    method public void onConnected();
20817    method public void onContentCaptureEvent(@NonNull android.view.contentcapture.ContentCaptureSessionId, @NonNull android.view.contentcapture.ContentCaptureEvent);
20818    method public void onCreateContentCaptureSession(@NonNull android.view.contentcapture.ContentCaptureContext, @NonNull android.view.contentcapture.ContentCaptureSessionId);
20819    method public void onDataRemovalRequest(@NonNull android.view.contentcapture.DataRemovalRequest);
20820    method public void onDataShareRequest(@NonNull android.view.contentcapture.DataShareRequest, @NonNull android.service.contentcapture.DataShareCallback);
20821    method public void onDestroyContentCaptureSession(@NonNull android.view.contentcapture.ContentCaptureSessionId);
20822    method public void onDisconnected();
20823    method public final void setContentCaptureConditions(@NonNull String, @Nullable java.util.Set<android.view.contentcapture.ContentCaptureCondition>);
20824    method public final void setContentCaptureWhitelist(@Nullable java.util.Set<java.lang.String>, @Nullable java.util.Set<android.content.ComponentName>);
20825    field public static final String SERVICE_INTERFACE = "android.service.contentcapture.ContentCaptureService";
20826    field public static final String SERVICE_META_DATA = "android.content_capture";
20827  }
20828
20829  public interface DataShareCallback {
20830    method public void onAccept(@NonNull java.util.concurrent.Executor, @NonNull android.service.contentcapture.DataShareReadAdapter);
20831    method public void onReject();
20832  }
20833
20834  public interface DataShareReadAdapter {
20835    method public void onError(int);
20836    method public void onStart(@NonNull android.os.ParcelFileDescriptor);
20837  }
20838
20839  public final class SnapshotData implements android.os.Parcelable {
20840    method public int describeContents();
20841    method @Nullable public android.app.assist.AssistContent getAssistContent();
20842    method @NonNull public android.os.Bundle getAssistData();
20843    method @NonNull public android.app.assist.AssistStructure getAssistStructure();
20844    method public void writeToParcel(@NonNull android.os.Parcel, int);
20845    field @NonNull public static final android.os.Parcelable.Creator<android.service.contentcapture.SnapshotData> CREATOR;
20846  }
20847
20848}
20849
20850package android.service.contentsuggestions {
20851
20852  public abstract class ContentSuggestionsService extends android.app.Service {
20853    ctor public ContentSuggestionsService();
20854    method public final android.os.IBinder onBind(android.content.Intent);
20855    method public abstract void onClassifyContentSelections(@NonNull android.app.contentsuggestions.ClassificationsRequest, @NonNull android.app.contentsuggestions.ContentSuggestionsManager.ClassificationsCallback);
20856    method public abstract void onNotifyInteraction(@NonNull String, @NonNull android.os.Bundle);
20857    method public abstract void onProcessContextImage(int, @Nullable android.graphics.Bitmap, @NonNull android.os.Bundle);
20858    method public abstract void onSuggestContentSelections(@NonNull android.app.contentsuggestions.SelectionsRequest, @NonNull android.app.contentsuggestions.ContentSuggestionsManager.SelectionsCallback);
20859    field public static final String SERVICE_INTERFACE = "android.service.contentsuggestions.ContentSuggestionsService";
20860  }
20861
20862}
20863
20864package android.service.dataloader {
20865
20866  public abstract class DataLoaderService extends android.app.Service {
20867    ctor public DataLoaderService();
20868    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
20869    method @Nullable public android.service.dataloader.DataLoaderService.DataLoader onCreateDataLoader(@NonNull android.content.pm.DataLoaderParams);
20870  }
20871
20872  public static interface DataLoaderService.DataLoader {
20873    method public boolean onCreate(@NonNull android.content.pm.DataLoaderParams, @NonNull android.service.dataloader.DataLoaderService.FileSystemConnector);
20874    method public boolean onPrepareImage(@NonNull java.util.Collection<android.content.pm.InstallationFile>, @NonNull java.util.Collection<java.lang.String>);
20875  }
20876
20877  public static final class DataLoaderService.FileSystemConnector {
20878    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void writeData(@NonNull String, long, long, @NonNull android.os.ParcelFileDescriptor) throws java.io.IOException;
20879  }
20880
20881}
20882
20883package android.service.displayhash {
20884
20885  public final class DisplayHashParams implements android.os.Parcelable {
20886    method public int describeContents();
20887    method @Nullable public android.util.Size getBufferSize();
20888    method public boolean isGrayscaleBuffer();
20889    method public void writeToParcel(@NonNull android.os.Parcel, int);
20890    field @NonNull public static final android.os.Parcelable.Creator<android.service.displayhash.DisplayHashParams> CREATOR;
20891  }
20892
20893  public static final class DisplayHashParams.Builder {
20894    ctor public DisplayHashParams.Builder();
20895    method @NonNull public android.service.displayhash.DisplayHashParams build();
20896    method @NonNull public android.service.displayhash.DisplayHashParams.Builder setBufferSize(int, int);
20897    method @NonNull public android.service.displayhash.DisplayHashParams.Builder setGrayscaleBuffer(boolean);
20898  }
20899
20900  public abstract class DisplayHashingService extends android.app.Service {
20901    ctor public DisplayHashingService();
20902    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
20903    method public abstract void onGenerateDisplayHash(@NonNull byte[], @NonNull android.hardware.HardwareBuffer, @NonNull android.graphics.Rect, @NonNull String, @NonNull android.view.displayhash.DisplayHashResultCallback);
20904    method @NonNull public abstract java.util.Map<java.lang.String,android.service.displayhash.DisplayHashParams> onGetDisplayHashAlgorithms();
20905    method public abstract int onGetIntervalBetweenRequestsMillis();
20906    method @Nullable public abstract android.view.displayhash.VerifiedDisplayHash onVerifyDisplayHash(@NonNull byte[], @NonNull android.view.displayhash.DisplayHash);
20907    field public static final String SERVICE_INTERFACE = "android.service.displayhash.DisplayHashingService";
20908  }
20909
20910}
20911
20912package android.service.euicc {
20913
20914  public final class DownloadSubscriptionResult implements android.os.Parcelable {
20915    ctor public DownloadSubscriptionResult(int, int, int);
20916    method public int describeContents();
20917    method public int getCardId();
20918    method public int getResolvableErrors();
20919    method public int getResult();
20920    method public void writeToParcel(android.os.Parcel, int);
20921    field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.DownloadSubscriptionResult> CREATOR;
20922  }
20923
20924  public final class EuiccProfileInfo implements android.os.Parcelable {
20925    method public int describeContents();
20926    method public android.service.carrier.CarrierIdentifier getCarrierIdentifier();
20927    method public String getIccid();
20928    method @Nullable public String getNickname();
20929    method public int getPolicyRules();
20930    method public int getProfileClass();
20931    method public String getProfileName();
20932    method public String getServiceProviderName();
20933    method public int getState();
20934    method @Nullable public java.util.List<android.telephony.UiccAccessRule> getUiccAccessRules();
20935    method public boolean hasPolicyRule(int);
20936    method public boolean hasPolicyRules();
20937    method public void writeToParcel(android.os.Parcel, int);
20938    field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.EuiccProfileInfo> CREATOR;
20939    field public static final int POLICY_RULE_DELETE_AFTER_DISABLING = 4; // 0x4
20940    field public static final int POLICY_RULE_DO_NOT_DELETE = 2; // 0x2
20941    field public static final int POLICY_RULE_DO_NOT_DISABLE = 1; // 0x1
20942    field public static final int PROFILE_CLASS_OPERATIONAL = 2; // 0x2
20943    field public static final int PROFILE_CLASS_PROVISIONING = 1; // 0x1
20944    field public static final int PROFILE_CLASS_TESTING = 0; // 0x0
20945    field public static final int PROFILE_STATE_DISABLED = 0; // 0x0
20946    field public static final int PROFILE_STATE_ENABLED = 1; // 0x1
20947  }
20948
20949  public static final class EuiccProfileInfo.Builder {
20950    ctor public EuiccProfileInfo.Builder(android.service.euicc.EuiccProfileInfo);
20951    ctor public EuiccProfileInfo.Builder(String);
20952    method public android.service.euicc.EuiccProfileInfo build();
20953    method public android.service.euicc.EuiccProfileInfo.Builder setCarrierIdentifier(android.service.carrier.CarrierIdentifier);
20954    method public android.service.euicc.EuiccProfileInfo.Builder setIccid(String);
20955    method public android.service.euicc.EuiccProfileInfo.Builder setNickname(String);
20956    method public android.service.euicc.EuiccProfileInfo.Builder setPolicyRules(int);
20957    method public android.service.euicc.EuiccProfileInfo.Builder setProfileClass(int);
20958    method public android.service.euicc.EuiccProfileInfo.Builder setProfileName(String);
20959    method public android.service.euicc.EuiccProfileInfo.Builder setServiceProviderName(String);
20960    method public android.service.euicc.EuiccProfileInfo.Builder setState(int);
20961    method public android.service.euicc.EuiccProfileInfo.Builder setUiccAccessRule(@Nullable java.util.List<android.telephony.UiccAccessRule>);
20962  }
20963
20964  public abstract class EuiccService extends android.app.Service {
20965    ctor public EuiccService();
20966    method public void dump(@NonNull java.io.PrintWriter);
20967    method public int encodeSmdxSubjectAndReasonCode(@Nullable String, @Nullable String);
20968    method @CallSuper public android.os.IBinder onBind(android.content.Intent);
20969    method public abstract int onDeleteSubscription(int, String);
20970    method @Deprecated public int onDownloadSubscription(int, @NonNull android.telephony.euicc.DownloadableSubscription, boolean, boolean);
20971    method @Deprecated public android.service.euicc.DownloadSubscriptionResult onDownloadSubscription(int, @NonNull android.telephony.euicc.DownloadableSubscription, boolean, boolean, @Nullable android.os.Bundle);
20972    method @NonNull public android.service.euicc.DownloadSubscriptionResult onDownloadSubscription(int, int, @NonNull android.telephony.euicc.DownloadableSubscription, boolean, boolean, @NonNull android.os.Bundle);
20973    method @Deprecated public abstract int onEraseSubscriptions(int);
20974    method public int onEraseSubscriptions(int, int);
20975    method public long onGetAvailableMemoryInBytes(int);
20976    method public abstract android.service.euicc.GetDefaultDownloadableSubscriptionListResult onGetDefaultDownloadableSubscriptionList(int, boolean);
20977    method public abstract android.service.euicc.GetDownloadableSubscriptionMetadataResult onGetDownloadableSubscriptionMetadata(int, android.telephony.euicc.DownloadableSubscription, boolean);
20978    method @NonNull public android.service.euicc.GetDownloadableSubscriptionMetadataResult onGetDownloadableSubscriptionMetadata(int, int, @NonNull android.telephony.euicc.DownloadableSubscription, boolean);
20979    method public abstract String onGetEid(int);
20980    method @NonNull public abstract android.telephony.euicc.EuiccInfo onGetEuiccInfo(int);
20981    method @NonNull public abstract android.service.euicc.GetEuiccProfileInfoListResult onGetEuiccProfileInfoList(int);
20982    method public abstract int onGetOtaStatus(int);
20983    method public abstract int onRetainSubscriptionsForFactoryReset(int);
20984    method public abstract void onStartOtaIfNecessary(int, android.service.euicc.EuiccService.OtaStatusChangedCallback);
20985    method @Deprecated public abstract int onSwitchToSubscription(int, @Nullable String, boolean);
20986    method public int onSwitchToSubscriptionWithPort(int, int, @Nullable String, boolean);
20987    method public abstract int onUpdateSubscriptionNickname(int, String, String);
20988    field public static final String ACTION_BIND_CARRIER_PROVISIONING_SERVICE = "android.service.euicc.action.BIND_CARRIER_PROVISIONING_SERVICE";
20989    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";
20990    field public static final String ACTION_DELETE_SUBSCRIPTION_PRIVILEGED = "android.service.euicc.action.DELETE_SUBSCRIPTION_PRIVILEGED";
20991    field @RequiresPermission(android.Manifest.permission.BIND_EUICC_SERVICE) public static final String ACTION_MANAGE_EMBEDDED_SUBSCRIPTIONS = "android.service.euicc.action.MANAGE_EMBEDDED_SUBSCRIPTIONS";
20992    field @RequiresPermission(android.Manifest.permission.BIND_EUICC_SERVICE) public static final String ACTION_PROVISION_EMBEDDED_SUBSCRIPTION = "android.service.euicc.action.PROVISION_EMBEDDED_SUBSCRIPTION";
20993    field public static final String ACTION_RENAME_SUBSCRIPTION_PRIVILEGED = "android.service.euicc.action.RENAME_SUBSCRIPTION_PRIVILEGED";
20994    field @Deprecated public static final String ACTION_RESOLVE_CONFIRMATION_CODE = "android.service.euicc.action.RESOLVE_CONFIRMATION_CODE";
20995    field public static final String ACTION_RESOLVE_DEACTIVATE_SIM = "android.service.euicc.action.RESOLVE_DEACTIVATE_SIM";
20996    field public static final String ACTION_RESOLVE_NO_PRIVILEGES = "android.service.euicc.action.RESOLVE_NO_PRIVILEGES";
20997    field public static final String ACTION_RESOLVE_RESOLVABLE_ERRORS = "android.service.euicc.action.RESOLVE_RESOLVABLE_ERRORS";
20998    field public static final String ACTION_START_CARRIER_ACTIVATION = "android.service.euicc.action.START_CARRIER_ACTIVATION";
20999    field public static final String ACTION_START_EUICC_ACTIVATION = "android.service.euicc.action.START_EUICC_ACTIVATION";
21000    field public static final String ACTION_TOGGLE_SUBSCRIPTION_PRIVILEGED = "android.service.euicc.action.TOGGLE_SUBSCRIPTION_PRIVILEGED";
21001    field @RequiresPermission(android.Manifest.permission.BIND_EUICC_SERVICE) public static final String ACTION_TRANSFER_EMBEDDED_SUBSCRIPTIONS = "android.service.euicc.action.TRANSFER_EMBEDDED_SUBSCRIPTIONS";
21002    field public static final String CATEGORY_EUICC_UI = "android.service.euicc.category.EUICC_UI";
21003    field public static final String EUICC_SERVICE_INTERFACE = "android.service.euicc.EuiccService";
21004    field public static final String EXTRA_RESOLUTION_ALLOW_POLICY_RULES = "android.service.euicc.extra.RESOLUTION_ALLOW_POLICY_RULES";
21005    field public static final String EXTRA_RESOLUTION_CALLING_PACKAGE = "android.service.euicc.extra.RESOLUTION_CALLING_PACKAGE";
21006    field public static final String EXTRA_RESOLUTION_CARD_ID = "android.service.euicc.extra.RESOLUTION_CARD_ID";
21007    field public static final String EXTRA_RESOLUTION_CONFIRMATION_CODE = "android.service.euicc.extra.RESOLUTION_CONFIRMATION_CODE";
21008    field public static final String EXTRA_RESOLUTION_CONFIRMATION_CODE_RETRIED = "android.service.euicc.extra.RESOLUTION_CONFIRMATION_CODE_RETRIED";
21009    field public static final String EXTRA_RESOLUTION_CONSENT = "android.service.euicc.extra.RESOLUTION_CONSENT";
21010    field public static final String EXTRA_RESOLUTION_PORT_INDEX = "android.service.euicc.extra.RESOLUTION_PORT_INDEX";
21011    field public static final String EXTRA_RESOLUTION_SUBSCRIPTION_ID = "android.service.euicc.extra.RESOLUTION_SUBSCRIPTION_ID";
21012    field public static final String EXTRA_RESOLUTION_USE_PORT_INDEX = "android.service.euicc.extra.RESOLUTION_USE_PORT_INDEX";
21013    field public static final String EXTRA_RESOLVABLE_ERRORS = "android.service.euicc.extra.RESOLVABLE_ERRORS";
21014    field public static final int RESOLVABLE_ERROR_CONFIRMATION_CODE = 1; // 0x1
21015    field public static final int RESOLVABLE_ERROR_POLICY_RULES = 2; // 0x2
21016    field public static final int RESULT_FIRST_USER = 1; // 0x1
21017    field public static final int RESULT_MUST_DEACTIVATE_SIM = -1; // 0xffffffff
21018    field @Deprecated public static final int RESULT_NEED_CONFIRMATION_CODE = -2; // 0xfffffffe
21019    field public static final int RESULT_OK = 0; // 0x0
21020    field public static final int RESULT_RESOLVABLE_ERRORS = -2; // 0xfffffffe
21021  }
21022
21023  public abstract static class EuiccService.OtaStatusChangedCallback {
21024    ctor public EuiccService.OtaStatusChangedCallback();
21025    method public abstract void onOtaStatusChanged(int);
21026  }
21027
21028  public final class GetDefaultDownloadableSubscriptionListResult implements android.os.Parcelable {
21029    ctor public GetDefaultDownloadableSubscriptionListResult(int, @Nullable android.telephony.euicc.DownloadableSubscription[]);
21030    method public int describeContents();
21031    method @Nullable public java.util.List<android.telephony.euicc.DownloadableSubscription> getDownloadableSubscriptions();
21032    method public int getResult();
21033    method public void writeToParcel(android.os.Parcel, int);
21034    field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.GetDefaultDownloadableSubscriptionListResult> CREATOR;
21035  }
21036
21037  public final class GetDownloadableSubscriptionMetadataResult implements android.os.Parcelable {
21038    ctor public GetDownloadableSubscriptionMetadataResult(int, @Nullable android.telephony.euicc.DownloadableSubscription);
21039    method public int describeContents();
21040    method @Nullable public android.telephony.euicc.DownloadableSubscription getDownloadableSubscription();
21041    method public int getResult();
21042    method public void writeToParcel(android.os.Parcel, int);
21043    field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.GetDownloadableSubscriptionMetadataResult> CREATOR;
21044  }
21045
21046  public final class GetEuiccProfileInfoListResult implements android.os.Parcelable {
21047    ctor public GetEuiccProfileInfoListResult(int, @Nullable android.service.euicc.EuiccProfileInfo[], boolean);
21048    method public int describeContents();
21049    method public boolean getIsRemovable();
21050    method @Nullable public java.util.List<android.service.euicc.EuiccProfileInfo> getProfiles();
21051    method public int getResult();
21052    method public void writeToParcel(android.os.Parcel, int);
21053    field @NonNull public static final android.os.Parcelable.Creator<android.service.euicc.GetEuiccProfileInfoListResult> CREATOR;
21054  }
21055
21056}
21057
21058package android.service.games {
21059
21060  public final class CreateGameSessionRequest implements android.os.Parcelable {
21061    ctor public CreateGameSessionRequest(int, @NonNull String);
21062    method public int describeContents();
21063    method @NonNull public String getGamePackageName();
21064    method public int getTaskId();
21065    method public void writeToParcel(@NonNull android.os.Parcel, int);
21066    field @NonNull public static final android.os.Parcelable.Creator<android.service.games.CreateGameSessionRequest> CREATOR;
21067  }
21068
21069  public class GameService extends android.app.Service {
21070    ctor public GameService();
21071    method @RequiresPermission(android.Manifest.permission.MANAGE_GAME_ACTIVITY) public final void createGameSession(@IntRange(from=0) int);
21072    method @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent);
21073    method public void onConnected();
21074    method public void onDisconnected();
21075    method public void onGameStarted(@NonNull android.service.games.GameStartedEvent);
21076    field public static final String ACTION_GAME_SERVICE = "android.service.games.action.GAME_SERVICE";
21077    field public static final String SERVICE_META_DATA = "android.game_service";
21078  }
21079
21080  public abstract class GameSession {
21081    ctor public GameSession();
21082    method public void onCreate();
21083    method public void onDestroy();
21084    method public void onGameTaskFocusChanged(boolean);
21085    method public void onTransientSystemBarVisibilityFromRevealGestureChanged(boolean);
21086    method @RequiresPermission(android.Manifest.permission.MANAGE_GAME_ACTIVITY) public final boolean restartGame();
21087    method public void setTaskOverlayView(@NonNull android.view.View, @NonNull android.view.ViewGroup.LayoutParams);
21088    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);
21089    method @RequiresPermission(android.Manifest.permission.MANAGE_GAME_ACTIVITY) public void takeScreenshot(@NonNull java.util.concurrent.Executor, @NonNull android.service.games.GameSession.ScreenshotCallback);
21090  }
21091
21092  public static interface GameSession.ScreenshotCallback {
21093    method public void onFailure(int);
21094    method public void onSuccess();
21095    field public static final int ERROR_TAKE_SCREENSHOT_INTERNAL_ERROR = 0; // 0x0
21096  }
21097
21098  public interface GameSessionActivityCallback {
21099    method public void onActivityResult(int, @Nullable android.content.Intent);
21100    method public default void onActivityStartFailed(@NonNull Throwable);
21101  }
21102
21103  public abstract class GameSessionService extends android.app.Service {
21104    ctor public GameSessionService();
21105    method @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent);
21106    method @NonNull public abstract android.service.games.GameSession onNewSession(@NonNull android.service.games.CreateGameSessionRequest);
21107    field public static final String ACTION_GAME_SESSION_SERVICE = "android.service.games.action.GAME_SESSION_SERVICE";
21108  }
21109
21110  public final class GameStartedEvent implements android.os.Parcelable {
21111    ctor public GameStartedEvent(@IntRange(from=0) int, @NonNull String);
21112    method public int describeContents();
21113    method @NonNull public String getPackageName();
21114    method @IntRange(from=0) public int getTaskId();
21115    method public void writeToParcel(@NonNull android.os.Parcel, int);
21116    field @NonNull public static final android.os.Parcelable.Creator<android.service.games.GameStartedEvent> CREATOR;
21117  }
21118
21119}
21120
21121package android.service.notification {
21122
21123  public final class Adjustment implements android.os.Parcelable {
21124    ctor protected Adjustment(android.os.Parcel);
21125    ctor public Adjustment(@NonNull String, @NonNull String, @NonNull android.os.Bundle, @NonNull CharSequence, @NonNull android.os.UserHandle);
21126    ctor public Adjustment(String, String, android.os.Bundle, CharSequence, int);
21127    method public int describeContents();
21128    method @NonNull public CharSequence getExplanation();
21129    method @NonNull public String getKey();
21130    method @NonNull public String getPackage();
21131    method @NonNull public android.os.Bundle getSignals();
21132    method public int getUser();
21133    method @NonNull public android.os.UserHandle getUserHandle();
21134    method public void writeToParcel(android.os.Parcel, int);
21135    field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.Adjustment> CREATOR;
21136    field public static final String KEY_CONTEXTUAL_ACTIONS = "key_contextual_actions";
21137    field public static final String KEY_IMPORTANCE = "key_importance";
21138    field public static final String KEY_IMPORTANCE_PROPOSAL = "key_importance_proposal";
21139    field public static final String KEY_NOT_CONVERSATION = "key_not_conversation";
21140    field public static final String KEY_PEOPLE = "key_people";
21141    field public static final String KEY_RANKING_SCORE = "key_ranking_score";
21142    field public static final String KEY_SENSITIVE_CONTENT = "key_sensitive_content";
21143    field public static final String KEY_SNOOZE_CRITERIA = "key_snooze_criteria";
21144    field public static final String KEY_TEXT_REPLIES = "key_text_replies";
21145    field public static final String KEY_TYPE = "key_type";
21146    field public static final String KEY_USER_SENTIMENT = "key_user_sentiment";
21147    field public static final int TYPE_CONTENT_RECOMMENDATION = 4; // 0x4
21148    field public static final int TYPE_NEWS = 3; // 0x3
21149    field public static final int TYPE_OTHER = 0; // 0x0
21150    field public static final int TYPE_PROMOTION = 1; // 0x1
21151    field public static final int TYPE_SOCIAL_MEDIA = 2; // 0x2
21152  }
21153
21154  public abstract class NotificationAssistantService extends android.service.notification.NotificationListenerService {
21155    ctor public NotificationAssistantService();
21156    method public final void adjustNotification(@NonNull android.service.notification.Adjustment);
21157    method public final void adjustNotifications(@NonNull java.util.List<android.service.notification.Adjustment>);
21158    method public void onActionInvoked(@NonNull String, @NonNull android.app.Notification.Action, int);
21159    method public void onAllowedAdjustmentsChanged();
21160    method @NonNull public final android.os.IBinder onBind(@Nullable android.content.Intent);
21161    method public void onNotificationClicked(@NonNull String);
21162    method public void onNotificationDirectReplied(@NonNull String);
21163    method @Nullable public abstract android.service.notification.Adjustment onNotificationEnqueued(@NonNull android.service.notification.StatusBarNotification);
21164    method @Nullable public android.service.notification.Adjustment onNotificationEnqueued(@NonNull android.service.notification.StatusBarNotification, @NonNull android.app.NotificationChannel);
21165    method @Nullable public android.service.notification.Adjustment onNotificationEnqueued(@NonNull android.service.notification.StatusBarNotification, @NonNull android.app.NotificationChannel, @NonNull android.service.notification.NotificationListenerService.RankingMap);
21166    method public void onNotificationExpansionChanged(@NonNull String, boolean, boolean);
21167    method public void onNotificationFeedbackReceived(@NonNull String, @NonNull android.service.notification.NotificationListenerService.RankingMap, @NonNull android.os.Bundle);
21168    method public abstract void onNotificationSnoozedUntilContext(@NonNull android.service.notification.StatusBarNotification, @NonNull String);
21169    method public void onNotificationVisibilityChanged(@NonNull String, boolean);
21170    method public void onNotificationsSeen(@NonNull java.util.List<java.lang.String>);
21171    method public void onPanelHidden();
21172    method public void onPanelRevealed(int);
21173    method public void onSuggestedReplySent(@NonNull String, @NonNull CharSequence, int);
21174    method public final void setAdjustmentTypeSupportedState(@NonNull String, boolean);
21175    method public final void unsnoozeNotification(@NonNull String);
21176    field public static final String ACTION_NOTIFICATION_ASSISTANT_DETAIL_SETTINGS = "android.service.notification.action.NOTIFICATION_ASSISTANT_DETAIL_SETTINGS";
21177    field public static final String ACTION_NOTIFICATION_ASSISTANT_FEEDBACK_SETTINGS = "android.service.notification.action.NOTIFICATION_ASSISTANT_FEEDBACK_SETTINGS";
21178    field public static final String EXTRA_NOTIFICATION_KEY = "android.service.notification.extra.NOTIFICATION_KEY";
21179    field public static final String FEEDBACK_RATING = "feedback.rating";
21180    field public static final String SERVICE_INTERFACE = "android.service.notification.NotificationAssistantService";
21181    field public static final int SOURCE_FROM_APP = 0; // 0x0
21182    field public static final int SOURCE_FROM_ASSISTANT = 1; // 0x1
21183  }
21184
21185  public abstract class NotificationListenerService extends android.app.Service {
21186    method @UiThread public void onNotificationRemoved(@NonNull android.service.notification.StatusBarNotification, @NonNull android.service.notification.NotificationListenerService.RankingMap, @NonNull android.service.notification.NotificationStats, int);
21187  }
21188
21189  public static class NotificationListenerService.Ranking {
21190    method public int getProposedImportance();
21191    method public boolean hasSensitiveContent();
21192  }
21193
21194  public final class NotificationStats implements android.os.Parcelable {
21195    ctor public NotificationStats();
21196    ctor protected NotificationStats(android.os.Parcel);
21197    method public int describeContents();
21198    method public int getDismissalSentiment();
21199    method public int getDismissalSurface();
21200    method public boolean hasDirectReplied();
21201    method public boolean hasExpanded();
21202    method public boolean hasInteracted();
21203    method public boolean hasSeen();
21204    method public boolean hasSmartReplied();
21205    method public boolean hasSnoozed();
21206    method public boolean hasViewedSettings();
21207    method public void setDirectReplied();
21208    method public void setDismissalSentiment(int);
21209    method public void setDismissalSurface(int);
21210    method public void setExpanded();
21211    method public void setSeen();
21212    method public void setSmartReplied();
21213    method public void setSnoozed();
21214    method public void setViewedSettings();
21215    method public void writeToParcel(android.os.Parcel, int);
21216    field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.NotificationStats> CREATOR;
21217    field public static final int DISMISSAL_AOD = 2; // 0x2
21218    field public static final int DISMISSAL_NOT_DISMISSED = -1; // 0xffffffff
21219    field public static final int DISMISSAL_OTHER = 0; // 0x0
21220    field public static final int DISMISSAL_PEEK = 1; // 0x1
21221    field public static final int DISMISSAL_SHADE = 3; // 0x3
21222    field public static final int DISMISS_SENTIMENT_NEGATIVE = 0; // 0x0
21223    field public static final int DISMISS_SENTIMENT_NEUTRAL = 1; // 0x1
21224    field public static final int DISMISS_SENTIMENT_POSITIVE = 2; // 0x2
21225    field public static final int DISMISS_SENTIMENT_UNKNOWN = -1000; // 0xfffffc18
21226  }
21227
21228  public final class SnoozeCriterion implements android.os.Parcelable {
21229    ctor protected SnoozeCriterion(android.os.Parcel);
21230    ctor public SnoozeCriterion(String, CharSequence, CharSequence);
21231    method public int describeContents();
21232    method public CharSequence getConfirmation();
21233    method public CharSequence getExplanation();
21234    method public String getId();
21235    method public void writeToParcel(android.os.Parcel, int);
21236    field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.SnoozeCriterion> CREATOR;
21237  }
21238
21239}
21240
21241package android.service.oemlock {
21242
21243  public class OemLockManager {
21244    method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_CARRIER_OEM_UNLOCK_STATE) public String getLockName();
21245    method @RequiresPermission(android.Manifest.permission.MANAGE_CARRIER_OEM_UNLOCK_STATE) public boolean isOemUnlockAllowedByCarrier();
21246    method @RequiresPermission(android.Manifest.permission.MANAGE_USER_OEM_UNLOCK_STATE) public boolean isOemUnlockAllowedByUser();
21247    method @RequiresPermission(android.Manifest.permission.MANAGE_CARRIER_OEM_UNLOCK_STATE) public void setOemUnlockAllowedByCarrier(boolean, @Nullable byte[]);
21248    method @RequiresPermission(android.Manifest.permission.MANAGE_USER_OEM_UNLOCK_STATE) public void setOemUnlockAllowedByUser(boolean);
21249  }
21250
21251}
21252
21253package android.service.ondeviceintelligence {
21254
21255  public abstract class OnDeviceIntelligenceService extends android.app.Service {
21256    ctor public OnDeviceIntelligenceService();
21257    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
21258    method public abstract void onDownloadFeature(int, @NonNull android.app.ondeviceintelligence.Feature, @Nullable android.os.CancellationSignal, @NonNull android.app.ondeviceintelligence.DownloadCallback);
21259    method public abstract void onGetFeature(int, int, @NonNull android.os.OutcomeReceiver<android.app.ondeviceintelligence.Feature,android.app.ondeviceintelligence.OnDeviceIntelligenceException>);
21260    method public abstract void onGetFeatureDetails(int, @NonNull android.app.ondeviceintelligence.Feature, @NonNull android.os.OutcomeReceiver<android.app.ondeviceintelligence.FeatureDetails,android.app.ondeviceintelligence.OnDeviceIntelligenceException>);
21261    method public abstract void onGetReadOnlyFeatureFileDescriptorMap(@NonNull android.app.ondeviceintelligence.Feature, @NonNull java.util.function.Consumer<java.util.Map<java.lang.String,android.os.ParcelFileDescriptor>>);
21262    method public abstract void onGetVersion(@NonNull java.util.function.LongConsumer);
21263    method public abstract void onInferenceServiceConnected();
21264    method public abstract void onInferenceServiceDisconnected();
21265    method public abstract void onListFeatures(int, @NonNull android.os.OutcomeReceiver<java.util.List<android.app.ondeviceintelligence.Feature>,android.app.ondeviceintelligence.OnDeviceIntelligenceException>);
21266    method public void onReady();
21267    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>);
21268    field public static final String SERVICE_INTERFACE = "android.service.ondeviceintelligence.OnDeviceIntelligenceService";
21269  }
21270
21271  public abstract class OnDeviceSandboxedInferenceService extends android.app.Service {
21272    ctor public OnDeviceSandboxedInferenceService();
21273    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>>);
21274    method @NonNull public java.util.concurrent.Executor getCallbackExecutor();
21275    method public final void getReadOnlyFileDescriptor(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.os.ParcelFileDescriptor>) throws java.io.FileNotFoundException;
21276    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
21277    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);
21278    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);
21279    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>);
21280    method public abstract void onUpdateProcessingState(@NonNull android.os.Bundle, @NonNull android.os.OutcomeReceiver<android.os.PersistableBundle,android.app.ondeviceintelligence.OnDeviceIntelligenceException>);
21281    method public final java.io.FileInputStream openFileInput(@NonNull String) throws java.io.FileNotFoundException;
21282    field public static final String SERVICE_INTERFACE = "android.service.ondeviceintelligence.OnDeviceSandboxedInferenceService";
21283  }
21284
21285}
21286
21287package android.service.persistentdata {
21288
21289  public class PersistentDataBlockManager {
21290    method @RequiresPermission(android.Manifest.permission.CONFIGURE_FACTORY_RESET_PROTECTION) public boolean deactivateFactoryResetProtection(@NonNull byte[]);
21291    method @RequiresPermission(android.Manifest.permission.ACCESS_PDB_STATE) public int getDataBlockSize();
21292    method @RequiresPermission(anyOf={android.Manifest.permission.READ_OEM_UNLOCK_STATE, "android.permission.OEM_UNLOCK_STATE"}) public int getFlashLockState();
21293    method public long getMaximumDataBlockSize();
21294    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_OEM_UNLOCK_STATE, "android.permission.OEM_UNLOCK_STATE"}) public boolean getOemUnlockEnabled();
21295    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_PDB_STATE) public String getPersistentDataPackageName();
21296    method @Nullable public byte[] read();
21297    method public boolean setFactoryResetProtectionSecret(@NonNull byte[]);
21298    method @Deprecated @RequiresPermission("android.permission.OEM_UNLOCK_STATE") public void setOemUnlockEnabled(boolean);
21299    method @RequiresPermission("android.permission.OEM_UNLOCK_STATE") public void wipe();
21300    method public int write(@Nullable byte[]);
21301    field public static final int FLASH_LOCK_LOCKED = 1; // 0x1
21302    field public static final int FLASH_LOCK_UNKNOWN = -1; // 0xffffffff
21303    field public static final int FLASH_LOCK_UNLOCKED = 0; // 0x0
21304  }
21305
21306}
21307
21308package android.service.quicksettings {
21309
21310  public class TileService extends android.app.Service {
21311    method public final void setStatusIcon(android.graphics.drawable.Icon, String);
21312  }
21313
21314}
21315
21316package android.service.remotelockscreenvalidation {
21317
21318  public abstract class RemoteLockscreenValidationService extends android.app.Service {
21319    ctor public RemoteLockscreenValidationService();
21320    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
21321    method public abstract void onValidateLockscreenGuess(@NonNull byte[], @NonNull android.os.OutcomeReceiver<android.app.RemoteLockscreenValidationResult,java.lang.Exception>);
21322    field public static final String SERVICE_INTERFACE = "android.service.remotelockscreenvalidation.RemoteLockscreenValidationService";
21323  }
21324
21325}
21326
21327package android.service.resolver {
21328
21329  public abstract class ResolverRankerService extends android.app.Service {
21330    ctor public ResolverRankerService();
21331    method public android.os.IBinder onBind(android.content.Intent);
21332    method public void onPredictSharingProbabilities(java.util.List<android.service.resolver.ResolverTarget>);
21333    method public void onTrainRankingModel(java.util.List<android.service.resolver.ResolverTarget>, int);
21334    field public static final String BIND_PERMISSION = "android.permission.BIND_RESOLVER_RANKER_SERVICE";
21335    field public static final String HOLD_PERMISSION = "android.permission.PROVIDE_RESOLVER_RANKER_SERVICE";
21336    field public static final String SERVICE_INTERFACE = "android.service.resolver.ResolverRankerService";
21337  }
21338
21339  public final class ResolverTarget implements android.os.Parcelable {
21340    ctor public ResolverTarget();
21341    method public int describeContents();
21342    method public float getChooserScore();
21343    method public float getLaunchScore();
21344    method public float getRecencyScore();
21345    method public float getSelectProbability();
21346    method public float getTimeSpentScore();
21347    method public void setChooserScore(float);
21348    method public void setLaunchScore(float);
21349    method public void setRecencyScore(float);
21350    method public void setSelectProbability(float);
21351    method public void setTimeSpentScore(float);
21352    method public void writeToParcel(android.os.Parcel, int);
21353    field @NonNull public static final android.os.Parcelable.Creator<android.service.resolver.ResolverTarget> CREATOR;
21354  }
21355
21356}
21357
21358package android.service.resumeonreboot {
21359
21360  public abstract class ResumeOnRebootService extends android.app.Service {
21361    ctor public ResumeOnRebootService();
21362    method @Nullable public android.os.IBinder onBind(@Nullable android.content.Intent);
21363    method @NonNull public abstract byte[] onUnwrap(@NonNull byte[]) throws java.io.IOException;
21364    method @NonNull public abstract byte[] onWrap(@NonNull byte[], long) throws java.io.IOException;
21365    field public static final String SERVICE_INTERFACE = "android.service.resumeonreboot.ResumeOnRebootService";
21366  }
21367
21368}
21369
21370package android.service.rotationresolver {
21371
21372  public final class RotationResolutionRequest implements android.os.Parcelable {
21373    ctor public RotationResolutionRequest(@NonNull String, int, int, boolean, long);
21374    method public int describeContents();
21375    method public int getCurrentRotation();
21376    method @NonNull public String getForegroundPackageName();
21377    method public int getProposedRotation();
21378    method public long getTimeoutMillis();
21379    method public boolean shouldUseCamera();
21380    method public void writeToParcel(@NonNull android.os.Parcel, int);
21381    field @NonNull public static final android.os.Parcelable.Creator<android.service.rotationresolver.RotationResolutionRequest> CREATOR;
21382  }
21383
21384  public abstract class RotationResolverService extends android.app.Service {
21385    ctor public RotationResolverService();
21386    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
21387    method public abstract void onResolveRotation(@NonNull android.service.rotationresolver.RotationResolutionRequest, @Nullable android.os.CancellationSignal, @NonNull android.service.rotationresolver.RotationResolverService.RotationResolverCallback);
21388    field public static final int ROTATION_RESULT_FAILURE_CANCELLED = 0; // 0x0
21389    field public static final int ROTATION_RESULT_FAILURE_NOT_SUPPORTED = 4; // 0x4
21390    field public static final int ROTATION_RESULT_FAILURE_PREEMPTED = 2; // 0x2
21391    field public static final int ROTATION_RESULT_FAILURE_TIMED_OUT = 1; // 0x1
21392    field public static final int ROTATION_RESULT_FAILURE_UNKNOWN = 3; // 0x3
21393    field public static final String SERVICE_INTERFACE = "android.service.rotationresolver.RotationResolverService";
21394  }
21395
21396  public static interface RotationResolverService.RotationResolverCallback {
21397    method public void onFailure(int);
21398    method public void onSuccess(int);
21399  }
21400
21401}
21402
21403package android.service.search {
21404
21405  public abstract class SearchUiService extends android.app.Service {
21406    ctor public SearchUiService();
21407    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
21408    method @MainThread public abstract void onDestroy(@NonNull android.app.search.SearchSessionId);
21409    method @MainThread public abstract void onNotifyEvent(@NonNull android.app.search.SearchSessionId, @NonNull android.app.search.Query, @NonNull android.app.search.SearchTargetEvent);
21410    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>>);
21411    method public void onSearchSessionCreated(@NonNull android.app.search.SearchContext, @NonNull android.app.search.SearchSessionId);
21412    method @MainThread public void onStartUpdateEmptyQueryResult();
21413    method @MainThread public void onStopUpdateEmptyQueryResult();
21414    method public final void updateEmptyQueryResult(@NonNull android.app.search.SearchSessionId, @NonNull java.util.List<android.app.search.SearchTarget>);
21415  }
21416
21417}
21418
21419package android.service.settings.suggestions {
21420
21421  public final class Suggestion implements android.os.Parcelable {
21422    method public int describeContents();
21423    method public int getFlags();
21424    method public android.graphics.drawable.Icon getIcon();
21425    method public String getId();
21426    method public android.app.PendingIntent getPendingIntent();
21427    method public CharSequence getSummary();
21428    method public CharSequence getTitle();
21429    method public void writeToParcel(android.os.Parcel, int);
21430    field @NonNull public static final android.os.Parcelable.Creator<android.service.settings.suggestions.Suggestion> CREATOR;
21431    field public static final int FLAG_HAS_BUTTON = 1; // 0x1
21432  }
21433
21434  public static class Suggestion.Builder {
21435    ctor public Suggestion.Builder(String);
21436    method public android.service.settings.suggestions.Suggestion build();
21437    method public android.service.settings.suggestions.Suggestion.Builder setFlags(int);
21438    method public android.service.settings.suggestions.Suggestion.Builder setIcon(android.graphics.drawable.Icon);
21439    method public android.service.settings.suggestions.Suggestion.Builder setPendingIntent(android.app.PendingIntent);
21440    method public android.service.settings.suggestions.Suggestion.Builder setSummary(CharSequence);
21441    method public android.service.settings.suggestions.Suggestion.Builder setTitle(CharSequence);
21442  }
21443
21444  public abstract class SuggestionService extends android.app.Service {
21445    ctor public SuggestionService();
21446    method public android.os.IBinder onBind(android.content.Intent);
21447    method public abstract java.util.List<android.service.settings.suggestions.Suggestion> onGetSuggestions();
21448    method public abstract void onSuggestionDismissed(android.service.settings.suggestions.Suggestion);
21449    method public abstract void onSuggestionLaunched(android.service.settings.suggestions.Suggestion);
21450  }
21451
21452}
21453
21454package android.service.smartspace {
21455
21456  public abstract class SmartspaceService extends android.app.Service {
21457    ctor public SmartspaceService();
21458    method @MainThread public abstract void notifySmartspaceEvent(@NonNull android.app.smartspace.SmartspaceSessionId, @NonNull android.app.smartspace.SmartspaceTargetEvent);
21459    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
21460    method public abstract void onCreateSmartspaceSession(@NonNull android.app.smartspace.SmartspaceConfig, @NonNull android.app.smartspace.SmartspaceSessionId);
21461    method @MainThread public abstract void onDestroy(@NonNull android.app.smartspace.SmartspaceSessionId);
21462    method public abstract void onDestroySmartspaceSession(@NonNull android.app.smartspace.SmartspaceSessionId);
21463    method @MainThread public abstract void onRequestSmartspaceUpdate(@NonNull android.app.smartspace.SmartspaceSessionId);
21464    method public final void updateSmartspaceTargets(@NonNull android.app.smartspace.SmartspaceSessionId, @NonNull java.util.List<android.app.smartspace.SmartspaceTarget>);
21465  }
21466
21467}
21468
21469package android.service.storage {
21470
21471  public abstract class ExternalStorageService extends android.app.Service {
21472    ctor public ExternalStorageService();
21473    method public void onAnrDelayStarted(@NonNull String, int, int, int);
21474    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
21475    method public abstract void onEndSession(@NonNull String) throws java.io.IOException;
21476    method public void onFreeCache(@NonNull java.util.UUID, long) throws java.io.IOException;
21477    method public abstract void onStartSession(@NonNull String, int, @NonNull android.os.ParcelFileDescriptor, @NonNull java.io.File, @NonNull java.io.File) throws java.io.IOException;
21478    method public abstract void onVolumeStateChanged(@NonNull android.os.storage.StorageVolume) throws java.io.IOException;
21479    field public static final int FLAG_SESSION_ATTRIBUTE_INDEXABLE = 2; // 0x2
21480    field public static final int FLAG_SESSION_TYPE_FUSE = 1; // 0x1
21481    field public static final String SERVICE_INTERFACE = "android.service.storage.ExternalStorageService";
21482  }
21483
21484}
21485
21486package android.service.textclassifier {
21487
21488  public abstract class TextClassifierService extends android.app.Service {
21489    ctor public TextClassifierService();
21490    method @NonNull public static android.view.textclassifier.TextClassifier getDefaultTextClassifierImplementation(@NonNull android.content.Context);
21491    method @Deprecated public final android.view.textclassifier.TextClassifier getLocalTextClassifier();
21492    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
21493    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>);
21494    method public void onConnected();
21495    method @MainThread public void onCreateTextClassificationSession(@NonNull android.view.textclassifier.TextClassificationContext, @NonNull android.view.textclassifier.TextClassificationSessionId);
21496    method @MainThread public void onDestroyTextClassificationSession(@NonNull android.view.textclassifier.TextClassificationSessionId);
21497    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>);
21498    method public void onDisconnected();
21499    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>);
21500    method @Deprecated @MainThread public void onSelectionEvent(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.SelectionEvent);
21501    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>);
21502    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>);
21503    method @MainThread public void onTextClassifierEvent(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.TextClassifierEvent);
21504    field public static final String SERVICE_INTERFACE = "android.service.textclassifier.TextClassifierService";
21505  }
21506
21507  public static interface TextClassifierService.Callback<T> {
21508    method public void onFailure(@NonNull CharSequence);
21509    method public void onSuccess(T);
21510  }
21511
21512}
21513
21514package android.service.timezone {
21515
21516  public abstract class TimeZoneProviderService extends android.app.Service {
21517    ctor public TimeZoneProviderService();
21518    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
21519    method public abstract void onStartUpdates(long);
21520    method public abstract void onStopUpdates();
21521    method public final void reportPermanentFailure(@NonNull Throwable);
21522    method public final void reportSuggestion(@NonNull android.service.timezone.TimeZoneProviderSuggestion);
21523    method public final void reportSuggestion(@NonNull android.service.timezone.TimeZoneProviderSuggestion, @NonNull android.service.timezone.TimeZoneProviderStatus);
21524    method public final void reportUncertain();
21525    method public final void reportUncertain(@NonNull android.service.timezone.TimeZoneProviderStatus);
21526    field public static final String PRIMARY_LOCATION_TIME_ZONE_PROVIDER_SERVICE_INTERFACE = "android.service.timezone.PrimaryLocationTimeZoneProviderService";
21527    field public static final String SECONDARY_LOCATION_TIME_ZONE_PROVIDER_SERVICE_INTERFACE = "android.service.timezone.SecondaryLocationTimeZoneProviderService";
21528  }
21529
21530  public final class TimeZoneProviderStatus implements android.os.Parcelable {
21531    method public int describeContents();
21532    method public int getConnectivityDependencyStatus();
21533    method public int getLocationDetectionDependencyStatus();
21534    method public int getTimeZoneResolutionOperationStatus();
21535    method public void writeToParcel(@NonNull android.os.Parcel, int);
21536    field @NonNull public static final android.os.Parcelable.Creator<android.service.timezone.TimeZoneProviderStatus> CREATOR;
21537    field public static final int DEPENDENCY_STATUS_BLOCKED_BY_ENVIRONMENT = 4; // 0x4
21538    field public static final int DEPENDENCY_STATUS_BLOCKED_BY_SETTINGS = 6; // 0x6
21539    field public static final int DEPENDENCY_STATUS_DEGRADED_BY_SETTINGS = 5; // 0x5
21540    field public static final int DEPENDENCY_STATUS_NOT_APPLICABLE = 1; // 0x1
21541    field public static final int DEPENDENCY_STATUS_OK = 2; // 0x2
21542    field public static final int DEPENDENCY_STATUS_TEMPORARILY_UNAVAILABLE = 3; // 0x3
21543    field public static final int OPERATION_STATUS_FAILED = 3; // 0x3
21544    field public static final int OPERATION_STATUS_NOT_APPLICABLE = 1; // 0x1
21545    field public static final int OPERATION_STATUS_OK = 2; // 0x2
21546  }
21547
21548  public static final class TimeZoneProviderStatus.Builder {
21549    ctor public TimeZoneProviderStatus.Builder();
21550    method @NonNull public android.service.timezone.TimeZoneProviderStatus build();
21551    method @NonNull public android.service.timezone.TimeZoneProviderStatus.Builder setConnectivityDependencyStatus(int);
21552    method @NonNull public android.service.timezone.TimeZoneProviderStatus.Builder setLocationDetectionDependencyStatus(int);
21553    method @NonNull public android.service.timezone.TimeZoneProviderStatus.Builder setTimeZoneResolutionOperationStatus(int);
21554  }
21555
21556  public final class TimeZoneProviderSuggestion implements android.os.Parcelable {
21557    method public int describeContents();
21558    method public long getElapsedRealtimeMillis();
21559    method @NonNull public java.util.List<java.lang.String> getTimeZoneIds();
21560    method public void writeToParcel(@NonNull android.os.Parcel, int);
21561    field @NonNull public static final android.os.Parcelable.Creator<android.service.timezone.TimeZoneProviderSuggestion> CREATOR;
21562  }
21563
21564  public static final class TimeZoneProviderSuggestion.Builder {
21565    ctor public TimeZoneProviderSuggestion.Builder();
21566    method @NonNull public android.service.timezone.TimeZoneProviderSuggestion build();
21567    method @NonNull public android.service.timezone.TimeZoneProviderSuggestion.Builder setElapsedRealtimeMillis(long);
21568    method @NonNull public android.service.timezone.TimeZoneProviderSuggestion.Builder setTimeZoneIds(@NonNull java.util.List<java.lang.String>);
21569  }
21570
21571}
21572
21573package android.service.tracing {
21574
21575  public class TraceReportService extends android.app.Service {
21576    ctor public TraceReportService();
21577    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
21578    method public void onReportTrace(@NonNull android.service.tracing.TraceReportService.TraceParams);
21579  }
21580
21581  public static final class TraceReportService.TraceParams {
21582    method @NonNull public android.os.ParcelFileDescriptor getFd();
21583    method @NonNull public java.util.UUID getUuid();
21584  }
21585
21586}
21587
21588package android.service.translation {
21589
21590  public abstract class TranslationService extends android.app.Service {
21591    ctor public TranslationService();
21592    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
21593    method public void onConnected();
21594    method public abstract void onCreateTranslationSession(@NonNull android.view.translation.TranslationContext, int, @NonNull java.util.function.Consumer<java.lang.Boolean>);
21595    method public void onDisconnected();
21596    method public abstract void onFinishTranslationSession(int);
21597    method public abstract void onTranslationCapabilitiesRequest(int, int, @NonNull java.util.function.Consumer<java.util.Set<android.view.translation.TranslationCapability>>);
21598    method public abstract void onTranslationRequest(@NonNull android.view.translation.TranslationRequest, int, @Nullable android.os.CancellationSignal, @NonNull java.util.function.Consumer<android.view.translation.TranslationResponse>);
21599    method public final void updateTranslationCapability(@NonNull android.view.translation.TranslationCapability);
21600    field public static final String SERVICE_INTERFACE = "android.service.translation.TranslationService";
21601    field public static final String SERVICE_META_DATA = "android.translation_service";
21602  }
21603
21604}
21605
21606package android.service.trust {
21607
21608  public final class GrantTrustResult implements android.os.Parcelable {
21609    ctor public GrantTrustResult(int);
21610    method public int describeContents();
21611    method public int getStatus();
21612    method @NonNull public static String statusToString(int);
21613    method public void writeToParcel(@NonNull android.os.Parcel, int);
21614    field @NonNull public static final android.os.Parcelable.Creator<android.service.trust.GrantTrustResult> CREATOR;
21615    field public static final int STATUS_UNKNOWN = 0; // 0x0
21616    field public static final int STATUS_UNLOCKED_BY_GRANT = 1; // 0x1
21617  }
21618
21619  public class TrustAgentService extends android.app.Service {
21620    ctor public TrustAgentService();
21621    method public final void addEscrowToken(byte[], android.os.UserHandle);
21622    method @Deprecated public final void grantTrust(CharSequence, long, boolean);
21623    method @Deprecated public final void grantTrust(CharSequence, long, int);
21624    method public final void grantTrust(@NonNull CharSequence, long, int, @Nullable java.util.function.Consumer<android.service.trust.GrantTrustResult>);
21625    method public final void isEscrowTokenActive(long, android.os.UserHandle);
21626    method public final void lockUser();
21627    method public final android.os.IBinder onBind(android.content.Intent);
21628    method public boolean onConfigure(java.util.List<android.os.PersistableBundle>);
21629    method public void onDeviceLocked();
21630    method public void onDeviceUnlockLockout(long);
21631    method public void onDeviceUnlocked();
21632    method public void onEscrowTokenAdded(byte[], long, android.os.UserHandle);
21633    method public void onEscrowTokenRemoved(long, boolean);
21634    method public void onEscrowTokenStateReceived(long, int);
21635    method public void onTrustTimeout();
21636    method public void onUnlockAttempt(boolean);
21637    method public void onUserMayRequestUnlock();
21638    method public void onUserRequestedUnlock(boolean);
21639    method public final void removeEscrowToken(long, android.os.UserHandle);
21640    method public final void revokeTrust();
21641    method public final void setManagingTrust(boolean);
21642    method public final void showKeyguardErrorMessage(@NonNull CharSequence);
21643    method public final void unlockUserWithToken(long, byte[], android.os.UserHandle);
21644    field public static final int FLAG_GRANT_TRUST_DISMISS_KEYGUARD = 2; // 0x2
21645    field public static final int FLAG_GRANT_TRUST_DISPLAY_MESSAGE = 8; // 0x8
21646    field public static final int FLAG_GRANT_TRUST_INITIATED_BY_USER = 1; // 0x1
21647    field public static final int FLAG_GRANT_TRUST_TEMPORARY_AND_RENEWABLE = 4; // 0x4
21648    field public static final String SERVICE_INTERFACE = "android.service.trust.TrustAgentService";
21649    field public static final int TOKEN_STATE_ACTIVE = 1; // 0x1
21650    field public static final int TOKEN_STATE_INACTIVE = 0; // 0x0
21651    field public static final String TRUST_AGENT_META_DATA = "android.service.trust.trustagent";
21652  }
21653
21654}
21655
21656package android.service.voice {
21657
21658  public class AlwaysOnHotwordDetector implements android.service.voice.HotwordDetector {
21659    method @Nullable public android.content.Intent createEnrollIntent();
21660    method @Nullable public android.content.Intent createReEnrollIntent();
21661    method @Nullable public android.content.Intent createUnEnrollIntent();
21662    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public int getParameter(int);
21663    method public int getSupportedAudioCapabilities();
21664    method public int getSupportedRecognitionModes();
21665    method @Nullable @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public android.service.voice.AlwaysOnHotwordDetector.ModelParamRange queryParameter(int);
21666    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public int setParameter(int, int);
21667    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public boolean startRecognition();
21668    method public boolean startRecognition(@NonNull android.os.ParcelFileDescriptor, @NonNull android.media.AudioFormat, @Nullable android.os.PersistableBundle);
21669    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public boolean startRecognition(int);
21670    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public boolean startRecognition(int, @NonNull byte[]);
21671    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public boolean stopRecognition();
21672    method public final void updateState(@Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory);
21673    field public static final int AUDIO_CAPABILITY_ECHO_CANCELLATION = 1; // 0x1
21674    field public static final int AUDIO_CAPABILITY_NOISE_SUPPRESSION = 2; // 0x2
21675    field public static final int MODEL_PARAM_THRESHOLD_FACTOR = 0; // 0x0
21676    field public static final int RECOGNITION_FLAG_ALLOW_MULTIPLE_TRIGGERS = 2; // 0x2
21677    field public static final int RECOGNITION_FLAG_CAPTURE_TRIGGER_AUDIO = 1; // 0x1
21678    field public static final int RECOGNITION_FLAG_ENABLE_AUDIO_ECHO_CANCELLATION = 4; // 0x4
21679    field public static final int RECOGNITION_FLAG_ENABLE_AUDIO_NOISE_SUPPRESSION = 8; // 0x8
21680    field public static final int RECOGNITION_FLAG_RUN_IN_BATTERY_SAVER = 16; // 0x10
21681    field public static final int RECOGNITION_MODE_USER_IDENTIFICATION = 2; // 0x2
21682    field public static final int RECOGNITION_MODE_VOICE_TRIGGER = 1; // 0x1
21683    field public static final int STATE_ERROR = 3; // 0x3
21684    field public static final int STATE_HARDWARE_UNAVAILABLE = -2; // 0xfffffffe
21685    field public static final int STATE_KEYPHRASE_ENROLLED = 2; // 0x2
21686    field public static final int STATE_KEYPHRASE_UNENROLLED = 1; // 0x1
21687    field @Deprecated public static final int STATE_KEYPHRASE_UNSUPPORTED = -1; // 0xffffffff
21688  }
21689
21690  public abstract static class AlwaysOnHotwordDetector.Callback implements android.service.voice.HotwordDetector.Callback {
21691    ctor public AlwaysOnHotwordDetector.Callback();
21692    method public abstract void onAvailabilityChanged(int);
21693    method public void onFailure(@NonNull android.service.voice.SoundTriggerFailure);
21694    method public void onHotwordDetectionServiceInitialized(int);
21695    method public void onHotwordDetectionServiceRestarted();
21696    method public void onRejected(@NonNull android.service.voice.HotwordRejectedResult);
21697  }
21698
21699  public static class AlwaysOnHotwordDetector.EventPayload {
21700    method @Nullable public android.os.ParcelFileDescriptor getAudioStream();
21701    method @Nullable public android.media.AudioFormat getCaptureAudioFormat();
21702    method @Nullable public byte[] getData();
21703    method public int getDataFormat();
21704    method public long getHalEventReceivedMillis();
21705    method @Nullable public android.service.voice.HotwordDetectedResult getHotwordDetectedResult();
21706    method @NonNull public java.util.List<android.hardware.soundtrigger.SoundTrigger.KeyphraseRecognitionExtra> getKeyphraseRecognitionExtras();
21707    method @Deprecated @Nullable public byte[] getTriggerAudio();
21708    method public boolean isRecognitionStopped();
21709    field public static final int DATA_FORMAT_RAW = 0; // 0x0
21710    field public static final int DATA_FORMAT_TRIGGER_AUDIO = 1; // 0x1
21711  }
21712
21713  public static final class AlwaysOnHotwordDetector.ModelParamRange {
21714    method public int getEnd();
21715    method public int getStart();
21716  }
21717
21718  public final class FailureSuggestedAction {
21719    field public static final int DISABLE_DETECTION = 2; // 0x2
21720    field public static final int NONE = 1; // 0x1
21721    field public static final int RECREATE_DETECTOR = 3; // 0x3
21722    field public static final int RESTART_RECOGNITION = 4; // 0x4
21723    field public static final int UNKNOWN = 0; // 0x0
21724  }
21725
21726  public final class HotwordAudioStream implements android.os.Parcelable {
21727    method public int describeContents();
21728    method @NonNull public android.media.AudioFormat getAudioFormat();
21729    method @NonNull public android.os.ParcelFileDescriptor getAudioStreamParcelFileDescriptor();
21730    method @NonNull public byte[] getInitialAudio();
21731    method @NonNull public android.os.PersistableBundle getMetadata();
21732    method @Nullable public android.media.AudioTimestamp getTimestamp();
21733    method public void writeToParcel(@NonNull android.os.Parcel, int);
21734    field @NonNull public static final android.os.Parcelable.Creator<android.service.voice.HotwordAudioStream> CREATOR;
21735    field public static final String KEY_AUDIO_STREAM_COPY_BUFFER_LENGTH_BYTES = "android.service.voice.key.AUDIO_STREAM_COPY_BUFFER_LENGTH_BYTES";
21736  }
21737
21738  public static final class HotwordAudioStream.Builder {
21739    ctor public HotwordAudioStream.Builder(@NonNull android.media.AudioFormat, @NonNull android.os.ParcelFileDescriptor);
21740    method @NonNull public android.service.voice.HotwordAudioStream build();
21741    method @NonNull public android.service.voice.HotwordAudioStream.Builder setAudioFormat(@NonNull android.media.AudioFormat);
21742    method @NonNull public android.service.voice.HotwordAudioStream.Builder setAudioStreamParcelFileDescriptor(@NonNull android.os.ParcelFileDescriptor);
21743    method @NonNull public android.service.voice.HotwordAudioStream.Builder setInitialAudio(@NonNull byte[]);
21744    method @NonNull public android.service.voice.HotwordAudioStream.Builder setMetadata(@NonNull android.os.PersistableBundle);
21745    method @NonNull public android.service.voice.HotwordAudioStream.Builder setTimestamp(@NonNull android.media.AudioTimestamp);
21746  }
21747
21748  public final class HotwordDetectedResult implements android.os.Parcelable {
21749    method public int describeContents();
21750    method public int getAudioChannel();
21751    method @NonNull public java.util.List<android.service.voice.HotwordAudioStream> getAudioStreams();
21752    method public int getBackgroundAudioPower();
21753    method public int getConfidenceLevel();
21754    method @NonNull public android.os.PersistableBundle getExtras();
21755    method public int getHotwordDurationMillis();
21756    method public int getHotwordOffsetMillis();
21757    method public int getHotwordPhraseId();
21758    method public static int getMaxBackgroundAudioPower();
21759    method public static int getMaxBundleSize();
21760    method public static int getMaxHotwordPhraseId();
21761    method public static int getMaxScore();
21762    method public static int getMaxSpeakerId();
21763    method @Nullable public android.media.MediaSyncEvent getMediaSyncEvent();
21764    method public int getPersonalizedScore();
21765    method public int getProximity();
21766    method public int getScore();
21767    method public int getSpeakerId();
21768    method public boolean isHotwordDetectionPersonalized();
21769    method public void writeToParcel(@NonNull android.os.Parcel, int);
21770    field public static final int AUDIO_CHANNEL_UNSET = -1; // 0xffffffff
21771    field public static final int BACKGROUND_AUDIO_POWER_UNSET = -1; // 0xffffffff
21772    field public static final int CONFIDENCE_LEVEL_HIGH = 5; // 0x5
21773    field public static final int CONFIDENCE_LEVEL_LOW = 1; // 0x1
21774    field public static final int CONFIDENCE_LEVEL_LOW_MEDIUM = 2; // 0x2
21775    field public static final int CONFIDENCE_LEVEL_MEDIUM = 3; // 0x3
21776    field public static final int CONFIDENCE_LEVEL_MEDIUM_HIGH = 4; // 0x4
21777    field public static final int CONFIDENCE_LEVEL_NONE = 0; // 0x0
21778    field public static final int CONFIDENCE_LEVEL_VERY_HIGH = 6; // 0x6
21779    field @NonNull public static final android.os.Parcelable.Creator<android.service.voice.HotwordDetectedResult> CREATOR;
21780    field public static final int HOTWORD_OFFSET_UNSET = -1; // 0xffffffff
21781    field public static final int PROXIMITY_FAR = 2; // 0x2
21782    field public static final int PROXIMITY_NEAR = 1; // 0x1
21783    field public static final int PROXIMITY_UNKNOWN = -1; // 0xffffffff
21784  }
21785
21786  public static final class HotwordDetectedResult.Builder {
21787    ctor public HotwordDetectedResult.Builder();
21788    method @NonNull public android.service.voice.HotwordDetectedResult build();
21789    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setAudioChannel(int);
21790    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setAudioStreams(@NonNull java.util.List<android.service.voice.HotwordAudioStream>);
21791    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setBackgroundAudioPower(int);
21792    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setConfidenceLevel(int);
21793    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setExtras(@NonNull android.os.PersistableBundle);
21794    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setHotwordDetectionPersonalized(boolean);
21795    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setHotwordDurationMillis(int);
21796    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setHotwordOffsetMillis(int);
21797    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setHotwordPhraseId(int);
21798    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setMediaSyncEvent(@NonNull android.media.MediaSyncEvent);
21799    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setPersonalizedScore(int);
21800    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setScore(int);
21801    method @NonNull public android.service.voice.HotwordDetectedResult.Builder setSpeakerId(int);
21802  }
21803
21804  public abstract class HotwordDetectionService extends android.app.Service implements android.service.voice.SandboxedDetectionInitializer {
21805    ctor public HotwordDetectionService();
21806    method @Deprecated public static int getMaxCustomInitializationStatus();
21807    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
21808    method public void onDetect(@NonNull android.os.ParcelFileDescriptor, @NonNull android.media.AudioFormat, @Nullable android.os.PersistableBundle, @NonNull android.service.voice.HotwordDetectionService.Callback);
21809    method public void onDetect(@NonNull android.service.voice.AlwaysOnHotwordDetector.EventPayload, long, @NonNull android.service.voice.HotwordDetectionService.Callback);
21810    method public void onDetect(@NonNull android.service.voice.HotwordDetectionService.Callback);
21811    method public void onStopDetection();
21812    method public void onUpdateState(@Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory, long, @Nullable java.util.function.IntConsumer);
21813    field @Deprecated public static final int INITIALIZATION_STATUS_SUCCESS = 0; // 0x0
21814    field @Deprecated public static final int INITIALIZATION_STATUS_UNKNOWN = 100; // 0x64
21815    field public static final String KEY_SYSTEM_WILL_CLOSE_AUDIO_STREAM_AFTER_CALLBACK = "android.service.voice.HotwordDetectionService.KEY_SYSTEM_WILL_CLOSE_AUDIO_STREAM_AFTER_CALLBACK";
21816    field public static final String SERVICE_INTERFACE = "android.service.voice.HotwordDetectionService";
21817  }
21818
21819  public static final class HotwordDetectionService.Callback {
21820    method public void onDetected(@NonNull android.service.voice.HotwordDetectedResult);
21821    method public void onRejected(@NonNull android.service.voice.HotwordRejectedResult);
21822  }
21823
21824  public final class HotwordDetectionServiceFailure implements android.os.Parcelable {
21825    method public int describeContents();
21826    method public int getErrorCode();
21827    method @NonNull public String getErrorMessage();
21828    method public int getSuggestedAction();
21829    method public void writeToParcel(@NonNull android.os.Parcel, int);
21830    field @NonNull public static final android.os.Parcelable.Creator<android.service.voice.HotwordDetectionServiceFailure> CREATOR;
21831    field public static final int ERROR_CODE_BINDING_DIED = 2; // 0x2
21832    field public static final int ERROR_CODE_BIND_FAILURE = 1; // 0x1
21833    field public static final int ERROR_CODE_COPY_AUDIO_DATA_FAILURE = 3; // 0x3
21834    field public static final int ERROR_CODE_DETECT_TIMEOUT = 4; // 0x4
21835    field public static final int ERROR_CODE_ON_DETECTED_SECURITY_EXCEPTION = 5; // 0x5
21836    field public static final int ERROR_CODE_ON_DETECTED_STREAM_COPY_FAILURE = 6; // 0x6
21837    field public static final int ERROR_CODE_REMOTE_EXCEPTION = 7; // 0x7
21838    field public static final int ERROR_CODE_UNKNOWN = 0; // 0x0
21839  }
21840
21841  public interface HotwordDetector {
21842    method public default void destroy();
21843    method @RequiresPermission(allOf={android.Manifest.permission.RECORD_AUDIO, android.Manifest.permission.CAPTURE_AUDIO_HOTWORD}) public boolean startRecognition();
21844    method public boolean startRecognition(@NonNull android.os.ParcelFileDescriptor, @NonNull android.media.AudioFormat, @Nullable android.os.PersistableBundle);
21845    method public boolean stopRecognition();
21846    method public void updateState(@Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory);
21847  }
21848
21849  public static interface HotwordDetector.Callback {
21850    method public void onDetected(@NonNull android.service.voice.AlwaysOnHotwordDetector.EventPayload);
21851    method @Deprecated public void onError();
21852    method public default void onFailure(@NonNull android.service.voice.HotwordDetectionServiceFailure);
21853    method public void onHotwordDetectionServiceInitialized(int);
21854    method public void onHotwordDetectionServiceRestarted();
21855    method public void onRecognitionPaused();
21856    method public void onRecognitionResumed();
21857    method public void onRejected(@NonNull android.service.voice.HotwordRejectedResult);
21858    method public default void onUnknownFailure(@NonNull String);
21859  }
21860
21861  public final class HotwordRejectedResult implements android.os.Parcelable {
21862    method public int describeContents();
21863    method public int getConfidenceLevel();
21864    method public void writeToParcel(@NonNull android.os.Parcel, int);
21865    field public static final int CONFIDENCE_LEVEL_HIGH = 3; // 0x3
21866    field public static final int CONFIDENCE_LEVEL_LOW = 1; // 0x1
21867    field public static final int CONFIDENCE_LEVEL_MEDIUM = 2; // 0x2
21868    field public static final int CONFIDENCE_LEVEL_NONE = 0; // 0x0
21869    field public static final int CONFIDENCE_LEVEL_VERY_HIGH = 4; // 0x4
21870    field @NonNull public static final android.os.Parcelable.Creator<android.service.voice.HotwordRejectedResult> CREATOR;
21871  }
21872
21873  public static final class HotwordRejectedResult.Builder {
21874    ctor public HotwordRejectedResult.Builder();
21875    method @NonNull public android.service.voice.HotwordRejectedResult build();
21876    method @NonNull public android.service.voice.HotwordRejectedResult.Builder setConfidenceLevel(int);
21877  }
21878
21879  public interface SandboxedDetectionInitializer {
21880    method public static int getMaxCustomInitializationStatus();
21881    method public void onUpdateState(@Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory, long, @Nullable java.util.function.IntConsumer);
21882    field public static final int INITIALIZATION_STATUS_SUCCESS = 0; // 0x0
21883    field public static final int INITIALIZATION_STATUS_UNKNOWN = 100; // 0x64
21884  }
21885
21886  public final class SoundTriggerFailure implements android.os.Parcelable {
21887    method public int describeContents();
21888    method public int getErrorCode();
21889    method @NonNull public String getErrorMessage();
21890    method public int getSuggestedAction();
21891    method public void writeToParcel(@NonNull android.os.Parcel, int);
21892    field @NonNull public static final android.os.Parcelable.Creator<android.service.voice.SoundTriggerFailure> CREATOR;
21893    field public static final int ERROR_CODE_MODULE_DIED = 1; // 0x1
21894    field public static final int ERROR_CODE_RECOGNITION_RESUME_FAILED = 2; // 0x2
21895    field public static final int ERROR_CODE_UNEXPECTED_PREEMPTION = 3; // 0x3
21896    field public static final int ERROR_CODE_UNKNOWN = 0; // 0x0
21897  }
21898
21899  public final class VisualQueryAttentionResult implements android.os.Parcelable {
21900    method public int describeContents();
21901    method @IntRange(from=1, to=100) public int getEngagementLevel();
21902    method public int getInteractionIntention();
21903    method public void writeToParcel(@NonNull android.os.Parcel, int);
21904    field @NonNull public static final android.os.Parcelable.Creator<android.service.voice.VisualQueryAttentionResult> CREATOR;
21905    field public static final int INTERACTION_INTENTION_AUDIO_VISUAL = 0; // 0x0
21906    field public static final int INTERACTION_INTENTION_VISUAL_ACCESSIBILITY = 1; // 0x1
21907  }
21908
21909  public static final class VisualQueryAttentionResult.Builder {
21910    ctor public VisualQueryAttentionResult.Builder();
21911    method @NonNull public android.service.voice.VisualQueryAttentionResult build();
21912    method @NonNull public android.service.voice.VisualQueryAttentionResult.Builder setEngagementLevel(@IntRange(from=1, to=100) int);
21913    method @NonNull public android.service.voice.VisualQueryAttentionResult.Builder setInteractionIntention(int);
21914  }
21915
21916  public final class VisualQueryDetectedResult implements android.os.Parcelable {
21917    method public int describeContents();
21918    method @Nullable public byte[] getAccessibilityDetectionData();
21919    method public static int getMaxSpeakerId();
21920    method @NonNull public String getPartialQuery();
21921    method public int getSpeakerId();
21922    method public void writeToParcel(@NonNull android.os.Parcel, int);
21923    field @NonNull public static final android.os.Parcelable.Creator<android.service.voice.VisualQueryDetectedResult> CREATOR;
21924  }
21925
21926  public static final class VisualQueryDetectedResult.Builder {
21927    ctor public VisualQueryDetectedResult.Builder();
21928    method @NonNull public android.service.voice.VisualQueryDetectedResult build();
21929    method @NonNull public android.service.voice.VisualQueryDetectedResult.Builder setAccessibilityDetectionData(@NonNull byte...);
21930    method @NonNull public android.service.voice.VisualQueryDetectedResult.Builder setPartialQuery(@NonNull String);
21931    method @NonNull public android.service.voice.VisualQueryDetectedResult.Builder setSpeakerId(int);
21932  }
21933
21934  public abstract class VisualQueryDetectionService extends android.app.Service implements android.service.voice.SandboxedDetectionInitializer {
21935    ctor public VisualQueryDetectionService();
21936    method public final void finishQuery() throws java.lang.IllegalStateException;
21937    method public final void gainedAttention();
21938    method public final void gainedAttention(@NonNull android.service.voice.VisualQueryAttentionResult);
21939    method public final void lostAttention();
21940    method public final void lostAttention(int);
21941    method @Nullable public android.os.IBinder onBind(@NonNull android.content.Intent);
21942    method public void onStartDetection();
21943    method public void onStopDetection();
21944    method public void onUpdateState(@Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory, long, @Nullable java.util.function.IntConsumer);
21945    method public final void rejectQuery() throws java.lang.IllegalStateException;
21946    method public final void streamQuery(@NonNull android.service.voice.VisualQueryDetectedResult);
21947    method public final void streamQuery(@NonNull String) throws java.lang.IllegalStateException;
21948    field public static final String SERVICE_INTERFACE = "android.service.voice.VisualQueryDetectionService";
21949  }
21950
21951  public final class VisualQueryDetectionServiceFailure implements android.os.Parcelable {
21952    method public int describeContents();
21953    method public int getErrorCode();
21954    method @NonNull public String getErrorMessage();
21955    method public int getSuggestedAction();
21956    method public void writeToParcel(@NonNull android.os.Parcel, int);
21957    field @NonNull public static final android.os.Parcelable.Creator<android.service.voice.VisualQueryDetectionServiceFailure> CREATOR;
21958    field public static final int ERROR_CODE_BINDING_DIED = 2; // 0x2
21959    field public static final int ERROR_CODE_BIND_FAILURE = 1; // 0x1
21960    field public static final int ERROR_CODE_ILLEGAL_ATTENTION_STATE = 3; // 0x3
21961    field public static final int ERROR_CODE_ILLEGAL_STREAMING_STATE = 4; // 0x4
21962    field public static final int ERROR_CODE_REMOTE_EXCEPTION = 5; // 0x5
21963    field public static final int ERROR_CODE_UNKNOWN = 0; // 0x0
21964  }
21965
21966  public class VisualQueryDetector {
21967    method public void clearAccessibilityDetectionEnabledListener();
21968    method public void destroy();
21969    method public boolean isAccessibilityDetectionEnabled();
21970    method public void setAccessibilityDetectionEnabledListener(@NonNull java.util.function.Consumer<java.lang.Boolean>);
21971    method @RequiresPermission(allOf={android.Manifest.permission.CAMERA, android.Manifest.permission.RECORD_AUDIO}) public boolean startRecognition();
21972    method @RequiresPermission(allOf={android.Manifest.permission.CAMERA, android.Manifest.permission.RECORD_AUDIO}) public boolean stopRecognition();
21973    method public void updateState(@Nullable android.os.PersistableBundle, @Nullable android.os.SharedMemory);
21974  }
21975
21976  public static interface VisualQueryDetector.Callback {
21977    method public void onFailure(@NonNull android.service.voice.VisualQueryDetectionServiceFailure);
21978    method public default void onQueryDetected(@NonNull android.service.voice.VisualQueryDetectedResult);
21979    method public void onQueryDetected(@NonNull String);
21980    method public void onQueryFinished();
21981    method public void onQueryRejected();
21982    method public void onUnknownFailure(@NonNull String);
21983    method public void onVisualQueryDetectionServiceInitialized(int);
21984    method public void onVisualQueryDetectionServiceRestarted();
21985  }
21986
21987  public class VoiceInteractionService extends android.app.Service {
21988    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);
21989    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);
21990    method @Deprecated @NonNull public final android.service.voice.AlwaysOnHotwordDetector createAlwaysOnHotwordDetector(String, java.util.Locale, android.service.voice.AlwaysOnHotwordDetector.Callback);
21991    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);
21992    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);
21993    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);
21994    method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_VOICE_KEYPHRASES) public final android.media.voice.KeyphraseModelManager createKeyphraseModelManager();
21995    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);
21996  }
21997
21998}
21999
22000package android.service.wallpaper {
22001
22002  public class WallpaperService.Engine {
22003    method public boolean isInAmbientMode();
22004    method @MainThread public void onAmbientModeChanged(boolean, long);
22005  }
22006
22007}
22008
22009package android.service.wallpapereffectsgeneration {
22010
22011  public abstract class WallpaperEffectsGenerationService extends android.app.Service {
22012    ctor public WallpaperEffectsGenerationService();
22013    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
22014    method @MainThread public abstract void onGenerateCinematicEffect(@NonNull android.app.wallpapereffectsgeneration.CinematicEffectRequest);
22015    method public final void returnCinematicEffectResponse(@NonNull android.app.wallpapereffectsgeneration.CinematicEffectResponse);
22016    field public static final String SERVICE_INTERFACE = "android.service.wallpapereffectsgeneration.WallpaperEffectsGenerationService";
22017  }
22018
22019}
22020
22021package android.service.watchdog {
22022
22023  public abstract class ExplicitHealthCheckService extends android.app.Service {
22024    ctor public ExplicitHealthCheckService();
22025    method public final void notifyHealthCheckPassed(@NonNull String);
22026    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
22027    method public abstract void onCancelHealthCheck(@NonNull String);
22028    method @NonNull public abstract java.util.List<java.lang.String> onGetRequestedPackages();
22029    method @NonNull public abstract java.util.List<android.service.watchdog.ExplicitHealthCheckService.PackageConfig> onGetSupportedPackages();
22030    method public abstract void onRequestHealthCheck(@NonNull String);
22031    method public final void setHealthCheckPassedCallback(@Nullable java.util.concurrent.Executor, @Nullable java.util.function.Consumer<android.os.Bundle>);
22032    field public static final String BIND_PERMISSION = "android.permission.BIND_EXPLICIT_HEALTH_CHECK_SERVICE";
22033    field public static final String EXTRA_HEALTH_CHECK_PASSED_PACKAGE = "android.service.watchdog.extra.HEALTH_CHECK_PASSED_PACKAGE";
22034    field public static final String SERVICE_INTERFACE = "android.service.watchdog.ExplicitHealthCheckService";
22035  }
22036
22037  public static final class ExplicitHealthCheckService.PackageConfig implements android.os.Parcelable {
22038    ctor public ExplicitHealthCheckService.PackageConfig(@NonNull String, long);
22039    method public int describeContents();
22040    method public long getHealthCheckTimeoutMillis();
22041    method @NonNull public String getPackageName();
22042    method public void writeToParcel(android.os.Parcel, int);
22043    field @NonNull public static final android.os.Parcelable.Creator<android.service.watchdog.ExplicitHealthCheckService.PackageConfig> CREATOR;
22044  }
22045
22046}
22047
22048package android.service.wearable {
22049
22050  public interface WearableSensingDataRequester {
22051    method public void requestData(@NonNull android.app.wearable.WearableSensingDataRequest, @NonNull java.util.function.Consumer<java.lang.Integer>);
22052    field public static final int STATUS_OBSERVER_CANCELLED = 2; // 0x2
22053    field public static final int STATUS_SUCCESS = 1; // 0x1
22054    field public static final int STATUS_TOO_FREQUENT = 4; // 0x4
22055    field public static final int STATUS_TOO_LARGE = 3; // 0x3
22056    field public static final int STATUS_UNKNOWN = 0; // 0x0
22057  }
22058
22059  public abstract class WearableSensingService extends android.app.Service {
22060    ctor public WearableSensingService();
22061    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
22062    method @BinderThread public abstract void onDataProvided(@NonNull android.os.PersistableBundle, @Nullable android.os.SharedMemory, @NonNull java.util.function.Consumer<java.lang.Integer>);
22063    method @BinderThread public void onDataRequestObserverRegistered(int, @NonNull String, @NonNull android.service.wearable.WearableSensingDataRequester, @NonNull java.util.function.Consumer<java.lang.Integer>);
22064    method @BinderThread public void onDataRequestObserverUnregistered(int, @NonNull String, @NonNull android.service.wearable.WearableSensingDataRequester, @NonNull java.util.function.Consumer<java.lang.Integer>);
22065    method @BinderThread public abstract void onDataStreamProvided(@NonNull android.os.ParcelFileDescriptor, @NonNull java.util.function.Consumer<java.lang.Integer>);
22066    method @BinderThread public abstract void onQueryServiceStatus(@NonNull java.util.Set<java.lang.Integer>, @NonNull String, @NonNull java.util.function.Consumer<android.service.ambientcontext.AmbientContextDetectionServiceStatus>);
22067    method @BinderThread public void onReadOnlyParcelFileDescriptorProvided(@NonNull android.os.ParcelFileDescriptor, @NonNull android.os.PersistableBundle, @NonNull java.util.function.Consumer<java.lang.Integer>);
22068    method @BinderThread public void onSecureConnectionProvided(@NonNull android.os.ParcelFileDescriptor, @NonNull android.os.PersistableBundle, @NonNull java.util.function.Consumer<java.lang.Integer>);
22069    method @Deprecated @BinderThread public void onSecureConnectionProvided(@NonNull android.os.ParcelFileDescriptor, @NonNull java.util.function.Consumer<java.lang.Integer>);
22070    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>);
22071    method @BinderThread public void onStartHotwordRecognition(@NonNull java.util.function.Consumer<android.service.voice.HotwordAudioStream>, @NonNull java.util.function.Consumer<java.lang.Integer>);
22072    method public abstract void onStopDetection(@NonNull String);
22073    method @BinderThread public void onStopHotwordAudioStream();
22074    method @BinderThread public void onStopHotwordRecognition(@NonNull java.util.function.Consumer<java.lang.Integer>);
22075    method @BinderThread public void onValidatedByHotwordDetectionService();
22076    field public static final String SERVICE_INTERFACE = "android.service.wearable.WearableSensingService";
22077  }
22078
22079}
22080
22081package android.system.virtualmachine {
22082
22083  public class VirtualMachine implements java.lang.AutoCloseable {
22084    method public void clearCallback();
22085    method @WorkerThread public void close();
22086    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;
22087    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;
22088    method @NonNull @WorkerThread public android.system.virtualmachine.VirtualMachineConfig getConfig();
22089    method @NonNull @WorkerThread public java.io.InputStream getConsoleOutput() throws android.system.virtualmachine.VirtualMachineException;
22090    method @NonNull @WorkerThread public java.io.InputStream getLogOutput() throws android.system.virtualmachine.VirtualMachineException;
22091    method @NonNull public String getName();
22092    method @WorkerThread public int getStatus();
22093    method @RequiresPermission(android.system.virtualmachine.VirtualMachine.MANAGE_VIRTUAL_MACHINE_PERMISSION) @WorkerThread public void run() throws android.system.virtualmachine.VirtualMachineException;
22094    method public void setCallback(@NonNull java.util.concurrent.Executor, @NonNull android.system.virtualmachine.VirtualMachineCallback);
22095    method @NonNull @WorkerThread public android.system.virtualmachine.VirtualMachineConfig setConfig(@NonNull android.system.virtualmachine.VirtualMachineConfig) throws android.system.virtualmachine.VirtualMachineException;
22096    method @WorkerThread public void stop() throws android.system.virtualmachine.VirtualMachineException;
22097    method @NonNull @WorkerThread public android.system.virtualmachine.VirtualMachineDescriptor toDescriptor() throws android.system.virtualmachine.VirtualMachineException;
22098    field public static final String MANAGE_VIRTUAL_MACHINE_PERMISSION = "android.permission.MANAGE_VIRTUAL_MACHINE";
22099    field public static final long MAX_VSOCK_PORT = 4294967295L; // 0xffffffffL
22100    field public static final long MIN_VSOCK_PORT = 1024L; // 0x400L
22101    field public static final int STATUS_DELETED = 2; // 0x2
22102    field public static final int STATUS_RUNNING = 1; // 0x1
22103    field public static final int STATUS_STOPPED = 0; // 0x0
22104    field public static final String USE_CUSTOM_VIRTUAL_MACHINE_PERMISSION = "android.permission.USE_CUSTOM_VIRTUAL_MACHINE";
22105  }
22106
22107  public interface VirtualMachineCallback {
22108    method public void onError(@NonNull android.system.virtualmachine.VirtualMachine, int, @NonNull String);
22109    method public void onPayloadFinished(@NonNull android.system.virtualmachine.VirtualMachine, int);
22110    method public void onPayloadReady(@NonNull android.system.virtualmachine.VirtualMachine);
22111    method public void onPayloadStarted(@NonNull android.system.virtualmachine.VirtualMachine);
22112    method public void onStopped(@NonNull android.system.virtualmachine.VirtualMachine, int);
22113    field public static final int ERROR_PAYLOAD_CHANGED = 2; // 0x2
22114    field public static final int ERROR_PAYLOAD_INVALID_CONFIG = 3; // 0x3
22115    field public static final int ERROR_PAYLOAD_VERIFICATION_FAILED = 1; // 0x1
22116    field public static final int ERROR_UNKNOWN = 0; // 0x0
22117    field public static final int STOP_REASON_BOOTLOADER_INSTANCE_IMAGE_CHANGED = 10; // 0xa
22118    field public static final int STOP_REASON_BOOTLOADER_PUBLIC_KEY_MISMATCH = 9; // 0x9
22119    field public static final int STOP_REASON_CRASH = 6; // 0x6
22120    field public static final int STOP_REASON_HANGUP = 16; // 0x10
22121    field public static final int STOP_REASON_INFRASTRUCTURE_ERROR = 0; // 0x0
22122    field public static final int STOP_REASON_KILLED = 1; // 0x1
22123    field public static final int STOP_REASON_MICRODROID_FAILED_TO_CONNECT_TO_VIRTUALIZATION_SERVICE = 11; // 0xb
22124    field public static final int STOP_REASON_MICRODROID_INVALID_PAYLOAD_CONFIG = 14; // 0xe
22125    field public static final int STOP_REASON_MICRODROID_PAYLOAD_HAS_CHANGED = 12; // 0xc
22126    field public static final int STOP_REASON_MICRODROID_PAYLOAD_VERIFICATION_FAILED = 13; // 0xd
22127    field public static final int STOP_REASON_MICRODROID_UNKNOWN_RUNTIME_ERROR = 15; // 0xf
22128    field public static final int STOP_REASON_PVM_FIRMWARE_INSTANCE_IMAGE_CHANGED = 8; // 0x8
22129    field public static final int STOP_REASON_PVM_FIRMWARE_PUBLIC_KEY_MISMATCH = 7; // 0x7
22130    field public static final int STOP_REASON_REBOOT = 5; // 0x5
22131    field public static final int STOP_REASON_SHUTDOWN = 3; // 0x3
22132    field public static final int STOP_REASON_START_FAILED = 4; // 0x4
22133    field public static final int STOP_REASON_UNKNOWN = 2; // 0x2
22134    field public static final int STOP_REASON_VIRTUALIZATION_SERVICE_DIED = -1; // 0xffffffff
22135  }
22136
22137  public final class VirtualMachineConfig {
22138    method @Nullable public String getApkPath();
22139    method public int getCpuTopology();
22140    method public int getDebugLevel();
22141    method @IntRange(from=0) public long getEncryptedStorageBytes();
22142    method @IntRange(from=0) public long getMemoryBytes();
22143    method @Nullable public String getPayloadBinaryName();
22144    method public boolean isCompatibleWith(@NonNull android.system.virtualmachine.VirtualMachineConfig);
22145    method public boolean isEncryptedStorageEnabled();
22146    method public boolean isProtectedVm();
22147    method public boolean isVmOutputCaptured();
22148    method public boolean shouldUseHugepages();
22149    field public static final int CPU_TOPOLOGY_MATCH_HOST = 1; // 0x1
22150    field public static final int CPU_TOPOLOGY_ONE_CPU = 0; // 0x0
22151    field public static final int DEBUG_LEVEL_FULL = 1; // 0x1
22152    field public static final int DEBUG_LEVEL_NONE = 0; // 0x0
22153  }
22154
22155  public static final class VirtualMachineConfig.Builder {
22156    ctor public VirtualMachineConfig.Builder(@NonNull android.content.Context);
22157    method @NonNull public android.system.virtualmachine.VirtualMachineConfig build();
22158    method @NonNull public android.system.virtualmachine.VirtualMachineConfig.Builder setApkPath(@NonNull String);
22159    method @NonNull public android.system.virtualmachine.VirtualMachineConfig.Builder setCpuTopology(int);
22160    method @NonNull public android.system.virtualmachine.VirtualMachineConfig.Builder setDebugLevel(int);
22161    method @NonNull public android.system.virtualmachine.VirtualMachineConfig.Builder setEncryptedStorageBytes(@IntRange(from=1) long);
22162    method @NonNull public android.system.virtualmachine.VirtualMachineConfig.Builder setMemoryBytes(@IntRange(from=1) long);
22163    method @NonNull public android.system.virtualmachine.VirtualMachineConfig.Builder setPayloadBinaryName(@NonNull String);
22164    method @NonNull public android.system.virtualmachine.VirtualMachineConfig.Builder setProtectedVm(boolean);
22165    method @NonNull public android.system.virtualmachine.VirtualMachineConfig.Builder setShouldUseHugepages(boolean);
22166    method @NonNull public android.system.virtualmachine.VirtualMachineConfig.Builder setVmOutputCaptured(boolean);
22167  }
22168
22169  public final class VirtualMachineDescriptor implements java.lang.AutoCloseable android.os.Parcelable {
22170    method public void close();
22171    method public int describeContents();
22172    method public void writeToParcel(@NonNull android.os.Parcel, int);
22173    field @NonNull public static final android.os.Parcelable.Creator<android.system.virtualmachine.VirtualMachineDescriptor> CREATOR;
22174  }
22175
22176  public class VirtualMachineException extends java.lang.Exception {
22177  }
22178
22179  public class VirtualMachineManager {
22180    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;
22181    method @WorkerThread public void delete(@NonNull String) throws android.system.virtualmachine.VirtualMachineException;
22182    method @Nullable @WorkerThread public android.system.virtualmachine.VirtualMachine get(@NonNull String) throws android.system.virtualmachine.VirtualMachineException;
22183    method public int getCapabilities();
22184    method @NonNull @WorkerThread public android.system.virtualmachine.VirtualMachine getOrCreate(@NonNull String, @NonNull android.system.virtualmachine.VirtualMachineConfig) throws android.system.virtualmachine.VirtualMachineException;
22185    method @NonNull @WorkerThread public android.system.virtualmachine.VirtualMachine importFromDescriptor(@NonNull String, @NonNull android.system.virtualmachine.VirtualMachineDescriptor) throws android.system.virtualmachine.VirtualMachineException;
22186    field public static final int CAPABILITY_NON_PROTECTED_VM = 2; // 0x2
22187    field public static final int CAPABILITY_PROTECTED_VM = 1; // 0x1
22188  }
22189
22190}
22191
22192package android.telecom {
22193
22194  @Deprecated public class AudioState implements android.os.Parcelable {
22195    ctor @Deprecated public AudioState(android.telecom.AudioState);
22196    ctor @Deprecated public AudioState(android.telecom.CallAudioState);
22197    ctor @Deprecated public AudioState(boolean, int, int);
22198    method @Deprecated public static String audioRouteToString(int);
22199    method @Deprecated public int describeContents();
22200    method @Deprecated public int getRoute();
22201    method @Deprecated public int getSupportedRouteMask();
22202    method @Deprecated public boolean isMuted();
22203    method @Deprecated public void writeToParcel(android.os.Parcel, int);
22204    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.telecom.AudioState> CREATOR;
22205    field @Deprecated public static final int ROUTE_BLUETOOTH = 2; // 0x2
22206    field @Deprecated public static final int ROUTE_EARPIECE = 1; // 0x1
22207    field @Deprecated public static final int ROUTE_SPEAKER = 8; // 0x8
22208    field @Deprecated public static final int ROUTE_WIRED_HEADSET = 4; // 0x4
22209    field @Deprecated public static final int ROUTE_WIRED_OR_EARPIECE = 5; // 0x5
22210  }
22211
22212  public final class BluetoothCallQualityReport implements android.os.Parcelable {
22213    method public int describeContents();
22214    method @IntRange(from=0) public int getNegativeAcknowledgementCount();
22215    method @IntRange(from=0) public int getPacketsNotReceivedCount();
22216    method @IntRange(from=0) public int getRetransmittedPacketsCount();
22217    method @IntRange(from=0xffffff81, to=20) public int getRssiDbm();
22218    method public long getSentTimestampMillis();
22219    method public int getSnrDb();
22220    method public boolean isChoppyVoice();
22221    method public void writeToParcel(@NonNull android.os.Parcel, int);
22222    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.BluetoothCallQualityReport> CREATOR;
22223    field public static final String EVENT_BLUETOOTH_CALL_QUALITY_REPORT = "android.telecom.event.BLUETOOTH_CALL_QUALITY_REPORT";
22224    field public static final String EXTRA_BLUETOOTH_CALL_QUALITY_REPORT = "android.telecom.extra.BLUETOOTH_CALL_QUALITY_REPORT";
22225  }
22226
22227  public static final class BluetoothCallQualityReport.Builder {
22228    ctor public BluetoothCallQualityReport.Builder();
22229    method @NonNull public android.telecom.BluetoothCallQualityReport build();
22230    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setChoppyVoice(boolean);
22231    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setNegativeAcknowledgementCount(int);
22232    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setPacketsNotReceivedCount(int);
22233    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setRetransmittedPacketsCount(int);
22234    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setRssiDbm(int);
22235    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setSentTimestampMillis(long);
22236    method @NonNull public android.telecom.BluetoothCallQualityReport.Builder setSnrDb(int);
22237  }
22238
22239  public final class Call {
22240    method @Deprecated public void addListener(android.telecom.Call.Listener);
22241    method public void enterBackgroundAudioProcessing();
22242    method public void exitBackgroundAudioProcessing(boolean);
22243    method @Deprecated public void removeListener(android.telecom.Call.Listener);
22244    field @Deprecated public static final int STATE_PRE_DIAL_WAIT = 8; // 0x8
22245  }
22246
22247  @Deprecated public abstract static class Call.Listener extends android.telecom.Call.Callback {
22248    ctor @Deprecated public Call.Listener();
22249  }
22250
22251  public abstract class CallDiagnosticService extends android.app.Service {
22252    ctor public CallDiagnosticService();
22253    method @NonNull public java.util.concurrent.Executor getExecutor();
22254    method @Nullable public android.os.IBinder onBind(@NonNull android.content.Intent);
22255    method public abstract void onBluetoothCallQualityReportReceived(@NonNull android.telecom.BluetoothCallQualityReport);
22256    method public abstract void onCallAudioStateChanged(@NonNull android.telecom.CallAudioState);
22257    method @NonNull public abstract android.telecom.CallDiagnostics onInitializeCallDiagnostics(@NonNull android.telecom.Call.Details);
22258    method public abstract void onRemoveCallDiagnostics(@NonNull android.telecom.CallDiagnostics);
22259    field public static final String SERVICE_INTERFACE = "android.telecom.CallDiagnosticService";
22260  }
22261
22262  public abstract class CallDiagnostics {
22263    ctor public CallDiagnostics();
22264    method public final void clearDiagnosticMessage(int);
22265    method public final void displayDiagnosticMessage(int, @NonNull CharSequence);
22266    method public abstract void onCallDetailsChanged(@NonNull android.telecom.Call.Details);
22267    method @Nullable public abstract CharSequence onCallDisconnected(@NonNull android.telephony.ims.ImsReasonInfo);
22268    method @Nullable public abstract CharSequence onCallDisconnected(int, int);
22269    method public abstract void onCallQualityReceived(@NonNull android.telephony.CallQuality);
22270    method public abstract void onReceiveDeviceToDeviceMessage(int, int);
22271    method public final void sendDeviceToDeviceMessage(int, int);
22272    field public static final int BATTERY_STATE_CHARGING = 3; // 0x3
22273    field public static final int BATTERY_STATE_GOOD = 2; // 0x2
22274    field public static final int BATTERY_STATE_LOW = 1; // 0x1
22275    field public static final int COVERAGE_GOOD = 2; // 0x2
22276    field public static final int COVERAGE_POOR = 1; // 0x1
22277    field public static final int MESSAGE_CALL_AUDIO_CODEC = 2; // 0x2
22278    field public static final int MESSAGE_CALL_NETWORK_TYPE = 1; // 0x1
22279    field public static final int MESSAGE_DEVICE_BATTERY_STATE = 3; // 0x3
22280    field public static final int MESSAGE_DEVICE_NETWORK_COVERAGE = 4; // 0x4
22281  }
22282
22283  public static class CallScreeningService.CallResponse.Builder {
22284    method @NonNull @RequiresPermission(android.Manifest.permission.CAPTURE_AUDIO_OUTPUT) public android.telecom.CallScreeningService.CallResponse.Builder setShouldScreenCallViaAudioProcessing(boolean);
22285  }
22286
22287  public abstract class CallStreamingService extends android.app.Service {
22288    ctor public CallStreamingService();
22289    method @Nullable public android.os.IBinder onBind(@NonNull android.content.Intent);
22290    method public void onCallStreamingStarted(@NonNull android.telecom.StreamingCall);
22291    method public void onCallStreamingStateChanged(int);
22292    method public void onCallStreamingStopped();
22293    field public static final String SERVICE_INTERFACE = "android.telecom.CallStreamingService";
22294    field public static final int STREAMING_FAILED_ALREADY_STREAMING = 1; // 0x1
22295    field public static final int STREAMING_FAILED_NO_SENDER = 2; // 0x2
22296    field public static final int STREAMING_FAILED_SENDER_BINDING_ERROR = 3; // 0x3
22297    field public static final int STREAMING_FAILED_UNKNOWN = 0; // 0x0
22298  }
22299
22300  public abstract class Conference extends android.telecom.Conferenceable {
22301    method @Deprecated public final android.telecom.AudioState getAudioState();
22302    method @Deprecated public final long getConnectTimeMillis();
22303    method public android.telecom.Connection getPrimaryConnection();
22304    method @NonNull public final String getTelecomCallId();
22305    method @Deprecated public void onAudioStateChanged(android.telecom.AudioState);
22306    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public final void setAddress(@NonNull android.net.Uri, int);
22307    method public final void setCallerDisplayName(@NonNull String, int);
22308    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setConferenceState(boolean);
22309    method @Deprecated public final void setConnectTimeMillis(long);
22310  }
22311
22312  public abstract class Connection extends android.telecom.Conferenceable {
22313    method @Deprecated public final android.telecom.AudioState getAudioState();
22314    method @IntRange(from=0) public final long getConnectTimeMillis();
22315    method public final long getConnectionStartElapsedRealtimeMillis();
22316    method @Nullable public android.telecom.PhoneAccountHandle getPhoneAccountHandle();
22317    method @Nullable public final String getTelecomCallId();
22318    method @Deprecated public void onAudioStateChanged(android.telecom.AudioState);
22319    method @RequiresPermission(android.Manifest.permission.READ_CONTACTS) public void onCallFilteringCompleted(@NonNull android.telecom.Connection.CallFilteringCompletionInfo);
22320    method public final void resetConnectionTime();
22321    method public void setCallDirection(int);
22322    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public final void setConnectTimeMillis(@IntRange(from=0) long);
22323    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public final void setConnectionStartElapsedRealtimeMillis(long);
22324    method public void setPhoneAccountHandle(@NonNull android.telecom.PhoneAccountHandle);
22325    method public void setTelecomCallId(@NonNull String);
22326    field public static final int CAPABILITY_CONFERENCE_HAS_NO_CHILDREN = 2097152; // 0x200000
22327    field public static final int CAPABILITY_SPEED_UP_MT_AUDIO = 262144; // 0x40000
22328    field public static final String EVENT_DEVICE_TO_DEVICE_MESSAGE = "android.telecom.event.DEVICE_TO_DEVICE_MESSAGE";
22329    field public static final String EXTRA_DEVICE_TO_DEVICE_MESSAGE_TYPE = "android.telecom.extra.DEVICE_TO_DEVICE_MESSAGE_TYPE";
22330    field public static final String EXTRA_DEVICE_TO_DEVICE_MESSAGE_VALUE = "android.telecom.extra.DEVICE_TO_DEVICE_MESSAGE_VALUE";
22331    field public static final String EXTRA_DISABLE_ADD_CALL = "android.telecom.extra.DISABLE_ADD_CALL";
22332    field public static final int PROPERTY_EMERGENCY_CALLBACK_MODE = 1; // 0x1
22333    field public static final int PROPERTY_GENERIC_CONFERENCE = 2; // 0x2
22334    field public static final int PROPERTY_IS_DOWNGRADED_CONFERENCE = 64; // 0x40
22335    field public static final int PROPERTY_REMOTELY_HOSTED = 2048; // 0x800
22336  }
22337
22338  public static final class Connection.CallFilteringCompletionInfo implements android.os.Parcelable {
22339    ctor public Connection.CallFilteringCompletionInfo(boolean, boolean, @Nullable android.telecom.CallScreeningService.CallResponse, @Nullable android.content.ComponentName);
22340    method public int describeContents();
22341    method @Nullable public android.telecom.CallScreeningService.CallResponse getCallResponse();
22342    method @Nullable public android.content.ComponentName getCallScreeningComponent();
22343    method public boolean isBlocked();
22344    method public boolean isInContacts();
22345    method public void writeToParcel(android.os.Parcel, int);
22346    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.Connection.CallFilteringCompletionInfo> CREATOR;
22347  }
22348
22349  public final class ConnectionRequest implements android.os.Parcelable {
22350    method @Nullable public String getTelecomCallId();
22351  }
22352
22353  public abstract class ConnectionService extends android.app.Service {
22354    method public final void addExistingConnection(@NonNull android.telecom.PhoneAccountHandle, @NonNull android.telecom.Connection, @NonNull android.telecom.Conference);
22355  }
22356
22357  public abstract class InCallService extends android.app.Service {
22358    method @Deprecated public android.telecom.Phone getPhone();
22359    method @Deprecated public void onPhoneCreated(android.telecom.Phone);
22360    method @Deprecated public void onPhoneDestroyed(android.telecom.Phone);
22361  }
22362
22363  public class ParcelableCallAnalytics implements android.os.Parcelable {
22364    ctor public ParcelableCallAnalytics(android.os.Parcel);
22365    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>);
22366    method public java.util.List<android.telecom.ParcelableCallAnalytics.AnalyticsEvent> analyticsEvents();
22367    method public int describeContents();
22368    method public long getCallDurationMillis();
22369    method public int getCallTechnologies();
22370    method public int getCallTerminationCode();
22371    method public int getCallType();
22372    method public String getConnectionService();
22373    method public java.util.List<android.telecom.ParcelableCallAnalytics.EventTiming> getEventTimings();
22374    method public long getStartTimeMillis();
22375    method public boolean isAdditionalCall();
22376    method public boolean isCreatedFromExistingConnection();
22377    method public boolean isEmergencyCall();
22378    method public boolean isInterrupted();
22379    method public void writeToParcel(android.os.Parcel, int);
22380    field public static final int CALLTYPE_INCOMING = 1; // 0x1
22381    field public static final int CALLTYPE_OUTGOING = 2; // 0x2
22382    field public static final int CALLTYPE_UNKNOWN = 0; // 0x0
22383    field @Deprecated public static final int CDMA_PHONE = 1; // 0x1
22384    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.ParcelableCallAnalytics> CREATOR;
22385    field public static final int GSM_PHONE = 2; // 0x2
22386    field public static final int IMS_PHONE = 4; // 0x4
22387    field public static final long MILLIS_IN_1_SECOND = 1000L; // 0x3e8L
22388    field public static final long MILLIS_IN_5_MINUTES = 300000L; // 0x493e0L
22389    field public static final int SIP_PHONE = 8; // 0x8
22390    field public static final int STILL_CONNECTED = -1; // 0xffffffff
22391    field public static final int THIRD_PARTY_PHONE = 16; // 0x10
22392  }
22393
22394  public static final class ParcelableCallAnalytics.AnalyticsEvent implements android.os.Parcelable {
22395    ctor public ParcelableCallAnalytics.AnalyticsEvent(int, long);
22396    method public int describeContents();
22397    method public int getEventName();
22398    method public long getTimeSinceLastEvent();
22399    method public void writeToParcel(android.os.Parcel, int);
22400    field public static final int AUDIO_ROUTE_BT = 204; // 0xcc
22401    field public static final int AUDIO_ROUTE_EARPIECE = 205; // 0xcd
22402    field public static final int AUDIO_ROUTE_HEADSET = 206; // 0xce
22403    field public static final int AUDIO_ROUTE_SPEAKER = 207; // 0xcf
22404    field public static final int BIND_CS = 5; // 0x5
22405    field public static final int BLOCK_CHECK_FINISHED = 105; // 0x69
22406    field public static final int BLOCK_CHECK_INITIATED = 104; // 0x68
22407    field public static final int CONFERENCE_WITH = 300; // 0x12c
22408    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.ParcelableCallAnalytics.AnalyticsEvent> CREATOR;
22409    field public static final int CS_BOUND = 6; // 0x6
22410    field public static final int DIRECT_TO_VM_FINISHED = 103; // 0x67
22411    field public static final int DIRECT_TO_VM_INITIATED = 102; // 0x66
22412    field public static final int DND_CHECK_COMPLETED = 110; // 0x6e
22413    field public static final int DND_CHECK_INITIATED = 109; // 0x6d
22414    field public static final int FILTERING_COMPLETED = 107; // 0x6b
22415    field public static final int FILTERING_INITIATED = 106; // 0x6a
22416    field public static final int FILTERING_TIMED_OUT = 108; // 0x6c
22417    field public static final int MUTE = 202; // 0xca
22418    field public static final int REMOTELY_HELD = 402; // 0x192
22419    field public static final int REMOTELY_UNHELD = 403; // 0x193
22420    field public static final int REQUEST_ACCEPT = 7; // 0x7
22421    field public static final int REQUEST_HOLD = 400; // 0x190
22422    field public static final int REQUEST_PULL = 500; // 0x1f4
22423    field public static final int REQUEST_REJECT = 8; // 0x8
22424    field public static final int REQUEST_UNHOLD = 401; // 0x191
22425    field public static final int SCREENING_COMPLETED = 101; // 0x65
22426    field public static final int SCREENING_SENT = 100; // 0x64
22427    field public static final int SET_ACTIVE = 1; // 0x1
22428    field public static final int SET_DIALING = 4; // 0x4
22429    field public static final int SET_DISCONNECTED = 2; // 0x2
22430    field public static final int SET_HOLD = 404; // 0x194
22431    field public static final int SET_PARENT = 302; // 0x12e
22432    field public static final int SET_SELECT_PHONE_ACCOUNT = 0; // 0x0
22433    field public static final int SILENCE = 201; // 0xc9
22434    field public static final int SKIP_RINGING = 200; // 0xc8
22435    field public static final int SPLIT_CONFERENCE = 301; // 0x12d
22436    field public static final int START_CONNECTION = 3; // 0x3
22437    field public static final int SWAP = 405; // 0x195
22438    field public static final int UNMUTE = 203; // 0xcb
22439  }
22440
22441  public static final class ParcelableCallAnalytics.EventTiming implements android.os.Parcelable {
22442    ctor public ParcelableCallAnalytics.EventTiming(int, long);
22443    method public int describeContents();
22444    method public int getName();
22445    method public long getTime();
22446    method public void writeToParcel(android.os.Parcel, int);
22447    field public static final int ACCEPT_TIMING = 0; // 0x0
22448    field public static final int BIND_CS_TIMING = 6; // 0x6
22449    field public static final int BLOCK_CHECK_FINISHED_TIMING = 9; // 0x9
22450    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.ParcelableCallAnalytics.EventTiming> CREATOR;
22451    field public static final int DIRECT_TO_VM_FINISHED_TIMING = 8; // 0x8
22452    field public static final int DISCONNECT_TIMING = 2; // 0x2
22453    field public static final int DND_PRE_CALL_PRE_CHECK_TIMING = 12; // 0xc
22454    field public static final int FILTERING_COMPLETED_TIMING = 10; // 0xa
22455    field public static final int FILTERING_TIMED_OUT_TIMING = 11; // 0xb
22456    field public static final int HOLD_TIMING = 3; // 0x3
22457    field public static final int INVALID = 999999; // 0xf423f
22458    field public static final int OUTGOING_TIME_TO_DIALING_TIMING = 5; // 0x5
22459    field public static final int REJECT_TIMING = 1; // 0x1
22460    field public static final int SCREENING_COMPLETED_TIMING = 7; // 0x7
22461    field public static final int UNHOLD_TIMING = 4; // 0x4
22462  }
22463
22464  @Deprecated public final class Phone {
22465    method @Deprecated public void addListener(android.telecom.Phone.Listener);
22466    method @Deprecated public boolean canAddCall();
22467    method @Deprecated public android.telecom.AudioState getAudioState();
22468    method @Deprecated public android.telecom.CallAudioState getCallAudioState();
22469    method @Deprecated public java.util.List<android.telecom.Call> getCalls();
22470    method @Deprecated public void removeListener(android.telecom.Phone.Listener);
22471    method @Deprecated public void requestBluetoothAudio(String);
22472    method @Deprecated public void setAudioRoute(int);
22473    method @Deprecated public void setMuted(boolean);
22474  }
22475
22476  @Deprecated public abstract static class Phone.Listener {
22477    ctor @Deprecated public Phone.Listener();
22478    method @Deprecated public void onAudioStateChanged(android.telecom.Phone, android.telecom.AudioState);
22479    method @Deprecated public void onBringToForeground(android.telecom.Phone, boolean);
22480    method @Deprecated public void onCallAdded(android.telecom.Phone, android.telecom.Call);
22481    method @Deprecated public void onCallAudioStateChanged(android.telecom.Phone, android.telecom.CallAudioState);
22482    method @Deprecated public void onCallRemoved(android.telecom.Phone, android.telecom.Call);
22483    method @Deprecated public void onCanAddCallChanged(android.telecom.Phone, boolean);
22484    method @Deprecated public void onSilenceRinger(android.telecom.Phone);
22485  }
22486
22487  public final class PhoneAccount implements android.os.Parcelable {
22488    field public static final int CAPABILITY_EMERGENCY_CALLS_ONLY = 128; // 0x80
22489    field public static final int CAPABILITY_EMERGENCY_PREFERRED = 8192; // 0x2000
22490    field public static final int CAPABILITY_EMERGENCY_VIDEO_CALLING = 512; // 0x200
22491    field public static final int CAPABILITY_MULTI_USER = 32; // 0x20
22492    field public static final String EXTRA_PLAY_CALL_RECORDING_TONE = "android.telecom.extra.PLAY_CALL_RECORDING_TONE";
22493    field public static final String EXTRA_SORT_ORDER = "android.telecom.extra.SORT_ORDER";
22494  }
22495
22496  public static class PhoneAccount.Builder {
22497    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telecom.PhoneAccount.Builder setGroupId(@NonNull String);
22498  }
22499
22500  public class PhoneAccountSuggestionService extends android.app.Service {
22501    ctor public PhoneAccountSuggestionService();
22502    method public void onAccountSuggestionRequest(@NonNull String);
22503    method public android.os.IBinder onBind(android.content.Intent);
22504    method public final void suggestPhoneAccounts(@NonNull String, @NonNull java.util.List<android.telecom.PhoneAccountSuggestion>);
22505    field public static final String SERVICE_INTERFACE = "android.telecom.PhoneAccountSuggestionService";
22506  }
22507
22508  public final class RemoteConference {
22509    method @Deprecated public void setAudioState(android.telecom.AudioState);
22510  }
22511
22512  public final class RemoteConnection {
22513    method @RequiresPermission(android.Manifest.permission.READ_CONTACTS) public void onCallFilteringCompleted(@NonNull android.telecom.Connection.CallFilteringCompletionInfo);
22514    method @Deprecated public void setAudioState(android.telecom.AudioState);
22515  }
22516
22517  public final class StatusHints implements android.os.Parcelable {
22518    ctor @Deprecated public StatusHints(android.content.ComponentName, CharSequence, int, android.os.Bundle);
22519    method @Deprecated public android.graphics.drawable.Drawable getIcon(android.content.Context);
22520    method @Deprecated public int getIconResId();
22521    method @Deprecated public android.content.ComponentName getPackageName();
22522  }
22523
22524  public final class StreamingCall implements android.os.Parcelable {
22525    ctor public StreamingCall(@NonNull android.content.ComponentName, @NonNull CharSequence, @NonNull android.net.Uri, @NonNull android.os.Bundle);
22526    method public int describeContents();
22527    method @NonNull public android.net.Uri getAddress();
22528    method @NonNull public android.content.ComponentName getComponentName();
22529    method @NonNull public CharSequence getDisplayName();
22530    method @NonNull public android.os.Bundle getExtras();
22531    method public int getState();
22532    method public void requestStreamingState(int);
22533    method public void writeToParcel(@NonNull android.os.Parcel, int);
22534    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.StreamingCall> CREATOR;
22535    field public static final String EXTRA_CALL_ID = "android.telecom.extra.CALL_ID";
22536    field public static final int STATE_DISCONNECTED = 3; // 0x3
22537    field public static final int STATE_HOLDING = 2; // 0x2
22538    field public static final int STATE_STREAMING = 1; // 0x1
22539  }
22540
22541  public final class TelecomAnalytics implements android.os.Parcelable {
22542    ctor public TelecomAnalytics(java.util.List<android.telecom.TelecomAnalytics.SessionTiming>, java.util.List<android.telecom.ParcelableCallAnalytics>);
22543    method public int describeContents();
22544    method public java.util.List<android.telecom.ParcelableCallAnalytics> getCallAnalytics();
22545    method public java.util.List<android.telecom.TelecomAnalytics.SessionTiming> getSessionTimings();
22546    method public void writeToParcel(android.os.Parcel, int);
22547    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.TelecomAnalytics> CREATOR;
22548  }
22549
22550  public static final class TelecomAnalytics.SessionTiming implements android.os.Parcelable {
22551    ctor public TelecomAnalytics.SessionTiming(int, long);
22552    method public int describeContents();
22553    method public Integer getKey();
22554    method public long getTime();
22555    method public void writeToParcel(android.os.Parcel, int);
22556    field @NonNull public static final android.os.Parcelable.Creator<android.telecom.TelecomAnalytics.SessionTiming> CREATOR;
22557    field public static final int CSW_ADD_CONFERENCE_CALL = 108; // 0x6c
22558    field public static final int CSW_HANDLE_CREATE_CONNECTION_COMPLETE = 100; // 0x64
22559    field public static final int CSW_REMOVE_CALL = 106; // 0x6a
22560    field public static final int CSW_SET_ACTIVE = 101; // 0x65
22561    field public static final int CSW_SET_DIALING = 103; // 0x67
22562    field public static final int CSW_SET_DISCONNECTED = 104; // 0x68
22563    field public static final int CSW_SET_IS_CONFERENCED = 107; // 0x6b
22564    field public static final int CSW_SET_ON_HOLD = 105; // 0x69
22565    field public static final int CSW_SET_RINGING = 102; // 0x66
22566    field public static final int ICA_ANSWER_CALL = 1; // 0x1
22567    field public static final int ICA_CONFERENCE = 8; // 0x8
22568    field public static final int ICA_DISCONNECT_CALL = 3; // 0x3
22569    field public static final int ICA_HOLD_CALL = 4; // 0x4
22570    field public static final int ICA_MUTE = 6; // 0x6
22571    field public static final int ICA_REJECT_CALL = 2; // 0x2
22572    field public static final int ICA_SET_AUDIO_ROUTE = 7; // 0x7
22573    field public static final int ICA_UNHOLD_CALL = 5; // 0x5
22574  }
22575
22576  public class TelecomManager {
22577    method public void addNewUnknownCall(android.telecom.PhoneAccountHandle, android.os.Bundle);
22578    method @Deprecated public void clearAccounts();
22579    method public void clearPhoneAccounts();
22580    method @NonNull public android.content.Intent createLaunchEmergencyDialerIntent(@Nullable String);
22581    method @RequiresPermission(android.Manifest.permission.DUMP) public android.telecom.TelecomAnalytics dumpAnalytics();
22582    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void enablePhoneAccount(android.telecom.PhoneAccountHandle, boolean);
22583    method public java.util.List<android.telecom.PhoneAccountHandle> getAllPhoneAccountHandles();
22584    method public java.util.List<android.telecom.PhoneAccount> getAllPhoneAccounts();
22585    method public int getAllPhoneAccountsCount();
22586    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<android.telecom.PhoneAccountHandle> getCallCapablePhoneAccounts(boolean);
22587    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}, conditional=true) public int getCallState();
22588    method public android.telecom.PhoneAccountHandle getConnectionManager();
22589    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getCurrentTtyMode();
22590    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getDefaultDialerPackage(@NonNull android.os.UserHandle);
22591    method @Deprecated public android.content.ComponentName getDefaultPhoneApp();
22592    method @Deprecated public java.util.List<android.telecom.PhoneAccountHandle> getPhoneAccountsForPackage();
22593    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);
22594    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean isInEmergencyCall();
22595    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isRinging();
22596    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setUserSelectedOutgoingPhoneAccount(@Nullable android.telecom.PhoneAccountHandle);
22597    field public static final String ACTION_CURRENT_TTY_MODE_CHANGED = "android.telecom.action.CURRENT_TTY_MODE_CHANGED";
22598    field public static final String ACTION_TTY_PREFERRED_MODE_CHANGED = "android.telecom.action.TTY_PREFERRED_MODE_CHANGED";
22599    field public static final int CALL_SOURCE_EMERGENCY_DIALPAD = 1; // 0x1
22600    field public static final int CALL_SOURCE_EMERGENCY_SHORTCUT = 2; // 0x2
22601    field public static final int CALL_SOURCE_UNSPECIFIED = 0; // 0x0
22602    field public static final String EXTRA_CALL_BACK_INTENT = "android.telecom.extra.CALL_BACK_INTENT";
22603    field public static final String EXTRA_CALL_HAS_IN_BAND_RINGTONE = "android.telecom.extra.CALL_HAS_IN_BAND_RINGTONE";
22604    field public static final String EXTRA_CALL_SOURCE = "android.telecom.extra.CALL_SOURCE";
22605    field public static final String EXTRA_CALL_TECHNOLOGY_TYPE = "android.telecom.extra.CALL_TECHNOLOGY_TYPE";
22606    field @Deprecated public static final String EXTRA_CLEAR_MISSED_CALLS_INTENT = "android.telecom.extra.CLEAR_MISSED_CALLS_INTENT";
22607    field public static final String EXTRA_CONNECTION_SERVICE = "android.telecom.extra.CONNECTION_SERVICE";
22608    field public static final String EXTRA_CURRENT_TTY_MODE = "android.telecom.extra.CURRENT_TTY_MODE";
22609    field public static final String EXTRA_IS_USER_INTENT_EMERGENCY_CALL = "android.telecom.extra.IS_USER_INTENT_EMERGENCY_CALL";
22610    field public static final String EXTRA_TTY_PREFERRED_MODE = "android.telecom.extra.TTY_PREFERRED_MODE";
22611    field public static final String EXTRA_UNKNOWN_CALL_HANDLE = "android.telecom.extra.UNKNOWN_CALL_HANDLE";
22612    field public static final int TTY_MODE_FULL = 1; // 0x1
22613    field public static final int TTY_MODE_HCO = 2; // 0x2
22614    field public static final int TTY_MODE_OFF = 0; // 0x0
22615    field public static final int TTY_MODE_VCO = 3; // 0x3
22616  }
22617
22618}
22619
22620package android.telephony {
22621
22622  public final class AccessNetworkConstants {
22623    field public static final int TRANSPORT_TYPE_INVALID = -1; // 0xffffffff
22624  }
22625
22626  public static final class AccessNetworkConstants.NgranBands {
22627    method public static int getFrequencyRangeGroup(int);
22628    field public static final int FREQUENCY_RANGE_GROUP_1 = 1; // 0x1
22629    field public static final int FREQUENCY_RANGE_GROUP_2 = 2; // 0x2
22630    field public static final int FREQUENCY_RANGE_GROUP_UNKNOWN = 0; // 0x0
22631  }
22632
22633  public final class BarringInfo implements android.os.Parcelable {
22634    ctor public BarringInfo();
22635    method @NonNull public android.telephony.BarringInfo createLocationInfoSanitizedCopy();
22636  }
22637
22638  @Deprecated public final class CallAttributes implements android.os.Parcelable {
22639    ctor @Deprecated public CallAttributes(@NonNull android.telephony.PreciseCallState, int, @NonNull android.telephony.CallQuality);
22640    method @Deprecated public int describeContents();
22641    method @Deprecated @NonNull public android.telephony.CallQuality getCallQuality();
22642    method @Deprecated public int getNetworkType();
22643    method @Deprecated @NonNull public android.telephony.PreciseCallState getPreciseCallState();
22644    method @Deprecated public void writeToParcel(android.os.Parcel, int);
22645    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.telephony.CallAttributes> CREATOR;
22646  }
22647
22648  public final class CallForwardingInfo implements android.os.Parcelable {
22649    ctor public CallForwardingInfo(boolean, int, @Nullable String, int);
22650    method public int describeContents();
22651    method @Nullable public String getNumber();
22652    method public int getReason();
22653    method public int getTimeoutSeconds();
22654    method public boolean isEnabled();
22655    method public void writeToParcel(android.os.Parcel, int);
22656    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CallForwardingInfo> CREATOR;
22657    field public static final int REASON_ALL = 4; // 0x4
22658    field public static final int REASON_ALL_CONDITIONAL = 5; // 0x5
22659    field public static final int REASON_BUSY = 1; // 0x1
22660    field public static final int REASON_NOT_REACHABLE = 3; // 0x3
22661    field public static final int REASON_NO_REPLY = 2; // 0x2
22662    field public static final int REASON_UNCONDITIONAL = 0; // 0x0
22663  }
22664
22665  public final class CallQuality implements android.os.Parcelable {
22666    ctor public CallQuality(int, int, int, int, int, int, int, int, int, int, int);
22667    ctor public CallQuality(int, int, int, int, int, int, int, int, int, int, int, boolean, boolean, boolean);
22668    method public int describeContents();
22669    method public int getAverageRelativeJitter();
22670    method public int getAverageRoundTripTime();
22671    method public int getCallDuration();
22672    method public int getCodecType();
22673    method public int getDownlinkCallQualityLevel();
22674    method public long getMaxPlayoutDelayMillis();
22675    method public int getMaxRelativeJitter();
22676    method public long getMinPlayoutDelayMillis();
22677    method public int getNumDroppedRtpPackets();
22678    method public int getNumNoDataFrames();
22679    method public int getNumRtpDuplicatePackets();
22680    method public int getNumRtpPacketsNotReceived();
22681    method public int getNumRtpPacketsReceived();
22682    method public int getNumRtpPacketsTransmitted();
22683    method public int getNumRtpPacketsTransmittedLost();
22684    method public int getNumRtpSidPacketsReceived();
22685    method public int getNumVoiceFrames();
22686    method public int getUplinkCallQualityLevel();
22687    method public boolean isIncomingSilenceDetectedAtCallSetup();
22688    method public boolean isOutgoingSilenceDetectedAtCallSetup();
22689    method public boolean isRtpInactivityDetected();
22690    method public void writeToParcel(android.os.Parcel, int);
22691    field public static final int CALL_QUALITY_BAD = 4; // 0x4
22692    field public static final int CALL_QUALITY_EXCELLENT = 0; // 0x0
22693    field public static final int CALL_QUALITY_FAIR = 2; // 0x2
22694    field public static final int CALL_QUALITY_GOOD = 1; // 0x1
22695    field public static final int CALL_QUALITY_NOT_AVAILABLE = 5; // 0x5
22696    field public static final int CALL_QUALITY_POOR = 3; // 0x3
22697    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CallQuality> CREATOR;
22698  }
22699
22700  public static final class CallQuality.Builder {
22701    ctor public CallQuality.Builder();
22702    method @NonNull public android.telephony.CallQuality build();
22703    method @NonNull public android.telephony.CallQuality.Builder setAverageRelativeJitter(int);
22704    method @NonNull public android.telephony.CallQuality.Builder setAverageRoundTripTimeMillis(int);
22705    method @NonNull public android.telephony.CallQuality.Builder setCallDurationMillis(int);
22706    method @NonNull public android.telephony.CallQuality.Builder setCodecType(int);
22707    method @NonNull public android.telephony.CallQuality.Builder setDownlinkCallQualityLevel(int);
22708    method @NonNull public android.telephony.CallQuality.Builder setIncomingSilenceDetectedAtCallSetup(boolean);
22709    method @NonNull public android.telephony.CallQuality.Builder setMaxPlayoutDelayMillis(long);
22710    method @NonNull public android.telephony.CallQuality.Builder setMaxRelativeJitter(int);
22711    method @NonNull public android.telephony.CallQuality.Builder setMinPlayoutDelayMillis(long);
22712    method @NonNull public android.telephony.CallQuality.Builder setNumDroppedRtpPackets(int);
22713    method @NonNull public android.telephony.CallQuality.Builder setNumNoDataFrames(int);
22714    method @NonNull public android.telephony.CallQuality.Builder setNumRtpDuplicatePackets(int);
22715    method @NonNull public android.telephony.CallQuality.Builder setNumRtpPacketsNotReceived(int);
22716    method @NonNull public android.telephony.CallQuality.Builder setNumRtpPacketsReceived(int);
22717    method @NonNull public android.telephony.CallQuality.Builder setNumRtpPacketsTransmitted(int);
22718    method @NonNull public android.telephony.CallQuality.Builder setNumRtpPacketsTransmittedLost(int);
22719    method @NonNull public android.telephony.CallQuality.Builder setNumRtpSidPacketsReceived(int);
22720    method @NonNull public android.telephony.CallQuality.Builder setNumVoiceFrames(int);
22721    method @NonNull public android.telephony.CallQuality.Builder setOutgoingSilenceDetectedAtCallSetup(boolean);
22722    method @NonNull public android.telephony.CallQuality.Builder setRtpInactivityDetected(boolean);
22723    method @NonNull public android.telephony.CallQuality.Builder setUplinkCallQualityLevel(int);
22724  }
22725
22726  public final class CallState implements android.os.Parcelable {
22727    method public int describeContents();
22728    method @Nullable public android.telephony.CallQuality getCallQuality();
22729    method public int getCallState();
22730    method public int getImsCallServiceType();
22731    method @Nullable public String getImsCallSessionId();
22732    method public int getImsCallType();
22733    method public int getNetworkType();
22734    method public void writeToParcel(@Nullable android.os.Parcel, int);
22735    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CallState> CREATOR;
22736  }
22737
22738  public static final class CallState.Builder {
22739    ctor public CallState.Builder(int);
22740    method @NonNull public android.telephony.CallState build();
22741    method @NonNull public android.telephony.CallState.Builder setCallQuality(@Nullable android.telephony.CallQuality);
22742    method @NonNull public android.telephony.CallState.Builder setImsCallServiceType(int);
22743    method @NonNull public android.telephony.CallState.Builder setImsCallSessionId(@Nullable String);
22744    method @NonNull public android.telephony.CallState.Builder setImsCallType(int);
22745    method @NonNull public android.telephony.CallState.Builder setNetworkType(int);
22746  }
22747
22748  public class CarrierConfigManager {
22749    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getDefaultCarrierServicePackageName();
22750    method @NonNull public static android.os.PersistableBundle getDefaultConfig();
22751    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void overrideConfig(int, @Nullable android.os.PersistableBundle);
22752    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void updateConfigForPhoneId(int, String);
22753    field public static final int GBA_DIGEST = 3; // 0x3
22754    field public static final int GBA_ME = 1; // 0x1
22755    field public static final int GBA_U = 2; // 0x2
22756    field public static final String KEY_CARRIER_SETUP_APP_STRING = "carrier_setup_app_string";
22757    field public static final String KEY_GBA_MODE_INT = "gba_mode_int";
22758    field public static final String KEY_GBA_UA_SECURITY_ORGANIZATION_INT = "gba_ua_security_organization_int";
22759    field public static final String KEY_GBA_UA_SECURITY_PROTOCOL_INT = "gba_ua_security_protocol_int";
22760    field public static final String KEY_GBA_UA_TLS_CIPHER_SUITE_INT = "gba_ua_tls_cipher_suite_int";
22761    field @Deprecated public static final String KEY_SUPPORT_CDMA_1X_VOICE_CALLS_BOOL = "support_cdma_1x_voice_calls_bool";
22762  }
22763
22764  public static final class CarrierConfigManager.Wifi {
22765    field public static final String KEY_AVOID_5GHZ_SOFTAP_FOR_LAA_BOOL = "wifi.avoid_5ghz_softap_for_laa_bool";
22766    field public static final String KEY_AVOID_5GHZ_WIFI_DIRECT_FOR_LAA_BOOL = "wifi.avoid_5ghz_wifi_direct_for_laa_bool";
22767    field public static final String KEY_HOTSPOT_MAX_CLIENT_COUNT = "wifi.hotspot_maximum_client_count";
22768    field public static final String KEY_PREFIX = "wifi.";
22769    field public static final String KEY_SUGGESTION_SSID_LIST_WITH_MAC_RANDOMIZATION_DISABLED = "wifi.suggestion_ssid_list_with_mac_randomization_disabled";
22770  }
22771
22772  public final class CarrierRestrictionRules implements android.os.Parcelable {
22773    method @NonNull public java.util.List<java.lang.Boolean> areCarrierIdentifiersAllowed(@NonNull java.util.List<android.service.carrier.CarrierIdentifier>);
22774    method public int describeContents();
22775    method @NonNull public java.util.List<android.service.carrier.CarrierIdentifier> getAllowedCarriers();
22776    method public int getDefaultCarrierRestriction();
22777    method @NonNull public java.util.List<android.service.carrier.CarrierIdentifier> getExcludedCarriers();
22778    method public int getMultiSimPolicy();
22779    method public boolean isAllCarriersAllowed();
22780    method public void writeToParcel(android.os.Parcel, int);
22781    field public static final int CARRIER_RESTRICTION_DEFAULT_ALLOWED = 1; // 0x1
22782    field public static final int CARRIER_RESTRICTION_DEFAULT_NOT_ALLOWED = 0; // 0x0
22783    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CarrierRestrictionRules> CREATOR;
22784    field public static final int MULTISIM_POLICY_NONE = 0; // 0x0
22785    field public static final int MULTISIM_POLICY_ONE_VALID_SIM_MUST_BE_PRESENT = 1; // 0x1
22786  }
22787
22788  public static final class CarrierRestrictionRules.Builder {
22789    ctor public CarrierRestrictionRules.Builder();
22790    method @NonNull public android.telephony.CarrierRestrictionRules build();
22791    method @NonNull public android.telephony.CarrierRestrictionRules.Builder setAllCarriersAllowed();
22792    method @NonNull public android.telephony.CarrierRestrictionRules.Builder setAllowedCarriers(@NonNull java.util.List<android.service.carrier.CarrierIdentifier>);
22793    method @NonNull public android.telephony.CarrierRestrictionRules.Builder setDefaultCarrierRestriction(int);
22794    method @NonNull public android.telephony.CarrierRestrictionRules.Builder setExcludedCarriers(@NonNull java.util.List<android.service.carrier.CarrierIdentifier>);
22795    method @NonNull public android.telephony.CarrierRestrictionRules.Builder setMultiSimPolicy(int);
22796  }
22797
22798  public class CbGeoUtils {
22799  }
22800
22801  public static class CbGeoUtils.Circle implements android.telephony.CbGeoUtils.Geometry {
22802    ctor public CbGeoUtils.Circle(@NonNull android.telephony.CbGeoUtils.LatLng, double);
22803    method public boolean contains(@NonNull android.telephony.CbGeoUtils.LatLng);
22804    method @NonNull public android.telephony.CbGeoUtils.LatLng getCenter();
22805    method public double getRadius();
22806  }
22807
22808  public static interface CbGeoUtils.Geometry {
22809    method public boolean contains(@NonNull android.telephony.CbGeoUtils.LatLng);
22810  }
22811
22812  public static class CbGeoUtils.LatLng {
22813    ctor public CbGeoUtils.LatLng(double, double);
22814    method public double distance(@NonNull android.telephony.CbGeoUtils.LatLng);
22815    method @NonNull public android.telephony.CbGeoUtils.LatLng subtract(@NonNull android.telephony.CbGeoUtils.LatLng);
22816    field public final double lat;
22817    field public final double lng;
22818  }
22819
22820  public static class CbGeoUtils.Polygon implements android.telephony.CbGeoUtils.Geometry {
22821    ctor public CbGeoUtils.Polygon(@NonNull java.util.List<android.telephony.CbGeoUtils.LatLng>);
22822    method public boolean contains(@NonNull android.telephony.CbGeoUtils.LatLng);
22823    method @NonNull public java.util.List<android.telephony.CbGeoUtils.LatLng> getVertices();
22824  }
22825
22826  public final class CellBroadcastIdRange implements android.os.Parcelable {
22827    ctor public CellBroadcastIdRange(@IntRange(from=0, to=65535) int, @IntRange(from=0, to=65535) int, int, boolean) throws java.lang.IllegalArgumentException;
22828    method public int describeContents();
22829    method @IntRange(from=0, to=65535) public int getEndId();
22830    method @IntRange(from=0, to=65535) public int getStartId();
22831    method public int getType();
22832    method public boolean isEnabled();
22833    method public void writeToParcel(@NonNull android.os.Parcel, int);
22834    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellBroadcastIdRange> CREATOR;
22835  }
22836
22837  public class CellBroadcastIntents {
22838    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);
22839    field public static final String ACTION_AREA_INFO_UPDATED = "android.telephony.action.AREA_INFO_UPDATED";
22840  }
22841
22842  public abstract class CellBroadcastService extends android.app.Service {
22843    ctor public CellBroadcastService();
22844    method @NonNull @WorkerThread public abstract CharSequence getCellBroadcastAreaInfo(int);
22845    method @CallSuper public android.os.IBinder onBind(@Nullable android.content.Intent);
22846    method @Deprecated public void onCdmaCellBroadcastSms(int, @NonNull byte[], int);
22847    method @Deprecated public void onCdmaScpMessage(int, @NonNull java.util.List<android.telephony.cdma.CdmaSmsCbProgramData>, @NonNull String, @NonNull java.util.function.Consumer<android.os.Bundle>);
22848    method public abstract void onGsmCellBroadcastSms(int, @NonNull byte[]);
22849    field public static final String CELL_BROADCAST_SERVICE_INTERFACE = "android.telephony.CellBroadcastService";
22850  }
22851
22852  public abstract class CellIdentity implements android.os.Parcelable {
22853    method @NonNull public abstract android.telephony.CellLocation asCellLocation();
22854    method @NonNull public abstract android.telephony.CellIdentity sanitizeLocationInfo();
22855  }
22856
22857  @Deprecated public final class CellIdentityCdma extends android.telephony.CellIdentity {
22858    method @Deprecated @NonNull public android.telephony.cdma.CdmaCellLocation asCellLocation();
22859    method @Deprecated @NonNull public android.telephony.CellIdentityCdma sanitizeLocationInfo();
22860  }
22861
22862  public final class CellIdentityGsm extends android.telephony.CellIdentity {
22863    method @NonNull public android.telephony.gsm.GsmCellLocation asCellLocation();
22864    method @NonNull public android.telephony.CellIdentityGsm sanitizeLocationInfo();
22865  }
22866
22867  public final class CellIdentityLte extends android.telephony.CellIdentity {
22868    method @NonNull public android.telephony.gsm.GsmCellLocation asCellLocation();
22869    method @NonNull public android.telephony.CellIdentityLte sanitizeLocationInfo();
22870  }
22871
22872  public final class CellIdentityNr extends android.telephony.CellIdentity {
22873    method @NonNull public android.telephony.CellLocation asCellLocation();
22874    method @NonNull public android.telephony.CellIdentityNr sanitizeLocationInfo();
22875  }
22876
22877  public final class CellIdentityTdscdma extends android.telephony.CellIdentity {
22878    method @NonNull public android.telephony.gsm.GsmCellLocation asCellLocation();
22879    method @NonNull public android.telephony.CellIdentityTdscdma sanitizeLocationInfo();
22880  }
22881
22882  public final class CellIdentityWcdma extends android.telephony.CellIdentity {
22883    method @NonNull public android.telephony.gsm.GsmCellLocation asCellLocation();
22884    method @NonNull public android.telephony.CellIdentityWcdma sanitizeLocationInfo();
22885  }
22886
22887  public final class CellularIdentifierDisclosure implements android.os.Parcelable {
22888    method public int describeContents();
22889    method public int getCellularIdentifier();
22890    method public int getNasProtocolMessage();
22891    method @NonNull public String getPlmn();
22892    method public boolean isEmergency();
22893    method public void writeToParcel(@NonNull android.os.Parcel, int);
22894    field public static final int CELLULAR_IDENTIFIER_IMEI = 2; // 0x2
22895    field public static final int CELLULAR_IDENTIFIER_IMSI = 1; // 0x1
22896    field public static final int CELLULAR_IDENTIFIER_SUCI = 3; // 0x3
22897    field public static final int CELLULAR_IDENTIFIER_UNKNOWN = 0; // 0x0
22898    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellularIdentifierDisclosure> CREATOR;
22899    field public static final int NAS_PROTOCOL_MESSAGE_ATTACH_REQUEST = 1; // 0x1
22900    field public static final int NAS_PROTOCOL_MESSAGE_AUTHENTICATION_AND_CIPHERING_RESPONSE = 6; // 0x6
22901    field public static final int NAS_PROTOCOL_MESSAGE_CM_REESTABLISHMENT_REQUEST = 9; // 0x9
22902    field public static final int NAS_PROTOCOL_MESSAGE_CM_SERVICE_REQUEST = 10; // 0xa
22903    field public static final int NAS_PROTOCOL_MESSAGE_DEREGISTRATION_REQUEST = 8; // 0x8
22904    field public static final int NAS_PROTOCOL_MESSAGE_DETACH_REQUEST = 3; // 0x3
22905    field public static final int NAS_PROTOCOL_MESSAGE_IDENTITY_RESPONSE = 2; // 0x2
22906    field public static final int NAS_PROTOCOL_MESSAGE_IMSI_DETACH_INDICATION = 11; // 0xb
22907    field public static final int NAS_PROTOCOL_MESSAGE_LOCATION_UPDATE_REQUEST = 5; // 0x5
22908    field public static final int NAS_PROTOCOL_MESSAGE_REGISTRATION_REQUEST = 7; // 0x7
22909    field public static final int NAS_PROTOCOL_MESSAGE_TRACKING_AREA_UPDATE_REQUEST = 4; // 0x4
22910    field public static final int NAS_PROTOCOL_MESSAGE_UNKNOWN = 0; // 0x0
22911  }
22912
22913  public final class DataFailCause {
22914    field @Deprecated public static final int VSNCP_APN_UNATHORIZED = 2238; // 0x8be
22915  }
22916
22917  public final class DataSpecificRegistrationInfo implements android.os.Parcelable {
22918    method public int describeContents();
22919    method public int getLteAttachExtraInfo();
22920    method public int getLteAttachResultType();
22921    method @Deprecated @NonNull public android.telephony.LteVopsSupportInfo getLteVopsSupportInfo();
22922    method @Nullable public android.telephony.VopsSupportInfo getVopsSupportInfo();
22923    method public void writeToParcel(android.os.Parcel, int);
22924    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.DataSpecificRegistrationInfo> CREATOR;
22925    field public static final int LTE_ATTACH_EXTRA_INFO_CSFB_NOT_PREFERRED = 1; // 0x1
22926    field public static final int LTE_ATTACH_EXTRA_INFO_NONE = 0; // 0x0
22927    field public static final int LTE_ATTACH_EXTRA_INFO_SMS_ONLY = 2; // 0x2
22928    field public static final int LTE_ATTACH_TYPE_COMBINED = 2; // 0x2
22929    field public static final int LTE_ATTACH_TYPE_EPS_ONLY = 1; // 0x1
22930    field public static final int LTE_ATTACH_TYPE_UNKNOWN = 0; // 0x0
22931  }
22932
22933  public final class DataThrottlingRequest implements android.os.Parcelable {
22934    method public int describeContents();
22935    method public long getCompletionDurationMillis();
22936    method public int getDataThrottlingAction();
22937    method public void writeToParcel(@NonNull android.os.Parcel, int);
22938    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.DataThrottlingRequest> CREATOR;
22939    field public static final int DATA_THROTTLING_ACTION_HOLD = 3; // 0x3
22940    field public static final int DATA_THROTTLING_ACTION_NO_DATA_THROTTLING = 0; // 0x0
22941    field public static final int DATA_THROTTLING_ACTION_THROTTLE_PRIMARY_CARRIER = 2; // 0x2
22942    field public static final int DATA_THROTTLING_ACTION_THROTTLE_SECONDARY_CARRIER = 1; // 0x1
22943  }
22944
22945  public static final class DataThrottlingRequest.Builder {
22946    ctor public DataThrottlingRequest.Builder();
22947    method @NonNull public android.telephony.DataThrottlingRequest build();
22948    method @NonNull public android.telephony.DataThrottlingRequest.Builder setCompletionDurationMillis(long);
22949    method @NonNull public android.telephony.DataThrottlingRequest.Builder setDataThrottlingAction(int);
22950  }
22951
22952  public abstract class DomainSelectionService extends android.app.Service {
22953    ctor public DomainSelectionService();
22954    method @NonNull public java.util.concurrent.Executor getCreateExecutor();
22955    method public void onBarringInfoUpdated(int, int, @NonNull android.telephony.BarringInfo);
22956    method @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent);
22957    method public abstract void onDomainSelection(@NonNull android.telephony.DomainSelectionService.SelectionAttributes, @NonNull android.telephony.TransportSelectorCallback);
22958    method public void onServiceStateUpdated(int, int, @NonNull android.telephony.ServiceState);
22959    field public static final int SCAN_TYPE_FULL_SERVICE = 2; // 0x2
22960    field public static final int SCAN_TYPE_LIMITED_SERVICE = 1; // 0x1
22961    field public static final int SCAN_TYPE_NO_PREFERENCE = 0; // 0x0
22962    field public static final int SELECTOR_TYPE_CALLING = 1; // 0x1
22963    field public static final int SELECTOR_TYPE_SMS = 2; // 0x2
22964  }
22965
22966  public static final class DomainSelectionService.SelectionAttributes implements android.os.Parcelable {
22967    method public int describeContents();
22968    method @Nullable public android.net.Uri getAddress();
22969    method @Nullable public String getCallId();
22970    method public int getCsDisconnectCause();
22971    method @Nullable public android.telephony.EmergencyRegistrationResult getEmergencyRegistrationResult();
22972    method @Nullable public android.telephony.ims.ImsReasonInfo getPsDisconnectCause();
22973    method public int getSelectorType();
22974    method public int getSlotIndex();
22975    method public int getSubscriptionId();
22976    method public boolean isEmergency();
22977    method public boolean isExitedFromAirplaneMode();
22978    method public boolean isTestEmergencyNumber();
22979    method public boolean isVideoCall();
22980    method public void writeToParcel(@NonNull android.os.Parcel, int);
22981    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.DomainSelectionService.SelectionAttributes> CREATOR;
22982  }
22983
22984  public static final class DomainSelectionService.SelectionAttributes.Builder {
22985    ctor public DomainSelectionService.SelectionAttributes.Builder(int, int, int);
22986    method @NonNull public android.telephony.DomainSelectionService.SelectionAttributes build();
22987    method @NonNull public android.telephony.DomainSelectionService.SelectionAttributes.Builder setAddress(@Nullable android.net.Uri);
22988    method @NonNull public android.telephony.DomainSelectionService.SelectionAttributes.Builder setCallId(@Nullable String);
22989    method @NonNull public android.telephony.DomainSelectionService.SelectionAttributes.Builder setCsDisconnectCause(int);
22990    method @NonNull public android.telephony.DomainSelectionService.SelectionAttributes.Builder setEmergency(boolean);
22991    method @NonNull public android.telephony.DomainSelectionService.SelectionAttributes.Builder setEmergencyRegistrationResult(@Nullable android.telephony.EmergencyRegistrationResult);
22992    method @NonNull public android.telephony.DomainSelectionService.SelectionAttributes.Builder setExitedFromAirplaneMode(boolean);
22993    method @NonNull public android.telephony.DomainSelectionService.SelectionAttributes.Builder setPsDisconnectCause(@Nullable android.telephony.ims.ImsReasonInfo);
22994    method @NonNull public android.telephony.DomainSelectionService.SelectionAttributes.Builder setTestEmergencyNumber(boolean);
22995    method @NonNull public android.telephony.DomainSelectionService.SelectionAttributes.Builder setVideoCall(boolean);
22996  }
22997
22998  public interface DomainSelector {
22999    method public void finishSelection();
23000    method public void reselectDomain(@NonNull android.telephony.DomainSelectionService.SelectionAttributes);
23001  }
23002
23003  public final class EmergencyRegistrationResult implements android.os.Parcelable {
23004    method public int describeContents();
23005    method public int getAccessNetwork();
23006    method @NonNull public String getCountryIso();
23007    method public int getDomain();
23008    method @NonNull public String getMcc();
23009    method @NonNull public String getMnc();
23010    method public int getNwProvidedEmc();
23011    method public int getNwProvidedEmf();
23012    method public int getRegState();
23013    method public boolean isEmcBearerSupported();
23014    method public boolean isVopsSupported();
23015    method public void writeToParcel(@NonNull android.os.Parcel, int);
23016    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.EmergencyRegistrationResult> CREATOR;
23017  }
23018
23019  public final class ImsiEncryptionInfo implements android.os.Parcelable {
23020    method public int describeContents();
23021    method @Nullable public String getKeyIdentifier();
23022    method @Nullable public java.security.PublicKey getPublicKey();
23023    method public void writeToParcel(@NonNull android.os.Parcel, int);
23024    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ImsiEncryptionInfo> CREATOR;
23025  }
23026
23027  public final class LinkCapacityEstimate implements android.os.Parcelable {
23028    ctor public LinkCapacityEstimate(int, int, int);
23029    method public int describeContents();
23030    method public int getDownlinkCapacityKbps();
23031    method public int getType();
23032    method public int getUplinkCapacityKbps();
23033    method public void writeToParcel(@NonNull android.os.Parcel, int);
23034    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.LinkCapacityEstimate> CREATOR;
23035    field public static final int INVALID = -1; // 0xffffffff
23036    field public static final int LCE_TYPE_COMBINED = 2; // 0x2
23037    field public static final int LCE_TYPE_PRIMARY = 0; // 0x0
23038    field public static final int LCE_TYPE_SECONDARY = 1; // 0x1
23039  }
23040
23041  public final class LteVopsSupportInfo extends android.telephony.VopsSupportInfo {
23042    ctor public LteVopsSupportInfo(int, int);
23043    method public boolean equals(@Nullable Object);
23044    method public int getEmcBearerSupport();
23045    method public int getVopsSupport();
23046    method public int hashCode();
23047    method public boolean isEmergencyServiceFallbackSupported();
23048    method public boolean isEmergencyServiceSupported();
23049    method public boolean isVopsSupported();
23050    method public void writeToParcel(@NonNull android.os.Parcel, int);
23051    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.LteVopsSupportInfo> CREATOR;
23052    field @Deprecated public static final int LTE_STATUS_NOT_AVAILABLE = 1; // 0x1
23053    field public static final int LTE_STATUS_NOT_SUPPORTED = 3; // 0x3
23054    field public static final int LTE_STATUS_SUPPORTED = 2; // 0x2
23055  }
23056
23057  public class MbmsDownloadSession implements java.lang.AutoCloseable {
23058    field public static final String MBMS_DOWNLOAD_SERVICE_ACTION = "android.telephony.action.EmbmsDownload";
23059  }
23060
23061  public class MbmsGroupCallSession implements java.lang.AutoCloseable {
23062    field public static final String MBMS_GROUP_CALL_SERVICE_ACTION = "android.telephony.action.EmbmsGroupCall";
23063  }
23064
23065  public class MbmsStreamingSession implements java.lang.AutoCloseable {
23066    field public static final String MBMS_STREAMING_SERVICE_ACTION = "android.telephony.action.EmbmsStreaming";
23067  }
23068
23069  public final class ModemActivityInfo implements android.os.Parcelable {
23070    method public int describeContents();
23071    method @NonNull public android.telephony.ModemActivityInfo getDelta(@NonNull android.telephony.ModemActivityInfo);
23072    method public long getIdleTimeMillis();
23073    method public static int getNumTxPowerLevels();
23074    method public long getReceiveTimeMillis();
23075    method public long getSleepTimeMillis();
23076    method public long getTimestampMillis();
23077    method public long getTransmitDurationMillisAtPowerLevel(int);
23078    method @NonNull public android.util.Range<java.lang.Integer> getTransmitPowerRange(int);
23079    method public void writeToParcel(@NonNull android.os.Parcel, int);
23080    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ModemActivityInfo> CREATOR;
23081    field public static final int TX_POWER_LEVEL_0 = 0; // 0x0
23082    field public static final int TX_POWER_LEVEL_1 = 1; // 0x1
23083    field public static final int TX_POWER_LEVEL_2 = 2; // 0x2
23084    field public static final int TX_POWER_LEVEL_3 = 3; // 0x3
23085    field public static final int TX_POWER_LEVEL_4 = 4; // 0x4
23086  }
23087
23088  public final class NetworkRegistrationInfo implements android.os.Parcelable {
23089    method @Nullable public android.telephony.DataSpecificRegistrationInfo getDataSpecificInfo();
23090    method public int getNetworkRegistrationState();
23091    method @Deprecated public int getRegistrationState();
23092    method public int getRoamingType();
23093    method public boolean isEmergencyEnabled();
23094    method public void writeToParcel(android.os.Parcel, int);
23095    field public static final int REGISTRATION_STATE_DENIED = 3; // 0x3
23096    field public static final int REGISTRATION_STATE_EMERGENCY = 6; // 0x6
23097    field public static final int REGISTRATION_STATE_HOME = 1; // 0x1
23098    field public static final int REGISTRATION_STATE_NOT_REGISTERED_OR_SEARCHING = 0; // 0x0
23099    field public static final int REGISTRATION_STATE_NOT_REGISTERED_SEARCHING = 2; // 0x2
23100    field public static final int REGISTRATION_STATE_ROAMING = 5; // 0x5
23101    field public static final int REGISTRATION_STATE_UNKNOWN = 4; // 0x4
23102  }
23103
23104  public static final class NetworkRegistrationInfo.Builder {
23105    ctor public NetworkRegistrationInfo.Builder();
23106    method @NonNull public android.telephony.NetworkRegistrationInfo build();
23107    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setAccessNetworkTechnology(int);
23108    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setAvailableServices(@NonNull java.util.List<java.lang.Integer>);
23109    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setCellIdentity(@Nullable android.telephony.CellIdentity);
23110    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setDomain(int);
23111    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setEmergencyOnly(boolean);
23112    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setIsNonTerrestrialNetwork(boolean);
23113    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setRegisteredPlmn(@Nullable String);
23114    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setRegistrationState(int);
23115    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setRejectCause(int);
23116    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setTransportType(int);
23117  }
23118
23119  public abstract class NetworkService extends android.app.Service {
23120    ctor public NetworkService();
23121    method public android.os.IBinder onBind(android.content.Intent);
23122    method @Nullable public abstract android.telephony.NetworkService.NetworkServiceProvider onCreateNetworkServiceProvider(int);
23123    field public static final String SERVICE_INTERFACE = "android.telephony.NetworkService";
23124  }
23125
23126  public abstract class NetworkService.NetworkServiceProvider implements java.lang.AutoCloseable {
23127    ctor public NetworkService.NetworkServiceProvider(int);
23128    method public abstract void close();
23129    method public final int getSlotIndex();
23130    method public final void notifyNetworkRegistrationInfoChanged();
23131    method public void requestNetworkRegistrationInfo(int, @NonNull android.telephony.NetworkServiceCallback);
23132  }
23133
23134  public class NetworkServiceCallback {
23135    method public void onRequestNetworkRegistrationInfoComplete(int, @Nullable android.telephony.NetworkRegistrationInfo);
23136    field public static final int RESULT_ERROR_BUSY = 3; // 0x3
23137    field public static final int RESULT_ERROR_FAILED = 5; // 0x5
23138    field public static final int RESULT_ERROR_ILLEGAL_STATE = 4; // 0x4
23139    field public static final int RESULT_ERROR_INVALID_ARG = 2; // 0x2
23140    field public static final int RESULT_ERROR_UNSUPPORTED = 1; // 0x1
23141    field public static final int RESULT_SUCCESS = 0; // 0x0
23142  }
23143
23144  public final class NrVopsSupportInfo extends android.telephony.VopsSupportInfo {
23145    ctor public NrVopsSupportInfo(int, int, int);
23146    method public boolean equals(@Nullable Object);
23147    method public int getEmcSupport();
23148    method public int getEmfSupport();
23149    method public int getVopsSupport();
23150    method public int hashCode();
23151    method public boolean isEmergencyServiceFallbackSupported();
23152    method public boolean isEmergencyServiceSupported();
23153    method public boolean isVopsSupported();
23154    method public void writeToParcel(@NonNull android.os.Parcel, int);
23155    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.NrVopsSupportInfo> CREATOR;
23156    field public static final int NR_STATUS_EMC_5GCN_ONLY = 1; // 0x1
23157    field public static final int NR_STATUS_EMC_EUTRA_5GCN_ONLY = 2; // 0x2
23158    field public static final int NR_STATUS_EMC_NOT_SUPPORTED = 0; // 0x0
23159    field public static final int NR_STATUS_EMC_NR_EUTRA_5GCN = 3; // 0x3
23160    field public static final int NR_STATUS_EMF_5GCN_ONLY = 1; // 0x1
23161    field public static final int NR_STATUS_EMF_EUTRA_5GCN_ONLY = 2; // 0x2
23162    field public static final int NR_STATUS_EMF_NOT_SUPPORTED = 0; // 0x0
23163    field public static final int NR_STATUS_EMF_NR_EUTRA_5GCN = 3; // 0x3
23164    field public static final int NR_STATUS_VOPS_3GPP_SUPPORTED = 1; // 0x1
23165    field public static final int NR_STATUS_VOPS_NON_3GPP_SUPPORTED = 2; // 0x2
23166    field public static final int NR_STATUS_VOPS_NOT_SUPPORTED = 0; // 0x0
23167  }
23168
23169  public interface NumberVerificationCallback {
23170    method public default void onCallReceived(@NonNull String);
23171    method public default void onVerificationFailed(int);
23172    field public static final int REASON_CONCURRENT_REQUESTS = 4; // 0x4
23173    field public static final int REASON_IN_ECBM = 5; // 0x5
23174    field public static final int REASON_IN_EMERGENCY_CALL = 6; // 0x6
23175    field public static final int REASON_NETWORK_NOT_AVAILABLE = 2; // 0x2
23176    field public static final int REASON_TIMED_OUT = 1; // 0x1
23177    field public static final int REASON_TOO_MANY_CALLS = 3; // 0x3
23178    field public static final int REASON_UNSPECIFIED = 0; // 0x0
23179  }
23180
23181  public final class PhoneCapability implements android.os.Parcelable {
23182    method public int describeContents();
23183    method @NonNull public int[] getDeviceNrCapabilities();
23184    method @IntRange(from=1) public int getMaxActiveDataSubscriptions();
23185    method @IntRange(from=1) public int getMaxActiveVoiceSubscriptions();
23186    method public void writeToParcel(@NonNull android.os.Parcel, int);
23187    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.PhoneCapability> CREATOR;
23188    field public static final int DEVICE_NR_CAPABILITY_NSA = 1; // 0x1
23189    field public static final int DEVICE_NR_CAPABILITY_SA = 2; // 0x2
23190  }
23191
23192  public final class PhoneNumberRange implements android.os.Parcelable {
23193    ctor public PhoneNumberRange(@NonNull String, @NonNull String, @NonNull String, @NonNull String);
23194    method public int describeContents();
23195    method public boolean matches(@NonNull String);
23196    method public void writeToParcel(android.os.Parcel, int);
23197    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.PhoneNumberRange> CREATOR;
23198  }
23199
23200  public class PhoneNumberUtils {
23201    method @NonNull public static String getUsernameFromUriNumber(@NonNull String);
23202    method public static boolean isUriNumber(@Nullable String);
23203    method public static boolean isVoiceMailNumber(@NonNull android.content.Context, int, @Nullable String);
23204  }
23205
23206  @Deprecated public class PhoneStateListener {
23207    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onCallAttributesChanged(@NonNull android.telephony.CallAttributes);
23208    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void onOutgoingEmergencyCall(@NonNull android.telephony.emergency.EmergencyNumber);
23209    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void onOutgoingEmergencyCall(@NonNull android.telephony.emergency.EmergencyNumber, int);
23210    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void onOutgoingEmergencySms(@NonNull android.telephony.emergency.EmergencyNumber);
23211    method @Deprecated public void onOutgoingEmergencySms(@NonNull android.telephony.emergency.EmergencyNumber, int);
23212    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onPreciseCallStateChanged(@NonNull android.telephony.PreciseCallState);
23213    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onRadioPowerStateChanged(int);
23214    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onSrvccStateChanged(int);
23215    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onVoiceActivationStateChanged(int);
23216    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int LISTEN_CALL_ATTRIBUTES_CHANGED = 67108864; // 0x4000000
23217    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public static final int LISTEN_OUTGOING_EMERGENCY_CALL = 268435456; // 0x10000000
23218    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public static final int LISTEN_OUTGOING_EMERGENCY_SMS = 536870912; // 0x20000000
23219    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int LISTEN_PRECISE_CALL_STATE = 2048; // 0x800
23220    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int LISTEN_RADIO_POWER_STATE_CHANGED = 8388608; // 0x800000
23221    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int LISTEN_SRVCC_STATE_CHANGED = 16384; // 0x4000
23222    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int LISTEN_VOICE_ACTIVATION_STATE = 131072; // 0x20000
23223  }
23224
23225  public final class PinResult implements android.os.Parcelable {
23226    method public int describeContents();
23227    method public int getAttemptsRemaining();
23228    method public int getResult();
23229    method public void writeToParcel(@NonNull android.os.Parcel, int);
23230    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.PinResult> CREATOR;
23231    field public static final int PIN_RESULT_TYPE_ABORTED = 3; // 0x3
23232    field public static final int PIN_RESULT_TYPE_FAILURE = 2; // 0x2
23233    field public static final int PIN_RESULT_TYPE_INCORRECT = 1; // 0x1
23234    field public static final int PIN_RESULT_TYPE_SUCCESS = 0; // 0x0
23235  }
23236
23237  public final class PreciseCallState implements android.os.Parcelable {
23238    ctor public PreciseCallState(int, int, int, int, int);
23239    method public int describeContents();
23240    method public int getBackgroundCallState();
23241    method public int getForegroundCallState();
23242    method public int getRingingCallState();
23243    method public void writeToParcel(android.os.Parcel, int);
23244    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.PreciseCallState> CREATOR;
23245    field public static final int PRECISE_CALL_STATE_ACTIVE = 1; // 0x1
23246    field public static final int PRECISE_CALL_STATE_ALERTING = 4; // 0x4
23247    field public static final int PRECISE_CALL_STATE_DIALING = 3; // 0x3
23248    field public static final int PRECISE_CALL_STATE_DISCONNECTED = 7; // 0x7
23249    field public static final int PRECISE_CALL_STATE_DISCONNECTING = 8; // 0x8
23250    field public static final int PRECISE_CALL_STATE_HOLDING = 2; // 0x2
23251    field public static final int PRECISE_CALL_STATE_IDLE = 0; // 0x0
23252    field public static final int PRECISE_CALL_STATE_INCOMING = 5; // 0x5
23253    field public static final int PRECISE_CALL_STATE_INCOMING_SETUP = 9; // 0x9
23254    field public static final int PRECISE_CALL_STATE_NOT_VALID = -1; // 0xffffffff
23255    field public static final int PRECISE_CALL_STATE_WAITING = 6; // 0x6
23256  }
23257
23258  public final class PreciseDataConnectionState implements android.os.Parcelable {
23259    method @Deprecated @NonNull public String getDataConnectionApn();
23260    method @Deprecated public int getDataConnectionApnTypeBitMask();
23261    method @Deprecated public int getDataConnectionFailCause();
23262    method @Deprecated public int getDataConnectionState();
23263  }
23264
23265  public final class PreciseDisconnectCause {
23266    field public static final int ACCESS_CLASS_BLOCKED = 260; // 0x104
23267    field public static final int ACCESS_INFORMATION_DISCARDED = 43; // 0x2b
23268    field public static final int ACM_LIMIT_EXCEEDED = 68; // 0x44
23269    field public static final int BEARER_CAPABILITY_NOT_AUTHORIZED = 57; // 0x39
23270    field public static final int BEARER_NOT_AVAIL = 58; // 0x3a
23271    field public static final int BEARER_SERVICE_NOT_IMPLEMENTED = 65; // 0x41
23272    field public static final int BUSY = 17; // 0x11
23273    field public static final int CALL_BARRED = 240; // 0xf0
23274    field public static final int CALL_REJECTED = 21; // 0x15
23275    field @Deprecated public static final int CDMA_ACCESS_BLOCKED = 1009; // 0x3f1
23276    field @Deprecated public static final int CDMA_ACCESS_FAILURE = 1006; // 0x3ee
23277    field @Deprecated public static final int CDMA_DROP = 1001; // 0x3e9
23278    field @Deprecated public static final int CDMA_INTERCEPT = 1002; // 0x3ea
23279    field @Deprecated public static final int CDMA_LOCKED_UNTIL_POWER_CYCLE = 1000; // 0x3e8
23280    field @Deprecated public static final int CDMA_NOT_EMERGENCY = 1008; // 0x3f0
23281    field @Deprecated public static final int CDMA_PREEMPTED = 1007; // 0x3ef
23282    field @Deprecated public static final int CDMA_REORDER = 1003; // 0x3eb
23283    field @Deprecated public static final int CDMA_RETRY_ORDER = 1005; // 0x3ed
23284    field @Deprecated public static final int CDMA_SO_REJECT = 1004; // 0x3ec
23285    field public static final int CHANNEL_NOT_AVAIL = 44; // 0x2c
23286    field public static final int CHANNEL_UNACCEPTABLE = 6; // 0x6
23287    field public static final int CONDITIONAL_IE_ERROR = 100; // 0x64
23288    field public static final int DESTINATION_OUT_OF_ORDER = 27; // 0x1b
23289    field public static final int EMERGENCY_PERM_FAILURE = 326; // 0x146
23290    field public static final int EMERGENCY_TEMP_FAILURE = 325; // 0x145
23291    field public static final int ERROR_UNSPECIFIED = 65535; // 0xffff
23292    field public static final int FACILITY_REJECTED = 29; // 0x1d
23293    field public static final int FDN_BLOCKED = 241; // 0xf1
23294    field public static final int IMEI_NOT_ACCEPTED = 243; // 0xf3
23295    field public static final int IMSI_UNKNOWN_IN_VLR = 242; // 0xf2
23296    field public static final int INCOMING_CALLS_BARRED_WITHIN_CUG = 55; // 0x37
23297    field public static final int INCOMPATIBLE_DESTINATION = 88; // 0x58
23298    field public static final int INFORMATION_ELEMENT_NON_EXISTENT = 99; // 0x63
23299    field public static final int INTERWORKING_UNSPECIFIED = 127; // 0x7f
23300    field public static final int INVALID_MANDATORY_INFORMATION = 96; // 0x60
23301    field public static final int INVALID_NUMBER_FORMAT = 28; // 0x1c
23302    field public static final int INVALID_TRANSACTION_IDENTIFIER = 81; // 0x51
23303    field public static final int MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 101; // 0x65
23304    field public static final int MESSAGE_TYPE_NON_IMPLEMENTED = 97; // 0x61
23305    field public static final int MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 98; // 0x62
23306    field public static final int NETWORK_DETACH = 261; // 0x105
23307    field public static final int NETWORK_OUT_OF_ORDER = 38; // 0x26
23308    field public static final int NETWORK_REJECT = 252; // 0xfc
23309    field public static final int NETWORK_RESP_TIMEOUT = 251; // 0xfb
23310    field public static final int NORMAL = 16; // 0x10
23311    field public static final int NORMAL_UNSPECIFIED = 31; // 0x1f
23312    field public static final int NOT_VALID = -1; // 0xffffffff
23313    field public static final int NO_ANSWER_FROM_USER = 19; // 0x13
23314    field public static final int NO_CIRCUIT_AVAIL = 34; // 0x22
23315    field public static final int NO_DISCONNECT_CAUSE_AVAILABLE = 0; // 0x0
23316    field public static final int NO_ROUTE_TO_DESTINATION = 3; // 0x3
23317    field public static final int NO_USER_RESPONDING = 18; // 0x12
23318    field public static final int NO_VALID_SIM = 249; // 0xf9
23319    field public static final int NUMBER_CHANGED = 22; // 0x16
23320    field public static final int OEM_CAUSE_1 = 61441; // 0xf001
23321    field public static final int OEM_CAUSE_10 = 61450; // 0xf00a
23322    field public static final int OEM_CAUSE_11 = 61451; // 0xf00b
23323    field public static final int OEM_CAUSE_12 = 61452; // 0xf00c
23324    field public static final int OEM_CAUSE_13 = 61453; // 0xf00d
23325    field public static final int OEM_CAUSE_14 = 61454; // 0xf00e
23326    field public static final int OEM_CAUSE_15 = 61455; // 0xf00f
23327    field public static final int OEM_CAUSE_2 = 61442; // 0xf002
23328    field public static final int OEM_CAUSE_3 = 61443; // 0xf003
23329    field public static final int OEM_CAUSE_4 = 61444; // 0xf004
23330    field public static final int OEM_CAUSE_5 = 61445; // 0xf005
23331    field public static final int OEM_CAUSE_6 = 61446; // 0xf006
23332    field public static final int OEM_CAUSE_7 = 61447; // 0xf007
23333    field public static final int OEM_CAUSE_8 = 61448; // 0xf008
23334    field public static final int OEM_CAUSE_9 = 61449; // 0xf009
23335    field public static final int ONLY_DIGITAL_INFORMATION_BEARER_AVAILABLE = 70; // 0x46
23336    field public static final int OPERATOR_DETERMINED_BARRING = 8; // 0x8
23337    field public static final int OUT_OF_SRV = 248; // 0xf8
23338    field public static final int PREEMPTION = 25; // 0x19
23339    field public static final int PROTOCOL_ERROR_UNSPECIFIED = 111; // 0x6f
23340    field public static final int QOS_NOT_AVAIL = 49; // 0x31
23341    field public static final int RADIO_ACCESS_FAILURE = 253; // 0xfd
23342    field public static final int RADIO_INTERNAL_ERROR = 250; // 0xfa
23343    field public static final int RADIO_LINK_FAILURE = 254; // 0xfe
23344    field public static final int RADIO_LINK_LOST = 255; // 0xff
23345    field public static final int RADIO_OFF = 247; // 0xf7
23346    field public static final int RADIO_RELEASE_ABNORMAL = 259; // 0x103
23347    field public static final int RADIO_RELEASE_NORMAL = 258; // 0x102
23348    field public static final int RADIO_SETUP_FAILURE = 257; // 0x101
23349    field public static final int RADIO_UPLINK_FAILURE = 256; // 0x100
23350    field public static final int RECOVERY_ON_TIMER_EXPIRED = 102; // 0x66
23351    field public static final int REQUESTED_FACILITY_NOT_IMPLEMENTED = 69; // 0x45
23352    field public static final int REQUESTED_FACILITY_NOT_SUBSCRIBED = 50; // 0x32
23353    field public static final int RESOURCES_UNAVAILABLE_OR_UNSPECIFIED = 47; // 0x2f
23354    field public static final int SEMANTICALLY_INCORRECT_MESSAGE = 95; // 0x5f
23355    field public static final int SERVICE_OPTION_NOT_AVAILABLE = 63; // 0x3f
23356    field public static final int SERVICE_OR_OPTION_NOT_IMPLEMENTED = 79; // 0x4f
23357    field public static final int STATUS_ENQUIRY = 30; // 0x1e
23358    field public static final int SWITCHING_CONGESTION = 42; // 0x2a
23359    field public static final int TEMPORARY_FAILURE = 41; // 0x29
23360    field public static final int UNOBTAINABLE_NUMBER = 1; // 0x1
23361    field public static final int USER_NOT_MEMBER_OF_CUG = 87; // 0x57
23362  }
23363
23364  public final class SecurityAlgorithmUpdate implements android.os.Parcelable {
23365    method public int describeContents();
23366    method public int getConnectionEvent();
23367    method public int getEncryption();
23368    method public int getIntegrity();
23369    method public boolean isUnprotectedEmergency();
23370    method public void writeToParcel(@NonNull android.os.Parcel, int);
23371    field public static final int CONNECTION_EVENT_AS_SIGNALLING_5G = 11; // 0xb
23372    field public static final int CONNECTION_EVENT_AS_SIGNALLING_LTE = 5; // 0x5
23373    field public static final int CONNECTION_EVENT_CS_SIGNALLING_3G = 2; // 0x2
23374    field public static final int CONNECTION_EVENT_CS_SIGNALLING_GSM = 0; // 0x0
23375    field public static final int CONNECTION_EVENT_NAS_SIGNALLING_5G = 10; // 0xa
23376    field public static final int CONNECTION_EVENT_NAS_SIGNALLING_LTE = 4; // 0x4
23377    field public static final int CONNECTION_EVENT_PS_SIGNALLING_3G = 3; // 0x3
23378    field public static final int CONNECTION_EVENT_PS_SIGNALLING_GPRS = 1; // 0x1
23379    field public static final int CONNECTION_EVENT_VOLTE_RTP = 8; // 0x8
23380    field public static final int CONNECTION_EVENT_VOLTE_RTP_SOS = 9; // 0x9
23381    field public static final int CONNECTION_EVENT_VOLTE_SIP = 6; // 0x6
23382    field public static final int CONNECTION_EVENT_VOLTE_SIP_SOS = 7; // 0x7
23383    field public static final int CONNECTION_EVENT_VONR_RTP = 14; // 0xe
23384    field public static final int CONNECTION_EVENT_VONR_RTP_SOS = 15; // 0xf
23385    field public static final int CONNECTION_EVENT_VONR_SIP = 12; // 0xc
23386    field public static final int CONNECTION_EVENT_VONR_SIP_SOS = 13; // 0xd
23387    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SecurityAlgorithmUpdate> CREATOR;
23388    field public static final int SECURITY_ALGORITHM_A50 = 0; // 0x0
23389    field public static final int SECURITY_ALGORITHM_A51 = 1; // 0x1
23390    field public static final int SECURITY_ALGORITHM_A52 = 2; // 0x2
23391    field public static final int SECURITY_ALGORITHM_A53 = 3; // 0x3
23392    field public static final int SECURITY_ALGORITHM_A54 = 4; // 0x4
23393    field public static final int SECURITY_ALGORITHM_AES_CBC = 71; // 0x47
23394    field public static final int SECURITY_ALGORITHM_AES_EDE3_CBC = 73; // 0x49
23395    field public static final int SECURITY_ALGORITHM_AES_GCM = 69; // 0x45
23396    field public static final int SECURITY_ALGORITHM_AES_GMAC = 70; // 0x46
23397    field public static final int SECURITY_ALGORITHM_AUTH_HMAC_SHA2_256_128 = 101; // 0x65
23398    field public static final int SECURITY_ALGORITHM_DES_EDE3_CBC = 72; // 0x48
23399    field public static final int SECURITY_ALGORITHM_EEA0 = 41; // 0x29
23400    field public static final int SECURITY_ALGORITHM_EEA1 = 42; // 0x2a
23401    field public static final int SECURITY_ALGORITHM_EEA2 = 43; // 0x2b
23402    field public static final int SECURITY_ALGORITHM_EEA3 = 44; // 0x2c
23403    field public static final int SECURITY_ALGORITHM_ENCR_AES_CBC = 100; // 0x64
23404    field public static final int SECURITY_ALGORITHM_ENCR_AES_GCM_16 = 99; // 0x63
23405    field public static final int SECURITY_ALGORITHM_GEA0 = 14; // 0xe
23406    field public static final int SECURITY_ALGORITHM_GEA1 = 15; // 0xf
23407    field public static final int SECURITY_ALGORITHM_GEA2 = 16; // 0x10
23408    field public static final int SECURITY_ALGORITHM_GEA3 = 17; // 0x11
23409    field public static final int SECURITY_ALGORITHM_GEA4 = 18; // 0x12
23410    field public static final int SECURITY_ALGORITHM_GEA5 = 19; // 0x13
23411    field public static final int SECURITY_ALGORITHM_HMAC_MD5_96 = 75; // 0x4b
23412    field public static final int SECURITY_ALGORITHM_HMAC_SHA1_96 = 74; // 0x4a
23413    field public static final int SECURITY_ALGORITHM_IMS_NULL = 67; // 0x43
23414    field public static final int SECURITY_ALGORITHM_NEA0 = 55; // 0x37
23415    field public static final int SECURITY_ALGORITHM_NEA1 = 56; // 0x38
23416    field public static final int SECURITY_ALGORITHM_NEA2 = 57; // 0x39
23417    field public static final int SECURITY_ALGORITHM_NEA3 = 58; // 0x3a
23418    field public static final int SECURITY_ALGORITHM_ORYX = 124; // 0x7c
23419    field public static final int SECURITY_ALGORITHM_OTHER = 114; // 0x72
23420    field public static final int SECURITY_ALGORITHM_RTP = 85; // 0x55
23421    field public static final int SECURITY_ALGORITHM_SIP_NO_IPSEC_CONFIG = 66; // 0x42
23422    field public static final int SECURITY_ALGORITHM_SIP_NULL = 68; // 0x44
23423    field public static final int SECURITY_ALGORITHM_SRTP_AES_COUNTER = 87; // 0x57
23424    field public static final int SECURITY_ALGORITHM_SRTP_AES_F8 = 88; // 0x58
23425    field public static final int SECURITY_ALGORITHM_SRTP_HMAC_SHA1 = 89; // 0x59
23426    field public static final int SECURITY_ALGORITHM_SRTP_NULL = 86; // 0x56
23427    field public static final int SECURITY_ALGORITHM_UEA0 = 29; // 0x1d
23428    field public static final int SECURITY_ALGORITHM_UEA1 = 30; // 0x1e
23429    field public static final int SECURITY_ALGORITHM_UEA2 = 31; // 0x1f
23430    field public static final int SECURITY_ALGORITHM_UNKNOWN = 113; // 0x71
23431  }
23432
23433  public class ServiceState implements android.os.Parcelable {
23434    method @Nullable public android.telephony.NetworkRegistrationInfo getNetworkRegistrationInfo(int, int);
23435    method @NonNull public java.util.List<android.telephony.NetworkRegistrationInfo> getNetworkRegistrationInfoListForDomain(int);
23436    method @NonNull public java.util.List<android.telephony.NetworkRegistrationInfo> getNetworkRegistrationInfoListForTransportType(int);
23437    field public static final int ROAMING_TYPE_DOMESTIC = 2; // 0x2
23438    field public static final int ROAMING_TYPE_INTERNATIONAL = 3; // 0x3
23439    field public static final int ROAMING_TYPE_NOT_ROAMING = 0; // 0x0
23440    field public static final int ROAMING_TYPE_UNKNOWN = 1; // 0x1
23441  }
23442
23443  public final class SignalStrengthUpdateRequest implements android.os.Parcelable {
23444    method public boolean isSystemThresholdReportingRequestedWhileIdle();
23445  }
23446
23447  public static final class SignalStrengthUpdateRequest.Builder {
23448    method @NonNull @RequiresPermission("android.permission.LISTEN_ALWAYS_REPORTED_SIGNAL_STRENGTH") public android.telephony.SignalStrengthUpdateRequest.Builder setSystemThresholdReportingRequestedWhileIdle(boolean);
23449  }
23450
23451  public final class SmsCbCmasInfo implements android.os.Parcelable {
23452    ctor public SmsCbCmasInfo(int, int, int, int, int, int);
23453    method public int describeContents();
23454    method public int getCategory();
23455    method public int getCertainty();
23456    method public int getMessageClass();
23457    method public int getResponseType();
23458    method public int getSeverity();
23459    method public int getUrgency();
23460    method public void writeToParcel(android.os.Parcel, int);
23461    field public static final int CMAS_CATEGORY_CBRNE = 10; // 0xa
23462    field public static final int CMAS_CATEGORY_ENV = 7; // 0x7
23463    field public static final int CMAS_CATEGORY_FIRE = 5; // 0x5
23464    field public static final int CMAS_CATEGORY_GEO = 0; // 0x0
23465    field public static final int CMAS_CATEGORY_HEALTH = 6; // 0x6
23466    field public static final int CMAS_CATEGORY_INFRA = 9; // 0x9
23467    field public static final int CMAS_CATEGORY_MET = 1; // 0x1
23468    field public static final int CMAS_CATEGORY_OTHER = 11; // 0xb
23469    field public static final int CMAS_CATEGORY_RESCUE = 4; // 0x4
23470    field public static final int CMAS_CATEGORY_SAFETY = 2; // 0x2
23471    field public static final int CMAS_CATEGORY_SECURITY = 3; // 0x3
23472    field public static final int CMAS_CATEGORY_TRANSPORT = 8; // 0x8
23473    field public static final int CMAS_CATEGORY_UNKNOWN = -1; // 0xffffffff
23474    field public static final int CMAS_CERTAINTY_LIKELY = 1; // 0x1
23475    field public static final int CMAS_CERTAINTY_OBSERVED = 0; // 0x0
23476    field public static final int CMAS_CERTAINTY_UNKNOWN = -1; // 0xffffffff
23477    field public static final int CMAS_CLASS_CHILD_ABDUCTION_EMERGENCY = 3; // 0x3
23478    field public static final int CMAS_CLASS_CMAS_EXERCISE = 5; // 0x5
23479    field public static final int CMAS_CLASS_EXTREME_THREAT = 1; // 0x1
23480    field public static final int CMAS_CLASS_OPERATOR_DEFINED_USE = 6; // 0x6
23481    field public static final int CMAS_CLASS_PRESIDENTIAL_LEVEL_ALERT = 0; // 0x0
23482    field public static final int CMAS_CLASS_REQUIRED_MONTHLY_TEST = 4; // 0x4
23483    field public static final int CMAS_CLASS_SEVERE_THREAT = 2; // 0x2
23484    field public static final int CMAS_CLASS_UNKNOWN = -1; // 0xffffffff
23485    field public static final int CMAS_RESPONSE_TYPE_ASSESS = 6; // 0x6
23486    field public static final int CMAS_RESPONSE_TYPE_AVOID = 5; // 0x5
23487    field public static final int CMAS_RESPONSE_TYPE_EVACUATE = 1; // 0x1
23488    field public static final int CMAS_RESPONSE_TYPE_EXECUTE = 3; // 0x3
23489    field public static final int CMAS_RESPONSE_TYPE_MONITOR = 4; // 0x4
23490    field public static final int CMAS_RESPONSE_TYPE_NONE = 7; // 0x7
23491    field public static final int CMAS_RESPONSE_TYPE_PREPARE = 2; // 0x2
23492    field public static final int CMAS_RESPONSE_TYPE_SHELTER = 0; // 0x0
23493    field public static final int CMAS_RESPONSE_TYPE_UNKNOWN = -1; // 0xffffffff
23494    field public static final int CMAS_SEVERITY_EXTREME = 0; // 0x0
23495    field public static final int CMAS_SEVERITY_SEVERE = 1; // 0x1
23496    field public static final int CMAS_SEVERITY_UNKNOWN = -1; // 0xffffffff
23497    field public static final int CMAS_URGENCY_EXPECTED = 1; // 0x1
23498    field public static final int CMAS_URGENCY_IMMEDIATE = 0; // 0x0
23499    field public static final int CMAS_URGENCY_UNKNOWN = -1; // 0xffffffff
23500    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SmsCbCmasInfo> CREATOR;
23501  }
23502
23503  public final class SmsCbEtwsInfo implements android.os.Parcelable {
23504    ctor public SmsCbEtwsInfo(int, boolean, boolean, boolean, @Nullable byte[]);
23505    method public int describeContents();
23506    method @Nullable public byte[] getPrimaryNotificationSignature();
23507    method public long getPrimaryNotificationTimestamp();
23508    method public int getWarningType();
23509    method public boolean isEmergencyUserAlert();
23510    method public boolean isPopupAlert();
23511    method public boolean isPrimary();
23512    method public void writeToParcel(android.os.Parcel, int);
23513    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SmsCbEtwsInfo> CREATOR;
23514    field public static final int ETWS_WARNING_TYPE_EARTHQUAKE = 0; // 0x0
23515    field public static final int ETWS_WARNING_TYPE_EARTHQUAKE_AND_TSUNAMI = 2; // 0x2
23516    field public static final int ETWS_WARNING_TYPE_OTHER_EMERGENCY = 4; // 0x4
23517    field public static final int ETWS_WARNING_TYPE_TEST_MESSAGE = 3; // 0x3
23518    field public static final int ETWS_WARNING_TYPE_TSUNAMI = 1; // 0x1
23519    field public static final int ETWS_WARNING_TYPE_UNKNOWN = -1; // 0xffffffff
23520  }
23521
23522  public final class SmsCbLocation implements android.os.Parcelable {
23523    ctor public SmsCbLocation(@NonNull String, int, int);
23524    method public int describeContents();
23525    method public int getCid();
23526    method public int getLac();
23527    method @NonNull public String getPlmn();
23528    method public boolean isInLocationArea(@NonNull android.telephony.SmsCbLocation);
23529    method public boolean isInLocationArea(@Nullable String, int, int);
23530    method public void writeToParcel(android.os.Parcel, int);
23531    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SmsCbLocation> CREATOR;
23532  }
23533
23534  public final class SmsCbMessage implements android.os.Parcelable {
23535    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);
23536    method @NonNull public static android.telephony.SmsCbMessage createFromCursor(@NonNull android.database.Cursor);
23537    method public int describeContents();
23538    method @Nullable public android.telephony.SmsCbCmasInfo getCmasWarningInfo();
23539    method @NonNull public android.content.ContentValues getContentValues();
23540    method public int getDataCodingScheme();
23541    method @Nullable public android.telephony.SmsCbEtwsInfo getEtwsWarningInfo();
23542    method public int getGeographicalScope();
23543    method @NonNull public java.util.List<android.telephony.CbGeoUtils.Geometry> getGeometries();
23544    method @Nullable public String getLanguageCode();
23545    method @NonNull public android.telephony.SmsCbLocation getLocation();
23546    method public int getMaximumWaitingDuration();
23547    method @Nullable public String getMessageBody();
23548    method public int getMessageFormat();
23549    method public int getMessagePriority();
23550    method public long getReceivedTime();
23551    method public int getSerialNumber();
23552    method public int getServiceCategory();
23553    method public int getSlotIndex();
23554    method public int getSubscriptionId();
23555    method public boolean isCmasMessage();
23556    method public boolean isEmergencyMessage();
23557    method public boolean isEtwsMessage();
23558    method public boolean needGeoFencingCheck();
23559    method public void writeToParcel(android.os.Parcel, int);
23560    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.SmsCbMessage> CREATOR;
23561    field public static final int GEOGRAPHICAL_SCOPE_CELL_WIDE = 3; // 0x3
23562    field public static final int GEOGRAPHICAL_SCOPE_CELL_WIDE_IMMEDIATE = 0; // 0x0
23563    field public static final int GEOGRAPHICAL_SCOPE_LOCATION_AREA_WIDE = 2; // 0x2
23564    field public static final int GEOGRAPHICAL_SCOPE_PLMN_WIDE = 1; // 0x1
23565    field public static final int MAXIMUM_WAIT_TIME_NOT_SET = 255; // 0xff
23566    field public static final int MESSAGE_FORMAT_3GPP = 1; // 0x1
23567    field public static final int MESSAGE_FORMAT_3GPP2 = 2; // 0x2
23568    field public static final int MESSAGE_PRIORITY_EMERGENCY = 3; // 0x3
23569    field public static final int MESSAGE_PRIORITY_INTERACTIVE = 1; // 0x1
23570    field public static final int MESSAGE_PRIORITY_NORMAL = 0; // 0x0
23571    field public static final int MESSAGE_PRIORITY_URGENT = 2; // 0x2
23572  }
23573
23574  public final class SmsManager {
23575    method @Deprecated public boolean disableCellBroadcastRange(int, int, int);
23576    method @Deprecated public boolean enableCellBroadcastRange(int, int, int);
23577    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getPremiumSmsConsent(@NonNull String);
23578    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.net.Uri getSmscIdentity();
23579    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_CELL_BROADCASTS) public void resetAllCellBroadcastRanges();
23580    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>);
23581    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setPremiumSmsConsent(@NonNull String, int);
23582    field public static final int PREMIUM_SMS_CONSENT_ALWAYS_ALLOW = 3; // 0x3
23583    field public static final int PREMIUM_SMS_CONSENT_ASK_USER = 1; // 0x1
23584    field public static final int PREMIUM_SMS_CONSENT_NEVER_ALLOW = 2; // 0x2
23585    field public static final int PREMIUM_SMS_CONSENT_UNKNOWN = 0; // 0x0
23586  }
23587
23588  public class SmsMessage {
23589    method @Nullable public static android.telephony.SmsMessage createFromNativeSmsSubmitPdu(@NonNull byte[], boolean);
23590    method @Nullable public static android.telephony.SmsMessage.SubmitPdu getSmsPdu(int, int, @Nullable String, @NonNull String, @NonNull String, long);
23591    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);
23592  }
23593
23594  public class SubscriptionInfo implements android.os.Parcelable {
23595    method public boolean areUiccApplicationsEnabled();
23596    method @Nullable public java.util.List<android.telephony.UiccAccessRule> getAccessRules();
23597    method public int getProfileClass();
23598    method public int getTransferStatus();
23599    method public boolean isGroupDisabled();
23600  }
23601
23602  public class SubscriptionManager {
23603    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean canDisablePhysicalSubscription();
23604    method public boolean canManageSubscription(@NonNull android.telephony.SubscriptionInfo, @NonNull String);
23605    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int[] getActiveSubscriptionIdList();
23606    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.SubscriptionInfo getActiveSubscriptionInfoForIcc(@NonNull String);
23607    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public byte[] getAllSimSpecificSettingsForBackup();
23608    method @Nullable public java.util.List<android.telephony.SubscriptionInfo> getAvailableSubscriptionInfoList();
23609    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int[] getCompleteActiveSubscriptionIdList();
23610    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getEnabledSubscriptionId(int);
23611    method @NonNull public static android.content.res.Resources getResourcesForSubId(@NonNull android.content.Context, int);
23612    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isSubscriptionEnabled(int);
23613    method public void requestEmbeddedSubscriptionInfoListRefresh();
23614    method public void requestEmbeddedSubscriptionInfoListRefresh(int);
23615    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void restoreAllSimSpecificSettingsFromBackup(@NonNull byte[]);
23616    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDefaultDataSubId(int);
23617    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDefaultSmsSubId(int);
23618    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDefaultVoiceSubscriptionId(int);
23619    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>);
23620    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setSubscriptionEnabled(int, boolean);
23621    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void setTransferStatus(int, int);
23622    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setUiccApplicationsEnabled(int, boolean);
23623    field @RequiresPermission(android.Manifest.permission.MANAGE_SUBSCRIPTION_PLANS) public static final String ACTION_SUBSCRIPTION_PLANS_CHANGED = "android.telephony.action.SUBSCRIPTION_PLANS_CHANGED";
23624    field @NonNull public static final android.net.Uri ADVANCED_CALLING_ENABLED_CONTENT_URI;
23625    field @NonNull public static final android.net.Uri CROSS_SIM_ENABLED_CONTENT_URI;
23626    field @Deprecated public static final int PROFILE_CLASS_DEFAULT = -1; // 0xffffffff
23627    field public static final int PROFILE_CLASS_OPERATIONAL = 2; // 0x2
23628    field public static final int PROFILE_CLASS_PROVISIONING = 1; // 0x1
23629    field public static final int PROFILE_CLASS_TESTING = 0; // 0x0
23630    field public static final int PROFILE_CLASS_UNSET = -1; // 0xffffffff
23631    field public static final int TRANSFER_STATUS_CONVERTED = 2; // 0x2
23632    field public static final int TRANSFER_STATUS_NONE = 0; // 0x0
23633    field public static final int TRANSFER_STATUS_TRANSFERRED_OUT = 1; // 0x1
23634    field @NonNull public static final android.net.Uri VT_ENABLED_CONTENT_URI;
23635    field @NonNull public static final android.net.Uri WFC_ENABLED_CONTENT_URI;
23636    field @NonNull public static final android.net.Uri WFC_MODE_CONTENT_URI;
23637    field @NonNull public static final android.net.Uri WFC_ROAMING_ENABLED_CONTENT_URI;
23638    field @NonNull public static final android.net.Uri WFC_ROAMING_MODE_CONTENT_URI;
23639  }
23640
23641  public static class SubscriptionPlan.Builder {
23642    method @Deprecated public static android.telephony.SubscriptionPlan.Builder createRecurringDaily(java.time.ZonedDateTime);
23643    method @Deprecated public static android.telephony.SubscriptionPlan.Builder createRecurringMonthly(java.time.ZonedDateTime);
23644    method @Deprecated public static android.telephony.SubscriptionPlan.Builder createRecurringWeekly(java.time.ZonedDateTime);
23645  }
23646
23647  public class TelephonyCallback {
23648    field @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final int EVENT_ACTIVE_DATA_SUBSCRIPTION_ID_CHANGED = 23; // 0x17
23649    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_ALLOWED_NETWORK_TYPE_LIST_CHANGED = 35; // 0x23
23650    field public static final int EVENT_ALWAYS_REPORTED_SIGNAL_STRENGTH_CHANGED = 10; // 0xa
23651    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
23652    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_CALL_ATTRIBUTES_CHANGED = 27; // 0x1b
23653    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_CALL_DISCONNECT_CAUSE_CHANGED = 26; // 0x1a
23654    field @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final int EVENT_CALL_FORWARDING_INDICATOR_CHANGED = 4; // 0x4
23655    field public static final int EVENT_CALL_STATE_CHANGED = 6; // 0x6
23656    field public static final int EVENT_CARRIER_NETWORK_CHANGED = 17; // 0x11
23657    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_CELLULAR_IDENTIFIER_DISCLOSED_CHANGED = 47; // 0x2f
23658    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
23659    field @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public static final int EVENT_CELL_LOCATION_CHANGED = 5; // 0x5
23660    field public static final int EVENT_DATA_ACTIVATION_STATE_CHANGED = 19; // 0x13
23661    field public static final int EVENT_DATA_ACTIVITY_CHANGED = 8; // 0x8
23662    field @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_DATA_CONNECTION_REAL_TIME_INFO_CHANGED = 14; // 0xe
23663    field public static final int EVENT_DATA_CONNECTION_STATE_CHANGED = 7; // 0x7
23664    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_DATA_ENABLED_CHANGED = 34; // 0x22
23665    field public static final int EVENT_DISPLAY_INFO_CHANGED = 21; // 0x15
23666    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_EMERGENCY_CALLBACK_MODE_CHANGED = 40; // 0x28
23667    field @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final int EVENT_EMERGENCY_NUMBER_LIST_CHANGED = 25; // 0x19
23668    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_IMS_CALL_DISCONNECT_CAUSE_CHANGED = 28; // 0x1c
23669    field @RequiresPermission(android.Manifest.permission.READ_CALL_LOG) public static final int EVENT_LEGACY_CALL_STATE_CHANGED = 36; // 0x24
23670    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_LINK_CAPACITY_ESTIMATE_CHANGED = 37; // 0x25
23671    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_MEDIA_QUALITY_STATUS_CHANGED = 39; // 0x27
23672    field @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public static final int EVENT_MESSAGE_WAITING_INDICATOR_CHANGED = 3; // 0x3
23673    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_OEM_HOOK_RAW = 15; // 0xf
23674    field @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public static final int EVENT_OUTGOING_EMERGENCY_CALL = 29; // 0x1d
23675    field @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public static final int EVENT_OUTGOING_EMERGENCY_SMS = 30; // 0x1e
23676    field public static final int EVENT_PHONE_CAPABILITY_CHANGED = 22; // 0x16
23677    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_PHYSICAL_CHANNEL_CONFIG_CHANGED = 33; // 0x21
23678    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_PRECISE_CALL_STATE_CHANGED = 12; // 0xc
23679    field @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public static final int EVENT_PRECISE_DATA_CONNECTION_STATE_CHANGED = 13; // 0xd
23680    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_RADIO_POWER_STATE_CHANGED = 24; // 0x18
23681    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
23682    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_SECURITY_ALGORITHMS_CHANGED = 46; // 0x2e
23683    field public static final int EVENT_SERVICE_STATE_CHANGED = 1; // 0x1
23684    field public static final int EVENT_SIGNAL_STRENGTHS_CHANGED = 9; // 0x9
23685    field public static final int EVENT_SIGNAL_STRENGTH_CHANGED = 2; // 0x2
23686    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_SIMULTANEOUS_CELLULAR_CALLING_SUBSCRIPTIONS_CHANGED = 41; // 0x29
23687    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_SRVCC_STATE_CHANGED = 16; // 0x10
23688    field public static final int EVENT_USER_MOBILE_DATA_STATE_CHANGED = 20; // 0x14
23689    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final int EVENT_VOICE_ACTIVATION_STATE_CHANGED = 18; // 0x12
23690  }
23691
23692  public static interface TelephonyCallback.AllowedNetworkTypesListener {
23693    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onAllowedNetworkTypesChanged(int, long);
23694  }
23695
23696  public static interface TelephonyCallback.CallAttributesListener {
23697    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public default void onCallAttributesChanged(@NonNull android.telephony.CallAttributes);
23698    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public default void onCallStatesChanged(@NonNull java.util.List<android.telephony.CallState>);
23699  }
23700
23701  public static interface TelephonyCallback.CellularIdentifierDisclosedListener {
23702    method public void onCellularIdentifierDisclosedChanged(@NonNull android.telephony.CellularIdentifierDisclosure);
23703  }
23704
23705  public static interface TelephonyCallback.DataEnabledListener {
23706    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onDataEnabledChanged(boolean, int);
23707  }
23708
23709  public static interface TelephonyCallback.EmergencyCallbackModeListener {
23710    method public void onCallbackModeRestarted(int, @NonNull java.time.Duration, int);
23711    method public void onCallbackModeStarted(int, @NonNull java.time.Duration, int);
23712    method public void onCallbackModeStopped(int, int, int);
23713  }
23714
23715  public static interface TelephonyCallback.LinkCapacityEstimateChangedListener {
23716    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onLinkCapacityEstimateChanged(@NonNull java.util.List<android.telephony.LinkCapacityEstimate>);
23717  }
23718
23719  public static interface TelephonyCallback.MediaQualityStatusChangedListener {
23720    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onMediaQualityStatusChanged(@NonNull android.telephony.ims.MediaQualityStatus);
23721  }
23722
23723  public static interface TelephonyCallback.OutgoingEmergencyCallListener {
23724    method @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void onOutgoingEmergencyCall(@NonNull android.telephony.emergency.EmergencyNumber, int);
23725  }
23726
23727  public static interface TelephonyCallback.OutgoingEmergencySmsListener {
23728    method @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void onOutgoingEmergencySms(@NonNull android.telephony.emergency.EmergencyNumber, int);
23729  }
23730
23731  public static interface TelephonyCallback.PhoneCapabilityListener {
23732    method public void onPhoneCapabilityChanged(@NonNull android.telephony.PhoneCapability);
23733  }
23734
23735  public static interface TelephonyCallback.PreciseCallStateListener {
23736    method @RequiresPermission(android.Manifest.permission.READ_PRECISE_PHONE_STATE) public void onPreciseCallStateChanged(@NonNull android.telephony.PreciseCallState);
23737  }
23738
23739  public static interface TelephonyCallback.RadioPowerStateListener {
23740    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onRadioPowerStateChanged(int);
23741  }
23742
23743  public static interface TelephonyCallback.SecurityAlgorithmsListener {
23744    method public void onSecurityAlgorithmsChanged(@NonNull android.telephony.SecurityAlgorithmUpdate);
23745  }
23746
23747  public static interface TelephonyCallback.SimultaneousCellularCallingSupportListener {
23748    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onSimultaneousCellularCallingSubscriptionsChanged(@NonNull java.util.Set<java.lang.Integer>);
23749  }
23750
23751  public static interface TelephonyCallback.SrvccStateListener {
23752    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onSrvccStateChanged(int);
23753  }
23754
23755  public static interface TelephonyCallback.VoiceActivationStateListener {
23756    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void onVoiceActivationStateChanged(int);
23757  }
23758
23759  public final class TelephonyHistogram implements android.os.Parcelable {
23760    ctor public TelephonyHistogram(android.os.Parcel);
23761    ctor public TelephonyHistogram(android.telephony.TelephonyHistogram);
23762    ctor public TelephonyHistogram(int, int, int);
23763    method public void addTimeTaken(int);
23764    method public int describeContents();
23765    method public int getAverageTime();
23766    method public int getBucketCount();
23767    method public int[] getBucketCounters();
23768    method public int[] getBucketEndPoints();
23769    method public int getCategory();
23770    method public int getId();
23771    method public int getMaxTime();
23772    method public int getMinTime();
23773    method public int getSampleCount();
23774    method public void writeToParcel(android.os.Parcel, int);
23775    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.TelephonyHistogram> CREATOR;
23776    field public static final int TELEPHONY_CATEGORY_RIL = 1; // 0x1
23777  }
23778
23779  public class TelephonyManager {
23780    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);
23781    method @Deprecated @RequiresPermission(android.Manifest.permission.CALL_PHONE) public void call(String, String);
23782    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.PinResult changeIccLockPin(@NonNull String, @NonNull String);
23783    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int checkCarrierPrivilegesForPackage(String);
23784    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int checkCarrierPrivilegesForPackageAnyPhone(String);
23785    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void clearRadioPowerOffForReason(int);
23786    method public void dial(String);
23787    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean disableDataConnectivity();
23788    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean enableDataConnectivity();
23789    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean enableModemForSlot(int, boolean);
23790    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void enableVideoCalling(boolean);
23791    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getAidForAppType(int);
23792    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<android.service.carrier.CarrierIdentifier> getAllowedCarriers(int);
23793    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public long getAllowedNetworkTypes();
23794    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public long getAllowedNetworkTypesBitmask();
23795    method @Nullable @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public android.content.ComponentName getAndUpdateDefaultRespondViaMessageApplication();
23796    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void getCallForwarding(int, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.TelephonyManager.CallForwardingInfoCallback);
23797    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>);
23798    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public int getCarrierIdFromCarrierIdentifier(@NonNull android.service.carrier.CarrierIdentifier);
23799    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.ImsiEncryptionInfo getCarrierInfoForImsiEncryption(int);
23800    method public java.util.List<java.lang.String> getCarrierPackageNamesForIntent(android.content.Intent);
23801    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<java.lang.String> getCarrierPackageNamesForIntentAndPhone(android.content.Intent, int);
23802    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getCarrierPrivilegeStatus(int);
23803    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<java.lang.String> getCarrierPrivilegedPackagesForAllActiveSubscriptions();
23804    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.CarrierRestrictionRules getCarrierRestrictionRules();
23805    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getCarrierServicePackageName();
23806    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getCarrierServicePackageNameForLogicalSlot(int);
23807    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getCdmaEnhancedRoamingIndicatorDisplayNumber();
23808    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String getCdmaMdn();
23809    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String getCdmaMdn(int);
23810    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String getCdmaMin();
23811    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String getCdmaMin(int);
23812    method @Deprecated public String getCdmaPrlVersion();
23813    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getCdmaRoamingMode();
23814    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getCdmaSubscriptionMode();
23815    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_CELL_BROADCASTS) public java.util.List<android.telephony.CellBroadcastIdRange> getCellBroadcastIdRanges();
23816    method public int getCurrentPhoneType();
23817    method public int getCurrentPhoneType(int);
23818    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getDataActivationState();
23819    method @Deprecated public boolean getDataEnabled();
23820    method @Deprecated public boolean getDataEnabled(int);
23821    method @Nullable @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public android.content.ComponentName getDefaultRespondViaMessageApplication();
23822    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String getDeviceSoftwareVersion(int);
23823    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getEmergencyAssistancePackageName();
23824    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean getEmergencyCallbackMode();
23825    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getEmergencyNumberDbVersion();
23826    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getGroupIdLevel2();
23827    method @NonNull @RequiresPermission(value=android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, conditional=true) public java.util.List<java.lang.String> getImsPcscfAddresses();
23828    method @Nullable @RequiresPermission(android.Manifest.permission.USE_ICC_AUTH_WITH_DEVICE_IDENTIFIER) public String getImsPrivateUserIdentity();
23829    method @NonNull @RequiresPermission(value=android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, conditional=true) public java.util.List<android.net.Uri> getImsPublicUserIdentities();
23830    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getIsimDomain();
23831    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getIsimIst();
23832    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.Map<java.lang.Integer,java.lang.Integer> getLogicalToPhysicalSlotMapping();
23833    method public int getMaxNumberOfSimultaneouslyActiveSims();
23834    method public static long getMaxNumberVerificationTimeoutMillis();
23835    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String[] getMergedImsisFromGroup();
23836    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.PhoneCapability getPhoneCapability();
23837    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public long getPreferredNetworkTypeBitmask();
23838    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.Set<java.lang.Integer> getRadioPowerOffReasons();
23839    method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public int getRadioPowerState();
23840    method public int getSimApplicationState();
23841    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getSimApplicationState(int);
23842    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getSimApplicationState(int, int);
23843    method public int getSimCardState();
23844    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getSimCardState(int);
23845    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getSimCardState(int, int);
23846    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.Locale getSimLocale();
23847    method @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>);
23848    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.Collection<android.telephony.UiccSlotMapping> getSimSlotMapping();
23849    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<android.telephony.RadioAccessSpecifier> getSystemSelectionChannels();
23850    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public java.util.List<android.telephony.TelephonyHistogram> getTelephonyHistograms();
23851    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public android.telephony.UiccSlotInfo[] getUiccSlotsInfo();
23852    method @Nullable public android.os.Bundle getVisualVoicemailSettings();
23853    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getVoiceActivationState();
23854    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean handlePinMmi(String);
23855    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean handlePinMmiForSubscriber(int, String);
23856    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void iccCloseLogicalChannelByPort(int, int, int);
23857    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean iccCloseLogicalChannelBySlot(int, int);
23858    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.IccOpenLogicalChannelResponse iccOpenLogicalChannelByPort(int, int, @Nullable String, int);
23859    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.IccOpenLogicalChannelResponse iccOpenLogicalChannelBySlot(int, @Nullable String, int);
23860    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String iccTransmitApduBasicChannelByPort(int, int, int, int, int, int, int, @Nullable String);
23861    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String iccTransmitApduBasicChannelBySlot(int, int, int, int, int, int, @Nullable String);
23862    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String iccTransmitApduLogicalChannelByPort(int, int, int, int, int, int, int, int, @Nullable String);
23863    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String iccTransmitApduLogicalChannelBySlot(int, int, int, int, int, int, int, @Nullable String);
23864    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isAnyRadioPoweredOn();
23865    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isApnMetered(int);
23866    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isApplicationOnUicc(int);
23867    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isCellularIdentifierDisclosureNotificationsEnabled();
23868    method public boolean isDataConnectivityPossible();
23869    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isDataEnabledForApn(int);
23870    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isDomainSelectionSupported();
23871    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isEmergencyAssistanceEnabled();
23872    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public boolean isIccLockEnabled();
23873    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isIdle();
23874    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isInEmergencySmsMode();
23875    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isLteCdmaEvdoGsmWcdmaEnabled();
23876    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isMobileDataPolicyEnabled(int);
23877    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isNrDualConnectivityEnabled();
23878    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isNullCipherNotificationsEnabled();
23879    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isOffhook();
23880    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isOpportunisticNetworkEnabled();
23881    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isPotentialEmergencyNumber(@NonNull String);
23882    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isRadioOn();
23883    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isRinging();
23884    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean isTetheringApnRequired();
23885    method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isVideoCallingEnabled();
23886    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public boolean isVisualVoicemailEnabled(android.telecom.PhoneAccountHandle);
23887    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean matchesCurrentSimOperator(@NonNull String, int, @Nullable String);
23888    method public boolean needsOtaServiceProvisioning();
23889    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void notifyOtaEmergencyNumberDbInstalled();
23890    method @RequiresPermission(android.Manifest.permission.REBOOT) public int prepareForUnattendedReboot();
23891    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean rebootRadio();
23892    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void registerCarrierPrivilegesCallback(int, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.TelephonyManager.CarrierPrivilegesCallback);
23893    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void reportDefaultNetworkStatus(boolean);
23894    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);
23895    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>);
23896    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);
23897    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void requestRadioPowerOffForReason(int);
23898    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void resetAllCarrierActions();
23899    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void resetCarrierKeysForImsiEncryption();
23900    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public void resetIms(int);
23901    method @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void resetOtaEmergencyNumberDbFilePath();
23902    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean resetRadioConfig();
23903    method @RequiresPermission(android.Manifest.permission.CONNECTIVITY_INTERNAL) public void resetSettings();
23904    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int sendThermalMitigationRequest(@NonNull android.telephony.ThermalMitigationRequest);
23905    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setAllowedCarriers(int, java.util.List<android.service.carrier.CarrierIdentifier>);
23906    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setAllowedNetworkTypes(long);
23907    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>);
23908    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>);
23909    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCarrierDataEnabled(boolean);
23910    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setCarrierRestrictionRules(@NonNull android.telephony.CarrierRestrictionRules);
23911    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCdmaRoamingMode(int);
23912    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCdmaSubscriptionMode(int);
23913    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>);
23914    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataActivationState(int);
23915    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataEnabled(int, boolean);
23916    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataRoamingEnabled(boolean);
23917    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setEnableCellularIdentifierDisclosureNotifications(boolean);
23918    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.PinResult setIccLockEnabled(boolean, @NonNull String);
23919    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setMobileDataPolicyEnabled(int, boolean);
23920    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setMultiSimCarrierRestriction(boolean);
23921    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int setNrDualConnectivityState(int);
23922    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setNullCipherNotificationsEnabled(boolean);
23923    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setOpportunisticNetworkState(boolean);
23924    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setPreferredNetworkTypeBitmask(long);
23925    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setRadio(boolean);
23926    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setRadioEnabled(boolean);
23927    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setRadioPower(boolean);
23928    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSimPowerState(int);
23929    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>);
23930    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSimPowerStateForSlot(int, int);
23931    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>);
23932    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSimSlotMapping(@NonNull java.util.Collection<android.telephony.UiccSlotMapping>);
23933    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSystemSelectionChannels(@NonNull java.util.List<android.telephony.RadioAccessSpecifier>);
23934    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>);
23935    method @Deprecated public void setVisualVoicemailEnabled(android.telecom.PhoneAccountHandle, boolean);
23936    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoiceActivationState(int);
23937    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void shutdownAllRadios();
23938    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.PinResult supplyIccLockPin(@NonNull String);
23939    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.PinResult supplyIccLockPuk(@NonNull String, @NonNull String);
23940    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean supplyPin(String);
23941    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int[] supplyPinReportResult(String);
23942    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean supplyPuk(String, String);
23943    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public int[] supplyPukReportResult(String, String);
23944    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean switchSlots(int[]);
23945    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void toggleRadioOnOff();
23946    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void unregisterCarrierPrivilegesCallback(@NonNull android.telephony.TelephonyManager.CarrierPrivilegesCallback);
23947    method @RequiresPermission(android.Manifest.permission.READ_ACTIVE_EMERGENCY_SESSION) public void updateOtaEmergencyNumberDbFilePath(@NonNull android.os.ParcelFileDescriptor);
23948    method public void updateServiceLocation();
23949    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final String ACTION_ANOMALY_REPORTED = "android.telephony.action.ANOMALY_REPORTED";
23950    field public static final String ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED = "android.intent.action.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED";
23951    field public static final String ACTION_DEFAULT_VOICE_SUBSCRIPTION_CHANGED = "android.intent.action.ACTION_DEFAULT_VOICE_SUBSCRIPTION_CHANGED";
23952    field public static final String ACTION_EMERGENCY_ASSISTANCE = "android.telephony.action.EMERGENCY_ASSISTANCE";
23953    field public static final String ACTION_EMERGENCY_CALLBACK_MODE_CHANGED = "android.intent.action.EMERGENCY_CALLBACK_MODE_CHANGED";
23954    field public static final String ACTION_EMERGENCY_CALL_STATE_CHANGED = "android.intent.action.EMERGENCY_CALL_STATE_CHANGED";
23955    field public static final String ACTION_REQUEST_OMADM_CONFIGURATION_UPDATE = "com.android.omadm.service.CONFIGURATION_UPDATE";
23956    field public static final String ACTION_SHOW_NOTICE_ECM_BLOCK_OTHERS = "android.telephony.action.SHOW_NOTICE_ECM_BLOCK_OTHERS";
23957    field public static final String ACTION_SIM_APPLICATION_STATE_CHANGED = "android.telephony.action.SIM_APPLICATION_STATE_CHANGED";
23958    field public static final String ACTION_SIM_CARD_STATE_CHANGED = "android.telephony.action.SIM_CARD_STATE_CHANGED";
23959    field public static final String ACTION_SIM_SLOT_STATUS_CHANGED = "android.telephony.action.SIM_SLOT_STATUS_CHANGED";
23960    field public static final int ALLOWED_NETWORK_TYPES_REASON_ENABLE_2G = 3; // 0x3
23961    field public static final int ALLOWED_NETWORK_TYPES_REASON_POWER = 1; // 0x1
23962    field public static final int CALL_WAITING_STATUS_DISABLED = 2; // 0x2
23963    field public static final int CALL_WAITING_STATUS_ENABLED = 1; // 0x1
23964    field public static final int CALL_WAITING_STATUS_FDN_CHECK_FAILURE = 5; // 0x5
23965    field public static final int CALL_WAITING_STATUS_NOT_SUPPORTED = 4; // 0x4
23966    field public static final int CALL_WAITING_STATUS_UNKNOWN_ERROR = 3; // 0x3
23967    field public static final String CAPABILITY_NR_DUAL_CONNECTIVITY_CONFIGURATION_AVAILABLE = "CAPABILITY_NR_DUAL_CONNECTIVITY_CONFIGURATION_AVAILABLE";
23968    field public static final String CAPABILITY_SECONDARY_LINK_BANDWIDTH_VISIBLE = "CAPABILITY_SECONDARY_LINK_BANDWIDTH_VISIBLE";
23969    field public static final String CAPABILITY_THERMAL_MITIGATION_DATA_THROTTLING = "CAPABILITY_THERMAL_MITIGATION_DATA_THROTTLING";
23970    field public static final String CAPABILITY_USES_ALLOWED_NETWORK_TYPES_BITMASK = "CAPABILITY_USES_ALLOWED_NETWORK_TYPES_BITMASK";
23971    field public static final int CARRIER_PRIVILEGE_STATUS_ERROR_LOADING_RULES = -2; // 0xfffffffe
23972    field public static final int CARRIER_PRIVILEGE_STATUS_HAS_ACCESS = 1; // 0x1
23973    field public static final int CARRIER_PRIVILEGE_STATUS_NO_ACCESS = 0; // 0x0
23974    field public static final int CARRIER_PRIVILEGE_STATUS_RULES_NOT_LOADED = -1; // 0xffffffff
23975    field @Deprecated public static final int CDMA_SUBSCRIPTION_NV = 1; // 0x1
23976    field @Deprecated public static final int CDMA_SUBSCRIPTION_RUIM_SIM = 0; // 0x0
23977    field @Deprecated public static final int CDMA_SUBSCRIPTION_UNKNOWN = -1; // 0xffffffff
23978    field public static final int CELL_BROADCAST_RESULT_FAIL_ACTIVATION = 3; // 0x3
23979    field public static final int CELL_BROADCAST_RESULT_FAIL_CONFIG = 2; // 0x2
23980    field public static final int CELL_BROADCAST_RESULT_SUCCESS = 0; // 0x0
23981    field public static final int CELL_BROADCAST_RESULT_UNKNOWN = -1; // 0xffffffff
23982    field public static final int CELL_BROADCAST_RESULT_UNSUPPORTED = 1; // 0x1
23983    field public static final int EMERGENCY_CALLBACK_MODE_CALL = 1; // 0x1
23984    field public static final int EMERGENCY_CALLBACK_MODE_SMS = 2; // 0x2
23985    field public static final int ENABLE_NR_DUAL_CONNECTIVITY_INVALID_STATE = 4; // 0x4
23986    field public static final int ENABLE_NR_DUAL_CONNECTIVITY_NOT_SUPPORTED = 1; // 0x1
23987    field public static final int ENABLE_NR_DUAL_CONNECTIVITY_RADIO_ERROR = 3; // 0x3
23988    field public static final int ENABLE_NR_DUAL_CONNECTIVITY_RADIO_NOT_AVAILABLE = 2; // 0x2
23989    field public static final int ENABLE_NR_DUAL_CONNECTIVITY_SUCCESS = 0; // 0x0
23990    field public static final String EXTRA_ANOMALY_DESCRIPTION = "android.telephony.extra.ANOMALY_DESCRIPTION";
23991    field public static final String EXTRA_ANOMALY_ID = "android.telephony.extra.ANOMALY_ID";
23992    field public static final String EXTRA_PHONE_IN_ECM_STATE = "android.telephony.extra.PHONE_IN_ECM_STATE";
23993    field public static final String EXTRA_PHONE_IN_EMERGENCY_CALL = "android.telephony.extra.PHONE_IN_EMERGENCY_CALL";
23994    field public static final String EXTRA_SIM_STATE = "android.telephony.extra.SIM_STATE";
23995    field public static final String EXTRA_VISUAL_VOICEMAIL_ENABLED_BY_USER_BOOL = "android.telephony.extra.VISUAL_VOICEMAIL_ENABLED_BY_USER_BOOL";
23996    field public static final String EXTRA_VOICEMAIL_SCRAMBLED_PIN_STRING = "android.telephony.extra.VOICEMAIL_SCRAMBLED_PIN_STRING";
23997    field public static final int GBA_FAILURE_REASON_FEATURE_NOT_READY = 2; // 0x2
23998    field public static final int GBA_FAILURE_REASON_FEATURE_NOT_SUPPORTED = 1; // 0x1
23999    field public static final int GBA_FAILURE_REASON_INCORRECT_NAF_ID = 4; // 0x4
24000    field public static final int GBA_FAILURE_REASON_NETWORK_FAILURE = 3; // 0x3
24001    field public static final int GBA_FAILURE_REASON_SECURITY_PROTOCOL_NOT_SUPPORTED = 5; // 0x5
24002    field public static final int GBA_FAILURE_REASON_UNKNOWN = 0; // 0x0
24003    field public static final int INVALID_EMERGENCY_NUMBER_DB_VERSION = -1; // 0xffffffff
24004    field public static final int KEY_TYPE_EPDG = 1; // 0x1
24005    field public static final int KEY_TYPE_WLAN = 2; // 0x2
24006    field public static final int MOBILE_DATA_POLICY_AUTO_DATA_SWITCH = 3; // 0x3
24007    field public static final int MOBILE_DATA_POLICY_DATA_ON_NON_DEFAULT_DURING_VOICE_CALL = 1; // 0x1
24008    field public static final int MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED = 2; // 0x2
24009    field public static final int NR_DUAL_CONNECTIVITY_DISABLE = 2; // 0x2
24010    field public static final int NR_DUAL_CONNECTIVITY_DISABLE_IMMEDIATE = 3; // 0x3
24011    field public static final int NR_DUAL_CONNECTIVITY_ENABLE = 1; // 0x1
24012    field public static final int PREPARE_UNATTENDED_REBOOT_ERROR = 2; // 0x2
24013    field public static final int PREPARE_UNATTENDED_REBOOT_PIN_REQUIRED = 1; // 0x1
24014    field public static final int PREPARE_UNATTENDED_REBOOT_SUCCESS = 0; // 0x0
24015    field public static final int RADIO_POWER_OFF = 0; // 0x0
24016    field public static final int RADIO_POWER_ON = 1; // 0x1
24017    field public static final int RADIO_POWER_REASON_CARRIER = 2; // 0x2
24018    field public static final int RADIO_POWER_REASON_NEARBY_DEVICE = 3; // 0x3
24019    field public static final int RADIO_POWER_REASON_THERMAL = 1; // 0x1
24020    field public static final int RADIO_POWER_REASON_USER = 0; // 0x0
24021    field public static final int RADIO_POWER_UNAVAILABLE = 2; // 0x2
24022    field public static final int SET_CARRIER_RESTRICTION_ERROR = 2; // 0x2
24023    field public static final int SET_CARRIER_RESTRICTION_NOT_SUPPORTED = 1; // 0x1
24024    field public static final int SET_CARRIER_RESTRICTION_SUCCESS = 0; // 0x0
24025    field public static final int SET_SIM_POWER_STATE_ALREADY_IN_STATE = 1; // 0x1
24026    field public static final int SET_SIM_POWER_STATE_MODEM_ERROR = 2; // 0x2
24027    field public static final int SET_SIM_POWER_STATE_NOT_SUPPORTED = 4; // 0x4
24028    field public static final int SET_SIM_POWER_STATE_SIM_ERROR = 3; // 0x3
24029    field public static final int SET_SIM_POWER_STATE_SUCCESS = 0; // 0x0
24030    field public static final int SIM_ACTIVATION_STATE_ACTIVATED = 2; // 0x2
24031    field public static final int SIM_ACTIVATION_STATE_ACTIVATING = 1; // 0x1
24032    field public static final int SIM_ACTIVATION_STATE_DEACTIVATED = 3; // 0x3
24033    field public static final int SIM_ACTIVATION_STATE_RESTRICTED = 4; // 0x4
24034    field public static final int SIM_ACTIVATION_STATE_UNKNOWN = 0; // 0x0
24035    field public static final int SIM_STATE_LOADED = 10; // 0xa
24036    field public static final int SIM_STATE_PRESENT = 11; // 0xb
24037    field public static final int SRVCC_STATE_HANDOVER_CANCELED = 3; // 0x3
24038    field public static final int SRVCC_STATE_HANDOVER_COMPLETED = 1; // 0x1
24039    field public static final int SRVCC_STATE_HANDOVER_FAILED = 2; // 0x2
24040    field public static final int SRVCC_STATE_HANDOVER_NONE = -1; // 0xffffffff
24041    field public static final int SRVCC_STATE_HANDOVER_STARTED = 0; // 0x0
24042    field public static final int STOP_REASON_EMERGENCY_SMS_SENT = 4; // 0x4
24043    field public static final int STOP_REASON_NORMAL_SMS_SENT = 2; // 0x2
24044    field public static final int STOP_REASON_OUTGOING_EMERGENCY_CALL_INITIATED = 3; // 0x3
24045    field public static final int STOP_REASON_OUTGOING_NORMAL_CALL_INITIATED = 1; // 0x1
24046    field public static final int STOP_REASON_TIMER_EXPIRED = 5; // 0x5
24047    field public static final int STOP_REASON_UNKNOWN = 0; // 0x0
24048    field public static final int STOP_REASON_USER_ACTION = 6; // 0x6
24049    field public static final int THERMAL_MITIGATION_RESULT_INVALID_STATE = 3; // 0x3
24050    field public static final int THERMAL_MITIGATION_RESULT_MODEM_ERROR = 1; // 0x1
24051    field public static final int THERMAL_MITIGATION_RESULT_MODEM_NOT_AVAILABLE = 2; // 0x2
24052    field public static final int THERMAL_MITIGATION_RESULT_SUCCESS = 0; // 0x0
24053    field public static final int THERMAL_MITIGATION_RESULT_UNKNOWN_ERROR = 4; // 0x4
24054  }
24055
24056  public static class TelephonyManager.BootstrapAuthenticationCallback {
24057    ctor public TelephonyManager.BootstrapAuthenticationCallback();
24058    method public void onAuthenticationFailure(int);
24059    method public void onKeysAvailable(@NonNull byte[], @NonNull String);
24060  }
24061
24062  public static interface TelephonyManager.CallForwardingInfoCallback {
24063    method public void onCallForwardingInfoAvailable(@NonNull android.telephony.CallForwardingInfo);
24064    method public void onError(int);
24065    field public static final int RESULT_ERROR_FDN_CHECK_FAILURE = 2; // 0x2
24066    field public static final int RESULT_ERROR_NOT_SUPPORTED = 3; // 0x3
24067    field public static final int RESULT_ERROR_UNKNOWN = 1; // 0x1
24068    field public static final int RESULT_SUCCESS = 0; // 0x0
24069  }
24070
24071  public static interface TelephonyManager.CarrierPrivilegesCallback {
24072    method public void onCarrierPrivilegesChanged(@NonNull java.util.Set<java.lang.String>, @NonNull java.util.Set<java.lang.Integer>);
24073    method public default void onCarrierServiceChanged(@Nullable String, int);
24074  }
24075
24076  public static class TelephonyManager.ModemActivityInfoException extends java.lang.Exception {
24077    ctor public TelephonyManager.ModemActivityInfoException(int);
24078    method public int getErrorCode();
24079    field public static final int ERROR_INVALID_INFO_RECEIVED = 2; // 0x2
24080    field public static final int ERROR_MODEM_RESPONSE_ERROR = 3; // 0x3
24081    field public static final int ERROR_PHONE_NOT_AVAILABLE = 1; // 0x1
24082    field public static final int ERROR_UNKNOWN = 0; // 0x0
24083  }
24084
24085  public final class ThermalMitigationRequest implements android.os.Parcelable {
24086    method public int describeContents();
24087    method @Nullable public android.telephony.DataThrottlingRequest getDataThrottlingRequest();
24088    method public int getThermalMitigationAction();
24089    method public void writeToParcel(@NonNull android.os.Parcel, int);
24090    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ThermalMitigationRequest> CREATOR;
24091    field public static final int THERMAL_MITIGATION_ACTION_DATA_THROTTLING = 0; // 0x0
24092    field public static final int THERMAL_MITIGATION_ACTION_RADIO_OFF = 2; // 0x2
24093    field public static final int THERMAL_MITIGATION_ACTION_VOICE_ONLY = 1; // 0x1
24094  }
24095
24096  public static final class ThermalMitigationRequest.Builder {
24097    ctor public ThermalMitigationRequest.Builder();
24098    method @NonNull public android.telephony.ThermalMitigationRequest build();
24099    method @NonNull public android.telephony.ThermalMitigationRequest.Builder setDataThrottlingRequest(@NonNull android.telephony.DataThrottlingRequest);
24100    method @NonNull public android.telephony.ThermalMitigationRequest.Builder setThermalMitigationAction(int);
24101  }
24102
24103  public interface TransportSelectorCallback {
24104    method public void onCreated(@NonNull android.telephony.DomainSelector);
24105    method public void onSelectionTerminated(int);
24106    method public void onWlanSelected(boolean);
24107    method public void onWwanSelected(@NonNull java.util.function.Consumer<android.telephony.WwanSelectorCallback>);
24108  }
24109
24110  public final class UiccAccessRule implements android.os.Parcelable {
24111    ctor public UiccAccessRule(byte[], @Nullable String, long);
24112    method public int describeContents();
24113    method public int getCarrierPrivilegeStatus(android.content.pm.PackageInfo);
24114    method public int getCarrierPrivilegeStatus(android.content.pm.Signature, String);
24115    method public String getCertificateHexString();
24116    method @Nullable public String getPackageName();
24117    method public void writeToParcel(android.os.Parcel, int);
24118    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.UiccAccessRule> CREATOR;
24119  }
24120
24121  public class UiccSlotInfo implements android.os.Parcelable {
24122    ctor @Deprecated public UiccSlotInfo(boolean, boolean, String, int, int, boolean);
24123    method public int describeContents();
24124    method public String getCardId();
24125    method public int getCardStateInfo();
24126    method @Deprecated public boolean getIsActive();
24127    method public boolean getIsEuicc();
24128    method public boolean getIsExtendedApduSupported();
24129    method @Deprecated public int getLogicalSlotIdx();
24130    method @NonNull public java.util.Collection<android.telephony.UiccPortInfo> getPorts();
24131    method public boolean isRemovable();
24132    method public void writeToParcel(android.os.Parcel, int);
24133    field public static final int CARD_STATE_INFO_ABSENT = 1; // 0x1
24134    field public static final int CARD_STATE_INFO_ERROR = 3; // 0x3
24135    field public static final int CARD_STATE_INFO_PRESENT = 2; // 0x2
24136    field public static final int CARD_STATE_INFO_RESTRICTED = 4; // 0x4
24137    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.UiccSlotInfo> CREATOR;
24138  }
24139
24140  public final class UiccSlotMapping implements android.os.Parcelable {
24141    ctor public UiccSlotMapping(int, int, int);
24142    method public int describeContents();
24143    method @IntRange(from=0) public int getLogicalSlotIndex();
24144    method @IntRange(from=0) public int getPhysicalSlotIndex();
24145    method @IntRange(from=0) public int getPortIndex();
24146    method public void writeToParcel(@Nullable android.os.Parcel, int);
24147    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.UiccSlotMapping> CREATOR;
24148  }
24149
24150  public abstract class VisualVoicemailService extends android.app.Service {
24151    method public static final void sendVisualVoicemailSms(android.content.Context, android.telecom.PhoneAccountHandle, String, short, String, android.app.PendingIntent);
24152    method public static final void setSmsFilterSettings(android.content.Context, android.telecom.PhoneAccountHandle, android.telephony.VisualVoicemailSmsFilterSettings);
24153  }
24154
24155  public abstract class VopsSupportInfo implements android.os.Parcelable {
24156    method public int describeContents();
24157    method public abstract boolean equals(Object);
24158    method public abstract int hashCode();
24159    method public abstract boolean isEmergencyServiceFallbackSupported();
24160    method public abstract boolean isEmergencyServiceSupported();
24161    method public abstract boolean isVopsSupported();
24162    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.VopsSupportInfo> CREATOR;
24163  }
24164
24165  public interface WwanSelectorCallback {
24166    method public void onDomainSelected(int, boolean);
24167    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>);
24168  }
24169
24170}
24171
24172package android.telephony.cdma {
24173
24174  @Deprecated public final class CdmaSmsCbProgramData implements android.os.Parcelable {
24175    method @Deprecated public int describeContents();
24176    method @Deprecated public int getCategory();
24177    method @Deprecated public int getOperation();
24178    method @Deprecated public void writeToParcel(android.os.Parcel, int);
24179    field @Deprecated public static final int CATEGORY_CMAS_CHILD_ABDUCTION_EMERGENCY = 4099; // 0x1003
24180    field @Deprecated public static final int CATEGORY_CMAS_EXTREME_THREAT = 4097; // 0x1001
24181    field @Deprecated public static final int CATEGORY_CMAS_LAST_RESERVED_VALUE = 4351; // 0x10ff
24182    field @Deprecated public static final int CATEGORY_CMAS_PRESIDENTIAL_LEVEL_ALERT = 4096; // 0x1000
24183    field @Deprecated public static final int CATEGORY_CMAS_SEVERE_THREAT = 4098; // 0x1002
24184    field @Deprecated public static final int CATEGORY_CMAS_TEST_MESSAGE = 4100; // 0x1004
24185    field @Deprecated @NonNull public static final android.os.Parcelable.Creator<android.telephony.cdma.CdmaSmsCbProgramData> CREATOR;
24186    field @Deprecated public static final int OPERATION_ADD_CATEGORY = 1; // 0x1
24187    field @Deprecated public static final int OPERATION_CLEAR_CATEGORIES = 2; // 0x2
24188    field @Deprecated public static final int OPERATION_DELETE_CATEGORY = 0; // 0x0
24189  }
24190
24191}
24192
24193package android.telephony.data {
24194
24195  public class ApnSetting implements android.os.Parcelable {
24196    method public static int getApnTypeInt(@NonNull String);
24197    method @NonNull public static String getApnTypeString(int);
24198    field public static final String TYPE_ALL_STRING = "*";
24199    field public static final String TYPE_BIP_STRING = "bip";
24200    field public static final String TYPE_CBS_STRING = "cbs";
24201    field public static final String TYPE_DEFAULT_STRING = "default";
24202    field public static final String TYPE_DUN_STRING = "dun";
24203    field public static final String TYPE_EMERGENCY_STRING = "emergency";
24204    field public static final String TYPE_ENTERPRISE_STRING = "enterprise";
24205    field public static final String TYPE_FOTA_STRING = "fota";
24206    field public static final String TYPE_HIPRI_STRING = "hipri";
24207    field public static final String TYPE_IA_STRING = "ia";
24208    field public static final String TYPE_IMS_STRING = "ims";
24209    field public static final String TYPE_MCX_STRING = "mcx";
24210    field public static final String TYPE_MMS_STRING = "mms";
24211    field public static final String TYPE_OEM_PAID_STRING = "oem_paid";
24212    field public static final String TYPE_OEM_PRIVATE_STRING = "oem_private";
24213    field public static final String TYPE_RCS_STRING = "rcs";
24214    field public static final String TYPE_SUPL_STRING = "supl";
24215    field public static final String TYPE_VSIM_STRING = "vsim";
24216    field public static final String TYPE_XCAP_STRING = "xcap";
24217  }
24218
24219  public final class DataCallResponse implements android.os.Parcelable {
24220    method public int describeContents();
24221    method @NonNull public java.util.List<android.net.LinkAddress> getAddresses();
24222    method public int getCause();
24223    method @NonNull public java.util.List<java.net.InetAddress> getDnsAddresses();
24224    method @NonNull public java.util.List<java.net.InetAddress> getGatewayAddresses();
24225    method public int getHandoverFailureMode();
24226    method public int getId();
24227    method @NonNull public String getInterfaceName();
24228    method public int getLinkStatus();
24229    method @Deprecated public int getMtu();
24230    method public int getMtuV4();
24231    method public int getMtuV6();
24232    method public int getNetworkValidationStatus();
24233    method @NonNull public java.util.List<java.net.InetAddress> getPcscfAddresses();
24234    method public int getPduSessionId();
24235    method public int getProtocolType();
24236    method public long getRetryDurationMillis();
24237    method @Nullable public android.telephony.data.NetworkSliceInfo getSliceInfo();
24238    method @Deprecated public int getSuggestedRetryTime();
24239    method @NonNull public java.util.List<android.telephony.data.TrafficDescriptor> getTrafficDescriptors();
24240    method public void writeToParcel(android.os.Parcel, int);
24241    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.DataCallResponse> CREATOR;
24242    field public static final int HANDOVER_FAILURE_MODE_DO_FALLBACK = 1; // 0x1
24243    field public static final int HANDOVER_FAILURE_MODE_LEGACY = 0; // 0x0
24244    field public static final int HANDOVER_FAILURE_MODE_NO_FALLBACK_RETRY_HANDOVER = 2; // 0x2
24245    field public static final int HANDOVER_FAILURE_MODE_NO_FALLBACK_RETRY_SETUP_NORMAL = 3; // 0x3
24246    field public static final int HANDOVER_FAILURE_MODE_UNKNOWN = -1; // 0xffffffff
24247    field public static final int LINK_STATUS_ACTIVE = 2; // 0x2
24248    field public static final int LINK_STATUS_DORMANT = 1; // 0x1
24249    field public static final int LINK_STATUS_INACTIVE = 0; // 0x0
24250    field public static final int LINK_STATUS_UNKNOWN = -1; // 0xffffffff
24251    field public static final int PDU_SESSION_ID_NOT_SET = 0; // 0x0
24252    field public static final int RETRY_DURATION_UNDEFINED = -1; // 0xffffffff
24253  }
24254
24255  public static final class DataCallResponse.Builder {
24256    ctor public DataCallResponse.Builder();
24257    method @NonNull public android.telephony.data.DataCallResponse build();
24258    method @NonNull public android.telephony.data.DataCallResponse.Builder setAddresses(@NonNull java.util.List<android.net.LinkAddress>);
24259    method @NonNull public android.telephony.data.DataCallResponse.Builder setCause(int);
24260    method @NonNull public android.telephony.data.DataCallResponse.Builder setDnsAddresses(@NonNull java.util.List<java.net.InetAddress>);
24261    method @NonNull public android.telephony.data.DataCallResponse.Builder setGatewayAddresses(@NonNull java.util.List<java.net.InetAddress>);
24262    method @NonNull public android.telephony.data.DataCallResponse.Builder setHandoverFailureMode(int);
24263    method @NonNull public android.telephony.data.DataCallResponse.Builder setId(int);
24264    method @NonNull public android.telephony.data.DataCallResponse.Builder setInterfaceName(@Nullable String);
24265    method @NonNull public android.telephony.data.DataCallResponse.Builder setLinkStatus(int);
24266    method @Deprecated @NonNull public android.telephony.data.DataCallResponse.Builder setMtu(int);
24267    method @NonNull public android.telephony.data.DataCallResponse.Builder setMtuV4(int);
24268    method @NonNull public android.telephony.data.DataCallResponse.Builder setMtuV6(int);
24269    method @NonNull public android.telephony.data.DataCallResponse.Builder setNetworkValidationStatus(int);
24270    method @NonNull public android.telephony.data.DataCallResponse.Builder setPcscfAddresses(@NonNull java.util.List<java.net.InetAddress>);
24271    method @NonNull public android.telephony.data.DataCallResponse.Builder setPduSessionId(@IntRange(from=android.telephony.data.DataCallResponse.PDU_SESSION_ID_NOT_SET, to=15) int);
24272    method @NonNull public android.telephony.data.DataCallResponse.Builder setProtocolType(int);
24273    method @NonNull public android.telephony.data.DataCallResponse.Builder setRetryDurationMillis(long);
24274    method @NonNull public android.telephony.data.DataCallResponse.Builder setSliceInfo(@Nullable android.telephony.data.NetworkSliceInfo);
24275    method @Deprecated @NonNull public android.telephony.data.DataCallResponse.Builder setSuggestedRetryTime(int);
24276    method @NonNull public android.telephony.data.DataCallResponse.Builder setTrafficDescriptors(@NonNull java.util.List<android.telephony.data.TrafficDescriptor>);
24277  }
24278
24279  public final class DataProfile implements android.os.Parcelable {
24280    method public int describeContents();
24281    method @Deprecated @NonNull public String getApn();
24282    method @Nullable public android.telephony.data.ApnSetting getApnSetting();
24283    method @Deprecated public int getAuthType();
24284    method @Deprecated public int getBearerBitmask();
24285    method @Deprecated public int getMtu();
24286    method @Deprecated public int getMtuV4();
24287    method @Deprecated public int getMtuV6();
24288    method @Deprecated @Nullable public String getPassword();
24289    method @Deprecated public int getProfileId();
24290    method @Deprecated public int getProtocolType();
24291    method @Deprecated public int getRoamingProtocolType();
24292    method @Deprecated public int getSupportedApnTypesBitmask();
24293    method @Nullable public android.telephony.data.TrafficDescriptor getTrafficDescriptor();
24294    method public int getType();
24295    method @Deprecated @Nullable public String getUserName();
24296    method public boolean isEnabled();
24297    method @Deprecated public boolean isPersistent();
24298    method public boolean isPreferred();
24299    method public void writeToParcel(android.os.Parcel, int);
24300    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.DataProfile> CREATOR;
24301    field public static final int TYPE_3GPP = 1; // 0x1
24302    field public static final int TYPE_3GPP2 = 2; // 0x2
24303    field public static final int TYPE_COMMON = 0; // 0x0
24304  }
24305
24306  public static final class DataProfile.Builder {
24307    ctor public DataProfile.Builder();
24308    method @NonNull public android.telephony.data.DataProfile build();
24309    method @NonNull public android.telephony.data.DataProfile.Builder enable(boolean);
24310    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setApn(@NonNull String);
24311    method @NonNull public android.telephony.data.DataProfile.Builder setApnSetting(@NonNull android.telephony.data.ApnSetting);
24312    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setAuthType(int);
24313    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setBearerBitmask(int);
24314    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setMtu(int);
24315    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setMtuV4(int);
24316    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setMtuV6(int);
24317    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setPassword(@NonNull String);
24318    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setPersistent(boolean);
24319    method @NonNull public android.telephony.data.DataProfile.Builder setPreferred(boolean);
24320    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setProfileId(int);
24321    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setProtocolType(int);
24322    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setRoamingProtocolType(int);
24323    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setSupportedApnTypesBitmask(int);
24324    method @NonNull public android.telephony.data.DataProfile.Builder setTrafficDescriptor(@NonNull android.telephony.data.TrafficDescriptor);
24325    method @NonNull public android.telephony.data.DataProfile.Builder setType(int);
24326    method @Deprecated @NonNull public android.telephony.data.DataProfile.Builder setUserName(@NonNull String);
24327  }
24328
24329  public abstract class DataService extends android.app.Service {
24330    ctor public DataService();
24331    method public android.os.IBinder onBind(android.content.Intent);
24332    method @Nullable public abstract android.telephony.data.DataService.DataServiceProvider onCreateDataServiceProvider(int);
24333    field public static final int REQUEST_REASON_HANDOVER = 3; // 0x3
24334    field public static final int REQUEST_REASON_NORMAL = 1; // 0x1
24335    field public static final int REQUEST_REASON_SHUTDOWN = 2; // 0x2
24336    field public static final int REQUEST_REASON_UNKNOWN = 0; // 0x0
24337    field public static final String SERVICE_INTERFACE = "android.telephony.data.DataService";
24338  }
24339
24340  public abstract class DataService.DataServiceProvider implements java.lang.AutoCloseable {
24341    ctor public DataService.DataServiceProvider(int);
24342    method public abstract void close();
24343    method public void deactivateDataCall(int, int, @Nullable android.telephony.data.DataServiceCallback);
24344    method public final int getSlotIndex();
24345    method public final void notifyApnUnthrottled(@NonNull String);
24346    method public final void notifyDataCallListChanged(java.util.List<android.telephony.data.DataCallResponse>);
24347    method public final void notifyDataProfileUnthrottled(@NonNull android.telephony.data.DataProfile);
24348    method public void requestDataCallList(@NonNull android.telephony.data.DataServiceCallback);
24349    method public void requestNetworkValidation(int, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
24350    method public void setDataProfile(@NonNull java.util.List<android.telephony.data.DataProfile>, boolean, @NonNull android.telephony.data.DataServiceCallback);
24351    method public void setInitialAttachApn(@NonNull android.telephony.data.DataProfile, boolean, @NonNull android.telephony.data.DataServiceCallback);
24352    method public void setupDataCall(int, @NonNull android.telephony.data.DataProfile, boolean, boolean, int, @Nullable android.net.LinkProperties, @NonNull android.telephony.data.DataServiceCallback);
24353    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);
24354  }
24355
24356  public class DataServiceCallback {
24357    method public void onApnUnthrottled(@NonNull String);
24358    method public void onDataCallListChanged(@NonNull java.util.List<android.telephony.data.DataCallResponse>);
24359    method public void onDataProfileUnthrottled(@NonNull android.telephony.data.DataProfile);
24360    method public void onDeactivateDataCallComplete(int);
24361    method public void onRequestDataCallListComplete(int, @NonNull java.util.List<android.telephony.data.DataCallResponse>);
24362    method public void onSetDataProfileComplete(int);
24363    method public void onSetInitialAttachApnComplete(int);
24364    method public void onSetupDataCallComplete(int, @Nullable android.telephony.data.DataCallResponse);
24365    field public static final int RESULT_ERROR_BUSY = 3; // 0x3
24366    field public static final int RESULT_ERROR_ILLEGAL_STATE = 4; // 0x4
24367    field public static final int RESULT_ERROR_INVALID_ARG = 2; // 0x2
24368    field public static final int RESULT_ERROR_UNSUPPORTED = 1; // 0x1
24369    field public static final int RESULT_SUCCESS = 0; // 0x0
24370  }
24371
24372  public final class EpsBearerQosSessionAttributes implements android.os.Parcelable android.net.QosSessionAttributes {
24373    method public int describeContents();
24374    method public long getGuaranteedDownlinkBitRateKbps();
24375    method public long getGuaranteedUplinkBitRateKbps();
24376    method public long getMaxDownlinkBitRateKbps();
24377    method public long getMaxUplinkBitRateKbps();
24378    method public int getQosIdentifier();
24379    method @NonNull public java.util.List<java.net.InetSocketAddress> getRemoteAddresses();
24380    method public void writeToParcel(@NonNull android.os.Parcel, int);
24381    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.EpsBearerQosSessionAttributes> CREATOR;
24382  }
24383
24384  public final class NrQosSessionAttributes implements android.os.Parcelable android.net.QosSessionAttributes {
24385    method public int describeContents();
24386    method @NonNull public java.time.Duration getBitRateWindowDuration();
24387    method public long getGuaranteedDownlinkBitRateKbps();
24388    method public long getGuaranteedUplinkBitRateKbps();
24389    method public long getMaxDownlinkBitRateKbps();
24390    method public long getMaxUplinkBitRateKbps();
24391    method @IntRange(from=1, to=63) public int getQosFlowIdentifier();
24392    method public int getQosIdentifier();
24393    method @NonNull public java.util.List<java.net.InetSocketAddress> getRemoteAddresses();
24394    method public void writeToParcel(@NonNull android.os.Parcel, int);
24395    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.NrQosSessionAttributes> CREATOR;
24396  }
24397
24398  public abstract class QualifiedNetworksService extends android.app.Service {
24399    ctor public QualifiedNetworksService();
24400    method public android.os.IBinder onBind(android.content.Intent);
24401    method @NonNull public abstract android.telephony.data.QualifiedNetworksService.NetworkAvailabilityProvider onCreateNetworkAvailabilityProvider(int);
24402    field public static final String QUALIFIED_NETWORKS_SERVICE_INTERFACE = "android.telephony.data.QualifiedNetworksService";
24403  }
24404
24405  public abstract class QualifiedNetworksService.NetworkAvailabilityProvider implements java.lang.AutoCloseable {
24406    ctor public QualifiedNetworksService.NetworkAvailabilityProvider(int);
24407    method public abstract void close();
24408    method public final int getSlotIndex();
24409    method public void reportEmergencyDataNetworkPreferredTransportChanged(int);
24410    method public void reportThrottleStatusChanged(@NonNull java.util.List<android.telephony.data.ThrottleStatus>);
24411    method public void requestNetworkValidation(int, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
24412    method public final void updateQualifiedNetworkTypes(int, @NonNull java.util.List<java.lang.Integer>);
24413  }
24414
24415  public final class ThrottleStatus implements android.os.Parcelable {
24416    method public int describeContents();
24417    method public int getApnType();
24418    method public int getRetryType();
24419    method public int getSlotIndex();
24420    method public long getThrottleExpiryTimeMillis();
24421    method public int getThrottleType();
24422    method public int getTransportType();
24423    method public void writeToParcel(@NonNull android.os.Parcel, int);
24424    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.ThrottleStatus> CREATOR;
24425    field public static final int RETRY_TYPE_HANDOVER = 3; // 0x3
24426    field public static final int RETRY_TYPE_NEW_CONNECTION = 2; // 0x2
24427    field public static final int RETRY_TYPE_NONE = 1; // 0x1
24428    field public static final int THROTTLE_TYPE_ELAPSED_TIME = 2; // 0x2
24429    field public static final int THROTTLE_TYPE_NONE = 1; // 0x1
24430  }
24431
24432  public static final class ThrottleStatus.Builder {
24433    ctor public ThrottleStatus.Builder();
24434    method @NonNull public android.telephony.data.ThrottleStatus build();
24435    method @NonNull public android.telephony.data.ThrottleStatus.Builder setApnType(int);
24436    method @NonNull public android.telephony.data.ThrottleStatus.Builder setNoThrottle();
24437    method @NonNull public android.telephony.data.ThrottleStatus.Builder setRetryType(int);
24438    method @NonNull public android.telephony.data.ThrottleStatus.Builder setSlotIndex(int);
24439    method @NonNull public android.telephony.data.ThrottleStatus.Builder setThrottleExpiryTimeMillis(long);
24440    method @NonNull public android.telephony.data.ThrottleStatus.Builder setTransportType(int);
24441  }
24442
24443}
24444
24445package android.telephony.euicc {
24446
24447  public final class DownloadableSubscription implements android.os.Parcelable {
24448    method public java.util.List<android.telephony.UiccAccessRule> getAccessRules();
24449    method @Nullable public String getCarrierName();
24450  }
24451
24452  public static final class DownloadableSubscription.Builder {
24453    ctor public DownloadableSubscription.Builder();
24454    method @NonNull public android.telephony.euicc.DownloadableSubscription.Builder setAccessRules(@NonNull java.util.List<android.telephony.UiccAccessRule>);
24455    method @NonNull public android.telephony.euicc.DownloadableSubscription.Builder setCarrierName(@NonNull String);
24456  }
24457
24458  public class EuiccCardManager {
24459    method public void authenticateServer(String, String, byte[], byte[], byte[], byte[], java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
24460    method public void cancelSession(String, byte[], int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
24461    method public void deleteProfile(String, String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
24462    method public void disableProfile(String, String, boolean, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
24463    method public void listNotifications(String, int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.telephony.euicc.EuiccNotification[]>);
24464    method public void loadBoundProfilePackage(String, byte[], java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
24465    method public void prepareDownload(String, @Nullable byte[], byte[], byte[], byte[], java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
24466    method public void removeNotificationFromList(String, int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
24467    method public void requestAllProfiles(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.service.euicc.EuiccProfileInfo[]>);
24468    method public void requestDefaultSmdpAddress(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.String>);
24469    method public void requestEnabledProfileForPort(@NonNull String, int, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.euicc.EuiccCardManager.ResultCallback<android.service.euicc.EuiccProfileInfo>);
24470    method public void requestEuiccChallenge(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
24471    method public void requestEuiccInfo1(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
24472    method public void requestEuiccInfo2(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<byte[]>);
24473    method public void requestProfile(String, String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.service.euicc.EuiccProfileInfo>);
24474    method public void requestRulesAuthTable(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.telephony.euicc.EuiccRulesAuthTable>);
24475    method public void requestSmdsAddress(String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.String>);
24476    method public void resetMemory(String, int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
24477    method public void retrieveNotification(String, int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.telephony.euicc.EuiccNotification>);
24478    method public void retrieveNotificationList(String, int, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.telephony.euicc.EuiccNotification[]>);
24479    method public void setDefaultSmdpAddress(String, String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
24480    method public void setNickname(String, String, String, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<java.lang.Void>);
24481    method @Deprecated public void switchToProfile(String, String, boolean, java.util.concurrent.Executor, android.telephony.euicc.EuiccCardManager.ResultCallback<android.service.euicc.EuiccProfileInfo>);
24482    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>);
24483    field public static final int CANCEL_REASON_END_USER_REJECTED = 0; // 0x0
24484    field public static final int CANCEL_REASON_POSTPONED = 1; // 0x1
24485    field public static final int CANCEL_REASON_PPR_NOT_ALLOWED = 3; // 0x3
24486    field public static final int CANCEL_REASON_TIMEOUT = 2; // 0x2
24487    field public static final int RESET_OPTION_DELETE_FIELD_LOADED_TEST_PROFILES = 2; // 0x2
24488    field public static final int RESET_OPTION_DELETE_OPERATIONAL_PROFILES = 1; // 0x1
24489    field public static final int RESET_OPTION_RESET_DEFAULT_SMDP_ADDRESS = 4; // 0x4
24490    field public static final int RESULT_CALLER_NOT_ALLOWED = -3; // 0xfffffffd
24491    field public static final int RESULT_EUICC_NOT_FOUND = -2; // 0xfffffffe
24492    field public static final int RESULT_OK = 0; // 0x0
24493    field public static final int RESULT_PROFILE_DOES_NOT_EXIST = -4; // 0xfffffffc
24494    field public static final int RESULT_PROFILE_NOT_FOUND = 1; // 0x1
24495    field public static final int RESULT_UNKNOWN_ERROR = -1; // 0xffffffff
24496  }
24497
24498  public static interface EuiccCardManager.ResultCallback<T> {
24499    method public void onComplete(int, T);
24500  }
24501
24502  public class EuiccManager {
24503    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void continueOperation(android.content.Intent, android.os.Bundle);
24504    method @Deprecated @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void eraseSubscriptions(@NonNull android.app.PendingIntent);
24505    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void eraseSubscriptions(int, @NonNull android.app.PendingIntent);
24506    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void getDefaultDownloadableSubscriptionList(android.app.PendingIntent);
24507    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void getDownloadableSubscriptionMetadata(android.telephony.euicc.DownloadableSubscription, android.app.PendingIntent);
24508    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public int getOtaStatus();
24509    method @NonNull @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public java.util.List<java.lang.String> getSupportedCountries();
24510    method @NonNull @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public java.util.List<java.lang.String> getUnsupportedCountries();
24511    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public boolean isPsimConversionSupported(int);
24512    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public boolean isSupportedCountry(@NonNull String);
24513    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void setPsimConversionSupportedCarriers(@NonNull java.util.Set<java.lang.Integer>);
24514    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void setSupportedCountries(@NonNull java.util.List<java.lang.String>);
24515    method @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public void setUnsupportedCountries(@NonNull java.util.List<java.lang.String>);
24516    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";
24517    field public static final String ACTION_DELETE_SUBSCRIPTION_PRIVILEGED = "android.telephony.euicc.action.DELETE_SUBSCRIPTION_PRIVILEGED";
24518    field @RequiresPermission(android.Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS) public static final String ACTION_OTA_STATUS_CHANGED = "android.telephony.euicc.action.OTA_STATUS_CHANGED";
24519    field public static final String ACTION_PROVISION_EMBEDDED_SUBSCRIPTION = "android.telephony.euicc.action.PROVISION_EMBEDDED_SUBSCRIPTION";
24520    field public static final String ACTION_RENAME_SUBSCRIPTION_PRIVILEGED = "android.telephony.euicc.action.RENAME_SUBSCRIPTION_PRIVILEGED";
24521    field public static final String ACTION_TOGGLE_SUBSCRIPTION_PRIVILEGED = "android.telephony.euicc.action.TOGGLE_SUBSCRIPTION_PRIVILEGED";
24522    field @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public static final String ACTION_TRANSFER_EMBEDDED_SUBSCRIPTIONS = "android.telephony.euicc.action.TRANSFER_EMBEDDED_SUBSCRIPTIONS";
24523    field public static final int EUICC_ACTIVATION_TYPE_ACCOUNT_REQUIRED = 4; // 0x4
24524    field public static final int EUICC_ACTIVATION_TYPE_BACKUP = 2; // 0x2
24525    field public static final int EUICC_ACTIVATION_TYPE_DEFAULT = 1; // 0x1
24526    field public static final int EUICC_ACTIVATION_TYPE_TRANSFER = 3; // 0x3
24527    field public static final int EUICC_OTA_FAILED = 2; // 0x2
24528    field public static final int EUICC_OTA_IN_PROGRESS = 1; // 0x1
24529    field public static final int EUICC_OTA_NOT_NEEDED = 4; // 0x4
24530    field public static final int EUICC_OTA_STATUS_UNAVAILABLE = 5; // 0x5
24531    field public static final int EUICC_OTA_SUCCEEDED = 3; // 0x3
24532    field public static final String EXTRA_ACTIVATION_TYPE = "android.telephony.euicc.extra.ACTIVATION_TYPE";
24533    field public static final String EXTRA_EMBEDDED_SUBSCRIPTION_DOWNLOADABLE_SUBSCRIPTIONS = "android.telephony.euicc.extra.EMBEDDED_SUBSCRIPTION_DOWNLOADABLE_SUBSCRIPTIONS";
24534    field public static final String EXTRA_ENABLE_SUBSCRIPTION = "android.telephony.euicc.extra.ENABLE_SUBSCRIPTION";
24535    field public static final String EXTRA_FORCE_PROVISION = "android.telephony.euicc.extra.FORCE_PROVISION";
24536    field public static final String EXTRA_FROM_SUBSCRIPTION_ID = "android.telephony.euicc.extra.FROM_SUBSCRIPTION_ID";
24537    field public static final String EXTRA_PHYSICAL_SLOT_ID = "android.telephony.euicc.extra.PHYSICAL_SLOT_ID";
24538    field public static final String EXTRA_SUBSCRIPTION_ID = "android.telephony.euicc.extra.SUBSCRIPTION_ID";
24539    field public static final String EXTRA_SUBSCRIPTION_NICKNAME = "android.telephony.euicc.extra.SUBSCRIPTION_NICKNAME";
24540  }
24541
24542  public final class EuiccNotification implements android.os.Parcelable {
24543    ctor public EuiccNotification(int, String, int, @Nullable byte[]);
24544    method public int describeContents();
24545    method @Nullable public byte[] getData();
24546    method public int getEvent();
24547    method public int getSeq();
24548    method public String getTargetAddr();
24549    method public void writeToParcel(android.os.Parcel, int);
24550    field public static final int ALL_EVENTS = 15; // 0xf
24551    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.euicc.EuiccNotification> CREATOR;
24552    field public static final int EVENT_DELETE = 8; // 0x8
24553    field public static final int EVENT_DISABLE = 4; // 0x4
24554    field public static final int EVENT_ENABLE = 2; // 0x2
24555    field public static final int EVENT_INSTALL = 1; // 0x1
24556  }
24557
24558  public final class EuiccRulesAuthTable implements android.os.Parcelable {
24559    method public int describeContents();
24560    method public int findIndex(int, android.service.carrier.CarrierIdentifier);
24561    method public boolean hasPolicyRuleFlag(int, int);
24562    method public void writeToParcel(android.os.Parcel, int);
24563    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.euicc.EuiccRulesAuthTable> CREATOR;
24564    field public static final int POLICY_RULE_FLAG_CONSENT_REQUIRED = 1; // 0x1
24565  }
24566
24567  public static final class EuiccRulesAuthTable.Builder {
24568    ctor public EuiccRulesAuthTable.Builder(int);
24569    method public android.telephony.euicc.EuiccRulesAuthTable.Builder add(int, java.util.List<android.service.carrier.CarrierIdentifier>, int);
24570    method public android.telephony.euicc.EuiccRulesAuthTable build();
24571  }
24572
24573}
24574
24575package android.telephony.gba {
24576
24577  public class GbaService extends android.app.Service {
24578    ctor public GbaService();
24579    method public void onAuthenticationRequest(int, int, int, @NonNull android.net.Uri, @NonNull byte[], boolean);
24580    method public android.os.IBinder onBind(android.content.Intent);
24581    method public final void reportAuthenticationFailure(int, int) throws java.lang.RuntimeException;
24582    method public final void reportKeysAvailable(int, @NonNull byte[], @NonNull String) throws java.lang.RuntimeException;
24583    field public static final String SERVICE_INTERFACE = "android.telephony.gba.GbaService";
24584  }
24585
24586  public class TlsParams {
24587    method public static boolean isTlsCipherSuiteSupported(int);
24588    field public static final int GROUP_SECP256R1 = 23; // 0x17
24589    field public static final int GROUP_SECP384R1 = 24; // 0x18
24590    field public static final int GROUP_X25519 = 29; // 0x1d
24591    field public static final int GROUP_X448 = 30; // 0x1e
24592    field public static final int PROTOCOL_VERSION_TLS_1_2 = 771; // 0x303
24593    field public static final int PROTOCOL_VERSION_TLS_1_3 = 772; // 0x304
24594    field public static final int SIG_ECDSA_BRAINPOOLP256R1TLS13_SHA256 = 2074; // 0x81a
24595    field public static final int SIG_ECDSA_BRAINPOOLP384R1TLS13_SHA384 = 2075; // 0x81b
24596    field public static final int SIG_ECDSA_BRAINPOOLP512R1TLS13_SHA512 = 2076; // 0x81c
24597    field public static final int SIG_ECDSA_SECP256R1_SHA256 = 1027; // 0x403
24598    field public static final int SIG_ECDSA_SECP384R1_SHA384 = 1283; // 0x503
24599    field public static final int SIG_ECDSA_SECP521R1_SHA512 = 1539; // 0x603
24600    field public static final int SIG_ECDSA_SHA1 = 515; // 0x203
24601    field public static final int SIG_RSA_PKCS1_SHA1 = 513; // 0x201
24602    field public static final int SIG_RSA_PKCS1_SHA256 = 1025; // 0x401
24603    field public static final int SIG_RSA_PKCS1_SHA256_LEGACY = 1056; // 0x420
24604    field public static final int SIG_RSA_PKCS1_SHA384 = 1281; // 0x501
24605    field public static final int SIG_RSA_PKCS1_SHA384_LEGACY = 1312; // 0x520
24606    field public static final int SIG_RSA_PKCS1_SHA512 = 1537; // 0x601
24607    field public static final int SIG_RSA_PKCS1_SHA512_LEGACY = 1568; // 0x620
24608    field public static final int SIG_RSA_PSS_RSAE_SHA256 = 2052; // 0x804
24609    field public static final int SIG_RSA_PSS_RSAE_SHA384 = 2053; // 0x805
24610    field public static final int SIG_RSA_PSS_RSAE_SHA512 = 2054; // 0x806
24611    field public static final int TLS_AES_128_CCM_SHA256 = 4868; // 0x1304
24612    field public static final int TLS_AES_128_GCM_SHA256 = 4865; // 0x1301
24613    field public static final int TLS_AES_256_GCM_SHA384 = 4866; // 0x1302
24614    field public static final int TLS_CHACHA20_POLY1305_SHA256 = 4867; // 0x1303
24615    field public static final int TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA = 19; // 0x13
24616    field public static final int TLS_DHE_DSS_WITH_AES_128_CBC_SHA = 50; // 0x32
24617    field public static final int TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 = 64; // 0x40
24618    field public static final int TLS_DHE_DSS_WITH_AES_256_CBC_SHA = 56; // 0x38
24619    field public static final int TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 = 106; // 0x6a
24620    field public static final int TLS_DHE_PSK_WITH_AES_128_CCM = 49318; // 0xc0a6
24621    field public static final int TLS_DHE_PSK_WITH_AES_128_GCM_SHA256 = 170; // 0xaa
24622    field public static final int TLS_DHE_PSK_WITH_AES_256_CCM = 49319; // 0xc0a7
24623    field public static final int TLS_DHE_PSK_WITH_AES_256_GCM_SHA384 = 171; // 0xab
24624    field public static final int TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256 = 52397; // 0xccad
24625    field public static final int TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA = 22; // 0x16
24626    field public static final int TLS_DHE_RSA_WITH_AES_128_CBC_SHA = 51; // 0x33
24627    field public static final int TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 = 103; // 0x67
24628    field public static final int TLS_DHE_RSA_WITH_AES_128_CCM = 49310; // 0xc09e
24629    field public static final int TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 = 158; // 0x9e
24630    field public static final int TLS_DHE_RSA_WITH_AES_256_CBC_SHA = 57; // 0x39
24631    field public static final int TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 = 107; // 0x6b
24632    field public static final int TLS_DHE_RSA_WITH_AES_256_CCM = 49311; // 0xc09f
24633    field public static final int TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 = 159; // 0x9f
24634    field public static final int TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256 = 52394; // 0xccaa
24635    field public static final int TLS_DH_ANON_WITH_3DES_EDE_CBC_SHA = 27; // 0x1b
24636    field public static final int TLS_DH_ANON_WITH_AES_128_CBC_SHA = 52; // 0x34
24637    field public static final int TLS_DH_ANON_WITH_AES_128_CBC_SHA256 = 108; // 0x6c
24638    field public static final int TLS_DH_ANON_WITH_AES_256_CBC_SHA = 58; // 0x3a
24639    field public static final int TLS_DH_ANON_WITH_AES_256_CBC_SHA256 = 109; // 0x6d
24640    field public static final int TLS_DH_ANON_WITH_RC4_128_MD5 = 24; // 0x18
24641    field public static final int TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA = 13; // 0xd
24642    field public static final int TLS_DH_DSS_WITH_AES_128_CBC_SHA = 48; // 0x30
24643    field public static final int TLS_DH_DSS_WITH_AES_128_CBC_SHA256 = 62; // 0x3e
24644    field public static final int TLS_DH_DSS_WITH_AES_256_CBC_SHA = 54; // 0x36
24645    field public static final int TLS_DH_DSS_WITH_AES_256_CBC_SHA256 = 104; // 0x68
24646    field public static final int TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA = 16; // 0x10
24647    field public static final int TLS_DH_RSA_WITH_AES_128_CBC_SHA = 49; // 0x31
24648    field public static final int TLS_DH_RSA_WITH_AES_128_CBC_SHA256 = 63; // 0x3f
24649    field public static final int TLS_DH_RSA_WITH_AES_256_CBC_SHA = 55; // 0x37
24650    field public static final int TLS_DH_RSA_WITH_AES_256_CBC_SHA256 = 105; // 0x69
24651    field public static final int TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 = 49195; // 0xc02b
24652    field public static final int TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 = 49196; // 0xc02c
24653    field public static final int TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 = 52393; // 0xcca9
24654    field public static final int TLS_ECDHE_PSK_WITH_AES_128_CCM_SHA256 = 53253; // 0xd005
24655    field public static final int TLS_ECDHE_PSK_WITH_AES_128_GCM_SHA256 = 53249; // 0xd001
24656    field public static final int TLS_ECDHE_PSK_WITH_AES_256_GCM_SHA384 = 53250; // 0xd002
24657    field public static final int TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256 = 52396; // 0xccac
24658    field public static final int TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 = 49199; // 0xc02f
24659    field public static final int TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 = 49200; // 0xc030
24660    field public static final int TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 = 52392; // 0xcca8
24661    field public static final int TLS_NULL_WITH_NULL_NULL = 0; // 0x0
24662    field public static final int TLS_RSA_WITH_3DES_EDE_CBC_SHA = 10; // 0xa
24663    field public static final int TLS_RSA_WITH_AES_128_CBC_SHA = 47; // 0x2f
24664    field public static final int TLS_RSA_WITH_AES_128_CBC_SHA256 = 60; // 0x3c
24665    field public static final int TLS_RSA_WITH_AES_256_CBC_SHA = 53; // 0x35
24666    field public static final int TLS_RSA_WITH_AES_256_CBC_SHA256 = 61; // 0x3d
24667    field public static final int TLS_RSA_WITH_NULL_MD5 = 1; // 0x1
24668    field public static final int TLS_RSA_WITH_NULL_SHA = 2; // 0x2
24669    field public static final int TLS_RSA_WITH_NULL_SHA256 = 59; // 0x3b
24670    field public static final int TLS_RSA_WITH_RC4_128_MD5 = 4; // 0x4
24671    field public static final int TLS_RSA_WITH_RC4_128_SHA = 5; // 0x5
24672  }
24673
24674  public final class UaSecurityProtocolIdentifier implements android.os.Parcelable {
24675    method public int describeContents();
24676    method public int getOrg();
24677    method public int getProtocol();
24678    method public int getTlsCipherSuite();
24679    method @NonNull public byte[] toByteArray();
24680    method public void writeToParcel(@NonNull android.os.Parcel, int);
24681    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.gba.UaSecurityProtocolIdentifier> CREATOR;
24682    field public static final int ORG_3GPP = 1; // 0x1
24683    field public static final int ORG_3GPP2 = 2; // 0x2
24684    field public static final int ORG_GSMA = 4; // 0x4
24685    field public static final int ORG_LOCAL = 255; // 0xff
24686    field public static final int ORG_NONE = 0; // 0x0
24687    field public static final int ORG_OMA = 3; // 0x3
24688    field public static final int UA_SECURITY_PROTOCOL_3GPP_GENERATION_TMPI = 256; // 0x100
24689    field public static final int UA_SECURITY_PROTOCOL_3GPP_GENERIC_PUSH_LAYER = 5; // 0x5
24690    field public static final int UA_SECURITY_PROTOCOL_3GPP_HTTP_BASED_MBMS = 3; // 0x3
24691    field public static final int UA_SECURITY_PROTOCOL_3GPP_HTTP_DIGEST_AUTHENTICATION = 2; // 0x2
24692    field public static final int UA_SECURITY_PROTOCOL_3GPP_IMS_MEDIA_PLANE = 6; // 0x6
24693    field public static final int UA_SECURITY_PROTOCOL_3GPP_MBMS = 1; // 0x1
24694    field public static final int UA_SECURITY_PROTOCOL_3GPP_SIP_BASED_MBMS = 4; // 0x4
24695    field public static final int UA_SECURITY_PROTOCOL_3GPP_SUBSCRIBER_CERTIFICATE = 0; // 0x0
24696    field public static final int UA_SECURITY_PROTOCOL_3GPP_TLS_BROWSER = 131072; // 0x20000
24697    field public static final int UA_SECURITY_PROTOCOL_3GPP_TLS_DEFAULT = 65536; // 0x10000
24698  }
24699
24700  public static final class UaSecurityProtocolIdentifier.Builder {
24701    ctor public UaSecurityProtocolIdentifier.Builder();
24702    ctor public UaSecurityProtocolIdentifier.Builder(@NonNull android.telephony.gba.UaSecurityProtocolIdentifier);
24703    method @NonNull public android.telephony.gba.UaSecurityProtocolIdentifier build();
24704    method @NonNull public android.telephony.gba.UaSecurityProtocolIdentifier.Builder setOrg(int);
24705    method @NonNull public android.telephony.gba.UaSecurityProtocolIdentifier.Builder setProtocol(int);
24706    method @NonNull public android.telephony.gba.UaSecurityProtocolIdentifier.Builder setTlsCipherSuite(int);
24707  }
24708
24709}
24710
24711package android.telephony.ims {
24712
24713  public final class AudioCodecAttributes implements android.os.Parcelable {
24714    ctor public AudioCodecAttributes(float, @NonNull android.util.Range<java.lang.Float>, float, @NonNull android.util.Range<java.lang.Float>);
24715    method public int describeContents();
24716    method public float getBandwidthKhz();
24717    method @NonNull public android.util.Range<java.lang.Float> getBandwidthRangeKhz();
24718    method public float getBitrateKbps();
24719    method @NonNull public android.util.Range<java.lang.Float> getBitrateRangeKbps();
24720    method public void writeToParcel(@NonNull android.os.Parcel, int);
24721    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.AudioCodecAttributes> CREATOR;
24722  }
24723
24724  public interface DelegateMessageCallback {
24725    method public void onMessageReceived(@NonNull android.telephony.ims.SipMessage);
24726    method public void onMessageSendFailure(@NonNull String, int);
24727    method public void onMessageSent(@NonNull String);
24728  }
24729
24730  public final class DelegateRegistrationState implements android.os.Parcelable {
24731    method public int describeContents();
24732    method @NonNull public java.util.Set<android.telephony.ims.FeatureTagState> getDeregisteredFeatureTags();
24733    method @NonNull public java.util.Set<android.telephony.ims.FeatureTagState> getDeregisteringFeatureTags();
24734    method @NonNull public java.util.Set<java.lang.String> getRegisteredFeatureTags();
24735    method @NonNull public java.util.Set<java.lang.String> getRegisteringFeatureTags();
24736    method public void writeToParcel(@NonNull android.os.Parcel, int);
24737    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.DelegateRegistrationState> CREATOR;
24738    field public static final int DEREGISTERED_REASON_NOT_PROVISIONED = 1; // 0x1
24739    field public static final int DEREGISTERED_REASON_NOT_REGISTERED = 2; // 0x2
24740    field public static final int DEREGISTERED_REASON_UNKNOWN = 0; // 0x0
24741    field public static final int DEREGISTERING_REASON_DESTROY_PENDING = 6; // 0x6
24742    field public static final int DEREGISTERING_REASON_FEATURE_TAGS_CHANGING = 5; // 0x5
24743    field public static final int DEREGISTERING_REASON_LOSING_PDN = 7; // 0x7
24744    field public static final int DEREGISTERING_REASON_PDN_CHANGE = 3; // 0x3
24745    field public static final int DEREGISTERING_REASON_PROVISIONING_CHANGE = 4; // 0x4
24746    field public static final int DEREGISTERING_REASON_UNSPECIFIED = 8; // 0x8
24747  }
24748
24749  public static final class DelegateRegistrationState.Builder {
24750    ctor public DelegateRegistrationState.Builder();
24751    method @NonNull public android.telephony.ims.DelegateRegistrationState.Builder addDeregisteredFeatureTag(@NonNull String, int);
24752    method @NonNull public android.telephony.ims.DelegateRegistrationState.Builder addDeregisteringFeatureTag(@NonNull String, int);
24753    method @NonNull public android.telephony.ims.DelegateRegistrationState.Builder addRegisteredFeatureTag(@NonNull String);
24754    method @NonNull public android.telephony.ims.DelegateRegistrationState.Builder addRegisteredFeatureTags(@NonNull java.util.Set<java.lang.String>);
24755    method @NonNull public android.telephony.ims.DelegateRegistrationState.Builder addRegisteringFeatureTags(@NonNull java.util.Set<java.lang.String>);
24756    method @NonNull public android.telephony.ims.DelegateRegistrationState build();
24757  }
24758
24759  public final class DelegateRequest implements android.os.Parcelable {
24760    ctor public DelegateRequest(@NonNull java.util.Set<java.lang.String>);
24761    method public int describeContents();
24762    method @NonNull public java.util.Set<java.lang.String> getFeatureTags();
24763    method public void writeToParcel(@NonNull android.os.Parcel, int);
24764    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.DelegateRequest> CREATOR;
24765  }
24766
24767  public interface DelegateStateCallback {
24768    method public void onConfigurationChanged(@NonNull android.telephony.ims.SipDelegateConfiguration);
24769    method public void onCreated(@NonNull android.telephony.ims.stub.SipDelegate, @Nullable java.util.Set<android.telephony.ims.FeatureTagState>);
24770    method public void onDestroyed(int);
24771    method public void onFeatureTagRegistrationChanged(@NonNull android.telephony.ims.DelegateRegistrationState);
24772  }
24773
24774  public final class FeatureTagState implements android.os.Parcelable {
24775    ctor public FeatureTagState(@NonNull String, int);
24776    method public int describeContents();
24777    method @NonNull public String getFeatureTag();
24778    method public int getState();
24779    method public void writeToParcel(@NonNull android.os.Parcel, int);
24780    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.FeatureTagState> CREATOR;
24781  }
24782
24783  public final class ImsCallForwardInfo implements android.os.Parcelable {
24784    ctor public ImsCallForwardInfo(int, int, int, int, @NonNull String, int);
24785    method public int describeContents();
24786    method public int getCondition();
24787    method public String getNumber();
24788    method public int getServiceClass();
24789    method public int getStatus();
24790    method public int getTimeSeconds();
24791    method public int getToA();
24792    method public void writeToParcel(android.os.Parcel, int);
24793    field public static final int CDIV_CF_REASON_ALL = 4; // 0x4
24794    field public static final int CDIV_CF_REASON_ALL_CONDITIONAL = 5; // 0x5
24795    field public static final int CDIV_CF_REASON_BUSY = 1; // 0x1
24796    field public static final int CDIV_CF_REASON_NOT_LOGGED_IN = 6; // 0x6
24797    field public static final int CDIV_CF_REASON_NOT_REACHABLE = 3; // 0x3
24798    field public static final int CDIV_CF_REASON_NO_REPLY = 2; // 0x2
24799    field public static final int CDIV_CF_REASON_UNCONDITIONAL = 0; // 0x0
24800    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsCallForwardInfo> CREATOR;
24801    field public static final int STATUS_ACTIVE = 1; // 0x1
24802    field public static final int STATUS_NOT_ACTIVE = 0; // 0x0
24803    field public static final int TYPE_OF_ADDRESS_INTERNATIONAL = 145; // 0x91
24804    field public static final int TYPE_OF_ADDRESS_UNKNOWN = 129; // 0x81
24805  }
24806
24807  public final class ImsCallProfile implements android.os.Parcelable {
24808    ctor public ImsCallProfile();
24809    ctor public ImsCallProfile(int, int);
24810    ctor public ImsCallProfile(int, int, android.os.Bundle, android.telephony.ims.ImsStreamMediaProfile);
24811    method public int describeContents();
24812    method @NonNull public java.util.Set<android.telephony.ims.RtpHeaderExtensionType> getAcceptedRtpHeaderExtensionTypes();
24813    method public String getCallExtra(String);
24814    method public String getCallExtra(String, String);
24815    method public boolean getCallExtraBoolean(String);
24816    method public boolean getCallExtraBoolean(String, boolean);
24817    method public int getCallExtraInt(String);
24818    method public int getCallExtraInt(String, int);
24819    method @Nullable public <T extends android.os.Parcelable> T getCallExtraParcelable(@Nullable String);
24820    method public android.os.Bundle getCallExtras();
24821    method public int getCallType();
24822    method public static int getCallTypeFromVideoState(int);
24823    method public int getCallerNumberVerificationStatus();
24824    method public int getEmergencyCallRouting();
24825    method public int getEmergencyServiceCategories();
24826    method @NonNull public java.util.List<java.lang.String> getEmergencyUrns();
24827    method public android.telephony.ims.ImsStreamMediaProfile getMediaProfile();
24828    method @NonNull public android.os.Bundle getProprietaryCallExtras();
24829    method public int getRestrictCause();
24830    method public int getServiceType();
24831    method public static int getVideoStateFromCallType(int);
24832    method public static int getVideoStateFromImsCallProfile(android.telephony.ims.ImsCallProfile);
24833    method public boolean hasKnownUserIntentEmergency();
24834    method public boolean isEmergencyCallTesting();
24835    method public boolean isVideoCall();
24836    method public boolean isVideoPaused();
24837    method public static int presentationToOir(int);
24838    method public void setAcceptedRtpHeaderExtensionTypes(@NonNull java.util.Set<android.telephony.ims.RtpHeaderExtensionType>);
24839    method public void setCallExtra(String, String);
24840    method public void setCallExtraBoolean(String, boolean);
24841    method public void setCallExtraInt(String, int);
24842    method public void setCallExtraParcelable(@NonNull String, @NonNull android.os.Parcelable);
24843    method public void setCallRestrictCause(int);
24844    method public void setCallerNumberVerificationStatus(int);
24845    method public void setEmergencyCallRouting(int);
24846    method public void setEmergencyCallTesting(boolean);
24847    method public void setEmergencyServiceCategories(int);
24848    method public void setEmergencyUrns(@NonNull java.util.List<java.lang.String>);
24849    method public void setHasKnownUserIntentEmergency(boolean);
24850    method public void updateCallExtras(android.telephony.ims.ImsCallProfile);
24851    method public void updateCallType(android.telephony.ims.ImsCallProfile);
24852    method public void updateMediaProfile(android.telephony.ims.ImsCallProfile);
24853    method public void writeToParcel(android.os.Parcel, int);
24854    field public static final int CALL_RESTRICT_CAUSE_DISABLED = 2; // 0x2
24855    field public static final int CALL_RESTRICT_CAUSE_HD = 3; // 0x3
24856    field public static final int CALL_RESTRICT_CAUSE_NONE = 0; // 0x0
24857    field public static final int CALL_RESTRICT_CAUSE_RAT = 1; // 0x1
24858    field public static final int CALL_TYPE_NONE = 0; // 0x0
24859    field public static final int CALL_TYPE_VIDEO_N_VOICE = 3; // 0x3
24860    field public static final int CALL_TYPE_VOICE = 2; // 0x2
24861    field public static final int CALL_TYPE_VOICE_N_VIDEO = 1; // 0x1
24862    field public static final int CALL_TYPE_VS = 8; // 0x8
24863    field public static final int CALL_TYPE_VS_RX = 10; // 0xa
24864    field public static final int CALL_TYPE_VS_TX = 9; // 0x9
24865    field public static final int CALL_TYPE_VT = 4; // 0x4
24866    field public static final int CALL_TYPE_VT_NODIR = 7; // 0x7
24867    field public static final int CALL_TYPE_VT_RX = 6; // 0x6
24868    field public static final int CALL_TYPE_VT_TX = 5; // 0x5
24869    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsCallProfile> CREATOR;
24870    field public static final int DIALSTRING_NORMAL = 0; // 0x0
24871    field public static final int DIALSTRING_SS_CONF = 1; // 0x1
24872    field public static final int DIALSTRING_USSD = 2; // 0x2
24873    field public static final String EXTRA_ADDITIONAL_CALL_INFO = "AdditionalCallInfo";
24874    field public static final String EXTRA_ADDITIONAL_SIP_INVITE_FIELDS = "android.telephony.ims.extra.ADDITIONAL_SIP_INVITE_FIELDS";
24875    field public static final String EXTRA_ASSERTED_DISPLAY_NAME = "android.telephony.ims.extra.ASSERTED_DISPLAY_NAME";
24876    field public static final String EXTRA_CALL_DISCONNECT_CAUSE = "android.telephony.ims.extra.CALL_DISCONNECT_CAUSE";
24877    field public static final String EXTRA_CALL_NETWORK_TYPE = "android.telephony.ims.extra.CALL_NETWORK_TYPE";
24878    field @Deprecated public static final String EXTRA_CALL_RAT_TYPE = "CallRadioTech";
24879    field public static final String EXTRA_CALL_SUBJECT = "android.telephony.ims.extra.CALL_SUBJECT";
24880    field public static final String EXTRA_CHILD_NUMBER = "ChildNum";
24881    field public static final String EXTRA_CNA = "cna";
24882    field public static final String EXTRA_CNAP = "cnap";
24883    field public static final String EXTRA_CODEC = "Codec";
24884    field public static final String EXTRA_CONFERENCE = "android.telephony.ims.extra.CONFERENCE";
24885    field public static final String EXTRA_DIALSTRING = "dialstring";
24886    field public static final String EXTRA_DISPLAY_TEXT = "DisplayText";
24887    field public static final String EXTRA_EMERGENCY_CALL = "e_call";
24888    field public static final String EXTRA_EXTENDING_TO_CONFERENCE_SUPPORTED = "android.telephony.ims.extra.EXTENDING_TO_CONFERENCE_SUPPORTED";
24889    field public static final String EXTRA_FORWARDED_NUMBER = "android.telephony.ims.extra.FORWARDED_NUMBER";
24890    field public static final String EXTRA_IS_BUSINESS_CALL = "android.telephony.ims.extra.IS_BUSINESS_CALL";
24891    field public static final String EXTRA_IS_CALL_PULL = "CallPull";
24892    field public static final String EXTRA_IS_CROSS_SIM_CALL = "android.telephony.ims.extra.IS_CROSS_SIM_CALL";
24893    field public static final String EXTRA_LOCATION = "android.telephony.ims.extra.LOCATION";
24894    field public static final String EXTRA_OI = "oi";
24895    field public static final String EXTRA_OIR = "oir";
24896    field public static final String EXTRA_PICTURE_URL = "android.telephony.ims.extra.PICTURE_URL";
24897    field public static final String EXTRA_PRIORITY = "android.telephony.ims.extra.PRIORITY";
24898    field public static final String EXTRA_REMOTE_URI = "remote_uri";
24899    field public static final String EXTRA_USSD = "ussd";
24900    field public static final int OIR_DEFAULT = 0; // 0x0
24901    field public static final int OIR_PRESENTATION_NOT_RESTRICTED = 2; // 0x2
24902    field public static final int OIR_PRESENTATION_PAYPHONE = 4; // 0x4
24903    field public static final int OIR_PRESENTATION_RESTRICTED = 1; // 0x1
24904    field public static final int OIR_PRESENTATION_UNAVAILABLE = 5; // 0x5
24905    field public static final int OIR_PRESENTATION_UNKNOWN = 3; // 0x3
24906    field public static final int PRIORITY_NORMAL = 0; // 0x0
24907    field public static final int PRIORITY_URGENT = 1; // 0x1
24908    field public static final int SERVICE_TYPE_EMERGENCY = 2; // 0x2
24909    field public static final int SERVICE_TYPE_NONE = 0; // 0x0
24910    field public static final int SERVICE_TYPE_NORMAL = 1; // 0x1
24911    field public static final int VERIFICATION_STATUS_FAILED = 2; // 0x2
24912    field public static final int VERIFICATION_STATUS_NOT_VERIFIED = 0; // 0x0
24913    field public static final int VERIFICATION_STATUS_PASSED = 1; // 0x1
24914  }
24915
24916  public class ImsCallSessionListener {
24917    method public void callQualityChanged(@NonNull android.telephony.CallQuality);
24918    method public void callSessionConferenceExtendFailed(android.telephony.ims.ImsReasonInfo);
24919    method public void callSessionConferenceExtendReceived(android.telephony.ims.stub.ImsCallSessionImplBase, android.telephony.ims.ImsCallProfile);
24920    method public void callSessionConferenceExtended(android.telephony.ims.stub.ImsCallSessionImplBase, android.telephony.ims.ImsCallProfile);
24921    method public void callSessionConferenceStateUpdated(android.telephony.ims.ImsConferenceState);
24922    method public void callSessionDtmfReceived(char);
24923    method @Deprecated public void callSessionHandover(int, int, android.telephony.ims.ImsReasonInfo);
24924    method @Deprecated public void callSessionHandoverFailed(int, int, android.telephony.ims.ImsReasonInfo);
24925    method public void callSessionHeld(android.telephony.ims.ImsCallProfile);
24926    method public void callSessionHoldFailed(android.telephony.ims.ImsReasonInfo);
24927    method public void callSessionHoldReceived(android.telephony.ims.ImsCallProfile);
24928    method public void callSessionInitiated(android.telephony.ims.ImsCallProfile);
24929    method @Deprecated public void callSessionInitiatedFailed(android.telephony.ims.ImsReasonInfo);
24930    method public void callSessionInitiating(@NonNull android.telephony.ims.ImsCallProfile);
24931    method public void callSessionInitiatingFailed(@NonNull android.telephony.ims.ImsReasonInfo);
24932    method public void callSessionInviteParticipantsRequestDelivered();
24933    method public void callSessionInviteParticipantsRequestFailed(android.telephony.ims.ImsReasonInfo);
24934    method @Deprecated public void callSessionMayHandover(int, int);
24935    method public void callSessionMergeComplete(android.telephony.ims.stub.ImsCallSessionImplBase);
24936    method public void callSessionMergeFailed(android.telephony.ims.ImsReasonInfo);
24937    method public void callSessionMergeStarted(android.telephony.ims.stub.ImsCallSessionImplBase, android.telephony.ims.ImsCallProfile);
24938    method public void callSessionMultipartyStateChanged(boolean);
24939    method public void callSessionProgressing(android.telephony.ims.ImsStreamMediaProfile);
24940    method public void callSessionRemoveParticipantsRequestDelivered();
24941    method public void callSessionRemoveParticipantsRequestFailed(android.telephony.ims.ImsReasonInfo);
24942    method public void callSessionResumeFailed(android.telephony.ims.ImsReasonInfo);
24943    method public void callSessionResumeReceived(android.telephony.ims.ImsCallProfile);
24944    method public void callSessionResumed(android.telephony.ims.ImsCallProfile);
24945    method public void callSessionRtpHeaderExtensionsReceived(@NonNull java.util.Set<android.telephony.ims.RtpHeaderExtension>);
24946    method public void callSessionRttAudioIndicatorChanged(@NonNull android.telephony.ims.ImsStreamMediaProfile);
24947    method public void callSessionRttMessageReceived(String);
24948    method public void callSessionRttModifyRequestReceived(android.telephony.ims.ImsCallProfile);
24949    method public void callSessionRttModifyResponseReceived(int);
24950    method public final void callSessionSendAnbrQuery(int, int, @IntRange(from=0) int);
24951    method public void callSessionSuppServiceReceived(android.telephony.ims.ImsSuppServiceNotification);
24952    method public void callSessionTerminated(android.telephony.ims.ImsReasonInfo);
24953    method public void callSessionTransferFailed(@NonNull android.telephony.ims.ImsReasonInfo);
24954    method public void callSessionTransferred();
24955    method public void callSessionTtyModeReceived(int);
24956    method public void callSessionUpdateFailed(android.telephony.ims.ImsReasonInfo);
24957    method public void callSessionUpdateReceived(android.telephony.ims.ImsCallProfile);
24958    method public void callSessionUpdated(android.telephony.ims.ImsCallProfile);
24959    method public void callSessionUssdMessageReceived(int, String);
24960    method public void onHandover(int, int, @Nullable android.telephony.ims.ImsReasonInfo);
24961    method public void onHandoverFailed(int, int, @NonNull android.telephony.ims.ImsReasonInfo);
24962    method public void onMayHandover(int, int);
24963  }
24964
24965  public final class ImsConferenceState implements android.os.Parcelable {
24966    method public int describeContents();
24967    method public static int getConnectionStateForStatus(String);
24968    method public void writeToParcel(android.os.Parcel, int);
24969    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsConferenceState> CREATOR;
24970    field public static final String DISPLAY_TEXT = "display-text";
24971    field public static final String ENDPOINT = "endpoint";
24972    field public static final String SIP_STATUS_CODE = "sipstatuscode";
24973    field public static final String STATUS = "status";
24974    field public static final String STATUS_ALERTING = "alerting";
24975    field public static final String STATUS_CONNECTED = "connected";
24976    field public static final String STATUS_CONNECT_FAIL = "connect-fail";
24977    field public static final String STATUS_DIALING_IN = "dialing-in";
24978    field public static final String STATUS_DIALING_OUT = "dialing-out";
24979    field public static final String STATUS_DISCONNECTED = "disconnected";
24980    field public static final String STATUS_DISCONNECTING = "disconnecting";
24981    field public static final String STATUS_MUTED_VIA_FOCUS = "muted-via-focus";
24982    field public static final String STATUS_ON_HOLD = "on-hold";
24983    field public static final String STATUS_PENDING = "pending";
24984    field public static final String STATUS_SEND_ONLY = "sendonly";
24985    field public static final String STATUS_SEND_RECV = "sendrecv";
24986    field public static final String USER = "user";
24987    field public final java.util.HashMap<java.lang.String,android.os.Bundle> mParticipants;
24988  }
24989
24990  public final class ImsException extends java.lang.Exception {
24991    ctor public ImsException(@Nullable String);
24992    ctor public ImsException(@Nullable String, int);
24993    ctor public ImsException(@Nullable String, int, @Nullable Throwable);
24994  }
24995
24996  public final class ImsExternalCallState implements android.os.Parcelable {
24997    ctor public ImsExternalCallState(@NonNull String, @NonNull android.net.Uri, @Nullable android.net.Uri, boolean, int, int, boolean);
24998    method public int describeContents();
24999    method @NonNull public android.net.Uri getAddress();
25000    method public int getCallId();
25001    method public int getCallState();
25002    method public int getCallType();
25003    method @Nullable public android.net.Uri getLocalAddress();
25004    method public boolean isCallHeld();
25005    method public boolean isCallPullable();
25006    method public void writeToParcel(android.os.Parcel, int);
25007    field public static final int CALL_STATE_CONFIRMED = 1; // 0x1
25008    field public static final int CALL_STATE_TERMINATED = 2; // 0x2
25009    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsExternalCallState> CREATOR;
25010  }
25011
25012  public class ImsManager {
25013    method @NonNull public android.telephony.ims.SipDelegateManager getSipDelegateManager(int);
25014  }
25015
25016  public class ImsMmTelManager implements android.telephony.ims.RegistrationManager {
25017    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);
25018    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;
25019    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>);
25020    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getVoWiFiRoamingModeSetting();
25021    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isAvailable(int, int);
25022    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isCapable(int, int);
25023    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;
25024    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;
25025    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setAdvancedCallingSettingEnabled(boolean);
25026    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setCrossSimCallingEnabled(boolean) throws android.telephony.ims.ImsException;
25027    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setRttCapabilitySetting(boolean);
25028    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiModeSetting(int);
25029    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiNonPersistent(boolean, int);
25030    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiRoamingModeSetting(int);
25031    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiRoamingSettingEnabled(boolean);
25032    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVoWiFiSettingEnabled(boolean);
25033    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setVtSettingEnabled(boolean);
25034    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void unregisterImsRegistrationCallback(@NonNull android.telephony.ims.ImsMmTelManager.RegistrationCallback);
25035  }
25036
25037  @Deprecated public static class ImsMmTelManager.RegistrationCallback extends android.telephony.ims.RegistrationManager.RegistrationCallback {
25038    ctor @Deprecated public ImsMmTelManager.RegistrationCallback();
25039    method @Deprecated public void onRegistered(int);
25040    method @Deprecated public void onRegistering(int);
25041  }
25042
25043  public class ImsRcsManager {
25044    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;
25045    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isAvailable(int, int) throws android.telephony.ims.ImsException;
25046    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isCapable(int, int) throws android.telephony.ims.ImsException;
25047    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void removeOnAvailabilityChangedListener(@NonNull android.telephony.ims.ImsRcsManager.OnAvailabilityChangedListener);
25048  }
25049
25050  public static interface ImsRcsManager.OnAvailabilityChangedListener {
25051    method public void onAvailabilityChanged(int);
25052  }
25053
25054  public final class ImsReasonInfo implements android.os.Parcelable {
25055    field public static final String EXTRA_MSG_SERVICE_NOT_AUTHORIZED = "Forbidden. Not Authorized for Service";
25056  }
25057
25058  public final class ImsRegistrationAttributes implements android.os.Parcelable {
25059    method public int getRegistrationTechnology();
25060  }
25061
25062  public static final class ImsRegistrationAttributes.Builder {
25063    ctor public ImsRegistrationAttributes.Builder(int);
25064    method @NonNull public android.telephony.ims.ImsRegistrationAttributes build();
25065    method @NonNull public android.telephony.ims.ImsRegistrationAttributes.Builder setFeatureTags(@NonNull java.util.Set<java.lang.String>);
25066    method @NonNull public android.telephony.ims.ImsRegistrationAttributes.Builder setSipDetails(@NonNull android.telephony.ims.SipDetails);
25067  }
25068
25069  public class ImsService extends android.app.Service {
25070    ctor public ImsService();
25071    method @Nullable public android.telephony.ims.feature.MmTelFeature createEmergencyOnlyMmTelFeature(int);
25072    method @Deprecated public android.telephony.ims.feature.MmTelFeature createMmTelFeature(int);
25073    method @Nullable public android.telephony.ims.feature.MmTelFeature createMmTelFeatureForSubscription(int, int);
25074    method @Deprecated public android.telephony.ims.feature.RcsFeature createRcsFeature(int);
25075    method @Nullable public android.telephony.ims.feature.RcsFeature createRcsFeatureForSubscription(int, int);
25076    method @Deprecated public void disableIms(int);
25077    method public void disableImsForSubscription(int, int);
25078    method @Deprecated public void enableIms(int);
25079    method public void enableImsForSubscription(int, int);
25080    method @Deprecated public android.telephony.ims.stub.ImsConfigImplBase getConfig(int);
25081    method @NonNull public android.telephony.ims.stub.ImsConfigImplBase getConfigForSubscription(int, int);
25082    method @NonNull public java.util.concurrent.Executor getExecutor();
25083    method public long getImsServiceCapabilities();
25084    method @Deprecated public android.telephony.ims.stub.ImsRegistrationImplBase getRegistration(int);
25085    method @NonNull public android.telephony.ims.stub.ImsRegistrationImplBase getRegistrationForSubscription(int, int);
25086    method @Nullable public android.telephony.ims.stub.SipTransportImplBase getSipTransport(int);
25087    method public android.os.IBinder onBind(android.content.Intent);
25088    method public final void onUpdateSupportedImsFeatures(android.telephony.ims.stub.ImsFeatureConfiguration) throws android.os.RemoteException;
25089    method public android.telephony.ims.stub.ImsFeatureConfiguration querySupportedImsFeatures();
25090    method public void readyForFeatureCreation();
25091    field public static final long CAPABILITY_SIP_DELEGATE_CREATION = 2L; // 0x2L
25092    field public static final long CAPABILITY_TERMINAL_BASED_CALL_WAITING = 4L; // 0x4L
25093  }
25094
25095  public final class ImsSsData implements android.os.Parcelable {
25096    ctor public ImsSsData(int, int, int, int, int);
25097    method public int describeContents();
25098    method @Nullable public java.util.List<android.telephony.ims.ImsCallForwardInfo> getCallForwardInfo();
25099    method public int getRequestType();
25100    method public int getResult();
25101    method public int getServiceClass();
25102    method public int getServiceType();
25103    method @NonNull public java.util.List<android.telephony.ims.ImsSsInfo> getSuppServiceInfo();
25104    method public int getTeleserviceType();
25105    method public boolean isTypeBarring();
25106    method public boolean isTypeCf();
25107    method public boolean isTypeClip();
25108    method public boolean isTypeClir();
25109    method public boolean isTypeColp();
25110    method public boolean isTypeColr();
25111    method public boolean isTypeCw();
25112    method public boolean isTypeIcb();
25113    method public boolean isTypeInterrogation();
25114    method public boolean isTypeUnConditional();
25115    method public void writeToParcel(android.os.Parcel, int);
25116    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsSsData> CREATOR;
25117    field public static final int RESULT_SUCCESS = 0; // 0x0
25118    field public static final int SERVICE_CLASS_DATA = 2; // 0x2
25119    field public static final int SERVICE_CLASS_DATA_CIRCUIT_ASYNC = 32; // 0x20
25120    field public static final int SERVICE_CLASS_DATA_CIRCUIT_SYNC = 16; // 0x10
25121    field public static final int SERVICE_CLASS_DATA_PACKET_ACCESS = 64; // 0x40
25122    field public static final int SERVICE_CLASS_DATA_PAD = 128; // 0x80
25123    field public static final int SERVICE_CLASS_FAX = 4; // 0x4
25124    field public static final int SERVICE_CLASS_NONE = 0; // 0x0
25125    field public static final int SERVICE_CLASS_SMS = 8; // 0x8
25126    field public static final int SERVICE_CLASS_VOICE = 1; // 0x1
25127    field public static final int SS_ACTIVATION = 0; // 0x0
25128    field public static final int SS_ALL_BARRING = 18; // 0x12
25129    field public static final int SS_ALL_DATA_TELESERVICES = 3; // 0x3
25130    field public static final int SS_ALL_TELESERVICES_EXCEPT_SMS = 5; // 0x5
25131    field public static final int SS_ALL_TELESEVICES = 1; // 0x1
25132    field public static final int SS_ALL_TELE_AND_BEARER_SERVICES = 0; // 0x0
25133    field public static final int SS_BAIC = 16; // 0x10
25134    field public static final int SS_BAIC_ROAMING = 17; // 0x11
25135    field public static final int SS_BAOC = 13; // 0xd
25136    field public static final int SS_BAOIC = 14; // 0xe
25137    field public static final int SS_BAOIC_EXC_HOME = 15; // 0xf
25138    field public static final int SS_CFU = 0; // 0x0
25139    field public static final int SS_CFUT = 6; // 0x6
25140    field public static final int SS_CF_ALL = 4; // 0x4
25141    field public static final int SS_CF_ALL_CONDITIONAL = 5; // 0x5
25142    field public static final int SS_CF_BUSY = 1; // 0x1
25143    field public static final int SS_CF_NOT_REACHABLE = 3; // 0x3
25144    field public static final int SS_CF_NO_REPLY = 2; // 0x2
25145    field public static final int SS_CLIP = 7; // 0x7
25146    field public static final int SS_CLIR = 8; // 0x8
25147    field public static final int SS_CNAP = 11; // 0xb
25148    field public static final int SS_COLP = 9; // 0x9
25149    field public static final int SS_COLR = 10; // 0xa
25150    field public static final int SS_DEACTIVATION = 1; // 0x1
25151    field public static final int SS_ERASURE = 4; // 0x4
25152    field public static final int SS_INCOMING_BARRING = 20; // 0x14
25153    field public static final int SS_INCOMING_BARRING_ANONYMOUS = 22; // 0x16
25154    field public static final int SS_INCOMING_BARRING_DN = 21; // 0x15
25155    field public static final int SS_INTERROGATION = 2; // 0x2
25156    field public static final int SS_OUTGOING_BARRING = 19; // 0x13
25157    field public static final int SS_REGISTRATION = 3; // 0x3
25158    field public static final int SS_SMS_SERVICES = 4; // 0x4
25159    field public static final int SS_TELEPHONY = 2; // 0x2
25160    field public static final int SS_WAIT = 12; // 0xc
25161  }
25162
25163  public static final class ImsSsData.Builder {
25164    ctor public ImsSsData.Builder(int, int, int, int, int);
25165    method @NonNull public android.telephony.ims.ImsSsData build();
25166    method @NonNull public android.telephony.ims.ImsSsData.Builder setCallForwardingInfo(@NonNull java.util.List<android.telephony.ims.ImsCallForwardInfo>);
25167    method @NonNull public android.telephony.ims.ImsSsData.Builder setSuppServiceInfo(@NonNull java.util.List<android.telephony.ims.ImsSsInfo>);
25168  }
25169
25170  public final class ImsSsInfo implements android.os.Parcelable {
25171    ctor @Deprecated public ImsSsInfo(int, @Nullable String);
25172    method public int describeContents();
25173    method public int getClirInterrogationStatus();
25174    method public int getClirOutgoingState();
25175    method @Deprecated public String getIcbNum();
25176    method @Nullable public String getIncomingCommunicationBarringNumber();
25177    method public int getProvisionStatus();
25178    method public int getStatus();
25179    method public void writeToParcel(android.os.Parcel, int);
25180    field public static final int CLIR_OUTGOING_DEFAULT = 0; // 0x0
25181    field public static final int CLIR_OUTGOING_INVOCATION = 1; // 0x1
25182    field public static final int CLIR_OUTGOING_SUPPRESSION = 2; // 0x2
25183    field public static final int CLIR_STATUS_NOT_PROVISIONED = 0; // 0x0
25184    field public static final int CLIR_STATUS_PROVISIONED_PERMANENT = 1; // 0x1
25185    field public static final int CLIR_STATUS_TEMPORARILY_ALLOWED = 4; // 0x4
25186    field public static final int CLIR_STATUS_TEMPORARILY_RESTRICTED = 3; // 0x3
25187    field public static final int CLIR_STATUS_UNKNOWN = 2; // 0x2
25188    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsSsInfo> CREATOR;
25189    field public static final int DISABLED = 0; // 0x0
25190    field public static final int ENABLED = 1; // 0x1
25191    field public static final int NOT_REGISTERED = -1; // 0xffffffff
25192    field public static final int SERVICE_NOT_PROVISIONED = 0; // 0x0
25193    field public static final int SERVICE_PROVISIONED = 1; // 0x1
25194    field public static final int SERVICE_PROVISIONING_UNKNOWN = -1; // 0xffffffff
25195  }
25196
25197  public static final class ImsSsInfo.Builder {
25198    ctor public ImsSsInfo.Builder(int);
25199    method @NonNull public android.telephony.ims.ImsSsInfo build();
25200    method @NonNull public android.telephony.ims.ImsSsInfo.Builder setClirInterrogationStatus(int);
25201    method @NonNull public android.telephony.ims.ImsSsInfo.Builder setClirOutgoingState(int);
25202    method @NonNull public android.telephony.ims.ImsSsInfo.Builder setIncomingCommunicationBarringNumber(@NonNull String);
25203    method @NonNull public android.telephony.ims.ImsSsInfo.Builder setProvisionStatus(int);
25204  }
25205
25206  public final class ImsStreamMediaProfile implements android.os.Parcelable {
25207    ctor public ImsStreamMediaProfile(int, int, int, int, int);
25208    method public void copyFrom(android.telephony.ims.ImsStreamMediaProfile);
25209    method public int describeContents();
25210    method @Nullable public android.telephony.ims.AudioCodecAttributes getAudioCodecAttributes();
25211    method public int getAudioDirection();
25212    method public int getAudioQuality();
25213    method public int getRttMode();
25214    method public int getVideoDirection();
25215    method public int getVideoQuality();
25216    method public boolean isReceivingRttAudio();
25217    method public boolean isRttCall();
25218    method public void setAudioCodecAttributes(@NonNull android.telephony.ims.AudioCodecAttributes);
25219    method public void setReceivingRttAudio(boolean);
25220    method public void setRttMode(int);
25221    method public void writeToParcel(android.os.Parcel, int);
25222    field public static final int AUDIO_QUALITY_AMR = 1; // 0x1
25223    field public static final int AUDIO_QUALITY_AMR_WB = 2; // 0x2
25224    field public static final int AUDIO_QUALITY_EVRC = 4; // 0x4
25225    field public static final int AUDIO_QUALITY_EVRC_B = 5; // 0x5
25226    field public static final int AUDIO_QUALITY_EVRC_NW = 7; // 0x7
25227    field public static final int AUDIO_QUALITY_EVRC_WB = 6; // 0x6
25228    field public static final int AUDIO_QUALITY_EVS_FB = 20; // 0x14
25229    field public static final int AUDIO_QUALITY_EVS_NB = 17; // 0x11
25230    field public static final int AUDIO_QUALITY_EVS_SWB = 19; // 0x13
25231    field public static final int AUDIO_QUALITY_EVS_WB = 18; // 0x12
25232    field public static final int AUDIO_QUALITY_G711A = 13; // 0xd
25233    field public static final int AUDIO_QUALITY_G711AB = 15; // 0xf
25234    field public static final int AUDIO_QUALITY_G711U = 11; // 0xb
25235    field public static final int AUDIO_QUALITY_G722 = 14; // 0xe
25236    field public static final int AUDIO_QUALITY_G723 = 12; // 0xc
25237    field public static final int AUDIO_QUALITY_G729 = 16; // 0x10
25238    field public static final int AUDIO_QUALITY_GSM_EFR = 8; // 0x8
25239    field public static final int AUDIO_QUALITY_GSM_FR = 9; // 0x9
25240    field public static final int AUDIO_QUALITY_GSM_HR = 10; // 0xa
25241    field public static final int AUDIO_QUALITY_NONE = 0; // 0x0
25242    field public static final int AUDIO_QUALITY_QCELP13K = 3; // 0x3
25243    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsStreamMediaProfile> CREATOR;
25244    field public static final int DIRECTION_INACTIVE = 0; // 0x0
25245    field public static final int DIRECTION_INVALID = -1; // 0xffffffff
25246    field public static final int DIRECTION_RECEIVE = 1; // 0x1
25247    field public static final int DIRECTION_SEND = 2; // 0x2
25248    field public static final int DIRECTION_SEND_RECEIVE = 3; // 0x3
25249    field public static final int RTT_MODE_DISABLED = 0; // 0x0
25250    field public static final int RTT_MODE_FULL = 1; // 0x1
25251    field public static final int VIDEO_QUALITY_NONE = 0; // 0x0
25252    field public static final int VIDEO_QUALITY_QCIF = 1; // 0x1
25253    field public static final int VIDEO_QUALITY_QVGA_LANDSCAPE = 2; // 0x2
25254    field public static final int VIDEO_QUALITY_QVGA_PORTRAIT = 4; // 0x4
25255    field public static final int VIDEO_QUALITY_VGA_LANDSCAPE = 8; // 0x8
25256    field public static final int VIDEO_QUALITY_VGA_PORTRAIT = 16; // 0x10
25257  }
25258
25259  public final class ImsSuppServiceNotification implements android.os.Parcelable {
25260    ctor public ImsSuppServiceNotification(int, int, int, int, String, String[]);
25261    method public int describeContents();
25262    method public void writeToParcel(android.os.Parcel, int);
25263    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.ImsSuppServiceNotification> CREATOR;
25264    field public final int code;
25265    field public final String[] history;
25266    field public final int index;
25267    field public final int notificationType;
25268    field public final String number;
25269    field public final int type;
25270  }
25271
25272  public class ImsUtListener {
25273    method public void onLineIdentificationSupplementaryServiceResponse(int, @NonNull android.telephony.ims.ImsSsInfo);
25274    method public void onSupplementaryServiceIndication(android.telephony.ims.ImsSsData);
25275    method public void onUtConfigurationCallBarringQueried(int, android.telephony.ims.ImsSsInfo[]);
25276    method public void onUtConfigurationCallForwardQueried(int, android.telephony.ims.ImsCallForwardInfo[]);
25277    method public void onUtConfigurationCallWaitingQueried(int, android.telephony.ims.ImsSsInfo[]);
25278    method @Deprecated public void onUtConfigurationQueried(int, android.os.Bundle);
25279    method public void onUtConfigurationQueryFailed(int, android.telephony.ims.ImsReasonInfo);
25280    method public void onUtConfigurationUpdateFailed(int, android.telephony.ims.ImsReasonInfo);
25281    method public void onUtConfigurationUpdated(int);
25282    field @Deprecated public static final String BUNDLE_KEY_CLIR = "queryClir";
25283    field @Deprecated public static final String BUNDLE_KEY_SSINFO = "imsSsInfo";
25284  }
25285
25286  public abstract class ImsVideoCallProvider {
25287    ctor public ImsVideoCallProvider();
25288    method public void changeCallDataUsage(long);
25289    method public void changeCameraCapabilities(android.telecom.VideoProfile.CameraCapabilities);
25290    method public void changePeerDimensions(int, int);
25291    method public void changeVideoQuality(int);
25292    method public void handleCallSessionEvent(int);
25293    method public abstract void onRequestCallDataUsage();
25294    method public abstract void onRequestCameraCapabilities();
25295    method public abstract void onSendSessionModifyRequest(android.telecom.VideoProfile, android.telecom.VideoProfile);
25296    method public abstract void onSendSessionModifyResponse(android.telecom.VideoProfile);
25297    method public abstract void onSetCamera(String);
25298    method public void onSetCamera(String, int);
25299    method public abstract void onSetDeviceOrientation(int);
25300    method public abstract void onSetDisplaySurface(android.view.Surface);
25301    method public abstract void onSetPauseImage(android.net.Uri);
25302    method public abstract void onSetPreviewSurface(android.view.Surface);
25303    method public abstract void onSetZoom(float);
25304    method public void receiveSessionModifyRequest(android.telecom.VideoProfile);
25305    method public void receiveSessionModifyResponse(int, android.telecom.VideoProfile, android.telecom.VideoProfile);
25306  }
25307
25308  public final class MediaQualityStatus implements android.os.Parcelable {
25309    ctor public MediaQualityStatus(@NonNull String, int, int, @IntRange(from=0, to=100) int, @IntRange(from=0) int, @IntRange(from=0) long);
25310    method public int describeContents();
25311    method @NonNull public String getCallSessionId();
25312    method public int getMediaSessionType();
25313    method @IntRange(from=0) public long getRtpInactivityMillis();
25314    method @IntRange(from=0) public int getRtpJitterMillis();
25315    method @IntRange(from=0, to=100) public int getRtpPacketLossRate();
25316    method public int getTransportType();
25317    method public void writeToParcel(@NonNull android.os.Parcel, int);
25318    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.MediaQualityStatus> CREATOR;
25319    field public static final int MEDIA_SESSION_TYPE_AUDIO = 1; // 0x1
25320    field public static final int MEDIA_SESSION_TYPE_VIDEO = 2; // 0x2
25321  }
25322
25323  public final class MediaThreshold implements android.os.Parcelable {
25324    method public int describeContents();
25325    method @NonNull public long[] getThresholdsRtpInactivityTimeMillis();
25326    method @NonNull public int[] getThresholdsRtpJitterMillis();
25327    method @NonNull public int[] getThresholdsRtpPacketLossRate();
25328    method public void writeToParcel(@NonNull android.os.Parcel, int);
25329    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.MediaThreshold> CREATOR;
25330  }
25331
25332  public class ProvisioningManager {
25333    method @NonNull public static android.telephony.ims.ProvisioningManager createForSubscriptionId(int);
25334    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public int getProvisioningIntValue(int);
25335    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public String getProvisioningStringValue(int);
25336    method @Deprecated @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public boolean getRcsProvisioningStatusForCapability(int);
25337    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;
25338    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void notifyRcsAutoConfigurationReceived(@NonNull byte[], boolean);
25339    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;
25340    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;
25341    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public int setProvisioningIntValue(int, int);
25342    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public int setProvisioningStringValue(int, @NonNull String);
25343    method @RequiresPermission(android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION) public void setRcsClientConfiguration(@NonNull android.telephony.ims.RcsClientConfiguration) throws android.telephony.ims.ImsException;
25344    method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public void setRcsProvisioningStatusForCapability(int, boolean);
25345    method @RequiresPermission(android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION) public void triggerRcsReconfiguration();
25346    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void unregisterProvisioningChangedCallback(@NonNull android.telephony.ims.ProvisioningManager.Callback);
25347    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);
25348    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";
25349    field public static final String EXTRA_STATUS = "android.telephony.ims.extra.STATUS";
25350    field public static final String EXTRA_SUBSCRIPTION_ID = "android.telephony.ims.extra.SUBSCRIPTION_ID";
25351    field public static final int KEY_VOICE_OVER_WIFI_ENTITLEMENT_ID = 67; // 0x43
25352    field public static final int KEY_VOICE_OVER_WIFI_MODE_OVERRIDE = 27; // 0x1b
25353    field public static final int KEY_VOICE_OVER_WIFI_ROAMING_ENABLED_OVERRIDE = 26; // 0x1a
25354    field public static final int PROVISIONING_VALUE_DISABLED = 0; // 0x0
25355    field public static final int PROVISIONING_VALUE_ENABLED = 1; // 0x1
25356    field public static final int STATUS_CAPABLE = 0; // 0x0
25357    field public static final int STATUS_CARRIER_NOT_CAPABLE = 2; // 0x2
25358    field public static final int STATUS_DEVICE_NOT_CAPABLE = 1; // 0x1
25359    field public static final String STRING_QUERY_RESULT_ERROR_GENERIC = "STRING_QUERY_RESULT_ERROR_GENERIC";
25360    field public static final String STRING_QUERY_RESULT_ERROR_NOT_READY = "STRING_QUERY_RESULT_ERROR_NOT_READY";
25361  }
25362
25363  public static class ProvisioningManager.Callback {
25364    ctor public ProvisioningManager.Callback();
25365    method public void onProvisioningIntChanged(int, int);
25366    method public void onProvisioningStringChanged(int, @NonNull String);
25367  }
25368
25369  public static class ProvisioningManager.RcsProvisioningCallback {
25370    ctor public ProvisioningManager.RcsProvisioningCallback();
25371    method public void onAutoConfigurationErrorReceived(int, @NonNull String);
25372    method public void onConfigurationChanged(@NonNull byte[]);
25373    method public void onConfigurationReset();
25374    method public void onPreProvisioningReceived(@NonNull byte[]);
25375    method public void onRemoved();
25376  }
25377
25378  public final class PublishAttributes implements android.os.Parcelable {
25379    method public int describeContents();
25380    method @NonNull public java.util.List<android.telephony.ims.RcsContactPresenceTuple> getPresenceTuples();
25381    method public int getPublishState();
25382    method @Nullable public android.telephony.ims.SipDetails getSipDetails();
25383    method public void writeToParcel(@NonNull android.os.Parcel, int);
25384    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.PublishAttributes> CREATOR;
25385  }
25386
25387  public final class RcsClientConfiguration implements android.os.Parcelable {
25388    ctor @Deprecated public RcsClientConfiguration(@NonNull String, @NonNull String, @NonNull String, @NonNull String);
25389    ctor public RcsClientConfiguration(@NonNull String, @NonNull String, @NonNull String, @NonNull String, boolean);
25390    method public int describeContents();
25391    method @NonNull public String getClientVendor();
25392    method @NonNull public String getClientVersion();
25393    method @NonNull public String getRcsProfile();
25394    method @NonNull public String getRcsVersion();
25395    method public boolean isRcsEnabledByUser();
25396    method public void writeToParcel(@NonNull android.os.Parcel, int);
25397    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RcsClientConfiguration> CREATOR;
25398    field public static final String RCS_PROFILE_1_0 = "UP_1.0";
25399    field public static final String RCS_PROFILE_2_3 = "UP_2.3";
25400    field public static final String RCS_PROFILE_2_4 = "UP_2.4";
25401  }
25402
25403  public final class RcsContactPresenceTuple implements android.os.Parcelable {
25404    method public int describeContents();
25405    method @Nullable public android.net.Uri getContactUri();
25406    method @Nullable public android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities getServiceCapabilities();
25407    method @Nullable public String getServiceDescription();
25408    method @NonNull public String getServiceId();
25409    method @NonNull public String getServiceVersion();
25410    method @NonNull public String getStatus();
25411    method @Nullable public java.time.Instant getTime();
25412    method public void writeToParcel(@NonNull android.os.Parcel, int);
25413    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RcsContactPresenceTuple> CREATOR;
25414    field public static final String SERVICE_ID_CALL_COMPOSER = "org.3gpp.urn:urn-7:3gpp-service.ims.icsi.gsma.callcomposer";
25415    field public static final String SERVICE_ID_CHATBOT = "org.3gpp.urn:urn-7:3gpp-application.ims.iari.rcs.chatbot";
25416    field public static final String SERVICE_ID_CHATBOT_ROLE = "org.gsma.rcs.isbot";
25417    field public static final String SERVICE_ID_CHATBOT_STANDALONE = " org.3gpp.urn:urn-7:3gpp-application.ims.iari.rcs.chatbot.sa";
25418    field public static final String SERVICE_ID_CHAT_V1 = "org.openmobilealliance:IM-session";
25419    field public static final String SERVICE_ID_CHAT_V2 = "org.openmobilealliance:ChatSession";
25420    field public static final String SERVICE_ID_FT = "org.openmobilealliance:File-Transfer-HTTP";
25421    field public static final String SERVICE_ID_FT_OVER_SMS = "org.3gpp.urn:urn-7:3gpp-application.ims.iari.rcs.ftsms";
25422    field public static final String SERVICE_ID_GEO_PUSH = "org.3gpp.urn:urn-7:3gpp-application.ims.iari.rcs.geopush";
25423    field public static final String SERVICE_ID_GEO_PUSH_VIA_SMS = "org.3gpp.urn:urn-7:3gpp-application.ims.iari.rcs.geosms";
25424    field public static final String SERVICE_ID_MMTEL = "org.3gpp.urn:urn-7:3gpp-service.ims.icsi.mmtel";
25425    field public static final String SERVICE_ID_POST_CALL = "org.3gpp.urn:urn-7:3gpp-service.ims.icsi.gsma.callunanswered";
25426    field public static final String SERVICE_ID_SHARED_MAP = "org.3gpp.urn:urn-7:3gpp-service.ims.icsi.gsma.sharedmap";
25427    field public static final String SERVICE_ID_SHARED_SKETCH = "org.3gpp.urn:urn-7:3gpp-service.ims.icsi.gsma.sharedsketch";
25428    field public static final String SERVICE_ID_SLM = "org.openmobilealliance:StandaloneMsg";
25429    field public static final String TUPLE_BASIC_STATUS_CLOSED = "closed";
25430    field public static final String TUPLE_BASIC_STATUS_OPEN = "open";
25431  }
25432
25433  public static final class RcsContactPresenceTuple.Builder {
25434    ctor public RcsContactPresenceTuple.Builder(@NonNull String, @NonNull String, @NonNull String);
25435    method @NonNull public android.telephony.ims.RcsContactPresenceTuple build();
25436    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.Builder setContactUri(@NonNull android.net.Uri);
25437    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.Builder setServiceCapabilities(@NonNull android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities);
25438    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.Builder setServiceDescription(@NonNull String);
25439    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.Builder setTime(@NonNull java.time.Instant);
25440  }
25441
25442  public static final class RcsContactPresenceTuple.ServiceCapabilities implements android.os.Parcelable {
25443    method public int describeContents();
25444    method @NonNull public java.util.List<java.lang.String> getSupportedDuplexModes();
25445    method @NonNull public java.util.List<java.lang.String> getUnsupportedDuplexModes();
25446    method public boolean isAudioCapable();
25447    method public boolean isVideoCapable();
25448    method public void writeToParcel(@NonNull android.os.Parcel, int);
25449    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities> CREATOR;
25450    field public static final String DUPLEX_MODE_FULL = "full";
25451    field public static final String DUPLEX_MODE_HALF = "half";
25452    field public static final String DUPLEX_MODE_RECEIVE_ONLY = "receive-only";
25453    field public static final String DUPLEX_MODE_SEND_ONLY = "send-only";
25454  }
25455
25456  public static final class RcsContactPresenceTuple.ServiceCapabilities.Builder {
25457    ctor public RcsContactPresenceTuple.ServiceCapabilities.Builder(boolean, boolean);
25458    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities.Builder addSupportedDuplexMode(@NonNull String);
25459    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities.Builder addUnsupportedDuplexMode(@NonNull String);
25460    method @NonNull public android.telephony.ims.RcsContactPresenceTuple.ServiceCapabilities build();
25461  }
25462
25463  public final class RcsContactUceCapability implements android.os.Parcelable {
25464    method public int describeContents();
25465    method public int getCapabilityMechanism();
25466    method @Nullable public android.telephony.ims.RcsContactPresenceTuple getCapabilityTuple(@NonNull String);
25467    method @NonNull public java.util.List<android.telephony.ims.RcsContactPresenceTuple> getCapabilityTuples();
25468    method @NonNull public android.net.Uri getContactUri();
25469    method @Nullable public android.net.Uri getEntityUri();
25470    method @NonNull public java.util.Set<java.lang.String> getFeatureTags();
25471    method public int getRequestResult();
25472    method public int getSourceType();
25473    method public void writeToParcel(@NonNull android.os.Parcel, int);
25474    field public static final int CAPABILITY_MECHANISM_OPTIONS = 2; // 0x2
25475    field public static final int CAPABILITY_MECHANISM_PRESENCE = 1; // 0x1
25476    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RcsContactUceCapability> CREATOR;
25477    field public static final int REQUEST_RESULT_FOUND = 3; // 0x3
25478    field public static final int REQUEST_RESULT_NOT_FOUND = 2; // 0x2
25479    field public static final int REQUEST_RESULT_NOT_ONLINE = 1; // 0x1
25480    field public static final int REQUEST_RESULT_UNKNOWN = 0; // 0x0
25481    field public static final int SOURCE_TYPE_CACHED = 1; // 0x1
25482    field public static final int SOURCE_TYPE_NETWORK = 0; // 0x0
25483  }
25484
25485  public static final class RcsContactUceCapability.OptionsBuilder {
25486    ctor public RcsContactUceCapability.OptionsBuilder(@NonNull android.net.Uri);
25487    method @NonNull public android.telephony.ims.RcsContactUceCapability.OptionsBuilder addFeatureTag(@NonNull String);
25488    method @NonNull public android.telephony.ims.RcsContactUceCapability.OptionsBuilder addFeatureTags(@NonNull java.util.Set<java.lang.String>);
25489    method @NonNull public android.telephony.ims.RcsContactUceCapability build();
25490    method @NonNull public android.telephony.ims.RcsContactUceCapability.OptionsBuilder setRequestResult(int);
25491  }
25492
25493  public static final class RcsContactUceCapability.PresenceBuilder {
25494    ctor public RcsContactUceCapability.PresenceBuilder(@NonNull android.net.Uri, int, int);
25495    method @NonNull public android.telephony.ims.RcsContactUceCapability.PresenceBuilder addCapabilityTuple(@NonNull android.telephony.ims.RcsContactPresenceTuple);
25496    method @NonNull public android.telephony.ims.RcsContactUceCapability.PresenceBuilder addCapabilityTuples(@NonNull java.util.List<android.telephony.ims.RcsContactPresenceTuple>);
25497    method @NonNull public android.telephony.ims.RcsContactUceCapability build();
25498    method @NonNull public android.telephony.ims.RcsContactUceCapability.PresenceBuilder setEntityUri(@NonNull android.net.Uri);
25499  }
25500
25501  public class RcsUceAdapter {
25502    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;
25503    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getUcePublishState() throws android.telephony.ims.ImsException;
25504    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void removeOnPublishStateChangedListener(@NonNull android.telephony.ims.RcsUceAdapter.OnPublishStateChangedListener) throws android.telephony.ims.ImsException;
25505    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;
25506    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;
25507    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setUceSettingEnabled(boolean) throws android.telephony.ims.ImsException;
25508    field @Deprecated public static final int CAPABILITY_TYPE_PRESENCE_UCE = 2; // 0x2
25509    field public static final int CAPABILITY_UPDATE_TRIGGER_ETAG_EXPIRED = 1; // 0x1
25510    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_2G = 7; // 0x7
25511    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_3G = 6; // 0x6
25512    field @Deprecated public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_EHRPD = 4; // 0x4
25513    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_HSPAPLUS = 5; // 0x5
25514    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_INTERNET_PDN = 12; // 0xc
25515    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_IWLAN = 9; // 0x9
25516    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_LTE_VOPS_DISABLED = 2; // 0x2
25517    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_LTE_VOPS_ENABLED = 3; // 0x3
25518    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_NR5G_VOPS_DISABLED = 10; // 0xa
25519    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_NR5G_VOPS_ENABLED = 11; // 0xb
25520    field public static final int CAPABILITY_UPDATE_TRIGGER_MOVE_TO_WLAN = 8; // 0x8
25521    field public static final int CAPABILITY_UPDATE_TRIGGER_UNKNOWN = 0; // 0x0
25522    field public static final int ERROR_FORBIDDEN = 6; // 0x6
25523    field public static final int ERROR_GENERIC_FAILURE = 1; // 0x1
25524    field public static final int ERROR_INSUFFICIENT_MEMORY = 10; // 0xa
25525    field public static final int ERROR_LOST_NETWORK = 11; // 0xb
25526    field public static final int ERROR_NOT_AUTHORIZED = 5; // 0x5
25527    field public static final int ERROR_NOT_AVAILABLE = 3; // 0x3
25528    field public static final int ERROR_NOT_ENABLED = 2; // 0x2
25529    field public static final int ERROR_NOT_FOUND = 7; // 0x7
25530    field public static final int ERROR_NOT_REGISTERED = 4; // 0x4
25531    field public static final int ERROR_REQUEST_TIMEOUT = 9; // 0x9
25532    field public static final int ERROR_REQUEST_TOO_LARGE = 8; // 0x8
25533    field public static final int ERROR_SERVER_UNAVAILABLE = 12; // 0xc
25534    field public static final int PUBLISH_STATE_NOT_PUBLISHED = 2; // 0x2
25535    field public static final int PUBLISH_STATE_OK = 1; // 0x1
25536    field public static final int PUBLISH_STATE_OTHER_ERROR = 6; // 0x6
25537    field public static final int PUBLISH_STATE_PUBLISHING = 7; // 0x7
25538    field public static final int PUBLISH_STATE_RCS_PROVISION_ERROR = 4; // 0x4
25539    field public static final int PUBLISH_STATE_REQUEST_TIMEOUT = 5; // 0x5
25540    field public static final int PUBLISH_STATE_VOICE_PROVISION_ERROR = 3; // 0x3
25541  }
25542
25543  public static interface RcsUceAdapter.CapabilitiesCallback {
25544    method public void onCapabilitiesReceived(@NonNull java.util.List<android.telephony.ims.RcsContactUceCapability>);
25545    method public default void onComplete();
25546    method public default void onComplete(@Nullable android.telephony.ims.SipDetails);
25547    method public default void onError(int, long);
25548    method public default void onError(int, long, @Nullable android.telephony.ims.SipDetails);
25549  }
25550
25551  public static interface RcsUceAdapter.OnPublishStateChangedListener {
25552    method public default void onPublishStateChange(@NonNull android.telephony.ims.PublishAttributes);
25553    method @Deprecated public void onPublishStateChange(int);
25554  }
25555
25556  public interface RegistrationManager {
25557    field public static final int SUGGESTED_ACTION_NONE = 0; // 0x0
25558    field public static final int SUGGESTED_ACTION_TRIGGER_CLEAR_RAT_BLOCKS = 4; // 0x4
25559    field public static final int SUGGESTED_ACTION_TRIGGER_PLMN_BLOCK = 1; // 0x1
25560    field public static final int SUGGESTED_ACTION_TRIGGER_PLMN_BLOCK_WITH_TIMEOUT = 2; // 0x2
25561    field public static final int SUGGESTED_ACTION_TRIGGER_RAT_BLOCK = 3; // 0x3
25562  }
25563
25564  public static class RegistrationManager.RegistrationCallback {
25565    method public void onUnregistered(@NonNull android.telephony.ims.ImsReasonInfo, @NonNull android.telephony.ims.SipDetails);
25566  }
25567
25568  public final class RtpHeaderExtension implements android.os.Parcelable {
25569    ctor public RtpHeaderExtension(@IntRange(from=1, to=14) int, @NonNull byte[]);
25570    method public int describeContents();
25571    method @NonNull public byte[] getExtensionData();
25572    method @IntRange(from=1, to=14) public int getLocalIdentifier();
25573    method public void writeToParcel(@NonNull android.os.Parcel, int);
25574    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RtpHeaderExtension> CREATOR;
25575  }
25576
25577  public final class RtpHeaderExtensionType implements android.os.Parcelable {
25578    ctor public RtpHeaderExtensionType(@IntRange(from=1, to=14) int, @NonNull android.net.Uri);
25579    method public int describeContents();
25580    method @IntRange(from=1, to=14) public int getLocalIdentifier();
25581    method @NonNull public android.net.Uri getUri();
25582    method public void writeToParcel(@NonNull android.os.Parcel, int);
25583    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.RtpHeaderExtensionType> CREATOR;
25584  }
25585
25586  public final class SipDelegateConfiguration implements android.os.Parcelable {
25587    method public int describeContents();
25588    method @Nullable public String getHomeDomain();
25589    method @Nullable public String getImei();
25590    method @Nullable public android.telephony.ims.SipDelegateConfiguration.IpSecConfiguration getIpSecConfiguration();
25591    method @NonNull public java.net.InetSocketAddress getLocalAddress();
25592    method public int getMaxUdpPayloadSizeBytes();
25593    method @Nullable public java.net.InetSocketAddress getNatSocketAddress();
25594    method @Nullable public String getPrivateUserIdentifier();
25595    method @Nullable public android.net.Uri getPublicGruuUri();
25596    method @Nullable public String getPublicUserIdentifier();
25597    method @Nullable public String getSipAssociatedUriHeader();
25598    method @Nullable public String getSipAuthenticationHeader();
25599    method @Nullable public String getSipAuthenticationNonce();
25600    method @Nullable public String getSipCniHeader();
25601    method @Nullable public String getSipContactUserParameter();
25602    method @Nullable public String getSipPaniHeader();
25603    method @Nullable public String getSipPathHeader();
25604    method @Nullable public String getSipPlaniHeader();
25605    method @NonNull public java.net.InetSocketAddress getSipServerAddress();
25606    method @Nullable public String getSipServiceRouteHeader();
25607    method @Nullable public String getSipUserAgentHeader();
25608    method public int getTransportType();
25609    method @IntRange(from=0) public long getVersion();
25610    method public boolean isSipCompactFormEnabled();
25611    method public boolean isSipKeepaliveEnabled();
25612    method public void writeToParcel(@NonNull android.os.Parcel, int);
25613    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.SipDelegateConfiguration> CREATOR;
25614    field public static final int SIP_TRANSPORT_TCP = 1; // 0x1
25615    field public static final int SIP_TRANSPORT_UDP = 0; // 0x0
25616    field public static final int UDP_PAYLOAD_SIZE_UNDEFINED = -1; // 0xffffffff
25617  }
25618
25619  public static final class SipDelegateConfiguration.Builder {
25620    ctor public SipDelegateConfiguration.Builder(@NonNull android.telephony.ims.SipDelegateConfiguration);
25621    ctor public SipDelegateConfiguration.Builder(@IntRange(from=0) long, int, @NonNull java.net.InetSocketAddress, @NonNull java.net.InetSocketAddress);
25622    method @NonNull public android.telephony.ims.SipDelegateConfiguration build();
25623    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setHomeDomain(@Nullable String);
25624    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setImei(@Nullable String);
25625    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setIpSecConfiguration(@Nullable android.telephony.ims.SipDelegateConfiguration.IpSecConfiguration);
25626    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setMaxUdpPayloadSizeBytes(@IntRange(from=1) int);
25627    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setNatSocketAddress(@Nullable java.net.InetSocketAddress);
25628    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setPrivateUserIdentifier(@Nullable String);
25629    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setPublicGruuUri(@Nullable android.net.Uri);
25630    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setPublicUserIdentifier(@Nullable String);
25631    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipAssociatedUriHeader(@Nullable String);
25632    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipAuthenticationHeader(@Nullable String);
25633    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipAuthenticationNonce(@Nullable String);
25634    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipCniHeader(@Nullable String);
25635    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipCompactFormEnabled(boolean);
25636    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipContactUserParameter(@Nullable String);
25637    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipKeepaliveEnabled(boolean);
25638    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipPaniHeader(@Nullable String);
25639    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipPathHeader(@Nullable String);
25640    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipPlaniHeader(@Nullable String);
25641    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipServiceRouteHeader(@Nullable String);
25642    method @NonNull public android.telephony.ims.SipDelegateConfiguration.Builder setSipUserAgentHeader(@Nullable String);
25643  }
25644
25645  public static final class SipDelegateConfiguration.IpSecConfiguration {
25646    ctor public SipDelegateConfiguration.IpSecConfiguration(int, int, int, int, int, int, @NonNull String);
25647    method public int getLastLocalTxPort();
25648    method public int getLastRemoteTxPort();
25649    method public int getLocalRxPort();
25650    method public int getLocalTxPort();
25651    method public int getRemoteRxPort();
25652    method public int getRemoteTxPort();
25653    method @NonNull public String getSipSecurityVerifyHeader();
25654  }
25655
25656  public interface SipDelegateConnection {
25657    method public void cleanupSession(@NonNull String);
25658    method public void notifyMessageReceiveError(@NonNull String, int);
25659    method public void notifyMessageReceived(@NonNull String);
25660    method public void sendMessage(@NonNull android.telephony.ims.SipMessage, long);
25661  }
25662
25663  public class SipDelegateManager {
25664    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;
25665    method @RequiresPermission(android.Manifest.permission.PERFORM_IMS_SINGLE_REGISTRATION) public void destroySipDelegate(@NonNull android.telephony.ims.SipDelegateConnection, int);
25666    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;
25667    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;
25668    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;
25669    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);
25670    method public void unregisterImsStateCallback(@NonNull android.telephony.ims.ImsStateCallback);
25671    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void unregisterSipDialogStateCallback(@NonNull android.telephony.ims.SipDialogStateCallback) throws android.telephony.ims.ImsException;
25672    field public static final int DENIED_REASON_INVALID = 4; // 0x4
25673    field public static final int DENIED_REASON_IN_USE_BY_ANOTHER_DELEGATE = 1; // 0x1
25674    field public static final int DENIED_REASON_NOT_ALLOWED = 2; // 0x2
25675    field public static final int DENIED_REASON_SINGLE_REGISTRATION_NOT_ALLOWED = 3; // 0x3
25676    field public static final int DENIED_REASON_UNKNOWN = 0; // 0x0
25677    field public static final int MESSAGE_FAILURE_REASON_DELEGATE_CLOSED = 2; // 0x2
25678    field public static final int MESSAGE_FAILURE_REASON_DELEGATE_DEAD = 1; // 0x1
25679    field public static final int MESSAGE_FAILURE_REASON_INTERNAL_DELEGATE_STATE_TRANSITION = 11; // 0xb
25680    field public static final int MESSAGE_FAILURE_REASON_INVALID_BODY_CONTENT = 5; // 0x5
25681    field public static final int MESSAGE_FAILURE_REASON_INVALID_FEATURE_TAG = 6; // 0x6
25682    field public static final int MESSAGE_FAILURE_REASON_INVALID_HEADER_FIELDS = 4; // 0x4
25683    field public static final int MESSAGE_FAILURE_REASON_INVALID_START_LINE = 3; // 0x3
25684    field public static final int MESSAGE_FAILURE_REASON_NETWORK_NOT_AVAILABLE = 8; // 0x8
25685    field public static final int MESSAGE_FAILURE_REASON_NOT_REGISTERED = 9; // 0x9
25686    field public static final int MESSAGE_FAILURE_REASON_STALE_IMS_CONFIGURATION = 10; // 0xa
25687    field public static final int MESSAGE_FAILURE_REASON_TAG_NOT_ENABLED_FOR_DELEGATE = 7; // 0x7
25688    field public static final int MESSAGE_FAILURE_REASON_UNKNOWN = 0; // 0x0
25689    field public static final int SIP_DELEGATE_DESTROY_REASON_REQUESTED_BY_APP = 2; // 0x2
25690    field public static final int SIP_DELEGATE_DESTROY_REASON_SERVICE_DEAD = 1; // 0x1
25691    field public static final int SIP_DELEGATE_DESTROY_REASON_SUBSCRIPTION_TORN_DOWN = 4; // 0x4
25692    field public static final int SIP_DELEGATE_DESTROY_REASON_UNKNOWN = 0; // 0x0
25693    field public static final int SIP_DELEGATE_DESTROY_REASON_USER_DISABLED_RCS = 3; // 0x3
25694  }
25695
25696  public final class SipDialogState implements android.os.Parcelable {
25697    method public int describeContents();
25698    method public int getState();
25699    method public void writeToParcel(@NonNull android.os.Parcel, int);
25700    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.SipDialogState> CREATOR;
25701    field public static final int STATE_CLOSED = 2; // 0x2
25702    field public static final int STATE_CONFIRMED = 1; // 0x1
25703    field public static final int STATE_EARLY = 0; // 0x0
25704  }
25705
25706  public abstract class SipDialogStateCallback {
25707    ctor public SipDialogStateCallback();
25708    method public abstract void onActiveSipDialogsChanged(@NonNull java.util.List<android.telephony.ims.SipDialogState>);
25709    method public abstract void onError();
25710  }
25711
25712  public final class SipMessage implements android.os.Parcelable {
25713    ctor public SipMessage(@NonNull String, @NonNull String, @NonNull byte[]);
25714    method public int describeContents();
25715    method @Nullable public String getCallIdParameter();
25716    method @NonNull public byte[] getContent();
25717    method @NonNull public String getHeaderSection();
25718    method @NonNull public String getStartLine();
25719    method @NonNull public String getViaBranchParameter();
25720    method @NonNull public byte[] toEncodedMessage();
25721    method public void writeToParcel(@NonNull android.os.Parcel, int);
25722    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.SipMessage> CREATOR;
25723  }
25724
25725  public final class SrvccCall implements android.os.Parcelable {
25726    ctor public SrvccCall(@NonNull String, int, @NonNull android.telephony.ims.ImsCallProfile);
25727    method public int describeContents();
25728    method @NonNull public String getCallId();
25729    method @NonNull public android.telephony.ims.ImsCallProfile getImsCallProfile();
25730    method public int getPreciseCallState();
25731    method public void writeToParcel(@NonNull android.os.Parcel, int);
25732    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.SrvccCall> CREATOR;
25733  }
25734
25735}
25736
25737package android.telephony.ims.feature {
25738
25739  public final class CapabilityChangeRequest implements android.os.Parcelable {
25740    method public void addCapabilitiesToDisableForTech(int, int);
25741    method public void addCapabilitiesToEnableForTech(int, int);
25742    method public int describeContents();
25743    method public java.util.List<android.telephony.ims.feature.CapabilityChangeRequest.CapabilityPair> getCapabilitiesToDisable();
25744    method public java.util.List<android.telephony.ims.feature.CapabilityChangeRequest.CapabilityPair> getCapabilitiesToEnable();
25745    method public void writeToParcel(android.os.Parcel, int);
25746    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.feature.CapabilityChangeRequest> CREATOR;
25747  }
25748
25749  public static class CapabilityChangeRequest.CapabilityPair {
25750    ctor public CapabilityChangeRequest.CapabilityPair(int, int);
25751    method public int getCapability();
25752    method public int getRadioTech();
25753  }
25754
25755  public final class ConnectionFailureInfo implements android.os.Parcelable {
25756    method public int describeContents();
25757    method public int getCauseCode();
25758    method public int getReason();
25759    method public int getWaitTimeMillis();
25760    method public void writeToParcel(@NonNull android.os.Parcel, int);
25761    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.feature.ConnectionFailureInfo> CREATOR;
25762    field public static final int REASON_ACCESS_DENIED = 1; // 0x1
25763    field public static final int REASON_NAS_FAILURE = 2; // 0x2
25764    field public static final int REASON_NONE = 0; // 0x0
25765    field public static final int REASON_NO_SERVICE = 7; // 0x7
25766    field public static final int REASON_PDN_NOT_AVAILABLE = 8; // 0x8
25767    field public static final int REASON_RACH_FAILURE = 3; // 0x3
25768    field public static final int REASON_RF_BUSY = 9; // 0x9
25769    field public static final int REASON_RLC_FAILURE = 4; // 0x4
25770    field public static final int REASON_RRC_REJECT = 5; // 0x5
25771    field public static final int REASON_RRC_TIMEOUT = 6; // 0x6
25772    field public static final int REASON_UNSPECIFIED = 65535; // 0xffff
25773  }
25774
25775  public abstract class ImsFeature {
25776    ctor public ImsFeature();
25777    method public abstract void changeEnabledCapabilities(android.telephony.ims.feature.CapabilityChangeRequest, android.telephony.ims.feature.ImsFeature.CapabilityCallbackProxy);
25778    method public int getFeatureState();
25779    method public final int getSlotIndex();
25780    method public abstract void onFeatureReady();
25781    method public abstract void onFeatureRemoved();
25782    method public final void setFeatureState(int);
25783    field public static final int CAPABILITY_ERROR_GENERIC = -1; // 0xffffffff
25784    field public static final int CAPABILITY_SUCCESS = 0; // 0x0
25785    field public static final int FEATURE_EMERGENCY_MMTEL = 0; // 0x0
25786    field public static final int FEATURE_MMTEL = 1; // 0x1
25787    field public static final int FEATURE_RCS = 2; // 0x2
25788    field public static final int STATE_INITIALIZING = 1; // 0x1
25789    field public static final int STATE_READY = 2; // 0x2
25790    field public static final int STATE_UNAVAILABLE = 0; // 0x0
25791  }
25792
25793  @Deprecated public static class ImsFeature.Capabilities {
25794    field @Deprecated protected int mCapabilities;
25795  }
25796
25797  protected static class ImsFeature.CapabilityCallbackProxy {
25798    method public void onChangeCapabilityConfigurationError(int, int, int);
25799  }
25800
25801  public interface ImsTrafficSessionCallback {
25802    method public void onError(@NonNull android.telephony.ims.feature.ConnectionFailureInfo);
25803    method public void onReady();
25804  }
25805
25806  public class MmTelFeature extends android.telephony.ims.feature.ImsFeature {
25807    ctor public MmTelFeature();
25808    ctor public MmTelFeature(@NonNull java.util.concurrent.Executor);
25809    method public void changeEnabledCapabilities(@NonNull android.telephony.ims.feature.CapabilityChangeRequest, @NonNull android.telephony.ims.feature.ImsFeature.CapabilityCallbackProxy);
25810    method public void changeOfferedRtpHeaderExtensionTypes(@NonNull java.util.Set<android.telephony.ims.RtpHeaderExtensionType>);
25811    method public void clearMediaThreshold(int);
25812    method @Nullable public android.telephony.ims.ImsCallProfile createCallProfile(int, int);
25813    method @Nullable public android.telephony.ims.stub.ImsCallSessionImplBase createCallSession(@NonNull android.telephony.ims.ImsCallProfile);
25814    method @NonNull public android.telephony.ims.stub.ImsEcbmImplBase getEcbm();
25815    method @NonNull public android.telephony.ims.stub.ImsMultiEndpointImplBase getMultiEndpoint();
25816    method @NonNull public android.telephony.ims.stub.ImsSmsImplBase getSmsImplementation();
25817    method @NonNull public android.telephony.ims.stub.ImsUtImplBase getUt();
25818    method public final void modifyImsTrafficSession(int, @NonNull android.telephony.ims.feature.ImsTrafficSessionCallback);
25819    method public final void notifyCapabilitiesStatusChanged(@NonNull android.telephony.ims.feature.MmTelFeature.MmTelCapabilities);
25820    method @Deprecated public final void notifyIncomingCall(@NonNull android.telephony.ims.stub.ImsCallSessionImplBase, @NonNull android.os.Bundle);
25821    method @Nullable public final android.telephony.ims.ImsCallSessionListener notifyIncomingCall(@NonNull android.telephony.ims.stub.ImsCallSessionImplBase, @NonNull String, @NonNull android.os.Bundle);
25822    method public final void notifyMediaQualityStatusChanged(@NonNull android.telephony.ims.MediaQualityStatus);
25823    method public final void notifyRejectedCall(@NonNull android.telephony.ims.ImsCallProfile, @NonNull android.telephony.ims.ImsReasonInfo);
25824    method public void notifySrvccCanceled();
25825    method public void notifySrvccCompleted();
25826    method public void notifySrvccFailed();
25827    method public void notifySrvccStarted(@NonNull java.util.function.Consumer<java.util.List<android.telephony.ims.SrvccCall>>);
25828    method public final void notifyVoiceMessageCountUpdate(int);
25829    method public void onFeatureReady();
25830    method public void onFeatureRemoved();
25831    method public boolean queryCapabilityConfiguration(int, int);
25832    method @NonNull public final android.telephony.ims.feature.MmTelFeature.MmTelCapabilities queryCapabilityStatus();
25833    method @Nullable public android.telephony.ims.MediaQualityStatus queryMediaQualityStatus(int);
25834    method public final void setCallAudioHandler(int);
25835    method public void setMediaThreshold(int, @NonNull android.telephony.ims.MediaThreshold);
25836    method public void setTerminalBasedCallWaitingStatus(boolean);
25837    method public void setUiTtyMode(int, @Nullable android.os.Message);
25838    method public int shouldProcessCall(@NonNull String[]);
25839    method public final void startImsTrafficSession(int, int, int, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.feature.ImsTrafficSessionCallback);
25840    method public final void stopImsTrafficSession(@NonNull android.telephony.ims.feature.ImsTrafficSessionCallback);
25841    method public final void triggerEpsFallback(int);
25842    field public static final int AUDIO_HANDLER_ANDROID = 0; // 0x0
25843    field public static final int AUDIO_HANDLER_BASEBAND = 1; // 0x1
25844    field public static final int EPS_FALLBACK_REASON_NO_NETWORK_RESPONSE = 2; // 0x2
25845    field public static final int EPS_FALLBACK_REASON_NO_NETWORK_TRIGGER = 1; // 0x1
25846    field public static final String EXTRA_IS_UNKNOWN_CALL = "android.telephony.ims.feature.extra.IS_UNKNOWN_CALL";
25847    field public static final String EXTRA_IS_USSD = "android.telephony.ims.feature.extra.IS_USSD";
25848    field public static final int IMS_TRAFFIC_DIRECTION_INCOMING = 0; // 0x0
25849    field public static final int IMS_TRAFFIC_DIRECTION_OUTGOING = 1; // 0x1
25850    field public static final int IMS_TRAFFIC_TYPE_EMERGENCY = 0; // 0x0
25851    field public static final int IMS_TRAFFIC_TYPE_EMERGENCY_SMS = 1; // 0x1
25852    field public static final int IMS_TRAFFIC_TYPE_REGISTRATION = 5; // 0x5
25853    field public static final int IMS_TRAFFIC_TYPE_SMS = 4; // 0x4
25854    field public static final int IMS_TRAFFIC_TYPE_UT_XCAP = 6; // 0x6
25855    field public static final int IMS_TRAFFIC_TYPE_VIDEO = 3; // 0x3
25856    field public static final int IMS_TRAFFIC_TYPE_VOICE = 2; // 0x2
25857    field public static final int PROCESS_CALL_CSFB = 1; // 0x1
25858    field public static final int PROCESS_CALL_IMS = 0; // 0x0
25859  }
25860
25861  public static class MmTelFeature.MmTelCapabilities extends android.telephony.ims.feature.ImsFeature.Capabilities {
25862    ctor public MmTelFeature.MmTelCapabilities();
25863    ctor @Deprecated public MmTelFeature.MmTelCapabilities(android.telephony.ims.feature.ImsFeature.Capabilities);
25864    ctor public MmTelFeature.MmTelCapabilities(int);
25865    method public final void addCapabilities(int);
25866    method public final void removeCapabilities(int);
25867  }
25868
25869  public class RcsFeature extends android.telephony.ims.feature.ImsFeature {
25870    ctor public RcsFeature();
25871    ctor public RcsFeature(@NonNull java.util.concurrent.Executor);
25872    method public void changeEnabledCapabilities(@NonNull android.telephony.ims.feature.CapabilityChangeRequest, @NonNull android.telephony.ims.feature.ImsFeature.CapabilityCallbackProxy);
25873    method @NonNull public android.telephony.ims.stub.RcsCapabilityExchangeImplBase createCapabilityExchangeImpl(@NonNull android.telephony.ims.stub.CapabilityExchangeEventListener);
25874    method public void destroyCapabilityExchangeImpl(@NonNull android.telephony.ims.stub.RcsCapabilityExchangeImplBase);
25875    method public final void notifyCapabilitiesStatusChanged(@NonNull android.telephony.ims.feature.RcsFeature.RcsImsCapabilities);
25876    method public void onFeatureReady();
25877    method public void onFeatureRemoved();
25878    method public boolean queryCapabilityConfiguration(int, int);
25879    method @NonNull public final android.telephony.ims.feature.RcsFeature.RcsImsCapabilities queryCapabilityStatus();
25880  }
25881
25882  public static class RcsFeature.RcsImsCapabilities extends android.telephony.ims.feature.ImsFeature.Capabilities {
25883    ctor public RcsFeature.RcsImsCapabilities(int);
25884    method public void addCapabilities(int);
25885    method public boolean isCapable(int);
25886    method public void removeCapabilities(int);
25887    field public static final int CAPABILITY_TYPE_NONE = 0; // 0x0
25888    field public static final int CAPABILITY_TYPE_OPTIONS_UCE = 1; // 0x1
25889    field public static final int CAPABILITY_TYPE_PRESENCE_UCE = 2; // 0x2
25890  }
25891
25892}
25893
25894package android.telephony.ims.stub {
25895
25896  public interface CapabilityExchangeEventListener {
25897    method public default void onPublishUpdated(@NonNull android.telephony.ims.SipDetails) throws android.telephony.ims.ImsException;
25898    method @Deprecated public default void onPublishUpdated(int, @NonNull String, int, @NonNull String) throws android.telephony.ims.ImsException;
25899    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;
25900    method public void onRequestPublishCapabilities(int) throws android.telephony.ims.ImsException;
25901    method public void onUnpublish() throws android.telephony.ims.ImsException;
25902  }
25903
25904  public static interface CapabilityExchangeEventListener.OptionsRequestCallback {
25905    method public void onRespondToCapabilityRequest(@NonNull android.telephony.ims.RcsContactUceCapability, boolean);
25906    method public void onRespondToCapabilityRequestWithError(@IntRange(from=100, to=699) int, @NonNull String);
25907  }
25908
25909  public interface DelegateConnectionMessageCallback {
25910    method public void onMessageReceived(@NonNull android.telephony.ims.SipMessage);
25911    method public void onMessageSendFailure(@NonNull String, int);
25912    method public void onMessageSent(@NonNull String);
25913  }
25914
25915  public interface DelegateConnectionStateCallback {
25916    method public void onConfigurationChanged(@NonNull android.telephony.ims.SipDelegateConfiguration);
25917    method public void onCreated(@NonNull android.telephony.ims.SipDelegateConnection);
25918    method public void onDestroyed(int);
25919    method public void onFeatureTagStatusChanged(@NonNull android.telephony.ims.DelegateRegistrationState, @NonNull java.util.Set<android.telephony.ims.FeatureTagState>);
25920  }
25921
25922  public class ImsCallSessionImplBase implements java.lang.AutoCloseable {
25923    ctor public ImsCallSessionImplBase();
25924    method public void accept(int, android.telephony.ims.ImsStreamMediaProfile);
25925    method public void close();
25926    method public void deflect(String);
25927    method public void extendToConference(String[]);
25928    method public String getCallId();
25929    method public android.telephony.ims.ImsCallProfile getCallProfile();
25930    method public android.telephony.ims.ImsVideoCallProvider getImsVideoCallProvider();
25931    method public android.telephony.ims.ImsCallProfile getLocalCallProfile();
25932    method public String getProperty(String);
25933    method public android.telephony.ims.ImsCallProfile getRemoteCallProfile();
25934    method public int getState();
25935    method public void hold(android.telephony.ims.ImsStreamMediaProfile);
25936    method public void inviteParticipants(String[]);
25937    method public boolean isInCall();
25938    method public boolean isMultiparty();
25939    method public void merge();
25940    method public void reject(int);
25941    method public void removeParticipants(String[]);
25942    method public void resume(android.telephony.ims.ImsStreamMediaProfile);
25943    method public void sendDtmf(char, android.os.Message);
25944    method public void sendRtpHeaderExtensions(@NonNull java.util.Set<android.telephony.ims.RtpHeaderExtension>);
25945    method public void sendRttMessage(String);
25946    method public void sendRttModifyRequest(android.telephony.ims.ImsCallProfile);
25947    method public void sendRttModifyResponse(boolean);
25948    method public void sendUssd(String);
25949    method @Deprecated public void setListener(android.telephony.ims.ImsCallSessionListener);
25950    method public void setMute(boolean);
25951    method public void start(String, android.telephony.ims.ImsCallProfile);
25952    method public void startConference(String[], android.telephony.ims.ImsCallProfile);
25953    method public void startDtmf(char);
25954    method public void stopDtmf();
25955    method public void terminate(int);
25956    method public void update(int, android.telephony.ims.ImsStreamMediaProfile);
25957    field public static final int USSD_MODE_NOTIFY = 0; // 0x0
25958    field public static final int USSD_MODE_REQUEST = 1; // 0x1
25959  }
25960
25961  public static class ImsCallSessionImplBase.State {
25962    method public static String toString(int);
25963    field public static final int ESTABLISHED = 4; // 0x4
25964    field public static final int ESTABLISHING = 3; // 0x3
25965    field public static final int IDLE = 0; // 0x0
25966    field public static final int INITIATED = 1; // 0x1
25967    field public static final int INVALID = -1; // 0xffffffff
25968    field public static final int NEGOTIATING = 2; // 0x2
25969    field public static final int REESTABLISHING = 6; // 0x6
25970    field public static final int RENEGOTIATING = 5; // 0x5
25971    field public static final int TERMINATED = 8; // 0x8
25972    field public static final int TERMINATING = 7; // 0x7
25973  }
25974
25975  public class ImsConfigImplBase {
25976    ctor public ImsConfigImplBase();
25977    ctor public ImsConfigImplBase(@NonNull java.util.concurrent.Executor);
25978    method public int getConfigInt(int);
25979    method public String getConfigString(int);
25980    method public final void notifyAutoConfigurationErrorReceived(int, @NonNull String);
25981    method public final void notifyPreProvisioningReceived(@NonNull byte[]);
25982    method public final void notifyProvisionedValueChanged(int, int);
25983    method public final void notifyProvisionedValueChanged(int, String);
25984    method public void notifyRcsAutoConfigurationReceived(@NonNull byte[], boolean);
25985    method public void notifyRcsAutoConfigurationRemoved();
25986    method public int setConfig(int, int);
25987    method public int setConfig(int, String);
25988    method public void setRcsClientConfiguration(@NonNull android.telephony.ims.RcsClientConfiguration);
25989    method public void triggerAutoConfiguration();
25990    field public static final int CONFIG_RESULT_FAILED = 1; // 0x1
25991    field public static final int CONFIG_RESULT_SUCCESS = 0; // 0x0
25992    field public static final int CONFIG_RESULT_UNKNOWN = -1; // 0xffffffff
25993  }
25994
25995  public class ImsEcbmImplBase {
25996    ctor public ImsEcbmImplBase();
25997    method public final void enteredEcbm();
25998    method public void exitEmergencyCallbackMode();
25999    method public final void exitedEcbm();
26000  }
26001
26002  public final class ImsFeatureConfiguration implements android.os.Parcelable {
26003    method public int describeContents();
26004    method public java.util.Set<android.telephony.ims.stub.ImsFeatureConfiguration.FeatureSlotPair> getServiceFeatures();
26005    method public void writeToParcel(android.os.Parcel, int);
26006    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.ims.stub.ImsFeatureConfiguration> CREATOR;
26007  }
26008
26009  public static class ImsFeatureConfiguration.Builder {
26010    ctor public ImsFeatureConfiguration.Builder();
26011    method public android.telephony.ims.stub.ImsFeatureConfiguration.Builder addFeature(int, int);
26012    method public android.telephony.ims.stub.ImsFeatureConfiguration build();
26013  }
26014
26015  public static final class ImsFeatureConfiguration.FeatureSlotPair {
26016    ctor public ImsFeatureConfiguration.FeatureSlotPair(int, int);
26017    field public final int featureType;
26018    field public final int slotId;
26019  }
26020
26021  public class ImsMultiEndpointImplBase {
26022    ctor public ImsMultiEndpointImplBase();
26023    method public final void onImsExternalCallStateUpdate(java.util.List<android.telephony.ims.ImsExternalCallState>);
26024    method public void requestImsExternalCallStateInfo();
26025  }
26026
26027  public class ImsRegistrationImplBase {
26028    ctor public ImsRegistrationImplBase();
26029    ctor public ImsRegistrationImplBase(@NonNull java.util.concurrent.Executor);
26030    method public final void onDeregistered(android.telephony.ims.ImsReasonInfo);
26031    method public final void onDeregistered(@Nullable android.telephony.ims.ImsReasonInfo, @NonNull android.telephony.ims.SipDetails);
26032    method public final void onDeregistered(@Nullable android.telephony.ims.ImsReasonInfo, int, int);
26033    method public final void onDeregistered(@Nullable android.telephony.ims.ImsReasonInfo, int, int, @NonNull android.telephony.ims.SipDetails);
26034    method public final void onRegistered(@NonNull android.telephony.ims.ImsRegistrationAttributes);
26035    method public final void onRegistered(int);
26036    method public final void onRegistering(@NonNull android.telephony.ims.ImsRegistrationAttributes);
26037    method public final void onRegistering(int);
26038    method public final void onSubscriberAssociatedUriChanged(android.net.Uri[]);
26039    method public final void onTechnologyChangeFailed(int, android.telephony.ims.ImsReasonInfo);
26040    method public void triggerFullNetworkRegistration(@IntRange(from=100, to=699) int, @Nullable String);
26041    method public void triggerSipDelegateDeregistration();
26042    method public void updateSipDelegateRegistration();
26043  }
26044
26045  public class ImsSmsImplBase {
26046    ctor public ImsSmsImplBase();
26047    ctor public ImsSmsImplBase(@NonNull java.util.concurrent.Executor);
26048    method public void acknowledgeSms(int, @IntRange(from=0, to=65535) int, int);
26049    method public void acknowledgeSms(int, @IntRange(from=0, to=65535) int, int, @NonNull byte[]);
26050    method public void acknowledgeSmsReport(int, @IntRange(from=0, to=65535) int, int);
26051    method public String getSmsFormat();
26052    method public void onReady();
26053    method @Deprecated public final void onSendSmsResult(int, @IntRange(from=0, to=65535) int, int, int) throws java.lang.RuntimeException;
26054    method public final void onSendSmsResultError(int, @IntRange(from=0, to=65535) int, int, int, int) throws java.lang.RuntimeException;
26055    method public final void onSendSmsResultSuccess(int, @IntRange(from=0, to=65535) int) throws java.lang.RuntimeException;
26056    method public final void onSmsReceived(int, String, byte[]) throws java.lang.RuntimeException;
26057    method @Deprecated public final void onSmsStatusReportReceived(int, @IntRange(from=0, to=65535) int, String, byte[]) throws java.lang.RuntimeException;
26058    method public final void onSmsStatusReportReceived(int, String, byte[]) throws java.lang.RuntimeException;
26059    method public void sendSms(int, @IntRange(from=0, to=65535) int, String, String, boolean, byte[]);
26060    field public static final int DELIVER_STATUS_ERROR_GENERIC = 2; // 0x2
26061    field public static final int DELIVER_STATUS_ERROR_NO_MEMORY = 3; // 0x3
26062    field public static final int DELIVER_STATUS_ERROR_REQUEST_NOT_SUPPORTED = 4; // 0x4
26063    field public static final int DELIVER_STATUS_OK = 1; // 0x1
26064    field public static final int RESULT_NO_NETWORK_ERROR = -1; // 0xffffffff
26065    field public static final int SEND_STATUS_ERROR = 2; // 0x2
26066    field public static final int SEND_STATUS_ERROR_FALLBACK = 4; // 0x4
26067    field public static final int SEND_STATUS_ERROR_RETRY = 3; // 0x3
26068    field public static final int SEND_STATUS_OK = 1; // 0x1
26069    field public static final int STATUS_REPORT_STATUS_ERROR = 2; // 0x2
26070    field public static final int STATUS_REPORT_STATUS_OK = 1; // 0x1
26071  }
26072
26073  public class ImsUtImplBase {
26074    ctor public ImsUtImplBase();
26075    method public void close();
26076    method public int queryCallBarring(int);
26077    method public int queryCallBarringForServiceClass(int, int);
26078    method public int queryCallForward(int, String);
26079    method public int queryCallWaiting();
26080    method public int queryClip();
26081    method public int queryClir();
26082    method public int queryColp();
26083    method public int queryColr();
26084    method public void setListener(android.telephony.ims.ImsUtListener);
26085    method public int transact(android.os.Bundle);
26086    method public int updateCallBarring(int, int, String[]);
26087    method public int updateCallBarringForServiceClass(int, int, String[], int);
26088    method public int updateCallForward(int, int, String, int, int);
26089    method public int updateCallWaiting(boolean, int);
26090    method public int updateClip(boolean);
26091    method public int updateClir(int);
26092    method public int updateColp(boolean);
26093    method public int updateColr(int);
26094  }
26095
26096  public class RcsCapabilityExchangeImplBase {
26097    ctor public RcsCapabilityExchangeImplBase();
26098    method public void publishCapabilities(@NonNull String, @NonNull android.telephony.ims.stub.RcsCapabilityExchangeImplBase.PublishResponseCallback);
26099    method public void sendOptionsCapabilityRequest(@NonNull android.net.Uri, @NonNull java.util.Set<java.lang.String>, @NonNull android.telephony.ims.stub.RcsCapabilityExchangeImplBase.OptionsResponseCallback);
26100    method public void subscribeForCapabilities(@NonNull java.util.Collection<android.net.Uri>, @NonNull android.telephony.ims.stub.RcsCapabilityExchangeImplBase.SubscribeResponseCallback);
26101    field public static final int COMMAND_CODE_FETCH_ERROR = 3; // 0x3
26102    field public static final int COMMAND_CODE_GENERIC_FAILURE = 1; // 0x1
26103    field public static final int COMMAND_CODE_INSUFFICIENT_MEMORY = 5; // 0x5
26104    field public static final int COMMAND_CODE_INVALID_PARAM = 2; // 0x2
26105    field public static final int COMMAND_CODE_LOST_NETWORK_CONNECTION = 6; // 0x6
26106    field public static final int COMMAND_CODE_NOT_FOUND = 8; // 0x8
26107    field public static final int COMMAND_CODE_NOT_SUPPORTED = 7; // 0x7
26108    field public static final int COMMAND_CODE_NO_CHANGE = 10; // 0xa
26109    field public static final int COMMAND_CODE_REQUEST_TIMEOUT = 4; // 0x4
26110    field public static final int COMMAND_CODE_SERVICE_UNAVAILABLE = 9; // 0x9
26111    field public static final int COMMAND_CODE_SERVICE_UNKNOWN = 0; // 0x0
26112  }
26113
26114  public static interface RcsCapabilityExchangeImplBase.OptionsResponseCallback {
26115    method public void onCommandError(int) throws android.telephony.ims.ImsException;
26116    method public void onNetworkResponse(int, @NonNull String, @NonNull java.util.List<java.lang.String>) throws android.telephony.ims.ImsException;
26117  }
26118
26119  public static interface RcsCapabilityExchangeImplBase.PublishResponseCallback {
26120    method public void onCommandError(int) throws android.telephony.ims.ImsException;
26121    method public default void onNetworkResponse(@NonNull android.telephony.ims.SipDetails) throws android.telephony.ims.ImsException;
26122    method @Deprecated public void onNetworkResponse(@IntRange(from=100, to=699) int, @NonNull String) throws android.telephony.ims.ImsException;
26123    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;
26124  }
26125
26126  public static interface RcsCapabilityExchangeImplBase.SubscribeResponseCallback {
26127    method public void onCommandError(int) throws android.telephony.ims.ImsException;
26128    method public default void onNetworkResponse(@NonNull android.telephony.ims.SipDetails) throws android.telephony.ims.ImsException;
26129    method @Deprecated public void onNetworkResponse(@IntRange(from=100, to=699) int, @NonNull String) throws android.telephony.ims.ImsException;
26130    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;
26131    method public void onNotifyCapabilitiesUpdate(@NonNull java.util.List<java.lang.String>) throws android.telephony.ims.ImsException;
26132    method public void onResourceTerminated(@NonNull java.util.List<android.util.Pair<android.net.Uri,java.lang.String>>) throws android.telephony.ims.ImsException;
26133    method public void onTerminated(@NonNull String, long) throws android.telephony.ims.ImsException;
26134  }
26135
26136  public interface SipDelegate {
26137    method public void cleanupSession(@NonNull String);
26138    method public void notifyMessageReceiveError(@NonNull String, int);
26139    method public void notifyMessageReceived(@NonNull String);
26140    method public void sendMessage(@NonNull android.telephony.ims.SipMessage, long);
26141  }
26142
26143  public class SipTransportImplBase {
26144    ctor public SipTransportImplBase();
26145    ctor public SipTransportImplBase(@NonNull java.util.concurrent.Executor);
26146    method public void createSipDelegate(int, @NonNull android.telephony.ims.DelegateRequest, @NonNull android.telephony.ims.DelegateStateCallback, @NonNull android.telephony.ims.DelegateMessageCallback);
26147    method public void destroySipDelegate(@NonNull android.telephony.ims.stub.SipDelegate, int);
26148  }
26149
26150}
26151
26152package android.telephony.mbms {
26153
26154  public static class DownloadRequest.Builder {
26155    method public android.telephony.mbms.DownloadRequest.Builder setServiceId(String);
26156  }
26157
26158  public final class FileInfo implements android.os.Parcelable {
26159    ctor public FileInfo(android.net.Uri, String);
26160  }
26161
26162  public final class FileServiceInfo extends android.telephony.mbms.ServiceInfo implements android.os.Parcelable {
26163    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>);
26164  }
26165
26166  public class MbmsDownloadReceiver extends android.content.BroadcastReceiver {
26167    field public static final int RESULT_APP_NOTIFICATION_ERROR = 6; // 0x6
26168    field public static final int RESULT_BAD_TEMP_FILE_ROOT = 3; // 0x3
26169    field public static final int RESULT_DOWNLOAD_FINALIZATION_ERROR = 4; // 0x4
26170    field public static final int RESULT_INVALID_ACTION = 1; // 0x1
26171    field public static final int RESULT_MALFORMED_INTENT = 2; // 0x2
26172    field public static final int RESULT_OK = 0; // 0x0
26173    field public static final int RESULT_TEMP_FILE_GENERATION_ERROR = 5; // 0x5
26174  }
26175
26176  public final class StreamingServiceInfo extends android.telephony.mbms.ServiceInfo implements android.os.Parcelable {
26177    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);
26178  }
26179
26180  public final class UriPathPair implements android.os.Parcelable {
26181    method public int describeContents();
26182    method public android.net.Uri getContentUri();
26183    method public android.net.Uri getFilePathUri();
26184    method public void writeToParcel(android.os.Parcel, int);
26185    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.mbms.UriPathPair> CREATOR;
26186  }
26187
26188}
26189
26190package android.telephony.mbms.vendor {
26191
26192  public class MbmsDownloadServiceBase extends android.os.Binder implements android.os.IInterface {
26193    ctor public MbmsDownloadServiceBase();
26194    method public int addProgressListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadProgressListener) throws android.os.RemoteException;
26195    method public int addServiceAnnouncement(int, @NonNull byte[]);
26196    method public int addStatusListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadStatusListener) throws android.os.RemoteException;
26197    method public android.os.IBinder asBinder();
26198    method public int cancelDownload(android.telephony.mbms.DownloadRequest) throws android.os.RemoteException;
26199    method public void dispose(int) throws android.os.RemoteException;
26200    method public int download(android.telephony.mbms.DownloadRequest) throws android.os.RemoteException;
26201    method public int initialize(int, android.telephony.mbms.MbmsDownloadSessionCallback) throws android.os.RemoteException;
26202    method @NonNull public java.util.List<android.telephony.mbms.DownloadRequest> listPendingDownloads(int) throws android.os.RemoteException;
26203    method public void onAppCallbackDied(int, int);
26204    method public boolean onTransact(int, android.os.Parcel, android.os.Parcel, int) throws android.os.RemoteException;
26205    method public int removeProgressListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadProgressListener) throws android.os.RemoteException;
26206    method public int removeStatusListener(android.telephony.mbms.DownloadRequest, android.telephony.mbms.DownloadStatusListener) throws android.os.RemoteException;
26207    method public int requestDownloadState(android.telephony.mbms.DownloadRequest, android.telephony.mbms.FileInfo) throws android.os.RemoteException;
26208    method public int requestUpdateFileServices(int, java.util.List<java.lang.String>) throws android.os.RemoteException;
26209    method public int resetDownloadKnowledge(android.telephony.mbms.DownloadRequest) throws android.os.RemoteException;
26210    method public int setTempFileRootDirectory(int, String) throws android.os.RemoteException;
26211  }
26212
26213  public class MbmsGroupCallServiceBase extends android.app.Service {
26214    ctor public MbmsGroupCallServiceBase();
26215    method public void dispose(int) throws android.os.RemoteException;
26216    method public int initialize(@NonNull android.telephony.mbms.MbmsGroupCallSessionCallback, int) throws android.os.RemoteException;
26217    method public void onAppCallbackDied(int, int);
26218    method public android.os.IBinder onBind(android.content.Intent);
26219    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);
26220    method public void stopGroupCall(int, long);
26221    method public void updateGroupCall(int, long, @NonNull java.util.List<java.lang.Integer>, @NonNull java.util.List<java.lang.Integer>);
26222  }
26223
26224  public class MbmsStreamingServiceBase extends android.os.Binder implements android.os.IInterface {
26225    ctor public MbmsStreamingServiceBase();
26226    method public android.os.IBinder asBinder();
26227    method public void dispose(int) throws android.os.RemoteException;
26228    method @Nullable public android.net.Uri getPlaybackUri(int, String) throws android.os.RemoteException;
26229    method public int initialize(android.telephony.mbms.MbmsStreamingSessionCallback, int) throws android.os.RemoteException;
26230    method public void onAppCallbackDied(int, int);
26231    method public boolean onTransact(int, android.os.Parcel, android.os.Parcel, int) throws android.os.RemoteException;
26232    method public int requestUpdateStreamingServices(int, java.util.List<java.lang.String>) throws android.os.RemoteException;
26233    method public int startStreaming(int, String, android.telephony.mbms.StreamingServiceCallback) throws android.os.RemoteException;
26234    method public void stopStreaming(int, String) throws android.os.RemoteException;
26235  }
26236
26237  public class VendorUtils {
26238    ctor public VendorUtils();
26239    method public static android.content.ComponentName getAppReceiverFromPackageName(android.content.Context, String);
26240    field public static final String ACTION_CLEANUP = "android.telephony.mbms.action.CLEANUP";
26241    field public static final String ACTION_DOWNLOAD_RESULT_INTERNAL = "android.telephony.mbms.action.DOWNLOAD_RESULT_INTERNAL";
26242    field public static final String ACTION_FILE_DESCRIPTOR_REQUEST = "android.telephony.mbms.action.FILE_DESCRIPTOR_REQUEST";
26243    field public static final String EXTRA_FD_COUNT = "android.telephony.mbms.extra.FD_COUNT";
26244    field public static final String EXTRA_FINAL_URI = "android.telephony.mbms.extra.FINAL_URI";
26245    field public static final String EXTRA_FREE_URI_LIST = "android.telephony.mbms.extra.FREE_URI_LIST";
26246    field public static final String EXTRA_PAUSED_LIST = "android.telephony.mbms.extra.PAUSED_LIST";
26247    field public static final String EXTRA_PAUSED_URI_LIST = "android.telephony.mbms.extra.PAUSED_URI_LIST";
26248    field public static final String EXTRA_SERVICE_ID = "android.telephony.mbms.extra.SERVICE_ID";
26249    field public static final String EXTRA_TEMP_FILES_IN_USE = "android.telephony.mbms.extra.TEMP_FILES_IN_USE";
26250    field public static final String EXTRA_TEMP_FILE_ROOT = "android.telephony.mbms.extra.TEMP_FILE_ROOT";
26251    field public static final String EXTRA_TEMP_LIST = "android.telephony.mbms.extra.TEMP_LIST";
26252  }
26253
26254}
26255
26256package android.telephony.satellite {
26257
26258  public final class AntennaDirection implements android.os.Parcelable {
26259    method public int describeContents();
26260    method public float getX();
26261    method public float getY();
26262    method public float getZ();
26263    method public void writeToParcel(@NonNull android.os.Parcel, int);
26264    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.satellite.AntennaDirection> CREATOR;
26265  }
26266
26267  public final class AntennaPosition implements android.os.Parcelable {
26268    method public int describeContents();
26269    method @NonNull public android.telephony.satellite.AntennaDirection getAntennaDirection();
26270    method public int getSuggestedHoldPosition();
26271    method public void writeToParcel(@NonNull android.os.Parcel, int);
26272    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.satellite.AntennaPosition> CREATOR;
26273  }
26274
26275  public class EnableRequestAttributes {
26276    method public boolean isDemoMode();
26277    method public boolean isEmergencyMode();
26278    method public boolean isEnabled();
26279  }
26280
26281  public static final class EnableRequestAttributes.Builder {
26282    ctor public EnableRequestAttributes.Builder(boolean);
26283    method @NonNull public android.telephony.satellite.EnableRequestAttributes build();
26284    method @NonNull public android.telephony.satellite.EnableRequestAttributes.Builder setDemoMode(boolean);
26285    method @NonNull public android.telephony.satellite.EnableRequestAttributes.Builder setEmergencyMode(boolean);
26286  }
26287
26288  public final class NtnSignalStrength implements android.os.Parcelable {
26289    ctor public NtnSignalStrength(@Nullable android.telephony.satellite.NtnSignalStrength);
26290    method public int describeContents();
26291    method public int getLevel();
26292    method public void writeToParcel(@NonNull android.os.Parcel, int);
26293    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.satellite.NtnSignalStrength> CREATOR;
26294    field public static final int NTN_SIGNAL_STRENGTH_GOOD = 3; // 0x3
26295    field public static final int NTN_SIGNAL_STRENGTH_GREAT = 4; // 0x4
26296    field public static final int NTN_SIGNAL_STRENGTH_MODERATE = 2; // 0x2
26297    field public static final int NTN_SIGNAL_STRENGTH_NONE = 0; // 0x0
26298    field public static final int NTN_SIGNAL_STRENGTH_POOR = 1; // 0x1
26299  }
26300
26301  public interface NtnSignalStrengthCallback {
26302    method public void onNtnSignalStrengthChanged(@NonNull android.telephony.satellite.NtnSignalStrength);
26303  }
26304
26305  public final class PointingInfo implements android.os.Parcelable {
26306    method public int describeContents();
26307    method @FloatRange(from=0xffffff4c, to=180) public float getSatelliteAzimuthDegrees();
26308    method @FloatRange(from=0xffffffa6, to=90) public float getSatelliteElevationDegrees();
26309    method public void writeToParcel(@NonNull android.os.Parcel, int);
26310    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.satellite.PointingInfo> CREATOR;
26311  }
26312
26313  public final class SatelliteCapabilities implements android.os.Parcelable {
26314    method public int describeContents();
26315    method @NonNull public java.util.Map<java.lang.Integer,android.telephony.satellite.AntennaPosition> getAntennaPositionMap();
26316    method public int getMaxBytesPerOutgoingDatagram();
26317    method @NonNull public java.util.Set<java.lang.Integer> getSupportedRadioTechnologies();
26318    method public boolean isPointingRequired();
26319    method public void writeToParcel(@NonNull android.os.Parcel, int);
26320    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.satellite.SatelliteCapabilities> CREATOR;
26321  }
26322
26323  public interface SatelliteCapabilitiesCallback {
26324    method public void onSatelliteCapabilitiesChanged(@NonNull android.telephony.satellite.SatelliteCapabilities);
26325  }
26326
26327  public final class SatelliteDatagram implements android.os.Parcelable {
26328    method public int describeContents();
26329    method @NonNull public byte[] getSatelliteDatagram();
26330    method public void writeToParcel(@NonNull android.os.Parcel, int);
26331    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.satellite.SatelliteDatagram> CREATOR;
26332  }
26333
26334  public interface SatelliteDatagramCallback {
26335    method public void onSatelliteDatagramReceived(long, @NonNull android.telephony.satellite.SatelliteDatagram, int, @NonNull java.util.function.Consumer<java.lang.Void>);
26336  }
26337
26338  public final class SatelliteManager {
26339    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void addAttachRestrictionForCarrier(int, int, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
26340    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void deprovisionService(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
26341    method @NonNull @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public java.util.Set<java.lang.Integer> getAttachRestrictionReasonsForCarrier(int);
26342    method @NonNull @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public java.util.List<java.lang.String> getSatellitePlmnsForCarrier(int);
26343    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void pollPendingDatagrams(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
26344    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void provisionService(@NonNull String, @NonNull byte[], @Nullable android.os.CancellationSignal, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
26345    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public int registerForCapabilitiesChanged(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.satellite.SatelliteCapabilitiesCallback);
26346    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public int registerForIncomingDatagram(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.satellite.SatelliteDatagramCallback);
26347    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public int registerForModemStateChanged(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.satellite.SatelliteModemStateCallback);
26348    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void registerForNtnSignalStrengthChanged(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.satellite.NtnSignalStrengthCallback);
26349    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public int registerForProvisionStateChanged(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.satellite.SatelliteProvisionStateCallback);
26350    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void removeAttachRestrictionForCarrier(int, int, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
26351    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestAttachEnabledForCarrier(int, boolean, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
26352    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestCapabilities(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.telephony.satellite.SatelliteCapabilities,android.telephony.satellite.SatelliteManager.SatelliteException>);
26353    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestEnabled(@NonNull android.telephony.satellite.EnableRequestAttributes, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
26354    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestIsAttachEnabledForCarrier(int, @NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Boolean,android.telephony.satellite.SatelliteManager.SatelliteException>);
26355    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestIsCommunicationAllowedForCurrentLocation(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Boolean,android.telephony.satellite.SatelliteManager.SatelliteException>);
26356    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestIsDemoModeEnabled(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Boolean,android.telephony.satellite.SatelliteManager.SatelliteException>);
26357    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestIsEmergencyModeEnabled(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Boolean,android.telephony.satellite.SatelliteManager.SatelliteException>);
26358    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestIsEnabled(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Boolean,android.telephony.satellite.SatelliteManager.SatelliteException>);
26359    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestIsProvisioned(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Boolean,android.telephony.satellite.SatelliteManager.SatelliteException>);
26360    method public void requestIsSupported(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.lang.Boolean,android.telephony.satellite.SatelliteManager.SatelliteException>);
26361    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestNtnSignalStrength(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.telephony.satellite.NtnSignalStrength,android.telephony.satellite.SatelliteManager.SatelliteException>);
26362    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void requestTimeForNextSatelliteVisibility(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<java.time.Duration,android.telephony.satellite.SatelliteManager.SatelliteException>);
26363    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void sendDatagram(int, @NonNull android.telephony.satellite.SatelliteDatagram, boolean, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
26364    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void setDeviceAlignedWithSatellite(boolean);
26365    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void startTransmissionUpdates(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>, @NonNull android.telephony.satellite.SatelliteTransmissionUpdateCallback);
26366    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void stopTransmissionUpdates(@NonNull android.telephony.satellite.SatelliteTransmissionUpdateCallback, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Integer>);
26367    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void unregisterForCapabilitiesChanged(@NonNull android.telephony.satellite.SatelliteCapabilitiesCallback);
26368    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void unregisterForIncomingDatagram(@NonNull android.telephony.satellite.SatelliteDatagramCallback);
26369    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void unregisterForModemStateChanged(@NonNull android.telephony.satellite.SatelliteModemStateCallback);
26370    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void unregisterForNtnSignalStrengthChanged(@NonNull android.telephony.satellite.NtnSignalStrengthCallback);
26371    method @RequiresPermission(android.Manifest.permission.SATELLITE_COMMUNICATION) public void unregisterForProvisionStateChanged(@NonNull android.telephony.satellite.SatelliteProvisionStateCallback);
26372    field public static final int DATAGRAM_TYPE_LOCATION_SHARING = 2; // 0x2
26373    field public static final int DATAGRAM_TYPE_SOS_MESSAGE = 1; // 0x1
26374    field public static final int DATAGRAM_TYPE_UNKNOWN = 0; // 0x0
26375    field public static final int DEVICE_HOLD_POSITION_LANDSCAPE_LEFT = 2; // 0x2
26376    field public static final int DEVICE_HOLD_POSITION_LANDSCAPE_RIGHT = 3; // 0x3
26377    field public static final int DEVICE_HOLD_POSITION_PORTRAIT = 1; // 0x1
26378    field public static final int DEVICE_HOLD_POSITION_UNKNOWN = 0; // 0x0
26379    field public static final int DISPLAY_MODE_CLOSED = 3; // 0x3
26380    field public static final int DISPLAY_MODE_FIXED = 1; // 0x1
26381    field public static final int DISPLAY_MODE_OPENED = 2; // 0x2
26382    field public static final int DISPLAY_MODE_UNKNOWN = 0; // 0x0
26383    field public static final int EMERGENCY_CALL_TO_SATELLITE_HANDOVER_TYPE_SOS = 1; // 0x1
26384    field public static final int EMERGENCY_CALL_TO_SATELLITE_HANDOVER_TYPE_T911 = 2; // 0x2
26385    field public static final int NT_RADIO_TECHNOLOGY_EMTC_NTN = 3; // 0x3
26386    field public static final int NT_RADIO_TECHNOLOGY_NB_IOT_NTN = 1; // 0x1
26387    field public static final int NT_RADIO_TECHNOLOGY_NR_NTN = 2; // 0x2
26388    field public static final int NT_RADIO_TECHNOLOGY_PROPRIETARY = 4; // 0x4
26389    field public static final int NT_RADIO_TECHNOLOGY_UNKNOWN = 0; // 0x0
26390    field public static final int SATELLITE_COMMUNICATION_RESTRICTION_REASON_ENTITLEMENT = 2; // 0x2
26391    field public static final int SATELLITE_COMMUNICATION_RESTRICTION_REASON_GEOLOCATION = 1; // 0x1
26392    field public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_IDLE = 0; // 0x0
26393    field public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVE_FAILED = 7; // 0x7
26394    field public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVE_NONE = 6; // 0x6
26395    field public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVE_SUCCESS = 5; // 0x5
26396    field public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_RECEIVING = 4; // 0x4
26397    field public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_SENDING = 1; // 0x1
26398    field public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_SEND_FAILED = 3; // 0x3
26399    field public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_SEND_SUCCESS = 2; // 0x2
26400    field public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_UNKNOWN = -1; // 0xffffffff
26401    field public static final int SATELLITE_DATAGRAM_TRANSFER_STATE_WAITING_TO_CONNECT = 8; // 0x8
26402    field public static final int SATELLITE_MODEM_STATE_CONNECTED = 7; // 0x7
26403    field public static final int SATELLITE_MODEM_STATE_DATAGRAM_RETRYING = 3; // 0x3
26404    field public static final int SATELLITE_MODEM_STATE_DATAGRAM_TRANSFERRING = 2; // 0x2
26405    field public static final int SATELLITE_MODEM_STATE_IDLE = 0; // 0x0
26406    field public static final int SATELLITE_MODEM_STATE_LISTENING = 1; // 0x1
26407    field public static final int SATELLITE_MODEM_STATE_NOT_CONNECTED = 6; // 0x6
26408    field public static final int SATELLITE_MODEM_STATE_OFF = 4; // 0x4
26409    field public static final int SATELLITE_MODEM_STATE_UNAVAILABLE = 5; // 0x5
26410    field public static final int SATELLITE_MODEM_STATE_UNKNOWN = -1; // 0xffffffff
26411    field public static final int SATELLITE_RESULT_ACCESS_BARRED = 16; // 0x10
26412    field public static final int SATELLITE_RESULT_ERROR = 1; // 0x1
26413    field public static final int SATELLITE_RESULT_ILLEGAL_STATE = 23; // 0x17
26414    field public static final int SATELLITE_RESULT_INVALID_ARGUMENTS = 8; // 0x8
26415    field public static final int SATELLITE_RESULT_INVALID_MODEM_STATE = 7; // 0x7
26416    field public static final int SATELLITE_RESULT_INVALID_TELEPHONY_STATE = 6; // 0x6
26417    field public static final int SATELLITE_RESULT_MODEM_BUSY = 22; // 0x16
26418    field public static final int SATELLITE_RESULT_MODEM_ERROR = 4; // 0x4
26419    field public static final int SATELLITE_RESULT_MODEM_TIMEOUT = 24; // 0x18
26420    field public static final int SATELLITE_RESULT_NETWORK_ERROR = 5; // 0x5
26421    field public static final int SATELLITE_RESULT_NETWORK_TIMEOUT = 17; // 0x11
26422    field public static final int SATELLITE_RESULT_NOT_AUTHORIZED = 19; // 0x13
26423    field public static final int SATELLITE_RESULT_NOT_REACHABLE = 18; // 0x12
26424    field public static final int SATELLITE_RESULT_NOT_SUPPORTED = 20; // 0x14
26425    field public static final int SATELLITE_RESULT_NO_RESOURCES = 12; // 0xc
26426    field public static final int SATELLITE_RESULT_RADIO_NOT_AVAILABLE = 10; // 0xa
26427    field public static final int SATELLITE_RESULT_REQUEST_ABORTED = 15; // 0xf
26428    field public static final int SATELLITE_RESULT_REQUEST_FAILED = 9; // 0x9
26429    field public static final int SATELLITE_RESULT_REQUEST_IN_PROGRESS = 21; // 0x15
26430    field public static final int SATELLITE_RESULT_REQUEST_NOT_SUPPORTED = 11; // 0xb
26431    field public static final int SATELLITE_RESULT_SERVER_ERROR = 2; // 0x2
26432    field public static final int SATELLITE_RESULT_SERVICE_ERROR = 3; // 0x3
26433    field public static final int SATELLITE_RESULT_SERVICE_NOT_PROVISIONED = 13; // 0xd
26434    field public static final int SATELLITE_RESULT_SERVICE_PROVISION_IN_PROGRESS = 14; // 0xe
26435    field public static final int SATELLITE_RESULT_SUCCESS = 0; // 0x0
26436  }
26437
26438  public static class SatelliteManager.SatelliteException extends java.lang.Exception {
26439    ctor public SatelliteManager.SatelliteException(int);
26440    method public int getErrorCode();
26441  }
26442
26443  public interface SatelliteModemStateCallback {
26444    method public void onSatelliteModemStateChanged(int);
26445  }
26446
26447  public interface SatelliteProvisionStateCallback {
26448    method public void onSatelliteProvisionStateChanged(boolean);
26449  }
26450
26451  public interface SatelliteTransmissionUpdateCallback {
26452    method public void onReceiveDatagramStateChanged(int, int, int);
26453    method public void onSatellitePositionChanged(@NonNull android.telephony.satellite.PointingInfo);
26454    method public void onSendDatagramStateChanged(int, int, int);
26455  }
26456
26457}
26458
26459package android.text {
26460
26461  public final class FontConfig implements android.os.Parcelable {
26462    method public int describeContents();
26463    method @NonNull public java.util.List<android.text.FontConfig.Alias> getAliases();
26464    method @IntRange(from=0) public int getConfigVersion();
26465    method @NonNull public java.util.List<android.text.FontConfig.FontFamily> getFontFamilies();
26466    method public long getLastModifiedTimeMillis();
26467    method @NonNull public java.util.List<android.text.FontConfig.NamedFamilyList> getNamedFamilyLists();
26468    method public void writeToParcel(@NonNull android.os.Parcel, int);
26469    field @NonNull public static final android.os.Parcelable.Creator<android.text.FontConfig> CREATOR;
26470  }
26471
26472  public static final class FontConfig.Alias implements android.os.Parcelable {
26473    method public int describeContents();
26474    method @NonNull public String getName();
26475    method @NonNull public String getOriginal();
26476    method @IntRange(from=0, to=1000) public int getWeight();
26477    method public void writeToParcel(@NonNull android.os.Parcel, int);
26478    field @NonNull public static final android.os.Parcelable.Creator<android.text.FontConfig.Alias> CREATOR;
26479  }
26480
26481  public static final class FontConfig.Font implements android.os.Parcelable {
26482    method public int describeContents();
26483    method @NonNull public java.io.File getFile();
26484    method @Nullable public String getFontFamilyName();
26485    method @NonNull public String getFontVariationSettings();
26486    method @NonNull public String getPostScriptName();
26487    method @NonNull public android.graphics.fonts.FontStyle getStyle();
26488    method public int getTtcIndex();
26489    method public void writeToParcel(@NonNull android.os.Parcel, int);
26490    field @NonNull public static final android.os.Parcelable.Creator<android.text.FontConfig.Font> CREATOR;
26491  }
26492
26493  public static final class FontConfig.FontFamily implements android.os.Parcelable {
26494    method public int describeContents();
26495    method @NonNull public java.util.List<android.text.FontConfig.Font> getFontList();
26496    method @NonNull public android.os.LocaleList getLocaleList();
26497    method @Deprecated @Nullable public String getName();
26498    method public int getVariant();
26499    method public void writeToParcel(@NonNull android.os.Parcel, int);
26500    field @NonNull public static final android.os.Parcelable.Creator<android.text.FontConfig.FontFamily> CREATOR;
26501    field public static final int VARIANT_COMPACT = 1; // 0x1
26502    field public static final int VARIANT_DEFAULT = 0; // 0x0
26503    field public static final int VARIANT_ELEGANT = 2; // 0x2
26504  }
26505
26506  public static final class FontConfig.NamedFamilyList implements android.os.Parcelable {
26507    method public int describeContents();
26508    method @NonNull public java.util.List<android.text.FontConfig.FontFamily> getFamilies();
26509    method @NonNull public String getName();
26510    method public void writeToParcel(@NonNull android.os.Parcel, int);
26511    field @NonNull public static final android.os.Parcelable.Creator<android.text.FontConfig.NamedFamilyList> CREATOR;
26512  }
26513
26514}
26515
26516package android.util {
26517
26518  public class EventLog {
26519    method public static void readEventsOnWrapping(int[], long, java.util.Collection<android.util.EventLog.Event>) throws java.io.IOException;
26520  }
26521
26522  public static final class EventLog.Event {
26523    method public int getUid();
26524  }
26525
26526  public final class StatsEvent {
26527    method @NonNull public static android.util.StatsEvent.Builder newBuilder();
26528  }
26529
26530  public static final class StatsEvent.Builder {
26531    method @NonNull public android.util.StatsEvent.Builder addBooleanAnnotation(byte, boolean);
26532    method @NonNull public android.util.StatsEvent.Builder addIntAnnotation(byte, int);
26533    method @NonNull public android.util.StatsEvent build();
26534    method @NonNull public android.util.StatsEvent.Builder setAtomId(int);
26535    method @NonNull public android.util.StatsEvent.Builder usePooledBuffer();
26536    method @NonNull public android.util.StatsEvent.Builder writeAttributionChain(@NonNull int[], @NonNull String[]);
26537    method @NonNull public android.util.StatsEvent.Builder writeBoolean(boolean);
26538    method @NonNull public android.util.StatsEvent.Builder writeBooleanArray(@NonNull boolean[]);
26539    method @NonNull public android.util.StatsEvent.Builder writeByteArray(@NonNull byte[]);
26540    method @NonNull public android.util.StatsEvent.Builder writeFloat(float);
26541    method @NonNull public android.util.StatsEvent.Builder writeFloatArray(@NonNull float[]);
26542    method @NonNull public android.util.StatsEvent.Builder writeInt(int);
26543    method @NonNull public android.util.StatsEvent.Builder writeIntArray(@NonNull int[]);
26544    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>);
26545    method @NonNull public android.util.StatsEvent.Builder writeLong(long);
26546    method @NonNull public android.util.StatsEvent.Builder writeLongArray(@NonNull long[]);
26547    method @NonNull public android.util.StatsEvent.Builder writeString(@NonNull String);
26548    method @NonNull public android.util.StatsEvent.Builder writeStringArray(@NonNull String[]);
26549  }
26550
26551  public final class StatsLog {
26552    method public static void write(@NonNull android.util.StatsEvent);
26553    method @Deprecated public static void writeRaw(@NonNull byte[], int);
26554    field public static final byte ANNOTATION_ID_DEFAULT_STATE = 6; // 0x6
26555    field public static final byte ANNOTATION_ID_EXCLUSIVE_STATE = 4; // 0x4
26556    field public static final byte ANNOTATION_ID_FIELD_RESTRICTION_ACCESSIBILITY = 14; // 0xe
26557    field public static final byte ANNOTATION_ID_FIELD_RESTRICTION_AMBIENT_SENSING = 17; // 0x11
26558    field public static final byte ANNOTATION_ID_FIELD_RESTRICTION_APP_ACTIVITY = 12; // 0xc
26559    field public static final byte ANNOTATION_ID_FIELD_RESTRICTION_APP_USAGE = 11; // 0xb
26560    field public static final byte ANNOTATION_ID_FIELD_RESTRICTION_DEMOGRAPHIC_CLASSIFICATION = 18; // 0x12
26561    field public static final byte ANNOTATION_ID_FIELD_RESTRICTION_HEALTH_CONNECT = 13; // 0xd
26562    field public static final byte ANNOTATION_ID_FIELD_RESTRICTION_PERIPHERAL_DEVICE_INFO = 10; // 0xa
26563    field public static final byte ANNOTATION_ID_FIELD_RESTRICTION_SYSTEM_SEARCH = 15; // 0xf
26564    field public static final byte ANNOTATION_ID_FIELD_RESTRICTION_USER_ENGAGEMENT = 16; // 0x10
26565    field public static final byte ANNOTATION_ID_IS_UID = 1; // 0x1
26566    field public static final byte ANNOTATION_ID_PRIMARY_FIELD = 3; // 0x3
26567    field public static final byte ANNOTATION_ID_PRIMARY_FIELD_FIRST_UID = 5; // 0x5
26568    field public static final byte ANNOTATION_ID_RESTRICTION_CATEGORY = 9; // 0x9
26569    field public static final byte ANNOTATION_ID_STATE_NESTED = 8; // 0x8
26570    field public static final byte ANNOTATION_ID_TRIGGER_STATE_RESET = 7; // 0x7
26571    field public static final byte ANNOTATION_ID_TRUNCATE_TIMESTAMP = 2; // 0x2
26572    field public static final int RESTRICTION_CATEGORY_AUTHENTICATION = 3; // 0x3
26573    field public static final int RESTRICTION_CATEGORY_DIAGNOSTIC = 1; // 0x1
26574    field public static final int RESTRICTION_CATEGORY_FRAUD_AND_ABUSE = 4; // 0x4
26575    field public static final int RESTRICTION_CATEGORY_SYSTEM_INTELLIGENCE = 2; // 0x2
26576  }
26577
26578}
26579
26580package android.uwb {
26581
26582  public final class AngleMeasurement implements android.os.Parcelable {
26583    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);
26584    method public int describeContents();
26585    method @FloatRange(from=0.0, to=1.0) public double getConfidenceLevel();
26586    method @FloatRange(from=0.0, to=3.141592653589793) public double getErrorRadians();
26587    method @FloatRange(from=-3.141592653589793, to=3.141592653589793) public double getRadians();
26588    method public void writeToParcel(@NonNull android.os.Parcel, int);
26589    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.AngleMeasurement> CREATOR;
26590  }
26591
26592  public final class AngleOfArrivalMeasurement implements android.os.Parcelable {
26593    method public int describeContents();
26594    method @Nullable public android.uwb.AngleMeasurement getAltitude();
26595    method @NonNull public android.uwb.AngleMeasurement getAzimuth();
26596    method public void writeToParcel(@NonNull android.os.Parcel, int);
26597    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.AngleOfArrivalMeasurement> CREATOR;
26598  }
26599
26600  public static final class AngleOfArrivalMeasurement.Builder {
26601    ctor public AngleOfArrivalMeasurement.Builder(@NonNull android.uwb.AngleMeasurement);
26602    method @NonNull public android.uwb.AngleOfArrivalMeasurement build();
26603    method @NonNull public android.uwb.AngleOfArrivalMeasurement.Builder setAltitude(@NonNull android.uwb.AngleMeasurement);
26604  }
26605
26606  public final class DistanceMeasurement implements android.os.Parcelable {
26607    method public int describeContents();
26608    method @FloatRange(from=0.0, to=1.0) public double getConfidenceLevel();
26609    method @FloatRange(from=0.0) public double getErrorMeters();
26610    method public double getMeters();
26611    method public void writeToParcel(@NonNull android.os.Parcel, int);
26612    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.DistanceMeasurement> CREATOR;
26613  }
26614
26615  public static final class DistanceMeasurement.Builder {
26616    ctor public DistanceMeasurement.Builder();
26617    method @NonNull public android.uwb.DistanceMeasurement build();
26618    method @NonNull public android.uwb.DistanceMeasurement.Builder setConfidenceLevel(@FloatRange(from=0.0, to=1.0) double);
26619    method @NonNull public android.uwb.DistanceMeasurement.Builder setErrorMeters(@FloatRange(from=0.0) double);
26620    method @NonNull public android.uwb.DistanceMeasurement.Builder setMeters(double);
26621  }
26622
26623  public final class RangingMeasurement implements android.os.Parcelable {
26624    method public int describeContents();
26625    method @Nullable public android.uwb.AngleOfArrivalMeasurement getAngleOfArrivalMeasurement();
26626    method @Nullable public android.uwb.AngleOfArrivalMeasurement getDestinationAngleOfArrivalMeasurement();
26627    method @Nullable public android.uwb.DistanceMeasurement getDistanceMeasurement();
26628    method public long getElapsedRealtimeNanos();
26629    method public int getLineOfSight();
26630    method public int getMeasurementFocus();
26631    method @NonNull public android.os.PersistableBundle getRangingMeasurementMetadata();
26632    method @NonNull public android.uwb.UwbAddress getRemoteDeviceAddress();
26633    method @IntRange(from=android.uwb.RangingMeasurement.RSSI_UNKNOWN, to=android.uwb.RangingMeasurement.RSSI_MAX) public int getRssiDbm();
26634    method public int getStatus();
26635    method public void writeToParcel(@NonNull android.os.Parcel, int);
26636    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.RangingMeasurement> CREATOR;
26637    field public static final int LOS = 0; // 0x0
26638    field public static final int LOS_UNDETERMINED = 255; // 0xff
26639    field public static final int MEASUREMENT_FOCUS_ANGLE_OF_ARRIVAL_AZIMUTH = 2; // 0x2
26640    field public static final int MEASUREMENT_FOCUS_ANGLE_OF_ARRIVAL_ELEVATION = 3; // 0x3
26641    field public static final int MEASUREMENT_FOCUS_NONE = 0; // 0x0
26642    field public static final int MEASUREMENT_FOCUS_RANGE = 1; // 0x1
26643    field public static final int NLOS = 1; // 0x1
26644    field public static final int RANGING_STATUS_FAILURE_OUT_OF_RANGE = 1; // 0x1
26645    field public static final int RANGING_STATUS_FAILURE_UNKNOWN_ERROR = -1; // 0xffffffff
26646    field public static final int RANGING_STATUS_SUCCESS = 0; // 0x0
26647    field public static final int RSSI_MAX = -1; // 0xffffffff
26648    field public static final int RSSI_MIN = -127; // 0xffffff81
26649    field public static final int RSSI_UNKNOWN = -128; // 0xffffff80
26650  }
26651
26652  public static final class RangingMeasurement.Builder {
26653    ctor public RangingMeasurement.Builder();
26654    method @NonNull public android.uwb.RangingMeasurement build();
26655    method @NonNull public android.uwb.RangingMeasurement.Builder setAngleOfArrivalMeasurement(@NonNull android.uwb.AngleOfArrivalMeasurement);
26656    method @NonNull public android.uwb.RangingMeasurement.Builder setDestinationAngleOfArrivalMeasurement(@NonNull android.uwb.AngleOfArrivalMeasurement);
26657    method @NonNull public android.uwb.RangingMeasurement.Builder setDistanceMeasurement(@NonNull android.uwb.DistanceMeasurement);
26658    method @NonNull public android.uwb.RangingMeasurement.Builder setElapsedRealtimeNanos(long);
26659    method @NonNull public android.uwb.RangingMeasurement.Builder setLineOfSight(int);
26660    method @NonNull public android.uwb.RangingMeasurement.Builder setMeasurementFocus(int);
26661    method @NonNull public android.uwb.RangingMeasurement.Builder setRangingMeasurementMetadata(@NonNull android.os.PersistableBundle);
26662    method @NonNull public android.uwb.RangingMeasurement.Builder setRemoteDeviceAddress(@NonNull android.uwb.UwbAddress);
26663    method @NonNull public android.uwb.RangingMeasurement.Builder setRssiDbm(@IntRange(from=android.uwb.RangingMeasurement.RSSI_UNKNOWN, to=android.uwb.RangingMeasurement.RSSI_MAX) int);
26664    method @NonNull public android.uwb.RangingMeasurement.Builder setStatus(int);
26665  }
26666
26667  public final class RangingReport implements android.os.Parcelable {
26668    method public int describeContents();
26669    method @NonNull public java.util.List<android.uwb.RangingMeasurement> getMeasurements();
26670    method @NonNull public android.os.PersistableBundle getRangingReportMetadata();
26671    method public void writeToParcel(@NonNull android.os.Parcel, int);
26672    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.RangingReport> CREATOR;
26673  }
26674
26675  public static final class RangingReport.Builder {
26676    ctor public RangingReport.Builder();
26677    method @NonNull public android.uwb.RangingReport.Builder addMeasurement(@NonNull android.uwb.RangingMeasurement);
26678    method @NonNull public android.uwb.RangingReport.Builder addMeasurements(@NonNull java.util.List<android.uwb.RangingMeasurement>);
26679    method @NonNull public android.uwb.RangingReport.Builder addRangingReportMetadata(@NonNull android.os.PersistableBundle);
26680    method @NonNull public android.uwb.RangingReport build();
26681  }
26682
26683  public final class RangingSession implements java.lang.AutoCloseable {
26684    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void addControlee(@NonNull android.os.PersistableBundle);
26685    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void close();
26686    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void pause(@NonNull android.os.PersistableBundle);
26687    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public int queryMaxDataSizeBytes();
26688    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void reconfigure(@NonNull android.os.PersistableBundle);
26689    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void removeControlee(@NonNull android.os.PersistableBundle);
26690    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void resume(@NonNull android.os.PersistableBundle);
26691    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void sendData(@NonNull android.uwb.UwbAddress, @NonNull android.os.PersistableBundle, @NonNull byte[]);
26692    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void setDataTransferPhaseConfig(@NonNull android.os.PersistableBundle);
26693    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void setHybridSessionControleeConfiguration(@NonNull android.os.PersistableBundle);
26694    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void setHybridSessionControllerConfiguration(@NonNull android.os.PersistableBundle);
26695    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void start(@NonNull android.os.PersistableBundle);
26696    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void stop();
26697    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void updatePose(@NonNull android.os.PersistableBundle);
26698    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void updateRangingRoundsDtTag(@NonNull android.os.PersistableBundle);
26699  }
26700
26701  public static interface RangingSession.Callback {
26702    method public void onClosed(int, @NonNull android.os.PersistableBundle);
26703    method public default void onControleeAddFailed(int, @NonNull android.os.PersistableBundle);
26704    method public default void onControleeAdded(@NonNull android.os.PersistableBundle);
26705    method public default void onControleeRemoveFailed(int, @NonNull android.os.PersistableBundle);
26706    method public default void onControleeRemoved(@NonNull android.os.PersistableBundle);
26707    method public default void onDataReceiveFailed(@NonNull android.uwb.UwbAddress, int, @NonNull android.os.PersistableBundle);
26708    method public default void onDataReceived(@NonNull android.uwb.UwbAddress, @NonNull android.os.PersistableBundle, @NonNull byte[]);
26709    method public default void onDataSendFailed(@NonNull android.uwb.UwbAddress, int, @NonNull android.os.PersistableBundle);
26710    method public default void onDataSent(@NonNull android.uwb.UwbAddress, @NonNull android.os.PersistableBundle);
26711    method public default void onDataTransferPhaseConfigFailed(int, @NonNull android.os.PersistableBundle);
26712    method public default void onDataTransferPhaseConfigured(@NonNull android.os.PersistableBundle);
26713    method public default void onHybridSessionControleeConfigurationFailed(int, @NonNull android.os.PersistableBundle);
26714    method public default void onHybridSessionControleeConfigured(@NonNull android.os.PersistableBundle);
26715    method public default void onHybridSessionControllerConfigurationFailed(int, @NonNull android.os.PersistableBundle);
26716    method public default void onHybridSessionControllerConfigured(@NonNull android.os.PersistableBundle);
26717    method public void onOpenFailed(int, @NonNull android.os.PersistableBundle);
26718    method public void onOpened(@NonNull android.uwb.RangingSession);
26719    method public default void onPauseFailed(int, @NonNull android.os.PersistableBundle);
26720    method public default void onPaused(@NonNull android.os.PersistableBundle);
26721    method public default void onRangingRoundsUpdateDtTagStatus(@NonNull android.os.PersistableBundle);
26722    method public void onReconfigureFailed(int, @NonNull android.os.PersistableBundle);
26723    method public void onReconfigured(@NonNull android.os.PersistableBundle);
26724    method public void onReportReceived(@NonNull android.uwb.RangingReport);
26725    method public default void onResumeFailed(int, @NonNull android.os.PersistableBundle);
26726    method public default void onResumed(@NonNull android.os.PersistableBundle);
26727    method public default void onServiceConnected(@NonNull android.os.PersistableBundle);
26728    method public default void onServiceDiscovered(@NonNull android.os.PersistableBundle);
26729    method public void onStartFailed(int, @NonNull android.os.PersistableBundle);
26730    method public void onStarted(@NonNull android.os.PersistableBundle);
26731    method public void onStopFailed(int, @NonNull android.os.PersistableBundle);
26732    method public void onStopped(int, @NonNull android.os.PersistableBundle);
26733    field public static final int CONTROLEE_FAILURE_REASON_MAX_CONTROLEE_REACHED = 0; // 0x0
26734    field public static final int DATA_FAILURE_REASON_DATA_SIZE_TOO_LARGE = 10; // 0xa
26735    field public static final int REASON_BAD_PARAMETERS = 3; // 0x3
26736    field public static final int REASON_GENERIC_ERROR = 4; // 0x4
26737    field public static final int REASON_INBAND_SESSION_STOP = 16; // 0x10
26738    field public static final int REASON_INSUFFICIENT_SLOTS_PER_RR = 14; // 0xe
26739    field public static final int REASON_LOCAL_REQUEST = 1; // 0x1
26740    field public static final int REASON_MAX_RR_RETRY_REACHED = 9; // 0x9
26741    field public static final int REASON_MAX_SESSIONS_REACHED = 5; // 0x5
26742    field public static final int REASON_PROTOCOL_SPECIFIC_ERROR = 7; // 0x7
26743    field public static final int REASON_REMOTE_REQUEST = 2; // 0x2
26744    field public static final int REASON_SERVICE_CONNECTION_FAILURE = 11; // 0xb
26745    field public static final int REASON_SERVICE_DISCOVERY_FAILURE = 10; // 0xa
26746    field public static final int REASON_SE_INTERACTION_FAILURE = 13; // 0xd
26747    field public static final int REASON_SE_NOT_SUPPORTED = 12; // 0xc
26748    field public static final int REASON_SYSTEM_POLICY = 6; // 0x6
26749    field public static final int REASON_SYSTEM_REGULATION = 15; // 0xf
26750    field public static final int REASON_UNKNOWN = 0; // 0x0
26751  }
26752
26753  public final class UwbActivityEnergyInfo implements android.os.Parcelable {
26754    method public int describeContents();
26755    method @IntRange(from=0) public long getControllerIdleDurationMillis();
26756    method @IntRange(from=0) public long getControllerRxDurationMillis();
26757    method @IntRange(from=0) public long getControllerTxDurationMillis();
26758    method @IntRange(from=0) public long getControllerWakeCount();
26759    method public int getStackState();
26760    method public long getTimeSinceBootMillis();
26761    method public void writeToParcel(@NonNull android.os.Parcel, int);
26762    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.UwbActivityEnergyInfo> CREATOR;
26763  }
26764
26765  public static final class UwbActivityEnergyInfo.Builder {
26766    ctor public UwbActivityEnergyInfo.Builder();
26767    method @NonNull public android.uwb.UwbActivityEnergyInfo build();
26768    method @NonNull public android.uwb.UwbActivityEnergyInfo.Builder setControllerIdleDurationMillis(@IntRange(from=0) long);
26769    method @NonNull public android.uwb.UwbActivityEnergyInfo.Builder setControllerRxDurationMillis(@IntRange(from=0) long);
26770    method @NonNull public android.uwb.UwbActivityEnergyInfo.Builder setControllerTxDurationMillis(@IntRange(from=0) long);
26771    method @NonNull public android.uwb.UwbActivityEnergyInfo.Builder setControllerWakeCount(@IntRange(from=0) long);
26772    method @NonNull public android.uwb.UwbActivityEnergyInfo.Builder setStackState(int);
26773    method @NonNull public android.uwb.UwbActivityEnergyInfo.Builder setTimeSinceBootMillis(long);
26774  }
26775
26776  public final class UwbAddress implements android.os.Parcelable {
26777    method public int describeContents();
26778    method @NonNull public static android.uwb.UwbAddress fromBytes(@NonNull byte[]);
26779    method public int size();
26780    method @NonNull public byte[] toBytes();
26781    method public void writeToParcel(@NonNull android.os.Parcel, int);
26782    field @NonNull public static final android.os.Parcelable.Creator<android.uwb.UwbAddress> CREATOR;
26783    field public static final int EXTENDED_ADDRESS_BYTE_LENGTH = 8; // 0x8
26784    field public static final int SHORT_ADDRESS_BYTE_LENGTH = 2; // 0x2
26785  }
26786
26787  public final class UwbManager {
26788    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public android.os.PersistableBundle addServiceProfile(@NonNull android.os.PersistableBundle);
26789    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public long elapsedRealtimeResolutionNanos();
26790    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public long elapsedRealtimeResolutionNanos(@NonNull String);
26791    method public int getAdapterState();
26792    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public android.os.PersistableBundle getAdfCertificateInfo(@NonNull android.os.PersistableBundle);
26793    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public android.os.PersistableBundle getAdfProvisioningAuthorities(@NonNull android.os.PersistableBundle);
26794    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public android.os.PersistableBundle getAllServiceProfiles();
26795    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public java.util.List<android.os.PersistableBundle> getChipInfos();
26796    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public String getDefaultChipId();
26797    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public android.os.PersistableBundle getSpecificationInfo();
26798    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public android.os.PersistableBundle getSpecificationInfo(@NonNull String);
26799    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void getUwbActivityEnergyInfoAsync(@NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.uwb.UwbActivityEnergyInfo>);
26800    method public boolean isUwbEnabled();
26801    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public boolean isUwbHwEnableRequested();
26802    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public boolean isUwbHwIdleTurnOffEnabled();
26803    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);
26804    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);
26805    method public void provisionProfileAdfByScript(@NonNull android.os.PersistableBundle, @NonNull java.util.concurrent.Executor, @NonNull android.uwb.UwbManager.AdfProvisionStateCallback);
26806    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public long queryUwbsTimestampMicros();
26807    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void registerAdapterStateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.uwb.UwbManager.AdapterStateCallback);
26808    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void registerUwbOemExtensionCallback(@NonNull java.util.concurrent.Executor, @NonNull android.uwb.UwbManager.UwbOemExtensionCallback);
26809    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void registerUwbVendorUciCallback(@NonNull java.util.concurrent.Executor, @NonNull android.uwb.UwbManager.UwbVendorUciCallback);
26810    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public int removeProfileAdf(@NonNull android.os.PersistableBundle);
26811    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public int removeServiceProfile(@NonNull android.os.PersistableBundle);
26812    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void requestUwbHwEnabled(boolean);
26813    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public int sendVendorUciMessage(@IntRange(from=0, to=15) int, int, @NonNull byte[]);
26814    method @NonNull @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public int sendVendorUciMessage(int, @IntRange(from=0, to=15) int, int, @NonNull byte[]);
26815    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void setUwbEnabled(boolean);
26816    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void unregisterAdapterStateCallback(@NonNull android.uwb.UwbManager.AdapterStateCallback);
26817    method @RequiresPermission(android.Manifest.permission.UWB_PRIVILEGED) public void unregisterUwbOemExtensionCallback(@NonNull android.uwb.UwbManager.UwbOemExtensionCallback);
26818    method public void unregisterUwbVendorUciCallback(@NonNull android.uwb.UwbManager.UwbVendorUciCallback);
26819    field public static final int MESSAGE_TYPE_COMMAND = 1; // 0x1
26820    field public static final int MESSAGE_TYPE_TEST_1 = 4; // 0x4
26821    field public static final int MESSAGE_TYPE_TEST_2 = 5; // 0x5
26822    field public static final int REMOVE_PROFILE_ADF_ERROR_INTERNAL = 2; // 0x2
26823    field public static final int REMOVE_PROFILE_ADF_ERROR_UNKNOWN_SERVICE = 1; // 0x1
26824    field public static final int REMOVE_PROFILE_ADF_SUCCESS = 0; // 0x0
26825    field public static final int REMOVE_SERVICE_PROFILE_ERROR_INTERNAL = 2; // 0x2
26826    field public static final int REMOVE_SERVICE_PROFILE_ERROR_UNKNOWN_SERVICE = 1; // 0x1
26827    field public static final int REMOVE_SERVICE_PROFILE_SUCCESS = 0; // 0x0
26828    field public static final int SEND_VENDOR_UCI_ERROR_HW = 1; // 0x1
26829    field public static final int SEND_VENDOR_UCI_ERROR_INVALID_ARGS = 3; // 0x3
26830    field public static final int SEND_VENDOR_UCI_ERROR_INVALID_GID = 4; // 0x4
26831    field public static final int SEND_VENDOR_UCI_ERROR_OFF = 2; // 0x2
26832    field public static final int SEND_VENDOR_UCI_SUCCESS = 0; // 0x0
26833  }
26834
26835  public static interface UwbManager.AdapterStateCallback {
26836    method public void onStateChanged(int, int);
26837    field public static final int STATE_CHANGED_REASON_ALL_SESSIONS_CLOSED = 1; // 0x1
26838    field public static final int STATE_CHANGED_REASON_ERROR_UNKNOWN = 4; // 0x4
26839    field public static final int STATE_CHANGED_REASON_SESSION_STARTED = 0; // 0x0
26840    field public static final int STATE_CHANGED_REASON_SYSTEM_BOOT = 3; // 0x3
26841    field public static final int STATE_CHANGED_REASON_SYSTEM_POLICY = 2; // 0x2
26842    field public static final int STATE_CHANGED_REASON_SYSTEM_REGULATION = 5; // 0x5
26843    field public static final int STATE_DISABLED = 0; // 0x0
26844    field public static final int STATE_ENABLED_ACTIVE = 2; // 0x2
26845    field public static final int STATE_ENABLED_HW_IDLE = 3; // 0x3
26846    field public static final int STATE_ENABLED_INACTIVE = 1; // 0x1
26847  }
26848
26849  public abstract static class UwbManager.AdfProvisionStateCallback {
26850    ctor public UwbManager.AdfProvisionStateCallback();
26851    method public abstract void onProfileAdfsProvisionFailed(int, @NonNull android.os.PersistableBundle);
26852    method public abstract void onProfileAdfsProvisioned(@NonNull android.os.PersistableBundle);
26853    field public static final int REASON_INVALID_OID = 1; // 0x1
26854    field public static final int REASON_SE_FAILURE = 2; // 0x2
26855    field public static final int REASON_UNKNOWN = 3; // 0x3
26856  }
26857
26858  public static interface UwbManager.UwbOemExtensionCallback {
26859    method public boolean onCheckPointedTarget(@NonNull android.os.PersistableBundle);
26860    method public void onDeviceStatusNotificationReceived(@NonNull android.os.PersistableBundle);
26861    method @NonNull public android.uwb.RangingReport onRangingReportReceived(@NonNull android.uwb.RangingReport);
26862    method @NonNull public int onSessionConfigurationComplete(@NonNull android.os.PersistableBundle);
26863    method public void onSessionStatusNotificationReceived(@NonNull android.os.PersistableBundle);
26864  }
26865
26866  public static interface UwbManager.UwbVendorUciCallback {
26867    method public void onVendorUciNotification(@IntRange(from=9, to=15) int, int, @NonNull byte[]);
26868    method public void onVendorUciResponse(@IntRange(from=0, to=15) int, int, @NonNull byte[]);
26869  }
26870
26871}
26872
26873package android.view {
26874
26875  public static class SurfaceControl.Transaction implements java.io.Closeable android.os.Parcelable {
26876    method @NonNull public android.view.SurfaceControl.Transaction setPictureProfileHandle(@NonNull android.view.SurfaceControl, @NonNull android.media.quality.PictureProfileHandle);
26877  }
26878
26879  @UiThread public class View implements android.view.accessibility.AccessibilityEventSource android.graphics.drawable.Drawable.Callback android.view.KeyEvent.Callback {
26880    method @NonNull public final java.util.List<android.graphics.Rect> getUnrestrictedPreferKeepClearRects();
26881    method @RequiresPermission(android.Manifest.permission.SET_UNRESTRICTED_KEEP_CLEAR_AREAS) public final void setUnrestrictedPreferKeepClearRects(@NonNull java.util.List<android.graphics.Rect>);
26882  }
26883
26884  public abstract class Window {
26885    method public void addSystemFlags(int);
26886  }
26887
26888  public interface WindowManager extends android.view.ViewManager {
26889    method @RequiresPermission(android.Manifest.permission.RESTRICTED_VR_ACCESS) public android.graphics.Region getCurrentImeTouchRegion();
26890    method @NonNull public default java.util.List<android.content.ComponentName> notifyScreenshotListeners(int);
26891    method public default void registerTaskFpsCallback(@IntRange(from=0) int, @NonNull java.util.concurrent.Executor, @NonNull android.window.TaskFpsCallback);
26892    method public default void unregisterTaskFpsCallback(@NonNull android.window.TaskFpsCallback);
26893    field public static final int DISPLAY_IME_POLICY_FALLBACK_DISPLAY = 1; // 0x1
26894    field public static final int DISPLAY_IME_POLICY_HIDE = 2; // 0x2
26895    field public static final int DISPLAY_IME_POLICY_LOCAL = 0; // 0x0
26896  }
26897
26898  public static class WindowManager.InsetsParams {
26899    ctor public WindowManager.InsetsParams(int);
26900    method @Nullable public android.graphics.Insets getInsetsSize();
26901    method public int getType();
26902    method @NonNull public android.view.WindowManager.InsetsParams setInsetsSize(@Nullable android.graphics.Insets);
26903  }
26904
26905  public static class WindowManager.LayoutParams extends android.view.ViewGroup.LayoutParams implements android.os.Parcelable {
26906    method public final long getUserActivityTimeout();
26907    method public boolean isSystemApplicationOverlay();
26908    method public void setInsetsParams(@NonNull java.util.List<android.view.WindowManager.InsetsParams>);
26909    method @RequiresPermission(android.Manifest.permission.SYSTEM_APPLICATION_OVERLAY) public void setSystemApplicationOverlay(boolean);
26910    method public final void setUserActivityTimeout(long);
26911    field @RequiresPermission(android.Manifest.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS) public static final int SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS = 524288; // 0x80000
26912    field @RequiresPermission(android.Manifest.permission.INTERNAL_SYSTEM_WINDOW) public static final int SYSTEM_FLAG_SHOW_FOR_ALL_USERS = 16; // 0x10
26913  }
26914
26915}
26916
26917package android.view.accessibility {
26918
26919  public abstract class AccessibilityDisplayProxy {
26920    ctor public AccessibilityDisplayProxy(int, @NonNull java.util.concurrent.Executor, @NonNull java.util.List<android.accessibilityservice.AccessibilityServiceInfo>);
26921    method @Nullable public android.view.accessibility.AccessibilityNodeInfo findFocus(int);
26922    method public int getDisplayId();
26923    method @NonNull public final java.util.List<android.accessibilityservice.AccessibilityServiceInfo> getInstalledAndEnabledServices();
26924    method @NonNull public java.util.List<android.view.accessibility.AccessibilityWindowInfo> getWindows();
26925    method public void interrupt();
26926    method public void onAccessibilityEvent(@NonNull android.view.accessibility.AccessibilityEvent);
26927    method public void onProxyConnected();
26928    method public void setAccessibilityFocusAppearance(int, @ColorInt int);
26929    method public void setInstalledAndEnabledServices(@NonNull java.util.List<android.accessibilityservice.AccessibilityServiceInfo>);
26930  }
26931
26932  public final class AccessibilityManager {
26933    method public int getAccessibilityWindowId(@Nullable android.os.IBinder);
26934    method @RequiresPermission(android.Manifest.permission.MANAGE_ACCESSIBILITY) public void performAccessibilityShortcut();
26935    method @RequiresPermission(allOf={android.Manifest.permission.MANAGE_ACCESSIBILITY, android.Manifest.permission.CREATE_VIRTUAL_DEVICE}) public boolean registerDisplayProxy(@NonNull android.view.accessibility.AccessibilityDisplayProxy);
26936    method @RequiresPermission(android.Manifest.permission.MANAGE_ACCESSIBILITY) public void registerSystemAction(@NonNull android.app.RemoteAction, int);
26937    method @RequiresPermission(allOf={android.Manifest.permission.MANAGE_ACCESSIBILITY, android.Manifest.permission.CREATE_VIRTUAL_DEVICE}) public boolean unregisterDisplayProxy(@NonNull android.view.accessibility.AccessibilityDisplayProxy);
26938    method @RequiresPermission(android.Manifest.permission.MANAGE_ACCESSIBILITY) public void unregisterSystemAction(int);
26939  }
26940
26941  public class CaptioningManager {
26942    method @RequiresPermission(android.Manifest.permission.SET_SYSTEM_AUDIO_CAPTION) public final void setSystemAudioCaptioningEnabled(boolean);
26943    method @RequiresPermission(android.Manifest.permission.SET_SYSTEM_AUDIO_CAPTION) public final void setSystemAudioCaptioningUiEnabled(boolean);
26944  }
26945
26946}
26947
26948package android.view.autofill {
26949
26950  public final class AutofillManager {
26951    method public void setAugmentedAutofillWhitelist(@Nullable java.util.Set<java.lang.String>, @Nullable java.util.Set<android.content.ComponentName>);
26952  }
26953
26954}
26955
26956package android.view.contentcapture {
26957
26958  public final class ContentCaptureContext implements android.os.Parcelable {
26959    method @Nullable public android.content.ComponentName getActivityComponent();
26960    method @Nullable public android.app.assist.ActivityId getActivityId();
26961    method public int getDisplayId();
26962    method public int getFlags();
26963    method @Nullable public android.view.contentcapture.ContentCaptureSessionId getParentSessionId();
26964    method public int getTaskId();
26965    method @Nullable public android.os.IBinder getWindowToken();
26966    field public static final int FLAG_DISABLED_BY_APP = 1; // 0x1
26967    field public static final int FLAG_DISABLED_BY_FLAG_SECURE = 2; // 0x2
26968    field public static final int FLAG_RECONNECTED = 4; // 0x4
26969  }
26970
26971  public final class ContentCaptureEvent implements android.os.Parcelable {
26972    method public int describeContents();
26973    method @Nullable public android.graphics.Rect getBounds();
26974    method @Nullable public android.view.contentcapture.ContentCaptureContext getContentCaptureContext();
26975    method public long getEventTime();
26976    method @Nullable public android.view.autofill.AutofillId getId();
26977    method @Nullable public java.util.List<android.view.autofill.AutofillId> getIds();
26978    method @Nullable public android.graphics.Insets getInsets();
26979    method @Nullable public CharSequence getText();
26980    method public int getType();
26981    method @Nullable public android.view.contentcapture.ViewNode getViewNode();
26982    method public void writeToParcel(android.os.Parcel, int);
26983    field @NonNull public static final android.os.Parcelable.Creator<android.view.contentcapture.ContentCaptureEvent> CREATOR;
26984    field public static final int TYPE_CONTEXT_UPDATED = 6; // 0x6
26985    field public static final int TYPE_SESSION_FLUSH = 11; // 0xb
26986    field public static final int TYPE_SESSION_PAUSED = 8; // 0x8
26987    field public static final int TYPE_SESSION_RESUMED = 7; // 0x7
26988    field public static final int TYPE_VIEW_APPEARED = 1; // 0x1
26989    field public static final int TYPE_VIEW_DISAPPEARED = 2; // 0x2
26990    field public static final int TYPE_VIEW_INSETS_CHANGED = 9; // 0x9
26991    field public static final int TYPE_VIEW_TEXT_CHANGED = 3; // 0x3
26992    field public static final int TYPE_VIEW_TREE_APPEARED = 5; // 0x5
26993    field public static final int TYPE_VIEW_TREE_APPEARING = 4; // 0x4
26994    field public static final int TYPE_WINDOW_BOUNDS_CHANGED = 10; // 0xa
26995  }
26996
26997  public final class ContentCaptureManager {
26998    method public boolean isContentCaptureFeatureEnabled();
26999    field public static final int NO_SESSION_ID = 0; // 0x0
27000  }
27001
27002  public final class ViewNode extends android.app.assist.AssistStructure.ViewNode {
27003    method @Nullable public android.view.autofill.AutofillId getParentAutofillId();
27004  }
27005
27006}
27007
27008package android.view.displayhash {
27009
27010  public final class DisplayHash implements android.os.Parcelable {
27011    ctor public DisplayHash(long, @NonNull android.graphics.Rect, @NonNull String, @NonNull byte[], @NonNull byte[]);
27012    method public int describeContents();
27013    method @NonNull public android.graphics.Rect getBoundsInWindow();
27014    method @NonNull public String getHashAlgorithm();
27015    method @NonNull public byte[] getHmac();
27016    method @NonNull public byte[] getImageHash();
27017    method public long getTimeMillis();
27018    method public void writeToParcel(@NonNull android.os.Parcel, int);
27019  }
27020
27021}
27022
27023package android.view.inputmethod {
27024
27025  public final class InputMethodInfo implements android.os.Parcelable {
27026    method public boolean isVirtualDeviceOnly();
27027  }
27028
27029  public final class InputMethodManager {
27030    method @Nullable @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public android.view.inputmethod.InputMethodInfo getCurrentInputMethodInfoAsUser(@NonNull android.os.UserHandle);
27031  }
27032
27033}
27034
27035package android.view.textclassifier {
27036
27037  public final class TextClassificationManager {
27038    method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_TEXT_CLASSIFIER_BY_TYPE) public android.view.textclassifier.TextClassifier getClassifier(int);
27039  }
27040
27041  public interface TextClassifier {
27042    field public static final int CLASSIFIER_TYPE_ANDROID_DEFAULT = 2; // 0x2
27043    field public static final int CLASSIFIER_TYPE_DEVICE_DEFAULT = 1; // 0x1
27044    field public static final int CLASSIFIER_TYPE_SELF_PROVIDED = 0; // 0x0
27045  }
27046
27047}
27048
27049package android.view.translation {
27050
27051  public final class TranslationCapability implements android.os.Parcelable {
27052    ctor public TranslationCapability(int, @NonNull android.view.translation.TranslationSpec, @NonNull android.view.translation.TranslationSpec, boolean, int);
27053  }
27054
27055  public final class TranslationContext implements android.os.Parcelable {
27056    method @Nullable public android.app.assist.ActivityId getActivityId();
27057  }
27058
27059  public final class UiTranslationManager {
27060    method @RequiresPermission(android.Manifest.permission.MANAGE_UI_TRANSLATION) public void finishTranslation(@NonNull android.app.assist.ActivityId);
27061    method @RequiresPermission(android.Manifest.permission.MANAGE_UI_TRANSLATION) public void pauseTranslation(@NonNull android.app.assist.ActivityId);
27062    method @RequiresPermission(android.Manifest.permission.MANAGE_UI_TRANSLATION) public void resumeTranslation(@NonNull android.app.assist.ActivityId);
27063    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);
27064  }
27065
27066  public final class UiTranslationSpec implements android.os.Parcelable {
27067    method public int describeContents();
27068    method public boolean shouldPadContentForCompat();
27069    method public void writeToParcel(@NonNull android.os.Parcel, int);
27070    field @NonNull public static final android.os.Parcelable.Creator<android.view.translation.UiTranslationSpec> CREATOR;
27071  }
27072
27073  public static final class UiTranslationSpec.Builder {
27074    ctor public UiTranslationSpec.Builder();
27075    method @NonNull public android.view.translation.UiTranslationSpec build();
27076    method @NonNull public android.view.translation.UiTranslationSpec.Builder setShouldPadContentForCompat(boolean);
27077  }
27078
27079}
27080
27081package android.webkit {
27082
27083  public abstract class CookieManager {
27084    method protected abstract boolean allowFileSchemeCookiesImpl();
27085    method public String getCookie(android.net.WebAddress);
27086    method public abstract String getCookie(String, boolean);
27087    method public abstract boolean hasCookies(boolean);
27088    method protected abstract void setAcceptFileSchemeCookiesImpl(boolean);
27089  }
27090
27091  public class FindActionModeCallback implements android.view.ActionMode.Callback android.text.TextWatcher android.view.View.OnClickListener android.webkit.WebView.FindListener {
27092    ctor public FindActionModeCallback(android.content.Context);
27093    method public void afterTextChanged(android.text.Editable);
27094    method public void beforeTextChanged(CharSequence, int, int, int);
27095    method public void findAll();
27096    method public void finish();
27097    method public int getActionModeGlobalBottom();
27098    method public boolean onActionItemClicked(android.view.ActionMode, android.view.MenuItem);
27099    method public void onClick(android.view.View);
27100    method public boolean onCreateActionMode(android.view.ActionMode, android.view.Menu);
27101    method public void onDestroyActionMode(android.view.ActionMode);
27102    method public void onFindResultReceived(int, int, boolean);
27103    method public boolean onPrepareActionMode(android.view.ActionMode, android.view.Menu);
27104    method public void onTextChanged(CharSequence, int, int, int);
27105    method public void setText(String);
27106    method public void setWebView(@NonNull android.webkit.WebView);
27107    method public void showSoftInput();
27108    method public void updateMatchCount(int, int, boolean);
27109  }
27110
27111  public static class FindActionModeCallback.NoAction implements android.view.ActionMode.Callback {
27112    ctor public FindActionModeCallback.NoAction();
27113    method public boolean onActionItemClicked(android.view.ActionMode, android.view.MenuItem);
27114    method public boolean onCreateActionMode(android.view.ActionMode, android.view.Menu);
27115    method public void onDestroyActionMode(android.view.ActionMode);
27116    method public boolean onPrepareActionMode(android.view.ActionMode, android.view.Menu);
27117  }
27118
27119  public class GeolocationPermissions {
27120    ctor public GeolocationPermissions();
27121  }
27122
27123  public class HttpAuthHandler extends android.os.Handler {
27124    ctor public HttpAuthHandler();
27125  }
27126
27127  public class JsDialogHelper {
27128    ctor public JsDialogHelper(android.webkit.JsPromptResult, android.os.Message);
27129    ctor public JsDialogHelper(android.webkit.JsPromptResult, int, String, String, String);
27130    method public boolean invokeCallback(android.webkit.WebChromeClient, android.webkit.WebView);
27131    method public void showDialog(android.content.Context);
27132    field public static final int ALERT = 1; // 0x1
27133    field public static final int CONFIRM = 2; // 0x2
27134    field public static final int PROMPT = 3; // 0x3
27135    field public static final int UNLOAD = 4; // 0x4
27136  }
27137
27138  public class JsPromptResult extends android.webkit.JsResult {
27139    ctor public JsPromptResult(android.webkit.JsResult.ResultReceiver);
27140    method public String getStringResult();
27141  }
27142
27143  public class JsResult {
27144    ctor public JsResult(android.webkit.JsResult.ResultReceiver);
27145    method public final boolean getResult();
27146  }
27147
27148  public static interface JsResult.ResultReceiver {
27149    method public void onJsResultComplete(android.webkit.JsResult);
27150  }
27151
27152  public interface PacProcessor {
27153    method @NonNull public static android.webkit.PacProcessor createInstance();
27154    method @Nullable public String findProxyForUrl(@NonNull String);
27155    method @NonNull public static android.webkit.PacProcessor getInstance();
27156    method @Nullable public default android.net.Network getNetwork();
27157    method public default void release();
27158    method public default void setNetwork(@Nullable android.net.Network);
27159    method public boolean setProxyScript(@NonNull String);
27160  }
27161
27162  public class SslErrorHandler extends android.os.Handler {
27163    ctor public SslErrorHandler();
27164  }
27165
27166  @Deprecated public abstract class TokenBindingService {
27167    ctor @Deprecated public TokenBindingService();
27168  }
27169
27170  public class WebChromeClient {
27171    method @Deprecated public void openFileChooser(android.webkit.ValueCallback<android.net.Uri>, String, String);
27172  }
27173
27174  public abstract class WebHistoryItem implements java.lang.Cloneable {
27175    method @Deprecated public abstract int getId();
27176  }
27177
27178  @Deprecated public abstract class WebIconDatabase {
27179    method @Deprecated public abstract void bulkRequestIconForPageUrl(android.content.ContentResolver, String, android.webkit.WebIconDatabase.IconListener);
27180  }
27181
27182  public abstract class WebMessagePort {
27183    ctor public WebMessagePort();
27184  }
27185
27186  public abstract class WebResourceError {
27187    ctor public WebResourceError();
27188  }
27189
27190  public class WebResourceResponse {
27191    ctor public WebResourceResponse(boolean, String, String, int, String, java.util.Map<java.lang.String,java.lang.String>, java.io.InputStream);
27192  }
27193
27194  public abstract class WebSettings {
27195    method public abstract boolean getAcceptThirdPartyCookies();
27196    method @Deprecated public abstract boolean getNavDump();
27197    method @Deprecated public abstract boolean getPluginsEnabled();
27198    method @Deprecated public abstract boolean getUseWebViewBackgroundForOverscrollBackground();
27199    method @Deprecated public abstract int getUserAgent();
27200    method public abstract boolean getVideoOverlayForEmbeddedEncryptedVideoEnabled();
27201    method public abstract void setAcceptThirdPartyCookies(boolean);
27202    method @Deprecated public abstract void setNavDump(boolean);
27203    method @Deprecated public abstract void setPluginsEnabled(boolean);
27204    method @Deprecated public abstract void setUseWebViewBackgroundForOverscrollBackground(boolean);
27205    method @Deprecated public abstract void setUserAgent(int);
27206    method public abstract void setVideoOverlayForEmbeddedEncryptedVideoEnabled(boolean);
27207    field public static final long ENABLE_SIMPLIFIED_DARK_MODE = 214741472L; // 0xcccb1e0L
27208  }
27209
27210  public class WebStorage {
27211    ctor public WebStorage();
27212  }
27213
27214  public static class WebStorage.Origin {
27215    ctor protected WebStorage.Origin(String, long, long);
27216  }
27217
27218  public class WebView extends android.widget.AbsoluteLayout implements android.view.ViewGroup.OnHierarchyChangeListener android.view.ViewTreeObserver.OnGlobalFocusChangeListener {
27219    method public android.webkit.WebViewProvider getWebViewProvider();
27220  }
27221
27222  public static class WebView.HitTestResult {
27223    ctor public WebView.HitTestResult();
27224    method public void setExtra(String);
27225    method public void setType(int);
27226  }
27227
27228  public class WebView.PrivateAccess {
27229    ctor public WebView.PrivateAccess();
27230    method public void awakenScrollBars(int);
27231    method public void awakenScrollBars(int, boolean);
27232    method public float getHorizontalScrollFactor();
27233    method public int getHorizontalScrollbarHeight();
27234    method public float getVerticalScrollFactor();
27235    method public void onScrollChanged(int, int, int, int);
27236    method public void overScrollBy(int, int, int, int, int, int, int, int, boolean);
27237    method public void setMeasuredDimension(int, int);
27238    method public void setScrollXRaw(int);
27239    method public void setScrollYRaw(int);
27240    method public void super_computeScroll();
27241    method public boolean super_dispatchKeyEvent(android.view.KeyEvent);
27242    method public int super_getScrollBarStyle();
27243    method @Nullable public android.view.WindowInsets super_onApplyWindowInsets(@Nullable android.view.WindowInsets);
27244    method public void super_onDrawVerticalScrollBar(android.graphics.Canvas, android.graphics.drawable.Drawable, int, int, int, int);
27245    method public boolean super_onGenericMotionEvent(android.view.MotionEvent);
27246    method public boolean super_onHoverEvent(android.view.MotionEvent);
27247    method public boolean super_performAccessibilityAction(int, android.os.Bundle);
27248    method public boolean super_performLongClick();
27249    method public boolean super_requestFocus(int, android.graphics.Rect);
27250    method public void super_scrollTo(int, int);
27251    method public boolean super_setFrame(int, int, int, int);
27252    method public void super_setLayoutParams(android.view.ViewGroup.LayoutParams);
27253    method public void super_startActivityForResult(android.content.Intent, int);
27254  }
27255
27256  public final class WebViewDelegate {
27257    method public void addWebViewAssetPath(android.content.Context);
27258    method @Deprecated public void callDrawGlFunction(android.graphics.Canvas, long);
27259    method @Deprecated public void callDrawGlFunction(@NonNull android.graphics.Canvas, long, @Nullable Runnable);
27260    method @Deprecated public boolean canInvokeDrawGlFunctor(android.view.View);
27261    method @Deprecated public void detachDrawGlFunctor(android.view.View, long);
27262    method public void drawWebViewFunctor(@NonNull android.graphics.Canvas, int);
27263    method public android.app.Application getApplication();
27264    method public String getDataDirectorySuffix();
27265    method public String getErrorString(android.content.Context, int);
27266    method public int getPackageId(android.content.res.Resources, String);
27267    method @NonNull public android.webkit.WebViewFactory.StartupTimestamps getStartupTimestamps();
27268    method @Deprecated public void invokeDrawGlFunctor(android.view.View, long, boolean);
27269    method public boolean isMultiProcessEnabled();
27270    method public boolean isTraceTagEnabled();
27271    method public void setOnTraceEnabledChangeListener(android.webkit.WebViewDelegate.OnTraceEnabledChangeListener);
27272  }
27273
27274  public static interface WebViewDelegate.OnTraceEnabledChangeListener {
27275    method public void onTraceEnabledChange(boolean);
27276  }
27277
27278  public final class WebViewFactory {
27279    ctor public WebViewFactory();
27280    method public static android.content.pm.PackageInfo getLoadedPackageInfo();
27281    method public static int loadWebViewNativeLibraryFromPackage(String, ClassLoader);
27282    method public static void prepareWebViewInZygote();
27283    field public static final int LIBLOAD_ADDRESS_SPACE_NOT_RESERVED = 2; // 0x2
27284    field public static final int LIBLOAD_FAILED_JNI_CALL = 7; // 0x7
27285    field public static final int LIBLOAD_FAILED_LISTING_WEBVIEW_PACKAGES = 4; // 0x4
27286    field public static final int LIBLOAD_FAILED_TO_FIND_NAMESPACE = 10; // 0xa
27287    field public static final int LIBLOAD_FAILED_TO_LOAD_LIBRARY = 6; // 0x6
27288    field public static final int LIBLOAD_FAILED_TO_OPEN_RELRO_FILE = 5; // 0x5
27289    field public static final int LIBLOAD_FAILED_WAITING_FOR_RELRO = 3; // 0x3
27290    field public static final int LIBLOAD_FAILED_WAITING_FOR_WEBVIEW_REASON_UNKNOWN = 8; // 0x8
27291    field public static final int LIBLOAD_SUCCESS = 0; // 0x0
27292    field public static final int LIBLOAD_WRONG_PACKAGE_NAME = 1; // 0x1
27293  }
27294
27295  public static class WebViewFactory.StartupTimestamps {
27296    method public long getAddAssetsEnd();
27297    method public long getAddAssetsStart();
27298    method public long getCreateContextEnd();
27299    method public long getCreateContextStart();
27300    method public long getGetClassLoaderEnd();
27301    method public long getGetClassLoaderStart();
27302    method public long getNativeLoadEnd();
27303    method public long getNativeLoadStart();
27304    method public long getProviderClassForNameEnd();
27305    method public long getProviderClassForNameStart();
27306    method public long getWebViewLoadStart();
27307  }
27308
27309  public interface WebViewFactoryProvider {
27310    method @NonNull public default android.webkit.PacProcessor createPacProcessor();
27311    method public android.webkit.WebViewProvider createWebView(android.webkit.WebView, android.webkit.WebView.PrivateAccess);
27312    method public android.webkit.CookieManager getCookieManager();
27313    method public android.webkit.GeolocationPermissions getGeolocationPermissions();
27314    method @NonNull public default android.webkit.PacProcessor getPacProcessor();
27315    method public android.webkit.ServiceWorkerController getServiceWorkerController();
27316    method public android.webkit.WebViewFactoryProvider.Statics getStatics();
27317    method @Deprecated public android.webkit.TokenBindingService getTokenBindingService();
27318    method public android.webkit.TracingController getTracingController();
27319    method public android.webkit.WebIconDatabase getWebIconDatabase();
27320    method public android.webkit.WebStorage getWebStorage();
27321    method public ClassLoader getWebViewClassLoader();
27322    method public android.webkit.WebViewDatabase getWebViewDatabase(android.content.Context);
27323  }
27324
27325  public static interface WebViewFactoryProvider.Statics {
27326    method public void clearClientCertPreferences(Runnable);
27327    method public void enableSlowWholeDocumentDraw();
27328    method public String findAddress(String);
27329    method public void freeMemoryForTests();
27330    method public String getDefaultUserAgent(android.content.Context);
27331    method @NonNull public android.net.Uri getSafeBrowsingPrivacyPolicyUrl();
27332    method public void initSafeBrowsing(android.content.Context, android.webkit.ValueCallback<java.lang.Boolean>);
27333    method public android.net.Uri[] parseFileChooserResult(int, android.content.Intent);
27334    method public void setSafeBrowsingWhitelist(java.util.List<java.lang.String>, android.webkit.ValueCallback<java.lang.Boolean>);
27335    method public void setWebContentsDebuggingEnabled(boolean);
27336  }
27337
27338  public interface WebViewProvider {
27339    method public void addJavascriptInterface(Object, String);
27340    method public boolean canGoBack();
27341    method public boolean canGoBackOrForward(int);
27342    method public boolean canGoForward();
27343    method public boolean canZoomIn();
27344    method public boolean canZoomOut();
27345    method public android.graphics.Picture capturePicture();
27346    method public void clearCache(boolean);
27347    method public void clearFormData();
27348    method public void clearHistory();
27349    method public void clearMatches();
27350    method public void clearSslPreferences();
27351    method public void clearView();
27352    method public android.webkit.WebBackForwardList copyBackForwardList();
27353    method public android.print.PrintDocumentAdapter createPrintDocumentAdapter(String);
27354    method public android.webkit.WebMessagePort[] createWebMessageChannel();
27355    method public void destroy();
27356    method public void documentHasImages(android.os.Message);
27357    method public void dumpViewHierarchyWithProperties(java.io.BufferedWriter, int);
27358    method public void evaluateJavaScript(String, android.webkit.ValueCallback<java.lang.String>);
27359    method public int findAll(String);
27360    method public void findAllAsync(String);
27361    method public android.view.View findHierarchyView(String, int);
27362    method public void findNext(boolean);
27363    method public void flingScroll(int, int);
27364    method public void freeMemory();
27365    method public android.net.http.SslCertificate getCertificate();
27366    method public int getContentHeight();
27367    method public int getContentWidth();
27368    method public android.graphics.Bitmap getFavicon();
27369    method public android.webkit.WebView.HitTestResult getHitTestResult();
27370    method public String[] getHttpAuthUsernamePassword(String, String);
27371    method public String getOriginalUrl();
27372    method public int getProgress();
27373    method public boolean getRendererPriorityWaivedWhenNotVisible();
27374    method public int getRendererRequestedPriority();
27375    method public float getScale();
27376    method public android.webkit.WebViewProvider.ScrollDelegate getScrollDelegate();
27377    method public android.webkit.WebSettings getSettings();
27378    method @NonNull public default android.view.textclassifier.TextClassifier getTextClassifier();
27379    method public String getTitle();
27380    method public String getTouchIconUrl();
27381    method public String getUrl();
27382    method public android.webkit.WebViewProvider.ViewDelegate getViewDelegate();
27383    method public int getVisibleTitleHeight();
27384    method public android.webkit.WebChromeClient getWebChromeClient();
27385    method public android.webkit.WebViewClient getWebViewClient();
27386    method @Nullable public android.webkit.WebViewRenderProcess getWebViewRenderProcess();
27387    method @Nullable public android.webkit.WebViewRenderProcessClient getWebViewRenderProcessClient();
27388    method public android.view.View getZoomControls();
27389    method public void goBack();
27390    method public void goBackOrForward(int);
27391    method public void goForward();
27392    method public void init(java.util.Map<java.lang.String,java.lang.Object>, boolean);
27393    method public void insertVisualStateCallback(long, android.webkit.WebView.VisualStateCallback);
27394    method public void invokeZoomPicker();
27395    method public boolean isPaused();
27396    method public boolean isPrivateBrowsingEnabled();
27397    method public void loadData(String, String, String);
27398    method public void loadDataWithBaseURL(String, String, String, String, String);
27399    method public void loadUrl(String);
27400    method public void loadUrl(String, java.util.Map<java.lang.String,java.lang.String>);
27401    method public void notifyFindDialogDismissed();
27402    method public void onPause();
27403    method public void onResume();
27404    method public boolean overlayHorizontalScrollbar();
27405    method public boolean overlayVerticalScrollbar();
27406    method public boolean pageDown(boolean);
27407    method public boolean pageUp(boolean);
27408    method public void pauseTimers();
27409    method public void postMessageToMainFrame(android.webkit.WebMessage, android.net.Uri);
27410    method public void postUrl(String, byte[]);
27411    method public void reload();
27412    method public void removeJavascriptInterface(String);
27413    method public void requestFocusNodeHref(android.os.Message);
27414    method public void requestImageRef(android.os.Message);
27415    method public boolean restorePicture(android.os.Bundle, java.io.File);
27416    method public android.webkit.WebBackForwardList restoreState(android.os.Bundle);
27417    method public void resumeTimers();
27418    method public void savePassword(String, String, String);
27419    method public boolean savePicture(android.os.Bundle, java.io.File);
27420    method public android.webkit.WebBackForwardList saveState(android.os.Bundle);
27421    method public void saveWebArchive(String);
27422    method public void saveWebArchive(String, boolean, android.webkit.ValueCallback<java.lang.String>);
27423    method public void setCertificate(android.net.http.SslCertificate);
27424    method public void setDownloadListener(android.webkit.DownloadListener);
27425    method public void setFindListener(android.webkit.WebView.FindListener);
27426    method public void setHorizontalScrollbarOverlay(boolean);
27427    method public void setHttpAuthUsernamePassword(String, String, String, String);
27428    method public void setInitialScale(int);
27429    method public void setMapTrackballToArrowKeys(boolean);
27430    method public void setNetworkAvailable(boolean);
27431    method public void setPictureListener(android.webkit.WebView.PictureListener);
27432    method public void setRendererPriorityPolicy(int, boolean);
27433    method public default void setTextClassifier(@Nullable android.view.textclassifier.TextClassifier);
27434    method public void setVerticalScrollbarOverlay(boolean);
27435    method public void setWebChromeClient(android.webkit.WebChromeClient);
27436    method public void setWebViewClient(android.webkit.WebViewClient);
27437    method public void setWebViewRenderProcessClient(@Nullable java.util.concurrent.Executor, @Nullable android.webkit.WebViewRenderProcessClient);
27438    method public boolean showFindDialog(String, boolean);
27439    method public void stopLoading();
27440    method public boolean zoomBy(float);
27441    method public boolean zoomIn();
27442    method public boolean zoomOut();
27443  }
27444
27445  public static interface WebViewProvider.ScrollDelegate {
27446    method public int computeHorizontalScrollOffset();
27447    method public int computeHorizontalScrollRange();
27448    method public void computeScroll();
27449    method public int computeVerticalScrollExtent();
27450    method public int computeVerticalScrollOffset();
27451    method public int computeVerticalScrollRange();
27452  }
27453
27454  public static interface WebViewProvider.ViewDelegate {
27455    method public default void autofill(android.util.SparseArray<android.view.autofill.AutofillValue>);
27456    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>);
27457    method public boolean dispatchKeyEvent(android.view.KeyEvent);
27458    method public android.view.View findFocus(android.view.View);
27459    method public android.view.accessibility.AccessibilityNodeProvider getAccessibilityNodeProvider();
27460    method public android.os.Handler getHandler(android.os.Handler);
27461    method public default boolean isVisibleToUserForAutofill(int);
27462    method public void onActivityResult(int, int, android.content.Intent);
27463    method @Nullable public default android.view.WindowInsets onApplyWindowInsets(@Nullable android.view.WindowInsets);
27464    method public void onAttachedToWindow();
27465    method public default boolean onCheckIsTextEditor();
27466    method public void onConfigurationChanged(android.content.res.Configuration);
27467    method public android.view.inputmethod.InputConnection onCreateInputConnection(android.view.inputmethod.EditorInfo);
27468    method public default void onCreateVirtualViewTranslationRequests(@NonNull long[], @NonNull int[], @NonNull java.util.function.Consumer<android.view.translation.ViewTranslationRequest>);
27469    method public void onDetachedFromWindow();
27470    method public boolean onDragEvent(android.view.DragEvent);
27471    method public void onDraw(android.graphics.Canvas);
27472    method public void onDrawVerticalScrollBar(android.graphics.Canvas, android.graphics.drawable.Drawable, int, int, int, int);
27473    method public void onFinishTemporaryDetach();
27474    method public void onFocusChanged(boolean, int, android.graphics.Rect);
27475    method public boolean onGenericMotionEvent(android.view.MotionEvent);
27476    method public boolean onHoverEvent(android.view.MotionEvent);
27477    method public void onInitializeAccessibilityEvent(android.view.accessibility.AccessibilityEvent);
27478    method public void onInitializeAccessibilityNodeInfo(android.view.accessibility.AccessibilityNodeInfo);
27479    method public boolean onKeyDown(int, android.view.KeyEvent);
27480    method public boolean onKeyMultiple(int, int, android.view.KeyEvent);
27481    method public boolean onKeyUp(int, android.view.KeyEvent);
27482    method public void onMeasure(int, int);
27483    method public default void onMovedToDisplay(int, android.content.res.Configuration);
27484    method public void onOverScrolled(int, int, boolean, boolean);
27485    method public default void onProvideAutofillVirtualStructure(android.view.ViewStructure, int);
27486    method public default void onProvideContentCaptureStructure(@NonNull android.view.ViewStructure, int);
27487    method public void onProvideVirtualStructure(android.view.ViewStructure);
27488    method public void onScrollChanged(int, int, int, int);
27489    method public void onSizeChanged(int, int, int, int);
27490    method public void onStartTemporaryDetach();
27491    method public boolean onTouchEvent(android.view.MotionEvent);
27492    method public boolean onTrackballEvent(android.view.MotionEvent);
27493    method public default void onVirtualViewTranslationResponses(@NonNull android.util.LongSparseArray<android.view.translation.ViewTranslationResponse>);
27494    method public void onVisibilityChanged(android.view.View, int);
27495    method public void onWindowFocusChanged(boolean);
27496    method public void onWindowVisibilityChanged(int);
27497    method public boolean performAccessibilityAction(int, android.os.Bundle);
27498    method public boolean performLongClick();
27499    method public void preDispatchDraw(android.graphics.Canvas);
27500    method public boolean requestChildRectangleOnScreen(android.view.View, android.graphics.Rect, boolean);
27501    method public boolean requestFocus(int, android.graphics.Rect);
27502    method public void setBackgroundColor(int);
27503    method public boolean setFrame(int, int, int, int);
27504    method public void setLayerType(int, android.graphics.Paint);
27505    method public void setLayoutParams(android.view.ViewGroup.LayoutParams);
27506    method public void setOverScrollMode(int);
27507    method public void setScrollBarStyle(int);
27508    method public boolean shouldDelayChildPressedState();
27509  }
27510
27511  public final class WebViewProviderInfo implements android.os.Parcelable {
27512    ctor public WebViewProviderInfo(String, String, boolean, boolean, String[]);
27513    method public int describeContents();
27514    method public void writeToParcel(android.os.Parcel, int);
27515    field @NonNull public static final android.os.Parcelable.Creator<android.webkit.WebViewProviderInfo> CREATOR;
27516    field public final boolean availableByDefault;
27517    field public final String description;
27518    field public final boolean isFallback;
27519    field public final String packageName;
27520    field public final android.content.pm.Signature[] signatures;
27521  }
27522
27523  public final class WebViewUpdateService {
27524    method public static android.webkit.WebViewProviderInfo[] getAllWebViewPackages();
27525    method public static String getCurrentWebViewPackageName();
27526    method public static android.webkit.WebViewProviderInfo[] getValidWebViewPackages();
27527  }
27528
27529}
27530
27531package android.window {
27532
27533  public abstract class TaskFpsCallback {
27534    ctor public TaskFpsCallback();
27535    method public abstract void onFpsReported(float);
27536  }
27537
27538}
27539
27540